I Created Two Monsters. Deliberate and Unwittingly
Thank goodness it’s almost Hallowe’en and monsters are in style
Over a year ago, I set out to create a monster for a woodworking project. That project has been stuck for 1.5 years now. Recently, I created another monster. One I did not intend to spawn. It has nothing to do with woodworking or horrors of the deep. It turned out great, though.

Maybe I work so frequently on this new project because I don’t need a workshop. I can sit down and start crafting right away. There’s always the cleaning up, mind you. Ugh, why can’t I work on something that doesn’t involve cleaning?
In case you’re wondering: my other project is software. And yes, code attracts spiderwebs as well.
Well, actually. It doesn’t. Not exactly. If the code is messy, it’s not nature’s fault. It’s me.
I like to draw, to paint, and to do some woodcrafting. I am in no way imaginable past the level of an absolute beginner. But that doesn’t stop me from enjoying myself. It should be no surprise that my lack of software development skills won’t stop me from having fun with bits and bytes.
When it comes to developing software, I am somewhat of a mix between a bull, a plumber, a librarian and a squirrel. Nothing wrong with either one on their own. If you start mixing them, though, better beware.
Somehow I get things to work. Eventually anyway.

I am not the same person on every project
When I do something creative with my hands, I am the polar opposite to when I do something creative with my mind.
Handcrafting — slow and steady
After figuring out what to put on the box, I started researching bows and crossbows. Then I started drawing them, from reference pictures mostly. When I finally familiarized myself with what I thought was important for the shape, I set out to create both bows as one abstract shape and tried to combine them in a way that was aesthetically pleasing.
I’m quite happy with the result. Other people usually don’t see what the final picture represents. So, for 99% of you: it’s a bow, a crossbow, an arrow, and a bolt.


The process for the box above was slow. It took me more than a couple of days to finally come up with a rendering I liked. The staining and the woodburn took maybe an hour or so. Of course, I only realized the balance of preparation versus actual work after I was done.
I initially set out with this project to test how my stain and woodburning would go together on cheap wood. That could have gone faster…
Ah, well. Mission accomplished anyway.
Mindcrafting — fast, slow, meticulous, and brute force
Software development is quite the reverse for me. Instead of careful preparation, I dive headfirst into development and I just can’t wait to see the end.
My adventures in developing Chrome Extensions started for the best reason of them all: because there was a mountain and I was more or less certain I could climb it.
So, I saw a problem. I saw the solution. And I just needed to find my way there. A few hours later, I had a working solution that I launched into the wild. Great stuff!
There were actually a handful of other people that found my path to the summit useful and used my solution. However, my wife happened to be my best supporter: “That’s nice, honey…”
One day, I didn’t feel like finishing another draft of my regular stories and I set out to take my development a bit further. Instead of doing some quick scripting, I opted for writing a Chrome extension. Bad news for my inner plumber and bull. Fairly good news for the squirrel and wonderful news for the librarian.
Time to read up on those things work. A great time to get distracted by other things as well. Good luck doing your research with a squirrel on the loose, Mr librarian.
I was somehow able to get some research done. And I was able to implement stuff without being too distracted by nuts or shiny things. Before I knew it, I was hooked on developing. I kept coding for weeks on end.
I have dabbled in a few programming languages at University and it was no surprise to me that I found the experience of hacking beyond fascinating. It even has gotten to the point that I have managed to iterate over different versions and release those to the public as well.
It’s being used by over 200 people. My biggest supporters this time?
“But… Why?!”
— My kids
So, where’s the monster?
There are two monsters in the story: the one in the first picture. The other one is a horror beyond your nerdiest imagination!
I’m at the point where I am not only proud of what I have made (I am quite bad at developing, remember the bull and the plumber?), but also at a point where I don’t want to disappoint my users. So I use a backlog management system (a glorified to-do list), I have regression test paths (I get distracted easily), and release procedures.
Ok, maybe I don’t have the last one. Anyway, developing the extension starts a bit to look like work.
Except, maybe for one thing.
I have created a monster! Sure, it’s nice and friendly on the outside. But, please, don’t go peeking at its insides. It’s an absolute nightmare!

Have you seen those movies where some geeky kid furiously types on a keyboard? Where he stares at the screen horrified? He loathes the code! We, the mere mortals in the audience, can’t tell why as nothing seems to stay still on his screen. We just see lines and lines of code scrolling endlessly at superhuman speeds any nerd can process like the matrix. That scene? Yeah, remember? It’s exactly like that. But worse.
Ok, maybe I don’t recall a Hallowe’en-themed nerdmovie that involves bad code either. Let’s just say that my code is hellish. For developers, at least.
And, I should add, to me it’s hell as well.
Like hell, bad code has different kinds of flavors. I am trying to avoid being technical here, so I’ll just remark that the only thing they have in common is the fetid stench.
My particular kind of abyssal depths is characterized by the trouble you need to go through to successfully navigate towards the bottom. Sometimes I make some sign markers to guide me. I am hopeless at updating them, though.
So, how does one create code like this? It’s simple: my librarian designs some feature, the plumber goes to work, all while the bull is getting restless and the squirrel is trying to distract me by pointing to other features I could implement.

One of the things I love about coding is that I am learning something new with every syntax error I cause. And the joy when something actually does work is absolutely wonderful.
Today, I was navigating some old code. At the time, I thought I had been clever. I managed to find a way to unjumble my mess and write something that is easy to maintain!
Truth be told: I was right. I unknotted the knots and navigation through the inner workings of the extension became a breeze! This was no ordinary maintenance, this was power cleaning!
At least, that’s what I thought up until today.
I knew what this particular piece of code was meant to do. I knew how to augment the existing functionality with some more exciting functionality. What I failed to do, however, was to make the code easy to understand.
Sure, once I figured it out, I could add my changes with ease. The thing is: I spent about 15 times more time on finding out what the code does than implementing the actual change. It’s like trying to get to talk to the right person when you want your insurance to actually cover something.

I’m not trying to make myself look bad. Like I said: I thought I was doing some great stuff. And I did, up until the point I had learned enough that I knew that I didn’t.
Before I actually ship a new version, I take care of the most unruly pieces of code and tidy it up just a tad. Lately, I have tried my hand at developing a really awesome feature. I learned a ton. I didn’t succeed in the end. What I learned? My code is a monster. It’s been a while since I read or watched Frankenstein. I can’t remember whether the good doctor loved his modern Prometheus. But I do know I love developing and I am happy with what it is able to do for me and for a little over 200 other people as well.
I should know that when you actually try and do stuff, that’s when you learn.
In ‘woodworking’, I found out the same thing when I made a loft bed. My initial plan was to make a nice how-to-video on Youtube. I scratched that idea. I made so many mistakes that a three-part series on what not to do should be a lot more interesting.
I should probably start working on my unfinished D&D dragon box again. I know I will screw up, but I’ll love the end result anyway.
Thanks for reading my little journey into woodworking and software development. Want to read more about the extension? Give the link below a visit, or consider following its publication’s home, What’s up M.
If it’s more woodworking you crave, here is my worst mistake in woodworking.




