Sunday 30 December 2007

The end of the turkey

We bought a small turkey crown to cook for Christmas dinner, so I just don't understand how it lasted until today.

I am rather paranoid about cooking meet thoroughly, so as usual the meat was overcooked: dry and chewy. I did discover that you can bring it back to life by simmering it in some chicken stock for a few minutes.

The last of the turkey became a turkey curry; and Jonathan (age 2) agreed that it was rather nice by eating two bowls of it immediately after he had finished his real dinner.

Saturday 29 December 2007

Shelves

With no biscuit jointer in my Christmas stocking, tonight I put up some shelves joined with rather tidy routed lap-joints, which fit together perfectly.

But in 15mm laminated chip board, the joints are quite frankly not strong enough to hold up much. So there is a large piece of skirting board screwed across the joint. Still, once I get them loaded up with junk in the garage, I have a feeling that the joints will suddenly become invisible.

Tuesday 25 December 2007

A Christmas Message

We didn't see the Queen's Christmas message: we were half asleep and half hoping that an excited two-year old would have an afternoon nap (a vain hope).

I was rather pleased to receive one of those "whistle to find your keys" key fobs for Christmas; to save me asking Karen "every" day if she has seen my keys. Unfortunately, it responds to many other things as well as a whistle, for example: a two-year old's voice, bangs, other Christmas toys, keys jangling...

I might have to keep it in a different pocket to my keys so that it doesn't keep beeping when I am walking.

I'll watch the Queen's Christmas message on YouTube, just as soon as I get Linux working on this new laptop.

Sunday 23 December 2007

Lethal Weapon

There are so many things out there waiting to be discovered.

Here's a neat little Ada trick: pragma shared_passive that I never knew existed.

Also, I never realised how many scenes were missing from the TV version of Lethal Weapon until I watched the DVD version last night.

Saturday 22 December 2007

Spring Clean

With my head thick with cold, on the first day of my relaxing Christmas holiday, "we" decided that today was the day to spring clean the house in anticpation of Christmas visitors. Bah, humbug!

On the positive side, I did find an assortment of lost screwdriver bits and we're having curry for dinner tonight.

Why 1469

Someone asked me why "1469". Is there some deep and meaningful, personal connection with this number? Does it have some incredible/interesting mathematical properties? It it your birthday? Is it your bank card PIN?

I am sorry to disappoint. As it happens, the number 1469 is rather uninteresting (at least to me).

The answer is that it happened to be the numerical UNIX user ID of my computer science account at university.

Why does anyone know their numeric ID? Surely, even back in the age of transistors and 32K RAM expansion cards we had textual IDs...yes of course we did. The only reason to know it is that NFS uses numeric IDs (rather than text); so the numeric ID for your user name has to be the same on all the machines.

As I was frequently setting up or using new machines, if I had not created a non-root account with the right numeric ID on a computer then all my files would be listed as owned by the unknown user 1469.

It's also the 13th Octahedral number (being the sum of the 12th and 13th square pyramidal numbers), and has two prime factors of 13 and 133. Amazing... .

It's a useful number though, mostly because of it's uniqueness - whenever I create an account on the Internet somewhere, I usually add 1469 to the user name, no one else seems to choose it. It also seems that there is no other blog with the same name.

And Happy Christmas to all those who didn't finish work today.

Friday 21 December 2007

Browser compatibility

It would be nice if this very fancy WYSYWIG AJAX XML HTML blogging site worked properly with Opera. It seems to insert non-breaking spaces instead of spaces. Hmm.

Still, it's a lot easier to load Mozilla than it is to write in HTML.

And it's quite amazing what you can do on the browser nowadays: email, word processing, spreadsheets, video, software programming, calendars, spell-check your blog postings.

It makes you wonder why you need user interface to the operating system at all - are we going to run a web-browser "full screen" instead of a window manager?

Think of the opportunities! Rather than execute "native" software on your own machine, you can execute software in the browser using interpreted languages that you can't prove properties of, on a virtual machine to emulate a computer, based on a widely-misinterpreted and varying system specification, relying on a fast and reliable network connection, executing in a secure environment that restricts what the software can actually do.

Still, it's all rather convenient.

Wednesday 19 December 2007

I am an accountant

My work at the moment is mainly admin, accounts, management, customer contact, sales.

I would normally call myself a software engineer; that is certainly what I trained as, enjoy doing. I am actually not too bad at it, when I get the opportunity.

I find admin work boring, management stressful, customer contact and sales are hard work.

Once I have done all that, there is about -30% of my time available for software (that's minus 30%...remember the stressful?)

It is a good job that I actually quite enjoy doing the accounts, otherwise I'd wonder what I was doing.

Still, it's Christmas soon - the company office will be closed for a whole week. Time off.

It sounds like a perfect time to sneak into the office, pour a large cup of coffee, fire up that compiler and pretend it's 2003 again; a day before I first read the HMRC VAT 700 guide.

Tuesday 18 December 2007

Ada

Ada is a programming language. Not many people seem to have heard of it. It's original use was high-integrity avionics systems. We use it as our core development language for desktop software.

Using Ada (instead of a more conventional C or Java) has undoubtedly saved our tiny company many tens of thousands of pounds in software development costs.

How do I know this figure? (We didn't develop all our software twice in two languages just to see which one takes longer/gives higher quality). Of course I don't have any hard evidence for this figure, but I know that we made the right choice when starting with Ada. A conversation in the office, a few months ago reminded me of this. It was something like:

Experienced engineer: Ian, our compiler works with GDB doesn't it? Do you know how to use the debugger?

Ian: Yes - it's quite straightforward.

Experienced engineer: Can you show me? I have a bug that the compiler hasn't spotted, I think it might be useful to look at the variables at run-time.


I remember learning Ada, as a first year undergraduate at York. My colleagues around me were swearing at the screen...."Why won't my program compile.....I hate Ada". For myself (rather used to interpreted BASIC) I was just pleased that the compiler wouldn't even provide a program until it was pretty sure that you had actually written what you meant to write.

It might take a minute longer to write a program in Ada that prints "Hello World", but you are totally sure that it won't print "ello Worldáááááá\p" then crash with a segfault, requiring painstaking single-stepping through your code to fix. When you apply this kind of engineering to a large application, the overall development time is incredibly low because your time spent testing and debugging is much lower. In particular, those annoying sort of bugs that cause data corruption, strange crashes, core dumps, general unreliability etc. just don't seem to occur using Ada.

Monday 17 December 2007

Who's who? I am apparently...

Who's who?

Today I received a letter (paper letter)...very professional looking.

We are in the process of compiling the current edition of Who's Who of Britain's Business Elite, due to be published in February 2008.

...

You have been selected for inclusion in this year's edition on the basis of your business achievements. Your entry is in recognition of your contribution to the business community and serves as an important reference for others. Entry into any of our publications is by nomination and selection only, according to strictly determined criteria, and is not conditional whatsoever of any payment to, or purchase from our organisation.

...


Presumably, it's a scam, right? A vanity publishing scam...the "strictly determined" criteria is presumably "whoever replies to the letter". It feels all too like this one