User:Sputniza/OPW Progress Report

This page shall include weekly progress reports for the Wikipedia Education program project as a part of Outreach Program for Women for User:Sputniza.

Relevant Links

 * project schedule agreed with mentors (in progress)
 * phabricator project education-program-design-research

Lessons learned (and actions taken) since 12 November

 * precise coordination is important for a collaboration with people in different time zones and no overlapping office hours
 * installed Ubuntu (as double boot so far) on my mac
 * installed my first blog (wrote my very little first post) and connected the rss with the Outreach Planet
 * initiated first google-hangout with my mentors
 * installed a shared google calendar for time lines
 * created a conpherence on phabricator and invited the mentors
 * set up an IRC client and understood how various IRC Channels are used
 * attended the OPW career office hour with Erin and Tim
 * started to get familiar with trello

Communication Plan

 * agreed some regular time slots with my mentors (Sage Ross, Andrew Russell Green) when we can have live video call in a Google Hangout
 * use IRC for ambient discussion
 * use Email for more specific or urgent issues
 * agreed on trying to make some personal contact with Wikimedia office Berlin to get more familiar with the company and people

Goals for first half of Internship

 * having started some prototype-based testing with professors and/ or students
 * side-goal: having completed at least one small code-based contribution

Week 1: December 9 - December 15

 * 1) got familiar with phabricator
 * 2) started setting up Vagrant, Git and Virtual Box to establish an developper's evironment
 * 3) reported a first bug T8153 on phabricator after discussing the problem at #opw on IRC
 * 4) took a tour and training on php-syntax
 * 5) visited Wikimedia Berlin office and worked with Katie Filbert on setting up the environment - without final success - but gained a lot of insight in the working process and tools of Mediawiki development

Week 2: December 16 - December 22

 * 1) reinstalling ubuntu and the whole VM-Vagrant-envrironment
 * 2) discussing more vagrant issues on #wikimedia-dev / manually cloning the mediawiki-core helps solving the current problem
 * 3) finally got vagrant and the VM running. yay!
 * 4) discussing the work flow of approaching a bug on the instance of T74889, examining the code
 * 5) setting up backlog tasks on phabricator
 * 6) multiple meetings and discussions via IRC, Google hangout and mail with my mentors

Week 3: December 23 - December 29

 * 1) ill most of the week :(
 * 2) got into the comments and problems considering the education program on education noticeboard
 * 3) started lining out the interview

Week 4: December 30 - January 5

 * 1) fully recovered from illness only by the 4th of Jan
 * 2) finished a first outline of the interview
 * 3) created a wikipage to publish the draft and to collect comments and linked it to the related task T78673 in phabricator
 * 4) scheduled an online meeting with my mentor for the week
 * 5) scheduled a meeting with a programmer friend of mine to get support in tracing the bug T74889
 * 6) lots of reading and researching starting from the noticeboard and on, to get an deeper understanding of what´s going on between EP and the community

Week 5: January 6 - January 12

 * 1) could not attend OPW career advising (because of night time), so I took some time to read the log
 * 2) with the help of Tilo Geissler achieved a better understanding of how to navigate the Education program extension code
 * 3) used firefox debugger and grep first time
 * 4) detected the responsible piece of code for bug T74889
 * 5) as surprisingly JavaScript not php, I did an introduction and some training in Javascript
 * 6) trying to add some code for the check - found out about and used dpaste (for troubleshooting and discussions on IRC), regular Expressions and of course some basic Javascript
 * 7) Hangout with Sage and with live support first use of git and gerrit and 1st official code commit! - still not perfect
 * 8) Got introduced to other people in Wikimedia engaged in the Education Program, scheduled some online meeting to get an update on the evaluation already done and the feedback already collected

Week 6: January 13 - January 19

 * 1) spoke to Kacie Harolds who did some interviews before to profit from her experiences
 * 2) More training in programming (especially python and JS)
 * 3) Looking for tools to capture audio during the interviews http://blogs.techsmith.com/tips-how-tos/skype-google-hangout-video-calls/
 * 4) Some getting familiar with the rich options on FOSS conferences and meet ups
 * 5) Getting myself into using phabricator for denoting upcoming tasks
 * 6) Drafting more blogpost/ not published yet
 * 7) Starting to put questions into words
 * 8) reported new bugs

Week 7: January 20 - January 26

 * 1) Python, python, python
 * 2) Interview questions
 * 3) Pdf form - personal data
 * 4) got introduced to people who could be good interview partners
 * 5) did my first db queries and used the API

Mid-Internship Report
It seems like I'm quite behind with my schedule concerning the interviews and the evaluation. But this is mostly because we (me and my mentors) reframed the task a bit. As in my proposal I did not dare to include name any goals concerning coding, I already knew by then I would love to learn more about the developers side of mediawiki. It was simply too difficult to imagine any reachable goal, as I had no experience in coding at all. Thanks to the encouragement, patience and support of both my mentors I now gained a deeper insight. Starting from vagrant, git, gerrit, some php, javascript and now python, databases, queries and more I have been dealing with a lot of stuff, I nearly knew how to spell before or haven't even heard of. Learning stuff takes a lot of time. So the last couple of weeks of my internship were all about following up with what we planned to do on the one hand and diving into the yet unknown (with following up small coding tasks) on the other. Only now I have reached a point where I could luckily merge the one with the other. Building on my very basic knowledge so far I, in addition to getting on with the qualitative interviews of the research, I will start writing some small python scripts to quantify the success (in edits, articles, students ..) of completed courses.

Week 8: January 27 - February 2

 * 1) found out about how-to-record a hangout
 * 2) wrote blog post about it
 * 3) test interview with Ryan McGrady
 * 4) transcribing parts of the interview
 * 5) deciding with Sage, that transcribing everything would be too time-consuming, so I will try to sum up instead and save the audio files for later inspection if wished
 * 6) some small python scripting
 * 7) learned some stuff about APIs and Databases - very basic

Week 9: February 3 - February 9

 * 1) session with Andrew to rebase the patch
 * 2) did some tutorial on API queries
 * 3) more and more on Python and algorithms
 * 4) open github account
 * 5) two more ill days in bed for this winter :(

Week 10: February 10 - February 16

 * 1) request to participate in the interviews
 * 2) created a labs account
 * 3) received access to the tools project
 * 4) ssh connect
 * 5) quarry and databases
 * 6) ongoing self learning python (edx mostly)

Week 11: February 17 - February 23

 * 1) completed the transcript of the interview
 * 2) could after some trouble shooting (and also some server side troubles - sometimes hard to distinguish) ssh connect to the tools server
 * 3) cloned git repository to the tools server
 * 4) understood how to run python scripts and use database access on the tools server
 * 5) getting familiar with algorithmic thinking - solving Euler problems
 * 6) ongoing self learning python
 * 7) first time used a command line text editor (nano and vi)

Week 12: February 24 - March 2

 * 1) booking flight to libre planet/ Boston - yeah!
 * 2) working hard to complete my python assignments
 * 3) publishing a new interview from Avery Dame
 * 4) starting work on final report