Joakim Nygård Archive Linked About

The Jargon File on MacOS X

6 May 2022 -

Around 17 years ago when MacOS X ‘Tiger’ was introduced and included the Dictionary application, I had the idea to compile the Jargon File in a compatible format (the Jargon File is a glossary of computer related slang). Unfortunately nothing came of it. Revisiting old files and blog posts made me look at the idea again.

The Jargon File is maintained in XML Docbook format and the format Apple uses for the dictionaries on MacOS is also an XML specification, so XSL transformation should be a reasonable way. The specification is included with the “Additional Tools for Xcode” download from Apple’s Developer pages (requires account). Rather than setting up the entire Docbook toolchain, I opted for xsltproc to handle the XSL transformation. Unfortunately the parser complains about undefined entities in the jargon source and it does not seem possible to define them without altering the original xml.

<!ENTITY % xhtml-lat1
    PUBLIC "-//W3C//ENTITIES Latin 1 for XHTML//EN"
            "xhtml-lat1.ent" >

<!ENTITY % xhtml-special
    PUBLIC "-//W3C//ENTITIES Special for XHTML//EN"
            "xhtml-special.ent" >

<!ENTITY % xhtml-symbol
    PUBLIC "-//W3C//ENTITIES Symbols for XHTML//EN"
            "xhtml-symbol.ent" >

After further reading of both specs and experimenting with the samples included in the Dictionary Development Kit downloaded from Apple, I managed to get a reasonable part of the glossary converted:

xsltproc -o appleformat.xml transformation.xsl jargon.xml

Combining the resulting xml file with a stylesheet and the various images included, the dictionary can be built from the Makefile provided with the dictionary devkit.

To install, download the Jargon File for MacOS X, move the dictionary to the ~/Library/Dictionaries/ folder, then open Dictionary and activate the dictionary from the Preferences. The project files are also available on GitHub. Feels good to complete an old geeky idea.

Robot Finds Remains of Another

29 Apr 2022 -

NASA’s Ingenuity Mars Helicopter spots debris from Perseverance’s landing equipment.

Teddy Tzanetos, Ingenuity’s team lead at NASA’s Jet Propulsion Laboratory in Southern California:

“Every time we’re airborne, Ingenuity covers new ground and offers a perspective no previous planetary mission could achieve. Mars Sample Return’s reconnaissance request is a perfect example of the utility of aerial platforms on Mars.”

Stunning and otherworldly images taken, incredibly, by a robotic helicopter on Mars!

The Web is Thriving Again

27 Apr 2022 -

Anil Dash:

It is still truly possible for one person to make a website, without asking permission of any of the giant tech companies, and create an experience that touches millions of people. Maybe it’s to share a meaningful experience, or a fun game, or a weird obsession, or just to tell a story — the web was born to make these things possible.

I would absolutely love if the wild creativity from the early days of the web came back.

HyperCard Art Bits

27 Apr 2022 -

Classic bitmaps extracted from the old HyperCard stack “Art Bits” by Apple! Really brings back memories :)

Migrating source code

22 Apr 2022 -

When I first started programming in HyperCard and later Think C on my family’s Macintosh SE in the mid 90’s, I had never heard of version control systems. Early in the 2000’s I started using CVS and like many I moved on to Subversion and now Git. Unfortunately I did not have the foresight to migrate all my projects at the time and I now have both CVS and SVN repository backups locally on my machine.


After some searching, the steps to migrate the Subversion repo were clear (Useful guides by Piotr Fert, Brajesh Sachan and Tommy). First restore the svn backup to a local repo using the same svnadmin that built the backup:

svnadmin load repo/dir < svnbackup

Then create an authors.txt file to map svn commit usernames to git users in this format:

username = First Surname <[email protected]>

The repo can now be checked out with git-svn and all changes will be preserved in a new git repository:

git svn clone repo/dir --no-metadata -A authors-transform.txt --stdlayout checkout/dir

Looking at the branches with git branch -a, all the SVN branches are now set as Git remotes. These can be re-branched in git on the appropriate commit hash and then removed. There are a few SVN references left to be removed

git branch -d -r trunk
git config --remove-section svn-remote.svn
rm -rf .git/svn .git/{logs/,}refs/remotes/svn/


This was not as easy as several of the suggested tools no longer works. cvs-fast-export did, however, and combined with git, the process was actually rather simple. Export the repository to a git import stream:

cd cvs/repo
find . |cvs-fast-export > ../stream.fe

Then, initialize and import into new git repo

cd ..
git init reponame
cd reponame
git fast-import < ../stream.fe


To move these to GitHub, simply create a new, empty repository in GitHub, set the remote and push.

Even though I rarely, if ever, need this old code, it’s part of my history and nostalgic like old photos can be. Feels good to have salvaged part of it.

Back online

21 Apr 2022 -

It’s been more than ten years since the last blog post to this site. A lot will happen in ten years. I’ve grown Simpelt Regnskab, started with Jacob Oettinger in 2009, from a side project to my daily job. I moved to a new appartment with my girlfriend in 2012. I became a father in 2016 to a wonderful girl. As my focus changed, I stopped maintaining the site and I eventually retired the old content and replaced it with a single about page. I’ve since missed having a place online to publish thoughts and interesting links on several occasions, stubborn enough that I feel, it should be my own place and not some platform I have no control over. So, I finally brought back online some of the old content and prepared for new thoughts. Feels good.

ISDS Abused

26 Jul 2021 -

The Guardian reports:

Italy could be forced to pay millions of pounds in damages to a UK oil company after banning new drilling near its coast.

The case has sparked outrage at the secretive international tribunals at which fossil fuel companies can sue governments for passing laws to protect the environment – amid fears that such cases are slowing down action on the climate crisis.

This is outrageous but expected. The ISDS is being used to let the fossil industry continue unabated. It never belonged in healthy countries with well established institutions and rule of law.

Against surveillance-based advertising

19 Apr 2021 -

We need legislation in this area, fast.

Every day, consumers are exposed to extensive commercial surveillance online. This leads to manipulation, fraud, discrimination and privacy violations. Information about what we like, our purchases, mental and physical health, sexual orientation, location and political views are collected, combined and used under the guise of targeting advertising. […]

Together with 55 organizations and more than 20 experts, NCC is asking authorities on both sides of the Atlantic to consider a ban.

Inferential Statistics is not Inferential

25 Mar 2019 -

Valentin Amrhein:

A small p-value indicates that something is wrong with the model, but it does not indicate what is wrong.

Symbol of Life

7 Oct 2014 -

Jamie Davies, professor of experimental anatomy at the University of Edinburgh in Aeon:

If we recognise that genes do not make body features, they make the machines that organise body features adaptively, that shift in perspective does much to lay to rest the long debates about nature versus nurture.

Very good.