"Hello, my name is Diana, and I am a GEEK!"
To be called a geek used to be an insult, a term of abuse
along with "nerd", "swot", "four-eyes" and other such
charming childish epithets, which was hurled in the playground
by the insecure, "in" crowd at anyone who happened to be slightly
different, bookish, indifferent of popularity contests, or otherwise
unlikely to ever become one of them.
These days, the geeks are having their revenge. Rich and
successful geeks are everywhere, or at least they appear to be.
There is even a Geek Pride
Festival, a celebration of all things geek.
But amidst all this reclaiming of terminology, and proudly
boasting Bill Gates as the World's Most Famous Geek, have we lost
sight of what geeks really are ? Surely we should be looking to
people like Richard Stallman as the real geeks, rather
than one of the world's richest men ? Geeks do not crave popularity;
in many cases they do not wish for it. They are passionate and
unbudging over matters of ideology that most of the rest of the world
care not one iota about. I may not be anything like as "pure" a
geek as Richard Stallman, but when the chips are down I stand firmly
on his side of the fence.
So what form does my geekiness take ? Well, I like computers.
I like messing around with them, tinkering with them, using them,
writing code for them. I depart from many geeks in that I am not
a CLI (command line interface) purist, although vi and trn are
my editor and newsreader of choice. A well-designed GUI (graphical
user interface) can be very sexy. I meddle with
GUI programming myself, and you
can read my thoughts on GUI toolkits to use, and find some links to
guides on good (and bad) ways of designing user interfaces. (Note:
I'm not necessarily saying my GUIs are any good, just that I've tried
to make them reasonably intuitive.
I'm also pretty opinionated about the
languages that I choose to
program in. I've tried a fair few over the years, and for the
moment it's safe to say that I'm happiest programming in C++. I
know that a lot of people hate C++, but I don't find it to
be the screaming nightmare that many people do, and its way of
doing things seems the closest match to my way of thinking. I
wonder what that says about me as a person ?
And so on to operating systems.
The only operating system I'm prepared to entertain the thought of in
my home is Unix. Specifically Linux. Specifically
Debian GNU/Linux. I'll use
other Unices in the lab, but I prefer Linux. Hey, you can't teach
an old dog new tricks, and I've been using Debian since version
0.93R6. I do not use Windows, even though most of the
computer games I want to play I could only get under Windows. I
may renege on this at some point, but the computer game I most
want to replay ran on the Beeb anyway, so until I've got a working
Beeb emulator, and have finished that game, I'm not desperate.
If it should happen that a client (specifically, in this case,
the company who invented the material I am doing my
PhD on) can only run software
under Windows, I will cross-compile it using the
mingw32
compiler under Linux, and then test the binaries under Windows on
another computer. Yes, this makes life a bit awkward, but it's
worth it to me.
If you're interested in the programs I've written, you might
want to have a mosey around my
codebox. There are descriptions here of the programs that
I've either finished or nearly finished, as well as screenshots
of these. There are also descriptions of "works in progress"
and pie-in-the-sky projects that I might write one day when I
get around to it. You won't find any binaries or sourcecode here
at the moment -- most of the programs are very specific one-offs
to solve one particular task, and so wouldn't be of any interest
to people outside a very select and specialised community. If
I'm wrong, drop me a line, and I'll think about whether to
release them. Some of the "works in progress" will hopefully
eventually be released, either under the GPL or under the
wxWindows license.