Main contents

Archive for the 'work' Category

Infrastructure is the Killer…

June 1st, 2007

I think that I’ve spent maybe 10 minutes today writing actual production code, and many, many hours dealing with dropping SSH connections, spotty wireless access, wrestling with TurboGears’ logging system, trying to figure out why code that used to compile on Solaris 9 doesn’t anymore since the system upgrade to 10, and just generally trying to put into place a workflow that will actually make me productive for my current projects.

It’s clear to me that being able to write software is only one, fairly small component of successfully creating systems.  Being able to manage the complexity of disparate, changing systems without going crazy is critical.  And being able to choose wisely between multiple technology options is also critical – the ability to distinguish between the package that is going to be a lifesaver and the one that will send you to an early grave as it continually causes more problems than it solves.

Posted in Programming, work | No Comments »

Free Agent Nation Part 2

May 31st, 2007

freeagentnation.PNG

I’m around halfway through Free Agent Nation – The Future of Working For Yourself. Very readable, and pretty informative. Pink takes a look at the rapidly eroding distinction between corporation and employee, and the transition from a world dominated by large companies providing cradle-to-grave career paths to far more complex, dynamic and networked systems composed of a large number of interacting free agents. A very timely book, given my current situation. Six months ago I was a treasury analyst for a major bank. (Without a doubt the most boring, tedious work I’ve ever done.) Now I’d find it hard to describe myself in a single sentence; I write software, light photo shoots, teach Latin, consult on systems development, do graphic design, and read lots of books! So I definitely see myself in the world that Pink is describing, and its both exciting and reassuring to know that there are a lot of people out there that are in the process of making this transition.

One of the most fundamental points Pink makes is that in the past, security came from an institution – your employer or the goverment. In the future, security will come from diversification, just as it does in the stock market. So although according to conventional wisdom it seems strange to trade a job with a large company, reasonable benefits etc. for a loose set of diverse contracts, in many ways it’s actually a more risk-averse set up. In the current world economy, I’m becoming convinced that the key things to possess are a broad talent set, a diverse client base, and a rich and deep network of connections.

Posted in books, work | No Comments »

Portfolio

May 30th, 2007

Languages I code in:

Continuously for the last 8 years

  • C++
  • SQL
  • Python

Regularly for several years:

  • Java
  • Haskell
  • Javascript
  • Visual Basic
  • FoxPro (yuck!)

Operating Systems I use regularly

  • Windows (Since NT3.1/ Windows 95)
  • Linux (including Mandrake, Ubuntu, Red Hat)
  • FreeBSD (isn’t ports nice?)
  • Solaris
  • Mac OSX (can’t run a studio without it!)
  • Other interesting combinations like Cygwin on Windows, Parallels on Mac, VirtualPC etc.
  • I typically work in heterogeneous environments with multiple different systems having to work together.

Database systems I’ve used

  • MS SQL Server
  • MySQL
  • Postgresql
  • Oracle
  • Access
  • FoxPro
  • sqlite

Source Control Systems I know

  • Bitkeeper
  • Perforce
  • Subversion
  • Microsoft Visual Source Safe (hardly counts, I know)
  • darcs

Types of development I do

  • Web based AJAX applications, using TurboGears or ModPython
  • Win32 applications, using MFC, WTL, or the Win32 api.
  • Low-level C++ libraries: eg. TCP/IP communications and medical imaging.
  • Cross platform GUIs using toolkits like GTK.
  • Anything to do with databases, especially fun legacy environments with multiple disparate data sources that all need glued together!
  • Medical Imaging – I’ve developed a powerful C++ and Python implementation of the DICOM standard that’s being used at a number of institutions, and I maintain the associated support website : http://dicomlib.swri.ca
  • Creating systems and workflow to efficiently deliver new services.
  • Analysing, simplifying and improving legacy systems.

People I work for

  • Major Banks
  • Oil companies
  • Non-profits
  • Research hospitals
  • Consulting firms
  • Friends
  • Software development companies
  • Event managers
  • Photographers
  • Anyone else…

What is my philosophy of systems development?

“Il semble que la perfection soit atteinte non quand il n’y a plus rien à ajouter, mais quand il n’y a plus rien à retrancher.”

(Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.)

Antoine de Saint-Exupéry

Posted in Programming, c++, python, work | No Comments »

TurboGears on WebFaction

May 30th, 2007

Created a new site for a client on WebFaction, using TurboGears. A few small bumps here and there, but mostly a smooth and fairly painless process. Went from not having a site to having a fully functional TurboGears site with postgres backend, subversion and trac implementation, in about a day. (Including homeschooling all morning and rigging a photoshoot in the evening!)

The site doesn’t do a whole lot yet, but I have a hunch that setting up the infrastructure will have been a significant part of the job. I think that WebFaction could be a very useful resource – they can get you up and running with a site complete with Rails/TurboGears/Django/Framework of your choice quite efficiently.

Posted in Programming, python, work | No Comments »

Free Agent Nation

May 26th, 2007

I’m currently reading Free Agent Nation, by Daniel Pink.  It’s nice to know that there are other people out there who wouldn’t find our current lifestyle weird.    I happen to think that we’re merely at the forefront of a transition from a 20th century working style to a 21st century one, and one that has far more in common with historical modes of economic activity.

The 9-5, single employer, job-for-life model may have made sense during the later stages of the industrial revolution, when large corporations had stable business models, and lifespans measured in decades, and economies of scale were all-important.  However, all of these conditions are currently being overthrown.

Whilst my father graduated from University, and started working for the same employer that he would eventually retire from, I have never worked for the same employer for more than 2 years.  Now I’ve moved even further into the new way of working – I have various clients that I provide services for, rather than a single employer.

Pink makes the very good point that while previous generations looked to their employers for security, these days in the job market as in any other, diversification is the key to risk management.  Having multiple clients and a wide talent set is what is going to count.

So now the biggest problem facing me is answering the question ‘what do you do?’

Posted in work | No Comments »