Outer Web Thought Log
May 28, 2003
The BeJug/JBoss saga: weblinks collection
* Werner: "Sun reaffirms : 'No JBoss at JavaPolis'":http://www.shiftat.com/blog/page/werner/20030527#sun_reaffirms_no_jboss_at * Andy: "Sun sinks to all new lows and manhandles a JUG":http://linuxintegrators.com/hl30/blog/technology?permalink=Sun+sinks+to+all+new+lows+and+manhandles+a+JUG.html * Bertrand: "Missing the boat?":http://codeconsult.ch/bertrand/archives/000057.html * Discussion on "Jakarta mailing list":http://article.gmane.org/gmane.comp.jakarta.general/4514 * "Sun's War against Open Source and JBoss":http://www.javalobby.org/thread.jsp?forum=61&thread=7849 * ... _your link here_?
May 27, 2003
SunBE is anti-matter to clue
While I had the pleasure to see some previews during the day, Werner now went public with the @#|§^! JBoss/BeJug/Sun story. It is truly a sad thing, and I hereby nominate said Rudy as Sun marketingdroid of 2003. Way to go! Next year or so, you'll be probably off working with some other company, jobhopping for a slightly higher pay, and I assume you'll be sheepily following that new company's policy then, too.
Serious: it's about time this non-Navajo-operated, non-commercially-influenced Belgian JUG starts happening. And it's sad to see Stephan's child loosing its spirit, while VNU's DataNews has articles like 'Belgian JUG is now a professional organization'. Ha.
May 26, 2003
Fowler's blogging
One of my favourite writers (from the perspective of style) "is also blogging now":http://martinfowler.com/bliki/.
May 24, 2003
Fooling SpamAssassin
After installing SpamAssassin a long time ago, I was very happy to not see any indecent proposal being dropped in my mailbox anymore. Since a couple of weeks however, some spam mails happened to survive the SpamAssassin tagging and filtering, and I started wondering why. I had been upgrading SA to a newer release some weeks ago, which apparently did not help very much. So I started a little investigation myself.

To start with, here's a screenshot of one of these mails in my MUA (Mozilla 1.3). Warning: some explicit wording ahead.
spam.png
To have this screenshot make sense, I must say I turned off image viewing in Mozilla Mail&News, also to fight spam. I guess you all know these images in HTML emails are often based on one-time, message-specific URLs, which means they form a great email address validity mechanism. The moment you preview such a message in your 3-pane Outlook Express setup, the image shows, and you've silently confirmed your existence for the spammers out there. Most likely, your address will now be distributed on a slightly more expensive CD-ROM, since it can be considered a validated or confirmed one.

Anyway, being the father of three kids already, I'm not particularly worried about my endowment, so I prefer not receiving such mails altogether. So why is SA failing on me? Let's look into the source of the mail message (my emphasis):
From - Sat May 24 12:37:01 2003
X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
Return-Path: <j_mack@fourd.com>
Delivered-To: stevenn-stevenn at outerthought.org
Received: (qmail 7277 invoked from network); 24 May 2003 10:30:18 -0000
Received: from unknown (HELO fdata.com) (218.50.64.171)
 by cocoondev.org with SMTP; 24 May 2003 10:30:18 -0000
Message-ID: <CFOKBCBJFCNLHBCDMICPHKDMBAAA.j_mack@fourd.com>
From: "Joel Mack" <j_mack@fourd.com>
To: stevenn at outerthought.org
Subject: Been busy lately?
Date: Sat, 24 May 2003 03:29:01 +0000
MIME-Version: 1.0
Content-Type: text/html;
 charset="iso-8859-1"
Content-Transfer-Encoding: base64
X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2800.1106
X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0)
X-Spam-Status: No, hits=-0.8 required=5.0
 tests=BASE64_ENC_TEXT,DATE_IN_PAST_06_12,HTML_60_70,
 HTML_IMAGE_ONLY_02,HTML_MESSAGE,HTTP_EXCESSIVE_ESCAPES,
 MIME_HTML_ONLY,MSGID_GOOD_EXCHANGE
 version=2.53
X-Spam-Level: 
X-Spam-Checker-Version: SpamAssassin 2.53 (1.174.2.15-2003-03-30-exp)

DQogIA0KCQkJPEhUTUw+PEJPRFkgYmdjb2xvcj0iI2ZmZmZmZiI+DQo8cCBh
bGlnbj0iY2VudGVyIj48Zm9udCBmYWNlPSJ2ZXJkYW5hIj4NCmdldCA8WD5s
YTxRRD5yZzxYPmU8Q0JXPnIgbnV0cyBhbmQgcDxDTkk+ZW48WUs+7XM8Q1JQ
Uj4sIA0KICANCiA8UVU+bW9yZQ0KIDxaU0dLPnBsPFlCPmU8V01FRD5hPFhB
Sj5zdTxDRlFaPnI8S1FGUz5lLCAJIG1vPEs+cjxDPmUNCiBzYTxDPnRpc2Zh
YzxXRz50PEtPQT5pb248YnI+DQo8YSBocmVmPSJodHRwOi8vd3dXLk15V0VC
c1BlY0lBTHouQ09NL3BlJTZCL20yJTYzLnBoJTcwPyU2ZCU2MW49c3Q0diU3
MCI+UmVhZCBhYm91dCBpdCBoPFk+ZTxaQUVRPnI8UUU+ZTwvYT48YnI+DQo8
YnI+CTxhIGhyZWY9Imh0dHA6Ly93d3cubXl3ZUJTUGVDaUFMei5Db20vJTcw
ZWsvbSUzMiU2My4lNzAlNjglNzA/JTZEYSU2ZT1zdCUzNHZwIj4JDQogDQog
PGltZyBib3JkZXI9MCBzcmM9Imh0dHA6Ly93V1cuQ0hlYVBvTm5lVC5ORXQv
JTcwLmpwZyI+CQ0KICAgIA0KPC9BPjxicj48YnI+PGJyPg0KPHByZT4NCi0t
LS1PcmlnaW5hbCBNZXNzYWdlLS0tLQ0Kc3RldmVubkBvdXRlcnRob3VnaHQu
b3JnIHdyb3RlOg0KPiBUaGF0cyB3aGF0IGkgaGVhcmQNCjxDR0xLPg0KPC9w
cmU+DQo8YSBocmVmPSJodHRwOi8vd1dXLm15V2VCU1BFQ0lBbHouQ29tLyU3
MiU2NSU2ZCU2ZiU3NiU2NS8iPk5vIG1vcjxLT1A+ZSBwbGVhc2U8L2E+DQo8
YnI+LT0zZmtnMWsyd3QzZzl0cz0tPC9mb250PjwvcD4JCQ0KIA0KIDwvQk9E
WT4gICANCgk8L0hUTUw+DQoJDQoNCg==

Hm... looking at the tests triggering SA spam rating system, none of them where considered serious enough to warrant a decent score. So I initially thought SA didn't bother parsing the message text for known spam text patterns after it discovered it was a base64-encoded one. Getting curious, I manually decoded the encoded part and found the following:

  
      <HTML><BODY bgcolor="#ffffff">
<p align="center"><font face="verdana">
get <X>la<QD>rg<X>e<CBW>r nuts and p<CNI>en<YK>?CRPR>, 
  
 <QU>more
 <ZSGK>pl<YB>e<WMED>a<XAJ>su<CFQZ>r<KQFS>e,    mo<K>r<C>e
 sa<C>tisfac<WG>t<KOA>ion<br>
<a href="http://wwW.MyWEBsPecIALz.COM/pe%6B/m2%63.ph%70?%6d%61n=st4v%70">Read about it h<Y>e<ZAEQ>r<QE>e</a><br>
<br>  <a href="http://www.myweBSPeCiALz.Com/%70ek/m%32%63.%70%68%70?%6Da%6e=st%34vp"> 
 
 <img border=0 src="http://wWW.CHeaPoNneT.NEt/%70.jpg"> 
    
</A><br><br><br>
<pre>
----Original Message----
stevenn@outerthought.org wrote:
> Thats what i heard
<CGLK>
</pre>
<a href="http://wWW.myWeBSPECIAlz.Com/%72%65%6d%6f%76%65/">No mor<KOP>e please</a>
<br>-=3fkg1k2wt3g9ts=-</font></p>   
 
 </BODY>   
  </HTML>
  
So apparently, SA does effectively decodes and checks encoded mails, since I see plenty of excessively quoted URLs and one big image link, which triggered the appropriate rules in SA. So I digged a bit deeper, and found a couple of nonsense HTML-like tags, carefully distributed across the offending text, to fool SA's filters. Ah. That must be it. While my MUA doesn't care and hides unknown tags, SA cannot detect 'nasty' words when they are decorated with nonsensical markup. Guh. Clever trick.

I go looking in the SA mail archives, and I stumble onto these conversations, so it looks like I should upgrade my SA version (again). Sigh. Some lessons however: (1) had SA not been an OSS project, I would never have been able to quickly discover the issue at hand, since the discussion on the product would be on lists inaccessible to users. (2) Spam detection is a work of art, and the spammers are really reading up on this stuff. I'm pretty sure this particular message was coded in such a way that the spammer could predict its SA score. (3) SA is rock-solid and absolutely inobstrusive. This also means you tend to forget it is there, and consequentially forget to upgrade.

Overall, it was an interesting exercise in spamfilter avoidance techniques, and it looks like we won't likely win this war any time soon.
Let's see how many lines Tom needs
Tom thinks he needs Java for a proper blogroll. Most aggregators offer you to im-/export an OPML dump of your subscriptions. This XSLT stylesheet makes it into a XHTML fragment which I paste into my MT template:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output encoding="ISO-8859-1" method="xml"/>

  <xsl:template match="opml">
    <xsl:for-each select="body/outline">
      <xsl:sort select="@title"/>
      <xsl:choose>
        <xsl:when test="normalize-space(@htmlUrl)">
          <a href="{normalize-space(@htmlUrl)}">
            <xsl:if test="normalize-space(@description)">
              lt;xsl:attribute name="title">
                <xsl:value-of select="normalize-space(@description)"/>
              </xsl:attribute>
            </xsl:if>
            <xsl:value-of select="normalize-space(@title)"/>
          </a>
        </xsl:when>
        <xsl:otherwise>
          <xsl:value-of select="normalize-space(@title)"/>
        </xsl:otherwise>
      </xsl:choose>&#160;<a href="{@xmlUrl}"><img src="images/tinyxml.jpg" border="0"/></a><br/><xsl:text>&#xA;</xsl:text>
    </xsl:for-each>
  </xsl:template>
</xsl:stylesheet>
May 23, 2003
Back from NLUUG
For people who had expected regular reports from the NLUUG Spring conference, I'm sorry for disappointing you. Most of my time at NLUUG was spent fetching jugs of water to drink my Dafalgan with, since I had been developing a sour throat before I left and suddenly my body decided that, after many years (my wife just said she has never known me ill before today, so that must be something like 13+ years), a sour throat can develop into a decent fever, a current inability to digest non-liquid food, and the feeling I drank way too many beers yesterday - which was not the case.
Anyhow: I managed to give my Cocoon presentation, and it was really fun. The presentation before me was about web architecture design consideration, and was basically making fun of every web framework out there, since the presenter was very sure you can generate 90% of all websites statically, using templating, shell or Perl scripting, and using the filesystem as a database. Besides, it was a good speaker, with plenty of interaction and laughs. I was a bit worried to present Cocoon after his ban on XML and XSLT, but at the same time his obsession with serving static files (which is justified of course), gave me the possibility to start my talk with "I know you've all learned now that you should generate websites using wget, bash and perl, but I can tell you, if you want to build a website full of dynamism without writing unmaintainable code, go for Cocoon since it has 'wget' built-in". Of course, presenting for a Dutch audience means I can make some standard jokes about our Flemish dialect of Dutch (it's basically the same, except that we don't pronounce any vowels), and so the presentation went off pretty well. I even recognized Guido in my audience, so I spent some more time on the flow slides. And I went to talk with him after my presentation, about Python and continuations for implementing flow in Cocoon using Jython, and apparently the Jython implementation of Python's new yield statement might be something to look at.
In the evening, there was a dinner for all speakers, and I was lucky to sit at a nice table: one Dutch MySQL-guy with his Aussie wife, and a Dutch PHP QA team member, which also serves as the editor for PHP Magazine. Lots of entertaining conversations about Aussies, English for non-natives, LGPL and the 'PHP' situation with Apache. Very agreeable, even though at the end of the evening my mind started disconnecting due to a lack of Dafalgan. Quite unfamiliar for Dutch restaurants, the food was really, really good.
May 22, 2003
NLUUG does wireless
Coolio! I just arrived at the Reehorst for the NLUUG conference, and behind a long table with terminals to check mail, I saw a familiar looking WiFi antenna. Booted up laptop and here I am. :-)
May 20, 2003
Wondering
Tim (Bray) "jots down some notes":http://www.tbray.org/ongoing/When/200x/2003/05/20/Thomson on his recent visit to Thomson, who apparently inquired him about _Apache publishing frameworks_. One wonders.... "Cocoon":http://cocoon.apache.org/?
Enthusiastic nod
From "Sam":http://www.intertwingly.net/blog/1421.html to "Sean":http://seanmcgrath.blogspot.com/#200317068 to "Simon":http://www.oreillynet.com/pub/wlg/3191 to "Tim":http://www.oreillynet.com/pub/wlg/3190.
Sun and Open Source
Werner, I feel "your pain":http://www.shiftat.com/blog/page/werner/20030520#sun_s_double_vision_on. It's not about Sun's double vision: it's about no vision at all. Yesterday, Bruno was happily preparing some new additions for Cocoon, while the discussion on the list was about the new Cocoon website. Both threads being hampered by Sun's stupid licenses for two utility libraries: Jimi and JavaCC. As we said before to each other, we should really start that _real_ open source and Java movement here in Belgium, since many pretend to be caring, but not that many care enough to get an actual clue.
May 19, 2003
Fourth law of Noels
Every application will evolve until it has its own built-in weblog client.
May 18, 2003
Elections in Belgium (warning: opinionated)
I'm happy, just like "Wiki":http://users.skynet.be/rikvanbruggen/archive/2003_05_18_index.html#200306955, I guess. Even though neo-liberal egoism and xenophobia "still":http://www.vlaamsblok.be/ "reign":http://www.vld.be/ in the hearts of many people, I'm seeing a come-back of a "social and progressive movement":http://www.spa-spirit.be/. "He":http://us.imdb.com/Title?0104046 would be happy to see this. Friends of ours have been working in El Salvador for the past 6 years. They lived and worked with the _campesinos_, many of them ex-revolutionaries of the civil war which started soon after Romero had been murdered, and lasted for 12 gruesome years. My friends have been witnessing the start of a community-operated social wellfare system over there, and this again was another confirmation of my firm belief that _we are all in this together, and we should better cope together as well._ I'm pretty sure some people believe pure liberalism addresses this as well, but my wife's job reminds me daily of many people who are not able to speak up for themselves.
ReST vs XML-RPC
While "we":http://outerthought.org/ are often trying to advocate ReSTy interfaces, like we did for xReporter to an extensive degree, and strongly believe one doesn't need the arty-farty descriptors of WSDL, or the gee-we-need-yet-another-type-system-worldview of SOAP, I do often worry about the market adoption of our ReSTy belief. I'm not talking about business market adoption, but about whether these ReSTy resources do find customers. JSPWiki offers an XML-RPC interface. Python has several permutations of an XML-RPC client (and server) library. I get to hack together a Wiki diff notification mail service over the weekend, being utterly clueless in general, and about programming specifically. The XML-RPC library offers sensible objects and methods I'm capable of immediatelly using in my application. Even though I know XML-RPC is utterly uncool because of its narrow-mindedness in encoding support, and the severily limited amount of (sometimes strange) types, I was pretty happy consuming JSPWiki's XML-RPC interface and build a client app for it. Also, a huge amount of weblogging client apps seem to exist, all talking that Weblogging API to Movable Type, Radio, and whatnot. Arguably, this doesn't prove anything more than _XML-RPC was there first so everybody started using it_, but maybe there was some sense in it of _it's simple and easy-going, so we could as well use that 'standard' instead of inventing our own protocol_. Enter ReST, which of course cannot be compared with XML-RPC, since it is only an _architectural style_, and not so much something actually useful for mere humans (pun intended). Offering ReST services seems easy, if you spend some serious thinking on naming your resources and making the GET vs POST deliberation. ReST's ease for deploying resources seems to support the fact that many more business connect through ReST rather than SOAP to Amazon's B2B back-end (overheard somewhere). When thinking about consuming a ReST service however, I always start to worry about the amount of extra, lowlevel XML2nativeobject code I will need to write. I worry about the fact that my client will need to be smarter, that it will need to parse responses to find the URI of the next resource to be invoked in the application flow, and that, contrary to the braindead XML-RPC world, each server will have its own client library. Even though ReST and XML-RPC compare like apples and oranges, I start to wonder when somebody will write a ReST client library.
May 15, 2003
Cutie pie
May 13, 2003
What is hurting open source
How BSD hurts Opensource. Yeah... right. Freedom should be a right, not a duty, chap.
May 12, 2003
Cocoon's on a roll
... out there, and coming to get you! Matthew has about the same amount of people in his Cocoon workshop at JAX as I had at XML Europe. By the end of the month, the Cocoon Marketing Cluetrain also visits the Netherlands. Which means we had conference presentations on Cocoon in the UK, Germany and the Netherlands, all in one month. Simon told me at XML Europe that having Cocoon not on the schedule for OSCON was largely an accident, so that should get corrected at some time. Now, how about continuing our Cocoon Cluetrain during summer and fall? Any kewl conferences who need kewl Cocoon presentations?
What we are up to.
After the rather difficult period following my 'back issue', it took us quite some time to really get up & running again. Since all this open source stuff needs to be funded some way (family needs food and shelter, you-know-the-yada-yada), we're very happy to be working on two cool largish projects again: one where we will be building a web front-end framework for a large EJB application framework (yes, the 'framework' word is there twice on purpose), which will bring us knee-deep into Cocoon-based forms (with Woody) and flow (with REST, like we did for xReporter), and one for the definition (and hopefully later-on the construction) of a CMS framework for various types of applications.
The cool thing is this really confirms the business model we had in mind more than two years ago, when Marc and I started discussing our own company. Right from the start, there was the idea not to do turn-key projects, but to provide project teams with what we know a great deal about: frameworks and best practices. That way, we teach them how to fish, rather than povide them with ready-made fishsticks.
Update: also, this regained momentum provides me with the necessary energy to get the next Cocoon GetTogether going. I booked a location already long time ago, but the timing is about right to wake up the community. October, 7th, Ghent (City). There's a good chance there will be a nominative fee to (partly) cover costs, and in the unlikely event we are breaking even, eventual profits will be reinjected into the Cocoon community project somehow.
The King of Blogging has a wacky RSS feed
As much as I enjoy Andy's increasingly-non-technological rants, the way his feed presents in Syndirella is worrisome. More often than not, it seems as if his entire list of entries is considered to be new entries for Syndirella. I haven't gone through the trouble yet of checking whether it is Blojsom or Syndirella to blame, but maybe Andy can shine his light on the problem.
May 09, 2003
Help, I'm floating!
For some absolutely unknown reason, Ken decided to "invest in my blog":http://ken.coar.org/burrow/index?entry=391. While I appreciate the gesture and it learns me some people know of my existence in blogspace, it is kind of funny to be listed on a stock market, since I generally despise this concept of virtualized money. I find it highly inappropriate that people who have no real influence on a company's fate, become co-owner of it, and also that the only people who make money out of money, are banks, stock exchange companies, brokers and some related types of businesses who, most of the times, excel in making money even when their customers go broke. But still, I feel utterly flattered, and I hope Ken's link will increase my valuation. If anyone else feels like helping along Ken, please link to me. ;-)
May 08, 2003
XML Europe conference report (long)
Sitting on the Eurostar back home, let's quickly jot down a report on what has been a great edition of XML Europe. While the conference organization and content might be subject for some modernization, I had a terrific time meeting some very interesting people. It's funny to see, even for a regular attendee of this series of conferences (it must have been my eight edition or so), what difference the black 'speaker' ribbon does make, which I partly blame on this weblog. :-)
Upon arriving at London after an uneventful journey (besides learning there exist two Edgwares in London, which cost me a fair amount of unnecessary underground tickets), and after checking in, I went to see how Marc was doing teaching a Java/XML/Open Source full-day tutorial. That evening, the conference organizers hosted a reception to thank the speakers, so off we went. We met two interesting guys over there, Jacek Ambroziak who is the author of Gregor, the (even) speedier successor of XSLTC (for which he was the original author), and Farrukh Najmi, working for Sun from his basement, and the lead guy on the reference implementation of ebxml/rr, an open source ebXML registry and repository. Even when we were all slightly intoxicated due to the amount of French (!) red wine we got to consume, Farrukh managed to widen and deepen my knowledge about the goal and scope of ebxml, which clearly is not restricted to business documents and transactions only. Farrukh was a guy with great passion on the standards and RI he was working on, and it was a joy meeting him.
Meeting Jacek was quite special. I introduced myself as one of the guys who nagged him over a year ago about recontributing his fork of XSLTC (now called Gregor) to the Xalan/XSLTC project, together with Stefano and presumably some others. Jacek also knew me from distributing an XXE setup for the conference paper XML grammar, and both Jacek, Marc and I hit off on shared neurons big time. We spent many hours together in the next two days, we managed to pick his brains on the implementation details of Gregor (and consequently also the reason why he manages to be significantly faster than any other XSLT engine out there), a process which required him to open up his brains in a very confrontational way, up to the level of showing Gregor's source code. Jacek, besides being a great guy, is one of these software engineers who happens to think genuinely out-of-the-box, and we really hit some common nerves which made his initial caution in letting us in on Gregor's implementation details quickly fade away. As I said to him upon leaving, our encounter alone was worthwhile the journey. It also learned me how influential our nagging had been upon Jacek's decision to seriously continue work on Gregor after our vein attempts to have him reintegrate his XSLTC patches with Xalan for Cocoon's purposes. Which taught me again how influential Stefano's vision and way to work with people can be - kudos to him for that. While Gregor might not be open sourced soonish, I have come to respect Jacek's decision, now that I know his out-of-the-box approach and the effects this approach would have, rippling down through the entire Java XML pipelining architectures out there. Think SAX-NG for that matter.
After a bad night of sleep (a stupid habit of myself to sleep really bad on a first night in a foreign bed), I went to see the opening keynotes of Jon Bosak and Daniel Veillard. Jon, who is the guy who brought the team which created XML together, invited us to take a look at UBL (an invitation I might pass on this since I don't necessarily believe in all-encompassing vocabularies, especially if part of them are strongly inspired by so-called existing implementations (OpenOffice) rather than the implementations tracking a clean-room standard. But then again, there's some other (JCP) standardization tracks which basically endorse a commercial product's API as the 'reference', a trend which is worrying me these days, which leaves me pretty much in doubt whether to adopt JSR 170 for our (hopefully) upcoming content management project.)
Daniel Veillard was supposed to give an overview of the usage of XML in the Open Source community, but suffice to say that he managed to really piss me off with the tunnel vision of the FSF and consequently RedHat. He skipped the entire load of Java/XML Apache projects because of lack of time (fine with me), but also because they were running on a non-free platform (Java). Yeah, you heard me right on this one. I start to think the real problem is that of RedHat not being able to ship Java with its free OS without paying Sun (which sucks). Having the end-user install a Java runtime however is a real piece of cake nowadays - so condemning Java/XML Apache projects on the fact they require a non-free prerequisite is like a harsh way of saying "we don't like Java just because we don't". Which leads me to believe that RedHat wants to have the same level of control on what is packaged with your desktop OS as that company of Redmond does. Anyway, we met and discussed and I now know for sure that is prefer Freedom as a Right rather than a Duty.
Over lunch, I sat next to Dave Pawson, who I met many years ago on what is supposed to be the only public European DSSSL course ever, and which since then has become an XSL-FO authority, being an O'Reilly book author and all. We shared thoughts on organizing grassroots conferences on emerging topics (he did for XSLT, I did for Cocoon), and about becoming an author. I might.
Then, I had to chair the Publishing track with two more print-oriented subjects being brought forward, and after that David Megginson showed up, stating he would be chairing and introducing my Cocoon presentation. Which was way cool: the original author of SAX who comes to introduce me, talking about a SAX-centric framework. The presentation went well, with some very familiar names in the audience: Jeni, Daniel, Jacek, Simon, Uche and Paul (I believe Edd dropped by, but am not too sure about that). How's that for an audience to be really nervous about? Seriously, it was a real adrenaline shot to be presenting in front of these people, and after the talk, when intermingling with each other during the exhibition-annex-reception, many of them came to congratulate me. Now that was a real ego-booster. I started off my talk with stating I was only a talking puppet presenting the labor of love of my 30'ish fellow Cocoon committers, and it really felt that way: being supported by the shoulders of a friendly giant.
During that reception, Cliff Schmidt from BEA (the standards and community guy over there, only recently however after leaving MS where he was doing the same thing) came to talk with me about how they should 'cope' with open source, how they should move toward releasing stuff and building up a community, and how Apache is working along with Sun and IBM in this respect. He was genuinely engaged in the matter and wanted to start a real effort in convincing BEA's management and lawyers to get involved in all this, and I honestly wish him lots of success. It would be cool and confronting (for Sun at least) if another Java heavyweight gets a clue about open source and starts contributing. I also referred him to Brian's Collab.net for infrastructure in that matter. Who knows...?
I also met more extensively with Simon St. Laurent, who turned out to be looking much younger that I thought, and again it was another pleasant conversation on OSCONs, ETCONs, O'Reilly in general and some other interesting things. That black ribbon was now really making a difference, although all the people I met were generally cool and down to earth, and made no big fuzz about them being the voices of our current "metainfoglutified web of conscious thought trains".
After the reception, Marc and I rushed toward the Slug and Lettuce to find out how many people actually showed up for the informally organized Cocoon GetTogether, and after some issues we managed to meet Jeremy Quinn and Richard (In Public), and also Chris and Phil. Pier and Andrew unfortunately didn't show up. After Richard searching in vein for some agenda, much Japanese noodles were enjoyed and non-Cocoon related talks started. Once again, it was no big deal if you weren't there - except for the really big deal of meeting fellow Cocoonies and, because of that genuine community spirit we all feel to be present, being able to skip the formalities and get down to earth very fast, touching base as if we already knew each other for a long time. It's great to see this happen time and time again. I've experienced this several times already, with many Cocoonies, and it's really stimulating, refreshing and thought-provoking. Energy for food for thought. I'm proud to be part of this group.
On Wednesday, I slept a bit longer and got to meet 'someone' who wants to organize an XML and Open Source conference somewhere next year, and wanted to talk with me about XML user groups in general. Again, what had been 'scheduled' to be a quick half-an-hour meeting kept us busy for almost the entire morning, to mutual intellectual and social enjoyment. Time was running out, so I quickly popped by a session about RDF, FOAF and RSS for images on the web by a BBC guy, sat together with Dave again during lunch, and also went to meet and greet the boys from Hippo and X-Hive quite extensively.
Leaving XML Europe left me with a brain full of interconnections, with some really cool contacts and plenty of energy to do useful things with all this in the next few months. I skipped most of the sessions in favor of sitting down with people and I cannot say I regret this. And it was great to hear the same remark from Jacek upon leaving. Unfortunately, we were not able to hear his talk on Gregor since we were on the train already, but he promised to send slides, and I reckon we picked his brains enough to dream up the words he will be accompanying the slides with ourselves.
May 01, 2003
Blogs and librarians
This is one of these lovely days of the year, it's a national holiday in Belgium, and upon yearly habit I raised very early this morning to have a full day of uninterupted infoglut consumption, fixing long outstanding non-critical things and basically thinking I'm getting my life organized. No phone, no significant business email, just _me_ and my computer. 13 tabs open in Mozilla, radio on, RSS feedsurfing and a full day dedicated to discoveries. Very similar to "Matthew's day":http://radio.weblogs.com/0103021/2003/05/01.html#a1007, so it seems. ;-) Then comes "a post of Sam":http://www.intertwingly.net/blog/1371.html which makes me wonder. Is it right to say that great minds excel in expressing simple facts as thought-provoking food for pondering? I find a nice disruption in "the article he refers to":http://www.wirelessnewsfactor.com/perl/story/21389.html, between its title and its content. The article (go read it, it ain't that bad) is about the lack of solid, interchangeable infrastructure and interchangeability in the world of blogging, hence its failure to succeed in a business context. What the author fails to see is the human factor of all this. I remember reading a book about knowledge management, that categorized people into information producers, consumers and _librarians_. I definitely fall in the last category: there's much more that I'm able to locate, than I'm able to grasp or create myself. Yet, I do have some strange capability to pinpoint _authorative_ information sources and forward these pointers to people who have the brains to consume and make use of it. And this is only one human aspect in the blogging phenomenon. My pet peeve in blogging is that it provides anyone who cares with a voice and the power to use it. The author of that article is correct in stating that this won't help with the amount of uncategorized information being spawned onto the information super highway (heh), but I'm not sure whether any IT solution will bring structure into this chaos. The great thing about blogging and crossblogging is that it very much reflects the way we think: in associations or hyperlinks. While the quality of associations might differ from individual to individual, I'm pretty sure all AI specialists would go crazy when finally being presented with an authorative and realistic computational model of this associative capability. We call this affectionally _shared neurons_, and it explains (to me, at least) how intangible associations in thoughtspace might be. A certain association that is important to somebody, won't necesseraly be of any importance to others. No automated means will ever attach a truthful value to a large collection of associations without the risk of fraud. Enter the _librarians_. Better than others, they are capable of sifting through the glut, transscribing associations of global importance. Funny enough, while this has been done using extensive thesauri in the past, we now see the importance of temporary, instant associations emerging: a simple hyperlink in a rolling weblog. While the authors of that post might still know about the temporary synapse, many won't remember the connection since it has been transscribed on a fading transport medium. Which brings the _circle of knowledge_ back to my mind, where "Marc":http://radio.weblogs.com/0116284/ and "Tom":http://blogs.cocoondev.org/tomk/archives/000745.html were trying to fit a conceptual form onto this ongoing enumeration of thought links. While I admire their efforts in defining a scientifical model, I doubt whether better infrastructure, better feed aggregation, better autodiscovery, better autoclassification and better whatnot will help us in codifying the neural network laid out into the brain of librarians. And since most of this will not likely be achieved anytime soon (because of many business-related reasons such as cost, competition and possible benefits), I'm pretty sure the librarian will still be there for some time to come. Related: any automated system which attaches a possible value to a synapse is subject to abuse. Hence email spam, hence optimizing your website for search engine result ranking, hence weblogs.com update ping spamming, ...
Blogroll (back) online
For those of you who _'feedread'_ me, I've put my blogroll online lately. So if you want to know whether I read you or not, go "have a look":http://blogs.cocoondev.org/. I exported an OPML list out of Syndirella (yep, I'm sticking to it for a while to come), and made a quick one-template OPML2HTML stylesheet. If you venture into such a thing yourself, be aware of the fact some people put all kinds of normalize-space'able cruft into their feed description. Others don't supply anything. For the sake of consistency and to easily differentiate between "Feelings and Thoughts", "Random Thoughts", "Outer Web Thoughts" and other silly blog names, I took the habit of replacing the <title> element with the author's name (when applicable). Sorry for those who put a lot of _thought_ (ha!) in your blog title.
WebWork2
Mike is "all hype":http://blogs.atlassian.com/rebelutionary/archives/000085.html about upcoming "WebWork2":http://www.opensymphony.com:8668/space/WebWork2. I'm comparing "this":http://www.opensymphony.com:8668/space/Xwork+Validation+Framework with "this":http://wiki.cocoondev.org/Wiki.jsp?page=WoodySample.
No Cocoon at OSCON
I've just browsed OSCON's Schedule-at-a-glance and was disappointed to see no mentioning of Apache Cocoon. While I send in a proposal, ...
We were very pleased with the uniformly high quality
of the submissions we received. Thank you for your
interest in sharing your work with the technical community.
While your proposal was considered closely, we are not
able to include it in the program this year.
 
In most cases proposals are declined because the topic
of the talk or tutorial was already covered in another
presentation, or the subject matter was too narrow or
vendor specific, or was in a technology we were not
highlighting this year.
So apparently Cocoon didn't fit into the highlights this year.
We encourage you to submit a proposal for next year's
conference, and we thank you again for taking the time
to submit your proposal.
You bet! :-)
Freeloading: forking open source
Yesterday, my dear friend and colleague met someone who, granted, runs what appears to be a serious local Java business. Since the number of in-depth techy Java consultancy companies is relatively limited in our corner of the world, it is always nice to hear Java is being used successfully in other companies, and of course there's the obvious talk about open source projects being used. The use of open source projects in a Java development environment seems to have become an established practice, as opposed to the Redmond-supported situation. This is nice. Many, if not all Java developers I know habitually run Ant instead of their IDEs proprietary build system, or choose an IDE which supports Ant, as many do currently. For them, Ant has become infrastructure commodity, just like Apache as a web server, and Tomcat as a servlet container. As much as JBoss would like to see this changed, EJB infrastructure stills is subject to some deliberation, hence JBoss is being used increasingly, but cannot be called commodity, yet. In terms of application infrastructure, it is hard to deny the success of Struts. While the prospect of MVC for the web can hardly be called anything else than marketing blabla, Struts does a good job at what it promises. It's a nice contained framework, with a number of utility classes and frameworks around it, and is used by a lot of Java web developers. So even if "we":http://cocoon.apache.org/ like to see this different, Struts is top of mind for webapp development ATM, and consequentially is also becoming a commodity. Funny enough, it seems that "we":http://outerthought.org/ still are about the only company around "here":http://www.belgium.be/ who have grasped the clue of these so-called commodity open source infrastructure tools: that it serves our customers better to work *inside* the communities developing such tools, rather than branching, forking and doing our own thing. In the end, there's the obvious limit of headcount and brain mass. We are a small company (and have no ambition to change that anytime soon), so in order to keep our brains fit and to keep an eye on the world outside, it serves us and our customers well to keep in touch with open source projects and communities. Other similar companies apparently think different: they use the code being produced by these communities as a way to increase profit margins, maybe by stating they wrote this themselves, or by shortening lead times. Of course, there's nothing wrong with that. But when doing so, they (if they are smart) might encounter bugs or performance issues in the codebases they are using, and might fix them. Now, while they use the open source _brand_ to gain trust with their customers (this is good since it is based on Struts and _BTW, we use all kinds of open source so it will cost you less_), they fail to _give back_. Of course, this _giving back_ theme sure sounds good on the first of May, but we regularly encounter awkward looks if we insist on this in a (business) decision. People fail to realize that this might be the ultimate customer focus: where could the code be better guarded than in a totally open and transparent environment, where codebases might survive for much longer than the people or companies who created them? So while it might seem cool to go for the proprietary performance branch of company _xyz_, think twice: you might be dependent on that code for longer than the duration of the business relationship between you and _xyz_. So especially when working with smaller companies, whose future might be less certain than that of "Big Blue":http://www.ibm.com/ or "Fiercily Red":http://www.oracle.com/, consider to negotiate some *real* escrow arrangement. If they happen to fork, make them give back, so that you, the customer, increase your supplier-independency. *Update*: Werner "reacted":http://www.shiftat.com/blog/page/werner/20030501#re_freeloading and I posted a "comment":http://www.shiftat.com/blog/comments/werner?anchor=re_freeloading. No Werner, it's not at all about you.