www.rollc.at :: Hello, world

rollcat’s web page.

Recently posted

TiBook

To continue with our tradition of hand-me-down Macs, dkbox gifted me his ancient PowerBook3,5 (aka TiBook), which I’m now considering using as my main machine for the upcoming Old Computer Challenge v4.

The machine has pretty decent specs (for 2002): a 32-bit, single-core PowerPC CPU clocked at 867Mhz; 512MB of RAM; 40GB of spinning rust; a USB2.0 expansion card; and even digital video output via DVI! Most of that can also be upgraded/expanded.

This post is a bit of a free-form documentation of the machine’s quirks, a TODO list / what-if of a sorts, but also an appreciation of the era’s hardware, software, and design/aesthetics. I might update it at some point to reflect any fixes/upgrades I’ve done to keep it alive.

Read more (8min; ~1600 words)

Posted on
House rules

Making up your own house rules can be a really fun part of playing board games. It lets you wear the shoes of a game designer - not just play the game, but also play with the game.

Sometimes changing the rules makes for some really spicy games, as even a trivial tweak can have a ripple effect and unexpected consequences. But we’re here to learn and to have fun - so let’s play, shall we?

Read more (11min; ~2200 words)

Posted on
Domain names

Hello, my name is rollcat, and I like playful domain names.

What I don’t necessarily like is hoarding stuff (especially when it comes with a recurring expense), so instead I’m going to just throw this idea out here, in the hope that someone will do something playful and interesting with it: a domain name that starts with some form of a negation, followed by one of those fancy new gTLDs, for example: donttry.engineering, without.style, never.forsale, forget.makeup, or unnecessary.website.

There are over 1500 TLDs! The possibilities are endless. Try searching on Gandi or Hover.

(Permalink)

Posted on
Sync vs async work

This is a reflection on PG’s famous essay, “Maker’s Schedule, Manager’s Schedule”. The fact I’m writing this while in the middle of producing a live stream is only a tiny bit ironic.

Read more (3min; ~600 words)

Posted on
Why getopt?

I use getopt almost exclusively in all software that I write by myself, and often insist on using it when collaborating with others, even when the language convention is to use something else.

The reason is simple: getopt is a part of the user interface, and user interfaces should strive to be simple and consistent. As an end user, I find it jarring when, for example, I have to run a script by specifying the interpreter by hand, or when the language-specific extension is a part of the file name. This is an implementation detail which should not concern me - the #! should take care of that for me. Similarly, getopt is over 40 years old, is supported nearly universally, and is easy to understand both for the user and the programmer.

Read more (6min; ~1100 words)

Posted on
Calendars

Observation: most calendar software I regularly use (the default apps on Mac & iOS; World Time Buddy, & some others) is not great when dealing with events that end past midnight. For example, in WTB I can’t select a range outside the 24h period spanning the “home” time zone; Apple’s apps show the event on the next day as if it was scheduled ON that day (which Calendar Timeline doesn’t do); etc.

I consider this an accessibility problem, where accessibility is defined as “making your software accessible to everyone”.

(Permalink)

Posted on
Docker: ls without ls

Quick tip: if you want to inspect the filesystem of a running Docker container, but it doesn’t even include a shell, let alone ls, you can do the following:

docker export some-container | tar -tf -

You can also print out the contents of a single file with tar (omit the leading slash):

docker export some-container | tar -xOf - etc/some/file.txt

(Permalink)

Posted on
Runaway complexity

Last week I had to work on a Django app again. Since Python is a very portable language that works on many different platforms, of course I’ve had to work on that in a Docker container, in a Linux VM in Qemu, on an arm64 Mac running macOS. Also because the official Docker for Desktop app is somewhat annoying, I’ve been giving Lima a try. Also because the standard Django development web server doesn’t offer the best debugging experience, I’ve been running an alternative server through django-extensions.

I’ve counted at least 8 distinct software vendors so far in that paragraph. When I’ve hit a bug that completely killed my productivity, it was far from obvious which one to look at. Let’s take a dive and see what happened.

Read more (6min; ~1300 words)

Posted on
Quick tip: soundproofing your homelab

Quick tip: if your home server happens to be a humble PC tower, rather than a rackmount blade, you can insert a layer of styrofoam or bubble wrap underneath it, to reduce the noise transferred from the fans & hard drives into the floor or the desk.

One day: a fanless server, with all SSDs and no HDDs.

(Permalink)

Posted on
The Old Computer Challenge v2: Conclusion

Today marks the last day of the challenge.

Read more (1min; ~200 words)

Posted on
Browse all posts, or by tag: challenge games tech travels web