User:YuviPanda

INCOMPLETE! And will probably completely change. Bewarned!

Identity
Name: Yuvaraj Pandian

Handle: YuviPanda

Working Info
Time zone: UTC+0530

About Me
I'm Yuvi, a 20 year old programmer from Chennai, India. I'm part of the dev team maintaining http://busroutes.in, a crowdsourced public transportation information site. Currently I'm working on wikifying it (http://wiki.busroutes.in) using semantic mediawiki. I was also a Google Summer of Code Student last year (2010), working with GNOME on Cheese (http://live.gnome.org/Cheese). I hack on Python, C, Vala & C# whenever I get the chance, and used to do statistical analysis in a previous life.

Contact
IRC: yuvipanda on freenode, oftc and gimpnet

Email: yuvipanda@gmail.com

Project summary
The aim of the project is to convert the Wikipedia 1.0 Bot into a series of MediaWiki extensions. While the current bot does it's job, it is written in perl, not easily usable outside enwiki and needs some amount of manual intervention to be run. Converting it to a set of loosely coupled MediaWiki extensions would enable faster development, make i18n easier (via Translatewiki), enable use by other MediaWiki installations and eventually solve world poverty. It will still be a (parse assessment data -> store in db -> display) based architecture, but will be flexible enough to be modified later without having to change everything.

This GSoC project would replicate all the features of the current bot, and provide backwards compatibility to current assessment tools. This means extensions for:


 * Special Page for assessment changes log. Replacement for this
 * Magic Keyword for including statistics about assessment classes. Special Page to view them. Replacement for this.
 * Special Page for Article Lists per project, grouped by Importance, Quality, etc. Replacement for this

While these are the user facing extensions, several other supporting extensions would need to be developed as well. The ones identified so far are:


 * Pluggable assessment information parsing. Initially, extension that is fully backwards compatible with the current assessment templates will be built.
 * Common data access code. Makes sure caches are properly used.
 * Updater script, that runs through the database and updates the assessment data statistics.

Required deliverables

 * 1) Extension to provide common data access code for other extensions
 * 2) Extensions to parse Assessment Info (pluggable skeleton + implementation for current assessment templates)
 * 3) Updater script to parse and update assessment data
 * 4) Extension to provide a Special page for assessment changes log.
 * 5) Extension to provide a Special page to view assessment class statistics (overall and per project).
 * 6) Extension to provide a magic word to include statistics about assessment (overall and per project) into wiki pages.
 * 7) Extension to provide a Special page for listing articles per project based on their assessment status.
 * 8) Integration with Translatewiki

Future work

 * 1) Integration with Extension:Collection

Community Bonding Period

 * Familiarize myself more with the codebase and the current community workflow
 * Write a few more extensions. Familiarize myself with how extensions work.
 * Read through the current perl source and familiarize myself with how it runs.
 * Crack jokes on IRC at appropriate times.

Participation
I'm reasonably chatty, and don't hesitate to consistently bug people. I like working in long uninterrupted blocks in the night - which makes me active at around the same time as most other people on #mediawiki. Ideally I would work via a git repo in github/private-server that is constantly updated to match trunk, but I don't mind working on a branch in svn. I'll blog regularly about my progress, for both documentation and flaunting purposes :) Ideally, I'd like to get my changes deployed in the WMF servers before next summer.

Past open source experience
I was a Google Summer of Code participant last year, working on Cheese (part of GNOME). I also contribute to PiTiVi, a Linux Video Editor. I maintain Busroutes.in, a open source, open data, crowd-sourced website for collecting/displaying local transportation information. I write code whenever I can and release those that could even remotely be useful to anyone else under a BSD License on GitHub. I've helped out at several open source workshops, and given talks. I run tawp.inI, a shorturl site for the Tamil Wikipedia. I also wrote a mediawiki plugin for Short Urls - Extension:ShortUrl, which makes the shorturl originate from the same domain as the wiki. I've also worked on forward porting a performance patch for mediawiki(see 5303).

Any other info
Architechural diagrams to come here