Archive for the ‘Uncategorized’ Category

Bash History Spelunking

Monday, April 14th, 2008

Learned from Weiqi, who learned from KageSenshi, about a Fedora Planet shell history meme - post the results of running the following command on your linux box:

history | awk {a[$2]++ } END{for(i in a){print a[i] ” ” i}}‘|sort
-rn|head

I won’t bother repeating the inevitable warning about the dangers of executing random shell scripts you find on the Internet, because I’m lazy and mean. Anyway, here’s the results from my webhosting box:

231 ll
171 vim
132 cd
50 screen
43 cat
39 tail
34 ls
34 cls
32 exit
31 wget

‘ll’ is an alias for ‘ls -l’, and ‘cls’ an alias for ‘clear’. No real surprises otherwise - I use vim for development over ssh, I tail my logs occasionally, and live in GNU Screen.

Here’s the output from my home box:

254 ll
181 cd
148 sudo
123 rm
123 ffmpeg
86 screen
83 ls
75 cls
72 vim
60 find

Quite similar actually, guess I’m set in my ways. The ffmpeg count is a bit of an anomaly, since I used it a lot recently to re-encode a bunch of Futurama rips for my mobile.

Not sure what to do with this remarkable intel, however. Perhaps I’ll use the data to generate an Identicon and use it as a favicon? Or, perhaps not.

Evil = Important. Apparently.

Tuesday, April 8th, 2008

OK, I know I shouldn’t even acknowledge spam blogs, but this one amused me. Some filthy credit-crunch link bait site took an extract from my previous post (this is obviously what happens when you say the phrase ‘credit card’ … oops) and ran it though an automated word substitution program. The result is fascinating. It turned this:

… you buy something from Amazon, you are protected by the fact that evil black-hats can’t find the prime factors of your encryption key fast enough to steal your credit card number (OK, bit of a generalisation, but that’s the gist). …

into this:

… you take something from Amazon, you are secure by the fact that important black-hats can’t connexion the matureness factors of your writing key alacritous adequacy to advise your assign calculate sort (OK, discernment of a generalisation, but that’s the gist). …

Let’s review the highlights. ‘Buy’ replaced with ‘take’, ‘evil’ replaced with ‘important’, ’steal’ replaced with ‘advise’? Someone’s book of synonyms is bound in human hide with a skull on the front.

Arthur C. Clarke, 16/12/1917 - 18/03/2008: Indistinguishable From Magic

Tuesday, March 18th, 2008

Sad news - the legendary Arthur C. Clarke has died. He’ll be greatly missed; Clarke novels occupy a full shelf of my floor-to-ceiling bookcase, and Rendezvous With Rama stands proud as the finest sci-fi it has ever been my pleasure to read.

Aside from his very visible mastery of sci-fi, however, there is much to remember Clarke for. He is responsible for popularising the concept of geostationary orbit, which is very important for practical global telecommunications. When you watch the Olympics on TV this summer, you can thank Clarke for the fact that you haven’t had to go to China to see it.

Perhaps best of all, though, is his now-infamous Third Law:

Any sufficiently advanced technology is indistinguishable from magic.

Clarke’s Third Law has been quoted, referenced, and paraphrased copiously since he coined it, and it is almost axiomatic for many technologists. As a software engineer, I get a wry enjoyment from Gehm’s Corollary, i.e. “any technology distinguishable from magic is insufficiently advanced” - a sobering thought when confidently hacking away on the next big thing!

If your users don’t think your software is magic, then you have room for improvement. I believe Clarke would have approved of that sentiment. R.I.P.

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.