Should you feel bad about publishing bad code to GitHub?

It's been a while.

Over 2 years to be exact. I find it ironic that my last post went into great detail about how to write blog posts - and then I never did. To be honest, I thought of actually leaving it like that. It's funny. Maybe a sad sort of funny, but it's funny.

But alas, all jokes must end at some point. I won't say that I'll start blogging more regularly, because you know as well as me that I most likely won't, but I've been reading a lot of blogs lately and I actually found myself enjoying random ramblings from other people. Get a look into what they're doing. Just something more personal, yet something maybe a bit more thought out than a random tweet. I'm horrible at Twitter.

Anyway, yesterday, I posted this thing on GitHub. It's year-old code in bad need of refactoring.

I wanted to learn JavaScript. I had heard about cool things like the WebAudio API and thought "Wow! This is cool! Must have!". So I set off on probably the worst path you could take to learn JavaScript - writing a first person shooter audio game.

It went just about as well as you could imagine. It only took a few months for me to become frustrated and move on.

You must know one thing: I have a "Ooo! Shiny!" problem. Not in regards to languages, but in terms of side projects. If there's something that doesn't work, or I get seriously stuck, I'm much more likely to take what I learned from that project and apply it to something new. This case is no different. I can't even remember what exactly the problem was. Maybe it was something related to my sound code - I know I filed several bugs related to the WebAudio API implementation to the Chromium bug tracker - but I stopped. But not before posting a little audio demo of the project to a forum. As things go, people remember things. So the FPS was never forgotten. I kept getting questions about it, but I myself had no motivation to continue it. So I did the next best thing I could think of, short of just letting it die completely:

Post it to GitHub!

It's quite awful code. But honestly, that's fine. It was a learning project. If I hadn't posted it, it would have been deleted eventually. Forgotten to time. This way at least something has the potential to come of it. Maybe someone will find it, give it some polish, turn it into something cool. Something I couldn't.

I don't feel bad about abandoning projects. But I also don't feel bad about posting bad code on GitHub. We constantly learn with every project and as long as you're aware and advertise it as such, past you shouldn't be held accountable for the code you once wrote. Especially not side projects.

It's more or less the same with Himawari. The code is a hack - I worked on it for a couple of days, getting it to the stage I needed for it to do the thing I wanted. Himawari itself isn't abandoned - but I'm working on other projects now. If I hadn't posted it to GitHub nobody else would be able to try it out. See if it also fits their use case. And maybe it does. And maybe someone will find the courage out of necessity to make it better. And maybe, if that happens, my spark for it will be reignited.

And maybe you have a project that could benefit from the same.