Contributions Github Blog Social media

Marty Hernandez Avedon (he/they), Outreachy Winter 2018 Intern and Contributor at Mediawiki

My laptop case.

I'm a software developer from New York City.

I attended Pursuit (formerly known as C4Q) from 2016-2017, after teaching myself how to program with Python, and learning some basic web development skills.

Upon graduating from Pursuit, I worked on some iOS apps, tutored, and taught myself Java and C#.

In 2018, I apprenticed at Microsoft, on Azure's R & D team.

Prior to coding, I used to write short web articles and do print design for local businesses and nonprofits.


Picture of the Day Viewer app screenshot

My internship ran from December 2018 until March 2019, with a trial period in October. It was sponsored by Outreachy, a project of the Software Freedom Conservancy.

Part of my internship involved working on a Phabricator task entitled Investigate and improve MediaWiki Action API documentation .

I ran biweekly posts on, about my work. This one details my project and workflow pretty thoroughly.

Project description


Improve top 50 viewed pages of the MediaWiki Action API & create a demo app to educate users

MediaWiki is the software many popular wikis run on, including the English Wikipedia. However, the documentation for using our numerous web APIs is inconsistent from article to article, and sometimes article content is incomplete or unclear.

Because MediaWiki-based projects have high visibility and are frequently used by educational programs, the documentation improvements on the top 50 pages will be very useful both to developers and site maintainers of MediaWiki-based sites, and to student who use the APIs to learn practical web development skills.



Picture of the Day Viewer Early drafts & brainstorming available on User:Martyav/Apps



API:Picture of the day viewer



24/27 total completed - 3 started during pre-internship period - 24 started during internship - 3 unfinished

Article Activity
# Date Started Title Completed Draft
-- 02-Oct-2018 API:Images 19-Oct-2018 Last draft
-- 22-Oct-2018 API:Lists 15-Jan-2019 Last draft
-- 23-Oct-2018 API:Redirects 31-Oct-2018 Last draft
Internship started 04-Dec-2018
01 04-Dec-2018 API:Properties 17-Jan-2019 Last draft
02 06-Dec-2018 API:Links 13-Dec-2018 Last draft
03 10-Dec-2018 API:Users 13-Dec-2018 Last draft
04 13-Dec-2018 API:Allpages 14-Dec-2018 Last draft
05 13-Dec-2018 API:Info 14-Dec-2018 Last draft
06 17-Dec-2018 API:Imageinfo 20-Dec-2018 Last draft
07 17-Dec-2018 API:Allimages 20-Dec-2018 Last draft
08 17-Dec-2018 API:Data formats WIP (discussion) Last draft
09 17-Dec-2018 API:Edit 10-Jan-2019 Last draft
10 24-Dec-2018 API:Categories 26-Dec-2018 Last draft
11 24-Dec-2018 API:Allcategories 26-Dec-2018 Last draft
12 28-Dec-2018 API:Backlinks 03-Jan-2019 Last draft
13 31-Dec-2018 API:Allusers 03-Jan-2019 Last draft
14 04-Jan-2019 API:Random 17-Jan-2019 Last draft
15 04-Jan-2019 API:Logout 17-Jan-2019 Last draft
16 08-Jan-2019 API:Import WIP (permissions) Last draft
17 14-Jan-2019 API:Move 07-Feb-2019 Last draft
18 14-Jan-2019 API:User_group_membership 24-Jan-2019 Last draft
19 17-Jan-2019 API:Parameter information 23-Jan-2019 Last draft
20 21-Jan-2019 API:Watchlist feed 07-Feb-2019 Last draft
21 24-Jan-2019 API:Watch 05-Feb-2019 Last draft
22 28-Jan-2019 API:Protect WIP (permissions) Last draft
23 06-Jan-2019 API:Alllinks 16-Feb-2019 Last draft
24 06-Jan-2019 API:Usercontribs 16-Feb-2019 Last draft

Work Log

At Wikipedia Day 2019, in Manhattan (front, far left).
Week Dates Summary
Leadup 16-Nov 03-Dec Signed contract, joined Outreachy Zulip, set up user page, set up RSS feed, started practicing Python, first blog post.
01 04-Dec 08-Dec Researched articles + added to spreadsheet, tightening up app proposal, started first article + second article, made brief blog post, made official week 1 blog post.
02 09-Dec 15-Dec Started third article. Spoke to User:SSethi (WMF) about translations. Submitted pull requests for API:Links and API:Users sample code to repo. Started translation tagging edits to API:Lists sandbox and API:Properties sandbox. Completed second and third articles. Submitted app proposal. Started fourth and fifth articles. Submitted pull requests for API:Allpages and API:Info sample code. Completed fourth and fifth articles.
03 16-Dec 22-Dec Submitted feedback to Outreachy. Started sixth, seventh, eighth, and ninth articles. Submitted pull request for API:Edit sample code. Posted week 3 blog. Submitted API:Allimages and API:Imageinfo sample code. Completed sixth and seventh articles.
04 23-Dec 29-Dec Started tenth and eleventh articles. Submitted pull requests for API:Categories and API:Allcategories sample code. Continued refining ninth article (API:Edit). Completed tenth and eleventh articles. Started twelfth article.
05 30-Dec 05-Jan Started thirteenth article. Continued work on ninth article (API:Edit). Submitted pull requests for sample code from twelfth and thirteenth articles. Posted week 5 blog. Completed twelfth and thirteenth articles. Started fourteenth article. Started fifteenth article.
06 06-Jan 12-Jan Continued work on fourteenth and fifteenth articles. Submitted pull request for API:Random sample code. Requested help on translation tags and completing an edit with a CAPTCHA. Continued work on ninth article. Made pull request for API:Logout sample code. Started sixteenth article. Completed ninth article. Got sysop privileges for
07 13-Jan 19-Jan Attended Wikipedia Day NYC. Started work on seventeenth article. Started eighteenth article. Submitted pull request for API:User group membership sample code. Started wireframes for app. Completed API:Lists from pre-internship. Updated API:Edit. Completed API:Logout. Completed API:Random. Completed API:Properties. Started nineteenth article. Wrote week 7 blog post. Created Meta userpage for other wikis.
08 20-Jan 26-Jan Submitted sample code for API:Parameter information. Started work on twentieth article. Completed API:Parameter information. Submitted sample code for API: Move and API: Import for extra help. Started planning trip to Write the Docs Portland. Completed API:User group membership. Submitted sample code for API:Watchlist feed. Started twenty first article.
09 27-Jan 02-Feb Started twenty second article. Fixed issues with API:Watchlist feed pull request. Continued work on twentieth article and twenty first articles. Updated sample code for API:Move and API:Watchlist feed. Research and planning for web apps, including userflow: Quiz, Contributions visualizer, Picture of the day
10 03-Feb 09-Feb Updated sample code for API:Move. Submitted a pull request for API:Watch. Updated drafts of twentieth, twenty first, and twenty second articles. Started draft of tutorial. Made inquiry for examples of watchlist token sharing on Discourse. Completed API:Watch. Started twenty third and twenty fourth pages. Completed API:Watchlist feed and API:Move. submitted sample code for API:Alllinks and API:Usercontribs. Got basic functionality going & made pull request for Picture of the Day Viewer app, for further review. Updated styling on app.
11 10-Feb 16-Feb Continued work on Picture of the Day Viewer app and tutorial. Completed API:Alllinks and API:Usercontribs.
12 17-Feb 23-Feb Completed user interaction feature on Picture of the Day Viewer app. Submitted tutorial for initial feedback. Performed some house-keeping on articles list on user page. Updated app as per suggestions regarding styling, linting & where request is made -- re-organized app to use Jinja instead of Javascript to present dynamic content, as a consequence.
13 24-Feb 03-Mar More app refactoring; revised tutorial to match current app; removed extraneous information from tutorial and added code folding to tighten it from 47k to 38k bytes. Second review of app. Completed changes requested from second review & had app accepted into repo. Re-organized tutorial article and cut it down to 19k.
14 04-Mar Made copy edits on tutorial and pushed it to the mainspace, at API:Picture of the day viewer

Current Project: Deployment Pipeline