{"id":4114,"date":"2016-07-18T09:26:28","date_gmt":"2016-07-18T17:26:28","guid":{"rendered":"https:\/\/blog.mozilla.org\/webdev\/?p=4114"},"modified":"2016-07-18T09:26:28","modified_gmt":"2016-07-18T17:26:28","slug":"extravaganza-july-2016","status":"publish","type":"post","link":"https:\/\/blog.mozilla.org\/webdev\/2016\/07\/18\/extravaganza-july-2016\/","title":{"rendered":"Extravaganza &#8211; July 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\/July\">wiki page<\/a> that we use to organize the meeting, or view a <a href=\"https:\/\/air.mozilla.org\/webdev-extravaganza-july-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>Basket switch to Salesforce<\/h3>\n<p>First up was <a href=\"https:\/\/mozillians.org\/en-US\/u\/pmac\/\">pmac<\/a>, who shared the news that <a href=\"https:\/\/github.com\/mozmar\/basket\/\">Basket<\/a>, email newsletter subscription service, has switched to using <a href=\"https:\/\/www.salesforce.com\/\">Salesforce<\/a> as the backend for storing newsletter subscriptions. In addition, the service now has a nifty <a href=\"https:\/\/p.datadoghq.com\/sb\/279ea5216-630e79664d\">public DataDog metrics dashboard<\/a> showing off statistics about how the service is performing.<\/p>\n<h3>Engagement Engineering Status Board<\/h3>\n<p>Next was <a href=\"https:\/\/mozillians.org\/en-US\/u\/giorgos\/\">giorgos<\/a>, who shared <a href=\"http:\/\/status.mozmar.org\/\">status.mozmar.org<\/a>, a status page listing the current status of all the services that Engagement Engineering maintains. The status board pulls monitoring information from <a href=\"https:\/\/deadmanssnitch.com\/\">Dead Man&#8217;s Snitch<\/a> as well as <a href=\"https:\/\/newrelic.com\/\">New Relic<\/a>&#8216;s application and <a href=\"https:\/\/newrelic.com\/synthetics\">Synthetics<\/a> monitoring. The app runs a worker using <a href=\"https:\/\/aws.amazon.com\/lambda\/\">AWS Lambda<\/a> that pulls the information and writes it to a <a href=\"http:\/\/yaml.org\/\">YAML<\/a> file in the <a href=\"https:\/\/github.com\/mozmar\/status.mozmar.org\">repo<\/a>&#8216;s gh-pages branch, and the status page itself reads the YAML file via JavaScript to build the display.<\/p>\n<h3>DXR<\/h3>\n<p><a href=\"https:\/\/mozillians.org\/en-US\/u\/ErikRose\/\">ErikRose<\/a> stopped by to share more cool things that shipped in <a href=\"https:\/\/dxr.mozilla.org\/\">DXR<\/a> this month:<\/p>\n<ul>\n<li>Indexing for XBL and JavaScript.<\/li>\n<li>Indexing 32+ new projects<\/li>\n<li>Added a 3rd build server<\/li>\n<li>Several performance optimizations that cut down build times by roughly 25%.<\/li>\n<li>C++ macro definitions, method overrides, pure virtuals, substructs, and more are all now indexed. In addition, you can now easily jump between header files and their implementations.<\/li>\n<li>UI improvements, including contrast improvements, a new filename filter, and jumping directly to files that are the only result of a query.<\/li>\n<\/ul>\n<p>Special thanks to intern <a href=\"https:\/\/mozillians.org\/en-US\/u\/peter.elmers\/\">new_one<\/a> and contributors <a href=\"https:\/\/mozillians.org\/en-US\/u\/twointofive\/\">twointofive<\/a> and <a href=\"https:\/\/github.com\/abbeyj\">abbeyj<\/a>. Also special thanks to MXR for being shut down due to security bugs and allowing DXR to flourish in its wake.<\/p>\n<h3>Fathom 1.0 and 1.1<\/h3>\n<p>Erik also brought up <a href=\"https:\/\/github.com\/mozilla\/fathom\">Fathom<\/a>, an experimental framework for extracting meaning from webpages. Fathom allows you to write declarative rules that score and classify DOM nodes, and then extract those nodes from a DOM that it analyzes.<\/p>\n<p>This month we shipped the 1.0 version of Fathom, as well as a 1.1 release with a bug fix for Firefox support as well as an optimization fix. It&#8217;s available as an <a href=\"https:\/\/www.npmjs.com\/package\/fathom-web\">NPM module<\/a> for use as a library.<\/p>\n<h2>Roundtable<\/h2>\n<p>The Roundtable is the home for discussions that don&#8217;t fit anywhere else.<\/p>\n<h3>Engagement Engineering Hiring &#8211; Senior Webdev and Site Reliability Engineer<\/h3>\n<p>Last up was pmac again, who wanted to mention that the Mozilla Engagement Engineering team is hiring a <a href=\"https:\/\/careers.mozilla.org\/position\/ohat3fwH\">Senior Web Developer<\/a> and a <a href=\"https:\/\/careers.mozilla.org\/position\/oaat3fwA\">Site Reliability Engineer<\/a>. If you&#8217;re interested in working at Mozilla, click those links to apply on our careers site!<\/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\/07\/18\/extravaganza-july-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 - July 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\/07\/18\/extravaganza-july-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\/07\/18\/extravaganza-july-2016\/\",\"url\":\"https:\/\/blog.mozilla.org\/webdev\/2016\/07\/18\/extravaganza-july-2016\/\",\"name\":\"Extravaganza - July 2016 - Mozilla Web Development\",\"isPartOf\":{\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/#website\"},\"datePublished\":\"2016-07-18T17:26:28+00:00\",\"dateModified\":\"2016-07-18T17:26:28+00:00\",\"author\":{\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/#\/schema\/person\/c5d68eef83c0e4e0ae60176f557c1941\"},\"breadcrumb\":{\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/2016\/07\/18\/extravaganza-july-2016\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.mozilla.org\/webdev\/2016\/07\/18\/extravaganza-july-2016\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/2016\/07\/18\/extravaganza-july-2016\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blog.mozilla.org\/webdev\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Extravaganza &#8211; July 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 - July 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\/07\/18\/extravaganza-july-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\/07\/18\/extravaganza-july-2016\/","url":"https:\/\/blog.mozilla.org\/webdev\/2016\/07\/18\/extravaganza-july-2016\/","name":"Extravaganza - July 2016 - Mozilla Web Development","isPartOf":{"@id":"https:\/\/blog.mozilla.org\/webdev\/#website"},"datePublished":"2016-07-18T17:26:28+00:00","dateModified":"2016-07-18T17:26:28+00:00","author":{"@id":"https:\/\/blog.mozilla.org\/webdev\/#\/schema\/person\/c5d68eef83c0e4e0ae60176f557c1941"},"breadcrumb":{"@id":"https:\/\/blog.mozilla.org\/webdev\/2016\/07\/18\/extravaganza-july-2016\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.mozilla.org\/webdev\/2016\/07\/18\/extravaganza-july-2016\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/blog.mozilla.org\/webdev\/2016\/07\/18\/extravaganza-july-2016\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blog.mozilla.org\/webdev\/"},{"@type":"ListItem","position":2,"name":"Extravaganza &#8211; July 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\/4114"}],"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=4114"}],"version-history":[{"count":0,"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/posts\/4114\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/media?parent=4114"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/categories?post=4114"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/tags?post=4114"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/coauthors?post=4114"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}