Saturday, December 06, 2008

Dōjō.beer() in Munich

The crowd gathered, hungry for information

Today I attended the Dōjō.beer() session in Munich. It featured nice people and interesting information on dōjō, a prominent JavaScript GUI toolkit.

uxebu@work. What a nice pair!

A mysterious box with tons of bounty

The contents of the mysterious bounty box transformed the crowd into dōjō disciples

Steering: Wolfram was collecting suggestions and votes

The format of the conference was pragmatic: The team around Nikolai, Norman, Tobias and Wolfram had prepared a bunch of talks and the crowd was asked for their preferences. Then the talks started in order of the voting results.

Special guests: dōjō co-founder Dylan Schiemann and project lead Pete Higgins

The talks were very good and the organizers even managed to have two of the dōjō top guys attend via video conference to tell a bit about the direction the project will take. Impressing.

The dōjō folks definitely have the biggest share of the JavaScript GUI toolkits right now and the technology looks mature too. I will try it out for me!

Many thanks to the sponsors and organizers! (uxebu and Mayflower)

Saturday, October 04, 2008

Code Spelunking

This month's CACM practice column features the article
Code Spelunking Redux
by George V. Neville-Neil. In plain English the title means Having another look at code exploration as spelunking seems to be an US pun on speleology, the scientific study of caves.

The subtitle of the article is
Is it getting any easier to understand other people’s code?
He refers to a prior article of his, where he wrote about the tools global, Cscope, gprof, ktrace and trace which help him to understand other people's code. George is a FreeBSD developer (you can listen to him via this bsdtalk podcast) and in true Unix fashion, he prefers a set of good tools instead of an all-in-one IDE.

This article is about two new tools he added to his set: Doxygen and DTrace.

I found it quite interesting and relevant. Be it that you are an open source developer like George or you are involved in developing or maintaining a large piece of software, you will most likely have to deal with large chunks of code written by other people or even generated code.

Tuesday, September 02, 2008

Google Chrome - A New Plattform for Browser Applications

Wow, Google is introducing its own browser:

Google Chrome

I have read the comic Google provided as explanation, and am impressed.

I worked on large browser applications which consisted of many ten thousand lines of JavaScript code. And my conclusions were similar:
  • Present JavaScript interpreters were not made for huge JavaScript apps, running over several days
  • The implicit threading via timer call backs reminded of cooperative multi tasking, not of OS threads
  • JavaScript should use Just in Time compilation
The Google Chrome browser addresses these topics and more.

Only drawbacka I see ao far are:
  • Windows only
  • what impact will it have on Firefox development and on the JavaScript widget toolkits like dojo?

Thursday, August 21, 2008

Tuesday, July 08, 2008

Intentional Software

There was a recent talk by Charles Simonyi, Henk Kolk and Magnus Christerson titled:
Intentional Software - Democratizing Software Creation
This stuff (the paradigm is called Intentional Programming) borders between The Next Big Thing and vaporware!

Traditional software creation

The traditional way to come up with a software system to solve problems for a specific problem domain (e.g. planning pension funds) is to let the software engineers interview the domain experts (e.g. pension experts) until they understand the problem enough and then let them code their software in the hope that the resulting software will solve the problem and is usable by the domain experts in the end.

This needs one or more development cycles and might result in systems which the software engineers are more comfortable with than the domain experts are. Another drawback is that changes in the problem almost always require changes in the code of the software.

Intentional Software Creation: Editors and Generators
An intentional software system is supposed to work differently:

It should be fed with requirements from the domain experts and then should allow to generate a software system from that data, which will finally solve the problem (see image above).

For the definition of the requirements, the domain experts should use their favourite notations. It should be no problem to model the requirements with different notations, covering each part with the description which fits best.

Here the software engineer is responsible to provide the generators, which will churn out the solution software system.

The big advantage is that changes or variations of the problem are likely to be covered by changes in the requirements from the domain experts. The big disadvantage is, that this intentional software system is a complex beast, with complex editors and generators.

Waiting for Intentional Programming
I follow Intentional Programming since the year 2000, when I first saw it described in the "Tangram book" on Generative Programming by Czarnecki and Eisenecker.

While I still wait for Simonyi's intentional software system to materialize on my computer to sink my teeths in (that is why I use the term vaporware), the ideas behind it already had an impact on me. They led to one software system for certain domain experts and resulted in a CS seminar talk a fellow student and I held some years ago.

This is the image from the Tangram book, which pretty much impressed me:

The same idea (using domain specific notation in the solving of a problem) is illustrated here:

Not bad, or? One can imagine the mathematicans or electrical engineers to provide their requirements in their favourite notation.

While this looks like Visual Studio on steroids (which seemed to have been considered seriously for a short time at Microsoft), it is a glimpse on the intentional software system which Simonyi's company Intentional Software seems to develop since nearly a decade.

It is not dead, Jim!
What I missed until now was this announcement last year:
Charles Simonyi reveals production use of Intentional Software @ JAOO
Thus they seem to have a protype running at a Dutch provider of pension funds.

The funny bit is that the domain specific notation those pension fund experts prefer is "Excel sheets". If I think about it, I have seen the one or other funny use of Excel myself in various departments where economists or marketing people worked.

Excel and Word on Steroids?
Simonyi is famous for having head the Microsoft teams who (based on ideas pioneered at Xerox) created Word, thus an editor for preparation of text documents and Excel, thus a clone of Visicalc, which was a software for modelling and solving various economic problems in a twodimensional tabular scheme.

You all know it.

Both are powerful graphical editors, which allowed domain experts from document writing and economics who have no programming skills to define and solve their problems. So coming from there the idea of intentional software seems like a logical next step.

And the other parts of the Intentional Programming System?
While I am able to see how those special notation editors (with knowledge of the notation to allow stuff like code completion) might be implemented, I always wondered about the mythical database where all requirements are fed in and how the powerful generators would look like.

The editors were supposed to work on a data structure similar to abstract syntax trees (the data structures that carry the information won by parsing). I am still not sure, if this is the intentional tree that was mentioned in the video of the talk.

So I am still waiting for more clues on the database and generators.

Monday, June 02, 2008

Aho on AWK

Alfred V. Aho got interviewed. The A-Z of Programming Languages: AWK

Friday, May 23, 2008

A Tale of Four Kernels

My Google alert on FreeBSD yielded this comparison of four kernels from Linux, FreeBSD, OpenSolaris and Windows:
Enterprise Unix Roundup: Operating Systems on the Analyst's Couch

Thursday, May 22, 2008

Telebid Telegambling

I stumbled over Telebid last week.

From a technical point of view, it is a very dynamic web page. You see countdowns and other information flashing over the screen, which creates the tension and excitement of a computer game. A nice piece of Web 2.0 / AJAX technology.

From an economic point of view, all of this visual stress is created to lure you into bidding for a seemingly cheap product. I wanted to give you a calculation, but then a quick Google search gave me Oliver's article, who came to the same conclusions as I did and who wrote it up nicely with good model calculations.

It is indeed an AJAX game for money.

They changed their name to Swoopo.

Sunday, May 18, 2008

The Blogs of Your Bear

The following Google Docs presentation aims to explain the rationale behind my blogs.

Sunday, March 16, 2008

Links: a functional language for web programming

If you ask about a programming language for web programming, you might probably come up with PHP.

Now there seems to be something coming from the functional world: Links

It is developed by Philip Wadler and his research team at Edinburgh. (Found via JJinuxLand)

Sunday, March 02, 2008

Erlang Blog Spotting

Blogs dedicated to Erlang show up like mushrooms after rainfall, so Your Bear decided to list them here:


Sunday, February 24, 2008

XMPP Devcon

My main reason to visit Brussels was to meet the XMPP community.

The XMPP devcon was held at the Atlas hotel there.

They turned out to be nice folks and at noon we went to dinner.

At the FOSDEM 2008

The FOSDEM 2008 conference took place at the Solbosch campus of the Université Libre de Bruxelles.

As I wanted to see a bit of the city, I took a cab to the campus. For some reason it took 11€ to get there and later 15€ to get back to the centrum. Maybe the second driver was more experienced ripping of tourists.

The flair inside the buildings was definitely university/grassroot not business.

The XMPP folks had a booth there. Here you see Pedro convincing the crowd.

At the Ubuntu desk I saw my first OLPC laptop. It looks cute, but I was told that even children complained about its slow processor, lack of Flash player etc.

I knew before that the BSD Certification Group would offer the BSDA certification at the conference, but I hesitated to sign up, because I had no time for preparation. The organizers turned out to be friendly people and I decided to join the exam
anyway. At worst this would have been a moderate donation for a good cause.

I expected the exam to take place in front of a computer, via some web application. To my surprise I was led to a plain old university lecture hall. It reminded me of my study times. However Belgish students seem to be thinner than the German ones (or were hundred years ago or however old this room was). So I was reminded twice that I am not 20 anymore: I did not fit in between seat and table (see photo above) and I had trouble reading the small printed numbers on the answer sheet. Boy, and I thought the BSD crowd was 10 years older than the Linux crowd in general.

Before the entrance of the lecture hall, what a funny coincidence, I met Wim from OpenBSD, the guy who sells their great T-shirts (I wore one at this occasion). He helped me settling the late registration.

I had to sign a NDA about the exam, but I think I can reveal that I think they did a good job.

Originally I wanted to listen to some talks at FOSDEM, but it in the end it turned out more interesting to meet and talk with folks face to face.

Saturday, February 16, 2008


I’m going to FOSDEM, the Free and Open Source Software Developers’ European Meeting

I will go to FOSDEM 2008 on Saturday and join XMPP DevCon 4 on Sunday.