hello there
Hi! I'm eta, a programmer, hobbyist sysadmin, and transport enthusiast from London. This website has some of the things I've done and written about recently! My pronouns are she/her, and my name is always written lowercase (even at the start of a sentence!) Feel free to get in touch using the links at the bottom of the page.
writings
projects
- intertube - Explore the London Underground and Elizabeth line, using data from Transport for London’s Trackernet feed and Network Rail. WIP
- whatsxmpp - Made it possible to chat to people on WhatsApp from your XMPP/Jabber account. Jun 2021
- sms-irc - Bridged SMS & WhatsApp messages through to internet relay chat (IRC), using a USB 3G modem and the reverse-engineered WhatsApp Web APIs. Nov 2019
- huawei-modem - Rust library to communicate with USB 3G modems made by Huawei, allowing developers to send & receive SMS messages programmatically with GSM 03.40 PDUs. May 2019
- The Physics Penitentiary - A team entry into the Weizmann Institute’s international “safe-cracking” tournament, where I was responsible for all of the (quite challenging!) electronics and embedded programming. Apr 2019
- SQA - An attempt at creating a free version of QLab (an audio application for live theatre productions) using Rust and GTK+, which failed, but taught me lots about application development. Nov 2017
- etascrobbler - A small webapp that powers this site’s now playing page. Nov 2020
- paroxysm - A quote bot for the TVL IRC channel; keeps track of funny things people say and can be queried later for entertainment value. (Originally, this bot was far more boring.) Aug 2020
- spectrum2 fork - A fork of the popular Spectrum 2 transport program for XMPP/Jabber (which lets you talk to people on mainstream chat networks like Discord, Facebook, … from XMPP), with a fair few things tidied up (also, it builds using Nix!) Jul 2020
- Asterisk Jingle patches - I made real telephone calls from my phone’s XMPP client (Conversations), by patching the open source Asterisk VoIP server, and gave a talk about it at the (virtual) Berlin XMPP meetup! Jun 2020
- somewhat immature SMTP server - A small, silly SMTP server written in Common Lisp that shovels emails into Request Tracker (which I was foolish enough to use as a mail client for a while). May 2020
- whatscl - A WhatsApp Web library for Common Lisp, based off the work done in the whatsapp-web-reveng project. Apr 2020
- cl-piglow - Controls the various pretty coloured lights on a PiGlow extension board for Raspberry Pi from Common Lisp. Dec 2019
- osmpbf - A Common Lisp library that reads OpenStreetMap PBF-format map files, for whatever mapping-related needs you may have! Dec 2019
- Computing NEA - For my AQA Computing A-Level Non-Examined Assessment, I built a fancy IRC server that stored messages in a database. Dec 2019
- trainsplorer - Tinkering around with UK railway open data for fun, using Rust and microservices. Sep 2019
- mfl-gramophone - Plays audio (using JACK) when it receives Open Sound Control (OSC) commands. Used in an on-stage wireless gramophone prop for the play My Fair Lady. Oct 2018
- matrix-appservice-sms - Bridges SMS messages through to the novel matrix.org communications platform, using huawei-modem and the matrix.org Application Service API. May 2018
- Glitch in the Matrix - Rust library to communicate with a matrix.org homeserver, using their Client-Server API. May 2018
- Systems GCSE CAT - As part of the Systems & Control WJEC GCSE, I designed, built, and programmed a project to aid deaf users in hearing auditory notifications. Mar 2018
- unbounded-gpsd - Rust library to communicate with the gpsd GPS server over the network, allowing developers to build location-aware Rust apps. Jun 2017
- inebriated - A fun ‘intelligent’ chatbot that spits out random phrases, implemented in various different languages as a programming exercise. Feb 2016
- Ultimate Wolfgame - Lets you play Werewolf (a popular party game) with other people, using an automated system to moderate the game. Nov 2015
- capybara - A very minimalist C program to display a desktop toolbar, from a while back. Aug 2015
etascrobbler, paroxysm, spectrum2 fork, and 15 more small projects (click to expand)...
skills
programming
- Rust is the language that I'm most fluent in - a lot of the projects above were written in it. I even wrote a small Rust tutorial series back in 2016 when I started learning the language.2016-now
- Common Lisp is probably my favourite language for new projects nowadays (mainly due to its emphasis on iterative development). whatsxmpp was written entirely in CL, as was my Computing NEA.2019-now
- C is the first systems programming language I ever learned, and I'm still fairly familiar with it nowadays. I've used it for various Arduino-based electronics projects, such as the Systems & Control GCSE CAT. I also used it back in 2016 to make inebriated C edition, and in 2015 to make Ultimate Wolfgame.2015-now
- JavaScript was my first ever programming language - starting with Node.js v0.8 way back in 2012 (!). Recent projects (i.e. from 2015) haven't really used it that much, though.2012-2015
non-programming
- I also play the trombone. Here are some random pieces of music I'm working on. (mostly transcribed from tunes I like)