Headius on Maglev: Is it Ruby?

Charles Nutter had the following to say on the maglev ruby performance numbers:

Except that these are results reported entirely in a vacuum. Whether this is fib following the “rules” of Ruby is entirely an open question. Whether this is method dispatch adhering to Ruby’s call logic is entirely an open question. Whether this is a while loop using all method calls for its condition and increment steps is an open quesetion. Because the Maglev guys haven’t started running Ruby tests yet. Is it Ruby? http://headius.blogspot.com/2008/06/maglev.html

I am interested in maglev ruby because I’ve met some amazing smalltalkers who worked on large systems using gemstone. Want to know more about the size of systems gemstone is designed for? Have a read through this PDF: GemStone and Orient Overseas Container Lines:A Shipping Industry Case Study I think having more implementations is a great thing and will help

What do you think? Will the we use it if it’s closed source? I bet some people will, if nothing else this primes the pump for the next generation of programmers that will maintain systems like those of OOCL.

Checking Gmail POP+SSL with Ruby 1.8.6 in 10 minutes or less.

I needed to check Gmail via POP + SSL and didn’t want to use Ruby 1.9, what did I do?

Step 1: Install the latest version of stunnel

Step 2: Put the contents of the stunnel config file you see below some place convenient like ~/gmail-pop-stunnel.conf

foreground = yes

client = yes

pid =

[gmail]

delay = yes

accept = localhost:10000

connect = pop.gmail.com:995

Step 3: Start up stunnel

$ stunnel ~/gmail-pop-stunnel.conf &

Step 4: Fire up a Ruby program to pull down the messages.

require ‘net/pop’

conn = Net::POP3.new(’localhost:10000′)

conn.start(’your_address@gmail.com’, ‘your_password’)

conn.mails.each { |msg| puts msg.pop }

msg.delete # your choice to delete or not

end

The source for this script shamelessly stolen from The Ruby Cookbook

And you should be aware that this is technically a violation of google’s terms of service, but if you aren’t doing anything other than what you could do through Outlook Express you probably aren’t causing trouble.

I’m not crazy, the thing on the wire is real… unfortunately.

For the past week Jodi has seen “something outside the window” and I didn’t believe her. Finally yesterday I saw it also. I couldn’t just sit by while a rat/mouse was running on the wire so I had to stalk it and get its picture. Tonight I sat on the deck camera in one hand and a flashlight in the other ready to ’shoot’ this creature. For about 25 minutes it was too light for it to come out, but finally I got it.

rat_on_a_wire

So far I haven’t seen any signs of them in my house, but I know they must be around. :(

Google Gears based offline app, boring because it “just worked”?

I’ve spent the past couple of months elbow deep in writing a Ruby on Rails based AJAX/REST/throw-in-whatever-hip-acronyms-you want-here-application. It was the same old “client” and “server” application we’ve all seen… someone enters data in a slick desktop application and then a “dumb client/mobile client” consumes it over some type of shoddy internet connection that sporadically works correctly. Where in the past we might have written the client specifically for some type of hardware and operating system, we used the web browser and Google Gears. Google Gears “just worked” and so, this is a rather boring post, unless you consider that the iPhone SDK should support the WHATWG Offline Storage recommendation and at that point our team can claim we have an offline iPhone web application. :) Go give Gears a shot, it might impress you.

p.s. if you’re working in ruby and would like some horribly written rake tasks for manipulating a Google Gears local database please leave a comment and I’ll see about making those available somewhere.

Elisabeth Hendrickson on Agile Test Automation

Agile teams need tools that separate the essence of the test from the implementation details. Such a separation is a hallmark of good design and increases maintainability. Agile teams also need tools that support and encourage good programming practices for the code portion of the test automation. And that means they need to write the test automation code using real, general use languages, with real IDEs, not vendor script languages in hamstrung IDEs.

Agile Friendly Test Automation Tools/Frameworks