Latest Posts

AspectJ & Inheritance

Small non-obvious finding: When AspectJ is used to intercept (public) methods of a class identified e.g. by annotation, it will only intercept the methods that are actually implemented in that class, but not public methods on any superclass.

JS Spread syntax for arrays vs objects

Noticed a small quirk today in the JavaScript spread syntax: If you have three values:

Shadow DOM, isConnected, and focus

I’ve been working with https://lit.dev elements and want to summarize what I’ve learned about Shadow DOM and Focus:

Font Copyright

I’ve been reading about font copyright, especially in german law in order to get a better understanding of all the rights and protections applicable to the Standard and SiFoX Fonts in Signum for the Atari ST.

QName-to-URI mapping

Looking deeper into the origins of representing namespaced elements in braced syntax, it looks like the issue of a canonical mapping from QName to a URI has a long history at the W3C:

XPath Data Model for encoding XML as JSON

There is a model for mapping arbitrary XML to a JSON-like data model. Consider the following document:

XML Normalization

It seems like a lot of people despise XML and consider it obsolete. But I would argue that is not the case and beautiful XML is very much possible if we apply the learnings from Database normalization.

Box-Drawing Mojibake

At $dayjob I recently came across the string “f├╝r” and was wondering what kind of Mojibake that was.

SDO Studio v0.0.1

During the pandemic I created a small tool that would read and transform documents created using Signum! 1/2 for the Atari ST. It’s a CLI application, initially created for debugging the format, so the user experience is suboptimal.

Hello World

Hello World!

Contact