Started to work on applet undocking for my Ultrastudio.org.
Many applets we have work nicely with various dimensions and
pulling them out if preferred seems increasingly attractive
idea. Oracle's JRE even has some native undocking
capabilities but it is rather cryptic, goes through some
JavaScript stuff on Oracle website and of course I need to
get this working with IceTea. Seems better to add a couple
of classes to the applet jar and have full control.

It is surprisingly simple to undock the applet: the code
that does this simply removes it from some mysterious
container where it is attached on a browser and then is free
to place it into trivial JFrame. It is even possible to
reattach the applet to its browser container when the user
closes this JFrame (inside the window listener).

It is more difficult to implement support, how to signal
that we want to undock the applet. Oracle talks something
about dragging out with ALT key pressed but with my IceTea
seems not working very well - I can register mouse listener
on applet but majority of mouse exit events do not get
delivered. Adding a button into JLayeredPane seems more
promising: inside this pane, the button is nicely over the
rest of the applet, exactly in location I can set with
setBounds(...) and reacts to mouse click, calling my action
listener. The new problem is that the button is covering
part of the applet interface; thinking that to do now. Maybe
the button can be auto-hidded after several seconds of run.

Be with it, with this Mac and these foggy talks about Java
deprecation on that platform! Mac OS makes 5.0 % of all
visitors on
Ultrastudio.org when Linux makes 9.9 %, graph here.
Seen who has "failed
on desktop". Also, maybe Roman with Mario will get IceTea as
a better replacement of the proprietary Apple Java virtual
machine.

First Google-Oracle discussions and now this. Likely it was
the most unlucky time throughout the history of Universe to
launch the Java applet portal.

Today is near one month as our Ultrastudio.org, encyclopedia
with Java applets (code reviews, service side build and
approval workflow) is online. During this time, the
site has grown from the initial 14 applet "seed set" about
50 applets at the moment, each of them having explaining
article next to it. Some articles reuse Wikipedia material,
but many are differently written, aiming for short, clear
introduction rather than full of coverage. The numbers are
not that big, and actually only tiny fraction of even very
promising topics is covered, but the site already gets in
average about 154 page views per day (excluding spiders and
all Switzerland). Many applets have been launched.
Ultrastudio.org is currently heading the "top 5 %" rating
list at Jars.com. This seems enough for the project of our
age and profile.

Today I checked SourceForge after a long gap and discovered
that StableUpdate
that I started years ago is alive, has two developers
without me and gets code contribution. It is really
impressive to see such things happening. Your code can live
without you! Not the first time I see it yet always impressive.

Nice evening today: come I to "Nord See", order something
tiny. Suddely the waiter brings to me the big top range
meal, smiling sweetly and saying "this is for you ... ". I
look surprised but assume maybe some marketing activities.
Exactly when I finish the same waiter runs back away,
shouting "... when you have NOT been ordering this, you must
say so!!!!". That should I do? "But the taste is really
good" - reply I with the expression of the canibal in my
face ,- "I will pay, no problem". Why to spoil the mood so
raised, not so expensive after all. Reminds me.

Have recently finished the practical part of "Advanced
Operating Systems" in ETH. More a hobby - like activity,
lots of time have passed since I have been a student the
last time. Step by step, over half a year each student have
implemented a tiny working system on the top of L4
microkernel for NSLU2. It even has its own ELF loader. At
times I started to think that it may be interesting to put a
java virtual machine on the top of L4 as the first (root)
task. In L4, the root task can do many things that the
ordinary program cannot do. Most interesting it can map and
remap pages, so we can have chunks of memory appearing from
nowhere in virtual space. Or extrafast moving by remapping
(while it may be difficult to see as these pages are 4 kb at
least and must be aligned). If some other task (normal L4
executable) wants to do such things it can only do via
requesting root task to do this. Context switches and so on.

L4 also has quite pretty threads, and each thread can have
individual mappings. For instance, they can have each its
own stack exactly in the same place of the address space.
But in general it is a very tiny kernel; apart maps, threads
and interprocess pipes there is almost nothing more there.
This is not because of incompleteness, it is more a kind of
concept.

However drivers seems being a
biggest problem, even if we restrict interface to the
network alone. It was a not so bad network driver for the
NSLU2 chipset in the provided package, but the problem is
that this hacker-loved slug seems no longer in production.
Some German groups try to run existing Linux drivers under
L4 in some emulation mode.

Interesting to see, the CPU cache matters a lot in java,
also. If we have something like buffer[a] = buffer[0] for a
really long buffer and various different a, it may be up
till twice slower then buffer[a] = buffer[a-1]. This is
something important to note. There are C guys ready to
crucify everyone that says java can be tried in high
performance computing, using they own knowledge about caches.

Some days ago I have tried my Dell Latitude D830 together
with Fedora 10 Cambridge, and was really surprised how far
have everything advanced since relatively hard times of
getting Fedora 8 Werewolf working. There is really
reasonable difference now when Cambridge seems having
absolutely no problems with the laptop - not only wireless
and suspend work but even the monitor video output switches
flawlessly where needed during presentation. Fedora
community have done a great thing once again!

Thoughts from JavaONE
This year I first time visited JavaONE in San Francisco,
hopefully not the last.

It is really very good conference with a lot of things
happening. I was impressed on talks about Glassfish, Spring
and many other FOSS related things. I was less impressed
noticing that some hands - on labs expect a single
particular OS running on your laptop as some self - evident
thing. But I believe that this is because the software under
demonstration is so new and the gaps will be closed in the
future. Also, the current status of the PhoneME seems a kind
of mess: from one side, it "runs everywhere and is very easy
to port", from the other side it is not obvious even where
to download the official port for ARM processor. Likely
there is a reason why many people with
mobile devices seem running JamVM+GNU Classpath and stay happy.

We have also seen Dalibor who is now working for Sun. It
was an
interesting experience to have a conversation with him in a
place so far from Zurich where we both have spent so many
time in the past.