If you're interested in retro games, you may want to check out my new video on Nemesis (Gradius) where I dive into the ROM image to figure out how it was made.


I've been procrastinating on a video I wanted to put on YouTube for over a year. But I think it's finally ready. It's now rendering and if the result of that is what I expect, I'll upload it in the next few hours.

Feels good to finish a project every now and then. 🙂

For those who wonder: it's documenting my reverse engineering of Nemesis, similar to what I did for Maze of Galious. (youtu.be/QatXloCTusE)

As part of the work, I made youtu.be/uxZfJC4qTbU

Cycling 20 km should take about half an hour on a high speed e-bike that can go just over 40 km/h.

But not when the chain breaks when you're half way. 😩

I finally have a first version of my portfolio ready. It contains some of my projects in software, hardware and education. And of course I also added a link to my profile here on Mastodon. 🙂

The page is for my business, which is currently mostly asleep, but making this portfolio is a step in the process of changing that.

Also @aeva may want to read at least the acknowledgements in my dissertation. It's from 2016, but I never sent it to you even though you are in it. 😉

As I wrote before, Python really isn't suitable to use in "data" files such as game definitions, because it cannot prevent security problems. Lua is much better for that.

So I've been moving my visual novel engine (for schools) to use Lua, and I've updated my Python-Lua module to the current versions of Python and Lua.

Unfortunately Lua is also not secure by default. But at least it can be made secure. So of course I've done that.

I had hoped to publish my video about Nemesis today (technically yesterday), but I didn't. I did do more work on it though and I feel like I can publish it very soon.

Well, I've mostly been working on improving the packaging, but I've finally also fixed a bug in the pause-resume operation. Now it should again be possible to stop a print that is failing due to missed steps, home the machine and then continue the print.

And the packaging is also a lot better now. 😃

Show thread

Both uploads done. 🥳 Next up: fix some bugs in my 3-D printer controlling software, Franklin.

Show thread

My websockets python module ( github.com/wijnen/python-webso ) was not right in pypi, so I've worked on that today. I've also improved the packaging in Debian. I hope to upload to both of them tomorrow.

I made it a quick print, because I expect to want some adjustments soon, so I don't need high quality yet. But it looks good, so I've mounted it and I'll find out how long it will hold. 😃

Show thread

It's looking good. I used my new wrapper that can handle assemblies to design it and am now printing the parts. I hope they will fit well.

And if not, I'll fix it and print them again. I like living in the future. 🙂

Show thread

I designed and printed a bracket to mount my phone on my bike, with a charging plug in it. The other side of that cable needs to be plugged into a power bank. Which needs to be protected from the rain. So today I hope to design a bracket for holding a water tight container for the power bank.

I've been working on understanding the internals of the old game Nemesis. And I felt like trying to complete the game without scoring any points. So I did. And I made a video about it.


Today I fixed a clock. The wall wasn't entirely vertical, so I just had to attach a spacer to the back to make sure the pendulum could swing freely.

I love fixing clocks. 😍

I'm done with analyzing the Nemesis ROM file to generate a map. It's not complete, but I have everything I want to put in the video to make about it. And I've found a lot of interesting things along the way. The video is coming soon.

Reverse-engineering of nemesis (gradius) for from the ROM image is going well. I've generated the level tiles and have just drawn in the trigger areas for secrets.

I'm making good progress with my OpenSCAD wrapper. I've changed it so the object definition is not a program to run, but a "data" file that is loaded into the program. It's still executed as Python though, so it's not safe to run an untrusted file.

Anyway, I'm designing a lock that can be created with a laser cutter as a demonstration, so I thought I'd share a picture.

I made a video of a cute toad on the campingsite, but uploading it here seems to be a problem. So here's a screenshot.

Recently I've been working on a Python module which lets you generate OpenSCAD code. It solves the two biggest problems I have with OpenSCAD: that it cannot store models in variables, and that assemblies are near impossible to make for more complex projects. I like what I have so far, and expect to publish a first working version soon.

Scholar Social

Scholar Social is a microblogging platform for researchers, grad students, librarians, archivists, undergrads, academically inclined high schoolers, educators of all levels, journal editors, research assistants, professors, administrators—anyone involved in academia who is willing to engage with others respectfully.