Beer and Tell – May 2015

Michael Kelly

0

Once a month, web developers from across the Mozilla Project get together to organize our poltical lobbying group, Web Developers Against Reality. In between sessions with titles like “Three Dimensions: The Last Great Lie” and “You Aren’t Real, Start Acting Like It”, we find time to talk about our side projects and drink, an occurrence we like to call “Beer and Tell”.

There’s a wiki page available with a list of the presenters, as well as links to their presentation materials. There’s also a recording available courtesy of Air Mozilla.

Groovecoder: WellHub

Groovecoder stopped by to share WellHub, a site for storing and visualizing log data from wells. The site was created for StartupWeekend Tulsa, and uses WebGL (via ThreeJS) + WebVR to allow for visualization of the wells based on their longitude/latitude and altitude using an Oculus Rift or similar virtual reality headset.

Osmose: Refract

Next up was Osmose (that’s me!), who shared some updates to Refract, a webpage previously shown in Beer and Tell that turns any webpage into an installable application. The main change this month was added support for generating Chrome Apps in addition to the Open Web Apps that it already supported.


This month’s session was a productive one, up until a pro-reality plant asked why we were having a real-life meetup for an anti-reality group, at which point most of the people in attendance began to scream uncontrollably.

If you’re interested in attending the next Beer and Tell, sign up for the dev-webdev@lists.mozilla.org mailing list. An email is sent out a week beforehand with connection details. You could even add yourself to the wiki and show off your side-project!

See you next month!

Extravaganza – May 2015

Michael Kelly

0

Once a month, web developers from across Mozilla get together to write fake Amazon reviews for cash on the side. While we sing the praises of shoddy products from questionable dealers, we find time to talk about the work that we’ve shipped, share the libraries we’re working on, meet new folks, and talk about whatever else is on our minds. It’s the Webdev Extravaganza! The meeting is open to the public; you should stop by!

You can check out the wiki page that we use to organize the meeting, or view a recording of the meeting in Air Mozilla. Or just read on for a summary!

Shipping Celebration

The shipping celebration is for anything we finished and deployed in the past month, whether it be a brand new site, an upgrade to an existing one, or even a release of a library.

DXR + Elasticsearch Staged

ErikRose himself was up first, and shared the news that the upcoming version of DXR, which switches the site to using Elasticsearch to power its code-searching abilities, has been successfully deployed on its staging environment. A year in the making, the new version brings faster searches, parallel indexing, and support for multiple programming languages, such as Python.

Bedrock Free from the Clutches of Playdoh

jgmize shared the news that Bedrock, the codebase for the main mozilla.org website, has been successfully divorced from Playdoh, including removing funfactory as a dependency and removing the reliance on git submodules for managing dependencies. Bedrock now uses peep to install dependencies on production.

Open-source Citizenship

Here we talk about libraries we’re maintaining and what, if anything, we need help with for them.

django-browserid 1.0 Released

Osmose (that’s me!) announced the 1.0 release of django-browserid, which mainly adds Django 1.8 support while removing support for older, unsupported versions of Django. Also, as the software is now 1.0, any backwards-incompatible changes will bump the version number as per the rules of Semantic Versioning.

pyelasticsearch 1.2.3 Released

Next up was ErikRose and his announcement of the release of pyelasticsearch 1.2.3, an API for interacting with elasticsearch. The release fixes a bug that caused doctype names to sometimes be treated as index names when _all was used.

Peep 2.3, 2.4, 2.4.1 Released

ErikRose also informed us about several peep releases. peep, which is a wrapper around pip that cryptographically verifies packages installed from a requirements file, is now compatible with pip 6.1.x, supports pip command-line flags in requirements files, and passes flake8.

django-tidings in the Mozilla Github Organization

The last bit of news ErikRose had to share was about django-tidings, a library for sending emails to users in response to events on your site. The project is now part of the Mozilla Github organization, and jezdez has been added as a maintainer.

Roundtable

The Roundtable is the home for discussions that don’t fit anywhere else.

Firefox Developer Edition 40

canuckistani stopped by to mention some of the exciting DevTools features coming to Firefox Developer Edition, including a new performance tool, breakpoints in unnamed eval scripts, recording networks requests before the Network Tab is opened, and more! Check out the etherpad for tracking new features as well as for finding links to what bugs could use some help!


If you are a fine purveyor of shoddy products and want to energize your marketing efforts with a grassroots campaign conveyed via customer reviews, give us a call! Our rates are very unreasonable!

If you’re interested in web development at Mozilla, or want to attend next month’s Extravaganza, subscribe to the dev-webdev@lists.mozilla.org mailing list to be notified of the next meeting, and maybe send a message introducing yourself. We’d love to meet you!

See you next month!

Beer and Tell – April 2015

Michael Kelly

Once a month, web developers across Mozilla get together to download MP3s off of Youtube videos of our favorite anime theme songs. While we download questionable add-ons for extracting music files, we find time to discuss the side project we’ve been working on lately. It’s the Webdev Beer and Tell!

You can check out the wiki page used to plan the event, but you’ll probably notice that there’s nothing on there. Turns out that no one had anything substantial to present this month, so we cancelled the recording and adjourned early.

If you’re interested in attending the next Beer and Tell, sign up for the dev-webdev@lists.mozilla.org mailing list. An email is sent out a week beforehand with connection details. You could even add yourself to the wiki and show off your side-project!

See you next month!

Extravaganza – April 2015

Michael Kelly

Once a month, web developers from across Mozilla get together to practice our competitive placation skills. While we aggressively refine our concessions, we find time to talk about the work that we’ve shipped, share the libraries we’re working on, meet new folks, and talk about whatever else is on our minds. It’s the Webdev Extravaganza! The meeting is open to the public; you should stop by!

You can check out the wiki page that we use to organize the meeting, or view a recording of the meeting in Air Mozilla. Or just read on for a summary!

Shipping Celebration

The shipping celebration is for anything we finished and deployed in the past month, whether it be a brand new site, an upgrade to an existing one, or even a release of a library.

Webdev Project Listing

I myself presented first, and shared mozilla.github.io/webdev, a list of Mozilla projects related to Web Development. The site pulls metadata from Github as well as contribute.json files when available, and is built and updated by Travis CI whenever a change lands on master. A small instance of daily-travis triggers a re-build once a day to keep the listing up-to-date.

Starring Events on Air Mozilla

Peterbe shared the news that you can now star events on Air Mozilla thanks to the work by OPW 2015 intern Lisa Hewus Fresh. Both signed-in and anonymous users can star videos; anonymous stars are saved to localstorage. Lisa also gave a brownbag on her intern experience and the process of developing and shipping the feature.

SocketPeer

Potch stopped by to let us know that SocketPeer, which was presented at last month’s Beer and Tell, has shipped and is ready for use. The library was also featured in a post on the Hacks blog.

New Hires / Interns / Volunteers / Contributors

Here we introduce any newcomers to the Webdev group, including new employees, interns, volunteers, or any other form of contributor.

Name Role Work
abompard Volunteer Submitted PRs to add Django 1.8 support to django-browserid!
jp Employee Transfer DevOps Jedi transferred to Web Engineering. Previously the DevOps wizard for the Mozilla Foundation!

Roundtable

The Roundtable is the home for discussions that don’t fit anywhere else.

Django-nose broken on Django 1.8

Peterbe wanted to share the news that django-nose is broken on Django 1.8. There’s an open issue and some pull requests with fixes, but no fix has been merged yet.


This week’s breakout star was willkg, with a stunning move to pay $200 a month in reparations to one of his Twitter followers in return for not following them back.

If you’re interested in web development at Mozilla, or want to attend next month’s Extravaganza, subscribe to the dev-webdev@lists.mozilla.org mailing list to be notified of the next meeting, and maybe send a message introducing yourself. We’d love to meet you!

See you next month!

Beer and Tell – March 2015

Michael Kelly

1

Once a month, web developers from across the Mozilla Project get together to design the most dangerous OSHA-compliant workstation possible. While searching for loopholes, we find time to talk about our side projects and drink, an occurrence we like to call “Beer and Tell”.

There’s a wiki page available with a list of the presenters, as well as links to their presentation materials. There’s also a recording available courtesy of Air Mozilla.

Michael Kelly: dxr-cmd

A certain blog post author was first with dxr-cmd, a command-line client for making queries to DXR, Mozilla’s source code browser. The tool is installed via pip and supports any query you can make via the web interface. Output can be run through a pager utility such as less, and you can also control the syntax highlighting applied to the output.

Daniel Maher: AudioAddict plugin for Plex

Next up was phrawzty, who was not present but shared a link to AudioAddict.bundle, a Plex plugin that allows you to play music from AudioAddict-based services (such as radiotunes.com, di.fm, and more).

Peter Bengtsson: Redunter

peterbe shared Redunter, a web service that helps hunt down unused CSS on your website. By embedding a small snippet of JS into your page and browsing through your website, Redunter will analyze the HTML being rendered and compare it to the CSS being served. The end result is a list of CSS rules that did not match any HTML that was delivered to the user. Redunter even works with sites that modify the DOM by watching for mutation events and tracking the altered HTML.

Scott Michaud: GPU-Accelerated Audio

ScottMichaud returns with more fun stuff using the WebCL extension! Scott shared a demo of WebCL-powered audio where a virtual microphone was surrounded by individual raindrop sounds. By controlling the rate of raindrops, you can simulate a higher audio load and see the difference that pushing audio processing to the GPU can make.

Les Orchard: Parsec Patrol

Senior Space Cadet lorchard shared Parsec Patrol, a vector-based space game for the web. While there’s no full game made yet, there is a webpage with several demos showing collision detection, spaceship navigation, missiles, point-defense systems, and more!

Matthew Claypotch: a9r

Have you ever seen an abbreviation like l10n or i18n and had no idea what it meant? Have no fear, Uncle Potch is here with a9r, the answer to the abbreviation problem! Simply install the command and enter in an abbreviation to receive a list of all words in the SOWPODS word list that match. Got a word that you need to abbreviate? Not only can a9r decipher abbreviations, it can create them!

Matthew Claypotch: socketpeer

In a slightly-less-whimsical vein, potch also shared socketpeer, a simple JavaScript library for 1:1 messaging via WebRTC Data Channels and WebSockets. Extracted from the Tanx demo that Mozilla showed at GDC 2015, socketpeer contains both a server API for establishing peer connections between users and a client API to handle the client-side communication. Potch also shared a demo of a peer-to-peer chat application using socketpeer.

Chris Van Wiemeersch: PhantomHAR

Next up was cvan, who shared PhantomHAR, a PhantomJS and SlimerJS script that generates an HTTP Archive (or HAR) for a URL. A HAR is an archive of data about HTTP transactions that can be used to export detailed performance data for tools to consume and analyze, and PhantomHAR allows you to easily generate the HAR for use by these tools.

Chris Van Wiemeersch: fetch-manifest

Next, cvan shared fetch-manifest, a small library that takes a URL, locates the W3C web app manifest for the page, fixes any relative URLs in the manifest, and returns it. This is useful for things like app marketplaces that want to allow people to submit web apps by submitting a single URL to the app they want to submit.

Bill Walker: robot-threejs

Last up was bwalker, who shared robot-threejs, an experimental steampunk robot game powered by three.js and WebGL. The game currently allows you to fly around a 3D environment that has 3D positional audio emitting from an incredibly mysterious cube. CAN YOU SOLVE THE CUBE MYSTERY?


This month we think we’ve really got something special with our Seki Edge keyboard-and-mouse combo. Order now and get a free box of Band-aids at no additional cost!

If you’re interested in attending the next Beer and Tell, sign up for the dev-webdev@lists.mozilla.org mailing list. An email is sent out a week beforehand with connection details. You could even add yourself to the wiki and show off your side-project!

See you next month!

The Desks of Mozilla WebDev

kumar303

We WebDev contributors at Mozilla often meet face to face over video but we haven’t actually seen each others workspaces. Here is a small sampling of WebDev desks, inspired by those of 37 Signals.

Kumar McMillan

Location: Chicago, IL, USA
Works on: Firefox Marketplace Payments

IMG_4388

“An office with lots of sunshine is the key to surviving Chicago winters. Working from home also helps.”

JP Schneider

Location: Chicago, IL, USA
Works on: Mozilla Foundation DevOps

jpdesk

“If my lap isn’t my desk, this is. ”

Jon Petto

Location: Chicago, IL, USA
Works on: www.mozilla.org

10707057_939676672714579_2094938570_n

Peter Bengtsson

Location: Mozilla Mountain View Office, CA, USA
Works on: Web Engineering

2015-01-15 09.40.56

“If a cluttered desk is a sign of a cluttered mind, of what, then, is an empty desk a sign?”

John Karahalis

Location: Rochester, NY, USA
Works on: Mozilla Developer Network

10932402_1605656552996252_1725805105_n

Luke Crouch

Location: Bixby, OK, USA
Works on: Mozilla Developer Network

16100469388_987b12c1e3_c

“Wall to my back, window to my left, door to my right. It’s Feng Shui.”

Les Orchard

Location: Royal Oak, MI, USA
Works on: Apps Engineering

2015-01-15 14.46.21

“Sit / stand motorized GeekDesk with ergonomic access to keyboard, coffee, and cat.”

Andy McKay

Location: Vancouver, BC, Canada
Works on: Firefox Marketplace

16102403689_48980511fc_o

“Welcome to the pit of gloom.”

Potch

Location: Mozilla Mountain View Office, CA, USA
Works on: Developer Relations

mydesk

Nigel Babu

Location: Delhi, India
Works on: Sheriff Duty

IMG_20150116_125155231_HDR

“X240 on a stand. Wireless keyboard and mouse. Notebook with a fountain pen for quick notes and todo list.”

Giorgos Logiotatidis

Location: Greece
Works on: Web Productions

desk

Schalk Neethling

Location: Pretoria, South Africa
Works on: Web Productions

10945856_680475308730326_4771636995320273551_o

“Mozilla South Africa HQ ;p”

Dan Phrawzty

Location: Mozilla Paris Office, France
Works on: Web Engineering

phrawzty_desk__2015-01-28_12.20.45

“Big windows for lots of natural light at the Mozilla Paris office.”

Paul McLanahan

Location: Atlanta, GA, USA
Works on: www.mozilla.org

2015-02-14 11.24.30

“Desk is a NextDesk Solo Plus. Keyboard a Matias Quiet Pro. Audio via Sonos PLAY:3. “

Webdev Extravaganza – March 6th

Michael Kelly

Once a month, web developers from across Mozilla get together to practice our dowsing technique. While we compare the latest models of dowsing rods, we find time to talk about the work that we’ve shipped, share the libraries we’re working on, meet new folks, and talk about whatever else is on our minds. It’s the Webdev Extravaganza! The meeting is open to the public; you should stop by!

You can check out the wiki page that we use to organize the meeting, or view a recording of the meeting in Air Mozilla. Or just read on for a summary!

Shipping Celebration

The shipping celebration is for anything we finished and deployed in the past month, whether it be a brand new site, an upgrade to an existing one, or even a release of a library.

Bedrock Static Media

First up was pmac, who shared the news that Bedrock has switched to using Django static files for static media instead of using the older MEDIA_URL-based methods. As part of this switch, they’ve switched from jingo-minify to django-pipeline, switched from using Apache to serve the static files to Whitenoise (paired with the existing CDN), and switched to Python 2.7.

Contribute.json is now Responsive

Next, peterbe told us that the contribute.json webpage is now responsive thanks to a patch from the ever-impressive contributor koddsson.

MasterFirefoxOS Training Hub

jgmize informed us that masterfirefoxos.mozilla.org launched. It’s a training website for people working in retail to sell Firefox OS phones. Due to the small audience for the site, they were able to experiment with a bunch of new ideas for creating and hosting our websites, including using the sugardough application template (which comes with Django 1.7, Python 3.4, and Docker + Fig for local development), running the site on a Deis cluster on Amazon Web Services, and implementing continuous delivery via automated deploys with Jenkins.

Input on Django 1.7

r1cky wants people to know that Input upgraded to Django 1.7. Yay!

DXR Holding Back for Your Safety

ErikRose mentioned some work on DXR that has yet to ship (but will soon, hopefully), including some improvements to Python language support (courtesy of yours truly), image thumbnails (courtesy of new_one, a future DXR intern), and a revamped config system.

games.mozilla.org

lonnen shared news about games.mozilla.org, a landing page created for Mozilla’s presence at GDC 2015. The site was developed mostly by cvan, with help from a few other people like adrian. Not only is the site itself cool, but the site’s deployment strategy is impressively simple; it’s a private Github repo that deploys to Heroku, which in turn is wrapped by CloudFront such that we only need 1 dyno to serve the site even when traffic surges.

Self-Repair Server

lonnen also shared the Self-Repair Server, which is part of an experimental system to have Firefox notice problems in the browser and proactively fix them itself. It’s similar to games.mozilla.org in that it’s end result is static data, but because it’s a public repo, we use TravisCI to deploy the content to S3, which sits behind Cloudfront.

Open-source Citizenship

Here we talk about libraries we’re maintaining and what, if anything, we need help with for them.

django-tidings 1.0 is Out

ErikRose released django-tidings 1.0, a framework for asynchronous email notifications from Django. The new release supports Django 1.6 (and possibly up), includes a tox config for local testing against multiple Django versions, and more!

pyelasticsearch 1.1

Next ErikRose shared news about the 1.1 release of pyelasticsearch, which is a Python API to Elasticsearch. 1.1 comes with a new bulk API for bulk operations (such as index, update, create, and delete) as well as improved documentation.

New Hires / Interns / Volunteers / Contributors

Here we introduce any newcomers to the Webdev group, including new employees, interns, volunteers, or any other form of contributor.

Name Role Work
lismanb Volunteer 3 bugs closed on Bedrock thusfar. Congrats!
lgp171188 Volunteer 25+ pull requests on Input, fixing Vagrant provisioning and the “new contributor” experience. Nice!
lcamacho Volunteer 19 commits on airmozilla, including docker+fig and selenium tests using Django LiveServer. Awesome!

Roundtable

The Roundtable is the home for discussions that don’t fit anywhere else. And this week, the Roundtable is empty!


If you want to know what precious metals, water reservoirs, or grave sites may be hiding on your land, send two Bitcoins to our address and we’ll be in touch.

If you’re interested in web development at Mozilla, or want to attend next month’s Extravaganza, subscribe to the dev-webdev@lists.mozilla.org mailing list to be notified of the next meeting, and maybe send a message introducing yourself. We’d love to meet you!

See you next month!

Beer and Tell – February 2015

Michael Kelly

Once a month, web developers from across the Mozilla Project get together to speedrun classic video games. Between runs, we find time to talk about our side projects and drink, an occurrence we like to call “Beer and Tell”.

There’s a wiki page available with a list of the presenters, as well as links to their presentation materials. There’s also a recording available courtesy of Air Mozilla.

Michael Kelly: Refract

Osmose (that’s me!) started off with Refract, a website that can turn any website into an installable application. It does this by generating an Open Web App on the fly that does nothing but redirect to the specified site as soon as it is opened. The name and icon of the generated app are auto-detected from the site, or they can be customized by the user.

Michael Kelly: Sphere Online Judge Utility

Next, Osmose shared spoj, a Python-based command line tool for working on problems from the Sphere Online Judge. The tool lets you list and read problems, as well as create solutions and test them against the expected input and output.

Adrian Gaudebert: Spectateur

Next up was adrian, who shared Spectateur, a tool to run reports against the Crash-Stats API. The webapp lets you set up a data model using attributes available from the API, and then process that data via JavaScript that the user provides. The JavaScript is executed in a sandbox, and the resulting view is displayed at the bottom of the page. Reports can also be saved and shared with others.

Peter Bengtsson: Autocompeter

Peterbe stopped by to share Autocompeter, which is a service for very fast auto-completion. Autocompeter builds upon peterbe’s previous work with fast autocomplete backed by Redis. The site is still not production-ready, but soon users will be able to request an API key to send data to the service for indexing, and Air Mozilla will be one of the first sites using it.

Pomax: inkdb

The ever-productive Pomax returns with inkdb.org, a combination of the many color- and ink-related tools he’s been sharing recently. Among other things, inkdb lets you browse fountain pen inks, map them on a graph based on similarity, and find inks that match the colors in an image. The website is also a useful example of the Mozilla Foundation Client-side Prototype in action.

Matthew Claypotch: rockbot

Lastly, potch shared a web interface for suggesting songs to a Rockbot station. Rockbot currently only has Android and iOS apps, and potch decided to create a web interface to allow people without Rockbot accounts or phones to suggest songs.


No one could’ve anticipated willkg’s incredible speedrun of Mario Paint. When interviewed after his blistering 15 hour and 24 minute run, he refused to answer any questions and instead handed out fliers for the grand opening of his cousin’s Inkjet Cartridge and Unlicensed Toilet Tissue Outlet opening next Tuesday at Shopper’s World on Worcester Road.

If you’re interested in attending the next Beer and Tell, sign up for the dev-webdev@lists.mozilla.org mailing list. An email is sent out a week beforehand with connection details. You could even add yourself to the wiki and show off your side-project!

See you next month!

Webdev Extravaganza – February 2015

Michael Kelly

Once a month, web developers from across Mozilla get together to build a physical symbol of our cooperation in the form of a bikeshed. While we thoughtfully determine what color to paint it, we find time to talk about the work that we’ve shipped, share the libraries we’re working on, meet new folks, and talk about whatever else is on our minds. It’s the Webdev Extravaganza! The meeting is open to the public; you should stop by!

You can check out the wiki page that we use to organize the meeting, or view a recording of the meeting in Air Mozilla. Or just read on for a summary!

Shipping Celebration

The shipping celebration is for anything we finished and deployed in the past month, whether it be a brand new site, an upgrade to an existing one, or even a release of a library.

Peep 2.2 and More Adoption

ErikRose shared news about the release of peep 2.2, which, among other things, adds a progress bar to the install process. He also called out sugardough and AirMozilla, both of which now use peep for installing dependencies.

Pyelasticsearch 1.0 Release

Erik also announced the 1.0 release of pyelasticsearch. The release adds support for modern versions of ElasticSearch, Python 3.x support, and a 15x improvement in speed from optimizations made for DXR.

Snippets Service Significantly Less Fragile

I myself shared news about a recent fix we deployed on the Snippets Service that allows us to send much more data without crashing the service. Previously, we could only send about 1.5 megabytes of snippet data to each user before the service stopped being able to keep up with data transfer, but by pre-generating snippet bundles and sending users redirects to them instead of returning them directly, we were able to send upwards of 4 megabytes with only a 10ms increase in average response time.

badges.mozilla.org Episode IV, A New Hope

lorchard is interested in working on badges.mozilla.org again, and started by modernizing the codebase by switching from vendor submodules to peep + virtualenv, starting to move away from Playdoh, replacing Vagrant and Puppet with Docker and Fig, upgrading the dependencies, and more!

The Continuing Rise of Contribute.json

Peterbe shared the news that mozillians.org and Marketplace both have contribute.json files now. He also shared a list he generated of Webdev websites that still don’t have contribute.json files.

MDN Web Developer Services Survey Results

Hoosteeno wanted to let us know about the release of the results of MDN’s Web Developer Services survey. MDN surveyed over a thousand web developers and asked them what services they use as part of their development. The results will be used to inform work on developer services and is also freely available to anyone else who finds the data useful.

support.mozilla.org on Python 2.7

Mythmon shared a small note about how SUMO is now running on Python 2.7, allowing them to stay up-to-date with the latest Django releases and avoid the oncoming apocalypse of having no version of Django that supports Python 2.6 and is receiving security patches. Get to upgrading, kids!

Scuttling Celebration: Goodbye Scrumbugs!

In a sudden turn of events, pmac called for a Scuttling Celebration to announce the end of ScrumBugz. The website will be taken down by the end of the quarter, as no one seems to be using it anymore.

Open-source Citizenship

Here we talk about libraries we’re maintaining and what, if anything, we need help with for them.

Mozilla Foundation Client-Side Prototype

Peterbe, on behalf of Pomax, shared the in-development project template for client-side apps being developed by the Mozilla Foundation folks, mofo-example-app. The template aims to implement the wisdom contained in the MoFo Engineering Handbook.

New Hires / Interns / Volunteers / Contributors

Here we introduce any newcomers to the Webdev group, including new employees, interns, volunteers, or any other form of contributor.

Osmose and Espressive Traded

Though not really new hires, espressive and I have swapped teams, so that I am now on the Engineering Tools team and he is on the Web Productions team. Espressive will be focusing on frontend work for Engagement campaigns, while I’ll be focusing on developing tools and any other engineering work that makes Web Developers at Mozilla happier. Everyone wins!

Roundtable

The Roundtable is the home for discussions that don’t fit anywhere else.

Air Mozilla Contributors Page

Peterbe wanted to share a new page on AirMozilla: the contributor list! A list of contributors is stored in the AirMo settings file, and their info and pictures are pulled from Mozillians and displayed on the site as a way to give thanks for their help. Contributors must opt-in by joining a moderated group on Mozillians as well. Neat!


Unfortunately, the Burgundy and Celadon camps couldn’t come to an agreement in time for us to finish the shed. There’s always next month!

If you’re interested in web development at Mozilla, or want to attend next month’s Extravaganza, subscribe to the dev-webdev@lists.mozilla.org mailing list to be notified of the next meeting, and maybe send a message introducing yourself. We’d love to meet you!

See you next month!

Beer and Tell – January 2015

Michael Kelly

Once a month, web developers from across the Mozilla Project get together to trade and battle Pokémon. While we discover the power of friendship, we also find time to talk about our side projects and drink, an occurrence we like to call “Beer and Tell”.

There’s a wiki page available with a list of the presenters, as well as links to their presentation materials. There’s also a recording available courtesy of Air Mozilla.

Michael Kelly: gamegirl

Our first presenter, Osmose (that’s me!), shared a Gameboy emulator, written in Python, called gamegirl. The emulator itself is still very early in development and only has a few hundred CPU instructions implemented. It also includes a console-based debugger for inspecting the Gameboy state while executing instructions, powered by urwid.

Luke Crouch: Automatic Deployment to Heroku using TravisCI and Github

Next, groovecoder shared some wisdom about his new favorite continuous deployment setup. The setup involves hosting your code on Github, running continuous integration using Travis CI, and hosting the site on Heroku. Travis supports deploying your app to Heroku after a successful build, and groovecoder uses this to deploy his master branch to a staging server.

Once the code is ready to go to production, you can make a pull request to a production branch on the repo. Travis can be configured to deploy to a different app for each branch, so once that pull request is merged, the site is deployed to production. In addition, the pull request view gives a good overview of what’s being deployed. Neat!

This system is in use on codesy, and you can check out the codesy Github repo to see how they’ve configured their project to deploy using this pattern.

Peter Bengtsson: django-screencapper

Friend of the blog peterbe showed off django-screencapper, a microservice that generates screencaps from video files using ffmpeg. Developed as a test to see if generating AirMozilla icons via an external service was viable, it queues incoming requests using Alligator and POSTs the screencaps to a callback URL once they’ve been generated.

A live example of the app is available at http://screencapper.peterbe.com/receiver/.

tofumatt: i-dont-like-open-source AKA GitHub Contribution Hider

Motorcycle enthusiast tofumatt hates the Github contributor streak graph. To be specific, he hates the one on his own profile; it’s distracting and leads to bad behavior and imposter syndrome. To save himself and others from this terror, he created a Firefox add-on called the GitHub Contribution Hider that hides only the contribution graph on your own profile. You can install the addon by visiting it’s addons.mozilla.org page. Versions of the add-on for other browsers are in the works.


Fun fact: The power of friendship cannot, in fact, overcome type weaknesses.

If you’re interested in attending the next Beer and Tell, sign up for the dev-webdev@lists.mozilla.org mailing list. An email is sent out a week beforehand with connection details. You could even add yourself to the wiki and show off your side-project!

See you next month!