Archive for January, 2008

“Smart and Gets Things Done”?

Tuesday, January 29th, 2008

I work for a big games company as a senior programmer, and I’m a regular on the interview loop. While I’d love to hire candidates who are smart and get things done, the reality of the situation is that more often than not I also have to hire candidates with experience. They have to be smart, they have to get things done, and they also have to be effective within a week of their start date when they get thrown into a big C++ game codebase. Perhaps one could argue that for sufficient values of “smart and gets things done” this is already covered. All I know is that I’d love to walk into an interview and meet a candidate who:

  • Can whizz through a simple coding question like “remove spaces from this string”.
  • Can equally whizz through a simple high school applied maths problem.
  • Can clearly and concisely explain what virtual functions are and how they work, the mechanics of constructors and destructors, or the compile and link process.
  • Knows linear algebra such that they can explain dot and cross products, how to construct a camera matrix, or how to compute a vector reflection off a plane.
  • Has a working knowledge of lists, trees and hash tables, and can explain why certain algorithms are O(1), O(log n), O(n), O(n log n) etc.

It’s amazing how many interviewees stumble over this stuff. It’s pretty fundamental to game programming. I would love to see a candidate who breezed through this so we could get to the interesting interview questions. All too often, just three or four of these simple questions take the whole hour.

Recent Readings

Sunday, January 27th, 2008
  • Making Money by Terry Pratchett. (I seem to have missed Thud!)
  • Old Man’s War by John Scalzi. Heinlein-esque SF that I first heard about at last year’s LA Times Festival of Books.

Both quick reads – I finished each one in less than 2 days.

Backup Solution, Evolved

Sunday, January 27th, 2008

At the end of November, I invested in a NAS box with 500GB of RAID 1 space. This weekend I finally got around to another thing on my todo list: updating the firmware of said box and doing some spelunking. Using a marvellous thing called fun-plug, I now have some real Linux power on the DNS-323.

It was easy to install, and by default get telnet access to the box. Once in, I set up a non-root user and enabled the Dropbear ssh daemon. Since I already had a public RSA key generated on my client box (for ssh access to Dreamhost), all I had to do was copy it to the box as ~/.ssh/authorized_keys – and this gave me ssh access without asking for a password every time.

The next thing to do was get rsync working. Fun-plug includes rsync, a script to start it in daemon mode, and a sample rsyncd.conf file. After a bit of reading manpages and online tutorials, I was set, and rsync is currently doing its thing vis-à-vis my home directory. I’ve written some rsync scripts to back up various parts of my system, and I’ll put it all on cron jobs of course. It’s much better than my previous stopgap solution of manual copying. When you have huge directories of stuff that change/grow frequently (e.g. my “pictures” directory) manual copying is really a poor substitute for diffing and updating only what’s needed.

Also, following up from November’s post, I have a 500GB drive in a eSATA/USB enclosure currently sitting safely in my desk drawer at work.

Journey to Bed

Friday, January 18th, 2008

The house is quiet, completely dark
Except for one defiant spark
Which rails against the night’s embrace:
The screen illuminates my face.

The hour is late; my head is tired.
The stimulants which kept me wired
Have long since faded. Now instead
I think of turning in to bed.

I kill the light. My eyes protest
This sudden, unexpected test.
I scarcely need them; in my brain
The layout of my house is plain.

The corridor is to the right:
A gauntlet I must run each night
Where every floorboard’s heartless gaze
Surveys my pathway through his maze.

Each sentry waits to shout my name
If I should fail this nightly game
But I have played at this before:
I deftly pass and gain the door.

The danger here is not yet past;
I must negotiate the last.
The final task that lies ahead:
To reach the far side of the bed.

My presence somehow more than sound
Is now my enemy. Around
The bed I glide with silent speed
Before the sleeper pays me heed.

I shed my clothes, enter the warm
Beside my spouse’s sleeping form.
The steady breathing lets me know
That sleep is still the status quo.

So I relax and, slightly curled,
Let Morpheus take me from the world.
My thoughts ease their frenetic rate
And gently disassociate.

A few trip pics

Monday, January 14th, 2008

Roadside Saguaros


Crescent Moon, Desert Sunset

Rock n Roll Marathon & 1/2

Sunday, January 13th, 2008

Mini-Elbeno & I are sitting at an Einstein Bros Bagels at about the 26 mile mark of the Rock & Roll Marathon. Mrs Elbeno (doing the 1/2) has gone through 5K in 29:32 according to the live tracking.

Free digital camera

Monday, January 7th, 2008

As I was leaving work today, my manager was chucking out a load of things that we didn’t want any more or didn’t have room for. I took a brief look through the stuff that was destined for the rubbish, and snagged a Nikon Coolpix 2500 with 4 batteries, charger and carrying case. Not bad! All I had to do was stick a CF card in it, and it’s perfectly serviceable.

French songs on the brain

Monday, January 7th, 2008

Mini-Elbeno is taking weekly French classes, and has a CD of French children’s songs, which we have been listening to for the past several weeks. I now know almost all of them and find myself humming them through the day. Some of them have catchy tunes…

In addition to the well-known ISO standard skylark with all its pluckable parts*, there are also several others. Being children’s songs, they contain a hefty dose of nonsense (or at least non sequitur) and not a little violence:

  • A green mouse (une souris verte, qui courait dans l’herbe…).
  • Something like the French version of the okey cokey (je fais un pas en avant etc).
  • A sort of French version of “one of these things is not like the other” (pomme, peche, poire, abricot, il y en a une de trop).
  • Pomme de reinette et pomme d’api which contains the scary warning cachez un poing derrière votre dos ou vous aurez un coup de marteau!
  • Fish being eaten by steadily bigger sea creatures culminating in grosse baleine.
  • A pizza being made, delivered, then dropped on the ground.
  • Something I haven’t completely deciphered yet concerning a peanut, a paper house, and the end of someone’s nose breaking off, flying away, and being retrieved by a jet plane. Seriously.

*Mini-Elbeno loves this one because, of course, of the body parts that we indicate to go with the song. This particular alouette has une tête, un bec (although I’m not sure how one would pluck that), deux ailes, un ventre and un dos but curiously no queue.

Soup up your Powershot

Saturday, January 5th, 2008

If you have a Canon Powershot series camera (hi Dad!), you must give this a go. The power of the Internet brings you the CHDK firmware: third party firmware that unlocks so many useful features!

Start out by checking which firmware version you already have.

Then grab the current king of the hill firmware, the Allbest variant, in the right flavour for your camera model and firmware version. Put it on the root of your memory card and away you go!

RAW support, real time histograms, under/overexposed area flagging, exposure bracketing in continuous mode for easy HDR shots – and much more besides. What are you waiting for? Give your compact camera some features that rival a prosumer SLR.

You never forget a good teacher: part 2

Friday, January 4th, 2008

I got a reply from my former teacher! It really gladdened me to get home on a Friday evening, in the dark, with the rain sheeting as Pacific storms are wont to do, and find a letter postmarked “Exeter & Devon” and addressed to me in familiar, tiny, reverse-side-of-the-fountain-pen-nib scrawl.

I’m feeling all warm inside now with good memories and the joy of a friendship and correspondence rekindled. And in the kind of coincidence that the universe seems to throw ones way remarkably often, he related to me that just before Xmas he’d been at a party where he met a contemporary and friend of mine of old, and had asked after me.