{"id":4117,"date":"2016-08-05T13:59:59","date_gmt":"2016-08-05T21:59:59","guid":{"rendered":"https:\/\/blog.mozilla.org\/webdev\/?p=4117"},"modified":"2016-08-05T13:59:59","modified_gmt":"2016-08-05T21:59:59","slug":"extravaganza-august-2016","status":"publish","type":"post","link":"https:\/\/blog.mozilla.org\/webdev\/2016\/08\/05\/extravaganza-august-2016\/","title":{"rendered":"Extravaganza &#8211; August 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\/August\">wiki page<\/a> that we use to organize the meeting, or view a <a href=\"https:\/\/air.mozilla.org\/webdev-extravaganza-august-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>Normandy Control Interface Release<\/h3>\n<p>First up was <a href=\"https:\/\/mozillians.org\/en-US\/u\/mythmon\/\">mythmon<\/a>, who mentioned the new release of <a href=\"https:\/\/github.com\/mozilla\/normandy\">Normandy<\/a>, the backend server for the <a href=\"https:\/\/wiki.mozilla.org\/Firefox\/SHIELD\">SHIELD<\/a> system that powers surveys and feature studies in Firefox. This release includes a new admin interface built using <a href=\"https:\/\/facebook.github.io\/react\/\">React<\/a> and <a href=\"http:\/\/redux.js.org\/\">Redux<\/a>, as well as a switch to client-side targeting that is powered by <a href=\"https:\/\/github.com\/TechnologyAdvice\/Jexl\">JEXL<\/a> expressions.<\/p>\n<h3>Google Sign-In on Socorro<\/h3>\n<p>Next was <a href=\"https:\/\/mozillians.org\/en-US\/u\/peterbe\/\">peterbe<\/a>, who mentioned that <a href=\"https:\/\/github.com\/mozilla\/socorro\/\">Socorro<\/a>, the crash-report service for Firefox, has added Google-based sign-in ahead of the <a href=\"https:\/\/wiki.mozilla.org\/Identity\/Persona_Shutdown_Guidelines_for_Reliers\">planned shut-down of Persona<\/a>. It&#8217;s planned to land in production sometime within the next week, and involves some extra work around triggering automatic sign-out of users who have been signed in for a certain amount of time.<\/p>\n<h3>DXR: The Ballad of Peter Elmers<\/h3>\n<p><a href=\"https:\/\/mozillians.org\/en-US\/u\/ErikRose\/\">ErikRose<\/a> was next, and shared yet another list of new features developed by <a href=\"https:\/\/dxr.mozilla.org\/\">DXR<\/a> intern <a href=\"https:\/\/mozillians.org\/en-US\/u\/peter.elmers\/\">new_one<\/a>:<\/p>\n<ul>\n<li>Description column in file listings<\/li>\n<li>Better handling of whitespace in paths<\/li>\n<li>Modification dates are pulled from the VCS instead of the filesystem<\/li>\n<li>Per-line blame links<\/li>\n<li>Badges in the filter dropdown showing what languages support each filter<\/li>\n<\/ul>\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>django-jinja-markdown<\/h3>\n<p>Next was <a href=\"https:\/\/mozillians.org\/en-US\/u\/pmac\/\">pmac<\/a> in absentia, who wanted to share <a href=\"https:\/\/github.com\/pmac\/django-jinja-markdown\">django-jinja-markdown<\/a>, a fork of <a href=\"https:\/\/github.com\/nrsimha\/jingo-markdown\">jingo-markdown<\/a>. It adds support for rendering <a href=\"https:\/\/en.wikipedia.org\/wiki\/Markdown\">Markdown<\/a> strings to HTML in templates rendered with <a href=\"niwinz.github.io\/django-jinja\/\">django-jinja<\/a> via a <code>markdown<\/code> filter, as well as a similarly-named template function. It also includes a block-level template tag that can be enabled by adding the library as a Jinja extension.<\/p>\n<h3>json-schema-reducer<\/h3>\n<p>Back to <a href=\"https:\/\/mozillians.org\/en-US\/u\/peterbe\/\">peterbe<\/a>, who shared <a href=\"https:\/\/github.com\/peterbe\/json-schema-reducer\">json-schema-reducer<\/a>. The Python-based library takes in a <a href=\"http:\/\/json-schema.org\/\">JSON Schema<\/a> and a JSON object or dict, and returns the JSON  object with only fields that are specified in the schema. The main use case for the library is taking Socorro crash reports, and whitelisting data that is appropriate to be sent to Mozilla&#8217;s Telemetry platform for analysis, removing sensitive data that isn&#8217;t meant to leave the crash report system.<\/p>\n<h2>Roundtable<\/h2>\n<p>The Roundtable is the home for discussions that don&#8217;t fit anywhere else.<\/p>\n<h3>GTD<\/h3>\n<p>Last up was <a href=\"https:\/\/mozillians.org\/en-US\/u\/ErikRose\/\">ErikRose<\/a>, who brought up the <a href=\"https:\/\/en.wikipedia.org\/wiki\/Getting_Things_Done\">Getting Things Done<\/a> methodology and how he recently has adopted it to help deal with his personal and professional time management. The video recording contains an extended discussion of time management strategies, but useful tools highlighted during the discussion include <a href=\"https:\/\/culturedcode.com\/things\/\">Things<\/a> (OSX only), <a href=\"http:\/\/orgmode.org\/\">Org-Mode<\/a>, and good old-fashioned sticky notes.<\/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\/08\/05\/extravaganza-august-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 - August 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\/08\/05\/extravaganza-august-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=\"3 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\/08\/05\/extravaganza-august-2016\/\",\"url\":\"https:\/\/blog.mozilla.org\/webdev\/2016\/08\/05\/extravaganza-august-2016\/\",\"name\":\"Extravaganza - August 2016 - Mozilla Web Development\",\"isPartOf\":{\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/#website\"},\"datePublished\":\"2016-08-05T21:59:59+00:00\",\"dateModified\":\"2016-08-05T21:59:59+00:00\",\"author\":{\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/#\/schema\/person\/c5d68eef83c0e4e0ae60176f557c1941\"},\"breadcrumb\":{\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/2016\/08\/05\/extravaganza-august-2016\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.mozilla.org\/webdev\/2016\/08\/05\/extravaganza-august-2016\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/2016\/08\/05\/extravaganza-august-2016\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blog.mozilla.org\/webdev\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Extravaganza &#8211; August 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 - August 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\/08\/05\/extravaganza-august-2016\/","twitter_misc":{"Written by":"Michael Kelly","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/blog.mozilla.org\/webdev\/2016\/08\/05\/extravaganza-august-2016\/","url":"https:\/\/blog.mozilla.org\/webdev\/2016\/08\/05\/extravaganza-august-2016\/","name":"Extravaganza - August 2016 - Mozilla Web Development","isPartOf":{"@id":"https:\/\/blog.mozilla.org\/webdev\/#website"},"datePublished":"2016-08-05T21:59:59+00:00","dateModified":"2016-08-05T21:59:59+00:00","author":{"@id":"https:\/\/blog.mozilla.org\/webdev\/#\/schema\/person\/c5d68eef83c0e4e0ae60176f557c1941"},"breadcrumb":{"@id":"https:\/\/blog.mozilla.org\/webdev\/2016\/08\/05\/extravaganza-august-2016\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.mozilla.org\/webdev\/2016\/08\/05\/extravaganza-august-2016\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/blog.mozilla.org\/webdev\/2016\/08\/05\/extravaganza-august-2016\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blog.mozilla.org\/webdev\/"},{"@type":"ListItem","position":2,"name":"Extravaganza &#8211; August 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\/4117"}],"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=4117"}],"version-history":[{"count":0,"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/posts\/4117\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/media?parent=4117"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/categories?post=4117"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/tags?post=4117"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/coauthors?post=4117"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}