Older blog entries for audriusa (starting at number 19)

OpenJDK on Ubuntu: Java Headless exception is caused by the incomplete Java installation.

Recent Ubuntu releases (10.04 LTS) show quite a nasty behavior when trying to start Java application: the application crashes on startup with Headless exception.

This is cause by the by default incomplete installation of OpenJDK. It is kind of present but missing some packages that are available on Ubuntu repository. On the discussions on the web I found people suggest to switch immediately to Oracle's proprietary java or even into Windows.

Unfortunately I had no time to copy stack trance and the exact name of the missing package - needed to fix the problem quickly and now is too late. But this is no any rocket since; the missing package is something like "java jre" - could be assumed to be the full installation rather than somehow stripped one that comes by default.

Check packages in the repository if you have this problem. Hope you fill fish out this message with Google. Good luck!

25 Dec 2010 (updated 25 Dec 2010 at 19:18 UTC) »

Today I have registered Ultrastudio.org on Project Kenai. This portal provides forum, mailing lists and Bugzilla, and we plan to use all this - it would be a lot of work to set up and run on our own server, even if it is technically possible and I in general know how. There is also some hope that with the dedicated forum backend we will get more feedback - not all people like to use Wiki engine for discussions. So far the most valuable feedback seems coming from the server logs - where do the people go on the site. The number of applets is currently approaching 80 and could easily be more but we decided to pause temporary the active collection and work for some time on a cleanup and supplementary material.

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.

29 Oct 2010 (updated 29 Oct 2010 at 21:08 UTC) »

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.

4 Sep 2010 (updated 4 Sep 2010 at 10:01 UTC) »

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.

Great to have IceTea plugin that makes such projects possible.

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.

Java Applets in Wikipedia - that do you think?

Wikipedia is making a call for strategic proposals, and one of them is to allow Java applets for visualization. I decided to post a blog as this may be interesting for us. JFreeChart would rock there!

15 Jun 2009 (updated 15 Jun 2009 at 18:58 UTC) »

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.

13 Jun 2009 (updated 15 Jun 2009 at 19:04 UTC) »

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.

10 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!