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_?
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.
Fowler's blogging
One of my favourite writers (from the perspective of style) "is also blogging now":http://martinfowler.com/bliki/.
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.
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> <a href="{@xmlUrl}"><img src="images/tinyxml.jpg" border="0"/></a><br/><xsl:text>
</xsl:text>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
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.
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. :-)
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.
Fourth law of Noels
Every application will evolve until it has its own built-in weblog client.
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.
Cutie pie
What is hurting open source
How BSD hurts Opensource.
Yeah... right. Freedom should be a right, not a duty, chap.
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.
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. ;-)
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.
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.