Home
Archives
About us...
Advertising
Contacts
Site Map
 

ruby in steel

 

Visit the Bytegeist Archives...

bitwise technical editor Dermot Hogan has managed and developed global risk management systems for several major international banks and financial institutions; he is currently developing a Visual Studio Ruby programming environment.

In this month's Bytegeist, Dermot considers the The Cult Of The Hacker - and says he'll have none of it!

 

CALL ME A HACKER ...?
...By Heavens, Sir! You'll be hearing from my lawyer.

"A hacker is an ill-trained coding dilettante, an amateur - and someone to be avoided at all costs..."

Are you a hacker? If you are - and you admit to it - I venture to suggest that you and I may have some irreconcilable differences of opinion.

To me, to be called a 'hacker' is an insult, somewhat near to those insults which are bandied about in the Australian parliament from time to time: "the Honorable Member makes a dingo's droppings look tasty"... that sort of thing. Incidentally, for the full, unexpurgated version of Aussie political insults I suggest you study the choice quotations of the former Australian Prime Minister, Paul Keating. Unfortunately, in a family magazine like Bitwise most of Mr Keating's finest have to remain hidden. But to give you a flavour, here's one of the printable ones: "I was implying that the Honorable Member for Wentworth was like a lizard on a rock - alive, but looking dead."

Anyway, back to hacking...

To some, hacking is a good thing, a noble enterprise engaged in by honest souls working for the benefit of mankind. Having spent a good few years repairing the depredations of corporate hackers, I have a different view. It's reinforced by the things you come across on the Internet. At least corporate hackers keep their ill thought-out changes well hidden. But, public or private, to me a hacker is an ill-trained coding dilettante, an amateur - and someone to be avoided at all costs.

To prove my point, you really just have to look at almost any open source project. These tend to fall into three types:

  1. There's the vastly ambitious (and insane) ones: rewriting the whole of Java Swing in Lisp, say. These end up dead after the initial enthusiasm of the initiator has faded - or he's been carted off to a mental institution. There are thousands of these - just look in SourceForge.
  2. Then there are the projects written in commonly used languages - like PHP - to which any illiterate programmer seems to think that he or she is entitled to contribute. There are many, many 'hacks' contributed to these kinds of projects, each 'hack' seemingly fixing a problem caused by another 'hack'.
  3. Finally, there are the tightly controlled projects - like Linux or MySQL. Hackers just aren't allowed anywhere near the core of these systems. They are coded by professionals who are paid for their efforts (who do you think pays Mr Torvalds' salary?) These are the projects that work.
On The Other Hand...
For a more Utopian view of hacking see: 'How To Become A Hacker'
"Hackers solve problems and build things, and they believe in freedom and voluntary mutual help... Hackers are naturally anti-authoritarian. Anyone who can give you orders can stop you from solving whatever problem you're being fascinated by - and, given the way authoritarian minds work, will generally find some appallingly stupid reason to do so. So the authoritarian attitude has to be fought wherever you find it, lest it smother you and other hackers."

There's also another class of open source project, normally done by academics. These really are free - no GNU-like licences here. Two of my favourites are TeX by Donald Knuth and Antlr by Terrence Parr. These projects really are extraordinarily good and they are so because they have a single directing intellect behind them: no committees or well-meaning 'hackers' around.

This 'cult of the hacker' seems to have arisen in the last few years from two factors: first, the availability of high powered, cheap computers. It's easy to sit down at a computer, with a good IDE, and write code. The problem is that you tend to miss out on an essential part of the process here. It's called design.

The second source of hackerism seems to be college computer science courses. Now I'm sure there are good computer science courses and bad ones. But I know that when I was recruiting programmers, the last people I would recruit were computer science graduates. I nearly always went for mathematicians, engineers and physicists first (oddly enough, I never came across a chemist who wanted to be a programmer: probably too busy manufacturing illegal drugs). I didn't consciously adopt this recruitment policy. It's just that the brightest people weren't those who did computer science. I generally (but not always) found it better to hire brains rather than experience; you can train bright people, but getting the less able to do what you need is more difficult. I'd hire an expert when needed, of course - you don't pick up the required knowledge of how to tune a big relational database overnight; it takes years of practical experience.

I don't know whether this is still the case with computer science graduates - it's a long time since I was in that sort of business - but I suspect that it is still so. I was trained as a physicist, but it was only many years later, after I had left college, that I realised that the awesomely bright people who tried to teach me weren't so much teaching me physics; they were teaching me a way of thinking about the world. This method of analysis is now something I use continually but I didn't realise at the time that I was even being taught it. Being young and naive, I thought that electrodynamics was the important thing: it wasn't - the way of thinking about electrodynamics was the nugget of gold. I've never once used Maxwell's equations in my working life. But I have used that way of thinking continually. I can't tell you what that way it is - but I can recognise it in others.

You can see this in Microsoft's famous (infamous?) recruitment tests. These are aimed at trying to detect the best people out of the many thousands that apply to the Evil Empire. Some of the questions are whacky, some are tricky. I don't know how effective they are, either. But Microsoft are trying (along with Google, Apple and, I would guess, IBM, though why anyone with a spark of independent thought would want to join Big Blue beats me) to get the best engineers from a horde of undifferentiated computer science graduates. One thing I would bet on - saying that you've contributed a 'hack' to some PHP project won't get you very far. And neither will a working knowledge of sorting algorithms obtained from a computer science degree.

Incidentally, I don't think I'd pass Microsoft's tests - but, hey, you can now buy books on how to pass them! I've also had enough of working for large corporations - they have ways of screwing things up you wouldn't believe. But if anyone calls me a 'hacker', they'll hear from my lawyers...

May 2006

 

Bytegeist Archives

 


Home | Archives | Contacts

Copyright © 2006 Dark Neon Ltd. :: not to be reproduced without permission