Programming
They say that “writers write,” meaning that, if you’re a writer, it’s not something you have to work at; it’s just something you’ll find yourself doing. It’s what comes naturally, though it needs to be developed. I think it’s the same for programming. Programmers program. You know you’re a programmer because that’s what you find yourself doing.
I’ve had several people over the years ask me how to learn to program. I always tell them the same thing. Find a need you have that can be solved with software, and just do it. You cannot learn to program without a goal in mind. There are just too many different paths to follow, and too many intertwined technologies to learn. You must keep driving towards a particular functionality to force yourself to learn the deeper areas involved with any programming language or environment. If you don’t stay on point, you’ll give up too easily.
For instance, did I need to “program” this web site in order to put my picture on the internet? Of course not. Anyone with a web browser can make a web site. Just jump on Facebook or MySpace. But I coded this up because this is my hobby. It’s what I do for fun. Along the way, I’ve learned to program in PHP and Rails, learned to use Apache, MySQL, and PostreSQL, learned HTML (something, at one point, I said I’d never do) and CSS, and even learned about DOM and some Javascript.
So this is where I want to throw up some hacks I’ve made over the years, just for the fun of it, and in the hopes that someone will stumble across them and find them useful.
- Debugging Quake II (Not really programming, but related to it, and nifty)
- Using the `for’ command on NT (yes, it exists!)
- Polling a Quake III server’s status
- Graphing Linux server performance metrics