(This is in draft mode.)
Name: Anna Liao
Email: aliao22@gmail.com
IRC or IM networks/handle(s): anna
Web Page / Blog / Microblog / Portfolio: http://anna-liao.github.io/
Resume: http://anna-liao.github.io/images/gh-resume-2016.pdf
Location: Calgary, Alberta, Canada
Typical working hours: M-F start 8-9am, end 5pm (Mountain Time Zone). I'm an early to bed, early to rise person. I'm usually up at 4:30am, but I do a morning swim workout to start my day.
**Synopsis**
Short summary describing your project: what it means to accomplishThis project will be to develop a Python library to serialize Wikimedia Quiz format, GIFT quiz format, and how it will benefit Mediaperhaps other quiz formats. This library will take a Wiki or Wikimedia projects such as Wikipedia.versity quiz and allow export to other quiz formats.
Possible Mentors: John Vandenberg, Mvolz
**Deliverables**
Please describe the details and the timeline of the work you plan to accomplish on the project you are most interested in (discuss these first with the mentor of the project).
Include a brief, clear work breakdown structure with milestones and deadlines. Make sure to label deliverables as optional or required. It’s OK to include thinking time (“investigation”) in your work schedule. Deliverables should include investigation, coding, deploying, testing and documentation.
For the outreachy application, a small contribution to complete a microtask will be made for pywikibot. analysis to find features missing from each format, so we can work out acceptable modes of degraded exporting.
A good preparation task, is starting on the design work for https://phabricator.wikimedia.org/T148161 , and you may build draft python class code to show how you would implement it.
50% time for core tasks. Minimum viable product developed at mid-term.
50% time for testing, bugfixing, documentation, and deployment.
Since the estimated time for an experience developer is 3 weeks, the estimated time for an intern is 9 weeks (assuming that includes development, testing, bugfixing, documentation, and deployment).
The biggest hurdle is the Quiz format used by the MediaWiki extension is not well documented, which is fairly easy to fix, however it is a risk as we cant yet do a gap analysis of MediaWiki Quiz format vs GIFT format - there could be some very large differences that cause the difficultly of this project to rise steeply, and/or require a scope change.
One of the goals is that a new github repo and pypi package would be created for the generic and re-usable functionality . That package would then be used by Pywikibot as required to perform bot operations. However the package should also be usable for other applications and purposes.
**Proposed Schedule**
The internship period is from Dec. 6, 2016 to March 6, 2016
| **Period** | **Task**
| ------------ | ----------
| Before Dec 6 | Community bonding.
| Dec 6 - Dec 16 | Task 1
**Participation**
We don't just want to know what you plan to accomplish; we want to know how. Briefly describe your work style: how you plan to communicate progress, where you plan to publish your source code while you're working, how and where you plan to ask for help. (We will tend to favor applicants that demonstrate a clear vision for what it means to be an active participant in our development community.)
- Project updates and progress will be documented [[ https://www.mediawiki.org/wiki/User:Miriya52/PythonLibrary_serialize_Wikimedia_Quiz_format | here ]].
- Discussion with mentors of preferred communication modes via email, irc, or slack. During proposal preparation, discussion with mentors will be via [[ https://phabricator.wikimedia.org/conpherence/ | conpherence ]].
- Discussion with mentors of where source code will be published.
**About me**
I have a M.S. degree in Robotics from Carnegie Mellon University and B.S. degree in Electrical Engineering and Computer Sciences from University of California, Berkeley. After graduate school, I worked as a Microdevices Engineer for 4.5 years at NASA Jet Propulsion Laboratory supporting research on extreme environment sensors. I then decided I wanted to work on technology to benefit the environment (on Earth) and worked as a general purpose hardware/software engineer at Lawrence Berkeley National Laboratory (U.S. Dept. of Energy) supporting research to understand energy use in urban infrastructure.
I heard about the Outreachy program through social media, and thought this was an excellent opportunity to work on an open source project with guidance from mentors. I am only applying for Outreachy (not eligible for GSoC).
I plan to work full-time from Dec 6, 2016 to March 6, 2017. I do not have any planned vacations during that time. I also volunteer as a project manager for a non-profit called Code for Community (Code4C) to build a software enhancement or feature for other non-profits. The time I spend on Code4C will be outside of the (at least) 40 hours per week that I have planned for Outreachy.
I am excited to be giving back to open source since I have been able to use many open source libraries and packages for my projects. I also like the community aspect of open source. Just this past year, I really enjoyed the experience of attending PyCon, and also looking forward to attending PyCon Canada in November 2016. I like building systems that are useful, and writing code for open source and MediaWiki will be a benefit to many users. The feature I would be building for this project is an enhancement for Wikiversity. I have taken MOOCs and it would be an honor to be able to contribute to an open online educational site.
**Past experience**
I developed in Python, mostly on Linux, for our projects at LBNL to understand energy use in buildings and on the distribution grid. I used several FOSS python modules and libraries to build these systems.
Please describe your experience with any other FOSS projects as a user and as a contributor:
Please describe any relevant projects that you have worked on previously and what knowledge you gained from working on them (include links):
What project(s) are you interested in (these can be in the same or different organizations)?
Do you have any past experience working in open source projects (MediaWiki or otherwise)?At LBNL, I built systems that used open source systems created by graduate students at the UC Berkeley [[ https://github.com/SoftwareDefinedBuildings | Software Defined Buildings ]] group. I also used many Python modules including requests, matplotlib, django, flask, If soetc. During these years of using these open source packages, tell us about it!I was amazed at what was available for free, If you have already written a feature or bugfix in a Wikimedia technology such as MediaWikibuilt by people around the world. It was also fun to explore different possibilities and features, link to it here;and since it was all free, we will give strong preference to candidates who have done soI could try building many things just with a basic Linux platform.
**Any other info**
Please add any other relevant information -- UI mockups, references to related projects, a link to your proof of concept codeMost of my development for my LBNL were in private repos, whatever. There are no specific requirements, but we love to see people who love what they're doing. Show us you're excited about this project and have an interest in the background and are considering how best to make your idea worksubject to IP agreements and such. [[ https://github.com/anna-liao/Misc/blob/master/Gridium-Go-clean.ipynb | Here ]] is an example of my code to implement a move in Go. I wrote this during a 3 hour flight.
**See also**
Add other links that might be relevant. (optional)