30 Days of Geek #4: Greatest application written to date.

I’ve decided to partake in Jethro Carr’s 30 Days of Geek challenge, so I’ll be writing a post a day on my geekiness for an entire month! You can find all the posts in one spot here.

Unfortunately, since I don’t really consider myself a programmer, and I don’t really do any programming, it’s a bit hard for me to say what my greatest application is. I can however tell you of some of the programming achievements I’ve made in my past.

Way back in high school I started out programming using a programming language called BlitzBasic. Over the couple of years I used this language I wrote a number of games, most of them pretty awful. But two games did go somewhere. The first was a side-scrolling platform game I called RollingBall (the main character was a yellow ball). It’s where I first learned about game physics (albeit very primitively) and about how not to write a program (i.e. GOTO = bad). The second was a top-down RPG game in a similar style to the Pokemon games. Although both of these games suffered from a bad case of programmer artwork, they were pretty fun to play (or my deluded variety of fun, anyway).

The greatest achievement I’ve made though was the moment I finally got an operating system kernel that I had written entirely from scratch working on my home computer. It did nothing more than print ‘H’ in the top-left hand corner of the screen… but that’s all it needed to do. Knowing that the code you’ve written is the only code running on a computer system is a pretty awesome feeling.

30 Days of Geek #3: What does your day job involve?

I’ve decided to partake in Jethro Carr’s 30 Days of Geek challenge, so I’ll be writing a post a day on my geekiness for an entire month! You can find all the posts in one spot here.

I’ll answer this question in two different ways.

My “job” is working as a computer technician for a computer shop based in Hobart, Tasmania. I only work on Saturdays (at the moment, it used to be full-time), so that leaves me quite a bit of the week free for other pursuits. My work involves three main parts:

  • Fixing dead computer hardware. 90% of the time it’s a dead power supply, which is an easy fix, but occasionally there are some amazing problems that just shouldn’t happen. And those are a good fun learning experience.
  • Fixing broken Windows installations. 90% of the time it’s a virus, which is an easy fix, but occasionally there are some amazing problems that just shouldn’t happen. And those are a bastard. Most non-Microsoft application developers are stupid and lazy, it seems.
  • Dealing with customers on the phone. This is both the best and worst part of my job.

I’m fairly lucky with my work, in that I get paid to learn. 🙂

The activity that I spend most of my week doing is system administration. I don’t get paid much for this (not yet, anyway), but I’m continually learning and one day I’m going to have 1337-h4x0r skills (no, really). I have the feeling that system administration is where I will probably end up in my career.

30 Days of Geek #2: Preferred programming language?

I’ve decided to partake in Jethro Carr’s 30 Days of Geek challenge, so I’ll be writing a post a day on my geekiness for an entire month! You can find all the posts in one spot here.

First off, I don’t really consider myself a programmer any more. I do code occasionally, but only when my degree requires it, or I have a pressing need for a tool that Google just won’t divulge.

My favourite programming language is C. It’s got so much power, and yet it’s such a clean language, unlike C++ or other similar languages. I used it a lot in the past for writing operating system kernels, which is what it’s really designed for. It makes me happy when I see some well-formatted, well-commented C code (hint: you won’t find any in the Linux kernel, Linus Torvalds is a Git).

The language I code the most in these days though is the bash shell scripting language. It’s not technically a formal programming language perhaps, but it’s certainly very useful. I’m a system administrator for a number of servers in my spare time, and automating tasks is the best way to stay sane (that’s why we have computers, isn’t it?). I’m not brilliant at bash scripting, and I’m sure if the UNIX wizards of old saw my scripts they’d turn over in their graves, but I can get the job done.

There are a number of other programming languages I like the look of, or the concept of, but I just don’t use them as much. Java is one. I know most geeks reserve a special hatred for Java, but I honestly don’t know why. It’s a nice clean language, and the number of included libraries makes it really easy to knock together applications. Another language I think is pretty neat is Lisp. I almost never use it, and can only do the basics, but it’s just so wonderful and different. And that variety in programming languages is what makes every single one of them so special.

30 Days of Geek #1: Why do you consider yourself a geek?

I’ve decided to partake in Jethro Carr’s 30 Days of Geek challenge, so I’ll be writing a post a day on my geekiness for an entire month! You can find all the posts in one spot here.

I consider myself a geek for a few reasons. Firstly, being a geek is how I spend almost all my time. My day job is as a computer technician (more on this later in the month), and most of my spare time is spent staring into a computer screen of some kind. I am trying to decrease the amount of time spent in front of a computer, because it’s starting to become quite detrimental to my health, but at the moment it’s still quite significant.

Secondly is the fact that I adore gadgets. In the past I’ve been doing the tourist thing around a foreign city, only to interrupt it to go into a department store and check for new geek gadgets. Trawling eBay for old computer junk I find fun. I upgrade my computer in some way every 2 or 3 weeks (even when I’m otherwise broke). It’s a horrible addiction, and I love it.

Thirdly, and most importantly, I consider myself a geek because it allows me to be friends with a set of wonderful people, some of whom I only know through being a geek. I’ve met several people at a computer camp who are just pure awesome, and I consider it a privilege to know them. The people you meet are always the best part of life, and being a geek is no exception.

How to Study

In theory:

  1. Start up laptop.
  2. Make a cup of tea.
  3. Open a textbook.
  4. Read the textbook. Write notes.
  5. Google the **** out of anything that doesn’t make sense.
  6. After an hour or so, go to step 2. After 2 or 3 repetitions, go do something fun for a while.

Note how simple this seems.

In practise:

  1. Start up laptop.
  2. Make a cup of tea.
  3. Open a few textbooks and arrange them neatly on desk.
  4. Check email.
  5. Check Facebook.
  6. Check blog statistics.
  7. Go get another cup of tea, because the last one has gone cold.
  8. Go and sit on the deck for a bit.
  9. Water the garden.
  10. Unload the dishwasher.
  11. Take out the garbage.
  12. Check Facebook again.
  13. Clean bedroom floor.
  14. Go grocery shopping.
  15. Read Hack-a-Day.
  16. Read Wikipedia articles on things like DIN41612 connectors and VMEbus.
  17. Read the VMEbus specification. In full. Get bored.
  18. Go outside and sit in the sun again.
  19. Parents are home, go inside and look busy at your desk for a while.
  20. Write a blog post.
  21. Polish the dress shoes you haven’t worn in years.
  22. Make a catalogue of every single computer part you own.
  23. Consider building a new alarm clock for a while, then decide not to.
  24. Watch a season or two of Daria and/or Coupling.
  25. Watch every Star Wars movie in order to decide which is best.
  26. Purchase and install a new ADSL modem.
  27. Plant some chilli plants.
  28. Plan a holiday. Spend an annoyingly large sum of money on airfares.
  29. Realise the first exam is only a day away now.
  30. Study.