Hi! I'm η (eta), and I write software. I also occasionally write blog posts, and run some Linux servers (theta.eu.org is one of them). Below are various lists of things I've done and am currently doing. Feel free to take a look through! I don't tend to use my real name on the internet much (for privacy reasons). You can contact me using the links at the bottom of the page, if you have questions, comments, or just want to say hi!
recent blog posts (see all)
- sms-irc - Bridges SMS & WhatsApp messages through to internet relay chat (IRC), using a USB 3G modem and the reverse-engineered WhatsApp Web APIs. WIP 2019-07-14
- trainsplorer - Train data/timetable explorer - eventually, will predict when level crossings in the UK will open and close ahead of time, using open data from Network Rail and the Rail Delivery Group. WIP 2019-06-25
- 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. 2019-04-11
- 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. 2018-03-29
- 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. 2017-11-18
- huawei-modem - Rust library to communicate with USB 3G modems made by Huawei, allowing developers to send & receive SMS messages programmatically. 2019-05-03
- paroxysm - A bot for internet relay chat (IRC) that lets you store small factoids in a wiki-like database, and retrieve them later. Inspired by the ##crawl LearnDB. 2018-12-18
- 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. 2018-10-27
- matrix-appservice-sms - Bridges SMS messages through to the novel matrix.org communications platform, using huawei-modem and the matrix.org Application Service API. 2018-05-29
- Glitch in the Matrix - Rust library to communicate with a matrix.org homeserver, using their Client-Server API. 2018-05-29
- unbounded-gpsd - Rust library to communicate with the gpsd GPS server over the network, allowing developers to build location-aware Rust apps. 2017-06-30
- inebriated - A fun ‘intelligent’ chatbot that spits out random phrases, implemented in various different languages as a programming exercise. 2016-02-27
- Ultimate Wolfgame - Lets you play Werewolf (a popular party game) with other people, using an automated system to moderate the game. 2015-11-14
- capybara - A very minimalist C program to display a desktop toolbar, from a while back. 2015-08-03
- You might also be interested in git.theta.eu.org or my GitHub, both of which show recent activity and some other minor projects not included here.
- 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
- 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
- HTML/CSS skills are somewhat rudimentary; I wouldn't describe myself as a highly skilled web designer. I've made this website which you're looking at right now, and was commissioned to design abmckerron.eu.org back in 2016, but don't have much experience.2015-now
- PostgreSQL has served as my go-to database solution for the past year or so, being used in projects as simple as paroxysm & matrix-appservice-sms and as complex as trainsplorer (a project which required lots of database fine-tuning due to the large amount of data involved).2017-now
- Kubernetes (k8s) skills are also rather rudimentary at this stage; trainsplorer is currently undergoing a full microservices-and-k8s rewrite, in order to solve its architectural problems.2019-now
View my complete reading log.