It was a long weekend filled with hacking anything related to MediaWiki or one of the Wikimedia projects (and sometimes other things, too). The Hackathon is completely open; we welcomed both seasoned and new developers, as well as people working on MediaWiki, tools, pywikipedia, gadgets, extensions, templates, etc.
The venue can easily be reached by public transport:
NS Train to Amsterdam Muiderpoort, +- 900m walk. 2.10 €, single ticket can be bought from the vending machines or counters in the train station. If you're traveling from Schiphol Airport, buy a ticket to Amsterdam Muiderpoort from Schiphol (3.90 €, train runs every 30 min direct, with change more often) rather then buy a second ticket at Amsterdam Centraal. (walking directions, ns.nl schedules)
GVB Bus 22 to Zeeburgerdijk +- 300m walk. 2.80 €, single ticket can be bought on board of the bus.
The dorms tend to consist of bunk beds where each bed has its own light and power supply. Inside each dorm there is a separate toilet and a separate shower. A sink is available in the dorm itself. You have to bring your own towels or rent them at the hostel.
We held the following workshops during the Amsterdam Hackathon.
Set up your development environment for MediaWiki
Presenters: Sumana Harihareswara, Mark Holmquist
We explained how to get set up so each participant can work on code and suggest her or his improvements to the MediaWiki maintainers -- including using Git, Gerrit and coverage for Mac, Linux, and Windows. All instructions provided were in Gerrit/Getting started (that page and its links are the slides).
NOTE: This workshop previously included a tutorial on getting a Vagrant instance set up. Our feeble conference wifi couldn't handle 25 simultaneous attempts to download a 300 megabyte file, and most of the workarounds we tried were insufficient, so we've decided to be more thorough about getting Git set up. If you want to set up Vagrant and are having issues following the instructions on mediawiki.org, you should contact User:MarkTraceur.
Thanks to Max Semenik, Jens Ohlig, Sam Reed, and Brad Jorsch for assisting participants.
Question: How can you set up the Eclipse plugin for review? Answer.
Workshop description to be determined.
Interface design solutions for 5 problems in one hour
In this session, designers and user interaction experts helped each participant solve 5 interface design problems for their code in one hour. The session started with a 10 minute introduction of the methodology (view slides), and then, at a rapid pace, each person contributed to solving five interaction and design problems in 10 minutes each.
Lua in MediaWiki with Scribunto
Presenter: Brad Jorsch
This session featured a short introduction (with hands-on code examples) to MediaWiki's Scribunto extension—why we created it and how it works—followed by discussion on actually converting those pesky expensive templates to use Lua, and make your wiki faster.
Chris Steipp shows you how to prevent falling into often-seen security holes and improve your skill level (slides).
Tim Starling explains why caring about performance of your code is important if 23 billion pages per month have to be served by a website, and where to look to improve the performance of your code (slides).
Using Wikimedia Labs, migrating from Toolserver
Presenters: Ryan Lane and Marc-Andre Pelletier
Wikimedia Labs - In this part of the session, we guided participants through setting up a first Labs project.
Labs and Toolserver - In this part of the session, we informed participants about the latest on migrating Toolserver projects to Labs, and on what changes one might need to make in a bot or web tool to take advantage of the Tool Labs environment.
Wikibots (pywikipedia and others)
Presenters: Merlijn van Deen, Maarten Dammers
The Python Wikipediabot Framework is a collection of tools that automate work on MediaWiki sites. How can you use pywikipedia to write a simple bot? And how can you help improve pywikipedia and its documentation to help make bots better?
The goal of this workshop was to get you started, by installing and configuring pywikibot and its prerequisites. After explaining the basic principles, the presenters showed three example bots: two Wikidata bots and one GLAM bot. After this, the presenters answered questions on running and writing bots.