Monthly Archives: November 2010

30 Days of Geek: 04 – Greatest application written to date.

When Jethro proposed this topic, he was probably thinking of computer programs. I’m going left-field. My greatest application to date was my application to become an intern at Google.

I applied for my internship in July of 2009, and heard nothing back from them until late October; I finally got accepted in late November, just a week out from when I was due to start. Despite the difficulties involved with moving away from home, to a completely different state at two week’s notice, the experience of living in Sydney and working daily with some of the most brilliant and driven geeks I’ve ever met was one that’s affected me greatly.

Being an intern at Google taught me a lot of things. Firstly it gave me exposure to being a part of a larger team of developers — there’s a very strong culture of discussion and peer review within that company, and learning to both get my own code reviewed, and justify decisions I’d made to people who are smarter than me was quite an important learning experience. Secondly I got an opportunity to learn how coding works in a large distributed environment such as Google’s. Neither of those experiences I’d have had elsewhere, and it’s definitely put me in better stead.

Getting an opportunity to learn and apply programming techniques to an interesting problem, and getting to meet all manner of interesting people was a fantastic experience. And I wouldn’t gave got there if it weren’t for making an application.

30 Days of Geek: 03 – What does your day job involve?

I have three things that I usually do with my day-to-day life:

First up, I’m an eternal student (or at least, I usually am). Unusually, this semester’s been spent not studying anything for the first time in most of my life; though I intend to take up a Ph.D. candidature from next year. I’ll probably be studying in the field of machine learning, since that’s what my Honours thesis focused on, and I seem to enjoy it somewhat.

Other than that, I’m an itinerant tutor at the University of Tasmania. I taught computer graphics programming (OpenGL et all) this semester, and machine learning the semester before that. I love having the opportunity to help people learn how to do things, and it’s great fun trying to convey some of my own knowledge to people who want to receive it. On the other hand, I hate having to deal with people who either don’t have the skill set to be taking the units which I teach, or people who don’t want to learn — marking assignments from people who don’t have a clue, or otherwise don’t care is a nightmare.

I also accept short-term contract coding whenever I can be bothered. The most unusual thing I’ve done in that respect is implementing a piece of installation art for a roller derby match. That was bizarre 🙂

This invariably changes, depending on what work I can be bothered doing at the time, so what I’ve said now probably won’t be the case in six months time.

30 Days of Geek: 02 – Preferred programming language?

Python. Need you have asked?

I use Python because it’s expressive, contains enough functionality out of the box to solve most substantial coding problems I have quickly; for everything else, there’s a fantastic array of libraries and frameworks for doing everything from image manipulation to statistical analysis. As a researcher, Python is an invaluable tool, and that’s why I use it.

30 Days of Geek: 01 – Why do you consider yourself a geek?

Right, so for those of you who missed my announcement a couple of weeks ago, I’m taking part in the 30 Days of Geek blogging challenge throughout November. This is the first of those posts.

So this first of those posts. So, why do I consider myself a geek? I could list any number of stereotypical character traits, which I do see quite obviously in myself, but instead I’m going to go with just the one which sums up the most important issues nicely: Unhealthy obsession.

Let me explain. As I see it, the most important path to geekery is having a knowledge and understanding of a topic that exceeds that of other people you know. It tends to help if there is more than one such topic of which one has such a mastery.

I’ll start with the obvious first topic: I have an unhealthy obsession with computers. I learnt to program for the first time when I was 11 (MS QuickBasic 4.5 if I recall correctly) and I had a fascination for playing with settings on my family’s first Win98 machine (which resulted in doing a format/restore three times in the first six months of its ownership). Such tinkering left me in good stead for learning Linux a few years later: on the machine I had at the time, getting anything to work at all required hours browsing forums to find people with similar problems. Further to that, I could take the knowledge of how to solve these sorts of problems in Linux and apply them to new situations, frequently in an unrelated area of my system. I don’t think I’d have got anywhere near as far as I did without the unhealthy obsession with Linux I had at the time — this enabled me to spend weeks (when I had schoolwork to go on with) with a not-entirely-working computer, but fixing its problems.

So that’s probably the answer you expected to see. But it’s not just being good with computers that makes me a geek. This unhealthy obsession applies in other areas of interest. For example, I’m a keen follower of the Formula 1 motor racing series [1]. Whilst other people are content with just watching the races as they pop around, I spend ages learning the details which apply to each race — if I’ve a game where I can drive around a circuit to learn its layout I’ll do so. I’ll read Wikipedia so I can find out why people frequently crash at a given point on a track; and then I can relate the knowledge I’ve learnt from reading and gaming to the commentary of the race — which in turn feeds into a greater understanding of the race, which feeds into further learning about the event. Without the unhealthy obsession which comes with being a geek, I doubt I’d have the same level of interest (nor enjoyment) that I have.

So there, two examples of applied geekery, and how they relate to the my preferred reason for being a geek.

Up next, more in-depth questions. If I remember.

[1] Shock horror! I follow sports! Sorry if you think this disqualifies me.