About me

I am a software developer living in Sapporo, Hokkaido, Japan. My interests include Wikimedia, machine learning, and all things Python.

Projects

I have been editing Wikipedia since 2010, and I have been a volunteer developer there since 2013. The main projects I have taken are listed below; for a more complete list take a look at my Wikipedia user page.

Sensitive IPs

A framework for flagging IP addresses that belong to politically sensitive organisations. Includes a Lua API for fetching sensitive IP address data, JavaScript code for warning Wikipedia administrators if they are about to block a sensitive IP address, a module for generating summary tables, and libraries to provide easy access to the API from JavaScript.

IP

A Lua library for manipulating IP addresses and subnets. It has support for IPv4 and IPv6, and allows operations on custom collections of IP addresses and subnets. Co-authored with Wikipedia user johnuniq.

Draftify

A JavaScript gadget to allow Wikipedia editors to move personal draft articles to the “Draft” namespace where all editors are free to edit them.

SpamUserPage

A JavaScript gadget to allow Wikipedia administrators to quickly deal with users who post spam to their user pages.

SignpostTagger

A framework for adding tags to articles of the Signpost, Wikipedia’s volunteer-produced newspaper. It includes a JavaScript gadget for adding tags and a Lua module to display articles based on tag and date.

Article history

A banner that shows milestones in the history of a Wikipedia article. Used on over 38,000 pages and on eight different wikis.

Documentation

A Lua module to render documentation page content for Wikipedia’s modules and templates. Used on more than 100,000 pages on the English Wikipedia, and also used on nearly 70 other wikis.

Arguments

A Lua library for processing module arguments passed from wikitext. The most widely-used module on Wikimedia sites, it is used on 19.2 million pages on the English Wikipedia alone, and has been ported to nearly 150 other wikis.

Template test case

A Lua module for generating test cases for MediaWiki templates. It is modular and flexible, with two input formats and several output formats.

Wikipedia ads

Wikipedia doesn’t run ads, but Wikipedia editors do sometimes use the Wikipedia ads Lua module to advertise subprojects and community pages to other volunteers.

Message box

Wikipedia page displaying a message box

A Lua library for generating banner templates. Used on 5.5 million pages on the English Wikipedia, and also used on around 90 other wikis.

Protection banner

A Lua module that generates protection banners and padlock icons seen at the top of Wikipedia pages that have been protected from editing. Used on 24,000 pages on the English Wikipedia, and also used on around 60 other wikis.

Category handler

A Lua module to help templates to control how they output MediaWiki categories. Used on over 7 million pages on the English Wikipedia, and also used on around 100 other wikis.