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

★ 5629

Easy web analytics. No tracking of personal data.

uni

★ 856

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

toml-test

★ 257

Language agnostic test suite for TOML parsers

find-cursor

★ 185

Highlight the cursor position in X11

elles

★ 80

A nicer /bin/ls

singlepage

★ 45

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

kommentaar

★ 34

Generate documentation for Go APIs

gogo-release

★ 32

Build cross-platform binaries for Go

rogue-clone

★ 17

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

ttftrim

★ 13

Remove glyps from TTF fonts

zsrv

★ 10

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

goon

★ 7

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

gomodgraph

★ 7

'go mod graph' as a nicely indented graph

colorcount

★ 7

Display the colours used in a PNG image

goimport

★ 6

Add, remove, or replace imports in Go files

sqlbench

★ 4

Run benchmarks on an SQL database

git-stats

★ 4

Aggregate statistics for git repos

wtff

★ 3

frontend for some ffmpeg operations

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

structalign

★ 2

Print the memory alignment of structs

jfmt

★ 2

Format json, nicely

zcert

★ 1

uni-wasm

★ 1

WASM demo for uni

tpad.zsh

★ 1

A little script to control some various things on my ThinkPad

torrent

★ 1

CLI to manage torrent files

har

★ 1

Read HAR ("HTTP Archive format") files

file

★ 0

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

gonetd

★ 0

Vim stuff

gopher.vim

★ 119

Plugin for the Go programming language

jumpy.vim

★ 37

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

undofile_warn.vim

★ 20

Warn when using the undofile

startscreen.vim

★ 14

Customize Vim's start screen.

packman.vim

★ 14

Simple Vim plugin/package manager

testing.vim

★ 13

Comprehensive testing tool for Vim

runbuf.vim

★ 13

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.

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.

batchy.vim

★ 5

A little plugin to perform batch operations on files

lazy.vim

★ 4

The really simple snippet manager

confirm_quit.vim

★ 4

Ask for confirmation before quitting Vim.

complete_email.vim

★ 3

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

globedit.vim

★ 1

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

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

★ 10610

Cross-platform filesystem notifications for Go.

pq

★ 9853

Go PostgreSQL driver for database/sql

toml

★ 4930

TOML parser for Golang with reflection.

reload

★ 189

Lightweight automatic reloading of Go processes.

zcache

★ 76

In-memory key:value store/cache library for Go, suitable for single-machine applications

zli

★ 46

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

isbot

★ 30

Go library to detect HTTP bots.

follow

★ 20

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

sconfig

★ 17

Simple and functional configuration file parser for Go.

zhttp

★ 14

Martin's HTTP package

zdb

★ 14

Interact with SQL databases in Go

zstd

★ 11

Extensions to Go's stdlib

zprof

★ 10

Display runtime profiling data for Go programs over HTTP

gadget

★ 10

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

blackmail

★ 10

Go package to send emails with a friendly API

tz

★ 7

Go timezone convience library

termfo

★ 6

A terminfo library for Go

acidtab

★ 6

Go package to print nicely aligned tables in the terminal

zvalidate

★ 5

Static validation for Go that returns parsed values

z18n

★ 5

i18n library for Go

zlog

★ 4

Go logging library

otp

★ 4

HOTP/TOTP one-time passwords

errors

★ 4

Yet another errors package for Go

termtext

★ 3

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

slog_align

★ 3

Less "wall of text"-y slog handler

ztpl

★ 2

zstripe

★ 2

Set of utility functions for working with the Stripe API.

json

★ 2

encoding/json with patches

hubhub

★ 2

Set of utility functions for working with the GitHub API.

guru

★ 2

Go errors with a Guru Meditation Number

runewidth

★ 1

wcwidth for Go

term

★ 1

Go terminal and console support

zdb-drivers

★ 0

Other

hello-css

★ 197

A CSS template focused on readability

toml-c

★ 92

TOML C library

dotfiles

★ 64

My configuration files

bestasciitable

★ 24

The best™ ASCII table

vimlog

★ 17

A ChangeLog for Vim

readon.js

★ 13

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

★ 8

JavaScript image zoomer