{"id":3973,"date":"2015-01-23T10:09:04","date_gmt":"2015-01-23T18:09:04","guid":{"rendered":"http:\/\/blog.mozilla.org\/webdev\/?p=3973"},"modified":"2015-01-23T10:09:04","modified_gmt":"2015-01-23T18:09:04","slug":"beer-and-tell-january-2015","status":"publish","type":"post","link":"https:\/\/blog.mozilla.org\/webdev\/2015\/01\/23\/beer-and-tell-january-2015\/","title":{"rendered":"Beer and Tell &#8211; January 2015"},"content":{"rendered":"<p>Once a month, web developers from across the Mozilla Project get together to trade and battle Pok\u00e9mon. 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 &#8220;Beer and Tell&#8221;.<\/p>\n<p>There&#8217;s a <a href=\"https:\/\/wiki.mozilla.org\/Webdev\/Beer_And_Tell\/January2015\">wiki page available<\/a> with a list of the presenters, as well as links to their presentation materials. There&#8217;s also a <a href=\"https:\/\/air.mozilla.org\/webdev-beer-and-tell-january-2015\/\">recording available<\/a> courtesy of Air Mozilla.<\/p>\n<h2>Michael Kelly: gamegirl<\/h2>\n<p>Our first presenter, <a href=\"https:\/\/mozillians.org\/u\/Osmose\/\">Osmose<\/a> (that&#8217;s me!), shared a Gameboy emulator, written in Python, called <a href=\"https:\/\/github.com\/Osmose\/gamegirl\">gamegirl<\/a>. 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 <a href=\"http:\/\/urwid.org\/\">urwid<\/a>.<\/p>\n<h2>Luke Crouch: Automatic Deployment to Heroku using TravisCI and Github<\/h2>\n<p>Next, <a href=\"https:\/\/mozillians.org\/u\/groovecoder\/\">groovecoder<\/a> shared some wisdom about his new favorite continuous deployment setup. The setup involves hosting your code on <a href=\"https:\/\/github.com\/\">Github<\/a>, running continuous integration using <a href=\"https:\/\/travis-ci.org\/\">Travis CI<\/a>, and hosting the site on <a href=\"https:\/\/www.heroku.com\/\">Heroku<\/a>. Travis supports <a href=\"http:\/\/docs.travis-ci.com\/user\/deployment\/heroku\/\">deploying your app to Heroku after a successful build<\/a>, and groovecoder uses this to deploy his master branch to a staging server.<\/p>\n<p>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&#8217;s being deployed. Neat!<\/p>\n<p>This system is in use on <a href=\"http:\/\/codesy.io\/\">codesy<\/a>, and you can check out the <a href=\"https:\/\/github.com\/codesy\/codesy\">codesy Github repo<\/a> to see how they&#8217;ve configured their project to deploy using this pattern.<\/p>\n<h2>Peter Bengtsson: django-screencapper<\/h2>\n<p>Friend of the blog <a href=\"https:\/\/mozillians.org\/u\/peterbe\/\">peterbe<\/a> showed off <a href=\"https:\/\/github.com\/peterbe\/django-screencapper\">django-screencapper<\/a>, a microservice that generates screencaps from video files using <a href=\"https:\/\/www.ffmpeg.org\/\">ffmpeg<\/a>. Developed as a test to see if generating <a href=\"https:\/\/air.mozilla.org\/\">AirMozilla<\/a> icons via an external service was viable, it queues incoming requests using <a href=\"https:\/\/github.com\/toastdriven\/alligator\">Alligator<\/a> and POSTs the screencaps to a callback URL once they&#8217;ve been generated.<\/p>\n<p>A live example of the app is available at <a href=\"http:\/\/screencapper.peterbe.com\/receiver\/\">http:\/\/screencapper.peterbe.com\/receiver\/<\/a>.<\/p>\n<h2>tofumatt: i-dont-like-open-source AKA GitHub Contribution Hider<\/h2>\n<p>Motorcycle enthusiast <a href=\"https:\/\/mozillians.org\/u\/tofumatt\/\">tofumatt<\/a> hates the Github contributor streak graph. To be specific, he hates the one on his own profile; it&#8217;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 <a href=\"https:\/\/github.com\/tofumatt\/i-dont-like-open-source\">GitHub Contribution Hider<\/a> that hides only the contribution graph on your own profile. You can install the addon by visiting it&#8217;s <a href=\"https:\/\/addons.mozilla.org\/en-US\/firefox\/addon\/github-contribution-hider\/\">addons.mozilla.org page<\/a>. Versions of the add-on for other browsers are in the works.<\/p>\n<hr \/>\n<p>Fun fact: The power of friendship cannot, in fact, overcome type weaknesses.<\/p>\n<p>If you&#8217;re interested in attending the next Beer and Tell, sign up for the <a href=\"https:\/\/lists.mozilla.org\/listinfo\/dev-webdev\">dev-webdev@lists.mozilla.org mailing list<\/a>. 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!<\/p>\n<p>See you next month!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Once a month, web developers from across the Mozilla Project get together to trade and battle Pok\u00e9mon. While we discover the power of friendship, we also find time to talk about our side projects and drink, an occurrence we like &hellip; <a class=\"go\" href=\"https:\/\/blog.mozilla.org\/webdev\/2015\/01\/23\/beer-and-tell-january-2015\/\">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":[20263],"tags":[],"coauthors":[28315],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Beer and Tell - January 2015 - 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\/2015\/01\/23\/beer-and-tell-january-2015\/\" \/>\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\/2015\/01\/23\/beer-and-tell-january-2015\/\",\"url\":\"https:\/\/blog.mozilla.org\/webdev\/2015\/01\/23\/beer-and-tell-january-2015\/\",\"name\":\"Beer and Tell - January 2015 - Mozilla Web Development\",\"isPartOf\":{\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/#website\"},\"datePublished\":\"2015-01-23T18:09:04+00:00\",\"dateModified\":\"2015-01-23T18:09:04+00:00\",\"author\":{\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/#\/schema\/person\/c5d68eef83c0e4e0ae60176f557c1941\"},\"breadcrumb\":{\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/2015\/01\/23\/beer-and-tell-january-2015\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.mozilla.org\/webdev\/2015\/01\/23\/beer-and-tell-january-2015\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/2015\/01\/23\/beer-and-tell-january-2015\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blog.mozilla.org\/webdev\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Beer and Tell &#8211; January 2015\"}]},{\"@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":"Beer and Tell - January 2015 - 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\/2015\/01\/23\/beer-and-tell-january-2015\/","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\/2015\/01\/23\/beer-and-tell-january-2015\/","url":"https:\/\/blog.mozilla.org\/webdev\/2015\/01\/23\/beer-and-tell-january-2015\/","name":"Beer and Tell - January 2015 - Mozilla Web Development","isPartOf":{"@id":"https:\/\/blog.mozilla.org\/webdev\/#website"},"datePublished":"2015-01-23T18:09:04+00:00","dateModified":"2015-01-23T18:09:04+00:00","author":{"@id":"https:\/\/blog.mozilla.org\/webdev\/#\/schema\/person\/c5d68eef83c0e4e0ae60176f557c1941"},"breadcrumb":{"@id":"https:\/\/blog.mozilla.org\/webdev\/2015\/01\/23\/beer-and-tell-january-2015\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.mozilla.org\/webdev\/2015\/01\/23\/beer-and-tell-january-2015\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/blog.mozilla.org\/webdev\/2015\/01\/23\/beer-and-tell-january-2015\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blog.mozilla.org\/webdev\/"},{"@type":"ListItem","position":2,"name":"Beer and Tell &#8211; January 2015"}]},{"@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\/3973"}],"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=3973"}],"version-history":[{"count":0,"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/posts\/3973\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/media?parent=3973"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/categories?post=3973"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/tags?post=3973"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/coauthors?post=3973"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}