Gimp Developer Conference and GIMP 2.0 at the Camp

WilberThe Gimp is probably one of the best known open-source projects because it appeals much more to the end user than most other tools that concentrate much more on programming, administration and networking. And since its inception it has already done a lot for user interface development on UNIX. Today, graphical user interface environments like GNOME and KDE show promise that the open source scene will be able to catch up with popular desktops.

While the Gimp hasn‘t received significant updates for quite some time now and is lagging behind it‘s commercial contenders work on it hasn‘t stopped. Since the last release (1.2) the Gimp developers have enhanced and rewritten the code base significantly and the current development version is slowly but surely approaching release quality. And rumour has it, that the next release of the Gimp will not be version 1.4 but is going to have the name tag 2.0 attached to it. Yes, that‘s true: Gimp 2.0 is around the corner. You may start counting.

Even more delightful to know that this release is to be expected at the next Gimp Developer Conference which is about to happen at the upcoming Chaos Communication Camp. The Gimp People are going to set up their own tent and while releasing Gimp 2 will lay out their plans for version 3.

Construction WilberThis is going to be the second Gimp Developer Conference in Berlin. The first took place three years ago at the premises of Chaos Computer Club Berlin. This is no surprise as the two current project maintainers are both members of CCCB and Project Blinkenlights as well (now you know where I got my rumours from :-).

I am really looking forward to the new release as the new Gimp is already running on Mac OS X (using the X11 port) and the new version will make using it much easier. My biggest hope however is that the new modular approach of the Gimp will kick off a new breed of applications incorporating the Gimp‘s frameworks while providing alternative interfaces. Apple developers have taken the core of Konqueror and have built a shiny new browser that melts with the Aqua GUI. New and focussed graphics applications could also take the core of the new Gimp and provide significant alternatives to the established stuff and improve the utility landscape.

Finally: Camp Registration Online

Oh my god. I have no clue why I tend to delay these things that much but I guess I already have a reputation for it. However: I just released the official Chaos Communication Camp 2003 Web Site and the official Camp Registration System. All XHTML Strict and CSS, of course.

It took a bit of refinement as the registration system is not using any of the SQL servers you would expect but actually an LDAP server. It is the foundation of our universal login system at the Camp that is planned to integrate a couple of useful services (including a weblog for every participant).

I am sure both the web site and the registration system need a bit more refinement. However, if you plan to come to the camp: please register and please pay in advance to help us to pay all the heavy stuff we are about to set up.

And please, fellow bloggers, spread the word!

SPAM: The One And Only

Spam CansMonty Python‘s famous spam sketch is already 33 years old and has been the eponym for one of the biggest annoyances of our time: unsolicited commercial email or UCE. However, UCE never really made it into the minds of people so spam is the term that everybody uses.

Well, this doesn‘t make the originally referenced product go away. SPAM (spiced pork and meat) is a tinned box by Hormel Foos Corporation. Having one of its product being associated with a undoubtably nasty thing can be pretty annoying. But Hormel stays cool.

On a dedicated page called Spam & The Internet, Hormel states that these things just happen and that they would consider the world being sufficiently polite if they would just write the slang word spam in lower case and continue to reference the actual product in upper case (SPAM).

I hereby swear that I will obey the rule in deep adoration of the original stuff.

Crashing software, The C Problem and A New Hope

What do you dislike most about your computer? Let me guess. It is crashing software, right? You read: „The program has unexpectly quit“ or: „A bus error occured“ or: „segmentation fault“. And then your program lies buried in the mud leaving no trace of your activity (bad case), your data (worse case) or your system (worst case).

But people stopped to wonder about it. They take it for granted. Programs do crash sometimes. It is a law of nature. But why does it happen and does it really have to be that way? The answer is simple: no. There is no need for software to crash at all. But there is an equally simple reason it does still crash. It is called C.

When the C programming language was conceived by Brian Kernighan and Dennis Ritchie, it was a revolution. It was created to be a replacement for the awkward and processor-specific assembler instructions and prepared the ground for the highly portable family of UNIX systems we all now use (except for the minority of Windows users of course :-). C was adopted by many programmers and today there is (almost) no system that does not contain at least some code written in C. The language was considered to be a high-level programming language by many and therefore was broadly endorsed as a new approach to write system and application level code.

The problem with C: it isn‘t a high-level programming language. It is more a readable, processor-independent machine code. C does not provide any kind of abstraction in terms of objects, encapsulation, polymorphism and is neither dynamic nor is it functional. Well, you don‘t have to understand all these buzzwords as there is a simple feature C doesn‘t deliver as well: memory management.

A C program has to do almost everything itself: asking the system for memory, organizing and accessing it on the lowest possible level. Access to memory is done with pointers, telling the processor directly where to look for the information.

Well, this is not a problem as long as the address the pointer points to is correct. But if the program gets confused and the address is modified by some means or other and the processor tries to access the that malformed address, shit happens. Much has been tried to prevent C programs from crashing, but as you can experience on a daily basis, they have all failed. An there is no cure. And yes, this holds true for C++ and Objective C as well.

So while C is beyond remedy, there is hope for application development. One is called Dylan. Dylan stands for Dynamic Language and is fully buzzword compliant programming language. Originally invented by Apple, this language is about to come of age.

Two implementations of Dylan exist so far. One is mature, but only available for Windows: it is called Functional Developer, it is reported to be very stable and mature, implements all the language specs and is rumored to be open-sourced somehow in the future.

The second implementation is known by Gwydion Dylan. This is a Dylan-to-C compiler (making use of C as a „low-level“ language to interface the processors) and is free software under GPL. The GD hackers are fighting hard to advance the project but there is still some way to go.

You might want to read: the Dylan Language WikiWikiWeb, the Dylan Reference Manual, the Dylan Programming book (good introduction, comparing Dylan to C++ and Java) or just a short overview of Dylan Features And Benefits.

More echo on Echo

Brent Simmons – author of NetNewsWirecomments on Echo. And Gary Lawrence Murphy does as well. They express reticent doubts. I agree.

I still don‘t feel an urge to call for a new format for syndication. After having studied RSS 1.0 everything in it made sense to me and I don‘t see a single issue that is „addressed“ by the Echo project that couldn‘t be done with new namespaces and accompanying documents tying it all together under the roof of RSS 1.0 or RDF.

And I really don‘t get why people are still putting up „XML“ buttons on their blogs. This is not about XML, it is about RSS and/or RDF. Advertising „content syndication“ as XML is like calling iCalendar files as „ASCII“. It‘s the semantics, stupid.

Maybe Echo might serve the specific needs of a new blogging tool industry as a common storage or transport format but there is no need for a new non-RDF language that does not contribute to the Semantic Web.

Chaosradio documentation video

Another german tidbit: there is now a short documentation video (MPEG-1, 70 MB) available describing the activities of Chaosradio, the radio project of Chaos Computer Club Berlin. It provides some interviews with some people involved (including myself).

Chaosradio has been a quite successful project so far. We managed to produce a single show almost every month since 1995. It is a three-hour talk radio show airing through Fritz, the best known radio station for young people in the Berlin/Brandenburg area.

A really entertaining introduction to the Semantic Web



At Reboot – the „annual meetingplace for the digital community in denmark“ – Ben Hammersley did a entertaining to talk on the Semantic Web. Best of all, there is a video recording of the talk and Ben has put up the slides as well giving you the chance to retroactively experience his 30 minutes talk. The are more videos available that might be worth checking out but I haven‘t seen them all yet.

Interestingly, he mentions Mac OS X „produces enormous amounts of RDF data in the background“. I have no clue what could be meant by that but I would be more than happy if somebody could shed some light on this.

Echoes on the web

Hmm. I am comparably new to the weblogging phenomenon although I have been busy doing webloggish things for many years now. The discovery of the basics of the Semantic Web, the power of of syndication formats and personal publishing combined and the ever-growing trend toward intelligent clients using web services via http using well-defined protocols made sense to me.

Development of RSS has been bumpy: after Netscape has started with version 0.9 (already based on the idea of RDF) but later stopped to pursue their plans. RSS 0.91 is a rewrite of the format but no longer based on RDF. It is pretty rudimental and well-supported. Dave Winer lead the development of more incremental versions (0.92, 0.93).

Then the fighting began. Some bright heads took up on the original idea of designing news channel around RDF and developed RSS 1.0. I considered (and still consider) this being a very smart move. Dave Winer got angry and put out RSS 2.0 which was based on the 0.9x stuff and had nothing to do with the 1.0 idea of re-integrating RSS in RDF.

So here we are now: it is a mess. To confront the mess, the RSS people are somehow gathering around a new effort to create something new called „Echo“. It should clear up the clouds, make everybody happy and create a garden of happy bloggers where food flies through the air.

Well, I don‘t buy it. Echo is more a successor to RSS 2.0 than RSS 1.0 and therefore it is not based on RDF. I still think, RDF is the right path to follow as it makes integration with all the other RDF stuff so easy. There is a post by Dan Brickley on the www-rdf-interest mailing list that I do agree with.

Ben of Six Apart (who is producing Movable Type) is talking about his motives to support Echo. Maybe I am a bit naive, but I don‘t see big problems here. Let‘s recapture what his points are:

  1. The RSS spec does not say how to encode content. Well, using RDF this is just a matter of de-facto standardization. I think any kind of public agreement on RSS in RDF could do that. Then take XHTML and you are done.
  2. XML-RPC is severely lacking in internationalization (I18N) support . Yes, it doesn‘t. But what does this have to do with RSS? Take SOAP and the problem is solved.
  3. Content is represented differently in an API than it is in a syndicated feed . Could be solved by moving to SOAP as well.
  4. Confusion over elements. Well, of couse. There is a lot of confusion. But clarifying meaning does not necessarily mean to have to design a completely new format. RSS/RDF 1.1 could be enough in my eyes to clarify and probably add new elements to represent new and old meaning.
  5. No universally-supported and -defined extensions. Again, this could be the topic of and additional document focussing on the meaning or call it RSS 1.1.

However, there seems to be strong support for the Echo Project and I am curious how the Wiki-based development process will turn out in the end.

Die Bayrische Hackerpost

Die Bayrische HackerpostAfter a long time, an archive of scanned copies of the german magazine „Die Bayrische Hackerpost“ („Bavarian Hacker Post“) has been posted to the web. You find it here.

Die Bayrische Hackerpost (BHP) was a one of the first hacker publications in Germany. Beginning in 1984 – the same year the Chaos Computer Club launched its magazine „Die Datenschleuder„) – a bunch of Bavarian hackers published reports on technology, the hacking scene and hacker culture. The BHP was considered to be part of the German hacker family as everybody new each other as the whole scene wasn‘t that big anyway.

The tagline of BHP read „Das Informationsblatt für den lebensbejahenden DFÜ-Benutzer“ which means something like „the information gazette for users of remote data transmission with a positive approach to life“. Sounds a bit awkward, but the term DFÜ was actually very popular back then and described all kinds of hacking activity related to BBS and the Arpanet. Funny enough, Microsoft is still using this antiquated term in their german localization for Windows.

GeoURL makes the web a bit more semantic

ICBM addresses in EuropeMaking the web a bit more semantic, the GeoURL ICBM Address Server is a fine concept for mapping web sites to – you guess it – locations. So you can attach your home page to the place where you live or whichever place you think might be most relevant. In order to add your server to the database, you have to add some meta elements (vernac. „tags“) to your HTML.

There are two styles to choose from. First there is GeoURL‘s own ICBM meta tag or you could use the geo.position element of the GeoTags family of meta keywords alternatively. The latter is a bit more descriptive as it allows for additional field. It is equally supported by GeoURL, but the ICBM entry is sort of cool as it dates back to the good old days of Usenet.

it‘s a bit tricky to get you own location if you don‘t have a GPS receiver. There is list of helpful resources at GeoURL to find your location. While there are a lot of web sites covering North America, there is much less to find supporting Europe. I found WehereOnEarth to be sufficient for my needs.

So in the end I enriched this weblog with spatial information by adding the following fields to the HTML header:

<meta name="icbm" content="52.52207, 13.38274">
<meta name="geo.position" content="52.52207;13.38274">
<meta name="geo.placename" content="Berlin, Berlin, Germany, Europe">
<meta name="geo.region" content="DE-BE">

Once you have done that, you can „ping“ your site to GeoURL. The GeoURL server reads the latitude/longitude information from either element and stores it in its database. You can then look up other sites that have specified locations in your area. Here is my neighbourhood. Seems as if I got the most central blog site in Berlin.

Even cooler, this list can be returned in RSS (and other useful formats) so you can track changes to the list of your „neighbour sites“ using your RSS reader.