Clean up Parsoid round-trip testing UI

Name and Contact Information
Name: Be Birchall

Email: 5xbebebebebe@gmail.com

IRC or IM networks/handle(s): be

Location: New York, NY, USA

Typical working hours: 9-5, Mon-Fri

Synopsis
The Parsoid project is developing a wiki runtime which can translate back and forth between MediaWiki's wikitext syntax and an equivalent HTML / RDFa document model with better support for automated processing and visual editing. It is currently mainly used in the VisualEditor project.

My project is to work on Parsoid's round-trip testing UI, including refactoring the code using a templating system. Using a templating system will allow us to separate code from UI, cleaning up the current mix of HTML and JavaScript. We are considering using a DOM-based templating system, which is in line with longer term goals of Parsoid.

Deliverables
December 10 - March 10 (13 weeks)
 * December 10 - 23 (2 weeks) - Research templating systems, focusing on DOM-based systems and writing about the results on a project subpage. (This continues work started as a "microtask.") Learn about desiderata for templating system for Parsoid's round-trip testing code by becoming familiar with the code base and discussing with others involved with Parsoid. Select appropriate templating system.
 * December 24 - January 6 (2 weeks) -
 * January 7 - 17 February (6 weeks) -
 * 18 February - 3 March (2 weeks) -
 * 4 March - 10 March (1 week) - Finalize documentation and code contributions.

About Me
I have been programming for about a year, and am a recent Hacker School alum. I've been programming mostly in JavaScript (including JQuery and D3.js), Ruby (including Rails and Sinatra), and some Scheme. I started programming just after completing a PhD in Philosophy at Princeton, and before that came from a math/logic background. I have a MSc in Logic from the Institute for Logic, Language and Computation at the University of Amsterdam, and a BA in Math/Philosophy from Reed College. I have an interest in free software, and a few years ago taught a writing course for Computer Science majors where we read and discussed, among other things, philosophical and legal aspects of intellectual property, including free and proprietary software.

Participation
I plan to use irc (Parsoid's channel #mediawiki-parsoid) and email with the project mentors to frequently check in: to ask for help and feedback, and to communicate progress. I expect to use GitHub to publish code while I'm working. I also expect to maintain a project blog.

Past Open Source Experience
Working on Parsoid at Wikimedia will be my first involvement with open source software as a contributor. The first step in my project is to research templating options, and (as a "microtask" -- currently in progress) I am creating a project subpage on Templating.

My own projects are all open sourced on GitHub, and (of course) I make a lot of use of open source projects for programming, such as programming languages and frameworks, as well as git/GitHub. Other examples of open source projects that I find myself using frequently are Google Chrome (which is mostly open source), and the typesetting program LaTeX.

I've also pursued an interest in free and open source software from a more theoretical perspective, and as mentioned in the "About Me" section above, I taught a related writing/discussion course.