February 14th, 2003


Why I'm a good programmer

From here.

Ten years ago, to write code, you needed to know a programming language, and you needed to know a library of maybe 50 functions that you used regularly. And those functions worked, every time, although some of them (gets) could not be used without creating security bugs.

Today, you need to know how to work with libraries of thousands of functions, representing buggy code written by other people. You can't possibly learn them all, and the documentation is never good enough to write solid code, so you learn to use online resources like Google, DejaNews, MSDN. (I became much more productive after a coworker at Google showed me that you're better off using Google to search Microsoft's knowledge base rather than the pathetic search engine Microsoft supplies). In this new world, you're better off using common languages like Visual Basic and common libraries like WinInet, because so many other people are using them it's easier to find bug fixes and sample code on the Web. Last week, Michael added a feature to CityDesk to check the installed version of Internet Explorer. It's not hard code to write, but why bother? It only took him a few seconds to find the code, in VB, on the Web and cut and paste it.

We used to write algorithms. Now we call APIs.

Nowadays a good programmer spends a lot of time doing defensive coding, working around other people's bugs. It's not uncommon to set up an exception handler to prevent your code from crashing when your crap library crashes.

Times have changed. Welcome to a world where the programmer who knows how to tap into other people's brains and experience using the Internet has a decisive advantage.

(no subject)

While I'm on that subject, can I just say that I have no objections to poring over thousands of lines of my code trying to make things work, but writing code that depends on systems that don't work themselves drives me completely mad.

(no subject)

I'm moving house on Sunday.

I'm taking my broadband with me, because if you connect to the internet over a modem, you might as well be dead. They can bloody well unplug me here and plug me back in over there.

I originally arranged this for today, but as Erin's off at some conference about the future of Scottish Film, I moved the appointment to next Wednesday. The reconnection people definitely know this. The disconnection people were apparently unaware.

I returned home to a flat with no phone or tv service . The internet is still working however, so I snagged Telewest's support number from their web page and have now been on the phone for 25 minutes, moving through 3 departments. I hope to actually talk to someone who can help me any minute now...

Phoning me

Right, tv and phone are restored.

However, I have a temporary phone number until Wednesday. You can either get me on my mobile 07980 86 86 39 or on my teporary home number 0131 620 4089.