2023

3 01 2023

Not quite one the day of a new start. So many things have happened. Whoever even reads blogs anymore. Well, maybe I do still.
I don’t know if I can keep up the flow. I’m not feeling entirely well this morning but nostalgic enough to think that maybe something more needs to change, to go back but forward. Hell, I thought I lost this place and realized I was worried. So maybe it is worth keeping. What do I want to write about first?
Things that happened so far,

Covid happened, then finished, and people don’t want to let go.

I changed jobs, several times. Working in VR again.

Buck (the main game I worked on) failed to materialize due to many, many reasons. Some quite painful.

Picked up the pieces and put things together where I could and built newer things where I couldn’t.

Aaaaand, I think we’re caught up.

So, what do I want to talk about? Really? Tried to post this on twitter but ran out of letters.

Debuggers.

Apparently we’re not suppose to like them anymore. Someone posted up the idea that (and I’m paraphrasing a bit):
“If you use a debugger it means you don’t understand your own code”.

And all I could think about was, “Why, yes, yes, that’s exactly what it means. What’s your point?”.

Code is complicated. Writing it, maintaining it, expanding on it and mostly connecting it with other people’s code. We have years and years worth of knowledge trying to explain the best practices for minimizing the risk of it all. Any code we write becomes someone else’s code after about two to three weeks. Pretending that it’s not ok to forget or have difficulties with holding the entire object/interaction model of our software in our head at all times is idiotic. There are two main points I’d like to convey (I’ll talk about the way I use my debugger in a later post – want to keep this one fairly short).

1. Why limit yourself and your tools? A debugger is a development tool in our toolbelt, using the right tool to at the right time will make sure we deliver the best product we can with minimum bugs and on-time. Don’t throw away your hammer just because you hit your thumb once.

2. Tests are cute. And nice. And a useful tool to explore use cases and APIs. But, as Ferdinand de Saussure once said in his course on Linguistics (and I paraphrase, again), understand language by looking at its written form is like looking at a picture from 20 years ago and thinking you know the man now. Tests are dead code, they represent a static snapshot of your program, the debugger shows you the contents right now. And right now, when debugging is all that matters.

Alright, that’s my little rant for the new year. Here’s hoping I’ll keep this blog up. I want to write about “Born To Build”, voxels, rendering and my own little engine. But next time.

“Country roads, take me home, to the place I belong”