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.
On feeds: application posture
EventBox. It’s a great idea - roll all the social/distracting applications in your life into one app so you can close it when it comes time to focus. Yesterday, I decided to give it a go.
I quickly felt that perhaps it was not for me. I think it comes down to posture - how is the app intended to be used? I’ve been using Twitterific and NetNewsWire for quite some time (5+ years in the case of the latter), so let’s compare with their posture:
- NetNewsWire is meant to scan feeds, collect the interesting stuff, read it, repeat
- Twitterific is (beautifully) optimized for scan tweets, reply to a few, post occasionally
- EventBox seems to encourage scanning things, handling the occasional item in-situ, and sending the interesting stuff to your browser
I’m not saying that EventBox’s posture is wrong; it’s just different. I’m going to stick with it for a few days and see how I feel about it.
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
Congruous capitalism
Here’s some idealism for you: I would like to think that the future of human endeavors is congruity. There is a lot of emotional writing about rational topics. That emotion often colors the writing to the point of irrationality. It seems to me that this is because many of the prominent systems of our lives are incongrous. These inconsistent and seemingly irrational systems drive us to emotion and our logic suffers for it.
I’ve been reading Failed States by Noam Chomsky. I think you could summarize it as “the U.S. government says it is doing something for reason A, but is in fact doing it for reason B”. People really dislike Ticketmaster, who would defend themselves by saying “we’re trying to make access to live music easier” but everyone knows “we’re trying to maintain a monopoly and squeeze the margin as tightly as possible”. You can play this game at home for any institution that is widely reviled.
Some other incongruous systems:
- Politics: ostensibly about the will of the people, but really about the short-term interests of those with the clever lobbyists
- Telecommunications: ostensibly about helping people communicate, but really about maintaining monopolies and minimizing the maintenance cost of those monopolies
- Insurance: ostensibly about helping people put money away for a bad day, but really about minimizing pay-outs to maximize profit
It is my hope that the businesses that emerge from this economic conflagaration are those that connect more directly with their customers. In doing so, they are more transparent. It is harder for their internal and external goals to conflict. In this way, they can profit from aligning their objectives with those of their customers. Sure, they may not make obscene profits, but that’s fine.
Here’s a tag-line for this congrous capitalism: “May greedy capitalism die by a thousand cuts of moderately-profitable honesty.”
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”:en.wikipedia.org/wiki/Regi… “context-free grammars”:en.wikipedia.org/wiki/Cont… 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.
On news: The Economist
At the height of the DeLay/Rove movement, I became very disenchanted with news and politics. The propaganda, the lack of reason and the generally grim outlook were causing me too much stress. So, I stopped following news. This was good for my well-being, but I felt a little guilty about not understanding what was going on.
Fast forward a few years; the economy is booming and the paint is starting to peel on the Rove master plan. I’m taking light rail to work every day, so I have some quality time for reading on my hands. I don’t remember where I got the hunch, but I went ahead and subscribed to The Economist to read on the train.
I originally let my subscription lapse, as I found it difficult to keep up with the magazine on a weekly basis. However, as the mortgage crisis peaked, I resubscribed. I’ve found it extremely useful in trying to understand what exactly is going on, how it compares to previous downturns and as the basis for a bozo filter.
Regarding my earlier discoveries that everyone has an axe to grind and that the news cycle is often too short, The Economist is well aligned. Their axe to grind is the superiority of free markets and democratic societies. They publish weekly and cover a gamut of topics that forces them to only put ink to topics that are actually meaningful.
In summary: The Economist is a great source of news if you are wary of news sources and I heart it. It’s a fantastic place to start understanding the non-sciences that describe our world.
What I'm Thinking
Last night at Cohabitat, we did some lightning talks. The prompt was “What I’m Thinking”. I decided to take a cross-section of topics I’ve been immersing myself in lately. And of course, every good talk needs a gimmick, so I went with some of the fantastic shows on television right now. Here’s a map of the topic:

And here’s a video of my talk:
It’s a whirlwind tour through software, abstractions, economics, finance, Mad Men, business, the messiness of life, Gossip Girl, indie developers, 30 Rock, sweating the details, product development, LOST, life’s interconnectedness and how awesome it is to try to understand all of this.
I hope you enjoy it. I forgot to take questions after the talk, so please feel free to correct me or inquire in the comments.
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.
Developing fluidly
Here’s a raw idea I’m playing with in my head:
Agile development is great. But, if your team doesn’t map well to it, steal ideas from agile relentlessly.
You want a fluid environment where developers can solve problems (features, defects, chores) as they see fit.
Don’t use procedures to normalize productivity or as a communication protocol.
Do have a way to communicate things that need to get done or could possibly get done.
You need a safety net. Unless you know better, that safety net is some kind of automated developer test suite.
Enable developers, don’t direct them.
Discuss.
