Monthly Archives: October 2012

The joys of programming

And six months later down the road, what has all my furious tapping at keyboards got me? I’ll get to that in a sec. First I want to tell you about my unhealthy desire to code things as good as I can – and even worse, re-invent other peoples wheels if I don’t think they’re round enough.

It always starts out reasonably enough. LCDHost needs some kind of repository to maintain metadata about itself, plugins, layouts, et cetera. Which in turns affects the software packaging. Which means I need to address security issues, both in the packaging and repositories. Ok, so far, not so bad. Except every wheel I look at has the wrong kind of spokes, or is too big, or not wide enough.

Then the insanity starts. You see, to have any sort of security, you have to design with it in mind from the start – and not many products are. Also if you want performance – design for it. As opposed to coding for it – that’s called optimization and is nowadays usually a waste of time. And above all else, stability and reliability.

I find plenty of solutions that are good enough. But my ego (he’s the giggling imp on my back, the one with red eyes rolling in random directions) won’t let me use them if I think I can do it substantially better. Which means I…

  • Learn to use Python since awk doesn’t cut it and Perl is not my style.
  • Hack up lbssh to let me launch my local editor to edit server-side docs (no more nano).
  • Got fed up with Pythons argparse and write my own self-documenting CLI package.
  • Write another chroot maintenance tool as I find existing ones lacking.
  • Learn the details of a lot of boring stuff, like upstart and IPv6 and what the blërgh else.
  • Evaluate existing PHP frameworks, contribute some bug fixes to them, and then start on my own. Of course.

I’m quite sure I left out more than half in that list, but it gives you the general idea. These tendencies of mine are good for software quality, but a supermassive black hole to time management. I hope to be recovering from obsessive recursive dependency coding soon.

Thank [this space intentionally left blank] for that.