Physicist, Emacser, Digitales Spielkind

hoowl:~$ ls posts/

Collecting images into one directory for self-contained Org mode exports

by Hanno on Jun 17, 2023.

Copy all images linked to or attached to into a single directory when exporting Org mode documents for easier sharing! All with a little Elisp magic :) Read More…

Tags: emacs, org, lisp

org-capture-ref-jami-bot: Capturing bibliography entries while on the road

by Hanno on Apr 16, 2023.

I often find myself getting excited about projects, blogs and articles I discover while surfing or scrolling through Mastodon on my mobile phone. So I keep the tab open in my browser, which usually already shows “∞” instead for the number of open tabs. I really just want to put the link with some tag where it belongs: in my Org mode notes! Read More…

Tags: emacs, pim, org, jami, programming, lisp

Note-taking on the go: Capturing messages and images sent via Jami in Org mode

by Hanno on Apr 16, 2023.

This post describes org-jami-bot which builds upon jami-bot and extends it with Org mode capture functionality for text messages and images. It allows me to schedule agenda items at specific dates, compose multi-measure captures and even capture URLs including meta-data using org-capture-ref – all by sending a message via the GNU Jami messenger. Read More…


An extendable GNU Jami chat bot written in Elisp

by Hanno on Apr 16, 2023.

Chat bots can be many things – in this post, I am outlining a simple but extendable command parser that allows to access and/or record specific information through Emacs. For me, that would be taking quick notes on my mobile to record those fleeting thoughts and ideas while sitting on the bus on my way home. This post is part of a series and focuses on the underlying framework of the bot. Read More…

Tags: emacs, jami, programming, lisp

Exploring the inter-process messaging bus D-Bus using Elisp

by Hanno on Apr 16, 2023.

In this post, I will give an example on how one can use dbus.el, the Elisp D-Bus bindings that Emacs ships with, to interact with other local processes. The application I want control from within Emacs is the distributed, private messenger GNU Jami. Read More…

Tags: emacs, programming, jami, lisp, dbus

Elisp: Splicing conditional argument lists to pass to function calls

by Hanno on Aug 03, 2022.

The special marker ,@ in Elisp allows to splice an evaluated value into a quoted list while keeping the level of the “injected” elements the same as other elements on the resulting list. Curious over why that is nice and how to use it? Read More…

Tags: lisp, emacs

Emacs: Salutation auto-complete for mail

by Hanno on Jul 25, 2022.

Properly greeting the recipients of a mail with a single keystroke? No more embarrassing typos in unfamiliar names? Yes please! Read More…

Tags: emacs, mail, lisp

Getting started writing interactive fiction with Inform7 on the command line

by Hanno on Apr 30, 2022.

Inform is a suite of programs for authoring interactive fiction (IF) and Inform7 specifically an intriguing programming language that very much resembles the natural English language. In this post, I go through how to install Inform, create a project from scratch and build it into a publishable IF story – all from the command line! Read More…

Tags: if, inform7

Shrinking an SD card image using Linux shell commands

by Hanno on Oct 09, 2021.

If you ever find yourself wanting to down-size an existing SD card image you dumped from a Raspberry Pi installation, here are some tips on how to do this using off-the-shelf command-line tools. Read More…

Tags: raspberrypi, linux

Managing calendar events in Emacs

by Hanno on Sep 17, 2021.

Using elisp as duct tape, I can now import, edit and create new calendar events on my CalDAV server from Emacs using the command-line tools khal and vdirsyncer. This led to my very first Emacs package: khalel. Read More…

Tags: emacs, pim, programming, lisp, org

Goodbye file-format woes: Using Pandoc to export LaTeX documents to word processors

by Hanno on Apr 14, 2021.

Pandoc is an amazing tool that can convert from and to many, if not most of the common formats used for documents. Have markdown but want LibreOffice ODT? HTML but need org-mode? Pandoc can handle it with results that usually look astonishing in every detail. Today, I put it to a difficult challenge: a paper written in LaTeX with figures, formulas and references – but a colleague really, really wants MS Word. Pandoc saves the day (and me from using MS Word)! Read More…

Tags: latex, pandoc

Confessions of a data sink

by Hanno on Jan 31, 2021.

It has been a little over a year since I created my Mastodon account and half a year for my blog. Time for a personal reflection why it took me 25 years online to create an online identity. Read More…

Tags: thoughts, mastodon, blog

Auto-inserting .gitignore (and license) templates in Emacs

by Hanno on Nov 23, 2020.

When you are using Emacs with the Doom-Emacs configuration, you might have noticed that you are being offered a couple of templates to select from whenever you are visiting certain types of file for the first time: your brand new file will be pre-populated from the template you pick. That is really quite convenient, and I especially enjoy that for files such as the special .gitignore file that tells git what files should not be considered relevant for the repository. As I typically work with repositories holding different types of code (and sometimes mixes thereof), this is really practical! Read More…

Tags: emacs, lisp, git

The Day I Started Worrying and Deleted Google

by Hanno on Sep 13, 2020.

Google aka Alphabet Inc. is deeply entangled in our digital infrastructure and makes money by selling access to the data it collects this way. Deleting my account with them seemed like a very good start into a more self-determined digital life. Read More…

Tags: degoogle, privacy, thoughts

Finding the right and open font for me

by Hanno on Aug 30, 2020.

I have been looking into a more suitable font choice for my blog. While my original and rather spontaneous choice, Mozilla’s “Fira”, is clean-looking it was a bit too smooth for my taste. I am looking for a calm font with a hint more serifs and a dash of charm. And, of course, without any restrictive license or the need to embed scripts or CSS hosted elsewhere. Read More…

Tags: blog

Revising history: How to clean a git project prior to publication

by Hanno on Jul 27, 2020.

How to use git and git-filter-repo to investigate and deep-clean a git repository from any unwanted files, passwords or outdated author information – super useful when one unexpectedly decides to share that little private project with the world after all! Read More…

Tags: git, programming

How to keep a lossless digital music library with lossy mirror in a few lines of bash

by Hanno on Jun 13, 2020.

Using a short script, I mirror my flac music library into mp3 files making it easier to carry around with me. Read More…

Tags: scripts

New Blog and On Blogging with Emacs

by Hanno on Jun 13, 2020.

Emacs is great, and I have even begun to learn its native language recently: elisp. Within Emacs, org-mode is a fantastic tool for notekeeping, literate programming and generally organizing one’s life. So now it is driving this blog as well :) Read More…

Tags: emacs, thoughts, blog