Personal website of Martin Tournoij (“arp242”); writing about programming (CV) and various other things.

Working on GoatCounter and moreGitHub Sponsors.

Contact at martin@arp242.net or GitHub.

This page's author

Writings By: tag, popularityRSS


Code projects

goatcounter

★ 4490

Easy web analytics. No tracking of personal data.

uni

★ 800

Query the Unicode database from the commandline, with good support for emojis

toml-test

★ 213

A language agnostic test suite for TOML parsers.

find-cursor

★ 172

Highlight the cursor position in X11

elles

★ 79

A nicer /bin/ls

kommentaar

★ 33

Generate documentation for Go APIs

gogo-release

★ 32

Build cross-platform binaries for Go

singlepage

★ 27

Bundle external assets in a HTML file to distribute a stand-alone HTML document.

ttftrim

★ 11

Remove glyps from TTF fonts

rogue-clone

★ 11

The "rogue" game from 4.3BSD-Tahoe, for modern systems.

zsrv

★ 9

Static file server which packs all data in the binary

ff-hist

★ 9

Search Firefox history from commandline

pkg_clearleaves

★ 8

Easily remove packages on which no other packages depend

colorcount

★ 7

Display the colours used in a PNG image

goimport

★ 6

Add, remove, or replace imports in Go files

gomodgraph

★ 5

'go mod graph' as a nicely indented graph

goon

★ 4

Run Go on another machine such as a QEMU VM or cloud instance

git-stats

★ 4

Aggregate statistics for git repos

bsdgrep

★ 4

BSD grep from FreeBSD for Linux

wtff

★ 3

frontend for some ffmpeg operations

sqlbench

★ 3

Run benchmarks on an SQL database

jfmt

★ 3

Format json, nicely

goatcov

★ 3

Code coverage tool for Go

cantuse

★ 3

List browsers in which a feature *won't* work

border

★ 3

Commandline tool to add a border around PNG images

ADVENT

★ 2

Colossal Cave Adventure for modern systems, as close to the 1976 source as possible

uni-wasm

★ 1

WASM demo for uni

tpad.zsh

★ 1

A little script to control some various things on my ThinkPad

har

★ 1

Read HAR ("HTTP Archive format") files

file

★ 0

Portable version of OpenBSD's privsep/sandboxed file(1) utility

zcert

★ 0

Vim stuff

gopher.vim

★ 115

Plugin for the Go programming language

jumpy.vim

★ 37

Filetype-specific mappings for [[, ]], g[, and g]

undofile_warn.vim

★ 19

Warn when using the undofile

packman.vim

★ 14

Simple Vim plugin/package manager

startscreen.vim

★ 12

Customize Vim's start screen.

runbuf.vim

★ 12

Run the contents of a buffer in psql, python, bash, etc.

xdg_open.vim

★ 11

Run xdg-open from Vim; re-implements netrw's gx.

testing.vim

★ 11

Comprehensive testing tool for Vim

auto_mkdir2.vim

★ 10

Automatically create directories

switchy.vim

★ 8

Switch to related files

lpeg.vim

★ 7

LPeg-based syntax highlighting in Vim

zev.vim

★ 5

Easily apply predefined substitute patterns

helplink.vim

★ 5

Link to Vim help pages with ease.

batchy.vim

★ 4

A little plugin to perform batch operations on files

lazy.vim

★ 3

The really simple snippet manager

confirm_quit.vim

★ 3

Ask for confirmation before quitting Vim.

globedit.vim

★ 2

Use globbing patterns for :edit, :tabedit, etc.

complete_email.vim

★ 2

Allow completion of email addresses so you can use Vim as a basic "address book".

synfo.vim

★ 1

Print information about Vim syntax highlighting and text properties

powersearch.vim

★ 0

Several search-related enhancements.

git.vim

★ 0

My small Vim git plugin.

edc.vim

★ 0

Another editorconfig plugin for Vim; intended to be included in the Vim distribution.

diffdir.vim

★ 0

Diff directories in Vim

default2.vim

★ 0

Vim's default colour scheme with some small enhancements

cc_align.vim

★ 0

Easily align things to the cursorcolumn

Go libraries and tools

fsnotify

★ 9558

Cross-platform filesystem notifications for Go.

toml

★ 4572

TOML parser for Golang with reflection.

reload

★ 187

Lightweight automatic reloading of Go processes.

zcache

★ 62

In-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications

zli

★ 41

Go library for writing CLI programs. Includes flag parsing, colours, testing, and various helpful utility functions

follow

★ 21

Go library to follow a file for changes; e.g. "tail -F".

isbot

★ 19

Go library to detect HTTP bots.

sconfig

★ 17

Simple and functional configuration file parser for Go.

zdb

★ 12

Interact with SQL databases in Go

zhttp

★ 11

Martin's HTTP package

zprof

★ 9

Display runtime profiling data for Go programs over HTTP

gadget

★ 9

Go library to get the browser and OS from the User-Agent header.

blackmail

★ 8

Go package to send emails with a friendly API

zstd

★ 7

Extensions to Go's stdlib

zlog

★ 4

Go logging library

errors

★ 4

Yet another errors package for Go

zvalidate

★ 3

Static validation for Go that returns parsed values

z18n

★ 3

i18n library for Go

tz

★ 3

Go timezone convience library

termfo

★ 3

A terminfo library for Go

slog_align

★ 3

Less "wall of text"-y slog handler

acidtab

★ 3

Go package to print nicely aligned tables in the terminal

json

★ 2

encoding/json with patches

hubhub

★ 2

Set of utility functions for working with the GitHub API.

runewidth

★ 1

wcwidth for Go

ztpl

★ 1

zstripe

★ 1

Set of utility functions for working with the Stripe API.

termtext

★ 1

termtext is a Go package to deal with monospace text as interpreted by terminals

term

★ 1

Go terminal and console support

guru

★ 1

Go errors with a Guru Meditation Number

zdb-drivers

★ 0

Other

hello-css

★ 184

A CSS template focused on readability

dotfiles

★ 61

My configuration files

toml-c

★ 37

TOML C library

bestasciitable

★ 21

The best™ ASCII table

vimlog

★ 16

A ChangeLog for Vim

readon.js

★ 12

Continue reading a web page from where you left last time

MartinFox

★ 12

Really simple userChrome.css for Firefox 89 to make the active tab stand out more

my-first-vimrc

★ 9

A vimrc generator that doesn't add a world of complexity

imgzoom.js

★ 6

JavaScript image zoomer

toml-test-matrix

★ 2