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.
In the increasingly incorrectly named Floss Pick series, my next pick is the Flickr Uploadr. I love to take lots of pictures, and Flickr is right up my alley. It gives me an easy place to share photos with my family, and I use it as my de facto backup for my pictures. The Flickr Uploadr gives me the ability to easily upload and tag photos. It’s really just as easy as drag-drop-upload.
The application is freely available from Flickr, and there are versions availablefor Windows, Mac OSX, and Linux. There’s also a plug-in for iPhoto available.
I just upgraded the scartech.net blog to the latest version of WordPress, and let me tell you it was simple. It literally took me less than 10 minutes to do. That deserves a wow! Now that’s how an upgrade is supposed to go.
Well it looks like the tryptophan is kicking in. Happy Thanksgiving everyone!
So I’ve got Ubuntu installed in a VMWare virtual machine. I really don’t think I need to detail the installation procedure because it was so simple. Since I’m using VMWare, I didn’t have to worry if the necessary drivers were included or where to find them. Once the OS was installed, I installed the VMWare Tools. Admittedly it took me a minute to figure out how to install the tools, because I needed to use SUDO to run the installer application on the mounted virtual CD. Once I figured that out though, I was off and running.
The first thing I did once I installed the VMWare tools was to grab all the latest updates. If you’re familiar with Windows Update, then you’ve got the idea behind updating Ubuntu. Again, it was super simple. I was also asked for my administration password before the updates could be installed. It’s nice to know that I need to explicitly grant permission to install/update applications. It’s something Windows should have been doing for years. As I expected, there were a few updates available. They were downloaded and installed with minimal interaction required from my end. And the really nice part was that a reboot was not required! I’m sure that’s not the case for all updates, but it was nice this time anyway.
Next, I tried browsing my network from the Ubuntu VM. Again. It was very simple (are you seeing a theme here?). I was able to navigate to my local file shares without having to do anything special on either the Linux or Windows boxes. This really surprised me. I expected the update to be easy, but I didn’t expect to be able to connect to my Windows file share that easily. To be honest. It was easier to connect using Ubuntu than it was with my other XP machine, but that’s a story for another post.
Now that I had the OS updated and verified my network connections, I started checking out the applications that were installed as part of the default installation. There’s a couple games, the GIMP, Firefox and OpenOffice (just to name a few). The games were of your solitaire/minesweeper caliber games, so I won’t get into too much depth here about them. Suffice to say I could waste some time with them, but they’re not the reason I’m looking into Linux again. As on Windows, Firefox is rock solid and works as advertised. I’m a long time Office user and love the ribbon UI in Office 2007, so OpenOffice is somewhat of a disappointment for me. Again, I’m not looking at Linux to find a productivity suite, so this isn’t a deal breaker for me. I don’t claim to be a *nix expert, but I’ve used some of the command-line tools before. The console was just as easy to use as I remember from my Mandrake days.
There was one thought that kept coming to me as I’ve been nosing around Ubuntu lately and it’s ease of use. Back when I was using Linux in 1999-2002 (ages ago in tech time), the phrase ease of use never came up. I would never have suggested anyone but a geek look into Linux. It was just easier to use Windows (Apple was left for dead back then). I think that’s changed now. I wouldn’t have any problem recommending Ubuntu to a non-geek. It’s easy to use, secure (at least not as big a target as Windows) and free. Not to mention the fact that it can run nicely on older hardware (or even in a virtual machine).
Next I think I’ll dig a little deeper into Ubuntu by trying out some typical power user tasks. Adding-removing software, adding users, changing hardware, and maybe write a little code. Let’s hope I’m still thinking ease of use.
Wow! Don’t dare say anything negative about Apple. At least if you don’t want to be flamed. Robert Scoble ranted about his bad experience with an update to the Mac OS and the long knives came out. Some people even went as far as to call Scoble a Microsoft shill!?! Do they even read this guy’s blog? The guy is not a shill for Redmond.
Two things will usually get the neck beards riled up:
Write something negative about Apple. It doesn’t matter how valid the criticism, you’re wrong. How dare you criticize the mother-company.
Write something positive about a competitor of Apple. How dare you like the idea of a subscription based music service. Don’t you know Microsoft offers that in the Zune Marketplace not the iTunes Music Store?
What’s the best way to promote your blog? Do you just rely on search engine hits or is it ethical to Digg your own blog? If you’re legitimately trying to share your thoughts and expand your readership, I don’t see a problem. I’ve discovered many blogs that I now regularly read by finding them on sites like Digg, Technorati and DZone. The Coding Horrors and Scobalizers out there are easy to find, but I also want to read the stuff from the little guy. That’s why I visit Digg and DZone.
It’s a different story if you’re spamming. If you’re running a splog, you know it. And when you submit links to your splog, you know you’re submitting spam. Plain and simple. It’s sort of like obsenity. I may not be able to define it, but I know it when I see it.