Ramblings
  • I really enjoy learning new languages. If nothing else, it’s a way to get exposed to a lot of different ideas about how things should be done (from someone else’s...

    Learning Ruby

    I really enjoy learning new languages. If nothing else, it’s a way to get exposed to a lot of different ideas about how things should be done (from someone else’s…

  • It’s unfortunate that some many people get introduced to the concept of “inheritance” before anything else in Object Oriented Design. The truth is inheritance is a useful tool, but one...

    Composition vs. Inheritance

    It’s unfortunate that some many people get introduced to the concept of “inheritance” before anything else in Object Oriented Design. The truth is inheritance is a useful tool, but one…

  • An e-mail was floating around the office among the software developers the other day, it had to do with coding conventions and people were proposing adopting ones that had been...

    Switching on Type

    An e-mail was floating around the office among the software developers the other day, it had to do with coding conventions and people were proposing adopting ones that had been…

  • Martin Fowler just posted a short article on “Flag Arguments”. That is, arguments to functions that basically just switch behavior. In general, I agree with his take on it. I’ve...

    Enum Arguments

    Martin Fowler just posted a short article on “Flag Arguments”. That is, arguments to functions that basically just switch behavior. In general, I agree with his take on it. I’ve…

Projects
  • I had the pleasure of having a short stint at LEGO (from July 2011 to November 2011). I would’ve liked to have stayed longer, LEGO is a great company, but...

    LEGO Universe

    I had the pleasure of having a short stint at LEGO (from July 2011 to November 2011). I would’ve liked to have stayed longer, LEGO is a great company, but…

  • DigiBracket was a product that I worked on with one other teammate at 3M. It used WPF which gave us native support for UI elements embedded in a 3D scene...

    DigiBracket

    DigiBracket was a product that I worked on with one other teammate at 3M. It used WPF which gave us native support for UI elements embedded in a 3D scene…

  • IlumaVision was medical visualization software that allowed a dentist or orthodontic surgeon to view and perform analysis on data from a CT scanner.

    IlumaVision

    IlumaVision was medical visualization software that allowed a dentist or orthodontic surgeon to view and perform analysis on data from a CT scanner.

  • AttentiveCare was a videoconferencing system for people with Alzheimer’s and their caregivers.

    AttentiveCare

    AttentiveCare was a videoconferencing system for people with Alzheimer’s and their caregivers.

  • In high school and college I wrote a bunch of computer games as a hobby.

    Games

    In high school and college I wrote a bunch of computer games as a hobby.

Software Development Resources
  • Joshua Bloch’s “Effective Java”  is worth a read even if you don’t intend to ever write one line of Java code.

    Effective Java

    Joshua Bloch’s “Effective Java”  is worth a read even if you don’t intend to ever write one line of Java code.

  • Eric Lippert is one of the software developers at Microsoft on the C# compiler team. C# is an interesting language and reading through Eric’s blog will introduce you to a...

    Eric Lippert

    Eric Lippert is one of the software developers at Microsoft on the C# compiler team. C# is an interesting language and reading through Eric’s blog will introduce you to a…

  • Martin Fowler has a lot to offer his readers. He is probably best known for his book Refactoring, but his “bliki” contains his thoughts on a variety of software engineering...

    Martin Fowler

    Martin Fowler has a lot to offer his readers. He is probably best known for his book Refactoring, but his “bliki” contains his thoughts on a variety of software engineering…