Thursday, October 8, 2009

At JAOO


I'm at JAOO. Overall quite a positively surprising experience. Much less business-lingo and far more fairly advanced conceptual and abstract stuff than I had expected. I knew that keynotes by Simon Peyton-Jones (Haskell-father) and talks by Don Syme (the man behind F#) would be good.


But I was positively thrilled by some of the topics discussed and some of the discussions we got into on the day with the concurrency-track. Rich Hickey and the idioms he'd put into his Clojure-language really utilized some knowledge and nailed down some programming idioms for concurrency - in a much more useable manner - than what I've been used to seeing at academic conferences. Yes - it's hard; yes - threads and locks are a terribly bare-bones model to work with concurrency; yes - you really need to use immutable state. He essentially isolated four gradually more advanced forms of concurrency: An atom - essentially a cell, where you are given a synchronous read-and-set operation to work with it; a var - a persistent reference to a value that might change but is isolated inside a thread; a ref - a mutable storage location, which allows synchronous access, but only through transactions (segue to buzzword-compliant software transactional memory); and, agents which provide asynchronous access to mutable state. These idioms are available via fairly simple built-in keywords - inside a LISP-variant language (which is ok, but not reeeally to my liking, I'm more an ML/Haskell-kind-of-guy).

As Rich Hickey is not in academia - but develops programs for real customers, he needs to make these things actually work. He's chosen - wisely, I think - to target virtual machines. Building on top of custom Java libraries and compiling to bytecode running on the JVM, but also - via collaborators - aiming to target the CLR. This was so refreshing. He'd essentially made this language, because - as a consultant - he was extremely tired of developing concurrent programs in languages like Java, C++, and C#. How alien to an old fallen academic like myself. Actually having a problem before looking for a solution!

Ah - gotta run now. But in passing, I should mention also that I have - I promise myself this time (for the 5th time) - to go check out Erlang.
The guest from Erlang - Ulf Wiger - essentially shut up all the other participants on the Concurrency discussion panel, when he dryly remarked that Erlang-people had trouble comprehending concurrent programs running hundreds of threads; they were used to programs running hundreds of thousands of threads...

Friday, September 18, 2009

Saturday, August 1, 2009

Energy

These fine gentlemen (The Mars Volta) are fairly energetic. Exactly the opposite of how I feel. I would care to wager that they do drugs.



And here is a version with better sound. Though it lacks the live feeeel, that I so diiig. (My apologies. As is well-known, it is obligatory to use at least one slang-expression, when discussing musicians with helmet-hair.)

Sunday, January 25, 2009

Wednesday, January 21, 2009

How to spend five weeks

Well, well, well. I've been away for a few weeks. I've been busy stuff in the the non-virtual world, not the least preparing for becoming a dad in three weeks.

But well, what do you know - my son decided he couldn't wait, so early Monday morning (3.45 am), I became the proud and somewhat surprised father to a healthy boy! We'd heard that many give birth too late the first time, so we were really caught somewhat surprised. We've just come home from the hospital now - we're extremely happy - but still somewhat puzzled by the events that have pooled up over the last few days. We should probably start by finally selecting a name - he hasn't got one yet, as we thought we had plenty of time to think about that. We also have to buy the last few things, and assemble a lot of stuff. But hey; most importantly, both he and Lena are in fine shape.

I'll try to upload some pictures in the next post.

Now I have to go change a diaper...

Sunday, December 21, 2008

How to spend five years

So I just handed in this tiny thing, called a dissertation.

I must admit - it's a nice sensation. It goes a long way towards bringing closure to the ... hmmm ... last ... five years of my life. Five years and bit, in fact. Dammit, that's a long time. I'm getting old.

What did I do(?!), you eagerly shout... without having read the bloody thing? Well, ok - right now my passing-on-the-stairway-version is the following:

I worked with a framework (bigraphs) for domain-specific programming languages (DSLs). I developed some fundamental theory and algorithms that enabled us to implement a prototype tool to play around with such languages. Oh yeah, and then I developed a DSL, the snappily named C calculus (C for cell), that biochemists can use to describe and experiment with cells and proteins in silico. Check out this poster, for some nice pictures:

Thursday, December 4, 2008

Quirky?

Sometimes, I worry that my stint in academia has left me quirky and absent-minded. As usual, my beloved brother comes to my aid, by reminding me that these tendencies have nothing to do with my time in academia.

I recently received an email from him, saying (translated):

Subject: 3 things.

(1) I know what to get dad for Christmas.
(2) What do you know about OCR-scanning?
(3) I forgot the third thing.

Stephan