Wed, May 18, 2016

  • Mark Nadal

    Mark Nadal
  • Erik Isaksen

    Erik Isaksen
  • Patrick Stapleton

    Patrick Stapleton
  • Cornel Stefanache

    Cornel Stefanache

Scheduled Hangouts


Wed, May 18, 2016 – Mark Nadal walks us through GunDB code

@readthesource @octoblu thanks for doing this! Can't wait to really start kicking the tires on everything and beef up my home automation!

— @RandallAGordon

@readthesource Fantastic concept.. the ideal complement to open source

— @anandgeor

.@readthesource looks like an account to follow and a Google Hangout to try and join…

— @zachlendon

@jamie_gaskins @readthesource good show, I was impressed

— ‏@fkchang2000

@readthesource amazing, thanks! :D

— @yoshuawuyts

.@eisaksen @anvilhacks @rob_dodson @dannybluedesign @ebidel Thank you! Can't wait for the next @readthesource.

— @oakley349

Hangout Videos


Fri, Feb 19, 2016 – Richard Feldman walks us through Elm Lang Elm-CSS code


Wed, Feb 4, 2016 – Daniel Tao walks through Lazy.js

React Redux

Thu, Feb 3, 2016 – Dan Abramov goes through React Redux code

Angular2 Web Workers

Thu, Feb 2, 2016 – Jason Teplitz go through the Angular2 Web Workers


Wed, Jan 20, 2015 – Blake Embrey & go through the type definition manager for TypeScript

Angular Universal

Wed, Jan 20, 2015 – Jeff Whelpley & PatrickJS go through the server-side rendering code base that enables 'Isomorphic JavaScript' in Angular 2 applications.

Angular 2 with Misko Hevery

Fri, Dec 18, 2015 – Misko Hevery, creator of Angular guides us through the source code for the Angular 2 repository Data Binding

Thurs, Dec 10, 2015 – Jeremy Danyow, Aurelia Framework core team member, walks us through the code for his latest framework, focusing on the data binding sections.

Netflix Falcor

Thurs, Nov 12, 2015 – Michael Paulson from the Netflix Falcor core team joins us to chat about the project

Ruby Clearwater with Jamie Gaskins

Thu, Oct 22, 2015 – Jamie Gaskins takes us through the source code for Clearwater, a Ruby framework built with Opal to make front end development easier.

Core NodeJS Streams with Tim Oxley

Thu, Sept 24, 2015 – Tim Oxley takes us through the source code for Node.js Streams Front End Containers

Wed, May 20, 2015 – A new paradigm being introduced by to web development is Front-End Containerization similar to backend containers like Docker. These can be served & shared via the new service platform is releasing known as The Hub. Instead of building monolithic single-page apps with difficult-to-manage and difficult-to-deploy code bases, developers can build discrete components that can be injected (containerized) into any new or existing applications. These containers can be administered (content, configuration, version management) by non-coding folks, so you could think of it a bit like a "distributed Wordpress," deployed anywhere to native or web applications, but managed through a singular place known as The Hub.

NG-Aria & Angular Accessibility with Marcy Sutton

Thu, Apr 9, 2015 – AngularJS includes support for accessibility, through ng-aria and other modules. Marcy Sutton reveals the inner workings of this code and how we can make use of the features it provides in our applications. Marcy is a passionate speaker and developer at Substantial in Seattle working on accessibility and Material Design.

Nash and Divshot's CLI with Scott Corgan

Thu, Mar 26, 2015Divshot provides a convenient CLI for developers using their platform. Scott Corgan takes us on a tour of that code along with nash, the library he wrote to craft this command line masterpiece.

ICE Code Editor with Chris Strom

Wed, Oct 29, 2014ICE Code Editor is the JavaScript 3D visualization programming environment used throughout the book 3D Game Programming for Kids. It's written with Dart, the language for scalable web app engineering from Google. In this hangout, prolific blogger, author, and coder Chris Strom takes us on a deep dive into the ICE source code.

Octoblu's Meshblu with Chris Matthieu

Thu, Oct 16, 2014 – Meshblu, codenamed, is an open source machine-to-machine instant messaging network and API that powers the Internet of Things. Join evil mastermind Chris Matthieu and the Octoblu team as we read the source!

Divshot's Superstatic with Scott Corgan

Thu, Oct 2, 2014Superstatic is an enhanced static web server that was built to power Divshot. It has fantastic support for HTML5 pushState applications, clean URLs, caching, and MANY other goodies. Scott Corgan has been doing JavaScript for about 10 years. He's Divshot’s first employee and sole, full-time Node developer. Follow along or join in as Scott walks us through Superstatic's source code.

React.js Internals with Nick Niemeir

Thu, Sep 4, 2014 – In JavaScript you create a virtual DOM, react diffs changes between the last virtual DOM and the next, mutating the real DOM only as necessary to reflect the changes. This has huge implications for cognitive overhead as well as performance. We are going to enter the source where that virtual DOM gets created using calls to `React.DOM[element](attributes, contents)`

Polymer Application Data Binding & Communication

Thu, Jun 5, 2014 – Building a Polymer Web Component application I encountered a few challenges with passing data between various levels of nested components. In this ReadTheSource session we will look at some of the solutions I implemented and the code behind them. Some worked well and some just didn't work.

If you were here, they'd be clicking and tapping.
Contact us to find out about being a sponsor.

About the Hangouts

We're not here so much to learn how to use the code we read as we are to see how it works on the inside and hopefully derive some kind of nerd enlightenment from the experience. That said, it's sometimes easier to understand how to use a package effectively by looking at its implementation, rather than just reading the docs or playing with toy examples. Documentation can mislead and even lie, but code always tells the truth.

When we're starting out on a project, we can afford to treat external dependencies as black box abstractions. But once we start hitting those tricky edge cases, we're just begging for trouble if we treat our foundational components as being completely opaque.

Reading the source can be intimidating at first, but it's really an important skill for an advancing developer to acquire. That skill can open the doors to writing better code and even becoming an open source contributor. So aside from learning the internals of any given tool, if we have a big picture goal for these hangouts it should probably be to lower the psychological barriers to this kind of exploration. That's where we're coming from, and we hope everyone walks away with something valuable. Thanks for joining in ;-)

Hosted with by
@anvilhacks & @eisaksen.

Just updates on hangouts. No spam. No one else gets your email.