Curated
John Mayer, closet software developer
“The idea is to run as many concurrent streams of production as we can." - Is John Mayer recording an album or bootstrapping an indie app?
More harmful than harmful
We are lucky to live in a time when 99.9% of programmers will never have a legitimate argument for using GOTO
(hi kernel programmers!). But in case you’re feeling nostalgic and/or ornery, there’s always COMEFROM. You can even implement it in Ruby via @callcc@!
Postmodern comedy gold
The Nietzsche Family Circus - random Nietzsche quote + vintage comics = comedy gold.
Think

The scene in The Blues Brothers where they are recruiting Matt “Guitar” Murphy is quite possibly my favorite of the movie. From the start of “Think” to the first “Freedom!” chorus, I get all sorts of musical tingles. I highly recommend it, if you have the means.
Since I can’t link to any video of the scene, why not listen to “Freedom” by Charles Mingus. It’s goodness.
The economic dashboard
What’s the state of the economy? - a stunningly brilliant visualization of where the economy has been (lagging indicators) and where it’s going (leading indicators). The explanations are excellent too. (Via Flowing Data).
Decoupling newspapers
My wife works for the local newspaper (thankfully, in their less layoff-prone online division). So I’ve been wondering about this whole newspaper business collapse would work out. Clay Shirky’s got an important point:
Society doesn't need newspapers. What we need is journalism. For a century, the imperatives to strengthen journalism and to strengthen newspapers have been so tightly wound as to be indistinguishable.It's not about the end of newspapers, it's about decoupling the core of journalism from newspapers. We'll see how that pans out. Let's just hope cable news doesn't take its place.
Underwater volcano go boom
I think one of the first things I decided I wanted to “be” when I was a wee lad was a volcanologist. I’d still love to go to an actual volcano, preferably active. Thusly, the pictures of undersea eruptions near Tonga from the Big Picture are, without a doubt, spectacular.
Pattern matching in Ruby with Case
Pattern matching, ala Erlang or Haskell, is a language feature near and dear to my heart. Dean Wampler has a great explanation of how to use the Omnibus Concurrency Library to play with pattern matching in Ruby, even if it’s a little odd.
The power of not knowing
It's a programmer's biggest strength when he knows what he doesn't need to know. And gaining (experience) in not knowing isn't as easy as it sounds.
Using Haskell for awesome
I’ve joked that Haskell is all about reading other people’s theses, but you can do practical things with it too. His quick explanation of monads is pretty good too.
Rubinius threads, for mere mortals
A no non-sense, non-academic introduction to how Rubinius' threading is structured. Having read a few papers on VM implementation lately, this is refreshingly direct and easy-to-read.
This is no former-Parrot
Hey look! Parrot went 1.0. Parrot is an open source virtual machine aimed at making it easy for dynamic languages like Perl, Python, PHP and Ruby to target the same VM.
I’m glad to see this is finally out. About six years ago, I thought it had the potential to be a Big Deal™. It’s been a long time in the tooth, but I’m interested to see how this plays out with the resurgent JVM and the general renaissance of language design.
Making the pretty docs
When you really need to generate nice technical documentation, you would be wise to walk in Assaf Arkin’s footsteps.
A few promising Ruby libraries
From the hall of promising Ruby libraries: an FFI binding to Lua, Ruby to Lua, a neat framework for building Twitter bots, TwiBot and some sugar over the Cascading library (which is sugar over Hadoop) for processing large data sets, cascading.jruby
Awesome yak shaves
I was sharing some nefarious plans with Dave Thomas yesterday at the DFW PragProg lunch. He later tipped me off to “tinyrb”:code.macournoyer.com/tinyrb/, which is awesome. It’s a minimal implementation of Ruby that uses “Ragel”:www.complang.org/ragel/, “Lemon”:www.hwaci.com/sw/lemon/ and is inspired by “Potion”:github.com/why/potio… I’ve long had a thing for messing with languages and their implementations, so I quickly ended up at this “great Ragel tutorial”:www.devchix.com/2008/01/1… and then reading about “register machines”:http://en.wikipedia.org/wiki/Register_machine, “context-free grammars”:http://en.wikipedia.org/wiki/Context-free_grammar and “LLVM”:llvm.org/.
I accomplished nothing, but diving into a topic is it’s own reward. Here’s what I’ve concluded:
- I’m super green at this stuff. But I want to go to there.
- There’s too much awesome stuff to do out there: tinker with languages, build apps, visualize data, network things, etc.
- “Marc-André Cournoyer”:macournoyer.com is my hero; not only did he implement tinyrb, but he’s also the guy behind “Thin”:code.macournoyer.com/thin/ and “Refactor My Code”:refactormycode.com
Long story short: I need more time.
Eye candy for everyone
Scaling and scale models. So much great imagery here, you’re just going to have to click the link and check it out. Sculpture not your thing? Try Round trip with Endeavor, the space shuttle hitching a ride on the back of a 747. Then there’s the always great Feltron Annual Report. The paper prototype for Shaun Inman’s homebrew Wii game is also awesome. If you’re still unimpressed, Punch card is pretty clever.
Great Nike ad
Beethoven’s Ninth and skippy video? You’ve got my attention.