Monday Dec 07, 2009

Hello, Brazil!

This week I'm in Sao Paulo, Brazil for Tech Days. If you're in the neighborhood, come join us. We've got lots of great speakers who will be covering a wide range of topics.

High on the exciting list are the joint FCS releases of GlassFish V3 and NetBeans 6.8 (probably on the 10th, depending on how the Release Gods smile). These are both hot after the approval of the EE 6 ballot. The spec is done, the implementation is done, and the tools are done. Things of beauty! Enjoy!!

Fantastic job, everyone!

Monday Nov 16, 2009

Moules Frites @ Devoxx

I'm back in lovely Antwerp for Devoxx. The purgatory we're in over the situation with Oracle has it's pluses and minuses. On the plus side, I don't have to do a keynote.... Steve Harris from Oracle get's that job. I will be doing a talk, but I'll be concentrating on the store we're in the process of launching. The hard part is that the only questions that anyone will be asking are the ones that neither Steve nor I can answer: until the acquisition clears the EC competition commission and closes, we're required to be mostly silent about the future. We're pretty much limited to the official statements.

I'll be spending the end of the week at Cartes, talking with the SmartCard crowd. Between the 10th anniversary of GlobalPlatform (12 years of JavaCard!) and the release of JavaCard 3, it's a big year for us in the SmartCard world.

Tuesday Nov 03, 2009

Java Store Beta: payment and a new client

Put an accountant, a lawyer, an MBA and a software engineer together into a room... Sounds like the lead-in to a bad joke, but it's the exercise that the Java Store team has been living through for the past several months. At the PayPal conference today Eric Klein did an announcement and demo of the next phase in the Java Store's development. We've been working with PayPal on this for some time, using their new PayPal X platform. It always amazes me how complex it is to deal with all the details of global finance. And even so, the store today only handles US issues. But the framework is in place to go global as fast as the lawyers and accountants can work through the details — but it'll take a while. There's a new client application for shopping in the store, and a new warehouse site for developers to upload products.

Even with the current US-only restriction, that's about 65 million desktops for a target market. Please check it out, kick the tires, let us know what you think: we'd like to get it out of beta and do a real large scale consumer launch as soon as we can.

Thursday Oct 29, 2009

The Network Is

Yet Another Happy Birthday Intertubes!! Today marks 40 years of the internet, although there's some debate as to the actual date. I consider myself a latecomer: I didn't get my first real internet email address until 1977, C410JG40@CMUA. I was "jag" on various Unix systems before then, but it wasn't until 1977 that the ARPAnet and email really took over my life. I soon realized that the only real-world friendships I kept up with were folks that I could send email to. I disappeared from my brother and sister's lives until they got email addresses 20 years later. Of course now it's gotten to the point where restaurants don't exist unless they're on OpenTable :-) I wrote the original Unix Emacs in 1978 and because of that by sometime in 1980 I had the unusual distinction of having login IDs on every non-military host on the ARPAnet (I kept track - it had become sport).

When I joined Sun in 1984 (yikes! Has it been that long?) one of the big attractions was Sun's position on networking: every machine had a network connection. At the time, that was considered pretty weird. I had known Bill and Andy for years. They had both tried to get me to join Sun at the beginning in 82, but I foolishly didn't. "The Network is the Computer" was a pretty odd tagline at the time, and it didn't make sense to most people, but it had geeky appeal. A lot could be done when you tied machines together: from harnessing the compute power of clusters of machines, accessing filesystems remotely via NFS, remote graphics access, and a whole lot more.

But the network had more than mere geek appeal for me. It felt important in a world-changing kind of way. This crystalized when I read Robert Axelrod's 1984 book The Evolution of Cooperation. This is a reasonably accessible game theory book that discusses experiments involving the Prisoners Dilemma. I won't repeat what you can find by reading the Wikipedia article (which I urge you to do; read the book too). But by the end of the book, there is a strong conclusion that as the frequency of interaction increases, the optimal strategy shifts from hostility to cooperation. This really appealed to my 60's peacenik leanings because it suggested that all you needed to do was to get people communicating, and inevitably peace would break out. It doesn't matter much the form the communication takes, all is good.

At that point in my life, the network went from a geeky toy to a moral good. I don't know how to express how thrilled I am at how it has all played out. From the effects of the network in keeping the news flowing during the 1991 Soviet coup d'├ętat attempt, to FaceBook, Twitter, Blogging and all of todays social media.

These days I think that Sun should shorten its tagline from "The Network is the Computer" to simply "The Network Is".

My biggest disappointment with the internet is that it seems that the "killer app" that makes the economics of the Internet work is advertising...

Monday Oct 26, 2009

JavaCard 3 hits the streets!

The JavaCard team have been cranking away. Development on the 3.0 version is finally (almost) finished, and it's pretty amazing. Java Card 3 is available in two Editions.
Classic Edition
This is the same as Java Card 2 with some enhancements/bug fixes. It is almost 10 years young and is the most popular platform for the SIM and ID markets.
Connected Edition
This is the next generation Java Card technology:
  • JDK6 Compatible VM: Except for floats, it support class file version 50.
  • Full Java Language support: Java Card 2 has restrictions on the language itself. But JC3 has no limits. You can use all language features like annotations, enhanced for-loops etc... (except floating point)
  • Rich API: This is mixture of CLDC, GCF, Servlet, JavaCard2 API, Sockets, Threads, Transactions ...
  • Three application models and two library models, which makes it possible to have virtually any kind of secure application on JC3:
    • Servlets, extended-Applets, Classic-Applets
    • Extension-Library and Classic-Library
  • Servlet Container with Servlet 2.5 support.
  • HTTP and HTTPS interface: No need for special client programming. Use any web client to reach JC3.
  • Still tiny(!!):24K RAM, 128K EEPROM, 512K ROM with a 32 bit processor
  • It is not just "Card" any more: With the newly added USB interface this technology can go beyond Smart Cards into devices like secure USB tokens, Secure Personal Databases, Embedded Servers, WebDAV compliant thumb drives and more.
  • Last but not least, there is a Netbeans Plugin for easy development. Nightly builds of NetBeans point to the latest JavaCard plugin.
  • The team has a Kenai project that started recently

    Tuesday Oct 20, 2009

    Map browser on kenai

    I ripped the little demo map browser component out of my Oracle OpenWorld slides and moved it to kenai as a new project called OSMBrowser. Not very polished, more of a starting point for someone motivated to play :-)

    Thanks to the crew at the Open Street Map project for a nice database and tile server. A Thing of Beauty.

    Update: I fixed the busted .jnlp file, so it can be run.

    Friday Oct 16, 2009

    My slides from Oracle Openworld

    Several folks have asked for copies of my slides from Oracle Openworld. Unfortunately, there's no printable form of them, since I did them as a JavaFX app. You'll find them at which will launch the app (with all it's rather large images) via JNLP. If you're curious about the sources, they're on kenai. The code is pretty ugly: I just slapped it together. I'm not proud :-) The code for the map browsing component is in there too. It uses the tile server from (Click and drag with the mouse to move, scroll wheel to zoom). I kinda like the map browsing component, so I'm cleaning up the source and I'll push it out to kenai as a separate project sometime soon.

    I would have published it earlier in the week, except that there's a bug on Snow Leopard where webstarted apps that use fullscreen get a bus error :-( Works fine in fullscreen as a regular desktop app, but something weird happens when webstarting. Works fine on all other platforms. I gave up trying to figure out what was going on and just dropped the fullscreen startup.

    Thursday Oct 08, 2009

    Heading to Oracle OpenWorld

    Next week should be real interesting: I'm spending a big chunk of it at Oracle's OpenWorld conference. I'll be helping out Scott at his keynote. As usual, I expect Scott to be fun :-). I'm doing a talk the next day down the road at the Hilton where Oracle is holding their Develop conference. Sun is leading a number of sessions on enterprise topics. I'm going to try to stretch people's minds about what "enterprise" means.

    Thursday Sep 10, 2009

    OMG - Alan Turing gets an apology!

    It's decades late, but a lovely gesture none-the-less: Gordon Brown, the Prime Minister of Britain has formally apologized for the treatment of Alan Turing. It's hard to overstate his impact on the latter half of the 20th century, and the discipline of computer science in particular. Think of what your life would have been like without him: a longer and more devastating second world war; and the development of computers delayed by many years. How much better could the world have been if his life had not been cut short by thoughtless intolerance? For details, as always, consult wikipedia.

    Saturday Aug 29, 2009

    NFS on Snow Leopard

    I don't know what it is about Apple and NFS, but they keep moving things around. The new UI to NFS mounting is much nicer than it was before, but it's now in a totally different place: the Disk Utility. But if you use a lot of NFS file systems, it's a pain to have to mount them one by one: ignoring the UI and using the /net automount filesystem is far more convenient. Just use the file name /net/hostname/path and you don't have to mess with any mounting, it just happens by automagic. I wrote a blog entry about this a long time ago.

    However, there is a huge problem with this: OS X does a phenominal amount of file locking (some would say, needlessly so) and has always been really sensitive to the configuration of locking on the NFS servers. So much so that if you randomly pick an NFS server in a large enterprise, true success is pretty unlikely. It'll succeed, but you'll keep getting messages indicating that the lock server is down, followed quickly by another message that the lock server is back up again. Even if you do get the NFS server tuned precisely the way that OS X wants it, performance sucks because of all the lock/unlock protocol requests that fly across the network. They clearly did something in Snow Leopard to aggravate this problem: it's now nasty enough to make NFS almost useless for me.

    Fortunately, there is a fix: just turn off network locking. You can do it by adding the "nolocks,locallocks" options in the advanced options field of the Disk Utility NFS mounting UI, but this is painful if you do a lot of them, and doesn't help at all with /net. You can edit /etc/auto_master to add these options to the /net entry, but it doesn't affect other mounts - however I do recommend deleting the hidefromfinder option in auto_master. If you want to fix every automount, edit /etc/autofs.conf and search for the line that starts with AUTOMOUNTD_MNTOPTS=. These options get applied on every mount. Add nolocks,locallocks and your world will be faster and happier after you reboot.




    « July 2016