{"id":2636,"date":"2012-04-24T11:17:57","date_gmt":"2012-04-24T19:17:57","guid":{"rendered":"http:\/\/blog.mozilla.org\/webdev\/?p=2636"},"modified":"2012-06-29T11:17:33","modified_gmt":"2012-06-29T19:17:33","slug":"beer-and-tell-april-2012","status":"publish","type":"post","link":"https:\/\/blog.mozilla.org\/webdev\/2012\/04\/24\/beer-and-tell-april-2012\/","title":{"rendered":"Mozilla Webdev&#8217;s Beer and Tell: April 16, 2012"},"content":{"rendered":"<p>In case you missed <a href=\"http:\/\/blog.mozilla.org\/webdev\/2012\/04\/04\/mozilla-webdev-beer-and-tell-march-16-2012\/\">last month&#8217;s blog post<\/a>, a <em>Beer and Tell<\/em> is a monthly Mozilla Webdev gettogether involving cool hacks and malted beverages. We try to structure it like a series of lightning talks and &#8212; because all work and no play makes web developers go crazy &#8212; some of us have a beer during. Some of the East Coast folks drink scotch instead, but it&#8217;s OK because it&#8217;s after 5pm in Toronto by then.<\/p>\n<p>We didn&#8217;t record this Beer and Tell (my bad!), but I thought I&#8217;d share what was presented. It was pretty gaming-focused and quite cool.<\/p>\n<h3>Django Stats Admin<\/h3>\n<p>Created by <a href=\"https:\/\/twitter.com\/Osmose\">Michael Kelly<\/a>, this nifty little app allows you to visualize any of your Django models with <code>datetime<\/code> fields in the Django Admin. It uses the <a href=\"http:\/\/code.google.com\/p\/flot\/\">flot<\/a> JS library to create pretty charts and lets you specify date ranges.<\/p>\n<p><a href=\"http:\/\/blog.mozilla.org\/webdev\/files\/2012\/04\/Screen-shot-2012-04-23-at-9.13.29-PM.png\"><img decoding=\"async\" loading=\"lazy\" src=\"http:\/\/blog.mozilla.org\/webdev\/files\/2012\/04\/Screen-shot-2012-04-23-at-9.13.29-PM-300x206.png\" alt=\"Django Stats Admin screenshot\" width=\"300\" height=\"206\" class=\"size-medium wp-image-2635\" srcset=\"https:\/\/blog.mozilla.org\/webdev\/files\/2012\/04\/Screen-shot-2012-04-23-at-9.13.29-PM-300x206.png 300w, https:\/\/blog.mozilla.org\/webdev\/files\/2012\/04\/Screen-shot-2012-04-23-at-9.13.29-PM.png 973w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Michael&#8217;s currently working on abstracting the app out into a library that can be used with any Django app.<\/p>\n<h3>Lisp -> DCPU-16 Compiler<\/h3>\n<p>James Long, our resident Lisp champion, started off by telling us about <a href=\"http:\/\/0x10c.com\/\">0x10c<\/a> and the DCPU-16 assembly language in the game. It&#8217;s pretty cool stuff for gamers who are language geeks too. Of course, who wants to write machine code of any kind when there&#8217;s Lisp?! No one, that&#8217;s who. Or, well, at least not James.<\/p>\n<p>James wrote a Lisp to DCPU-16 compiler that translates your Lisp to <em>heavily optimized<\/em> DCPU-16 assembly instructions. His Lisp allows inline assembly and is pretty damn slick.<\/p>\n<p>James walked us threw some Lisp code, showed us the converted assembly, then ran the instructions for us! He also showed us some of the crazier stuff folks have done with the DCPU-16 language, even though it&#8217;s in its early stages. Very cool stuff.<\/p>\n<p><a href=\"https:\/\/github.com\/jlongster\/dcpu-lisp#readme\">Check out his project&#8217;s README<\/a> for more info and examples. It&#8217;s actually written in James&#8217; own Lisp variant, <a href=\"https:\/\/github.com\/jlongster\/outlet\">Outlet<\/a>, that compiles to JavaScript and lua. Lisp-ception!<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"http:\/\/blog.mozilla.org\/webdev\/files\/2012\/04\/3oxtzz.jpg\" alt=\"Yo dawg I heard you liked Lisp so I wrote you a Lisp compiler in Lisp so you can write Lisp for DCPU-16.\" width=\"625\" height=\"415\" class=\"size-full wp-image-2634\" srcset=\"https:\/\/blog.mozilla.org\/webdev\/files\/2012\/04\/3oxtzz.jpg 625w, https:\/\/blog.mozilla.org\/webdev\/files\/2012\/04\/3oxtzz-300x199.jpg 300w\" sizes=\"(max-width: 625px) 100vw, 625px\" \/><\/p>\n<p>Even I, a steadfast <code>vim<\/code> user, was impressed.<\/p>\n<h3>Gladius<\/h3>\n<p><a href=\"http:\/\/redpuma.net\/blog\/\">Dan Mosedale<\/a> showed us some damn fine graphics engine fun in JavaScript, running quite smashingly (with a few browser garbage collection missteps, soon-to-be-resolved) in a browser. It was powered by a new library, <a href=\"https:\/\/github.com\/gladiusjs\/gladius-core\">Gladius<\/a>.<\/p>\n<p>He started with some basic objects and physics, then progressed onto the beginnings of a 3rd platformer\/fighter! We discussed the current state of graphics libraries, 2D vs. 3D libraries (there are a lot of 2D libraries out there &#8212; Gladius is focusing on 3D), and gaming in browsers in general.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"http:\/\/blog.mozilla.org\/webdev\/files\/2012\/04\/no-comply.png\" alt=\"Screenshot from the Gladius demo\" width=\"462\" height=\"350\" class=\"size-full wp-image-2633\" srcset=\"https:\/\/blog.mozilla.org\/webdev\/files\/2012\/04\/no-comply.png 462w, https:\/\/blog.mozilla.org\/webdev\/files\/2012\/04\/no-comply-300x227.png 300w\" sizes=\"(max-width: 462px) 100vw, 462px\" \/><\/p>\n<p>These folks are up to some interesting stuff and it&#8217;s a great time to get started writing games in the browser. <a href=\"http:\/\/blog.mozilla.org\/labs\/2012\/04\/gladius-a-modular-3d-game-engine-for-the-web\/\">Read more about Gladius<\/a> and be sure to look for some full-fledged games using it in no time.<\/p>\n<h3>Apptastic, an Experiment in <del>Cursing<\/del> Creating Mobile Platforms<\/h3>\n<p>The developers on the Developer Ecosystem team wanted to see what it was like to develop on various mobile platforms so we&#8217;d know what to do (and what not to do) when creating a sane work flow for developing Open Web Apps. We decided to make simple Bugzilla search apps so the each experiment had a common goal.<\/p>\n<p>Turns out: most mobile platforms are a pretty big pain in the ass to develop for! It&#8217;s important to remember that we&#8217;ve come a long way (before the iPhone, it was sell your &#8220;app&#8221; through each carrier to a specific device for a crazy price), but we still have a ways to go.<\/p>\n<p>Arron wrote <a href=\"http:\/\/pennyfx.github.com\/Windows-Phone-Bugzilla-Quick-Search\/\">a pretty sweet write-up of his Windows Phone experience<\/a>, and we briefly discussed developing on other platforms, including the bureaucracy involved in iOS development and the general pain of Android&#8230; every step of the way.<\/p>\n<p>Look for more blog posts about our experiences in the future.<\/p>\n<h3>That&#8217;s All Folks!<\/h3>\n<p>Hope you enjoyed my recap of the Beer and Tell. We&#8217;ll be sure to record it for next time!<\/p>\n<p>Until then: keep hacking and having fun!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In case you missed last month&#8217;s blog post, a Beer and Tell is a monthly Mozilla Webdev gettogether involving cool hacks and malted beverages. We try to structure it like a series of lightning talks and &#8212; because all work &hellip; <a class=\"go\" href=\"https:\/\/blog.mozilla.org\/webdev\/2012\/04\/24\/beer-and-tell-april-2012\/\">Continue reading<\/a><\/p>\n","protected":false},"author":331,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[20263,4713,4712,288],"tags":[13610,553,20250,128,13611],"coauthors":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Mozilla Webdev&#039;s Beer and Tell: April 16, 2012 - 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\/2012\/04\/24\/beer-and-tell-april-2012\/\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Matthew Riley MacPherson\" \/>\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\/2012\/04\/24\/beer-and-tell-april-2012\/\",\"url\":\"https:\/\/blog.mozilla.org\/webdev\/2012\/04\/24\/beer-and-tell-april-2012\/\",\"name\":\"Mozilla Webdev's Beer and Tell: April 16, 2012 - Mozilla Web Development\",\"isPartOf\":{\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/2012\/04\/24\/beer-and-tell-april-2012\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/2012\/04\/24\/beer-and-tell-april-2012\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/blog.mozilla.org\/webdev\/files\/2012\/04\/Screen-shot-2012-04-23-at-9.13.29-PM-300x206.png\",\"datePublished\":\"2012-04-24T19:17:57+00:00\",\"dateModified\":\"2012-06-29T19:17:33+00:00\",\"author\":{\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/#\/schema\/person\/710b01118eeaa5607349ae02103de5d8\"},\"breadcrumb\":{\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/2012\/04\/24\/beer-and-tell-april-2012\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.mozilla.org\/webdev\/2012\/04\/24\/beer-and-tell-april-2012\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/2012\/04\/24\/beer-and-tell-april-2012\/#primaryimage\",\"url\":\"http:\/\/blog.mozilla.org\/webdev\/files\/2012\/04\/Screen-shot-2012-04-23-at-9.13.29-PM-300x206.png\",\"contentUrl\":\"http:\/\/blog.mozilla.org\/webdev\/files\/2012\/04\/Screen-shot-2012-04-23-at-9.13.29-PM-300x206.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/2012\/04\/24\/beer-and-tell-april-2012\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blog.mozilla.org\/webdev\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mozilla Webdev&#8217;s Beer and Tell: April 16, 2012\"}]},{\"@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\/710b01118eeaa5607349ae02103de5d8\",\"name\":\"Matthew Riley MacPherson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/blog.mozilla.org\/webdev\/#\/schema\/person\/image\/77cc8f7f43cdabbe5a275a420a0cbd33\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/4a1b8066eff77b9b5a3b82c64ce140b3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/4a1b8066eff77b9b5a3b82c64ce140b3?s=96&d=mm&r=g\",\"caption\":\"Matthew Riley MacPherson\"},\"description\":\"Matthew Riley MacPherson (aka tofumatt) is a Rubyist living in a Pythonista's world. He's from Canada, so you'll find lots of odd spelling (like \\\"colour\\\" or \\\"labour\\\") in his writing. He has a serious penchant for pretty code, excellent coffee, and very fast motorcycles. Check out his code on GitHub or talk to him about motorcycles on Twitter.\",\"sameAs\":[\"http:\/\/lonelyvegan.com\"],\"url\":\"https:\/\/blog.mozilla.org\/webdev\/author\/mmacphersonmozilla-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Mozilla Webdev's Beer and Tell: April 16, 2012 - 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\/2012\/04\/24\/beer-and-tell-april-2012\/","twitter_misc":{"Written by":"Matthew Riley MacPherson","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/blog.mozilla.org\/webdev\/2012\/04\/24\/beer-and-tell-april-2012\/","url":"https:\/\/blog.mozilla.org\/webdev\/2012\/04\/24\/beer-and-tell-april-2012\/","name":"Mozilla Webdev's Beer and Tell: April 16, 2012 - Mozilla Web Development","isPartOf":{"@id":"https:\/\/blog.mozilla.org\/webdev\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blog.mozilla.org\/webdev\/2012\/04\/24\/beer-and-tell-april-2012\/#primaryimage"},"image":{"@id":"https:\/\/blog.mozilla.org\/webdev\/2012\/04\/24\/beer-and-tell-april-2012\/#primaryimage"},"thumbnailUrl":"http:\/\/blog.mozilla.org\/webdev\/files\/2012\/04\/Screen-shot-2012-04-23-at-9.13.29-PM-300x206.png","datePublished":"2012-04-24T19:17:57+00:00","dateModified":"2012-06-29T19:17:33+00:00","author":{"@id":"https:\/\/blog.mozilla.org\/webdev\/#\/schema\/person\/710b01118eeaa5607349ae02103de5d8"},"breadcrumb":{"@id":"https:\/\/blog.mozilla.org\/webdev\/2012\/04\/24\/beer-and-tell-april-2012\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.mozilla.org\/webdev\/2012\/04\/24\/beer-and-tell-april-2012\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.mozilla.org\/webdev\/2012\/04\/24\/beer-and-tell-april-2012\/#primaryimage","url":"http:\/\/blog.mozilla.org\/webdev\/files\/2012\/04\/Screen-shot-2012-04-23-at-9.13.29-PM-300x206.png","contentUrl":"http:\/\/blog.mozilla.org\/webdev\/files\/2012\/04\/Screen-shot-2012-04-23-at-9.13.29-PM-300x206.png"},{"@type":"BreadcrumbList","@id":"https:\/\/blog.mozilla.org\/webdev\/2012\/04\/24\/beer-and-tell-april-2012\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blog.mozilla.org\/webdev\/"},{"@type":"ListItem","position":2,"name":"Mozilla Webdev&#8217;s Beer and Tell: April 16, 2012"}]},{"@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\/710b01118eeaa5607349ae02103de5d8","name":"Matthew Riley MacPherson","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.mozilla.org\/webdev\/#\/schema\/person\/image\/77cc8f7f43cdabbe5a275a420a0cbd33","url":"https:\/\/secure.gravatar.com\/avatar\/4a1b8066eff77b9b5a3b82c64ce140b3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4a1b8066eff77b9b5a3b82c64ce140b3?s=96&d=mm&r=g","caption":"Matthew Riley MacPherson"},"description":"Matthew Riley MacPherson (aka tofumatt) is a Rubyist living in a Pythonista's world. He's from Canada, so you'll find lots of odd spelling (like \"colour\" or \"labour\") in his writing. He has a serious penchant for pretty code, excellent coffee, and very fast motorcycles. Check out his code on GitHub or talk to him about motorcycles on Twitter.","sameAs":["http:\/\/lonelyvegan.com"],"url":"https:\/\/blog.mozilla.org\/webdev\/author\/mmacphersonmozilla-com\/"}]}},"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/posts\/2636"}],"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\/331"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/comments?post=2636"}],"version-history":[{"count":0,"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/posts\/2636\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/media?parent=2636"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/categories?post=2636"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/tags?post=2636"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/blog.mozilla.org\/webdev\/wp-json\/wp\/v2\/coauthors?post=2636"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}