Posts tagged: mediawiki

gerrit-grr 5.0

I recently released 5.0.0 of my grr tool that makes working with Gerrit easier. It is an alternative to git-review; I personally think grr is more straightforward to use, but I also haven't used git-review since 2014 when I first got frustrated enough to create grr. I had let it…

Building a less terrible URL shortener

The demise of goo.gl is a good opportunity to write about how we built a less terrible URL shortener for Wikimedia projects: w.wiki. (I actually started writing this blog post in 2016 and never got back to it, oops.) URL shorteners are generally a bad idea for a few main…

Upload support in mwbot-rs and the future of mwapi_errors

I landed file upload support in the mwapi (docs) and mwbot (docs) crates yesterday. Uploading files in MediaWiki is kind of complicated, there are multiple state machines to implement and there are multiple ways to upload files and different options that come with that. The mwapi crate contains most of…

A short Scribunto sprint

I recently did a short sprint on Scribunto, the MediaWiki extension that powers templates written in Lua. It's a very stable extension that doesn't see very many changes but given how useful it is to making most wikis work, I thought it could use some love. Patches written: Simplify creating…

Board Election results, next steps

Unfortunately, I didn't make it onto the Wikimedia Foundation board, you can see the full results. In the first round I was behind by ~280 votes, which is pretty close considering nearly 6,000 votes were cast! I already said it, but I'm really thankful to everyone who supported me, whether…

Vote for me in the WMF Board Election

I am currently running for the Wikimedia Foundation Board. You can read my answers to community questions and see the endorsements from other Wikimedians. Voting opens in a few hours and runs through September 6. The best way to support me in the election is: Vote using SecurePoll Rank me…

A belated writeup of CVE-2022-28201 in MediaWiki

In December 2021, I discovered CVE-2022-28201, which is that it's possible to get MediaWiki's Title::newMainPage() to go into infinite recursion. More specifically, if the local interwikis feature is configured (not used by default, but enabled on Wikimedia wikis), any on-wiki administrator could fully brick the wiki by editing the [[MediaWiki:Mainpage]]…

Interviewed on Between the Brackets podcast

I was recently interviewed on Between the Brackets: A MediaWiki podcast: Episode 112 - Kunal Mehta. I'm the first ever repeat guest, my first appearance was in 2018 in Episode 9. You can listen through the web interface or in your favorite podcast client. Thanks to Yaron Koren for having…

Building fast Wikipedia bots in Rust

Lately I've been working on mwbot-rs, a framework to write bots and tools in Rust. My main focus is for things related to Wikipedia, but all the code is generic enough to be used by any modern (1.35+) MediaWiki installation. One specific feature of mwbot-rs I want to highlight today…

What it takes to parse MediaWiki page titles...in Rust

In the UseModWiki days, Wikipedia page titles were "CamelCase" and automatically linked (see CamelCase and Wikipedia). MediaWiki on the other hand uses the famous [[bracketed links]], aka "free links". For most uses, page titles are the primary identifier of a page, whether it's in URLs for external consumption or [[Page…