Software I Use

Programming languages

Mainly using Ada, C, Forth, Go, Haskell, and some Rust for general programming.

AWK, Julia, Python and R for data analysis.

I also write some scripts in /bin/sh and Lua.

Operating System

The Void (Linux) is currently running on my main computer. I also have installed OpenBSD on another laptop, which I mostly use for my masters work.

Just for fun (and for learning purposes) I also run Plan 9 from Bell Labs.

I am also using an OpenBSD VM from the awesome OpenBSD Amsterdam.

Window Manager

dwm by suckless.org. It is a dynamic window manager which, in my view, ships with pretty sane defaults.

I am using a simple FIFO-based shell script to display information in the status bar.

Terminal

st by suckless.org, which is one of the most minimal, sane and maintainable terminal emulators.

I am running mksh as interactive shell, with abduco as session manager.

Fonts

Terminus Font, a clean, fixed width bitmap font, designed for long work with computers.

Text Editor

vis, for its Plan 9's structural regular expressions. Also using nvi because it rocks.

I also love THE STANDARD TEXT EDITOR, and sam.

Document Processing System

troff. I'm using it to write most of my documents, exporting the result to PDF documents.

When I need to typeset mathematical expressions. LaTeX and Markdown are my preferred alternatives.

Pandoc, a universal document converter. It is a swiss-army knife program and a live-saver when I have to work with awful formatted docx documents.

This webpage was built using Markdown, lowdown, and a Makefile.

Document Viewer

zathura, a free, plugin-based document viewer with vi-like keybindings.

It can open PDF (via Poppler or MuPDF), PostScript, DjVu, and EPUB.

Image Viewer

sxiv, a Simple X Image Viewer. Handles images, animated gifs, has thumbnail and slideshow modes, and allows to run custom scripts. Also reads/writes to standard input/output.

Some good alternatives are feh, imv and meh.

Image Processing

For tasks that I only need to do once, I use GIMP.

Regarding repetitive tasks, I am mostly using custom C code based on farbfeld.

When I need more portable code across machines (which I do not have control over), or I am just tinkering with new pipelines, I use mostly ImageMagick, GraphicsMagick or GMIC.

imscript is also a good resource to understand image processing algorithms.

Mail Client

mblaze with custom scripts. aerc, an email client that runs the terminal is still WIP but might also be good.

Media Player

mpv, a video player which supports a wide variety of video file formats, audio and video codecs, and subtitle types. Also allows directly streaming from web sources using youtube-dl.

Presentations

A custom build of sent is my preferred presentation software, which creates a presentation from a simple plain text file. For more complex presentations, I use a slightly modified version of the Troff-slider set of macros.

For academic presentations, mostly using Beamer, with a custom minimal template.

Spreadsheets

sc-im, a ncurses spreadsheet program for terminal.

Web Browser

NetSurf is a neat browser with near-perfect CSS support. Dillo also works great, but has basic CSS support.

The problem with browsing is the current state of the Web. It is beyond broken. In many cases it is impossible to even open a webpage without Javascript.

Some alternatives are Firefox and Chromium.