Laravel 8 with Wikimedia OAuth login
I recently wrote a little app called wikicrowd (blog post to follow) using Laravel and MediaWiki / Wikimedia authentication. It certainly wasn’t entirely out of the box, and the existing docs still need some tweaking. This post reflects the steps I went through to set this app up, and it should only take a few…
Tech Lead Digest – Q3/4 2021
It’s time for the 5th instalment of my tech lead digest posts. I switched to monthly for 2 months, but decided to back down to quarterlyish. You can find the other digests by checking out the series. 🧑‍🤝‍🧑Wikidata & Wikibase The biggest event of note in the past months was WikidataCon 2021 which took place…
mwcli CI in Wikimedia GitLab (docker in docker)
mwcli is a golang CLI tool that I have been working on over the past year to replace the mediawiki-docker-dev development environment that I accidently created a few years back (among other things). I didn’t start the CLI, but I did this mediawiki-docker-dev like functionality. As some point through the development journey it became clear…
Covid-19 Wikipedia pageviews, a first look
World events often have a dramatic impact on online services. A past example would be the death of Michael Jackson which brought down Twitter and Wikipedia and made Google believe that they were under attack according to the BBC. Events like the COVID-19 (Coronavirus) pandemic have less instantaneous affect but trends can still be seen…
Wikidata Architecture Overview (diagrams)
Over the years diagrams have appeared in a variety of forms covering various areas of the architecture of Wikidata. Now, as the current tech lead for Wikidata it is my turn. Wikidata has slowly become a more and more complex system, including multiple extensions, services and storage backends. Those of us that work with it…
Grafana, Graphite and maxDataPoints confusion for totals
The title is a little wordy, but I hope you get the gist. I just spent 10 minutes staring at some data on a Grafana dashboard, comparing it with some other data, and finding the numbers didn’t add up. Here is the story in case it catches you out. The dashboard The dashboard in question…
Using Hue & Hive to quickly determine Wikidata API maxlag usage
Hue, or Hadoop User Experience is described by its documentation pages as “a Web application that enables you to easily interact with an Hadoop cluster”. The Wikimedia Foundation has a Hue frontend for their Hadoop cluster, which contains various datasets including web requests, API usage and the MediaWiki edit history for all hosted sites. The install…
The Wikimedia Server Admin Logs
The Wikimedia Server Admin Log or SAL for short is a timestamped log of actions performed on the Wikimedia cluster by users such as roots and deployers. The log is stored on the WikiTech Wikimedia project and can be found at the following URL:Â https://wikitech.wikimedia.org/wiki/Server_Admin_Log An example entry in the log could be: 09:04 addshore: addshore@terbium:~$…
WMDE: CI, Deploys & Config changes intro
This is an internal WMDE presentation made to introduce people to the land of Wikimedia CI, MediaWiki deployment and config changes. This briefly covers: Jenkins & Zuul CI Config Beta Cluster SWAT The MediaWiki train Monitoring mediawiki-config The Docker & Kubernetes future?
From 0 to Kubernetes cluster with Ingress on custom VMs
While working on a new Mediawiki project, and trying to setup a Kubernetes cluster on Wikimedia Cloud VPS to run it on, I hit a couple of snags. These were mainly to do with ingress into the cluster through a single static IP address and some sort of load balancer, which is usually provided by…