What happened was, a few days ago I wanted to try out some fancy language technology on Android. A cat got in the way but the WiFi saved the day.

The way I understand it so far, the Android runtime is the Dalvik VM and the “Harmony+Android” libraries (unless you’re a hardcore gamer who wants to bend metal in C++ with the NDK). So I don’t think I need to be tied to curly braces and semicolons forever.

One obvious option is JRuby; no, there’s no rule saying you can’t have another runtime system on top of Android. JRuby runs on Android but isn’t really fast enough yet.

Duby, the Ruby-flavored statically-typed dynamic language that Charles Nutter has been cooking up, might be a good intermediate step, and Phil Hagelberg had built ohai-android to explore Duby on Android.

So I thought I’d get that running as a first step. Unfortunately, first of all you have to get a recent JRuby and Bitescript and then Duby itself, and figuring it all out took me a little while. During which time the cat snuck onto my lap and went to sleep.

Eventually, Ant built my Android app out of 14 lines of Duby, and I needed the USB cable so I could ship it to the phone. The phone was handy but the USB cable was across the room, and my elderly female cat has earned a few evenings of undisturbed lap time.

Then I remembered that my laptop has a Web server and my phone was on the same home LAN, so I copied the .apk over to /Library/WebServer/Documents/whatever.apk and did an ifconfig -a | grep 192 to find my address and then pointed the phone’s browser at The phone installed the app, I proved to myself that it worked, and did some further enjoyable tinkering, all while routing round the cat.


Comment feed for ongoing:Comments feed

From: Gavin (Mar 16 2010, at 01:52)

wasn't there an xml database suite called SleepyCat?


From: Peter Svensson (Mar 16 2010, at 05:21)

I friend of mine has got a similar thing going, using JavaScript instead of Ruby, called Droidscript: http://divineprogrammer.blogspot.com/2009/12/rhinodroid-javascript-for-android.html


From: Ciaran (Mar 16 2010, at 06:30)

Along similar lines, running an FTP server on your android can be very handy - http://ciarang.com/posts/android-ftp-server


From: Max Hadley (Mar 16 2010, at 07:02)


You may have rationalised as 'not wanting to disturb the cat', but actually you fell victim to the overwhelming power of Cat Gravity http://www.robinwood.com/Catalog/Prints/PrintPages/CatGravPoster.html



From: d.w. (Mar 16 2010, at 07:40)

If your phone’s web browser supports mdns you might even be able to skip the “ifconfig” step -- I routinely use *.local addresses at home to hop between boxes.


From: Jonas Beckman (Mar 16 2010, at 07:53)

Sometimes I think the worst thing about Android is Java. Many other things feel so right, but a little more dynamic goodness (and less curly braces and semicolons) certainly won't hurt.

Fortunately, lots of people who feel this way are looking hard for alternatives right now. Personally, I love the playful approach of DroidScript, a nice hack which lets you write Javascript in a browser and run it directly on a network-connected Android phone. See http://droidscript.se/.

Not surprisingly, the author of DroidScript (Mikael Kindborg, http://twitter.com/divineprog) is also a Smalltalk fan and involved in Andreas Raab's hardcore compiled Squeak project: squeak-android-vm: http://code.google.com/p/squeak-android-vm/. Oh, for the joy of the good old workspace!


From: Raphael (Mar 20 2010, at 05:47)

Have you tryed http://code.google.com/p/android-scripting/wiki/TableOfContents?tm=6 Tim?

I'm using it to program android in Lua which is a pretty good language but it also supports a bunch of scripting languages and even plugin your own interpreter.


author · Dad · software · colophon · rights
picture of the day
March 15, 2010
· Technology (77 fragments)
· · Android (56 more)

By .

I am an employee
of Amazon.com, but
the opinions expressed here
are my own, and no other party
necessarily agrees with them.

A full disclosure of my
professional interests is
on the author page.