I've started to type this biggish draft, and got stuck. I've been writing too much lately, that's why it happened. A tech writer has just send back the polished version of a spec I wrote in a wiki, so I didn't know how many pages it was. Now I know. 221 pages. "This page was intentionally left blank 'cause we want a cool page count". How did I write all this?
A friend of mine once advised a friend of his thusly: "You ought to study CS basics. Go programming without it, and instead of a programmer, you'll become a lame sort of writer". He referred to the would-be coding as "writing"; he's all like that. No boundary between brains and machines whatsoever in his mind. Coding, writing, same shit. His basic measurement unit, applied to all natural phenomena, is the stupidity. Any behavior of a system is a special sort of stupidity. "No, that function doesn't find the right data; it finds its own stupidity". People are stupid. Programs are stupid. Stupidities interact. The world is one big collision of stupidities. Wits are a special quality of stupidity (probably when it's isomorphic to some part of external reality). And so on.
At least in his example, the "writer" would be writing code at work. I haven't done anything interesting in the last, let me see... 2 years?! Shit! I've done coding, but always some kind of a no-brainer. Lots of debugging, that's pretty creative when the bug itself is creative enough, but it's not the same. Getting from -N to 0 isn't nearly as interesting as getting from 0 to N, Net Company Productivity aside. What did I code? Glue code, basically. Test code. Mildly interesting smaller parts of things. Mildly interesting small programs for shoveling through data. And what else? Talking, writing, "managing", "advising". What about The Real Thing? When you ride this wave and a Something emerges? The last time that happened was, ahem, 2005, part 2006. And this is 2008. Not good.
You see, I had several ideas during that period, but other people got to implement them or those ideas died or went comatose. Because I was doing all this important crap. I was working on something too large for just myself, and other people joined, and I figured I'll do all the no-brainer crap, because who wants to join if they get the crap? The other option is to find victims to do the crappy parts and go for the cool parts. This way, you spend your time doing better kind of work, but the net result sucks, because the victim will feel like a victim and it always shows. I can sense pain in code. A certain kind of the copy-and-paste syndrome is the direct result of the feeling that you don't own something, but are responsible for its problems, and you hate it and are awfully afraid to touch it. "God, why am I doing this?", scream the shadows of the many authors of a huge function with layers piling up for years. So I went right for the crap, sacrificing myself for the sake of the inanimate Big Thing we were all making.
But it's over! That Big Thing is over. Almost. Time to actually do something.
At home, I'd rather code than blog, too. It's just tricky. I hate software. To be passable, software is polished to death. I like code, but doing something releasable at home... And doing something throwaway sounds like a waste of time. I'm looking for something to do, but it's tricky. I recently decided to port valgrind to Windows. The people on the developers mailing list patiently explained that nobody wanted that except me (if you want to instrument Windows binaries, you run wine under valgrind on Linux), and that I was in general out of my mind, 'cause that port would be damn hard. I admire people who released notable home-made software. Maybe they're just way faster than me, maybe more determined, but it's something to admire either way. I don't know what to do in that department at the moment.
So in the meanwhile, I'll be switching from Generalized Writing to coding at work, and at home, I'll keep blogging. Wank wank wank!