30 Days of Geek #6: Primary geek fuel (snacks/drinks)

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.

My ‘normal’ geek food:

The food and drink I consume in the course of my daily life is much like any normal, healthy adult. I drink tea:

A cup of tea in my NCSS mug!
A cup of tea in my NCSS mug!

The food I eat is whatever happens to be around. I eat quite a few peanut butter and jam (and sometimes brown sugar and sultanas as well) sandwiches. These are good energy food. In another life I probably would have been a pastry chef, so I make quite a lot of these biscuits and other cakes:

Peanut Butter biscuits on a cooling tray.
Peanut Butter & Choc-chip Biscuits

I also eat fruit, but nowhere near as much as I should.

My ‘I need to be awake’ geek food:

When the going gets tough, I get out my twin food addictions: Coca-Cola and chocolate. Specifically, 600mL bottles of Coke and packs of Nestle Crunch that I buy in vending machines at university:

Nestle Crunch (Flickr: wizetux)
Nestle Crunch (Flickr: wizetux)

30 Days of Geek #5: Quick nifty hacks you’re proud of.

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.

Today’s post is in a very similar vein to yesterday’s post, so I’ll keep it short and sweet:

  • The very short C program that I wrote to remove all the spaces out of one of my teacher’s spreadsheets and turn them into tabs. I think I probably saved her hours of tedium.
  • The script I wrote that stored all my Microsoft product keys within itself. The bash script would accept a search pattern for a product name, and spit out a product key. Much easier than going looking for a physical box.
  • The numerous abuses of iproute2 I’ve made in the last few months, in the quest to make computer networking make sense. My favourite networking hack is this one (in /etc/network/interfaces):

    iface lo:0 inet static
    address 172.24.16.1
    netmask 255.255.255.255

    What it does is add in a second loopback address, not within the 127.0.0.0/8 block. Not original perhaps, but very useful for BGP routing.

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.