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.

Giving Up on TDD

by Ben

Not just the tests. You have to DESIGN period. No matter what you are writing; whether a unit test, or an acceptance test, or production code, or a mock, or a stub, you have to DESIGN.

Source: Clean Coder Blog

AMA: We pair program (almost) everything. Ask us anything!

by Ben

A talk I gave at Iowa Code Camp in May 2015.

Source: AMA: We pair program (almost) everything. Ask us anything!

Jay Fields’ Thoughts: Testing: One assertion per test

by Ben

Limiting your tests to using one assertion is a controversial topic. I originally stumbled upon the idea on Dave Astels’ blog. I liked the style of development that Dave described and decided to give it a try, that was over 2 years ago. Since then I’ve worked on teams ranging from 4 developers to 16, codebases in Ruby and C#, and project timelines ranging from 3 months to 8. I think it’s fair to say I’ve given the concept plenty of chances to fall down. But, regardless of the variables, the guideline has always remained valuable.

For me, the main motivator for using one assertion per test is the resulting maintainability of the test. Tests that focus on one behavior of the system are almost always easier to write and to comprehend at a later date.

Source: Jay Fields’ Thoughts: Testing: One assertion per test

Refactoring catalog

by Ben

refactoring.com catalog.

Named refactorings. Something about this makes me want to make flash cards.

Basic: TI-83

by Ben

I recently decided I should send my aging TI-83 graphing calculator out to pasture. I haven’t really used the thing since my freshman year of college, and if I am going to do any serious amount of math, I have much better looking (and faster) solutions on my iPhone and even my ancient Zire 31. I’m a little surprised Texas Instruments hasn’t brought out anything significantly better — a TI-83 feels out of place in 2010. I guess that’s what you get for stifling competition; they’ve basically owned the graphing calculator market for quite some time. (Seems a little like Windows XP to me.)

Before selling it on Amazon, I thought it would be best to save some of the TI-83 Basic programs I had written back at the turn of the millenium. Some of my first programming experience came from writing dinky programs on the thing (which wasn’t ever that easy — keep in mind that it has a severely limiting 16 x 7 display). After figuring out what I was doing (a little) I even wrote a hangman program (pictured above). It’s littered with ugly things like single letter variables and goto statements. I don’t even know if it’s possible to make functions… I think they have to be other programs, a la Matlab — which is part of the reason that I say “Matlab is a great graphing calculator”.

At any rate, I typed up what I thought would be worth saving for “historical purposes” and even uploaded it to my snippets repository on GitHub. Take it as my gift to the TI-83 hacker community. :P

Update: …and within less than an hour, it sold on Amazon. The Internet still blows my mind sometimes.