InfoQ Interview: Rich Kilmer on the Power of Ruby
Rich Kilmer is one of the Ruby world's great conversationalists and storytellers. I was lucky enough to get Rich on video at last RubyConf, and we captured a great conversation about his many success stories using Ruby. Among other things, Rich tells us about using Ruby at DARPA, the research arm of the USA's military. Also exciting to hear was how Rich has leveraged a variety of cutting-edge software and techniques such as Flash, DSLs, OWL and semantic web technologies in conjunction with Ruby.
This interview was chock-full of great highlights, of which I've selected a couple to highlight:
On using Ruby to control a system with 300 Java-based agent processes:
Chad Fowler and I over basically 2 weeks, took the Java Debug Wire Protocol specification [...] turned it into a DSL in Ruby, and used that DSL to generate the packets for sending and receiving data. So we used the DSL in Ruby as a generator to generate Ruby code, as the whole protocol and then I used that at Darpa. They were trying to say “we could freeze the agent society from within the agent society will send messages, and it took about 7-8 minutes for all the messages to propagate and everything to freeze and then go quiet. I had a Ruby process that was running all 300 VM’s were underneath it, and I could freeze it in about a half of second. All 300 of them! And you actually could watch the CPU use because we had a monitor and the CPU use has dropped to zero. And it freaked them out. And what was great was you could turn it back on, and all the agents came back on. But time had been lost. And it was like alien abduction lost time, ten minutes went away, “what happened to us?” It was a bizarre thing because they were agents and they were planning on things and all of sudden 10 minutes just went away. But it was interesting to show how Ruby could actually be used as this kind of harnesses to wrap around things like systems.
On using Ruby as "enterprise glue that doesn't set"
That’s exactly right. If you think of it as a vehicle, how many gaskets you have inside that vehicle. Because you don’t want the things rubbing against each other. But right now, because people are so against learning new languages, which is really sad, but because they are against learning new languages or getting new languages into a development environment, they want everything to be in Java, everything to be in C sharp, everything to be in whatever language they are building in, instead of saying: “let’s use different languages for different pieces of this”, which makes sense.
Watch InfoQ's exclusive interview of Rich Kilmer today.