About Me

Author

What is the closest thing in this world to magic?

To me it will always be programming. You type in some incantations and stuff happens .

Here I want to document and share my explorations into this magic world. My most recent trip went into Zig land so most of the articles will talk about that.

But who am I?

I got my first PC in 1997, when I was 13 years old and I got my hands on my first programming language somewhere in 1998. It was QBasic and I created some of the first games and programs in it. I wrote Hangman, Mastermind, Breakout and even did something like a Paint program.

I shortly switched to Pascal and then jumped to Delphi (or Object Pascal). There I learned about the SDL library and OpenGL and made a clone of Nintendo’s Battle city game and 3D Rubik’s Cube solver.

While doing that I realized how hard it is to create UI for a game, especially compared to Delphi which I consider is still unmatched in ease of use for creating desktop UIs. So, as I was finishing high school, I wrote a UI library called SDLControls for Object Pascal.

During high school I also learned a bit about assembler and how CPUs work on a lower level. It was fascinating at the time.

As college started I lost my free time and didn’t do much outside of school projects which included Pascal, C, Java, C# and PHP. Straight from college I started working on Java business software in 2007. During the next four years I would move from the first company, to the second and third until in 2011 I got a job at a startup gaming company. One of the first in my country.

The company was a success and 11 years later I am still working at Nordeus doing my dream job. Surprisingly, for my younger self it turned out not to be making games itself, but rather making tools for making games .

I started on some web applications with PHP and Javascript and then moved to Unity and C#. But that fascination about the inner workings of the PC from younger days is still burning in me so I still find some side projects to play with in my free time.

Casey Muratory with his Handmade Hero series series and Jonathan Blow with his talks about a custom compiler were a great inspiration. Thanks to them I refreshed my C knowledge and wrote a tiny compiler, Summus, as a sort of introduction to writing one using LLVM as a backend.

I then learned what I could about other new languages and among Rust, Go, Nim and DLang I chose the latter as the most intuitive and powerful language. Coming from Unity and C# DLang seemed like a perfect language for a Game Engine. It supports garbage collection but also manual memory management so it seemed like I could use it to write both low level systems and later use it as gameplay logic language as well. No need for separate scripting language.

Unfortunately I got disappointed with some drawbacks of the language and the fact that its leadership didn’t seem very interested to work on those things. At the time Odin and Zig also came under my radar and so I decided to play with Zig and document my journey here.

And so here we are!