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.

Filtering for the month March, 2014. Clear

What happens to older developers?

by Ben

Ask HN: What happens to older developers? | Hacker News.

(via Mark Scully)

Interesting topic, but way too many of the comments focus on salaries. However, I think that’s mostly because of a comment about $300K/yr being a bad salary cap that set off a bunch of replies (and for good reason). Let’s just say I’m very happy to be in Iowa City.

Anyway, just a reminder to myself to focus on deeper knowledge rather than a breadth of knowledge, etc.

HTML datalist Tag

by Ben

HTML datalist Tag.

The <datalist> tag specifies a list of pre-defined options for an <input> element.

The <datalist> tag is used to provide an “autocomplete” feature on <input> elements. Users will see a drop-down list of pre-defined options as they input data.

Use the <input> element’s list attribute to bind it together with a <datalist> element.

This Isn’t Capitalism — It’s Growthism, and It’s Bad for Us

by Ben

This Isn't Capitalism — It's Growthism, and It's Bad for Us – Umair Haque – Harvard Business Review.

While I don’t agree with all the points, I can definitely agree that our incarnation of capitalism optimizes for growth, leaving everything else behind. That can be a problem for the environment, the poor, and any other economic element that doesn’t have a voice in a growth-centric economy. Is capitalism evil? That depends on your definition. Human nature notwithstanding, I would say that its incentive structure promotes some problems.

Is it nice that in 2014 we all have lots of affordable gadgets? In some ways. Does it make us better people? The author, Umair Haque, would seem to argue a flat “no”. From my perspective, the truth has more shades of gray to it.

My big question at the end of the article: if capitalism (or “growthism”) is broken, can it be fixed? If it’s not broken, but just needs some adjustments, what should come next?

New features in iOS 8

by Ben

iOS 8 to gain at least five new first-party apps | ZDNet.

iOS 8: Apple works to further push iCloud as the future of the file system.

Like Jason O’Grady, I have a list of iOS features on my wishlist that could keep me on the platform past iOS 7.1.

Apple made changes in iOS 7 which addressed my earlier criticisms, namely:

Maybe iOS 8 will address some of my concerns with iOS as well. I’ve divided my list into categories:

Likely:

Possible:

Unlikely:

Very unlikely:

Unfortunately, most of my wishlist is unlikely to be addressed in iOS 8. Although I’ve been invested in iOS since 2008 (back at version 2), my impression is that the only way to get what’s on my wishlist would be to switch to another platform. I’m curious to see what iOS 8 brings in June.

Rate Limiting and Velocity Checking

by Ben

Rate Limiting and Velocity Checking.

I was shocked how little comprehensive information was out there on rate limiting and velocity checking for software developers, because they are your first and most important line of defense against a broad spectrum of possible attacks. It’s amazing how many attacks you can mitigate or even defeat by instituting basic rate limiting.

Take a long, hard look your own website — how would it deal with a roving band of bored, morally ambiguous schoolkids?

Why we love repetition in music

by Ben

Why we love repetition in music – Elizabeth Hellmuth Margulis – Aeon.

The speech-to-sound illusion, discovered by Diana Deutsch, UC San Diego. To experience the illusion, play the two recordings in sequence.

Psychology and hearing: two of my favorite things. (via Dan Bernier)

Switching from Gmail to FastMail

by Ben

Switching from Gmail to FastMail – Max Masnick.

Not sure if I’d ever switch from Gmail, but if I did, FastMail seems like a good (though paid) solution. Although it’s still unlikely that Gmail would drop IMAP support (and thus any way of exporting email), this would be a service to consider as an alternative if a decision to drop IMAP should happen. Since Google is dropping XMPP support for their chat service and already killed their RSS reader, who knows where the next 4 years might take us…

Final Fantasy Isn’t Dying. It’s Already Dead

by Ben

Final Fantasy Isn't Dying. It's Already Dead | Game|Life | Wired.com.

At this point, it’s tough to see a path back to relevance for Final Fantasy, if the caretakers of the series are spending their creative cycles thinking about the particulars of breast physics. That’s not why the Final Fantasy brand still carries the cachet that it does, and the modern games are at this point living entirely off an inherited reputation.

Sad. I know I bought Chaos Rings for the iPhone based on the inherited reputation that Square Enix had with me… but Chaos Rings was much more repetitive than it should have been. After my save data got reset, it was hard to want to go through any of it again.

I’m still a fan of the SNES and PlayStation era games (roughly VI through IX; FFI is tough to enjoy unless playing a remake). I have to wonder whether Square Enix is making any money on anything but remakes at this point…

Converting a hexdump to binary, SoundPlay on BeOS

by Ben

I recently inherited an old machine with a 150 MHz AMD K6-2 CPU and 32 MB RAM. That’s a really meager machine, even for the time it was built (circa 1999).

I was planning to just donate it to Goodwill Reboot… but before I did, I wondered what I could possibly do with it. My first computer was a 133 MHz Pentium with maybe 32 or 64 MB of RAM, so there was a certain sentimentality for a machine like it. It had Windows 98 installed, which was interesting but only in passing. (I sold the install CD on Amazon for $20 surprisingly). Win98 was depressingly slow. I tried a semi-modern, lightweight Linux (a 2005 release of Damn Small Linux), and it wasn’t much better.

As I’ve mentioned before, I was a fan of the BeOS back in the day. It had a great ability to squeeze an amazing amount of power out of meager hardware. Scot Hacker definitely nailed it when he wrote that “anyone who has spent time with BeOS is forever spoiled, their expectations for OS technology permanently affected.” (Although I mostly use Ubuntu now, I also landed on Mac OS X after BeOS like Scot. In comparison to BeOS, OSX is incredibly resource hungry, albeit providing plenty of charm.)

So I had to try BeOS on the machine too. It was surprisingly easy to get the free version of BeOS R5 installed. That was especially meaningful to me, since I’ve never gotten BeOS working in VirtualBox; apparently there are some rarely used features of the x86 architecture that BeOS depends on. After getting the OS installed, it really wasn’t much more work to get SoundPlay — an MP3/Vorbis player — up and running. It runs incredibly fast for 150MHz/32MB. I could play music and even write a little Ruby in Vim at the same time.

So for now, the box is reborn as a BeOS-powered jukebox down in the basement. An appropriate use, given the place that music and this particular OS have had in my life. Is it woefully outdated? Yes. But this was really more of a sentimental journey than anything, and it can actually do something useful.

I was pretty happy until I realized that SoundPlay would stop working in 30 days.

I figured it must have been given away for free by this point. And my intuition was correct:

I’m no longer accepting SoundPlay registrations, but you can download a free keyfile here. Copy to /boot/home/config/settings, then restart SoundPlay.

…but the keyfile mentioned on SoundPlay’s website (currently down, but available on the Wayback Machine) wasn’t there.

I’d gotten this far, so I figured I’d see if I could find it elsewhere.

Within the first page of Google results, I found someone who posted their keyfile (which also gave a 404). Thankfully, a kind soul had the insight to post a hexdump of that file.

So close, I could almost touch it! I did a little more research and found a command to reconstitute it as a binary file.

# xxd v1.10 was already installed on my Ubuntu 12.04 machine
xxd --revert keyfile.soundplay.hexdump keyfile.soundplay

For whatever reason, I had to do a little adjustment by hand before I was able to run the command. Basically this:

00000000  2b 9b 18 5f 0e 51 23 4e  c2 44 16 b8 aa 6c 7e e0  |+.._.Q#N.D...l~.|

…became this:

00000000: 2b9b 185f 0e51 234e c244 16b8 aa6c 7ee0

(I’ve posted the reformatted file below.)

At the end of this adventure, I now have a simple jukebox built out of SoundPlay and BeOS R5. Since others were nice enough to share and get me to this point, I figured I should do the same.

So here you go, Internet:

(Note, I’m not claiming copyright; I’m just archiving what the author had already made available as shareware, and then freeware. Please notify me if you own this and would like it to be taken down.)

I know I’m not the only one who still has a soft spot for BeOS, so I’d be happy to know this helped someone else. (Please leave a comment!)

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.