I have a man-crush on Google Reader. I used to be a died-in-the-wool RSS Bandit user. Then I gave Google Reader a try. I was sold the minute I added a feed to the reader at work, and I didn’t have to re-add it on my reader at home. It’s nice to be able to read a couple feeds at work (business use only – I promise), then not have to worry about marking them as read on my reader at home. The reader is very simple and does what I want. Like Gmail it’s not perfect (or pretty), but it solves a problem: an RSS reader I can use anywhere. As always, here’s a screenshot.
On a side note, I really need to change the name of this series of posts. Google Reader isn’t exactly FLOSS. It is free though, so it gets a spot on my list of apps I use daily.
So there’s yet another lawsuit against Microsoft. This time, it’s Opera filing suit in the EU over Microsoft’s bundling of IE in Windows (again) and because IE doesn’t strictly follow web standards. Where do I begin? I’ll start with the bundling claim (yet again). Yes, Internet Explorer is bundled with Windows. You know what. So are other applications. Solitaire is bundled, but card game developers aren’t beating a path to the court house. Notepad is bundled, yet we don’t see text editor developers calling their lawyers. Do you know what they do? They develop something better. FireFox is a successful browser, and as far as I know they haven’t resorted to lawsuits to gain market share. They simply built a better product. Does Alpine sue BMW because they don’t give you the option to select an Alpine sound system when you order your nice new 650i? It would be absurd. I could go on and on with examples of “bundling” in other businesses, but why should software be any different?
Now let’s tackle the issue of IE not following web standards. So what. Why is it any business of Opera’s how Microsoft designs its browser? As a developer I would love it if all browsers were standards compliant, but that’s not for a court to decide. That should be settled in the market. Not by a cadre of lawyers. I can just see it now. IE8 is delayed for release because it’s still being code reviewed by the lawyers. Do we want the government mandating software features in a consumer product like a browser?
I could see there being a legitimate claim if Microsoft limited Windows to only IE and blocked other browsers, but that’s not the case. I’m running Windows XP, and I’ve got IE7, FireFox 3 Beta and Safari installed, and they all work as advertised. I’ve used Opera in the past (pre-FireFox days), but it’s just not my cup of tea. Maybe their browser isn’t being used as much as they would like because their browser just isn’t that attractive to consumers. Instead of spending the time and money to fight Microsoft in the courts, they should devote those resources to design and marketing if they truly believe they’ve got a superior product.
There’s plenty of room for lots of different browsers. The bottom line is that as a consumer I’ll make the decision which ones I’ll install and use. I don’t care what’s bundled with the OS.
Ok. In light of the release of the Mitchell Report, and in the interest of full disclosure I have an important confession to make. I’m guilty of using code enhancing substances: caffeine, sugar, and ibuprofen. There I’ve said it. It’s off my chest now. I’m not proud of it, but it needed to be said. Has all the coffee, Red Bull, Advil and chocolate help me write better code? Probably not, but it did help me write more code. More code doesn’t necessarily mean good code, so I’ll leave it at that.
It used to be nothing for me to down a grande Starbucks vanilla latte, 20 oz diet Pepsi, and a king size Reese’s Peanut-butter Cup all before lunch. Then in the afternoon, I would chase it all with a couple Advil to help with the backache I got from my cheap office chair.
I’m sure you’re wondering why I would admit to something like this, but I’m doing it for the children. I just don’t want any of you youngsters out there thinking it’s cool to sit in front of an LCD all day and night writing line after line of code. It took me years, but I was able to kick my habit. I’m actually able to spend time outdoors. Hell, I’ve even got a wife and baby on the way. It’s amazing what I’ve been able to accomplished while unplugged and not hopped up on caffeine.
So take my advice. Unplug, put the Jolt Cola down and get some fresh air! You’ll thank me.
If you consider yourself even a little bit of a geek, you would never trust your home wireless network to WEP encryption simply because it can be cracked in a matter of minutes. I insist on better protection for my iTunes share on my local network. Would you trust it to protect your customers’ personal and credit card information? I don’t think so, but the TJX Companies thought it was OK. As a result they got burned.
It’s not a secret that WEP is not secure, and the IT management for TJX must have known it. Now I’m sure it’s expensive to upgrade the wireless systems in however many stores they operate, but security isn’t a “don’t fix it if it ain’t broken” type of thing. Keeping your security current has to be a priority, because you can guarantee that attackers are looking for any vulnerability they can find. They’re looking for the path of least resistance, and WEP ain’t very resistant.
The hackers who ransacked TJX Companies Inc.’s computer network and exposed at least 45.7 million credit and debit card holders to identity fraud reportedly began their assault by exploiting Wi-Fi weaknesses at a Marshalls clothing store near St. Paul, Minn.
I don’t believe the use of WEP is the only lax security issue TJX was guilty of either. Why keep so much customer personal data for so long? I believe that’s part of the issue. The fact that the major credit card companies require merchants to keep the card number for transactions simply adds to the problem. I realize it’s saved in the case of a disputed charge, but that doesn’t change the fact that it’s a honey pot to attackers. If the credit card number doesn’t have to be stored, then there’s no threat of customers being affected by a security breach.
So here’s my proposal. Associate a second number with a credit card, and store that number in the merchants’ systems. This number isn’t useful by itself, but it can be used by VISA or MasterCard to determine the card holder. If the merchant’s system is compromised, the secondary number can’t be used to make purchases or just about anything else for that matter. It’s only useful to the credit card company when a charge is disputed. Does this sound plausible to you?
There’s always cash though.
I love podcasts. Lately, I’ve been listening to more podcasts on my iPod than anything, and I find it’s a great way to keep up with new tech stories (not to mention a nice way to drown out the noise at work when I’m trying to concentrate). Some of my favorites are in the TWIT stable: Windows Weekly, Security Now and MacBreak Weekly. None are development centric, but that’s how I like it when I’m writing code. I want to listen to something that doesn’t require too much attention, but is still informative and entertaining. More than that though the primary reason I listen to the TWIT podcasts is Leo Laporte. I’ve been a big Leo fan since the days of ZDTV and The Screen Savers. He always has a great take on tech issues. If you don’t currently listen to any of his podcasts, I strongly suggest checking them out. I don’t even own a Mac (as long as you don’t count that OSX VM I got downloaded off BitTorrent), but I probably enjoy MBW most of all simply because it’s a fun show.
I bring all this up because as a fan of the shows, I think it’s important to give them support whenever possible. That can be done a couple different ways. Either by purchasing the products of their advertisers (and making sure they know that’s how you found them), buying TWIT gear, or by helping them directly. It seems like the big advertiser on the TWIT network is Audible, but I’m not a huge fan of audio books. Instead, I’m going to make a donation to them this month. I’m not loaded, so it won’t anything spectacular. The great thing is that it doesn’t have to be. That’s where the online community comes in. Lots of people doing just a little can make a huge difference.
Some other podcasts that deserve some love are .NET Rocks! and Hanselminutes. Both are excellent and cover developer related topics. I highly recommend both. I’m always looking for the next great podcast to subscribe to, so I would love some suggestions.
Just in case you were wondering how I came up with the name ScarTech …

… now you know.
The other day I read a blog post about the topic of whether developers should where headphones while writing code. I say a resounding yes! Sometimes it’s a necessity. I don’t have a private office, so headphones offer an easy way to block out the outside noises from the cube farm. I sit right next to the IT department for a facility of about 2000 users, so needless to say it’s busy and noisy. I’ve also found out that by simply wearing the headphones, I can cut out on a lot of interruptions that would otherwise happen if I didn’t have them on. It usually dissuades helpless users from asking me IT related questions (and me having to point them to the help desk folks).
I love listing to podcasts, but beside that here’s a sampling of what I like to listen to while coding.
- Tool
- Ill Nino
- Red Hot Chili Peppers
- Cold Play
- Ben Folds Five
- Faith No More
- Velvet Revolver
- Matisyahu
- Kanye West
- Elvis
- The Killers
- Johnny Cash
I try to listen to a nice mix to keep from getting bored.
That’s right. Wide is in this season. Fortunately I’m not talking about waist sizes. I’m referring to display size. Ever since I bought my new notebook and finally got a larger monitor at work, I’ve become a die-hard fan of wide-screen monitors. I’ve been completely spoiled by WSXGA+ (1680×1050). I can’t believe I was even able to use Visual Studio (or even notepad) at 1024×768 without going crazy. I’m actually able to leave open the solution explorer while coding. It may not sound like a big thing, but when I didn’t have to wait for the toolbar to slide out to view the explorer I saw the light. Now I’m able to use the display on my Thinkpad at work as a secondary monitor of sorts. Since its LCD is limited to 1024×768, it’s perfect for email. With this setup, I’ve got a nice dual monitor setup.
Wikipedia has a very good image showing the common video resolutions. Man, I’m drooling just thinking about 2560×1600.
Are you a touch typist or do you hunt and peck? For a developer, touch typing can really help keep from having to move your eyes back and forth from the monitor to the keyboard. Although I’m sure there are plenty of programmers who get along just fine without touch typing, I refuse to believe it’s more efficient to hunt and peck. To me it’s sort of like using the mouse too much. You can get things done moving from the keyboard to the mouse to point and click, but learning an application’s keyboard shortcuts can help make the application easier to use. Touch typing can have the same effect.
There are commercial products available to help you learn the keyboard layout, online tutors, and there are even some online games to help you learn. Did you know the longest work you can spell with one hand is stewardesses? Well, at least it is for touch typists.
Like Truman Capote said. “That’s not writing. That’s typing.”
When we last left our intrepid developer he was attending a local RA (Refactors Anonymous) meeting. Let’s see what’s happening this week:
Me: “Hello everyone. My name is Tim.”
Group: “Hi Tim!”
Me: “I write software.”
Group: “So do we!”
Me: “I’ve been writing software for over 6 years now.”
Group: “That’s great Tim!”
Me: “And I write bad software.”
Group: There’s nervous stares around the room, shuffling of papers and feet. No one wants to acknowledge the 500 pound gorilla in the room. They all write bad code!
There. I’ve admitted it. I write bad code. I don’t intend to, but it just happens. At least that’s what it looks like to me. Every time I look back at a completed project, I can’t help but think I could have done this better or that better. Usually I have to fight the urge to go back and rewrite code just because I know think I can make it more efficient and more elegant. Then I remember that I need to keep making progress on current projects, and my dreams of incessant code rewrites goes up in smoke. So I go on writing more bad code, and the cycle continues.
I prefer to think that I’m becoming a better developer as I complete more projects, instead of thinking that I wrote bad code on older projects. I can think of specific tasks that caused problems for me at one time that I’m now able to easily handle. Does that mean I’m not writing bad code anymore? Probably not, but I’m writing better code than I used to. Shouldn’t that be our goal anyway? We should be continuously improving our skills and becoming better developers. That’s the 500 pound gorilla in the room. We all think we write good code, but there’s always room to improve. Especially in the tech industry because it changes so quickly, and there’s always opportunity to learn something new.
Now I want to know who’s going to clean up after the gorilla. I’ve got code to rewrite.




