Browsing the Web on the Tungsten C

I had just about figured that browsing the web using Palm’s Tungsten C was impossible. It comes with a browser, but that was never usable as far as I could tell. I tried numerous other options, and finally found one that worked much better than I had dared to hope.

I tried using Xiino. This browser just looks ugly to start (with decidedly low-resolution graphics), and has completely incomprehensible icons. It wasn’t usable at all; most pages would result in a blank screen. It also uses a proxy server for images (though it doesn’t call it that): the “DataServer” – pds.mobirus.com – no longer exists, which means that you can’t display anything at all unless that setting is cleared. There’s no way to set or unset it; just clear the name entirely.

I tried using Opera Mini. This requires using the old IBM Websphere Everyplace Micro Edition (WEME) – which in reality is the J9 Java Virtual Machine (JVM). The word is that IBM WEME 5.7.1 is much more stable than IBM WEME 5.7.2 (neither of which are supported or available any longer). No matter – Opera Mini v4 (the current) did not work at all, but froze during initial operation; Opera Mini v3 works but crashes reliably and frequently.

I even tried something called TeaShark; that didn’t get past the startup stage (which was buggy at the outset). This wasn’t too surprising since it was running on IBM’s J9 JVM like Opera; word has it that the IBM JVM was crippled on PalmOS in some way.

I love Opera Mini, and used it on my Nokia 6265i (and later the 6165i) – and missed it. However, running it on the J9 JVM gave a completely different experience (I never did try using Sun’s Java Manager – but that was for MIDP 1.0 only) I started thinking to myself: the NetFront browser on my Samsung Caliber is ever so much better…

Then imagine my surprise when I found that there is a NetFront browser for PalmOS. It turns out that the Sony Clie (a PalmOS device) used NetFront for their default browser, and that it would work on a Palm device as well. There are copies of it available on the web, but the one I saw came with something called MaxX to make it work with a different screen resolution than the original browser expected to find (on the Tungsten T I think).

After downloading and installing via HotSync – using Linux (with GNOME’s gpilotd) – the browser crashed when run. However, running on the Tungsten C, MaxX is unneeded; removing it solved the problems entirely.

Running with the NetFront browser has been a delightful (and unexpected) experience. The only problem seems to be a connection-related problem; for some reason, the WiFi connection seems to “age” and loses connectivity even though the device doesn’t think so. Reconnecting seems to fix this.

For more details on using the NetFront browser – and people’s experiences with it – check out this forum thread over at 1src.com.

If you use Google for RSS or for news, try m.google.com in NetFront; it’s the best experience I’ve had yet. You can also use Google’s mobile gateway directly by going to www.google.com/gwt/n and entering the URL that you wish to go to.

Scripting on the Java Virtual Machine

Now that OpenVMS has Java, and that HP-UX has Java, I started wondering about the possibility of running a scripting language on the Java Virtual Machine (JVM) as a way of supporting all these diverse environments with the same code and tools.

Choosing a language can be difficult, especially when there are so many good ones to choose from. I’ll assume for purposes of discussion that one is already familiar with at least one or more computer languages already (you should be!).

So what are the criteria a system administrator should use to choose a language on the JVM?

  • Does the language have a strong and vibrant community around it? The language might be nice, but if no new development is being done on it, it will eventually fail and stop working on the newer JVM. Bugs will not be fixed if development has halted. It also helps to have a large variety of people to call on when trouble arises, or when your code has to be maintained in the future.
  • Does the language support your favored method of programming? If you have no desire to learn functional programming, then don’t choose a language that is a functional language. Find a language that thinks the way you do (unless you are specifically trying to stretch your mind…).
  • Is your preferred langauge already available for the JVM? There are implementations of Ruby (JRuby), Python (Jython), LISP (Armed Bear Common Lisp), Tcl (Jacl) and many others. A language that you already know will reduce your learning time to near zero on the Java Virtual Machine.
  • What are the requirements? For example, JRuby requires a dozen libraries; Clojure and Armed Bear Common Lisp have no outside requirements. Which is simpler to install onto a new machine?

So what languages am I looking at? I am looking at these:

  • Clojure – a LISP-like functional programming language which seems to be taking off handsomely.
  • JRuby – Ruby is my all-time favorite scripting language, and having it available whereever the Java VM is is a very tintillating prospect. It’s also directly supported by Sun, the makers of Java.
  • Groovy – this is a new language that takes after Ruby and Smalltalk, and it is growing in popularity at a dramatic pace.
  • Scala – this is a language with a strong developer base and an object-oriented and functional design. Don’t know much more about it yet.
  • Armed Bear Common Lisp – ABCL is a full Common LISP implementation for the Java VM, and is used as part of the J editor. Unlike ABCL, development on J seems to have stopped; development on ABCL has gone through a resurgence after not quite dying for several years. ABCL is the closest thing to LISP on the JVM, and is usually the first mentioned – even though its development community is not nearly as strong as Scala or JRuby.

These are only the ones I’ve chosen to focus on; there are many, many more.