{"id":4085,"date":"2016-02-05T09:20:52","date_gmt":"2016-02-05T17:20:52","guid":{"rendered":"https:\/\/blog.mozilla.org\/webdev\/?p=4085"},"modified":"2016-02-06T12:45:04","modified_gmt":"2016-02-06T20:45:04","slug":"extravaganza-february-2016","status":"publish","type":"post","link":"https:\/\/blog.mozilla.org\/webdev\/2016\/02\/05\/extravaganza-february-2016\/","title":{"rendered":"Extravaganza &#8211; February 2016"},"content":{"rendered":"<p>Once a month, web developers from across Mozilla get together to talk about the work that we&#8217;ve shipped, share the libraries we&#8217;re working on, meet new folks, and talk about whatever else is on our minds. It&#8217;s the Webdev Extravaganza! The meeting is open to the public; you should stop by!<\/p>\n<p>You can check out the <a href=\"https:\/\/wiki.mozilla.org\/Webdev\/Meetings\/2016\/February_2\">wiki page<\/a> that we use to organize the meeting, or view a <a href=\"https:\/\/air.mozilla.org\/webdev-extravaganza-february-2016\/\">recording of the meeting<\/a> in Air Mozilla. Or just read on for a summary!<\/p>\n<h2>Shipping Celebration<\/h2>\n<p>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.<\/p>\n<h3>Git Submodules are Gone from MDN<\/h3>\n<p>First up was <a href=\"https:\/\/mozillians.org\/en-US\/u\/jezdez\/\">jezdez<\/a> with news about <a href=\"https:\/\/developer.mozilla.org\/\">MDN<\/a> moving away from using <a href=\"https:\/\/git-scm.com\/book\/en\/v2\/Git-Tools-Submodules\">git submodules<\/a> to pull in dependencies. Instead, MDN now uses <a href=\"https:\/\/pip.pypa.io\/\">pip<\/a> to pull in dependencies during deployment. Hooray!<\/p>\n<h3>Careers now on AWS\/Deis<\/h3>\n<p>Next was <a href=\"https:\/\/mozillians.org\/en-US\/u\/giorgos\/\">giorgos<\/a> who let us know that <a href=\"https:\/\/careers.mozilla.org\/\">careers.mozilla.org<\/a> has moved over to the Engagement Engineering <a href=\"http:\/\/deis.io\/\">Deis<\/a> cluster on <a href=\"https:\/\/aws.amazon.com\/\">AWS<\/a>. For deployment, the site has <a href=\"https:\/\/travis-ci.org\/\">Travis CI<\/a> build a <a href=\"https:\/\/www.docker.com\/\">Docker<\/a> image and run tests against it. If the tests pass, the image is deployed directly to Deis. Neat!<\/p>\n<h3>Privacy Day<\/h3>\n<p><a href=\"https:\/\/github.com\/jpetto\">jpetto<\/a> helped ship the <a href=\"https:\/\/petitions.mozilla.org\/stay-secure\/\">Privacy Day<\/a> page. It includes a mailing list signup form as well as instructions for several platforms on how to update your software to stay secure.<\/p>\n<h3>Automated Functional Testing for Mozilla.org<\/h3>\n<p><a href=\"https:\/\/mozillians.org\/en-US\/u\/agibson\/\">agibson<\/a> shared news about the migration of previously-external functional tests for <a href=\"https:\/\/www.mozilla.org\/\">mozilla.org<\/a> to live within the <a href=\"https:\/\/github.com\/mozilla\/bedrock\/\">Bedrock<\/a> repository itself. This allows us to run the tests, which previously were run by the WebQA team against live environments, whenever the site is deployed to dev, stage, or production. Having the functional tests be a part of the build pipeline ensures that developers are aware when the tests are broken and can fix them before deploying broken features. A <a href=\"https:\/\/docs.google.com\/presentation\/d\/1j9LdiFR452IgHtfSr7EWpsDtMit-yEOazZZmezSpaI8\/edit?usp=sharing\">slide deck is available<\/a> with more details.<\/p>\n<h3>Peep 3.x<\/h3>\n<p><a href=\"https:\/\/mozillians.org\/en-US\/u\/ErikRose\/\">ErikRose<\/a> shared news about the 3.0 (and 3.1) release of <a href=\"https:\/\/github.com\/erikrose\/peep\/\">Peep<\/a>, which helps smooth the transition from Peep to <a href=\"https:\/\/pip.pypa.io\/\">Pip 8<\/a>, which now supports hashed requirements natively. The new Peep includes a <code>peep port<\/code> command for porting Peep-compatible requirements files to the new Pip 8 format.<\/p>\n<h2>Open-source Citizenship<\/h2>\n<p>Here we talk about libraries we&#8217;re maintaining and what, if anything, we need help with for them.<\/p>\n<h3>Jazzband<\/h3>\n<p><a href=\"https:\/\/mozillians.org\/en-US\/u\/jezdez\/\">jezdez<\/a> shared news about <a href=\"https:\/\/jazzband.co\/\">JazzBand<\/a>, a cooperative experiment to reduce the stress of maintaining Open Source software alone. The group operates as a Github organization that anyone can join and transfer projects to. Anyone in the JazzBand can access JazzBand projects, allowing projects that would otherwise die due to lack of activity thrive thanks to the community of co-maintainers.<\/p>\n<p>Notable projects already under the JazzBand include <a href=\"https:\/\/github.com\/jazzband\/django-pipeline\">django-pipeline<\/a> and <a href=\"https:\/\/github.com\/jazzband\/django-configurations\">django-configurations<\/a>. The group is currently focused on Python projects and is still figuring out things like how to secure releases on PyPI.<\/p>\n<h3>django-configurations 1.0<\/h3>\n<p>Speaking of the JazzBand, members of the collective pushed out the 1.0 release of <a href=\"https:\/\/github.com\/jazzband\/django-configurations\">django-configurations<\/a>, which is an opinionated library for writing class-based settings files for Django. The new release adds Django 1.8+ support as well as several new features.<\/p>\n<h2>Roundtable<\/h2>\n<p>The Roundtable is the home for discussions that don&#8217;t fit anywhere else.<\/p>\n<h3>Travis CI Sudo for Specific Environments<\/h3>\n<p>Next was <a href=\"https:\/\/mozillians.org\/en-US\/u\/ErikRose\/\">ErikRose<\/a> with an undocumented tip for Travis CI builds. As seen on the <a href=\"https:\/\/github.com\/letsencrypt\/letsencrypt\/blob\/4bafe9695d56dc63951962221b82908ec50b0129\/.travis.yml#L51-L54\">LetsEncrypt travis.yml<\/a>, you can specify <code>sudo: required<\/code> for a specific entry in the build matrix to run only that build on Travis&#8217; container-based infrastructure.<\/p>\n<h3>Docker on OS X via xhyve<\/h3>\n<p>Erik also shared <a href=\"https:\/\/github.com\/mist64\/xhyve\">xhyve<\/a>, which is a lightweight OS X hypervisor. It&#8217;s a port of <a href=\"http:\/\/www.bhyve.org\/\">bhyve<\/a>, and can be used as the backend for running Docker containers on OS X instead of <a href=\"https:\/\/www.virtualbox.org\/\">VirtualBox<\/a>. Recent changes that have made this more feasible include the removal of a 3 gigabyte RAM limit and experimental NFS support that, according to Erik, is faster than VirtualBox&#8217;s shared folder functionality. Check it out!<\/p>\n<hr \/>\n<p>If you&#8217;re interested in web development at Mozilla, or want to attend next month&#8217;s Extravaganza, subscribe to the <a href=\"https:\/\/lists.mozilla.org\/listinfo\/dev-webdev\">dev-webdev@lists.mozilla.org mailing list<\/a> to be notified of the next meeting, and maybe send a message introducing yourself. We&#8217;d love to meet you!<\/p>\n<p>See you next month!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Once a month, web developers from across Mozilla get together to talk about the work that we&#8217;ve shipped, share the libraries we&#8217;re working on, meet new folks, and talk about whatever else is on our minds. It&#8217;s the Webdev Extravaganza! &hellip; <a class=\"go\" href=\"https:\/\/blog.mozilla.org\/webdev\/2016\/02\/05\/extravaganza-february-2016\/\">Continue reading<\/a><\/p>\n","protected":false},"author":445,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[28307],"tags":[],"coauthors":[28315],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Extravaganza - February 2016 - Mozilla Web Development<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.mozilla.org\/webdev\/2016\/02\/05\/extravaganza-february-2016\/\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Michael Kelly\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/2016\/02\/05\/extravaganza-february-2016\/\",\"url\":\"https:\/\/blog.mozilla.org\/webdev\/2016\/02\/05\/extravaganza-february-2016\/\",\"name\":\"Extravaganza - February 2016 - Mozilla Web Development\",\"isPartOf\":{\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/#website\"},\"datePublished\":\"2016-02-05T17:20:52+00:00\",\"dateModified\":\"2016-02-06T20:45:04+00:00\",\"author\":{\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/#\/schema\/person\/c5d68eef83c0e4e0ae60176f557c1941\"},\"breadcrumb\":{\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/2016\/02\/05\/extravaganza-february-2016\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.mozilla.org\/webdev\/2016\/02\/05\/extravaganza-february-2016\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/2016\/02\/05\/extravaganza-february-2016\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blog.mozilla.org\/webdev\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Extravaganza &#8211; February 2016\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/#website\",\"url\":\"https:\/\/blog.mozilla.org\/webdev\/\",\"name\":\"Mozilla Web Development\",\"description\":\"For make benefit of glorious tubes\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.mozilla.org\/webdev\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/#\/schema\/person\/c5d68eef83c0e4e0ae60176f557c1941\",\"name\":\"Michael Kelly\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/#\/schema\/person\/image\/835c2c0db4a21fa347206563231f3e71\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/a414aea4a5b11c6e2e00f760e96b85ab?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/a414aea4a5b11c6e2e00f760e96b85ab?s=96&d=mm&r=g\",\"caption\":\"Michael Kelly\"},\"description\":\"Michael Kelly is a developer on the Web Engineering team at Mozilla. He works on tools that help engineers get things done. He also helps run a lot of the Webdev group activities!\",\"sameAs\":[\"http:\/\/mkelly.me\",\"https:\/\/x.com\/Osmose\"],\"url\":\"https:\/\/blog.mozilla.org\/webdev\/author\/mkellymozilla-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Extravaganza - February 2016 - Mozilla Web Development","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blog.mozilla.org\/webdev\/2016\/02\/05\/extravaganza-february-2016\/","twitter_misc":{"Written by":"Michael Kelly","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/blog.mozilla.org\/webdev\/2016\/02\/05\/extravaganza-february-2016\/","url":"https:\/\/blog.mozilla.org\/webdev\/2016\/02\/05\/extravaganza-february-2016\/","name":"Extravaganza - February 2016 - Mozilla Web Development","isPartOf":{"@id":"https:\/\/blog.mozilla.org\/webdev\/#website"},"datePublished":"2016-02-05T17:20:52+00:00","dateModified":"2016-02-06T20:45:04+00:00","author":{"@id":"https:\/\/blog.mozilla.org\/webdev\/#\/schema\/person\/c5d68eef83c0e4e0ae60176f557c1941"},"breadcrumb":{"@id":"https:\/\/blog.mozilla.org\/webdev\/2016\/02\/05\/extravaganza-february-2016\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.mozilla.org\/webdev\/2016\/02\/05\/extravaganza-february-2016\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/blog.mozilla.org\/webdev\/2016\/02\/05\/extravaganza-february-2016\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blog.mozilla.org\/webdev\/"},{"@type":"ListItem","position":2,"name":"Extravaganza &#8211; February 2016"}]},{"@type":"WebSite","@id":"https:\/\/blog.mozilla.org\/webdev\/#website","url":"https:\/\/blog.mozilla.org\/webdev\/","name":"Mozilla Web Development","description":"For make benefit of glorious tubes","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.mozilla.org\/webdev\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/blog.mozilla.org\/webdev\/#\/schema\/person\/c5d68eef83c0e4e0ae60176f557c1941","name":"Michael Kelly","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.mozilla.org\/webdev\/#\/schema\/person\/image\/835c2c0db4a21fa347206563231f3e71","url":"https:\/\/secure.gravatar.com\/avatar\/a414aea4a5b11c6e2e00f760e96b85ab?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a414aea4a5b11c6e2e00f760e96b85ab?s=96&d=mm&r=g","caption":"Michael Kelly"},"description":"Michael Kelly is a developer on the Web Engineering team at Mozilla. He works on tools that help engineers get things done. He also helps run a lot of the Webdev group activities!","sameAs":["http:\/\/mkelly.me","https:\/\/x.com\/Osmose"],"url":"https:\/\/blog.mozilla.org\/webdev\/author\/mkellymozilla-com\/"}]}},"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/posts\/4085"}],"collection":[{"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/users\/445"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/comments?post=4085"}],"version-history":[{"count":0,"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/posts\/4085\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/media?parent=4085"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/categories?post=4085"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/tags?post=4085"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/coauthors?post=4085"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}