Ruby actors. I started playing with Ruby 1.9 to re-work message-passing processes to use fibers instead of continuations, and find a faster IPC implementation than DRb. Tony Arcieri did Revactor. So I’m checking that off my plate. Revactor does exactly what’s needed, has excellent documentation, and a promising roadmap that heads to the innards of Ruby.
myactor = Actor.spawn do
Actor.receive do |filter|
filter.when(:dog) { puts "I got a dog!" }
end
end
Also check out Pat Eyler’s interview with Tony Arcieri, with a longer example.
MemQueue. Speaking of distributed workload, this looks interesting:
Starling is a light-weight persistent queue server that speaks the MemCache protocol. It was built to drive Twitter’s backend, and is in production across Twitter’s cluster.
Catching up. Robert Hook commenting on WS-Enterprise, 2008:
Thus, I posit a problem from the Real World ™: the project timelines for non-trivial environments are longer than the period of introduction of The Next Great Thing To End All Things. There are lots of people out there building systems nodding and saying “Yep. REST is better than SOAP. Might look into that in a few years when we get this one finished”.
I think the lifespan of The Next Great Thing To End All Things is about two sale cycles, or four quarters. Though I might be wrong. It might be three.
Locked down. That’s the nature of the game. If you’re going to make progress, you’ll want to know what lies ahead, where to go next. The people who can point you there are the ones not locked-down to yesterday’s technology:
The SEs, most of whom worked only in Java and C++, kept looking at it and scratching their heads. They’d say, “Hey, you forgot to do this!” and I’d say, no, that happens right here. And they’d say something similar about another required action, and the answer was always the same: no, it’s in there. Basically, Ruby allowed me to hide a bunch of crufty, verbose, uninteresting but required boilerplate and focus only on service interactions. Waaay nicer than the equivalent Java and C++, for sure.
On a personal note, I’m currently locked down to yesterday’s technology. Fortunately, my Verizon contract expires in March, and I already planned on the Next Great Thing. It’s all about timing.
USDP. A lot has been said about writing code vs reading code. Oliver Steele nails it with The Programmer’s Food Pyramid.
