Software development isn't my primary interest in life, but it's my primary occupation and something I am pretty good at.

I try to be a polymath: I like to think (even though I know I'm not actually that great) that I know less about most things than an expert in that topic, but that I understand just about everything more than the average person.

I am a very strange person, so my favorite programming languages are C and Bourne shell. I also find assembly enjoyable, and often find myself wishing that C was more of "abstract, portable assembly" than it is. But I know my way around a bunch of other programming languages, just as you'd expect from a remotely decent programmer.

In a perfect world I'd also write a C-like programming language one day which provided good syntactical support for late-time linking, self-modification, etc (where the compiler would do its best to optimize for the target machine's instruction caching behavior, etc). I think this could be especially powerful for kernel-level optimizations (e.g. a kernel could dynamically generate just the pieces of its file handling code relevant for the usecase a process has in that moment, chopping out the unneeded logic - I'm sure smarter people than me with more kernel development experience could think of more, better examples), but presently, such code has to be written in architecture-specific assembly, which keeps it from being viable.

I put my code that I think is useful for others onto my personal GitHub repository, even when it's something really tiny and simple. I also try my best to avoid the tendency a lot of people have of saying "I'll put my code up when it's cleaned up", which in my experience is a great way to end up never getting around to putting your code up for others, so I err on the side of open sourcing kludge-y/bad code first, regardless of when I get around to cleaning it up.

I am also the kind of person who, after writing this, thinks: "I really should put this text on GitHub so I have one version controlled place for it where I can link people to."