Originally published on GamesIndustry.biz.

You spent two years and an enormous amount of human time and resources building your game. Your source code was locked down, people couldn’t wait to get a hold of what you’d made, and the thing was done, tested, and ready to go. You launched it, and watched the numbers climb.

But then you compared those numbers to your revenue… and discovered that most of your users hadn’t paid you a dime!

After all that hard work, people are just taking your game! …


Data requires context to create meaning.

Let’s say I sent you a text message containing just . Perhaps you had first asked me how many of something I had. In that case you'd interpret as something like, "I don't know exactly, but less than three". Or perhaps your prior message was also , in which case mine probably means, "I love you, too." The data () remained the same, but its meaning changed with context.

Why does this matter for us, as programmers or data analysts? Because computers only understand one form of data: binary. That presents us with…


I recently had a catastrophic crash of my desktop, so it was time for a fresh Windows 10 install. Which also meant getting my development environment set back up. Modern webdev environments have a lot going on, especially when you throw Docker into the mix, and there are always a bunch of little useful Windows tweaks that are easy to forget. So I documented all the details for future reference, and to share.

Programs to Install

If you’ll be running Docker (see below), then a lot of your webdev needs can be met by various Docker images. …


Visual Studio Code (VSCode) has rapidly become the favored editor/IDE for a huge swath of web developers. This is in no small part due to its robust extensions marketplace and the fact that you can change how pretty much every little aspect works.

I’ve been using it for the past few years of webdev work with a myriad of technologies (Node.js, Typescript, vanilla JavaScript, Vue.js, Svelte.js, HTML/CSS, Docker, and on and on), and it’s only let me down when I strayed too far from web technologies.

Below are the core extensions and settings I’ve settled on for general JavaScript/Node-centered web…


Matching your development and production environments can save a lot of headache. In webdev our production environments are usually some flavor of Linux. While I love using Linux (I spent a couple years mostly using Ubuntu), the reality is that I often need Windows-only software. Switching back and forth between Windows and Linux machines/partitions is painful — fortunately you can run both at once!

There have been ways to do this via virtualization for some time, but Windows 10 recently added a native feature for running Linux on top of Windows. It’s called, descriptively, “Windows Subsystem for Linux” (WSL). …


Apple just announced their “App Store Small Business Program”, wherein companies making less than $1 million/year can keep 85% instead of 70% of revenue (the system is a bit less straightforward than that, but that’s the gist).

That announcement has created a lot of buzz, and a lot of questions. One big one is whether or not this is “just a PR stunt” to help Apple’s side of its various anti-monopoly suits (most notably brought by Epic Games).

I’m not going to speculate on why Apple made this move, but instead on the business outcome (ignoring the question of lawsuits)…


If we don’t solve the problems of our past, the futures that we want become ever more difficult to obtain. That’s true in life, and it’s true in software. In life, the past comes in the form of baggage. In software, we call that “technical debt”. For both life and software, how do you deal with the past? Do you ignore it and hope for the best? Do you continuously make your future better, via therapy and code refactoring? Do you cut ties with the past completely, via moving to another city and starting a new git repository?

There’s no…

Adam Coster

CTO and Fullstack Webdev at Butterscotch Shenanigans

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store