This is Chris Webb’s home page. The best way to contact me is by email to email@example.com. You can also follow me as @dairychris on Twitter, or find me on Facebook.
A number of my free software projects are available on GitHub and mirrored on BitBucket. You might be looking for:
containers — lightweight containers using Linux namespaces
This package is a minimalist implementation of containers for Linux, making secure containers as easy to create and use as a traditional chroot. It comprises three utilities, contain, inject and pseudo, which use the kernel support for user namespaces merged in Linux 3.8.
cts-tool — a command-line interface to the British cattle tracing system
The British Cattle Movement Service run a tracing database for farmers to record cattle births, deaths and movements. This command-line interface to their XML-over-HTTP API is an alternative to the clunky web frontend.
init — a BSD-style init, daemon, syslog and udev replacement
A lightweight init and syslog suite used in Arachsys Linux, this includes a toolkit of small utilities including a minimal init, a daemon wrapper supporting asynchronous dependencies and logging, a simple but flexible syslog implementation, and an elegant replacement for the increasingly bloated udev daemon.
I sometimes work on an Apple machine running macOS, and it’s convenient to use the built-in IMAP mail client. It isn’t too bad for reading mail, but whilst it once emitted nice RFC2646 format=flowed message bodies, recent releases horribly mangle plain text with a quoted-printable transfer encoding.
MailFlow monkey-patches Apple Mail to emit format=flowed plain text messages, also fixing problems with displaying leading whitespace, and quoting/attribution in replies. MailWrap is an earlier plugin to add a manual line-wrapping and paragraph filling shortcuts in the message composer.
montage — resources for Yamaha Montage synthesisers
These include simple utilities, reverse-engineered file formats, undocumented sysex commands, instructions for obtaining a shell, and hardware notes.
neova — a tool to configure the Enhancia Neova ring controller
This command-line interface covers the same functions as the graphical Neova Dashboard application but is portable, scriptable and more convenient to use.
pocketcrypt — a lightweight legacy-free cryptographic library
Pocketcrypt is a tiny legacy-free cryptographic library providing duplex constructions using Gimli or Xoodoo, together with X25519 for key exchange and Schnorr signatures. Eschewing interoperability with the standard museum of primitives and protocols, it offers concise, easily-understood code that avoids the ugly boilerplate and obfuscation of larger libraries.
skd — attach scripts to unix, IPv4 or IPv6 listening sockets
skd is a small daemon which binds to a udp, tcp or unix-domain socket, waits for connections and runs a specified program to handle them. It is ideal as a secure, efficient replacement for traditional inetd as well as being an easy-to-use tool for non-privileged users wanting to run their own network services.
ssh-x25519 — map ssh-ed25519 keys into x25519 keys
This trivial wrapper around standard Go crypto libraries converts OpenSSH ssh-ed25519 identities to X25519 keys for use in other contexts such as file encryption or key exchange, compatible with simple, easy-to-audit X25519 libraries like Pocketcrypt.
webmidi — a series of self-contained Web MIDI tools
Each single-page application interacts with attached MIDI instruments using the Web MIDI API, runs entirely client-side and depends on no resources outside its static HTML file.
Other bits and pieces including a Bayesian spam filter, paragliding scripts, Yamaha synthesiser stuff, and Arachsys Linux package trees can be found amongst my public GitHub repositories and gists.
Please contact me by email with any comments, bug reports or proposed patches, rather than using GitHub web-based pull requests or issues.
I’m a beef farmer and calf rearer in North Shropshire. I tweet photographs, occasional rants about agricultural technology, and general updates on the cattle and my day-to-day farming exploits as @dairychris on Twitter.
My long-term public identity is the elliptic curve point represented in
OpenSSH format as
AAAAC3NzaC1lZDI1NTE5AAAAIMHPkQPn4+cxxP2Ax29Ozhkvu7Vp0KMlPAncD6fFmqCb and in
base64-encoded X25519 form as
I use the corresponding private key to sign releases and git tags, and to authenticate myself more generally.