Skip to main content


Showing posts from August, 2007

Why you don't want to code for a government department

Back in the mists of time, straight after my doctorate, I worked for a UK start-up called Madge Networks initially maintaining device drivers that implemented LLC, NetBIOS, IPX/SPX protocols and then writing a TCP/IP stack. Most of this work was done in C and assembler (x86 and TMS380). When I first joined the company I was sent on an x86 assembly training course run by QA Training . (It rained on the first day and we were locked out so one of the company big cheeses ran over with QA Training umbrellas; to this day I use that umbrella). During the course we were asked to write a simple function in C. I've forgotten what it was, but let's say it was a classic factorial function. I wrote something like: unsigned int fac( unsigned int i ) { if ( i < 2 ) { return 1; } return i * fac( i - 1 ); } Later we looked at an assembly equivalent of the function, but before that I took at look at the person sitting next to me. His function looked like this: unsi