Donald Hays

@donaldhays
15 Followers
38 Following
49 Posts

I experimented with using object pooling in my Lua UI library.

TLDR: it worked great!

https://donaldhays.com/2026/04/14/object-pooling-in-my-lua-ui-library/

Object Pooling in my Lua UI Library

I've been working on an immediate-mode UI library in Lua for the past few months. It's still in very early development, but I just recently added image widgets. I made a progress update video. https://youtu.be/lsXZtF9f5j0
I added image support to my Lua UI library

YouTube

I have a habit of rolling my thumb over controller face buttons.

I knew that I can’t do that in the Switch FireRed/LeafGreen release, because X and Y are bound to Start and Select, and A+B+Start+Select is a soft reset command in FRLG.

I *immediately* did it 😆.

We can remove strncpy() from the Linux kernel finally! I did the last 6 instances, and dropped all the implementations:
https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git/log/?h=dev/v7.0-rc2/strncpy

Over the last 6 years working on this, there were 362 commits by 70 contributors. The folks with more than 1 commit were:

211 Justin Stitt <[email protected]>
22 Xu Panda <[email protected]>
21 Kees Cook <[email protected]>
17 Thorsten Blum <[email protected]>
12 Arnd Bergmann <[email protected]>
4 Pranav Tyagi <[email protected]>
4 Lee Jones <[email protected]>
2 Steven Rostedt <[email protected]>
2 Sam Ravnborg <[email protected]>
2 Marcelo Moreira <[email protected]>
2 Krzysztof Kozlowski <[email protected]>
2 Kalle Valo <[email protected]>
2 Jaroslav Kysela <[email protected]>
2 Daniel Thompson <[email protected]>
2 Andrew Lunn <[email protected]>

Thank you to all of you! (And especially to Justin Stitt who took on the brunt of the work.)

kernel/git/kees/linux.git - Various feature branches

It's almost like you can tell which month the Switch 2 released.

After more than a quarter of a century, RGBDS—the most popular community-developed assembler for the Game Boy—hit version 1.0.0 last week! https://github.com/gbdev/rgbds/releases/tag/v1.0.0

I maintain a Visual Studio Code extension for RGBDS, and I just released a major update to pair with it. https://marketplace.visualstudio.com/items?itemName=donaldhays.rgbds-z80

#gbdev

Release v1.0.0 · gbdev/rgbds

Happy Halloween! 🎃 We've finally hit a big milestone: the first major version increment, from 0.x to 1.0.0! 🥳 From now on RGBDS will adhere to semantic versioning ("semver"), meaning that you can r...

GitHub

I wrote a silly script today.

It runs a local LAN Quake 3 server, randomly rotating through maps and bots of varying skills.

But the fun thing? It manages Elo ranks for players and bots. When bots connect, their Elo rank is affixed to the end of their name.

With sufficient rank training, it would be fun to have the server automatically populate with bots tuned to around your rank, to roughly match your skill. And if you get better over time, you’ll see matches against more difficult bots.

You know, I could write a whole blog post about this—and I might—but I think we need to start addressing the very likely possibility that the *entire thesis* that “UI should get out of the way” and “apps should focus on content” is wrong.

Apps aren’t just for looking at photos or videos. They’re for navigating through these things, organizing them, editing them. The tools to do those things should not get out of the way. They should be clearly defined and separate from the content.

LÖVR v0.18.0, codename Dream Eater, has been released! What's new:

- Brand new physics module powered by Jolt Physics
- OpenXR Composition Layers
- Fixed Foveated Rendering
- Filesystem Monitoring
- Stylus Input
- BMFont

https://lovr.org/docs/v0.18.0

v0.18.0

Today's iMac update bumps the RAM in the base spec to 16 GB, bringing an end to *twelve years* of iMacs offering 8 GB in their entry-level SKUs.