Name: James D. Forrester
Type: User
Company: @wikimedia
Bio: Coder @Wikimedia on Abstract Wiki; ex dev productivity; ex SDC; ex product manager; ex. UK Civil Servant, @alphagov @DataGovUK et al.; political geek. He/him/hi
Twitter: jdforrester
Location: New York City, NY, United States
James D. Forrester's Projects
Analysis of the impact of the HTTPS switchover in Iran
Node task to check use of the "Banana" JSON i18n system provided by MediaWiki and jquery.i18n.
Merge one or more additional composer.json files at Composer runtime
Python tools to analyze databases, like finding drifts or abstracting sql
Library for compressing and decompressing strings in JavaScript, feature full Unicode support and is compatible with most browsers.
Elastica is a PHP client for elasticsearch
Embed URLs as base64 strings inside your stylesheets
Grunt plugin for CSScomb—CSS coding style formatter
CSSJanus Grunt plugin – Convert stylesheets between LTR and RTL
Validate files with ESLint
Grunt plugin for Karma.
Apply several post-processors to your CSS using PostCSS.
Write asynchronous grunt tasks with Q promises.
Grunt plugin to rasterize SVG to PNG images using PhantomJS
A grunt task to check files for typos and fail if any are found
Deployment helper IRC bot
jQuery based internationalization library
Universal Language Selector
A Karma plugin. Adapter for QUnit testing framework.
Github mirror of "labs/tools/pywikibugs" - our actual code is hosted with Gerrit (please see https://www.mediawiki.org/wiki/Developer_access for contributing
Github mirror of mediawiki/extensions/TemplateData - our actual code is hosted with Gerrit (please see https://www.mediawiki.org/wiki/Developer_access for contributing)
JavaScript Code Style checker
JavaScript media player using Ogg/Vorbis/Theora/Opus/WebM libs compiled with Emscripten
With Patch Demo, you too can spin up a MediaWiki instance running a particular patch from Wikimedia Gerrit.
Source for https://phabricator.wikimedia.org/p/Maintenance_bot/
Python-based Bugzilla reporter
A workaround for the Range.getClientRects bug in Chrome
Half baked ideas for things at work