Archive for February, 2008

Filed Under (Geekstuff, Rants, Technology) by Sean on February-28-2008

This is a very minor update to my series of rants about Microsoft’s crappy software.

So as mentioned in the last rant, I was backing up all the data on my Dell laptop before I wipe it clean and install Ubuntu. I left the office yesterday after starting the backup process. I came in today expecting it to be complete. Nope! Guess what? Yep, Microsoft decided it was a better idea to reboot my machine after some very important updates instead of complete my backup. It only backed up 1.7 GB, so now I’ve got to start again . . . . sheesh . . .

Filed Under (Geekstuff, Rants, Technology) by Sean on February-27-2008

If I had a dime for every time . . . . I find myself muttering that often while sitting there waiting for Windows to finish some inane task, whether it’s giving the hard drive a good workout (aka thrashing), wanting to reboot for no good reason, or upon start up where 67 applications combat each other for the computer’s attention thinking they are more important than me, the user. Microsoft Windows is basically a playground for poorly written software that pays no attention to what the user actually wants to accomplish. Literally, while writing this post, my old Windows laptop I’m copying files from before I wipe the drive clean and install Linux has prompted me with no fewer than 4 dialogs insisting I reboot (and I’m not referring to the incessant “Windows must reboot” dialog after a Windows update either).

Some of my favorite work interruptions: “New Wireless Networks found!” [Click the X to close] Ten seconds later “No, really!! New Wireless Networks found! Aren’t you curious?” [click to close again] “No Wireless Connection found.” Christ! Go the fuck away will you?? Even more fun: after manually shutting off the wifi hardware on your laptop, presuming that, uh, you really want it, uh, off, “No Wireless Networks found.” No shit?!? “There’s a new Java Upate!” “Windows required an update to fix one of a gillion vulnerabilities in its shitty software and decided the hell with you and what you were working on and rebooted anyway.” “Warning! Are you sure you want to quit this crappy software? It provides an essential crappy service and should you decide you wanted to use it, it wouldn’t be hogging all your memory and thrashing your hard drive!” Or my favorite quick-launch executables that run at startup so the programs will launch faster: “Hey if you want Word to startup in less time than it takes to run to Starbucks and get coffee, we recommend you run this quick launch utility, also useful in taking up an inordinate amount of memory. This will only add about 23 minutes to your computer’s start up time.” Or “Macafee SuperVirus has decided you were working on something important so it decided to perform some updates and thrash your hard drive so it could squash competing viruses.” I’ve always liked this one with trying to kill wayward processes: “Haha got you! We displayed this task manager process list to make you think you had control over your machine, but the joke is on you. We’ve decided you’re incapable of making decisions and have determined that the process taking up all your memory, hogging your CPU to the point you could scramble eggs on it, and trashing your hard drive within an inch of its life is in fact a process you cannot Kill at this time. Go wash your car or something and check back later.” I love it when you scan the local network to find a Windows share and Windows basically locks up while searching the network for computers; my Ubuntu box does a faster and more thorough job of finding Windows shares than Windows does which is amusing to say the least. Or my very, very favorite: since I usually am on the go, I close my laptop up putting Windows in standby (which works only part of the time – the other part it just stays on and runs down the battery until it’s dead). It’s safe to say when you turn your computer on or bring it out of standby you may actually want to do something really quick, like look up something on the Internet, shoot off a quick email or read a document. Well you can forget that! When I open up the computer and pray to the Steve Ballmer lunatic gods it will come on at all, it’s pretty much a free for all between various programs deciding that there are much more important things to do that don’t involve me at all (again, usually involving intense hard drive, memory and CPU exercise).

This is the first part of many, delving into the innumerable serious deficiencies regarding Microsoft software at a high level. I promise it won’t only be ranting; I will also discuss specific solutions to each of my rants should Mr. Ballmer and his team read my insights. I’ll touch on ideas that would eliminate the above gripes and discuss further annoyances.

Shit, another dialog box. No I do not want to fucking reboot now and will let you know when I do, so please stop asking!

Filed Under (Life, Rants) by Sean on February-27-2008

Ok. Here’s another rant in my mini-series of driver education. The thing you use when you turn or change lanes is called a turn signal or indicator. Not a turn request-for-permission-please or any such thing. It is used to indicate to others your intent, not request permission. Signal that you’re changing lanes and change lanes already. If necessary, alter your speed to match the flow of traffic of the lane into which you’re changing. As a person who uses the turn signal as mentioned, I use it and follow with action immediately. As someone who is driving, I appreciate when others use it similarly. Don’t drive 1 mph slower than me, be 10 car lengths ahead and put on your turn signal and sit there waiting for me to roll out an invitation. Just come over! All traffic will move more smoothly if we adhere to these principles.

Next in my series? A rant on what merging traffic means and how it’s supposed to be done.

Filed Under (Geekstuff, Linux) by Sean on February-26-2008

No, I’m not talking about the strings from theoretical physics here, just plain old strings in computer programming.

So, let’s say you need to generate a truly random string for a password, encryption key salt, or some other purpose. For this purpose the best thing is to use the /dev/random or /dev/urandom device on your computer. If your system doesn’t have a hardware random number generator (e.g., palm devices, phones, embedded systems), you can use alternative techniques such as using Lava Lamps, WiFi background noise, Space or live Keno results from Vegas to generate truly random data.

Computers cannot, by themselves, generate truly random data. Most random algorithms are based on pseudo-random number generation, which are basically data that appear random but are actually generated from a completely deterministic process, making them not random at all by definition. The /dev/random device, which first appeared in Linux, uses environmental noise to generate its entropy pool from which random data can be created. Environmental noise includes keyboard and mouse use, device driver interrupt timing, and other non-deterministic data. The generator also stores the number of bits of noise that exist within the entropy pool. Thus when accessing /dev/random, if there isn’t sufficient entropy, the device will block until entropy is available. For example, if you call for a specific length string, and there isn’t sufficient entropy, it will generate what it can and wait for more entropy. You can generate entropy by using your computer’s mouse and keyboard (or do what I do and write a blog post or send out a tweet on twitter). If you cannot wait for the entropy pool to fill back up, the /dev/urandom device is available which is non-blocking since it reuses bits from the entropy pool to generate pseudo random bits (however sufficiently random for cryptographic use).

How do we create a random string then? Let’s say you need a 12 character string consisting of alpha numeric characters. This is the command I would use at a shell prompt (only type bold characters):

linux$ od -a -A n /dev/random | head -1 | tr -d ' ' | tr -d '\n' | sed 's/[^a-zA-Z0-9]//g' | awk '{print substr($0,1,12)}'

You can replace /dev/random with /dev/urandom if you don’t need truly random data. If you need a longer string, you should increase the number used with the head command and modify the number in the substring (substr) function. Additionally, you can include symbols and other non-alphanumeric characters by eliminating the sed statement. If you need just numbers, you can use a different argument to od. Here are some examples of these in order:

linux$ od -a -A n /dev/random | head -30 | tr -d ' ' | tr -d '\n' | sed 's/[^a-zA-Z0-9]//g' | awk '{print substr($0,1,256)}'

linux$ od -a -A n /dev/random | head -1 | tr -d ' ' | tr -d '\n' | awk '{print substr($0,1,12)}'

linux$ od -d -A n /dev/random | head -1 | tr -d ' ' | tr -d '\n' | awk '{print substr($0,1,12)}'

I hope you find this information informative. By typing this post, I’ve succeeded in filling back up my entropy pool!

Filed Under (Business, Funny) by Sean on February-23-2008

Irreverent, funny, and good representation of what happened in the sub-prime mortgage meltdown. Check out the slide show from Google Docs here.

Filed Under (Funny) by Sean on February-22-2008

This Non Sequitur comic by Wiley Miller was published in today’s Houston Chronicle. Classic. Click on it to get full sized image. See other Non Sequitur comics here.

Get Rich Quick Seminar

Filed Under (Business, Life) by Sean on February-22-2008

I can certainly identify with this Business Week story about Sprint’s business troubles, largely stemming from customer service woes. I was a customer of Sprint’s for 3 years, relatively happy with the service. The trouble came when I decided to switch service plans to reduce my minutes since I was taking time off work and no longer needed the huge pool of minutes I previously required. Using the Sprint website, I modified my plan. I had my online banking configured to pay Sprint automatically the same amount every month. After confirming the service plan change, I modified my online payments to reflect the new amount. I got a service disconnect notice about 3 months later (I never really paid much attention to the online bills and opted out of receiving paper bills) with a bill attached for nearly $300! Upon calling customer service (this is in 2004), I learned that my service plan in fact never was changed. Of course they had no record of the change I made and it was my dumb luck I didn’t write down the confirmation number the website had given me (nor saved the website – I always do this now). The customer representative said she would be happy to change my plan once I paid the amount due. Explaining my story resulted in nothing more than, “well I’m very sorry.” I had her escalate me to the manager on duty. Again I explained my story and said I would even prepay or renew my contract (I was month to month since my initial contract had expired) if they would simply give me the benefit of the doubt. I thought I had some leverage since I had been spending a decent chunk of change with them and even kept the phone active when I was living in Europe in 2001! Nada. Zip.

Needless to say I was quite exasperated by this point and simply wasn’t going to tolerate it any longer. I told her something to the effect that they could shove my account and balance where the sun didn’t shine and they would never get another penny from me, ever. After going through 3 other providers, including Cingular (another customer service nightmare), I landed with T-Mobile and have never looked back. The mobile phone service providers really need to use T-Mobile as a case study on how to run a customer service organization.

I still haven’t paid Sprint and never will.

Filed Under (Business, Internet, Technology) by Sean on February-22-2008

Business Week has re-released its original story about the importance of Social Media (i.e., blogs). This time, many of the predictions and facts are annotated with updated information snippets. It is certainly an interesting re-read to see how far we’ve come!

Filed Under (Business, Technology) by Sean on February-22-2008

I would like to think Steve Ballmer read my damning indictment of him and his company and my recommendations when deciding to share more of the company’s secrets. The New York Times story quotes Ballmer as saying the company was adapting to “the opportunities and risks of a more connected, more services-oriented world.”

According to the story, by Steve Lohr in today’s Technology section:

Microsoft said on Thursday that it would open up and share many more of its technical secrets with the rest of the software industry and competitors. Microsoft executives, in a conference call, characterized the announcement as a “strategic shift” in the company’s business practices and its handling of technical information . . .

The broader goal, they said, is to bring Microsoft’s flagship personal computer products — the Windows operating system and Office productivity programs — further into the Internet era of computing. Increasingly, people want a seamless flow of documents, data and programming code among desktop PCs and the Internet, especially as they make the shift from using software on a PC to using services on the Web.

The story also quotes Microsoft’s general counsel as saying, “qualitatively and quantitatively different from anything we’ve done in the past.”

I think this is great news, however I am not 100% sure of its sincerity. Did Microsoft finally wake up and realize the world around them or is this some surreptitious strategy to gain regulator approval to pursue Yahoo and continue with business as usual?

I suppose I’m the eternal optimist and hope they really are changing their tune and overall company strategy to fit the realities of the current marketplace. Microsoft has plenty to teach the industry; they certainly have much to learn from it.

We will have to stay tuned and see. Microsoft has much to do to de-vilify itself and step down as the industry bully and consider itself an important part of the technology ecosystem. It needs to become a shepherd of open standards and interoperability. A rising tide of industry-wide innovation will lift all boats and broaden technology’s reach, which will help technology achieve its promise.

Filed Under (Funny, Houston) by Sean on February-21-2008

I just received these pictures from my good friend Jill, who received them from a third party. They were taken here in Houston two days ago on Highway 59 northbound around W. Airport Blvd. Out here, the lanes are very wide. A couple of miles up the road, however, our friend is in for a very nasty surprise as the lanes get narrower (or at least there are a lot more cars). Perhaps he is using one of these devices which has made him forgetful. I hope he makes it to the Darwin Awards Finals! Click on the image to get a higher resolution picture. Enjoy!