Optimizing For Abandonment

Bear with me and this strange title for a moment. If you've read my previous blog post you'll probably remember that I proclaimed that I have a "Oo! Shiny!" problem. I start work on something, I do the thing, I get stuck, I move on. Kind of like this blog!

However, I read The Lazy Level by a very good friend of mine. And...

You know, it's funny. This part:

For instance, while attempting to write the introduction post for this blog, I was having trouble. My brain kept insisting that I should be able to write the post easily. Deconstructing this led to ‘I should be good at writing’, which led to ‘I should be a productive person’-and deconstructing that allowed me to leave the first post alone, finally knowing that I could afford to write the post later, and in the meantime work on something else. (Namely, this post.).

I started a lot of projects over the past year or two. But usually, whenever I leave a project alone, I considered it abandoned. Cancelled. Something like "I'll never get back to this anyway". And this usually held true - for the most part, I never did come back to them. But I feel like as my skills grew, my code reflecting all the knowledge about writing software that I've gained from not only writing finished projects, but also starting unfinished ones, I've subconsciously noticed things that make it hard for me to jump back into projects I've written before.

And so I've adapted.

I've realized over the past few weeks that projects like my audio-focused social network, my MMO RPG, my survival game, an ephemeral MUD I started working on with friends... the structure is actually there, and it's really not bad.

I could probably leave them for months, years, and if I eventually come back to them, getting back into them isn't as hard as it would be with something like RTR, or my platformer game that I tried to write ages ago, or the self-running shoot-em-up, or even the FPS I posted on GitHub.

I have reasonable confidence that at some point I will lose that burned-out status for the MMO, and I will come back to it, as it's a game I really, really wanted to make. I'll get to the survival game, too.

And this is good.

I've started to see these projects not as failures, but as tangible todo-lists if you will. Or more like, these projects already exist in some way, in different stages of completeness. I've already done some, or most, of the work!

Abandoned projects don't have to actually be abandoned. They're just on pause. And doing this as a hobby, I really don't think this is a bad thing. In fact, by pausing the survival game and focusing on the No Video Jam instead, I've learned a lot about .NET and C# and I'll absolutely be able to incorporate this knowledge into the survival game.

By taking a break from JavaScript and exploring another platform, I've gained valuable insight into, well, that different platform, and that has influenced my way of thinking or reasoning about certain problems which are transferable. So if I were to come back to the MMO, I'd come at it with a fresh mind, having done something new, and most likely being able to continue with knowledge I've gained from all these other projects.

Maybe, sometimes, I get bored or stuck because of something subconscious that I haven't yet figured out, so I had to go and explore to figure out what exactly it was. And if I don't directly know what it is, the only other way to get there is to explore. To figure out what exactly it is that bothers me. And since I'm not perfect, I won't be able to just outright tell you what that might be. I might literally just have gotten bored with the project. But there's always a reason.

Embracing this fact made it so much easier. I no longer call these projects abandoned. I'd like to think of it more as "on pause" indefinitely.

I make projects because I really want the end result. That doesn't stop being true. Sometimes someone gets to the result before I do, and honestly, that's great! It's one thing less I have to do to enjoy that thing. But most of the time, that doesn't happen. And I'd love to think that I still have time. That I don't need to rush.

Except the game for the game jam. I should really get back to that. But that's a post for another day! (or year, if my post frequency is anything to go by 😉 )

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.

A new website, a new attempt at a blog

I've attempted to blog numerous times. This shows that I really feel like I want to express myself, but I've never been able to keep it up. Do you feel the same sometimes?

Start a new website, start a new blog!

This blog post serves as an introduction to my new website, and will try to analyze the problem of not knowing what to post, or how to post it. In other words we'll try to build up not only the motivation, but a solid understanding on how to proceed from here.

I don't know what to write about

This one is probably the most tricky one, and it's one that I've struggled with for most of my attempted blogging careers. No matter, I'm sure we can come to an agreement here, or more importantly, you can come to an agreement with yourself.

There are things that you like doing, even if you think those things aren't anything to brag about. That's fine. I myself like being productive, doing things, creating new things and having fun while doing so ... OK, that last part is sometimes a bit stretched, but for the most part it's true. And one might say sure, that should give lots and lots of different topics to talk about, but it's still not that easy. I worried about the most simple things like

Am I going to find things to talk about every week?

Or things like

Do people even care about what I have to say?

So let's tackle these.

Am I going to find things to talk about every week?

Yes. When I was thinking about writing blog posts, I was in that one moment. And most of the time I couldn't come up with what to say in precisely that timeframe. But that's not how it's going to work. So I told myself I'd write down things that I could do to liven up my blog life, and here is a small subset of the list that I've been able to just randomly throw together over the last week.

  • An introduction to myself, split over multiple posts. For example, how did I get into coding? How did I start music? Who influences me? What's my workflow? What do I wish I had more help with when I started?
  • What makes an audio game From the perspective of an audio game developer as well as an audio gamer, what do I think makes an audio game worth playing?
  • Coding tips Where do I begin with Node.JS? How do I effitiently use NPM? What is React? Can a blid person design frontends to a website? How about coding on the mac? What IDE's are there, and how do they stack up against each other?
  • Write a funny little story about how Mosquitoes annoy the crap out of me
  • Why, in my own words, I think the Apple Homepod failed
  • Come up with an artificial intelligence aftermath scenario
  • Self-driving cars, what's in it for someone like me who can't see?

Most of these are completely random, and I've come up with them at the most random times of the day. Some in the shower, some while I was walking to or from work, others while sitting around or watching a youtube video or reading an article on the internet that I had my own thoughts about.

Granted, this is a list very much specific to myself, so it won't apply to you. However, I'm sure you have your own thoughts and ideas, and if you've thought about starting a blog then there's no reason why you shouldn't put whatever idea it is into words.

Does anyone even care about what I have to say?

Are these the reasons you write a blog? If so, there are ways you can insure that people will care, but before I dive into those, my two cents on the topic.

I think it is important that you not only keep the potential audience in mind when writing a blog, but also yourself. Writing a blog post can be a great way to solidify your ideas and thoughts in your head, and it forces you to re-evaluate them from the perspective of telling a story of sorts. You're trying to tell potential people that might want to listen about a thing you have in mind, so you have to put this thing into words. Putting these things into words causes you to think hard, sort them in your head, and generally get a better understanding of them in the process.

A wise, old latin principle states

Docendo discimus

This roughly translates to

The best way to learn is to teach

I love this saying. I think it is absolutely true, and pretty much re-enforces what I said above. In this day and age, knowledge is so vast and pretty much infinite that the best way to learn yourself and help communities grow is to teach. You get to see things from another's point of view, and that can sometimes help you better understand the thing that you're trying to learn. Also, teaching someone means you must gain a better understanding of what it is you're trying to teach, and if you add two and two together you realize that this means you have to learn.

A blog can help you do this by giving you an infinite amount of people that you could potentially teach. Sure, it's not the same as teaching an actual person, however it is far more than just learning quietly by yourself.

but I really am mainly in it for the exposure

Right, ok. Fine. That's cool with me. Here are some things that I could dig up.

The internet is an amazing place for discovery. And generally, people are influenced by outside action or interest into wanting to know more about different things. You can actually utilize search engines on the web for this and figure out what terms are usually associated with different topics and what people want to know.

One way to figure out what people are searching for is Google Trends Simply pick something that you're interested in, see what people search for, and go. Look up a topic or keyword, find out more about it, put your own twist on it and there you go, you've got an article.

but not only just the Google page displays trends. As you might be aware, Twitter, Facebook, Youtube... They all have a list of things that people look for the most. If you want to gain as much exposure as possible, this is probably as good a place to start as any.

Of course, another way to figure out what people read is to find very popular blogs and see what they're doing. Of course, don't leach, just be inspired. Let that information take you where it will.

Or, you know, you could just write jokester articles. Humorous, funny things. I wanna read them. You should totally send me the link to your blog! Especially if this helped you any.

What about length?

Nah.

No but seriously, that shouldn't matter. Sometimes it takes longer, sometimes not as long to explain yourself. So at the beginning, don't focus on that. Just write, and when you feel it's done, it's done. Like this post. Right now.

Conclusion

Wow, I actually didn't think it would even be this long. To be honest, I'm a bit surprised. It feels good to let all of that off my soul. Let's see if we can learn to blog together! Or something.

This doesn't mean I'm gonna keep writing about ways to write your blog though. Nuh-uh. You have to figure this out yourself. But you can do it. I believe in you.