Well, here it is, Thanksgiving! And I'm trying to find some technologies that I am thankful to have in my life, since lately technology has been doing its best to make my life unhappy. So here's what I've come up with:
CD Players: Storage capacity and size aside, there is nothing that an MP3 player can do that a CD player can't. And CDs are easy. Most importantly, the players are cheap now. CDs have been part of my life for 15 years now, and I'm always happy to have them in my life. And unlike just about everything else tech now, I've never had one crash on me.
IBM ThinkPad 390E: Never heard of this model? Not surprising. It's a PII 300 mHz system with 160 MB RAM (I'm sure it's more, but I don't know how kmuch was allocated to video). Sure, it's slow. The CD drive doesn't recognize that a disc is in there. I got a floppy jammed into the drive a few nights ago (trying to find a good floppy to start a BSD install with). With XP on it, it is so slow that it can't play the wave file Windows sounds properly. It's fairly heavy and has few features. It is so outdated that it does not have a built-in Ethernet port. But it has one thing that no other piece of equipment in my life has: durability. The thing is a tank. If I got into a fight, I would rather be armed with the 390E than a knife. And I'm sure it would still work afterwards. It doesn't crash, either. For the two or three times I go on the road a year, I know that I can count on it to give me just enough connectivity to survive. Most importantly, when I have a major hardware problem, it tides me over until I can resolve the problems with my other machines.
Microsoft's .Net Framework: I don't care that is is nearly as sloppy and inefficient as Java, or that it is not cross-platform. .Net has saved me hundreds of hours of coding time, and Microsoft's fantastic documentation has saved me at least a few dozen hours in the last year. Compared to working in Java, .Net is a dream. Visual Studio is a great IDE, and its tight coupling with IIS gives me debugging powers on web dev projects that I never found with Java, Perl, or PHP. This saved me even more time and leads to better code.
Cell Phones: I live and die by the cell phone. I haven't had a landline in nearly four years, and don't miss it at all. My cell phone is cheaper than a landline, too. I like not having to take personal calls on a work phone, being able to leave the house and not interupt a call, and I appreciate the ability to send text messages and email on the road, miserable as the interface may be, in those clutch situations. There are a lot of great things (and important things) that I would have missed without the ability to be reached wherever I may be, since I am so infrequently at home.
USB: The number of peripherals has skyrocketed since the invention of USB. High speed, easy device connectivity, easy to add multiple devices and not be limited by thenumber of ports on the machine... USB has introduced us to a whole new world of computing options. Digital cameras, scanners, web cams, all of these cool things would not be nearly as widespread as they are today without USB.
Digital Cameras: OK, so my ex is holding on to mind lately because she's been wanting to take a lot of pictures. But when she isn't, I carry mine around everywhere. I used to do the same with a film camera, but then it would sit until I got around to getting new film, and I hated the development costs and wait and everything else. I love digital cameras, and have since I got my first one.
Inexpensive Broadband: Ever since 2000, I've been a cable modem user. It is as cheap as a second phone line + and ISP account, a billion times faster, and super-reliable. Broadband has made my life infinitely less frustrating, and for that alone, it gets my thanks.
So that's my list for now. What's on your list?
Justin James is an OutSystems MVP, architect, and developer with expertise in SaaS applications and enterprise applications.