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 TechCorridor.io, ICRuby, OpenHack Iowa City, and previously organized NewHaven.rb. I have an amazing wife named Danielle Oakes.

Docker, Locales, and Ruby

by Ben

# Set the locale
RUN locale-gen en_US.UTF-8  
ENV LANG en_US.UTF-8  
ENV LANGUAGE en_US:en  
ENV LC_ALL en_US.UTF-8

Soruce: Docker and Locales.

Fixes invalid byte sequence in US-ASCII in Ruby when using Docker.  Found via this prmd issue.

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

Page Objects in Ruby

by Ben

Clean Up Your Acceptance Tests with Mâché — Josh Bassett
natritmeyer/site_prism

Kiba, a lightweight Ruby ETL framework

by Ben

Writing reliable, concise, well-tested & maintainable data-processing code is tricky.  Kiba lets you define & run such high-quality ETL (Extract-Transform-Load) jobs.

Source: Kiba

Sonic Pi – The Live Coding Music Synth for Everyone

by Ben

Sonic Pi
The Live Coding Music Synth for Everyone.

Welcome to the future of music.

Simple enough for computing and music lessons.
Powerful enough for professional musicians.
Free to download with a friendly tutorial.

Learn to code creatively by composing or performing music in an incredible range of styles from classical & jazz to EDM.

Source: Sonic Pi

The goal of these articles is to explore the relationships between music and code, by analyzing and recreating the track Aerodynamic from Daft Punk.

Unlike classical approaches to generate sound on a computer, we are going to generate sound by writing text: instead of adding tracks, instruments, samples… on a timeline, we will see how to express those in code and how to play music.

Source: Aerodynamic · mxs

OSC-over-UDP is just OSC packed data sent over a UDP connection. My first serious encounter with OSC-over-UDP was when I attended strangloop and talked about The Mess We’re In

I bumped into Sam Aaron, the unstoppable force behind Sonic Pi and said that it would be really cool to control Sonic Pi from Erlang. …

Sam told me that to control Sonic Pi all I had to do was send it OSC encoded messages over UDP.

Source: Joe Armstrong – A Badass Way to Connect Programs Togther

Module: TSort (Ruby 2.3.3)

by Ben

TSort implements topological sorting using Tarjan’s algorithm for strongly connected components

Source: Module: TSort (Ruby 2.3.3)

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.

Using splats to build up and tear apart arrays in Ruby

by Ben

One of the things that I love about Ruby is the depth of its features. You may use an operator, but do a little digging and you’ll find that you’ve only been scratching the surface of what it’s capable of. The humble splat operator (* and **) is a great example.

You’ve probably used splats for “catch-all” arguments. And that’s all that most people use them for.

This is useful, but you can use splats for a lot more. Let’s dive in!

Source: Using splats to build up and tear apart arrays in Ruby

heapfrag – Heap visualizer for Ruby

by Ben

This is a library for dumping and visualizing your heap in MRI.

Source: heapfrag – Heap visualizer for Ruby

Google Cloud Platform Blog: Ruby on Google App Engine goes beta

by Ben

We’re thrilled to welcome Ruby developers to the Google Cloud Platform, and we’re committed to making further investments to help make you as productive as possible. This is just the start — stay tuned to the blog and our GitHub repositories to catch the next wave of Ruby support on GCP.

Source: Google Cloud Platform Blog: Ruby on Google App Engine goes beta