Thunderlink on macOS

Thunderlink is a fantastically useful add-on for the Thunderbird mail user agent. It lets you create links to email that you can put into all sorts of documents (like ToDo lists or notes). The links use the URI scheme thunderlink that needs to be handled by whatever mechanism you use to open URIs. On macOS, one way of registering this URI scheme is to use an application like SwiftDefaultApps. It’s as easy as installing the preference pane, adding the URI scheme and associating it with

Registering the Thunderlink URI scheme using SwiftDefaultApps
Posted in Tools | Tagged , | Leave a comment

Make Firefox play embedded MP4 videos

For some reason (at least on Mac OS X and according to a quick search also on other platforms) Firefox does not play MP4 videos embedded into websites using the <video> tag. Seems that enabling the two config options media.fragmented-mp4.enabled and fixes the issue.

Firefox config for playing MP4 videos

Posted in Uncategorized | Leave a comment

A course on Homotopy Type Theory

Here’s a link to a course on Homotopy Type Theory taught by Robert Harper at Carnegie Mellon. The first few lectures introduce different views of logic and compution and their relationships. Highly recommended.

Posted in Mathematics, TCS, Uncategorized | Leave a comment

Haskell Platform on Mac OS X (with clang 5)

The workaround presented in this blog post is somewhat cleaner and I would recommend usind it instead of the hack I describe below.

Continue reading

Posted in Haskell, Tools | Leave a comment

SLIME contribs quick tip

I really like to use SLIME to interact with a Lisp system like SBCL because it makes life so much more pleasent. But for some time I had the problem that my SLIME installation (done using a recent version of el-get on Aquamacs 2.5) did not want to start at all (when issuing the command M-x slime): Emacs complained with the very unfriendly error message

Symbol's value as variable is void: 'slime-fancy

My SLIME config happens to begin with the following two lines

(require 'slime-autoloads)
(slime-setup '(slime-fancy))

I now discovered a solution of sorts: Delete all the byte-compiled files in the contrib/ folder:

$ rm $PATH_TO_SLIME/contrib/.elc

If someone has any idea what exactly is wrong here and why this hack works, drop me a line. I really dislike being in the dark about the ins and outs of the tools I use on a regular basis.

Posted in Uncategorized | 1 Comment

vim-like ctrl+v enter in Emacs

Suppose you have a list like this

foo, bar, baz, quux

in your Emacs buffer, but you’d rather have one element per line like this


What to do? In vim this is easy:


where ^M is inserted using


But what to do in Emacs? Turns out it’s just as easy but different (who would have thought …): You can insert the newline character in your replace-string or something other using the keyboard command

C-q C-j

C-q is somewhat like Ctrl-v in vim and C-j is Enter. Easy as pi, yeah!

See also the page Newline Representations ^M ^J ^L about related issues with newline in Emacs.

Posted in Tools | Tagged , | Leave a comment

More Free Introductory Category Theory Video Lectures

Recently I discovered another Youtube Channel with some lectures on Category Theory. They cover only some of the basics with examples drawn mostly from topology and I do not know if the series will continue any time soon. Anyway, it’s nice to see that there are more and more resources for learning the basics of Category Theory online.

Posted in Mathematics | Tagged | Leave a comment

Speeding up the startup time of Mac OS’s is very important to me as I use a lot of console based programs, so it’s very annoying if I have to wait a few seconds for it to start up. Recently, I stumbled across a helpful blog post (Speed Up a Slow Terminal by Clearing Log Files) that explains an easy way of combatting the slow startup of I decided to take this a bit further and added to root’s crontab (using the command sudo crontab -e) the following line

@hourly rm -f /private/var/log/asl/*.asl

This cleans up the mysterious .asl log files produces and everything has been fine so far.

Posted in Tools | Leave a comment

Development environment for the STM32F4DISCOVERY board on Mac OS

This is just a quick post with information on how to get up and running with a development environment for the STM32F4DISCOVERY evaluation board which is a cheap and fun way to get started with developing software for ARM microcontrollers.

First, you need to install the development toolchain. I use devkitARM. See the installation instructions for more information.

Then, you will want to install openocd, a program that lets you upload software to the development board via USB. I assume that you have homebrew installed, so I will use that to install the build requirements for openocd:

brew install libtool automake libusb libftdi

Now get the latest sources for openocd (and no, the open-ocd package that is in homebrew will not cut it because it’s an older version that lacks support for the Discovery board):

git clone git://

… and build openocd

cd openocd
./configure --enable-maintainer-mode --prefix=/opt/local --enable-stlink

Install in a reasonable place at your own discretion.

Posted in Electronics, Tools | Tagged , | Leave a comment

Thunderbird line breaking behaviour

Because I keep forgetting which options to set to force Thunderbird to send and display line breaks instead of flowed plain text emails that may or may not come out right at the other end (usually those emails exhibit unsightly long lines which among other things might make quoting from some MUAs a PITA), here’s a reminder mostly to myself.


  • mailnews.display.disable_format_flowed_support to true and
  • mailnews.send_plaintext_flowed to false.

For more details see

Posted in Tools | Tagged | Leave a comment