Webdev/Meetings/2014/July 1
From MozillaWiki
Webdev Meeting | |
---|---|
Date: | July 1st, 2014 |
Time: | 10:00 AM Pacific |
How to Join | |
Vidyo: |
|
Teleconferencing: | Room 9 798 |
IRC: | #webdev on irc.mozilla.org |
Notes | |
Etherpad: | https://etherpad.mozilla.org/webdev-2014-07-01 |
Note-taker: | Osmose |
Webdev Extravaganzas are open to the public and serve as a gathering point for anyone in the Mozilla community who is interested in web development and what Mozilla has been doing in it.
The meeting will be streamed and recorded on Air Mozilla: https://air.mozilla.org/webdev-extravaganza-july-2014/
Contents
Shipping Celebration
What did we ship this month? Alternatively, what didn't we ship to spare the world the horror?
- (bensternthal) MobilePartners Release: Salesforce moar integration, Fancy Legal Agreements, No More Labs Hardware
- (willkg) Input: automated human translations for all incoming Firefox OS feedback
- (willkg) Input: make-your-own-dashboard: http://bl.ocks.org/willkg/c4d5a272f86ae4510750
Open-Source Citizenship
Any updates with our libraries or with libraries we use? Anyone looking for help with a library they maintain?
- (ErikRose) There's now an official #peep channel. It has occasional flurries of activity.
- (ErikRose) Moved spiderflunky repo to the mozilla org, as it's starting to get attention.
- (irc nick) Topic
New Hires / Interns / Volunteers
Anyone new that we want to induct into the secret order?
- (irc nick of new person) Name / Role / Team
- bramwelt, crash reporter
- muricula, input
- deanj, sumo
- marcell, dxr
- cweiss, web components
The Bikeshed / Roundtable
Anything else to talk about?
- (Osmose) Input/edits wanted: Etherpad for writing down what activities/things webdev does, what goals they contribute to, who owns them, and what could be improved: https://etherpad.mozilla.org/mkelly-webdev-activities
- (ErikRose) concurrent.futures is a great way to do parallelism.
from futures import ProcessPoolExecutor, as_completed from more_itertools import consume, chunked def run_jobs() ... with ProcessPoolExecutor() as pool: futures = [pool.submit(index_chunk, tree, tree_indexers, paths) for paths in chunked(unignored, 50)] consume(show_progress(futures)) def index_chunk(tree, tree_indexers, paths): """Do a bunch of computation, and throw the results in elasticsearch.""" def show_progress(futures): """Show progress and yield results as futures complete.""" num_jobs = len(futures) for num_done, future in enumerate(as_completed(futures), 1): print num_done, 'of', num_jobs, 'jobs done.' yield future
- (ErikRose) Setuptools entry points are underdocumented but a really nice, easy, supported-everywhere way to do a plugin architecture, even an internal registry.
# setup.py setup( ... entry_points={'dxr.plugins': ['urllink = dxr.plugins.urllink', 'buglink = dxr.plugins.buglink']} ) # elsewhere.py plugins = dict((point.name, point.load()) for point in iter_entry_points('dxr.plugins')) # plugins is now {'urllink': <module dxr.plugins.urllink>, # 'buglink': <module dxr.plugins.buglink>}