Posted on October 28th, 2008

While cleaning out some boxes tonight, I came across a notecard which had some questions I scribbled on a plane ride, about software, and people:

  • Why do people care about project plans?
  • Why are rules so important to people?
  • Why are we so focused on deadlines?
  • Why are degrees so important?
  • Why are we so afraid of change?
  • Why does other’s success bother us?
  • Why do benefits and pay have to be so secret?
  • Why do companies want to be considered a family?
  • Why do we want to be right?
  • Why do we have to be so formal?
  • Why do we focus on the trees?
  • Why aren’t we more friendly?
  • Why do we have to lead?
  • What are we afraid of?
  • Can we go faster? Should we?
  • Why does age matter?

No Comments


Posted on October 9th, 2008

image I’ve been tagged by Brian Button to tell a bit about my geek childhood. As you can imagine, I also had quite the geek childhood growing up. The picture to the left is my school picture where I’m actually posing with a Transformer.

Pretty much every aspect of my childhood was geekish in some way or another. From early childhood I was exposed to tons of electronics – we had a 200′ tower in our front yard, my Christmas present one year was a homemade digital clock my step-dad made (which threw on whatever was plugged into the front of the clock when the alarm went off), and many other things.

image

Oh, and the satellite dishes. This was the "small" one in the backyard – 16′. We had a 20′ in the front yard, a 40′ across the street, and a pair of 10′ in another part of the backyard. I clearly remember watching jets from Macdill Air Force Base to Patrick Air Force Base make course corrections once they saw the dishes. We got to do a ton of fun things – we used to pick up signals from Russian satellites, including newscasts of two very scared-looking people with a single bare bulb above their heads.

image

To make it more geeky, my mom and my stepdad actually got married in a helicopter. Yes, he was a pilot who built his own helicopters. So one of his friends flew over a chopper, my mom and him loaded up, and the rest of us listened over walkie talkie as the minister did the ceremony from the ground while the helicopter flew overhead.

image A lot of my geekiness comes from the fact that we also played a lot of Pool (or billiards) growing up. A good friend of ours won the national 8-ball championship, and it was a lot of fun learning about various aspects of math necessary to be a good pool player. The shot to the right was a suit that I had. Somewhere I had a picture of me in that suit on our pool table.

Even as I got older, pool was an important part of my life – although I just don’t play it as much now. Perhaps that’s something I should get back into.

As times went on, I got more and more into computers. My first computer was an Atari 800XL. My second computer was an Epson 386. I used to spend hours typing in programs from various computer magazines. I remember I even had Tetris, and it had a "boss" mode which would switch to a spreadsheet. Not that I knew what a spreadsheet was back then, but I remember thinking how clever that was. I was also into gaming – I participated in the Nintendo world championships, though I didn’t get all that far. Somewhere we have a video of me, my mom, and a friend of mine dancing around a stage to Super Mario music. Hope that stays hidden.

image So, thanks to Brian for tagging me – it was great fun going through the picture box to find pictures like this one of me in my "Sun n Fun Fly-In" shirt. It’s amazing how similar many of our backgrounds are across the blogosphere (we also did a bunch of Ham Radio stuff, though I never got my license). And it’s a lot of fund seeing the different experiences we had which made us who we are today.

To keep it alive, I know hereby tag Brady Gaster, James Carr, and Gojko Adzic.

3 Comments


Posted on October 5th, 2008

Is it possible to do the following, or do I have to use a Mocking framework? And if I do use a mocking framework, do I have to do anything special?

private IClassificationService fakeClassificationService = delegate {    System.Net.ICredentials Credentials    {        get { return null; }        set {}    }

    IList ListAllProjects()    {        return null;    }}

Edit: Looks like the new Rhino Mocks comes close to what I’m looking for

No Comments


Posted on October 3rd, 2008

Recently at work we got our new build status light setup. We’re using TeamCity as our Continuous Integration Server, MSBuild as the build script, and a homemade Ruby Script to control the lamp.

The setup sits in our team room and looks like this:

DSC_1028

The Build Lamp (a red lava lamp in this case) is controlled by an X10 Transceiver:

 

DSC_1030

I have a little X10 transmitter attached to the serial port of the computer you see. It’s basically the setup from the Firecracker kit on X10.com. To check the status, we enabled the status widget feature of TeamCity, and I wrote a simple Ruby script to parse the widget using Why’s awesome Hpricot parser and the CM17A X10 Ruby code from Rubyforge. That script is available for download but is just:

require 'hpricot'require 'open-uri'require 'x10/cm17a'

def there_are_failing_builds()  retry_count = 0  begin    doc = Hpricot(open("http://teamcity:8080/externalStatus.html"))    failingBuildElements = doc.search("//img[@title='Build configuration is failing']")    return (failingBuildElements.length > 0)  rescue    if retry_count < 3      retry_count += 1      puts "Network not available. Sleeping for 10 seconds then retrying"      sleep 10 #Wait for a bit to see if the network will come up      retry    else        puts "Could not open web page (Network is down?)"        return false    end  endend

def turn_on_lamp()  puts "BUILD BROKEN! Turning On Lamp"  #Do it twice because sometimes the first doesn't take  X10.device('C1').on  X10.device('C1').onend

def turn_off_lamp()  #Do it twice because sometimes the first doesn't take  puts "Build A-Ok! Turning off lamp"  X10.device('C1').off  X10.device('C1').offend

puts "Welcome to the Build Monitor"

while(true)	if(there_are_failing_builds())	  turn_on_lamp()	else	  turn_off_lamp()	end	puts "Next status check in 60 seconds..."	sleep 60end

We’ll also play a build break sound (the team has chose the Macarena for now), but sound isn’t working on that machine yet.

Happy hacking!

1 Comment