Jesper Stefansson

Game Developer, Swede, Reader of Books

the umbrella dilemma

On the rainiest day of the year, Jack was walking home. It was February, so to say it was the rainiest day of the year wasn't saying much, but being February, it was the type of rain that chills you to the bone and makes you consider whether it had intended to be snow, but someone had made a mistake. Ordinarily, Jack liked rain. When it was summer. Or late spring. Autumn rain in particular held a special place in his heart.

But it wasn't autumn. It was February. Jack tried to pretend to like the rain, regardless of how cold it was making him, as a steady stream of droplets made their way from his soaked hair into his eyes. Jack didn't have an umbrella. It's not that he didn't have one with him, he didn't own one. Today, he decided, was the day he'd buy an umbrella. Or rather, tomorrow. Right now, all he wanted was to get home and out of the rain. Tomorrow would be a better day to go to the shops. It probably wouldn't be raining tomorrow.

apples vs oranges

Comparing apples to oranges is one of society's greatest unsolved mysteries. So many people have tried and failed that it has given birth to the idiom "comparing apples to oranges" as a way of saying that something is incomparable.

Not daunted by the failure of civilisation for thousands of years before me, and fueled by the random, racing thoughts of insomnia, this is my humble attempt to crack the problem, once and for all.

fsg

I wrote my own site generator, it's called fsg. The s and g stands for Site Generator. I'll leave it to the creativity of the reader to figure out what the f stands for. It took a weekend. It's written for myself and by myself, so it doesn't have many bells and whistles, but it does what I need.

defer

I'm not a big fan of the destructors in C++. Don't get me wrong, they can certainly be useful. I just think they solve a problem in a way that could've been implemented in a much more powerful way, without the implicit changes in behaviour or performance characteristics that adding a destructor comes with. I'm also not at all a fan of non-trivial code hidden away in destructors that I wasn't expecting, but that's primarily a programmer error.

live code editing

Fast iteration times on large projects is often cited as one of the primary reasons to incorporate a scripting language, such as Lua, Python or JavaScript, into the project. The primary downside to this is overall complexity, performance, maintenance, and debugging. So wouldn't it be great if we can get the benefits of scripting languages with none of, or close to none of, the downsides?

Hello, World

Just like every blog needs a "Hello World" post to start things off, so does this one. And just like every introductionary post promising times of grandeur, interesting content providing food for thought, and frequent updates, just to fall into obscurity with no update in sight for months, this one is no exception.