Software I Use

Programming languages

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

AWK, Julia, Python and R for computational science and data analysis.

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

Operating System

OpenBSD is the de facto OS in most computers I own. One stray laptop is running The Void (Linux) in case some Windows executable is needed.

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, which is currently hosting this webpage.

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.

Fonts

Spleen, a clean, fixed width bitmap font, useful for long work with computers. It also has support for Powerline symbols out of the box.

Text Editor

Mainly using pla, the primitive line alterator.

Previously used vis, for its Plan 9’s structural regular expressions and nvi because it rocks.

THE STANDARD TEXT EDITOR, and sam are also worthy of some love.

Document Processing System

troff to write most documents.

When typesetting mathematical expressions is needed, LaTeX.

To manage references, placitum, a handmade Primitive Literature Assistant backed by either ndb or SQLite.

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 DjVu, EPUB, PDF (via MuPDF, or Poppler), and PostScript.

Currently working in an alternative inspired by Plan 9 utilities.

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 (also GraphicsMagick and GMIC.

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

Mail Client

mblaze with custom scripts.

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 (bad) alternatives are Firefox and Chromium.