the man  •  the programmer  •  the writer  •  the photographer

electron wrangling

Once upon a time, this meant running them from electrode to ground through a cloud of argon, where they did a beautiful dance hotter than the surface of the Sun, turning steel into liquid and drawings into reality.

Now I use them to write webapps and I get paid four times as much. Such is the duality of man.

Here are some things I've become familiar with:

Python, JavaScript, MediaWiki, Flask, Jinja, Bash, Node.js, Express.js, GNU/Linux system and webserver administration (Debian, Ubuntu, Fedora and Gentoo), MySQL, SQLite, PostgreSQL, Java, C++, HTML, CSS (desktop and mobile), Kubernetes, graphics processing, CNC machining and miscellaneous microcontroller tasks.

I can also write Lua, but I would prefer not to.




Sinepost (Express, MediaWiki, CSS, HTML)

A content management system based on a MediaWiki backend (with usable presentation) and providing a separate external web frontend, with different styling and configurable header/footer content. Currently serving the Signpost from signpost.news.

Startist (Python/Flask hosted webapp)

Interactive web application to parse a Wikipedia editor’s contributions and show all new discussions they’ve opened.
Frontend is handled with JavaScript and HTML forms. Backend is a Flask app running on Kubernetes, which runs a set of Python scripts doing Wikimedia database queries and returning output rendered with Jinja templates.

Pogslide (JavaScript clientside webapp)

A standalone single-page webapp that uses gif.js to turn images into "galloping" animations that scroll from side to side. Direction, framerate and pixel stepover are adjustable, with live estimation of output.
All styles and scripts are inline to the page, so it's usable either online or from a locally-saved copy.

SVG Spinner (Python, SVG)

Did you know that SVGs are text files? And text files are strings...
Modify themes, generate assets and modify vector graphics easily from the command line.
Parses an SVG (Scalable Vector Graphics) image and modifies its hex values to create a number of distinct variations by "spinning" its colors to create 40 variations (hue, brightness, saturation, and color overlay).

PressPass (JavaScript)

This software is a Greasemonkey extension adding features to Newspapers.com, which work for subscribers as well as free users. It gives you a few very powerful tools on the search page, as well as for individual clippings.
PressPass can be configured for five different citation styles: the English Wikipedia's {{cite news}} template, MLA 9th Edition, APA 7th Edition, Chicago, and BiBTeX.

Oracle for Deletion (Python, Bash, SQL)

A series of scripts that parse, interpret and tabulate live dashboards and historical data for Wikipedia article deletion debates, encompassing some half-million discussion pages. Output is given in wikitext markup, which is uploaded by a bot on the English Wikipedia.

Imperfect Fifth (Python)

Command-line utility that takes a .WAV sample as input and uses pitch transforms with sox to create a full 88-note keyboard of samples. Output can be tuned based on specifying different baseline notes for the input sample.

Joystuck (Python, hidapi)

Uses hidapi to connect to a human interface device, decode ADC output and contact-switch bitfields, and send configurable sounds/keyboard events specified in customizable .toml configuration files.