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.

Filtering for the Ruby category. Clear

Docker, Locales, and Ruby

by Ben

# Set the locale
RUN locale-gen en_US.UTF-8  

Source: Docker and Locales.

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

Page Objects in Ruby

by Ben

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

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

Related: square/ETL

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


by Ben

Real-time Rails Partials

Source: chrismccord/render_sync

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)

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

Arlo Guthrie and the origins of the Collection protocol

by Ben

During the interview he [Dan Ingalls] was asked about the origin of those enumeration methods of the Smalltalk collection classes. Alan Kay had told the interviewer that they had come from a song. At first Dan didn’t remember this but then remembered that there was a song which had a string of words like inject, select, detect etc. As far as I recall, though he didn’t name the song.

Source: Arlo Guthrie and the origins of the Collection protocol