Archive for the ‘Uncategorized’ Category

Descent Into Incompetence

Saturday, February 2nd, 2008

I am fairly heavily involved with recruitment where I work, being the author of the technical test and phone screen questions we use for evaluating candidates, and conducting face-to-face interviews with many of the hopefuls that get over these early hurdles.

Naturally, in order to gain these responsibilities I have gone through a number of required HR ass-covering exercises in which it was drilled into me that I am legally forbidden from asking questions about sexuality, marital status, family-planning, and anything else which might lead me into rejecting a candidate on grounds our beloved government considers discriminatory.

Never mind that I have never shown the least inclination to discriminate against someone because they might want to possibly think about maybe taking some [mp]aternity leave in the next 30 years, or (gasp) prefer the company of their own gender, or whatever; I have to go through all this training so that the company can throw me to the wolves if a candidate claims to have been discriminated against. “Not our fault, guvnor; we explained the rules”.

Still, fair enough I suppose; we live in litigious times, and not being a bigot I have no particular fears of transgressing.

But what if the rules are changed? And what if they’re changed in horribly unexpected ways? A recent article on the BBC News site contained, quite without fanfare, some shocking intelligence.

Previously standard questions about age, length of experience and religious views are now illegal, [Which?] points out.

Wait, what? Length of experience is now a forbidden topic? So if I’m recruiting a senior developer or team lead, I now have to waste valuable time interviewing fresh-out-of-college tyros who haven’t written a single line of commercial code or spent a single day working in a professional team?

I can kind of see what is trying to be achieved here, but it is an unavoidable fact that experience is a vital attribute for many senior roles, and needs to be taken into consideration when trying to fill those roles. It’s not just me either - a quick trawl through the endless agency emails I seem to get every day (despite telling them I’m not on the market) reveals that most tech jobs are still specifying n years of experience; this seems somewhat pointless now that candidates can’t be asked about it. I wonder if they know?

Even more interesting is the fact that many contract positions are still paid at ‘rates negotiable on experience’. Hah, how does that work when experience is a forbidden subject? If I were graduating from university this year I’d be whoring myself around the City applying for £500-per-day contracting gigs and suing any bank that dared ask me to justify my rate.

Rob Grant’s novel Incompetence just became slightly less hysterical.

Article 13199 of the Pan-European Constitution: “No person shall be prejudiced from employment in any capacity, at any level, by reason of age, race, creed or incompitence (sic).

Freedom Zero: The All-Or-Nothing Fallacy

Tuesday, January 29th, 2008

Jeff Atwood has an article up today bemoaning the fact that seemingly nobody “gives a crap about freedom zero”. Well, my initial reaction was that surely nobody could care about something with such a thoroughly ridiculous name. Freedom Zero? Really? I know this is the FSF’s first freedom, and programmers count from 0 don’tcha know, but it’s still rubbish.

But the real reason is that it simply isn’t important enough to override everything else.

Certainly, for some things you want the freedom and reliability of open source. I write my essays in OpenOffice, I use Vim as my text editor for all programming languages other than C#, and I write maths papers with LaTeX. I want my personal output to remain usable and not at the whim of some company somewhere, I agree with all that.

But do I need my MP3 player to be open? No. My videogame console? No. My phone? No. My movie editor? No (though only because I always archive the source material). The irony is that people do indeed care about freedom - the freedom to choose, and the sad fact is that there is a certain type of zealot who only espouses freedom as long as it’s their type of freedom. And that isn’t freedom at all.

Now, as it happens, Linux is my operating system of choice. I don’t own any Apple computers, though I do have a first-gen iPod Mini, which is distinctly showing its age. I use Vista for .Net development, but I don’t think anyone could reasonably call me an Apple zealot or an anti-freedom capitalist whatever.

But you won’t catch me criticising Apple for their closed platform. If it results in a decent product, I’m all for it. I used to have a G4 iBook and liked it a lot. When I’m in the market for an ultraportable later this year, I will give due consideration to the Mac Air.

A Mac is a product - calling the hardware nothing more than a dongle is a ridiculous argument. You can run Linux on Mac hardware, and OSX on non-Mac hardware (suboptimally, granted). Would you call a Ferrari Enzo a dongle because you need one in order to run the Enzo engine management software?

And it should be said that Apple isn’t quite as closed as some people suggest - I can still install Firefox, Thunderbird, and other open source tools if I want to tackle the hostile internet with a trusted armoury. And OSX comes with things like Apache and SSH installed out of the box.

So do I give a crap about freedom zero? Only in as far as it suits my needs. If a piece of closed software does a better job, and the risk of losing data forever is within my tolerances, then sure I’ll use it and I won’t let ideology get in my way.

On the flip side, I care about interoperability, and I contribute or donate to a few open source projects, and will strongly oppose anything - legal or technological - that attempts to muscle open source out of existence. An open source tool deserves the right to compete. I use Amarok not because it’s open, but because I like it more than iTunes. Conversely, I use Visual Studio not because it’s proprietary, but because I prefer it to SharpDevelop.

Use the best tool for the job.

Proper Shepherd’s Pie

Sunday, January 20th, 2008

The late, great Douglas Adams once felt moved to write an article about how to make a decent cup of tea. His motivation was the fact that so many of our American cousins are baffled by the British predilection with a nice hot brew; he concluded that the reason for such bafflement was the fact that “most Americans have never had a good cup of tea“, thanks largely to the habit of using hot (rather than boiling) water, and no teapot.

Now, there is a similar threat to another great British tradition. Recently, a recipe for Shepherd’s Pie hit the front page of Digg, prompting a lengthy comment thread which contained a number of remarks that British food sucks, or that Shepherd’s Pie in particular was horrible. A glance at the recipe suggests a good reason for this - diligently following it to the letter will result in a ghastly concoction almost entirely unlike a good Shepherd’s Pie. No wonder British food has such a lousy reputation abroad.

To redress the balance a little, here’s a proper Shepherd’s Pie recipe for any Americans out there wondering what the fuss is about. This is only a little more complicated than the aforementioned abomination, yet immeasurably superior.

Firstly, forget any nonsense about using beef and (horror of horrors) gravy from a jar, or indeed gravy in any form. Neither have any place in a Shepherd’s Pie. Firstly, use lamb - it’s called Shepherd’s Pie for a reason. Your average shepherd is more likely to have access to lamb than beef, yes? So what do you think they would use in cooking? I thought so. Secondly, use stock instead of gravy.

In order to keep it simple, like the original recipe (which was aimed at beginners), I’ll use convenient ingredients (dried herbs, bouillon cubes, etc) rather than fresh. Obviously the recipe is even better with all fresh ingredients and homemade stock.

You will need the following:

  • 1lb ground lamb
  • 1 1/2 cups lamb or chicken stock
  • 2lb potatoes
  • 1 onion
  • 1 carrot
  • Rosemary
  • Worcestershire sauce

The other recipe required ground beef, canned gravy, and potatoes, so basically the difference is that we use lamb instead of beef, stock instead of gravy, add a carrot and an onion, and bring out the flavour with rosemary (essential to get the best from most lamb dishes) and Worcestershire sauce. I don’t know how easy it is to get the latter in the U.S. but it was referenced as an optional ingredient in the other recipe, so I assume it’s available.

Recipe

So, first of all brown the lamb in 1tbsp olive oil, in a large pan. Make sure to break up any lumps. Whilst it is browning (about 5 minutes or so), finely chop the onion.

When the lamb is browned, transfer it to a bowl using a slotted spoon. Do not discard the pan juices. Instead, lower the heat and add the onions, cooking until soft (about 8-10 minutes). Add a pinch of minced garlic or garlic powder if you like.

Whilst the onions are cooking, finely chop the carrot. If you are using a bouillon cube for the stock, dissolve it in boiling water now. Re-add the lamb to the pan, along with the chopped carrot, the stock, a good pinch of rosemary, and 2tbsp of Worcestershire sauce. Do not omit the last two ingredients - they are essential. I mean it.

If you want to experiment further, you can also try adding a pinch of thyme, 1/2 cup of red wine (only use 1 cup of stock if you do this), and 1tsp tomato puree - but you can get a gobsmackingly tasty result without these ingredients.

Stir well, lower the heat to a simmer, and cover. Simmer for about an hour, stirring occasionally, until the stock has reduced (don’t let it dry out and stick to the pan though). Taste it - it will be phenomenal.

From here, you can more or less follow the other recipe - add the lamb to an oven dish, top with mashed potatoes made however you like them, and sprinkle with cheese (I use grated parmesan since it crisps up nicely, but you can use whatever cheese you like). I also like to add a little paprika and black pepper at this point. Finally, sling it in a preheated oven at 400ºF or 200ºC for half an hour.

Serve with whatever vegetables you like - I tend to go for peas, but if you prefer corn, great. Tuck in and enjoy.

Hopefully, in the same way your first good cup of tea convinced you that the Brits aren’t crazy when it comes to hot beverages, your first good Shepherd’s Pie will convince you that we know a thing or two about good food as well.

Renault Save the Queen

Friday, December 7th, 2007

I don’t tend to go in for flag-waving patriotism a great deal. Whilst I think the armed forces deserve our respect and our thanks, I tend to find The Sun’s “Our Boys” rhetoric twee and jingoistic. Whilst I enjoy watching England play football (and anyone who’s watched them recently will know that’s not a statement to be taken lightly), the sound of Wembley stadium belting out God Save The Queen leaves me cold, and I can normally be found in the kitchen making a cuppa or opening another bottle of Bombardier during the last few minutes before kick-off.

So imagine my surprise when I finally got round to watching this week’s Top Gear last night and found myself with goosebumps at the end of Hammond’s F1 segment, where the Renault engineers hook the car up to a laptop and get the engine to belt out the national anthem.

So, what the hell has to be wrong with someone to be unmoved by 80,000 fans singing, but filled with national pride when a bloody car does it? The engine isn’t even English, it’s French!

Hello World

Wednesday, December 5th, 2007

Woohoo, frist psot. This is my whole-sort-of-general-mishmash blog, in which I will be irregularly posting coding insights, recording handy bits of obscure info I want to be able to easily find in the future, writing the odd essay, musing on literature and mathematics (and occasionally considering how they are linked to programming), riffing on other blog posts, bemoaning the sorry state of the film industry, raving about how great films are, and generally whatever the hell else I feel like doing.