RSS 2.0
Journal / Blog
Monday, June 23, 2008
Joining The Dual Monitor Club: Getting a New Computer: The Ultimate Developer Rig

In this picture: My Charles Babbage mug, books: Domain Driven Design, the Ruby Programming Language, the Definitive Guide to JavaScript, my Evoluent VerticalMouse, and lots of Red Rain empties.
One of my biggest pet peeves is trying to efficiently complete development work on a slow machine. In my mind, trying to work quickly on a slow computer is like asking a marathon runner to wear snowshoes then demanding they WIN the marathon. What ensues, is painful for the runner, painful for all who watch, and reaching the end goal feels impossible - bottom line good equipment matters. However, many client's overlook the relationship between getting stuff done and a slow machine, or they don't care, or they can't do anything about it.

Maybe they find it thrilling (in some sick way) to watch your soul fizzle away as you spend 300 minutes a day compiling your application (or running your tests). :)


In great organizations slow machines aren't an issue. According to the The Programmer's Bill of Rights: "Every programmer shall have a fast PC", and from the Joel Test: "[Organizations should] use the best tools money can buy?" But reality is often a different beast, and in my experience you have to make the changes you want (or "be the change you want to see..." - Gandhi).

I'm sure in Silicon Valley, good computers would be mandatory for most organization, but I live in Canada - we suffer through black flies, mosquitoes, 8 months of winter, and organizations with poor resources. :) Did you know that Canada's population is roughly equivalent to the population of the state of California alone!?

Anyhow, I started working from home full-time this year - up to this point most of my work has been done onsite using whatever machine the client provided (some with outdated hardware). My home desktop was a six year old PC that would make Frankenstein look sexy - it was a collection of old and new parts. Since, I do most of my work in Virtual Machines (I typically have three VMs running) performance is absolutely critical. After spending a month working on my dinosaur of a machine, it was clear I needed a new computer.

Leave me a comment requesting the details, and I'll happily bore you with the technical specs of my old machine including a story of where I acquired each component. :)


I based my specs on Jeff Atwood's and Scott Hanselman's specs for the Ultimate Developer Rig. The machine turned out to be economical, the prices have come down significantly since the initial post was published, and to top it all off, I was able to chop shop my old machine and sell every single part through eBay and Kijiji - for a surprisingly decent price too (who would have thought a 6 year old Sound blaster Audigy would sell for $50?).

Contrasting my setups:

ThenNow
ProcessorsTwo 32bit AMD MP 1.2GHz  Quad Core 64bit 2.4GHz
RAM3.5 GB8 GB
Monitor(s)A single 17"Two 22" Samsung SyncMaster 226BWs
Personal Pain Points  Excruciatingly painfulOccasionally painful (only Vista induced)
Working on my new machine is enjoyable. I find myself more productive without being distracted by the frustration of a slow machine, and having dual monitors also contributes to my productivity (Does More Than One Monitor Improve Productivity?). My favourite parts of the new setup are the monitors, the Ergotron stand, the speed, and the Case. You really get what you pay for with LCD monitors, the SyncMasters are easy on the eyes when compared to my old economic Acer, and the case is dead silent.

In the future, if I'm provided with a substandard PC, you can expect to see me hauling my new machine into the office. :)

Take a look at my old desktop setup in my older post: Something About the Cobbler's Children Having No Shoes

Have you ever had to use an outdated machine as a developer? How does working on a slow machine effect your work? What are your thoughts on taking matters into your own hand (like purchasing your own computer to replace the slow one at work)? Have you ever installed additional resources in the computer you use at work?

Saturday, June 14, 2008
How I Got Started In Software Development: Confessions of a Script Kiddie


Ahh yes, the bowl cut. Simple to maintain, keeps the cold off the brain.

Me around age 12, and not much has changed. :)

Maggie Longshore (tweet: MaggiePlusPlus) posted her response to Michael Eaton's (tweet: mjeaton) initial post on: How did you get started in software development? I had fun reading the other contributions so here mine...

How old were you when you started programming?

Somewhere around the age of 8 or 9.

How did you get started in programming? What was your first language?

My dad went to College for robotics when I was around 8 years old, so he was really into programming (programming robots) and we worked through a book on the BASIC programming language. After that I continued to mess around with BASIC and wrote scripts so I could get at my favourite games. Later I was frequenting BBS's, and surfing the internet through a text based browser. I eventually became a Script kiddie - in retrospect, being a Script kiddie was what really turned me on to programming. My friends and I would write our own IRC war scripts take over local channels, we'd play MUDs late into the nights, and try to figure out how Trumpet Winsock, networks, mIRC, and HTML worked - those were the days of Netscape 1 (the version with the big glowing 'N'). Later we tried writing our own version of NetBus with the help of C / C++ programmers on IRC channels - the fragments of the C language these programmers shared with us were magical, they really sparked an interest in programming. In addition to all this my dad kept a constant supply of computer parts funneling into our house, my brothers and I would build computers from the parts - today my closest brother is a Linux guru, evidently all this sparked his interest too.

I've digressed, short story, programming has always been a part of my life, BASIC was my first language.

What was the first real program you wrote?

I followed a couple game tutorials in my BASIC books, but my first real program would have been Pacman in Turing - in my final year of high school I enrolled in a computer course, where the instructor let us choose our own adventure I chose to write a game.

What languages have you used since you started programming?

BASIC, Turing, Pascal, Assembly, COBOL, C, C++, LISP, Java, JavaScript, PHP, VBScript, most of the .NET Languages, and so on...

I've spent the most time in C, C++, C#, JavaScript, SQL, and the mark-up languages. I primarily program for the web or at least for the network.

While using multiple languages are great, I really believe that we you should completely understand the fundamentals of at least two languages (like say a static language and a dynamic language), because:
"Once a programmer realizes that programming principles transcend the syntax of any specific language, the doors swing open to knowledge that truly makes a difference in quality and productivity." - Steve McConnell, Code Complete 2nd Edition.
What was your first professional programming gig?

If by professional you mean worked at least 20 hrs a week and was paid, then I would have been 18. It was my first year of College, I needed a part-time job in order to live (In Honour of the Student Loan), I worked on an assembly line. I would occasionally help the office workers troubleshoot their IT issues and soon found myself working as their network admin / computer gopher. I went on to develop their cataloging system and a website. At the time I was going to school for Electronic Engineering, but decided to switch to a Computer specific program. Pervious to this, I had freelanced a couple websites for local businesses.

If you knew then what you know now, would you have started programming?

Absolutely! The industry continues to instill a sense of wonder in me. I can't imagine doing anything else.

If there is one thing you learned along the way that you would tell new developers, what would it be?
  • Read! You'd be surprised how little progress has been made in the software industry over the past 30 years. By reading we can learn from the mistakes others have made.
  • Don't be intimidated by code or frameworks handed down by large organizations, their code isn't any different than yours.
  • Hard work always pays off, or as Thomas Edison said: "Success is 10 percent inspiration and 90 percent perspiration."
What's the most fun you've ever had ... programming?

Collaborative programming is always fun whether it be paired programming or working together on a project. It's hard to pinpoint the most fun I've "ever" had, because it's all fun. :)

Now it's your turn to answer: How did you get started in software development?

Saturday, May 10, 2008
Education is a Great Investment: In Honour of the Student Loan
As a student I was a pathological penny pincher, but as much as I've complained about student loans, I'm also grateful for them. Sure, it would be great if Canada could adopt an approach like Finland and other European countries where education is free, but that's not in our cards.

Why are student loans good?
I grew up in a small village in Northern Ontario, in a huge family - in total there are 11 of us. YES! I have 8 siblings and we all have the same parents. :) Most Canadians are familiar with the rural community setting (maybe not the huge family scene). A railway runs through town, the town has 2 gas stations, a single postal code is associated to the entire area (including all the outlying hamlets, and farms), the local high school is 30 minutes from home, the high school kids are bussed from a 100km radius (and there's still only about 700 students in total). Most of your childhood is spent: crawling across beaver dams, building tree forts, playing Lego, banging away at BASIC on rainy days, swinging from ropes in barns, chasing sheep, skateboarding, and shooting guns. Most of the residents in these towns live modest lives, and have chosen the rural community because it's cheaper than living in the neighbouring city, or they have just always lived there. The residents are employed in the dwindling lumber industry, the agricultural industry, the local businesses, they are seasonal workers, or unemployed.

In short, living in these remote communities can be economically challenging, supporting a massive family in these areas can be difficult, and receiving educational assistance from your family is even more difficult. So... If it wasn't for government funded student loans I probably wouldn't have gone to College/University, and if it wasn't for an education I probably wouldn't have been able to develop the skills necessary to be where I am today - yesterday I paid the last of my Student Loans. :)

Thank-you Government of Canada for the student loans!


For all the students out there, keep your chin up, keep your eyes on the goal, don't let finances get you down, focus on your studies, and keep pushing forward. Education is a sound investment in your future - provided you're not going to school for underwater basket weaving, or attending an atrociously expensive private college, and not going to school forever (everything in moderation, right?). As the old adage goes: "you've got to spend money to make money", and education is a sound investment.

Wednesday, April 23, 2008
Turning the Page on Another Virtual Chapter: Time For a Website Revamp
Life is like a book of infinite chapters with everyone reading at their own pace - we're not who we were yesterday and won't be on the same chapter next week, we're all on the same journey, we progress.

Time for a change. This site and blog was initially directed at hiring managers, it worked great, the human resource teams thought the website was great.  It successfully demonstrated creative potential, communication skills, dedication, and so on, but that was 3 years ago. Today my audience has changed (has become more developer centric), but the growing pains of yesterday linger.

So over the next couple months I plan to revamp this site to better represent my current state and anticipated professional direction.

Site update road map:
  • Transition from a showcase / superficial / professional type site to a more personal / how-to / community based / professional site
  • Keep it simple
  • Replace all the ASP.NET AJAX (ATLAS) widgets with hand coded JQuery or Scriptacolous JavaScript components
  • Drop the Home landing page, replacing it with my Journal / Blog
  • Drop the Professional Development, Resources menu item
  • Drop the Professional Development Landing page, redirect to Reviews
  • On the Contact page:
    • Remove the lengthy explanation on why I'm using a Captcha
  • General Site Design
    • Replace all HTML images with CSS images
    • Design a new logo
    • Design a new color scheme
    • Switch the CSS design from a fixed width layout to a liquid layout
Since my last name is hard to remember I'm considering www.adamdotcom.com as my primary domain name, what do you think?

Any recommendations are welcome!

Thursday, March 20, 2008
A Completely Normal Post: Our Dog
My blog posts tend to be obscured in programming languages, and techie gibberish, I thought I'd do a normal post on our dog - after all, pets are what blogs are really about, right? :)

Steph (my wife) and I had been toying with the idea of getting a dog, we've been looking at different breeds, visiting shelters, and emailing breeders - I have to give Steph all the credit, she did most of the research. Anyhow, we came across a post on our Kijiji for a mature Soft Coated Wheaten Terrier. Now we have a dog.

Being a Geek and all, I wasn't sure if I was a dog (or cat person), but Belle is a great dog. Her constant need for a walks is a great reminder to take a micro break while working from home.


Belle, our dog.
Saturday, March 08, 2008
Something About the Cobbler's Children Having No Shoes
As knowledge workers, software developers and the like, we often find ourselves heads down in the trenches (micro focused, working towards deadlines), while throwing self-improvements and work environment improvements to the sidelines.

As the old phrase goes: "The Cobbler's Children Have No Shoes" - the Cobbler was so busy with other peoples shoes, that he couldn't make shoes for his children. Like the Cobbler I often find myself burried in work, and neglecting the things that could improve my situation.

A couple personal examples: this website (the design has remained unchanged for the past couple years), my desk setup (the mountain of books for a monitor stands and a single 17" monitor) demonstrate this.

I've since purchases an Ergotron LX Dual Desk Mount Arm, and will soon be upgrading to these Samsung SyncMaster 226BW 22" monitors, which I plan on running in portrait mode.

How can you improve? What does your desktop look like?

 
Wednesday, July 04, 2007
Married and Moved: What a Busy Month!
It's always difficult to consistently make blog posts through the warm balmy summer months (in Canada our summer typically lasts for 3 - 4 months), but this summer has been especially busy. Over the past month I've managed to get married, and move across Canada - from Ottawa to Calgary which is about a 2,000 km (1270 miles), a four day drive.


Adam & Steph married!
Page rendered at Saturday, July 19, 2008 10:53:55 AM (GMT Standard Time, UTC+00:00)