Just for Fun
One of the things that we should never forget in the midst of all of the “hard work” to be done on any project, regardless of if it’s FOSS or if we’re doing it for a living, is to have fun. It’s easy to get so wrapped up in whatever we’re working on that we forget why most of us got started doing this in the first place. You should enjoy the work, or find something else to do with your time. There’s nothing more depressing than a programmer who doesn’t enjoy programming.
Now, I’m not saying that there isn’t time for work. There are times to take the work seriously, but never take yourself too seriously. I do think that you should certainly get outside and enjoy the outdoors, but on the days where there’s nothing better to do, start a little project that serves no purpose and is just fun to work on. These little projects come in all shapes and sizes, but the primary purpose should be that you enjoy working on it. It doesn’t matter if anyone else will ever want to use it. Just enjoy the work.
Some of the best ideas come from little projects like this. While you’re enjoying something as simple as writing a little script to do something useful, you may come up with a better way to do something that you’ll need in the future. One of the other fun games that I like to play is the “optimize for performance” game. It’s where you take something that already works, and treat it like the guys with the little Honda Civics do…make it faster.
A while back, at the BBQ, we were going back and forth with trying to minimize RAM usage. This got to the point that people were going way beyond what should be considered normal, but it was all in good fun. Sub 15MB systems running xserver and a window manager is not the kind of thing that most people would bother with, but it was simply a game for those of us playing with it. I spent days working on trying to get the most out of a kernel build, which turned out to be one of the least significant changes that was made. Still, I learned a great deal about resource management.
A few months later, I got a project to get an old thin-client (with 64MB of onboard RAM to be used as a download station across serial) to run an OS that people without Unix experience could launch, operate, etc. It turns out that all of the things that we had spent so much time just playing with paid off towards quickly completing a project.
Have projects that are fun, and don’t stress about them, but never fail to use those moments to remind yourself why you started whatever it is that you do. Sometimes, you’ll rekindle a fire that has long since began to smolder.