About a year ago, I made a new year resolution to take a few months away from contracting and finally publish a game. I’m already thirty and some change and have been developing games for fun since I was a little brat.

That, predictably turned out pretty much like you’d expect a new year resolution to go, it never came to pass.

But the reason wasn’t that I didn’t work on it, its just that when it comes to my own projects I am really a top tier expert yak shaver so I basically ended up shaving yaks until I…


For the past month and some change, actually might’ve been two months already (It takes a day to write a proof of concept, weeks to land it). I’ve been busy re-thinking Deno’s testing tools.

We’ve had a test runner since before I got involved and it worked just fine. But it was as barebones as you could make it so I rewrote all of it.

A new parallel runner

Our test runner was written in JavaScript, it worked but it was slow as it was a serial test runner that just merged all the tests into a single context and ran them one by…


An attempt to add an song to Deno in the name of Hacktoberfest

For the last couple of years, DigitalOcean has been running Hacktoberfest with the intent to contribute to open source by giving free t-shirts to people who send pull requests to open source repositories.

While it’s a nice idea it misses the mark and in practice the net results is sponsored spam as a service that wastes both the times of maintainers and contributors.

While a lot of the complaints on this has been on the spam factor, which certainly is annoying it isn’t the end of the world and the harm done by DigitalOcean here will pass soon enough.

I…


A New Contributor’s Perspective

Deno pushed out it’s first major release a not too long ago generating quite a few hot-takes. This isn’t going to be a hot-take but a look at what Deno is, where is it at right now and where it could go from a new contributor’s to perspective.

So the first question here would be what the heck is Deno?

The short answer; it’s a relatively small general-purpose runtime environment for JavaScript with first class support for promise based interfaces, ECMAScript modules and seamless TypeScript integration started by the same Ryan Dahl that authored Node.js.

Now, I wouldn’t go as…


Game Development Log

Back in the 90s when I was a kid I dabbled around a bit with BASIC on the Commadore 64 whenever I got the chance to jump in front of one at someone else’s house. I wouldn’t really call it programming as it was more like data entry. We would just copy snippets of code that came in printed magazines but games were definitively something I wanted to make but without access to a computer nothing came of it.

That is, until a couple of years later I eventually I managed to assemble a computer from dumpster diving. Having a…


Byte Size Advice

Eight drill bits sitting in a drill bit container

I leave my direct-messages open so I get a lot of questions on Twitter from budding developers; “Can I ask you a question about programming?” is a common one often followed up with the same question repeated again some time later.

One thing no one ever asks me is general advice on how to approach programming so I’m going to go ahead and give my bits of advice on it anyway.

Bit[7] = Fundamentals First

Programming should be fun and it is, but you’re going to have to walk before you can run. …


A whimsical introduction to Go

I’ve taken a liking to Go, the key reason being it’s a simple language. But this leaves you, the developer, with less options for being clever. If you have to be clever to write a program, you’ll have to be twice as clever to maintain and debug it.

So to showcase the beauty and simplicity of Go, we’ll walk-through a classic little “Hello, World!” program.

Saying Hello

There are a bunch of ways we could get to an output that contains “Hello, world!” Preferably this would include a blockchain and neural network on a serverless architecture for maximum hype factor, but doing…


Arrow functions and object literals, bindings, shallow sets, and more

Photo by Goh Rhy Yan on Unsplash

JavaScript has been getting a lot of new, sugary features ever since we got over Harmony. While more features can allow us to write readable, high-quality code, it’s also easy to go overboard with what’s new and shiny and run into some of the potential pitfalls.

Let’s go over some of the gotchas I see come up quite frequently as sources of confusion, both new and old.

Arrow Functions and Object Literals

Arrow functions provide a terser and shorter syntax, one of the features available being that you can write your function as a lambda expression with an implicit return value. This comes in handy…


Discover a great debugging tool — the console

Image source: Freepik

I’ll admit it — I don’t always use a debugger to figure out what’s going wrong in my program. If my mouse clicks start printing documents down the hall, then it’s time to break out the most powerful of all debugging tools: the console.

The reason is quite simple. When a program is interactive, involving a break-step debugger becomes tedious and interrupts the flow. In times like these, it’s easier to just jump into a few key places in the code and trace the program’s state to figure out where the program is taking a wrong turn.

Displaying Objects

The console.log method…


A Tidbit of Computer Science History

You’ve might not have noticed this as it’s a very subtle bit of trivia but in your browser there are pre-defined colors which aren’t what they seem. If I were to tell you that the swatches above are named light-gray, gray and dark-gray could you place the names with the color swatches?

Casper Beyer

Indie Game Developer, Professional Software Developer and Expert Jak Shaver. Working on Deno.

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