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

★ 4168

Easy web analytics. No tracking of personal data.

uni

★ 771

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

toml-test

★ 199

A language agnostic test suite for TOML parsers.

find-cursor

★ 166

Highlight the cursor position in X11

kommentaar

★ 33

Generate documentation for Go APIs

gogo-release

★ 32

Build cross-platform binaries for Go

singlepage

★ 26

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

ttftrim

★ 11

Remove glyps from TTF fonts

zsrv

★ 9

Static file server which packs all data in the binary

ff-hist

★ 9

Search Firefox history from commandline

pkg_clearleaves

★ 7

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

rogue-clone

★ 4

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

goon

★ 4

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

border

★ 4

Commandline tool to add a border around PNG images

wtff

★ 3

frontend for some ffmpeg operations

sqlbench

★ 3

Run benchmarks on an SQL database

goatcov

★ 3

Code coverage tool for Go

git-stats

★ 3

Aggregate statistics for git repos

cantuse

★ 3

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

bsdgrep

★ 3

BSD grep from FreeBSD for Linux

jfmt

★ 2

Format json, nicely

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

zcert

★ 0

Vim stuff

gopher.vim

★ 115

Plugin for the Go programming language

jumpy.vim

★ 38

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

undofile_warn.vim

★ 17

Warn when using the undofile

packman.vim

★ 14

Simple Vim plugin/package manager

runbuf.vim

★ 13

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

testing.vim

★ 12

Comprehensive testing tool for Vim

startscreen.vim

★ 12

Customize Vim's start screen.

xdg_open.vim

★ 11

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

auto_mkdir2.vim

★ 10

Automatically create directories

switchy.vim

★ 9

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.

lazy.vim

★ 4

The really simple snippet manager

batchy.vim

★ 4

A little plugin to perform batch operations on files

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

★ 9153

Cross-platform file system notifications for Go.

toml

★ 4440

TOML parser for Golang with reflection.

reload

★ 187

Lightweight automatic reloading of Go processes.

zcache

★ 59

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

zli

★ 38

A Go library for writing CLI programs. It includes flag parsing, colour escape codes, and various helpful utility functions, and makes testing fairly easy.

isbot

★ 19

Go library to detect HTTP bots.

follow

★ 18

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

sconfig

★ 17

A simple and functional configuration file parser for Go.

zdb

★ 11

zdb provides a nice API to interact with SQL databases in Go

zhttp

★ 10

Martin's HTTP package

zprof

★ 9

Display runtime profiling data for Go programs over HTTP

blackmail

★ 8

Go package to send emails with a friendly API

gadget

★ 7

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

zvalidate

★ 3

Static validation for Go that returns parsed values

zstd

★ 3

Extensions to Go's stdlib

zlog

★ 3

Go logging library

tz

★ 3

Go timezone convience library

slog_align

★ 3

Less "wall of text"-y slog handler

errors

★ 3

Yet another errors package for Go

acidtab

★ 3

Go package to print nicely aligned tables in the terminal

z18n

★ 2

i18n library for Go

hubhub

★ 2

Set of utility functions for working with the GitHub API.

zstripe

★ 1

Set of utility functions for working with the Stripe API.

json

★ 1

encoding/json with patches

ztpl

★ 0

zdb-drivers

★ 0

termtext

★ 0

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

termfo

★ 0

A terminfo library for Go

guru

★ 0

Go errors with a Guru Meditation Number

Other

hello-css

★ 176

A CSS template focused on readability

dotfiles

★ 60

My configuration files

toml-c

★ 22

TOML C library

bestasciitable

★ 20

The best™ ASCII table

vimlog

★ 14

A ChangeLog for Vim

readon.js

★ 11

Continue reading a web page from where you left last time

MartinFox

★ 10

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

★ 1