So yesterday I published an article about a markdown extension I'm fooling with.
I mentionned how tedious tidying things up was, and I was honestly getting sick of the whole thing.
Coding is solving problem after problem. About half of those problems turn out to be pretty fun.1 Some of them might drive you crazy for a while, but the feeling you get when you finally get it makes you look back on the whole ordeal with a sense of understanding and accomplishment that I truly enjoy.
The other half consist of tedious and annoying crap you don't care about mixed with random things that break because everything is a mess and computers are so dumb.
What I'm getting at is that there's a point when you should just stop for the day if you don't want to turn postal.
I didn't though. The thing was so close to done, and I feared letting it get out of my head. If I stop now, I'll have forgotten half of what I still have to do by tomorow and finishing this will be even more of a pain, I thought.
So I pushed through. Publishing a first, half decent draft on github and writing an article about it would feel like a milestone, and would allow me to move on to something else, clear my mind, while still feeling like I had done something of the last few days.
As I got started on the article, I had to deal with a whole new bunch of tedious little things. Looking for images, resizing / compressing them, getting the source for various links, proofreading... Nothing too bad, but I was already fried for the day, and I was getting more and more pissed as I took care of them.
And then as I was almost done, I tried to add a title to one of the generated images, thinking it should just work. It didn't, and the whole thing broke down.
I took a quick glance at the code and saw that I wasn't gonna be able to fix it right away, so I changed my plans and pushed the whole thing out, and immediatly went out for a couple of pints.
Woke up this morning and after getting annoyed at Microsoft2, I took a quick look at what was broken, and saw what was causing the problem. No idea about how to fix it, though. I had some things to do that morning, so I went out and did them.
When I got back home I looked at the code again, re-read some docs and realized I had misunderstood a concept from the markdown library and used the wrong tool for what I wanted to do. I dreaded refactoring the whole thing, but got started tweaking a few things to see what would happen.
A couple of hours later it was all done. The test suite that was driving me insane the day before caught every little error I forgot to check. The new structure was simpler and cleaner, which allowed me to spot things I could further simplify, so I did that.
I tried the title thing I wanted to do on the previous article. It worked seamlessly.
That milestone thing I described above wasn't necessarily a bad idea, but man. Had I waited a single more day, both the code I pushed and the article I wrote would have ended up so much better.
I've known how pointless it is to push through something when you're too pissed or tired to focus anymore for a while now. I've experienced it with coding, music, and pretty much anything I ever took seriously enough to care. I like to think I'm able to see it coming and I often manage to catch myself and stop when I reach that point.
But then a bad day comes, some random frustrations accumulate enough and I fall for it like an overzealous rookie. Guess I still need a few lessons to truly get it.
Well. Live and learn.
I'm still gonna avoid writing about overly technical things for a while though. Those can be fun and interesting, but I'd like to focus on some other things. I have a few ideas in mind, but I also feel like allowing myself a few random, casual posts like this one now and then. You know, like on a blog or something.
Those still get the job done as far as working out the writing muscles, and it's a nice way to reflect on stuff. Which is the whole point of blogging, right ?
So long interwebs. Don't post when you're pissed, and touch some grass, as the younglings say.