HipHop deployment/meeting notes from May 2013

Agenda for HipHop@Wikimedia meeting > 1) Meet and greet Names? Facebook:
 * Joel Pobar - Development manager
 * Joel Marcey- Documentation
 * Sara Golemon - OSS coordinator
 * Paul Tarjan - Hacker

WMF:
 * Rob Lanphier
 * Aaron Schulz
 * Brad Jorsch
 * Chad Horohoe
 * Sumana Harihareswara
 * Tim Starling

> 2) What work has been done to date, and what issues have you run in to.

HPHC/doc documentation, a lot of docs imply HHVM does not exist yet -- need to be updated (fixed)

To understand our situation with Lua: https://blog.wikimedia.org/2013/03/14/what-lua-scripting-means-wikimedia-open-source/ & https://blog.wikimedia.org/2013/03/11/lua-templates-faster-more-flexible-pages/

More about our new parser: https://www.mediawiki.org/wiki/Parsoid ( "ganglia": http://ganglia.wikimedia.org/latest/ )

Re MariaDB switch: https://blog.wikimedia.org/2013/04/22/wikipedia-adopts-mariadb/

Wikimedia Labs: http://wmflabs.org/

Chad Horohoe: "Let's run hhvm master + mw master in labs. Great trial by fire."

We have namespace support with 82% tests passing now! (done) (tiny WMF staff: https://wikimediafoundation.org/wiki/Staff?showall=1 )

Here's a list of some things we use in MediaWiki that are missing from HipHop, for discussion during the meeting.

If the following aren't present, things will break, so either implementation or migration to some other solution would be needed: These extensions are for efficiency, and we already have a pure-PHP implementation of the relevant parts: probably not feasible for large articles) Writing a HipHop extension: https://github.com/hiphop-php/hello-world <> To generate system files once you've added new files to hphp/idl/ and hphp/runtime/ext/: hphp/tools/generated_files.sh all I think our own extensions are our own responsibility, although good documentation and a decent build system would help us along with the porting process. wikidiff2 and FSS are very simple wrappers and would be easy to port, whereas LuaSandbox would be non-trivial. > 3) What are the requirements on your side in terms of stability, code push > process, uptime etc. (We're more generally optimized for Facebook's push > process, so we want to make sure we're across your requirements). > 4) Set up the criteria for success > 5) Set up the appropriate communication channel Few things from the last investigation of this: http://www.mediawiki.org/wiki/HipHop How big of an advantage is jemalloc? Distribution packaging FB team join wikimedia mailing list (which one(s)?) TODO: WMF to host a public mailing list to concentrate on HipHop stuff -- at milestones or when wider consultation/testing is needed, cross-post to wikitech-l wmflabs.org for possible virtualization Which extensions do we need to help with? Bug tracker is: GitHub issue tracker. TODO: Sumana & Sara to talk about next steps re outreach to certain developer communities, future meetups/IRC office hours/events Today is the last day to submit Strange Loop https://thestrangeloop.com/sessions-page/call-for-presentations - Facebook's already submitted a talk :-)
 * FilesystemIterator - easy (done, not committed)
 * ArrayObject - medium amount of work (done)
 * filter_var - hard
 * geoip - sara will do
 * Redis client (https://github.com/nicolasff/phpredis)
 * Our Lua extension (LuaSandbox)
 * Our diff extension (wikidiff2)
 * Apache front end (could possibly live with a proxy)
 * Our string search extension "FSS" (but the PHP implementation is
 * dba (for CDB support)
 * gmp
 * Are packaged versions acceptable?
 * Unpatched version of curl
 * Isn't this true in master?
 * Unpatched version of libevent
 * Packages for google-glog?
 * I see libgoogle-glog, does that work?
 * Quick install process
 * Community needs
 * Commnication venues
 * Getting off the Facebook group would be helpful
 * People want to be able to participate anonymously
 * Syndicating to/from FB group & blog
 * GitHub, Launchpad, Savannah, open mailing list ... .?
 * Low-traffic: wikitech-announce https://lists.wikimedia.org/mailman/listinfo/wikitech-announce
 * If you can handle high-traffic (~1000/month), https://lists.wikimedia.org/mailman/listinfo/wikitech-l
 * Our irregular Meetup: http://www.meetup.com/Wikipedia-Engineering-Meetup/
 * Maybe you want to see the Parsoid list as well, https://lists.wikimedia.org/mailman/listinfo/wikitext-l ?
 * Should be easy
 * Need to triage the bugs (done - bug bankruptcy)

https://www.mediawiki.org/wiki/Amsterdam_Hackathon_2013 - late May in Amsterdam

http://opensourcebridge.org/ - June in Portland

http://wikimania2013.wikimedia.org/ - August in Hong Kong

Wikimedia's working on this - a matter of when, not if. sometime in 2013. :-)