December Reading List

Archived post — originally dated 2014-12-09.

Historical context: This list reflects December 2014 book editions, tooling, and io.js news. The Streams, Tape, io.js, and Hexbin illustrations are unavailable. The other images may differ from their 2014 versions.

Catching up on a bunch of stuff by substack and ogd and learning some things when developing tempy, plus a few other tangents.

Browserify all the things!

Browserify logo
Browserify logo
  • Browserify-handbook - Read all of it!

    Browserify didn’t really make sense until I was able to understand require.

    People used to think that exporting a bunch of handy utility-style things would be the main way that programmers would consume code because that is the primary way of exporting and importing code on most other platforms and indeed still persists even on npm.

  • Rails is omakase - More on why small modules are nice.

  • Node Packaged Modules A nice dose of sanity to the insanity that is front-end JS library management.

    There is only one problem: browsers don’t have a good way to load modules. The state of the art is to have a ton of script tags that either leak globals e.g. how jQuery plugins all use $ or use RequireJS to manage loading code into the correct scopes.

  • ES6 Modules: The End of Civilization As We Know It? - dlmanning pointed this article out regarding the future of module loading. Excellent read.

  • Browserify-middlware - A connect style middleware for generating your browserified bundles.

  • wzrd.in - CDN for common.js packages.

  • multi-shim-example-including-dependencies - Adapting global JS libs for browserify.

Streams and Promises

Streams Handbook illustration link — Original illustration unavailable. Original image reference

  • Streams Handbook

    Streams can help to separate your concerns because they restrict the implementation surface area into a consistent interface that can be reused.

    Streams have always been more confusing than callbacks, and after reading this, they are much easier to understand. That being said, its concerning to see how different APIs are of the various stream versions.

  • Speaking of streams, promises seem weirder the more I hear about them:

    23:51:54 <rvagg> Promises are a huge pollution to interoperability, an abstraction on top of an abstraction

    23:52:51 <rvagg> Domenic: they are an hack on top of synchronous languages that haven’t grown up with first-class functions and they are an uncomfortable fit in JS because of this

    23:53:18 <rvagg> they allow you to defer your learning of what "asynchronous programing" means, further delaying your ability to write more performance and parallel code

    23:54:44 <rvagg> callbacks are the very definition of a representation of "stuff that happens in the background", we have that mechanism already

    23:55:23 <rvagg> helping people adapt to full CPS is a more worthy goal than allowing them to defer that for even longer (and they do have to get there in the end no matter what route they take) rvagg on #io.js

  • node aesthetic

  • many things

Testing and Tasking

io.js/node stuff

io.js Jupiter artwork unavailable. Original image reference

Node.js is forked. Here is all that you need to know.

Misc

Books

Want / reading / read:

Two Scoops of Django 1.6 book cover
Two Scoops of Django 1.6
Eloquent Ruby book cover
Eloquent Ruby
Effective Python book cover
Effective Python — Congrats Brett Slatkin!
Effective JavaScript book cover
Effective Javascript
Node.js in Action book cover
Node in Action

A few links from the book: