Three out of ten women use Boblycat as their
primary website for live sheep-shearing tv.

You are hereblogs

blogs


Oslo

hmmff.. staying in Oslo for a bit longer, probably returning early next week. Until I return you may read my streetshooting article as printable pdf or as html on deviantart. Feedback appreciated.

Happy shooting everyone :)

Dagstuhl Wrapup

My lovely week at Schloss Dagstuhl has come to an end, alas. The accomodation and facilities were simply splendid. The food was very good, and in the best of grandmother styles, the kitchen personell practically forced us to eat over our limit at every meal. The coffee machine is already legendary for its quality.

Presentation

As I said earlier, my reason for going to Dagstuhl was to spread the word about Stratego/XT. I brought a hole bunch of slides on my laptop, most of them produced by Martin and Eelco for earlier presentations and tutorials on Stratego/XT. After discussing the expectations for the workshop with Jens Krinke, Mark Harman and Dave Binkley (the great organizers!), I composed a basic Stratego/XT using some of Eelco's material and some new slides of my own.

I estimated the presentation to be about 45 minutes, barring snags and lengthy questions. The actual presentation was about two hours, as people kept asking questions all the time, wanting to know if and how Stratego/XT was applicable to this and that problem. Overall, I think the ordeal was very enjoyable. There was certainly a lot of interest. Even though the presentation started after dinner in the evening, and was optional, about half the 40 workshop attendees showed up, and most of those again stayed on for the tool demo at the end.

Networking

I guess "networking" is a businessy word, so I should rather call it "socializing", but we're computer geeks, after all. Anyway, I had many good discussions with people during the week, perhaps most notably with Jeremy Singer, Rani Ettinger and Sebastian Danicic.

Jeremy is working at University of Manchester where they are applying the Jikes RVM to a simulator they have for a multi-core CPU that supports chip-level threading. This simulator gives them all kind of performance monitoring capabilities, which they use for playing with speculative execution. Today's single-core CPU's already do some speculative execution, but with multi-core CPUs, this becomes even more interesting. Jeremy showed an example (which was slightly more elaborate than this):


foo(int n) {

boolean prime = isPrime(n);
...
if(prime) { ... }
else { ... }
...
}

Suppose you have two cores available when running through foo(). When you hit the call to isPrime(), you send one of the cores into isPrime(), while the other one continues in foo(). When you reach a place in foo() where the result of isPrime() is required, you take a guess at what the result would be, and use that. At some point, the other core will have the result from isPrime() ready, and you compare your guess with the real value. If you guessed right, you saved time, if you missed, you have to throw away the calculations of the first core, and restart. Disregarding threading overhead (which is minimal on these CPUs), whenever you guess correctly, you gain time. Coming up with the best guesstimate is therefore the crux of the problem, and this is where they made good use of their simulator.

Rani is a student of Oege de Moor over at Oxford. He was working on something he called sliding. Essentially, it is a form of slicing that seems very useful for implementing many kinds of refactoring. The basic idea is to use slicing to decompose a method which accidentally or otherwise is performing two different calculations into two separate methods that can be sequentually composed. Rani's wrapping up his thesis, so I won't reveal too much more than this until I can point to his finished product. However, I think he's definitely on to something really neat.

Another person I enjoyed many good conversations with, was Sebastian Danicic, who was interested in using Stratego/XT for instrumenting programs. He was particularly keen on the Java frontend for Stratego/XT that Martin is working on. After finding Sebastian's jabstract project (thanks Martin), I now understand why he was so keen about the Java capabilities.

After charging my camera, I'll put some of the pictures online.

Live from Schloss Dagstuhl

Arrived at Schloss Dagstuhl this evening. My first impression of Dagstuhl was rather mythical, with low mists over the fields that slowly uncovered a rather nice castle. After I had settled in, it was too dark to get any good pictures, so I'll try to remedy that tomorrow.

The castle is a center for computer science (or informatics, as we say in Europe), funded by the German provinces of Saarland and Rhineland-Palatinate. It lies close to the world-reknown metropolis of Wadern, which is to say in the middle of nowhere. The castle is used to host workshops (typically full-week workshops) every week all year round (they make have a break around Christmas, I haven't asked). From what I have seen so far, the facilities are excellent, and the laid-back hospitality coupled with German efficiency makes it even better. The remote location will be a blessing.

I'm here for a week to attend a workshop on program slicing. My main mission is to promote Stratego/XT (especially our latest release). I'll do a 15 minute sales pitch tomorrow and an afternoon tutorial on Tuesday.

Note to self: The ICE is great. Stop flying. Start doing rail.

The (IBM) JDK on PPC

My angry rant about disappearing files in my previous post were not completely unfounded. Saleem picked up our slack and we now have the latest stuff in Portage.

Peter commented that there is a FLOSS implementation of Java, too, with Kaffe, Classpath and all these friends. That is true. We provide these as well. We are about choice, of course.

Unfortunately, Kaffe is not (yet) a drop-in replacement for the commercial JDKs. Both Classpath and Kaffe are getting there, and fast, but never fast enough. If you're like me, whining that there should be a good, free software implementation of Java, join Classpath, Kaffe or one of the other efforts to make this happen.

On a similar note, if you're whining about Java development in Gentoo lagging behind lately, stop whining, join us on gentoo-java@lists.gentoo.org and put your code where you mouth is.

Stratego/XT 0.16 is out!

Grab it while it's hot!

Really cute and cuddly features:

Minor IBM crackdown on Gentoo

At the end of September, Kurt Steubing, Relationship Manager for the Software Group at IBM sent us a mail, notifying us that we can no longer redistribute the IBM JDK. At the time, we thought we had secured permission for redistribution. More than a year ago, we contacted IBM and got the go ahead to put the binaries for both the JRE and JDK on our servers. They even sent us a license to prove that we could.

Never trust a lawyer (in all fairness, we do not have evidence that whoever sent us the license is a laywer). As it turns out, there was obviously some confusion on IBM's part, as the license we got didn't really allow redistribution, if you read it carefully enough. Unfortunately, we didn't, not being lawyers ourselves.

Enter Kurt Steubing, who found (or was otherwise informed about) the presence of the IBM JDK files on one of our German mirrors. The mirror admin forwarded his request for removal to Gentoo, and the case ended up at our table, in the Java Team. In his mail, Kurt informed us in a professional and friendly tone that we had to remove the files from our mirrors, asap. We produced our license, which turned out to be invalid, and complied immediately after being informed of this.

The result is that dev-java/ibm-jdk-bin and dev-java/ibm-jre-bin now have the fetch restriction turned on. You need to download the files from IBM yourself, and pray to available deities that they haven't removed the particular version we packaged, lest the md5sums break. Unfortunately, changing the binary contents of releases without changing the filename, and also removing older revisions and versions, is commonplace both for the IBM and Sun JDKs, so bear with us on this.

This is going to bite our PPC users quite a bit, as the IBM JDK is the only stable, well-performing JDK available for that platform. If you've ever tried relying on packages with fetch restrictions, you know exactly how painful it is to see Portage stop and say that you have to perform a lot of menial, useless tasks just to fetch one file or two off the internet. This is why we have wget, dammit!

In his mails, Kurt indicated that it was possible to obtain a limited right to redistribute the JRE and JDK. Certainly, the JRE is redistributed all over the place, by companies small and large, so I don't imagine there should be a legal problem there. Despite clear insistence on our part that we wanted to obtain such a license, however, we have not heard back from Kurt for over a month.

I will keep you posted on the development here, but I won't pretend to offer any false hopes. We have to take into account that IBM is a huge company. Even though one part of it is bashing Sun for not open-sourcing Java, it doesn't mean that they intend to freely offer their own JDK or JRE to the open-source community, not even in binary form. </shot mode="cheap">

Street Article

For those who like street photography, I've written a small 22-page guide to get you started. You can find it here: Calling the Shots - A Guide to Street Photography

I hope you find it useful, and please let me know if you have any feedback. Thanks :)

Where the Emperor undressed

A few weeks ago, I was running off to work one morning (okay, I was leisurely strolling to my office, just before noon), and came across this:

Clothes on Display

(Another posting where I tried to use Flock. I'm becoming less illusioned by it for every posting. Why oh why can't I drag'n'drop images into my posting? And why does it always publish when I hit "Draft"?)

Yelo: Klar til vask

I det siste har jeg faktisk hatt nok tid til å se litt TV en gang i blant. For eksempel Tufte IL, som jeg for en gangs skyld fikk med meg i dag, etter å zappet vekk fra en gruselig langsom og kjedelig film på NRK2 (Reservoir Dogs, visstnok et dokudrama om en mann som sliter med ettervirkningene av et traume i abdominalregionen).

På TV ser man så mangt, for eksempel reklame for søkemotorer. I det siste har yelo vært ganske prominent. Tor Håkon minnet meg på dette over IRC, rett etter at jeg kom ut av dusjen i kveld. Da tenkte jeg at "søren klype, dette må testes".

I beste narcisistiske ånd, søkte jeg på karl trygve kalleberg, og fikk meg en god latter:

Tydeligvis var det ikke mye hjelp i den dusjen...