When technology attacks

burning_harddrive

I am sitting here writing this blog post on my fresh new Vista x64 SP1 install, which was a debacle that took only 2 days to complete. I know you probably do not wish to be regaled with yet another tale of Vista install issues, but this is one that does an excellent job of construing the complexity that is modern technology and showing you that the old adage "the simplest explanation is the correct one" may not always be correct.

It all started a few months back when I purchased a new Dell M1530 laptop. I bought it with a tiny 5200rpm drive and 1GB of ram (which actually isn't even an option anymore) and I installed a nice 200GB 7200rpm drive (with a 16MB cache) and 4GB of RAM. By the way, before you start screaming "Mr. Moneybags" the RAM was about 80 bucks and the harddrive was about 170 dollars. This stuff is so cheap these days it is embarrassing. I loved the laptop, it is quite fast (and I have had several people comment on how fast it is), but I always had one problem... the freakin' thing ran as hot as the fires of Hades. The shell on it is all metal though, so I thought it was just acting like a giant heatsink. The key word here being "thought".

Everything ran fine though, I had no other complaints or problems at all. So, yesterday Vista SP1 finally popped up on my Windows Updates list and so I decided to install. The install started running and went through its usually paces until it restarted and drops to a black screen where it starts copying files. The files were counting up higher and higher until I suddenly get an error that looked something like "!! 0x00000c2 !!" with the name of the file that it stopped on "ExplorerFrame.dll". Great, I thought, SP1 hosed my system. I tried to reboot and it started through the process again, but it locked up again. By this time, with all of the file copying and hard drive activity my laptop was getting quite hot. I decided to go online and see if I could find anyone else having this issue. Well, I found quite a few people that were experiencing this problem. But the only solution was to do a restore back to the restore point that Vista SP1 creates.

So, I restarted my machine and went into the BIOS to configure it to boot from the DVD drive, and my laptop suddenly shut off. What? I rebooted and went back to the BIOS, this time successfully and then I popped in the Vista x64 DVD, booted up the computer and it started loading. But as soon as it finished loading and was supposed to pop into the Vista repair screen, my laptop turned off. What?

Yep, it just powered down. So I hit the power button to turn it back on and popped in the DVD and the same thing happened again. By this time though, the laptop was getting extremely hot. Why was it getting so hot? It wasn't any more hot than I had ever felt before, but I thought that maybe inside Windows there is more cooling management features that run to keep the CPU from running too hot? (I don't know, is there?) So, I decided to give my laptop a rest.

I let it rest for about an hour and I came back and booted the restore DVD and it worked. I got to the restore prompt, began running the restore and it locked up about 10 minutes into it. I let it run for about 30 minutes and suddenly the laptop cut off. How was I going to get my laptop restored? And these shutoffs looked exactly like it was an overheating issue, but I had never had any problems before. Well, I decided to go ahead and go the nuclear route first, and just restore from my backups (yes, I run Acronis TrueImage regularly. I am a paranoid person and it has *always* paid off). But I bet you can guess what happened next. First I had to install the latest version of TrueImage on another machine, since my laptop was the only one running version 11, so that I could create the restore media. Then I had to burn a cd and boot from it on my laptop. I completed this cycle only to have my laptop cut off on me right in the middle of my restore.

Okay, so now I had a totally hosed hard drive since it was half restored. I was now starting to worry a bit, but I decided that my laptop was just getting too freaking hot and it didn't look to me like the fan was coming on at all. So I went ahead and flipped my laptop over and do some surgery. (If you are from Dell, you can stop reading now) I popped off the cover where the RAM is, since that also exposes the CPU, Graphics card, and heatsink fan. I followed the wire from the heatsink and it went down the side of the fan casing and followed a copper tube that went from the CPU over to the GPU (or it could be the motherboard chipset). There were three different chips that this copped tube went over.

I followed the wires and I couldn't really see where they went, but then I saw what looked like a tiny fan connector with nothing plugged into it. I poked around under the copper tube and out popped a fan connected. Wow. The fan on my CPU had never been plugged in. I guess that is a testament to the heat management that is put into laptops these days, but I was a bit pissed off, because I'm sure that this has now shortened the life of my laptop. The only thing I can guess is that while running in windows that the CPU is slowed down or something to compensate for the heat. Not to mention the fact that I rarely use my laptop for periods of longer than a few hours. But I had seriously been running this thing with absolutely no active cooling for several months now, unbelievable.

I plugged the fan in and turned my laptop back on. I started up the Acronis recovery (which took about an hour) and halfway through the difference was stark. My laptop had been doing continuous file copying and processing for 30 minutes and it was barely warm (I could also now hear the very low hum of the fan). Well, I completed my restore, and I thought that maybe the Vista SP1 upgrade had failed because the laptop had overheated, so I decided to go ahead and run it again. I did a full backup first though, just to be safe.

Of course that wasn't my problem, it locked up again. So I went ahead and recovered my hard drive again. What was I going to do? I am not going to have Vista reminding me every 4 hours that I have updates which I am unable to install. That would drive me insane. But at the same time I don't want to set the updates to be ignored, because after a service pack is released I believe that updates for pre service pack installs stop. Not to mention that there are some important updates in SP1 that I want!

My next thought was that maybe something was screwed up on my hard drive. I had after all been running my laptop for several months under conditions that simulated the bottom of an active volcano. It wasn't out of the realm of reality that my hard drive had begun to fail. So I ran chkdsk and amazingly it found an error in the NTFS indexes on the exact file that my SP1 install was locking up on! So, I ran "chkdsk /F",  rebooted and let it try to fix all my problems.

I then rebooted one last time into Windows, crossed my fingers, and ran the SP1 update one last time. And, as we both know, it succeeded. Otherwise you would not be getting this post right now and my wife would be getting a migraine. So, let this be a lesson to all those out there, before you start blaming Vista, OS-X, Linux, or whatever for your problems...it may not be quite that simple.

Oh, and Microsoft, why don't you just force a chkdsk run *before* you install a service pack? The SP already takes forever to install, what is an additional 20 minutes?

Am I the only person on earth who hasn't had issues with Vista?

I was going through Google reader yesterday and I hit the Larkware News feed (which usually provides a good list of nice articles, but those HUGE, and I mean HUGE, ads really annoy me, but I guess they are a necessary evil) which had a story about someone doing a review of XP and pretending that it was a review of an upgrade from Vista. It was actually quite a clever post and very witty. I really did enjoy reading it. It was pretty much a scathing review of Vista by talking about different features of XP and how they compared to Vista.

The author talked about how reliable XP was and how it didn't crash constantly, about how IE7 didn't crash when reading G-mail (who uses IE still these days?), about how it didn't hang for 30+ seconds at startup, how Windows Explorer didn't crash 3 times a day, how he didn't get codec dialog boxes popping up when he deleted video files, etc... If you want to read the whole post, go here.

After reading about halfway through the post I couldn't help but think to myself "wow, if I had even half of these issues I would have freaked out months ago." But honestly, I haven't had a single problem with Vista on either of my machines. No, really, I haven't. I have a dev machine at work that I run Vista x64 on and I have my desktop at home that I run Vista Ultimate 32-bit. They were both fairly new machines that were purchased with Vista pre-installed though, so that could be part of my good fortune. Although I rarely change operating systems on the same hardware, usually by the time a new OS comes out I am ready to upgrade anyways.

I honestly did expect Vista to be a little less snappy than XP, and it probably is a little bit (I don't really notice it) for me, but I don't get huge lags or crashes like this author is talking about. I mean, look at his stability chart versus what mine looks like.

 Windows Reliability Monitor 

The author talks about visual artifacts, of which I haven't seen any except for one or two very rarely around my mouse cursor. I also haven't had any trouble with device support, although I don't really use any super old devices. I can't really say anything about gaming, since I don't use my machine for playing many games, I have a console that I play most of my games on. I really do feel bad for this author or anyone who has had to go through this with Vista, but I never realized it was this bad for some people. I just assumed that most people were whining about it because it was a Microsoft product.

And not only have I not had any problems, but in fact, there are several things in Vista that I am used to now that would make it hard for me to go back to XP. Number one is the search in the start menu. Being able to hit the windows key and then just type whatever I am looking for is pretty sweet. And it will find most anything, even e-mails and files. I use this feature several times a day. Another thing is that when I go to rename a file, it doesn't highlight the file extension, that really used to be annoying. Also, Vista is much better with multiple monitors, which both of my machines have. It is much better remember which monitors applications are on, and also can handle multiple resolutions better. Vista is also much better about resizing and moving applications when you remote into a box with a machine that has a smaller resolution or only one monitor. It moves and resizes all the applications and then puts it all right back where it was before. It also has a built in back-up application that can be automated through the command line and backs up your hard drive to a VHD file. It also has a built in screen capture tool which allows you to take full screen, window, free form, or square captures. I know there are probably a few other things that I'm not thinking of right now.

My only real complaint with Vista has nothing to do with the bugs (of which there are a few) or application compatibility, or stability, but with the fact that other than what I named above, there really isn't a whole lot in Vista that was compelling over Windows XP considering the 5 years of development time and the cost. I know that there was a lot of behind the scenes changes that have laid the groundwork for future versions of Windows, but that wouldn't have assuaged me if I had shelled out the huge amount of money that Microsoft is charging for Vista. My point is that Vista is not perfect, but not everyone out there is having a horrible experience with Vista. I really feel sorry for those who are having horrible experiences, and there is no excuse for the number of people who are having issues (at least it seems like a lot), but there are many of us out there who enjoy using Vista and truly are having no issues with it.

Amazon SimpleDB

Well, Amazon has certainly been on a roll recently. Not even considering the fact that they are one of the largest online retailers, they are also way ahead of the game in terms of utility computing. They started off the game with Amazon Simple Storage Service (more commonly called S3), which is still their most popular service. I even use it on this blog to host a lot of my images since the bandwidth is so cheap (15 cents per GB-month of storage and 18 cents per GB transfer, plus 1 cent per 10,000 GET requests). Hosting images though is not what S3 is really for. Amazon S3 is all about generic storage. You create what are called "buckets" and then within these bucks you can create a folder structure that all of your items you want to store go into. These items can be public or private and you can control whether they can be publicly or privately modified, deteted, added, etc... Then you can access these files through API's in an application or through URLs (which is how I use it to host images). It may sound simple, but there are some small online startups that host all of their data on S3, so for these guys, this is a real game changer for them. Sites like the popular photo sharing application SmugMug use S3 to host all of their user images, because they know that they could never host the images for the low prices that Amazon provides.

Next Amazon released the Simple Queue Service, which is just a distributed message queue. Similar to what you would use MSMQ or any other message queuing middleware for. The beauty is that your queues are hosted at Amazon, accessible from anywhere and will have virtually 100% uptime since they are hosted in Amazon's multiple huge datacenters. You would be hard pressed to provide an environment that would be more scalable, performant, or reliable than what Amazon has built. Next time you are building a distributed application that needs reliable messaging, maybe you should consider Amazon's Simple Queue Service. (did that sound like an advertisement?) Ha.

Next they launched the Amazon Elastic Computing Cloud (usually referred to as EC2) which is actually an generic on-demand computing platform. It allows you to create and run your own virtual machine instances to run your own custom applications (even web apps) and you only play for what you use. A true utility computing platform, but at this point it is still in beta.

Well, not to be resting on their laurels, Amazon recently announced Amazon SimpleDB. And you guessed it, they are closing the triangle on their cloud computing architecture. They have storage (S3), computing (EC2), and now they have a database (SimpleDB). While SimpleDB is in a limited Beta, once it is fully released it will provide developers with a highly available, highly scalable database that they can use from either an EC2 instance, or from any other application. It will probably make the most sense when accessed from an EC2 instance, since the connection between application and database will be much faster, but you could access the DB from anywhere if for instance you had a desktop app that needed to query data from the database remotely.

The one interesting part about SimpleDB, that some people will see as a huge downside (and for some applications it is a huge downside), is that it isn't a relational database. While most people are used to having to define databases and schemas, in SimpleDB you create domains and these domains are essentially tables. Then you add items into these domains that have different attributes. Unlike relational databases though, you can have multiple values for a particular attribute. To see why this is necessary, consider the a t-shirt in a e-commerce database. It might come in three sizes, "small", "medium", and "large". In a relational database you would probably have one table with the shirt and then a second table that holds the three sizes and you would join them on a foreign key to get the sizes for the shirt. Since SimpleDB is not relational there are no such thing as joins or foreign keys, so if you could not put multiple values into a single attribute then you would have to do a bunch of separate calls in order to get all of this data out.

So, your item can have any number of attributes with any number of values per attribute. You can think of these attributes as columns, well kinda like columns, only different items in one domain can have a different set of attributes with completely different values. So, your "shirt" item can have an attribute called size and price, while a  "watch" item could have attributes "style", "color", and "price". You could even have two items with the same attribute name that hold different values. For example a shirt would have "small", "medium", and "large" in a "size" attribute, while a belt might have "30 inch", "34 inch", etc... in an attribute called "size". But how does this work? Well, in SimpleDB there is no explicit types. It is called SimpleDB after all.

Once you have all of this data in a domain then you can query it out of the domain, but you can only query from one domain at a time. This query can encompass any of the attributes in a domain since SimpleDB indexes all of the data that is put into it. You can then query this data out using "query expressions". Query expressions are a proprietary string format that Amazon came up with to allow you to easily produce simple queries. They allow for the operators "starts-with", "=", "<", ">", "<=", ">=", and "!=" which are all fairly obvious to those using c-style languages. They are grouped by square brackets "[" and "]" and a simple example of one would be "['Size' = 'Large']". This would match any item in the domain with a size attribute equal to large. Then if we wanted to have "Size" "Large" and "Color" "Green" we would write it as "['Size' = 'Large'] intersect ['Color' = 'Green']". The "intersect" operator tells SimpleDB to pull all items back that match both predicates. So "['Size' = 'Large' intersect 'Price' > '10.00'] would pull back all large items with prices higher than 10. Pretty easy huh? If we wanted to pull back two disparate sets then we could say "['Size' = 'Large'] union ['Size' = 'Small']" and this would match all items that are "Large" or "Small". There is a few other simple options to the queries, but not too many, so you can see that this really is a simple query language. I'll certainly get into these queries a lot more as Amazon opens up their beta!

So, overall Amazon SimpleDB looks pretty neat, but it is pretty limited in its database functionality. Since we are all used to relational databases with powerful stored procedures and triggers and the like, it may be hard for a lot of us to go back to a simple database structure like this. There are so many things that there is just no way to do in SimpleDB, that I find it hard to image that it would be used for anything but very simple applications. The one place that I could see it making a difference is for distributed application data storage. A rich-client application could certainly benefit from having a data store like this that was available anywhere, and I think it would be very interesting if Amazon provided some API's for local caching and querying of data. So, is it a game changer like S3 or EC2? Probably not, but it certainly makes EC2 much more useful and further pushes Amazon to the forefront of utility computing (or cloud computing if you want to sound fancy). Come on Microsoft, Sun, Google, where you at?

As a side note, while writing my "Programmer Dress Code" post I discovered that Utility Computing was first described by John McCarthy in 1961! This was the same John McCarthy that developed Lisp and he had quite the established career. Here is what he said:

If computers of the kind I have advocated become the computers of the future, then computing may someday be organized as a public utility just as the telephone system is a public utility... The computer utility could become the basis of a new and important industry.

That is some pretty amazing stuff. Until next time...

The Programmer Dress Code - Part Deux

If you haven't read the last post first, please go check it out!

What started out as a joke turned into a huge success! So many awesome computer scientists and so little space! I started adding a few to the end of the last post, but when I realized how many more there were that needed to be added on, well, I decided to come back with more. This list is going to include a few less known people, a few that are famous (or infamous), and even a few that don't have a Y chromosome. The last 4 or 5 in the previous post were newly added, so go check those out if you saw the list before it changed!

In this post I tried to add a huge number of people that were suggested, but remember, they had to have a big beard, long hair, or in some other way look pretty gnarled. I gave a bit of leeway to the females, since they are genetically limited with respect to the whole facial hair thing. This list is also quite a bit longer than last time, so lets hope you can hold in there! Oh, and if anyone is curious, the last post has had just over 100,000 views and has eaten through about 80GB of bandwidth. This post is quite a bit larger and so I have moved all of the images over to Amazon S3. Let's see how that goes. Okay, enough blabbing, lets get this party started!

GRRRRRRRRRRRRRRR...

"Maddog" Jon Hall - If you thought James Gosling had a bit of a "Santa" look to him, then you'll think that Jon Hall is Santa's long lost love-child. This grizzly lookin' dude is the Executive Director of Linux International, which is a non-profit that supports and promotes Linux. He was also the guy at DEC who got the hardware for Linus Torvalds to accomplish his first DEC Alpha port of linux. He also wrote the book Linux for Dummies.

The fantastic three...

Adi Shamir, Ronald Rivest und Leonard Adleman - Is it just me, or does Adi Shamir look like a young David Cross? Don't believe me? Just imagine more hair and a more full beard. Man that is creepy!

I don't know why that creeps me out. Anyways, these three dapper fellows are the inventors of RSA cryptography. Ever wonder where RSA came from? Yep, it is their last names (family name).

The computer trickster...

Manuel Blum - When he wasn't busy impersonating Tony Montana with his stylish white suits, he was doing groundbreaking work in Cryptography and much more recently was one of the people that coined the term CAPTCHA.

The Hawkeye...

 

 

Barbara Liskov - In her later years she lost the stylish eyewear, and therefore I had to use an earlier photo. If you think that her Harry Potter spectacles are amazing, just wait until you hear that she was the first woman to receive a computer science PHD. Oh, and she helped develop the first language with data abstractions. And the first distributed language. And she rocked the house.

Crazy Bob Saget...

Robin Milner - Not that Bob Saget isn't crazy, but this guy looks like he wants to eat your children. But only in this picture...I think. Beyond nibbling on little ones, he also developed the language ML which was the first language with type inference and influenced many functional languages that have come after it, notably Haskell. It also has several dialects in use today including OCaml and the recently released F#.

Speaking of the Yetti, errr, I mean Haskell...

Grizzly Adams (aka Philip Wadler) - Man, we have so many look-a-likes in this list! Good thing this isn't one of them. Cause I swear this guy is Grizzly Adams. Check it out...

I had to draw on the glass in order to really give the full effect. Otherwise it would be like the Clark Kent/Superman effect and you wouldn't see the resemblance. Plus I think it just adds a little something extra, don't you? Well, enough about his manly beard, this bear wrestler developed Haskell and more recently XQuery. So while he may be a wild man, he seems to have tamed his computer.

No woman, no cry...

Jaron Lanier - This guy goined the term Virtual Reality. Hmmm...I wonder what kind of reality he might have been in when he coined it. It doesn't matter I guess because he founded VPL Research and led the teams that developed some of the first multi-person virtual worlds that used head mounted displays! Oh, and to back up my earlier point, during college he was a "goat milk and cheese provider." Can you say hippie?

The rising Sun...

Bill Joy - When not tending to his Oompa Loompas he was busy working on BSD. He then co-founded Sun Microsystems in 1982, and as they say, the rest is history.

Richie Rich...

Bill Gates

Bill Gates - While his glasses and hair have gotten smaller, his wallet has become much larger. Here we see Bill in all of his Hunter S. Thompson glory after he was arrested for speeding and driving without a license. He founded a little company called Microsoft, which has many people wanting to see a grown up version of this picture.

The programming language pimp daddy...

Niklaus Wirth

Niklaus Wirth - This guy designed Euler, Algol W, Pascal, Modula, Modula-2, and Oberon. His programming seed was spread to almost every language that you now know of. His seminal book Algorithms + Data Structures = Programs inspired many computer scientists and is still used at many universities. So remember that face, there will be a quiz later.

Another one of them UNIX guys...

Brian Kernighan - Those UNIX guys love them some beards, don't they? This guy was at Bell Labs with Ken Thompson and Dennis Ritchie (as seen in the last post) and contributed greatly to UNIX. He is also the "K" in AWK. Brian was also responsible for the name Unics, which was eventually shortened to UNIX. He also wrote the book  on C programming, literally.

And from the "OH MY GOD LOOK AT THOSE GLASSES" department...

Dorothy Denning - Geez, the 70's sure did have some awesome eyewear. Where can I get some octagonal glasses these days? Nowhere, for shame. And that ring is also quite a statement. And did I mention the shirt? Nothing about this woman says "world renowned cryptographic expert" but that is exactly what she is. In fact, she was so respected in her field that she was one of the people that the NSA called in to review the Skipjack blog cipher. She has written several books, her most recent of which was Information Warfare and Security.

The knight of sorting...

C.A.R. Hoare

C.A.R. Hoare - This guy developed the Quicksort, which was originally called the Hoaresort, and while it is still the most awesome sorting algorithm ever developed it would have been even more awesome if I could tell non-technical people that I was "Hoare Sorting" something. They would instantly think that my job was way more interesting than it is. We would probably also have a lot more Computer Science majors if one of the classes involved learning how to "Hoaresort". He is also the source of the quote "premature optimization is the root of all evil."

Help me Obi-Wan...

Ada Lovelace - The first stand-in for Princess Leia...

See the similarities? Again, a little eerie. Well, they were both royalty after all. Ada Lovelace is widely considered to be the first programmer, since she wrote up a description of Charles Babbage's machine, the analytical engine, and then wrote a program for it to calculate Bernoulli numbers. She is also the inspiration for the programming language Ada which was used extensively by the U.S. DOD (Department of Defense) for many years.

Tarzan of the Apes...

Robert Tarjan - For some reason when I see Tarjan, I want to say "Tarzan". The irony here is that Tarzan was cleaner shaven than Robert Tarjan. The main difference is that while Tarzan was a chump, our friend Robert was a world renowned computer scientist who invented several graph algorithms and co-invented splay trees and Fibonacci heaps.

The chatty Cathy...

Jarkko Oikarinen - Again, sorry about the look-a-likes, but just try to tell me that this guy doesn't look like Andy Richter.

Separated at birth? I'll let you decide. Jarkko developed IRC which became the first open internet chat program. So next time someone interrupts your work with a "what you up to?" IM, just look to the sky and yell "Jarrrrrrrrrrrrrrrrrrrrrkoooooooooooooooooo"!

Spreadsheet aficionado...

Dan Bricklin - There is just something about this guy's outfit...I can't put my finger on it. Nooooooo...wait....I see it! That yellow shirt peekin' out. He is totally a super hero. He runs into a phone booth, and bam, he comes running back out in a bright yellow suit with a big old calculator. Why a calculator you ask? Well, this guy wrote VisiCalc, the first commercially available spreadsheet application. Which was then promptly crushed by several other companies, but it could be said that he was responsible for the start of a huge push of PC's into the workplace.

The compressor...

Phil Katz - This guy is the inventor of the truly terrible computer person photo. I mean seriously, he looks like he is waiting for someone to start a stopwatch so that he can begin eating his stack of floppy disks. And he doesn't look too happy about it. But he also invented the zip file format and was the author of PKZip. Ever wonder where that PK came from? Well, now you know.

Someone please comment on this guy...

Jon Postel - Although he looked like he should be running moonshine and trying to avoid the po-po, he was actually the editor of the RFC (Request For Comment) document series. Yep, that RFC document series. The one that pretty much makes up all the standards on the internet. Without him there might not be any tubes and Senator Ted Stevens would probably have a little bit of self respect left.

Well, this is the conclusion of my second (and final) entry on this topic. Not that I don't like beards and programmers, but these posts are way too much work. :-)

Well, I hope you guys enjoyed the post, please click on digg or reddit below and vote for it if you liked it!

The Programmer Dress Code

The second part of this post is up, so after you finish reading, check it out!

I really want to know what it is about programming, or computers in general, that makes people want to grow a beard, have long hair, and dress like a slob. I can say these things without guilt because while I do not have long hair, I do have a beard and I do in fact dress like a slob. Not horribly sloppy or anything. I am actually pretty fanatical about hygiene, I just am not big on tucking my shirt in or ironing it or shaving. So who was the guy that started the unkempt programmer code of honor?

Was it this guy?

Edsger Dijkstra

Edsger Dijkstra (most know for Dijkstra's shortest path algorithm) Here we see him in a suit and tie, but hey, he was born in 1930. All people wore a suit and tie back then, even women and children.

Or how about this guy?

Alan_Kay

Alan Kay - Doesn't he look like a sad Burt Reynolds? Stop laughing! This is one of the fathers of object oriented programming. All hail! He does have the mop and a nice 'stache going on though.

What about this one?

Bjarne Stroustrup

Bjarne Stroustrup - I would say that this looks like the kind of guy I would expect to see on a "wanted poster" somewhere, but this guy brought us C++! I couldn't talk trash about a guy who made C++.

And this one?

Charles W. Bachman

Charles Bachman - Nothing unkempt about this guy, except that hat! Damn son! He had a hand in early database technology and won the Turing award for his work.

The list keeps going...

 KenAndDennis

Dennis Ritchie and Ken Thompson - Are we programming here or going to a Hell's Angels meeting? But seriously though, being that I am a Microsoft programmer I'm not sure that I am supposed to like these guys. Dennis was the original developer of C and one of the core developers on UNIX while Ken was the man responsible for UNIX and the fact that I don't have to pay 8000 dollars for a copy of Windows since MS has some competition now. But seriously, these guys are gods.

One of my personal favorites...

 John McCarthy

John McCarthy - Long lost relative of Colonel Sanders and the original designer of the Lisp programming language. This guy had some serious programming cojones. He even predicted in 1961 that one day computer processing would be sold like a utility. That is the kind of prediction that makes Nostradamus look like a sissy. Again, not too terribly unkempt, but that crazy hair and beard mixed with the suit says "serious by day, party animal by night."

The A-list celeb:

knuth_don

Donald Knuth - If I have to explain what this guy did for computer science, then you need to stop reading this and go to the book store. Again, not an unkempt guy, but nothing says "Computer Programming God" like flannel. You really have to wonder where his beard or mustache is though. He is a real computer scientist, isn't he?

Cha-ching...

Martin Fowler

Martin Fowler - I'm not sure he should be in the list with some of these other guys, but he is a personal hero of mine, and man this picture is great. I could not have asked for a better example of this article if I had requested a picture from him. He has written quite a few books, of which Refactoring and Patterns of Enterprise Application Architecture are my favorites.

And the freedom fighter...

Richard_Stallman

Richard Stallman - Like him or hate him, he is a seriously influential person in the computer world, and again he looks like he'd fit in better at a wood chopping competition than at MIT, but who am I to judge? The man is the founder of GNU, need I say more?

And the fruit...

 Steve_Wozniak

Steve Wozniak - What is a list of crazy computer people without Woz? He co-founded Apple (duh) and is the poster-boy for hippie style programming.

This one is a gem...

 Yukihiro Matsumoto

Yukihiro Matsumoto - I just threw this one in for the search engines. Just kidding! This the man that brought us Ruby and proves that even in the land of the rising sun, programmers still need beards. Or at least a five o'clock shadow.

By popular demand...

Larry_Wall

Larry Wall - This guy brought us Perl and sports a nice mustache and hair that would make Fabio jealous.

And I can't believe I left off this one...

Alan_Cox

Alan Cox - Holy crap. Alan Cox and Richard Stallman must have been long lost brothers. This guy was one of the earliest developers on the linux kernel and apparently has not shaved since he started.

The programming santa...

James Gosling

James Gosling - This guy brought us Java and is wearing a shirt with the java mascot playing an electric guitar. I have nothing else to say. I think I am out of smart-ass comments.

He's a cold hearted snake...

Guido van Rossum

Guido Van Rossum - This guy brought us Python and he is seen here without his beard, but he has an afro that would make Snoop Dog smile.

I know I said Fabio before, but wow...

Grady Booch

Grady Booch - This guy does commercials for Herbal Essences shampoo and in his spare time he invented UML. Oh, and he wrote a little book called Object Oriented Analysis and Design, you may have heard of it. :-)

And saving the best for last...

DSC_0063

Justin Etheredge - How'd that tool get in there? His picture doesn't deserve to be in the same folder as these guys, much less in a list with them! Bah!

So there you have it, my totally incomplete list of bearded, long haired, casually dressed visionaries. Except that last one. Sorry, but I'm not sure how that last one got in there. Now what other field (except maybe physics) would accept these people, much less make them their idols. Got any other great pictures of any computer scientists/software engineers? Let us know in the comments.

Also, this list is clearly in jest, if you are offended by having your picture on here then please let me know and I will take it down. Just send the request in writing to me with a signed copy of your book/source/picture and a personal letter of recommendation. I will then dance because you have fallen victim to my trap.

And one final note, I can't believe you guys read this crap. :-) All this technology and what do we use it for? To make fun of the visionaries of our time. Man I love these here internets.

If you enjoyed it, go read part two!