mass:werk / Blog

(Posts 67 … 59.  Jump to newest. RSS feed: Subscribe.)

The Case of the Missing 4th Commodore BASIC Variable (and the 5th Byte)

Yet another detective story.

Illustration: The case of the Missing 4th Commodore Variable…

We investigate the hair-raising case of the missing 4th variable type in Commodore BASIC — and a possible damsel, possibly in distress. A true detective story…

Continue reading…

Link Your Time

An Update to the previous update.

Screenshot of the international time zone conversion utility.

Last time, we presented our nifty international time zone conversion utility. Now it has become even better: once, you’ve set up the converter, you may link the current set up in order to share it. There’s a link near the bottom of the page, which will be always up to date. Just right-click it and copy. (This may be helpul for negotiating dates or meetings.)

Moreover, you may also preconfigure a link in order to see, what the current time (or a specific one) will be in certain locations / time zones. See the documentation on parameters at the bottom of the page for details.

Also, I’m finally working on sound for the PET 2001 emulator…

December Updates

Assorted site news.

Title illustration

It’s been a while since my last post — sorry (a more substantial post is a bit long in the tooth, but may appear soon) —, so it may time to quickly announce a few updates to the site.

Since it’s end of the year, which is also the traditional time to look for a calendar, there is now one at Pick a year and print it out in order to show off that you really understand how days work! :-). We had this already at our time display, but now you can have an entire year of this! E.g., here’s a link to 2023, which happens to be next year. (Make sure to disable headers & footers and to enable backgrounds in your print dialog.) If you really don’t like the idea of the layout (how dare you?), you may also export a no-frills plain-text version.

Another update is also related to time, namely it’s an international time zone conversion utility. Which can be found at
Now, JavaScript (and by this, your browser) features localized dates with time zones, nowadays, but this only supports foward conversions from UTC timestamps to localized dates. This, however, also involves finding a corresponding UTC date to a given local date so that you can pick a date and time in one timezone and see what this may be in annother time zone. Which is, what this utility does. (Please mind the disclaimer. Especially mind that things become a bit tricky with DST/standard time crossovers and there may be more than a single UTC reference for a given localized time-date combination. E.g., when a local clock rewinds to 2:00 am at 3:00 am, once a year.)

Screenshot of the international time zone conversion utility.

This is what it looks like. Technically, we use our trusty TZIntl.js library for this. And thanks to this, this utility runs entirely on your local computer, in the browser, without connecting to an external service or leaking any data.

Links to both utilities can be found at the bottom of our fancy time display, which is always behind the tiny clock icon at the very end of the site navigation.

The final news is about the PET 2001 emulator:
First, the emulator now supports quantifiers in PETSCII escapes in any BASIC source file or pasted code, like "{4 SPACES}" or "{12 RIGHT}", which adds another layer of compatibility to some listings as may be found in traditional type-in code. (It may even come handy for designing screen output more comfortably.) The other one is a rather major one, but without much of an external effect: The emulator now supports varying ROM sizes, which means, it now also comes with ROM 4.0. However, the IEEE interface emulation still only supports LOAD and SAVE commands, so there isn’t much utility to the advanced disk commands of Commodore BASIC 4.0. Still, there is otherwise full support for ROM 4.0, including text-to-BASIC, BASIC-to-text imports and exports and even click-anywhere-on-the-screen-to-place-the-cursor functionality (AKA, “Touch Cursor”). I guess, still sufficient added capability to elevate the emulator to version 1.5.

On Philosophia Mechanica

‘World, Fact, Case’ explained.

Illustration: On Philosophia Mechanica

To common knowledge, a joke explained is a dead joke. However, apparently it’s totally accepted and “ok” to explain a mechanical joke. As our last installment was pretty much a mechanical joke (it even has a crank!), we may thus feel free to do so. And, as we’re feeling like it, we’ll attempt to do so…

Continue reading…

Philosophia Mechanica

An introduction to analytic philosophy.

Illustration: Philosophia Mechanica

Time for some philosophy… ;-)

Continue reading…

Catching Up

Catching up on some software updates.

Illustation (abstract): generic announcement

Time to catch up on announcements…

Moreover, the Digital Library finally features Wittgenstein’s tractatus logico-philosophicus, which had been a safe bet for a candidate right from the beginning, because the unique proposition numbers of the tractatus and sequence numbers are a match made in heaven — or hell (you decide) — at least not at ground level. Diagrams are a bit difficult, though. (We have to admit, however interesting this may be, the inprint of punch card remains a somewhat questionable choice of media for literature.)

Digital Library Update

Expanding the catalog of questionable media for the sake of literature.

Logo: mass:werk Digital Library

Meanwhile, the mass:werk Digital Library has been busy expanding its catalog of nerdy presentations of famous works of literature. (The library currently has a focus on prototypical exponents of materialist philosophy, like Jane Austen.)

Minskytron Refurbished

Classic PDP-1 ‘display hacks’ emulation brought up to new standards.

PDP-1 emulation, running several 1960s graphics demos (Minskytron, Munching Squares, Snowflake)
The Minskytron, Munching Squares, Snowflake, and (my own) Snow Wave.

The emulation of the Minskytron and other so-called “display hacks” for the DEC PDP-1 is now en par with the Spacewar! emulation, in fact, it uses the same script and resources.

Check it out here,

The Minskytron and Other Early Graphics Demos @ PDP-1


Moreover, the emulation of David Mapes’ “Graphical Fun” has been overhauled, as well. (David Mapes invented at LLNL independently the same fast circle algorithm as Marvin Minsky and used it for animations similar to the Minskytron.)

Graphical Fun for the PDP-1 by David Mapes