Skip to main content

Benjamin Oakes

Photo of Ben Oakes

Hi, I'm Ben Oakes and this is my geek blog. Currently, I'm a Ruby/JavaScript Developer at Liaison. Previously, I was a Developer at Continuity and Hedgeye, a Research Assistant in the Early Social Cognition Lab at Yale University and a student at the University of Iowa. I also organize, ICRuby, OpenHack Iowa City, and previously organized NewHaven.rb. I have an amazing wife named Danielle Oakes.

Embracing Change: Rails 5.1 Adopts Yarn, Webpack, and the JS Ecosystem

by Ben

With the inclusion of webpack and Yarn, the Rails team is showing a great deal of maturity and humility, recognizing that the web is no longer rendered only from the server, but also dynamically from the client. Not only has the team embraced these changes, but they are incorporating them in such a way as to make it feel like there’s a “Rails Way” to do JavaScript.

Source: Embracing Change: Rails 5.1 Adopts Yarn, Webpack, and the JS Ecosystem – Pixelated


by Ben

An extremely fast, React-like JavaScript library for building modern user interfaces

Source: infernojs/inferno

A new way of blogging about JavaScript, Clojure, and Ruby

by Ben

The klipse plugin is a small step toward Alan Kay’s vision: it is a javascript tag that transforms static javascript code snippets of an html page to live and interactive snippets.

Source: A new way of blogging about javascript

Available for Clojure, JavaScript, and Ruby.

Vanilla List: The Vanilla Javascript Repository

by Ben

Coz’ sometimes you feel guilty for using jQuery.

No dependencies.

Source: Vanilla List: The Vanilla Javascript Repository


by Ben

A modern approach to copy text to clipboard. No Flash. No dependencies. Just 3kb gzipped

Source: clipboard.js

JSONLint PRO – The JSON Validator

by Ben

JSON Lint is a web based validator and reformatter for JSON, a lightweight data-interchange format.

Source: JSONLint PRO – The JSON Validator

ember-concurrency: structured concurrency in JavaScript

by Ben

Escape from callback hell in JavaScript, but with cancellation. Excellent visualizations.

Example code:

export default Ember.Component.extend({

  myTask: task(waitAMoment).drop(),


Also interesting: enqueue

Source: EcPrezo

Bringing asm.js to the Chakra JavaScript engine in Windows 10

by Ben

Bringing asm.js to the Chakra JavaScript engine in Windows 10 – IEBlog – Site Home – MSDN Blogs.

Second but more importantly is the fact that asm.js is a pure subset of JavaScript and guarantees interoperability across platforms and browsers. This means that engines that support asm.js light up the new features, while engines that don’t will simply run with degraded performance. Since the beginning of Chakra, our team’s focus has always been to prioritize this approach to new functionality.

The future of the browser just got a little more interesting. That Firefox and IE are both supporting asm.js is a clear step towards eventual standardization. This development goes to show the cleverness of the asm.js approach over, say, Google’s Dart.

A first-person engine in 265 lines

by Ben

A first-person engine in 265 lines.

Kind of mind blowing how little code went into such an impressive demo. It’s even pretty readable for someone who doesn’t know much about ray tracing.

Vanilla JS

by Ben

Vanilla JS.

Vanilla JS is a fast, lightweight, cross-platform framework for building incredible, powerful JavaScript applications.

The Vanilla JS team maintains every byte of code in the framework and works hard each day to make sure it is small and intuitive. Who’s using Vanilla JS? Glad you asked! Here are a few. […]

In fact, Vanilla JS is already used on more websites than jQuery, Prototype JS, MooTools, YUI, and Google Web Toolkit – combined.

I have to admit it took me a second to realize this was a joke. The download form really makes it that much more hilarious.