Last week, two of Monetate’s engineers, Mike Hand and Tom Chandler, attended EmpireJS, a one-day Javascript conference held in Manhattan. There were more than 20 sessions, held in two parallel tracks throughout the day.

Talks attended by our engineers:

  • Bringing Javascript Code Analysis to the Next Level with Ariya Hidayat. The day opened with a presentation on Javascript static code analysis techniques by Ariya Hidayat. He compared current code analysis tools to spell checkers and called for something more akin to grammar enforcement. Breaking down layers of tools into different brackets, he spoke about the need to combine tools together to get better feedback at different intervals.
  • Hacking ASTs for Fun and Profit with Alex Sexton. Sexton’s talk on ASTs (abstract syntax trees) logically followed Ariya’s suggestions of the power of AST analysis for tools. Creating an AST gives developers access to their code as data, which means it’s traversable, analyzable and modifiable in familiar ways. This opens up the doors for powerful language features, such as macros and transpilation.
  • ES6 is Night with Domenic Denicola. Aside from an excellent and entertaining overview of the new features and the reasoning behind them, the core conceit of this was about the goals of Javascript as a language. It is currently missing a large number of features that are considered native to most other languages, and because of the cycle time of language updates, the language has to aim to get ahead of where things are instead of trying to catch up. (Denicola used a Wayne Gretzky quote about skating to where the puck is going to be.)
  • The Isla Language with Mary Rose Cook. Mary has cooked up a teaching language for children that has a symbol-free syntax (excepting apostrophes to indicate values) that expresses programming concepts in plain English. She discussed the technical aspects of developing a language with Javascript as well as the human side of designing a language for people who aren’t technically literate.
  • Javascript: The Real Bad Parts with John K Paul. Paul’s overview sought to expand on the appendix of Douglas Crockford’s Javascript: The Good Parts. His talk included a discussion on the problems of keywords that have common English uses, such as this, as well as misleading names, such as prototype. He also dsof that a lot of ES6 and 7 features were going to create more confusion for newcomers (var vs. let, function vs =>) and that we need to be aware of the complexity we’re getting with the new features.
  • Probably Streams with James Halliday. What Halliday’s talk lacked in structure it made up for in entertainment and diversity. His core topic turned out to be NPM modules. His stance is that NPM modules should adopt the Unix philosophy of doing one discrete thing very well. He then demoed the creation of an NPM module, from initial code through publication at a breakneck speed. With the remaining time he gave an overview of a talk he was going to give at another conference this week about real-time data streams in node.js.
  • Javascript For Cats with Max Ogden. The MC labeled Max Ogden the Mr. Rogers of Javascript. Max has been working on an online tutorial to teach Javascript to cats. It sounds like an odd premise, but the core idea is that cats often embody the kind of audience that you need to help gain technical literacy. Cats are lazy, cats get distracted easily, cats like to play. Cats don’t need to understand computer science or language idiosyncracies to be given technical literacy. Cats just want to see things happen and be able to play with them a bit. Ogden discussed the challenges of designing a curriculum that avoids confusing concepts. He skips loop constructs entirely, instead opting to having learners pass Underscore.js into their console and use iterator functions to teach the concept of iteration. Still up in the air are concepts like prototypes, context, and inheritance.
  • Node.js with Windows Azure with Peter Laudati. Laudati, a developer at Microsoft, gave an overview of the Azure cloud computing service and Microsoft’s support of the Node.js platform. After a discussion of the Azure service and some of the technology behind it, he demoed creating and deploying a node.js app to cloud with free tools provided by Microsoft.
  • Teaching Programming Using Javascript with John Resig. Resig, well known for creating jQuery, gave a talk on his latest work at Kahn Academy. He gave a demo and discussed the technology behind his work heading up their Computer Science curriculum. He was inspired by Bret Victor’s Inventing On Principle from CUSEC 2012. Making clever use of the with operator and dynamic code injection, Resig was able to make an interactive coding environment that seamlessly updates running code all within the browser. The IDE itself offers simplified auto-completion, sliders for live number modification, and a sophisticated (and friendly) error detection and reporting system. All of these features are used with narrated examples that simulate an instructor interacting with your code. Resig is clearly excited about the possibility of making programming more accessible, and his work seems prepared do so.
  • Finding Love In A Bit with Chris Williams. Chris reprised and expanded on his JSConf EU talk, “An End To Negativity.” After convincing the room of always-on Javascript enthusiasts to turn off their phones and laptops, he talked about trying to direct the community to do real human good and the importance of taking time to disconnect. He illustrated the disparity between how much is spent trying to cure cancer and AIDS (less than $20 billion) and how much is spent by venture capital firms on risky bets (more than $30 billion). He urged the people in the room, whom he called “alchemists” (“you make gold out of nothing”) to reach out to people doing good works for humanity (researchers, charity organizations, non-profits) and use our skills to help them.
  • There were a few sessions that weren’t attended by our engineers. Tooling, mobile development, hardware control, and sound processing were among the many topics discussed as part of the other tracks. The conference as a whole was one of a thriving community feeling out the boundaries of the technology that brought them together. I’m glad to see the focus on expanding Javascript to promote technical literacy and calls from community leaders to not only bring more positivity and acceptance, but to also start focusing our energies on real good.