Archive for the 'Uncategorized' Category

JavaFX?

Thursday, July 31st, 2008

I don’t get it. Everybody (I know) is whining about how Flash is annoying. AJAX is all the hype, and has the potential to replace most uses of Flash using only JavaScript and CSS (I think). Applets and ActiveX thankfully is a thing of the past. Then why is it necessary to reinvent this crap. First came Silverlight (I’ve never seen a single website using it, anybody else maybe?). Now comes JavaFX. Adobe is also doing something I heard. Who needs all this superfluous stuff?

On a related note, I don’t believe anything will replace Flash, as long as it doesn’t come with a cool web-designer compatible application to create these ‘pages’, like Macromedia did. The thing about Flash is not the language or the powerful features/API, it is the fact that web-designers don’t need to know anything about all that. They can just click together these pages and annoy web users with pages that don’t feel like web, don’t behave like web, etc.

Really, I don’t get why companies invest in things like Silverlight and JavaFX. If somebody knows, please enlighten me.

Welcome back to the 80’s

Wednesday, July 9th, 2008

Thanks Dalibor. When writing my last post about nuclear power, I was still completely unaware of the latest news about Tricastin. This is also quite amazing. There are several hundred kilograms of Uranium leaked, but the official are trying to tell us, the risk for health is minimal. Sounds a little like back in 86 to me (ok, that was a different class of accident still, but the pattern sounds familiar still). And suddenly it’s no more 360 kg, but 75kg. I wonder what happened to the other 285kg. I suppose the press department got something on their head from somebody (government? nuke lobbyists?) and suddenly 285kg disappeared. Easy, isn’t it? But the most amazing thing is that the french energy corporation EdF announced today that they plan to build 10(!) new nuclear power plants. Wow. Just wow.

Am I the only one who feels like warped back into the 80’s? Nuclear power. Ugly haircuts. Cold war. Mideast. Can somebody who is not so disconnected to the music scene like me confirm that Micheal Jackson and crazy synth music and the really bad kind of heavy metal is also hip again? I’m quite disappointed, indeed.

Let me close this article with a free interpretation of one of Johnny Cash’s best songs:


Tricastin*, may you rot and burn in hell.
May your walls fall and may I live to tell.
May all the world forget you ever stood.
And may all the world regret you did no good.

(*) Insert other nuclear plants as you see fit. Johnny Cash was actually singing about Saint Quentin, one of the more infamous prisons of USA, but nuke plants seem to fit perfectly here…

Nuclear power hip again?

Tuesday, July 8th, 2008

There’s some interesting discussion going on right now in Germany (and other countries too? dunno…). Some simple facts:

  • Our power supplies are dominated to significant degree by nuclear power.
  • Energy prices are skyrocketing
  • The only energy providers that I know can keep their prices stable or even drop them a bit are the regenerative energy providers. Yes, my provider (Lichtblick) lately dropped its price by 0,005€.

Now we put that all in the big logic machine, and what comes out of it as the solution? We need to keep our old nuke plants running longer, and probably even build some new ones. Am I the only one who sees a strange twist in that logic?

Some more facts for you people. Nuclear power isn’t the everlasting, clean powersupply that the last-century power lobby wants us to believe. Uranium leaching and its preparation for use in plants is getting more and more expensive, for several reasons. Strongly growing demand from new industries in Asia and other regions (also the reason for skyrocketing oil prices), less available supplies, higher worker wages in the supplying countries, etc. Also, I question if it makes sense to let an industry depend on huge amounts of supply that it cannot produce themselves? What if the supplier countries stop supplying?

Another unsolved problem is, what to do with the tons and tons of nuclear waste? The cost of actually solving this is not even calculated into the energy price now, it is our children and their children who will have to pay for it, when it is becoming a real problem.

To me, all this looks a lot like the result of massive lobbying of the established energy industry. Of course they are very scared to loose their nuclear plants before they actually paid off, and of course, they want to leech the existing ones as long as possible. I completely understand that. But I don’t understand the logic by which they try to convince the masses that this is a good idea. Strangely enough, the masses even seem to believe them, despite the couple of accidents last year in some nuke plants.

Frankly, I think safety is not the biggest problem of nuclear energy. What I really question is, if nuclear energy makes sense from an economical POV. In my logic, it is much more sustainable to have energy that actually regenerates, and which you can produce to a certain degree in your own country. I know that the current green power options are not able yet to cover the large energy demands NOW, but at some point we have to start investing in that, because in 50 years or so we don’t have an option anymore. Even now we can see that ‘green’ power doesn’t have to be more expensive that conventional power, and even now it is actually more stable than conventional energy. Think for yourself.

If you are worried about skyrocketing energy prices, it would be a good idea to switch to green power now. (But please, look after certification. There are so many fake green energy providers, who are not actually investing in ecological energy at all.) In this capitalistic world, money is YOUR way to change the world. There’s no excuse for whining that you can’t do anything anyway against all the big political and economic machinery. You can do, and you should start now.

Impressions from Jonah’s school

Wednesday, June 11th, 2008

Lately, Madeleine and I took some photos of Jonah’s school. I think they’re nice, and the school is quite interesting.

American Bach Soloists on Magnatune

Wednesday, June 11th, 2008

A while ago I was pointed to Magnatune, a cool online record label. I often browse through the catalogue on the search for good music. The cool thing about Magnatune is, you can listen everything and fully online. If you like it, you can buy and choose the price yourself. Then you can download it in all formats, including OGG Vorbis and CD quality FLAC. You are even encouraged to share the files with your friends. I like that.

Lately I found something that I really like alot, the recordings of the American Bach Soloists, especially Bach’s Mass in B minor. I’ve never been much into this kind of music before, so this is like discovering new land for me. I find it really amazing how somebody can sing that way, and how complex this music is, and still perfectly harmonic. Makes me think about values of today. Who would care about sitting down and passionately diving so deep into music to make such incredible piece of art?

Speaking about music, I’ve got tickets for Neil Young in Colmar in August, yay :-) I’m glad I’ve not went to see him in March or May this year, that would have cost me a lot more (up to 130€) and would have been several hours from here. Now it costs me less than 50€ and it’s basically around the corner from here. Yuppie! I’m really disappointed by his announcement at JavaOne though. Stupid audio snob. (And I don’t think BlueRay or anything is so much better quality-wise than CD, unless you own a 10000€ hifi and listen at insane volume levels).

Ubuntu 8.04

Wednesday, June 11th, 2008

I’m using the latest Ubuntu release for a while now. It has many nice improvements, resume and suspend seem to work perfectly now, even suspend-to-ram. The browser is slimmer and integrates better with Gnome (GTK widgets for forms, yay!) There has been some polish here and there.

But still, overall I’m a little disappointed. I have the feeling that there are many small regressions. For example, there’s no notification anymore after I unmounted my camera that it’s ready to unmounted (I thought that was a nice feature in one of the previous releases). I cannot access the data part of a hybrid audio/data CD (and thus can’t see the video that’s hidden there). The gnome-volume-manager settings don’t know about CDs/DVDs anymore and I can’t choose my favorite player for those. The default for ripping CDs is now Rhythmbox, which just can’t replace Sound-Juicer yet (cannot replace special chars in filenames with ‘_’). The browser locks up in some complicated situations with certificates. I think there’s many more.

My feeling is that it boils down to two unfortunate decisions: To include Firefox3 Beta and the brand new gio from Gnome. That just doesn’t feel right for an LTS release. I don’t envy the poor developers at Canonical that have to support that release for 3(5) years. From my point of view, the last series of non-LTS releases all appeared to be more stable and mature than this release. This is pretty sad. Luckily I don’t care much about LTS myself and happily await the Intrepid Ibex.

Tags with Mercurial and Forests

Friday, June 6th, 2008

When you have a project in a Mercurial repository, probably using the Forest extension (like I’m doing), then you most likely want to tag the forest occasionally, be it before a release, or (like in my case) when an autobuilder was successful and wants to mark a specific version as OK. Obviously, when working with a forest, there’s a problem, because there is not a single version to tag, but in fact a couple of version. Each tree needs to be tagged. My specific requirements for tagging are those:

  • A tag must identify a specific state of the source tree (forest).
  • It must be reliable. I don’t want to recover from arbitrary errors.
  • Setting and removing a tag must be atomic. No other operation should interfer with it.
  • It must be possible for multiple processes to set and remove tags on a repository.
  • The tags should be available through the VCS (I could simply store the stuff in a database myself, but that would partly defeat the purpose).

Here’s my solutions, in the order that I tried:

Using hg tag

This is the first thing that comes to mind, simply because there is such a command. Frankly, in hindsight, this seems the worst solution to the problem, at least with forests. I tried to write scripts that walk the forest and set tags in all the repositories. I even started an HG extension for that. Not only is this very complicated, it turns out that it is almost impossible to push back the tags to a master repository reliably, especially when you want to do this automatically. Also, this stores the tag in each of the repositories, introducing changesets in all of them, thus cluttering all the logs. Ugly. Keep away from that.

Using snapshots

The next solution is based on hg fsnap. This is an interesting command. Using that, you can create a snapshot of a forest, and later you can use fseed or fclone to re-create the forest at exactly this state. Seems like a reasonable candidate to implement tagging with. So I did. My script did create snapshots of a specific state, put them in their own repository inside the forest, and pushed them to the master. Since the tags are in their own repository, it is much easier to push them back. However, it is still not 100% fault-proof, especially when several autobuild-processes plus developers are involved. Much better than the first solution, but still, not recommended.

Using clones

Funnily, this idea comes from the Subversion development model. Instead of hg tag or hg snapshot, it is very straightforward to simply create a clone as a tag. Just like you do with branching. (Yes, I consider in-tree branches somewhat broken. or at least confusing.) Cloning inside the same filesystem has almost zero overhead, because HG uses hardlinks internally. This makes it easy to deploy a similar structure as is common in Subversion:

trunk/

branches/

tags/

Trunk is where all the main development goes. Branches holds all the clones that are considered branches, be it separate release branches or some kind of development branch. You can do just the same with tags, simply clone the forest from trunk (or some branch) to the tags directory and don’t touch it anymore afterwards. This is very straightforward to implement and is the only solution (AFAICS) that fulfills all the requirements above. I’d even go so far to recommend this for non-forest repositories too instead of hg tag. I wish I had this idea earlier. This is why having all kind of commands in the core of HG and having them named like in other RCSs is probably not a good idea, it misleads to thinking that (for example) hg tag is just the same as cvs tag. It stole me a lot of time.

Windows games on Wine

Wednesday, June 4th, 2008

I wanted to give big KUDOs to the developers of the Wine project. Lately I’ve been trying a couple of my favorite Windows games (from back when I had a Windows machine and time to play). Namely, Baldurs Gate I & II, Heroes of Might and Magic III and Starcraft. All of them run out of the box and absolutely flawlessly! With sound, graphics, everything! This is really amazing. Ok, these games are quite old now (I still consider them classics), but from what I hear, newer games like WoW run almost perfect too.

Somehow, I can relate to the developers of the Wine project, after all, they are doing much the same thing as we did in the GNU Classpath project, only that the specs are much much worse.

It even integrates nicely into the desktop: When you click an .exe (e.g. on the setup CD) it launches correctly with Wine. After you installed a program, it shows up in the Gnome menu. Perfect!

If you have some old favorite Windows games lying around, and last time you checked they haven’t been doing anything useful (ahem) on Linux, I think there’s a good chance that they now work out of the box, or with only little effort. Again, big KUDOs to the Wine devs! Soon they are releasing 1.0, yay!

Everyday Apps

Tuesday, June 3rd, 2008

Some days ago, a friend of mine (Rainer Haage of Qemulator’s fame) started a cool wiki called ‘Everyday Apps’. There you can find everyday things written for hackers. Example:

def enter_site()
result = None
you = You()
site = EverydayApps()
if you.likethispage(site) == True:
result = you.write_your_own_code(site)
return result

If you have a funny idea, and it can really be anything like family things, everyday workflows, poems, prayers, etc, please add to the wiki. Should be fun.

Graphics on Jamaica/OpenJDK

Tuesday, May 20th, 2008

Today I got the first graphics app running on Jamaica with OpenJDK:

SwingSet2 on Jamaica/OpenJDK

This doesn’t mean, that 50% of the stuff is working, this means that graphics (Java2D, TrueType fonts, Imaging, Swing, etc) are now fully supported on Jamaica with Linux. This may not seem impressive. After all, all the code is already there, right? Well, on Jamaica it’s not that easy. All the native code needs to be statically linked, which can be a real pain. On the way I found a handful of bugs, both in Jamaica and in OpenJDK, and implemented a bunch of new things in Jamaica (namely, FileChannel support and friends). Now I can happily go off to vacation on Lago Maggiore, yay! And when I come back, I can finally start implementing Java2D pipelines for our more exotic platforms like VxWorks, WindowsCE, Nano-X and OS-9. And finish off the CVS->Mercurial transition inside aicas.