JSConf US 2013
2013
List of videos

Angelina Fabbro: JavaScript Masterclass | JSConf US
Slides: http://afabbro.github.io/jsconf2013/ I am not an expert developer. I am also not a beginning developer. I'm an intermediate developer, and I want to navigate the path from being a mediocre or good developer, to becoming a great or expert level developer. How in the heck do I do this? The tutorial ecosystem of the web is heavily skewed towards beginners, but what about the rest of us? If you identify with these statements in the slightest, then this talk is for you. With ideas from cognitive science, education, and some advice from admired programmers along the way, we are going to explore what it means to be a world-class developer and what we need to do to get there. I'll talk a little bit about the philosophy, attitude, and habits (both good and bad) required for learning how to learn better, and then we will talk about the kinds of skills and knowledge that an expert programmer in general needs. Along the way we'll touch about various myths and cognitive biases about who can and cannot be a great programmer, and leave you with a path to get started. By the end of the talk, I will have proposed a curriculum of topics that should take an intermediate developer and turn them into an advanced one, and special attention will be given to mastery of the JavaScript language. Meet Angelina Angelina Fabbro is a programmer based in Vancouver, Canada and works at Steamclock Software. Angelina has a background in cognitive science, building clever robots and researching what people pay attention to. Her record as a web developer is balanced with modern iOS experience and a keen sense of design. Angelina also both teaches and mentors for the Vancouver chapter of Ladies Learning Code.
Watch
[JSConfUS 2013] Peter van der Zee: Real Time Recompilation of Running JavaScript
Recompilation of running JS without having to restart it. It's like Bret Victors talk, when he demo's rewriting code (http://vimeo.com/36579366 , for example at 5:45). I'd like to show a working proof of concept of this as well as demo other parts of his talk that are up'n'running, and how you'd go about coding something like that. So a crazy nerdcore JS rewriting and tooling talk. Guaranteed to blow peoples minds.
Watch
[JSConfUS 2013] Brendan Eich: Toward a language-neutral browser VM
JavaScript has a yin and yang, or put another world-religion way, it serves two masters: humans who hand-code apps and libraries, and compilers that generate JS as virtual machine code. No language can serve two such masters for long. Consider C, still hand-coded, used only as a target language "temporarily", a la early C++'s cfront. Which one will win with JS? I think hand-coding is closer to God, make no mistake, but I'm concerned about the case that mammon will prevail in the longer run. In this dystopia, hand-coding will die hard, but compilers can out-generate humans and relieve programmers from having to learn and use JS, especially when they know and prefer another language, and definitely (as in the case of 3D games) when they have C++ code to port. Just as in the story of John Henry vs. the Steam-Powered Hammer, a noble human may get ahead in a sprint, but end up dying after the finish line from a burst heart. I will present demos of compiled-to-JS programs including 3D games. I'll then do quick dive into the asm.js (http://asmjs.org/) subset of JS generated by Emscripten, and the OdinMonkey all-at-once asm.js compiler built into Firefox's SpiderMonkey engine. I will also present near-term extensions for data and task parallelism in JS. Finally, I will discuss code size and memory use, and sketch how hand-coded and compiler-generated JS can be linked together and share references into one anothers' heaps.
Watch
[JSConfUS 2013] Nicole Sullivan: Creating Living Style Guides
Can style guides lead to better UI code? Better performance? Yes, absolutely. In this talk, Nicole will show you how she and her team collaborated with Trulia engineers and designers to create a living style guide. She'll also share some yummy data about how that affected real user measurements.
Watch
[JSConfUS 2013] Peter Flynn: Performance Tuning Secrets
Performance-tuning JavaScript code in a browser environment can feel like a dark art. Let's shine a spotlight on some tricks of the trade: from low-level Chrome tracing to high-speed cameras, and everything in between. We'll also cover W3C proposals that may lead us to a brighter future -- and discuss when enough optimization is enough.
Watch
[JSConfUS 2013] Domenic Denicola: Boom, Promises/A+ Was Born
Frustration, a rant, a test suite, a gist. Then, community awesomeness. Boom! Promises/A+ was born. Promise are an old idea for abstracting asynchronous code, but have only recently made their way into JavaScript. We'll look at the power they provide via two striking examples that go beyond the usual "escape from callback hell" snippets. First we'll show how, with ES6 generators, they can act as shallow coroutines to give us back code just as simple as its synchronous counterpart. Then we'll look at how they can be used as proxies for remote objects, across iframe, worker, or web socket boundaries. However, the most interesting aspect of Promises/A+ is not just the code it enables, but how we worked to create it. We didn't join a standards body, but instead formed a GitHub organization. We had no mailing list, only an issue tracker. We submitted pull requests, made revisions, debated versions tags, etc.—all in the open, on GitHub. And, we succeeded! Promises/A+ is widely used and implemented today, with its extensible core forming the starting point of any discussions about promises. Indeed, this community-produced open standard has recently been informing the incorporation of promises into ECMAScript and the DOM. I'd like to share the story of how this happened, the lessons we learned along the way, and speculate on the role such ad-hoc, community-driven, and completely open specifications have for the future of the web.
Watch
[JSConfUS 2013] Adam Baldwin: Builders vs Breakers
A internal civil war has been my life for years as I've walked the razor wire separating breakers and builders. I'd like to share my experiences presenting outside the security industry at developer conferences like Djangocon, JSConf (trackb), and RealtimeConf what it's like to be the lone security professional in a sea of builders, what it feels like, what they say, what they really care about, how not to speak to them, how to completely disrespect them, and how to fail miserably.
Watch
[JSConfUS 2013] Brian Leroux: Put a TopCoat on PhoneGap
Come check out Adobe's new CSS library for building clean and fast web apps.
Watch
[JSConfUS 2013] Scott Andrews: Taming Client-Server Communication
In the early days of the web, a browser could only interact with a server on page load. The XMLHttpRequest enabled the web 2.0 revolution popularizing RESTful web services in the process. Now, with HTML5, we have WebSockets. WebSockets enable a plethora of messaging based communication patterns. This talk will dive into two cujoJS libraries that specialize in client-server communication: rest.js (https://github.com/cujojs/rest) for consuming RESTful HTTP services and msgs.js (https://github.com/cujojs/msgs) for message oriented programing between clients and servers utilizing WebSockets. We'll talk about what access patterns each of these mediums enable and how to extend these libraries to fit your specific needs.
Watch
[JSConfUS 2013] John David Dalton: Perf the web forward!
Slides: http://allyoucanleet.com/post/52667587834/jsconf-us-13-slides Open your issue trackers, get your pull requests ready, and join John-David Dalton, co-maintainer of jsperf.com and creator of Lo-Dash, to perf the web forward as he discusses commonly overlooked performance issues, rethinks established code patterns, and shares tips you can apply to your own projects and favorite libraries.
Watch
[JSConfUS 2013] Stephen Bannasch: A JavaScript framework for computational simulations
Two years ago the Google Foundation awarded us a major grant to develop a JavaScript + HTML5 version of our educational physics simulation called Molecular Workbench Because Javascript is fast and the web is ubiquitous, we have extended the work to create a general framework for publishing explorable scientific simulations that run in the browser, From the beginning we've kept a close eye on performance and extensibility. We'll show off our framework and talk about the lessons we've learned regarding this relatively new form of web app. Image: https://secure.gravatar.com/avatar/5810a1b7743eb2186ca0ea1d0a3469a0?s=140&d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png I agree to release any and all audio and video recording and broadcast rights to JSConf for publication
Watch
[JSConfUS 2013] Nathan Totten: Node Copters in the Cloud
You have seen how cool it is to wirelessly control flying robots using Node.js, now come see how we can extend the Node Copters with the power of the cloud! Come see how we can use Node.js and Windows Azure to remotely control our robots from hundreds of miles away. See how we can instantly upload our Node Copter camera videos to the cloud and more. This session promises to be ridiculous and fun. Why would we do this you might ask? Because we can.
Watch
[JSConfUS 2013] Daniel Tralamazza: How to prepare a distributed nodejs application
Ingredients: - 1x nodejs application, the bigger the better - A handful of external services, AWS will do - Some Cachaça or good Pálinka Preparation: With a sharp eye slice open your server and remove its guts, put that aside ... Keyword soup: microframework for distributed nodejs applications with service discovery and remote dependency control.
Watch