Jordi Pla

Software I Use

Programming languages

Mainly using C, Forth, Go and Haskell 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. My patched source is available here.

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. My patched source is available here.

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. Previously I was 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 and smu.

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.

File Manager

Generally I use no file manager, but lf is a nice one. It is still WIP, but usable.

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.

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

aerc, an email client that runs the terminal.

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

sent is my preferred presentation software, which creates a presentation from a simple plain text file. It allows to prepare a presentation based on the Takahashi method within a few minutes. For more complex presentations, I use a slightly modified version of the Troff-slider set of macros.

For academic presentations, I use Beamer, with a custom and minimal template. It can also be compiled from Markdown with Pandoc.

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.

The alternatives that suck less while still being usable with the broken Web seem to be Brave and Firefox.