Curiouser and curiouser!

 30 April 2004

2:44:35 PM     : The dossier of private information is the badge of the totalitarian state

ID cards to use 'key database' of personal info. Blunkett blanket trawl By John Lettice . [The Register]

This whole "biometic-ID cards will save our asses" stuff thing is a lot of old hooey.

Organized criminals will, as they always have, use their financial muscle and, where necessary, blackmail, to get valid ID's or insert phoney data into the system. If anything happens to go wrong with your data you, the ordinary blighted citizen, will be screwed since the government will argue that nothing can go wrong.

In this age of decentralization the governments big idea is to put all the data into one big centralized database? I think it's amazing, amazingly stupid that is.

And let's just consider for a second how responsible we think they'll be with this new toy:
"Of course the state should have, on occasions, the right to information about individuals," he says. "But what safety measures have been put in place? This is not paranoia about being found out. It's a reasonable concern in a democratic society. This government has proved as bad as any other in terms of protecting rights of privacy." [The Guardian]
and:
As long ago as 1990, Sir Nicholas, then a senior high court judge, now a law lord, warned: "If the information obtained by the police, the Inland Revenue, the social security services, the health service and other agencies were to be gathered together in one file, the freedom of the individual would be gravely at risk. The dossier of private information is the badge of the totalitarian state." [The Guardian]
Giving the government more powers doesn't work. Haven't we learned that yet? They keep telling us how with a little more power they can fix the problem... they've been telling me that for the last 32 years. Has it worked? I think it's time for a change and it starts with saying no to Blunketts latest stupidity.

12:04:40 PM     : Software customisation the BeanShell way

Radical software customization. The always-interesting Sean McGrath has a great column this week about software customization. He says, in part:
In order to stay sane, most programmers concentrate on the part of the problem they are working on today. As a consequence, their view of what pieces of the functions under development need to be parameterized and which do not, tends to be a quite low level. Indeed, most of the items programmers will chose to parameterize will amount to double dutch to the business analysts. [Sean Mcgrath: The mysteries of flexible software]

In the companion blog entry Sean gives the example of a Jython script that he used, instead of an XML configuration file, to parameterize a piece of software. It illustrates, by example, one of the points I tried to make in my recent IT Conversations interview with Doug Kaye. Dynamic languages are a great way to record data when a solution is fluid and requirements are evolving. And, come to think of it, when aren't those things true? ... [Jon's Radio]


I've seen the power of this approach too.  When I needed a way to run-time configure a customised Reflection package I was originally going to write a configuration file, maybe a .properties file or, since everything must be XML these days, use some cool XML syntax.  Just as I was gritting my teeth at the thought of parsing XML to read in class names, light dawned!

Took a leaf out of the Dyanop book I decided to use a BeanShell script instead. A simple modification to the Reflector class makes it execute a pre-defined script when instantiated.  Before the script runs the Reflector statically imports a method called registerClass into the scripts namespace.  The configuration file is then a simple script as follows:

// Generated file - Do not edit!
//
// This file configures the Db4o activator reflector package.
//

registerClass( com.evectors.persistence.samples.SampleComposite.class );
registerClass( com.evectors.persistence.samples.SampleType.class );

Job done!  If the reflector ever requres more advanced configuration options I can just add the appropriate methods to the Reflector class and import them into the script namespace.

And, best of all, not a hint of XML in sight!

10:54:50 AM     : A thing of beauty...

How to fold a T-shirt in 2 seconds.

Some of you probably have seen this my wife showed me this video that has been going around among Korean-American mothers: a Chinese video showing how to fold a T-shirt in 2 seconds. The technique works for long sleeve shirts too but takes a couple of seconds longer. Although I am pretty much a typical male chauvinist pig when it comes to house chores, this video was so amazing it actually made me want to fold some T-shirts! Wow.

[Don Park's Daily Habit]



Holy folding shirts Batman!

7:58:32 AM     : HateDell

If you own any Dell computers, or have ever had the misfortune to need Dell customer service then you owe it to yourself to take a stroll over to I Hate Dell which is a site run for disgruntled current & former Dell employees.  It makes for fascinating, if depressing, reading.

 29 April 2004

9:58:13 PM     : Aint no such thing as free

Yesterday I had a chance to try FreeWorldDialup for the first time. Judith and I wanted to chat and since she is on Mac and I am on Windows it seemed like a perfect opportunity.

Downloading the client (SJPhone) was easy and, up to that point, everything was fine. From then on however, things got bumpy.

How do I call you? I couldn't see any way. I kept trying to add Judith to the address book, but I eventually figured out it wasn't searching a directory, I was just creating a dummy entry with her name. The interface had numbers but I had no idea what my number was or what Judiths was.

When I first opened the client it made me create a FWD account, but didn't say anything about a number. The client didn't seem to know it and the SIP tab the instructions told me I should look for didn't appear anywhere. Judith was fairing a little worse - her client didn't even prompt to make her create an account.

I went back to the FWD site and found all kinds of references to numbers I should have. There seemed to be a way of creating accounts there too which seemed somehow different to what I had done before. I went through that and *bingo* got my number. Now, how do I put it in the client?

While I searched in vain for how to insert the number in the client, Judith also signed up. Eventually I discovered that creating an account at startup had given me a number -- it just didn't bother to actually tell me about it!

Okay - the tension is mounting. We both have numbers. I dial Judith and... nothing. I can't hear anything at all. Then some choppy noise. "Is that you Judith?" She, of course, can hear me fine as she reports via instant messenger.

So, confusing, Confusing, CONFUSING and it didn't work.

Roll on Skype4Mac!

7:16:24 PM     : Presenting People Centred Knowledge Management at the CiG

On Tuesday night I did my first proper speakers gig, giving a 20 minutes presentation of People Centred Knowledge Management (PCKM) to members of the City Information Group (I'll link to their event page when it's been updated). I had a great time doing the event and I've had some positive feedback - I hope everyone there got something out of it. My thanks to the organizers Jackie, Genevieve and Nick.

  • Web version of the presentatin. (Should work in all browsers, but you know PowerPoint)
  • PDF version of the presentation here. (447K)
  • Speakers notes (This will give you a better idea of what I said).
I'd like to express my thanks to Paolo, Phil, David, and Suw who were all invaluable in helping me to get prepared. I think it really paid off.

Update: It occurs to me that really you don't get very much from my slides. The presentation was a lot about me talking, waving my arms and hopping up and down. You don't get that from PowerPoint. Next time I'd like to be able to webcast the presentation. Anyone have any advice about that sort of thing?

2:44:40 PM     : Not a paper tiger

Taming Tiger.

JavaWorld (nice to see them back -- when did that happen?) has the first in a three-part series of articles on J2SE 1.5 called Taming Tiger ("Tiger" is 1.5's codename). Part 1 covers new language features, namely:

  • Boxing and unboxing
  • An improvcd for loop specifically designed for iterating over array/collection elements
  • Variable numbers of arguments for methods
  • Enumerations (IT'S! ABOUT! TIME!)
  • Static imports
[The Farm: The Tucows Developers' Hangout]

I'm really looking forward to JDK1.5 becoming a reality and to the forthcoming support for it in my IDE of choice, IntelliJ IDEA (they already have support for generics).

However, they don't list the new feature I am looking forward to most of all:
  • JSR-175 - attribute based programming.
Thanks to xDoclet I am already a convert to this way of working. Flexible, attribute based, code generation is very powerful. But you can generate other things too. For example I also generate BeanShell scripts which are used to configure runtime aspect weaving and object configuration. This kind of thing makes me smile :-)

1:38:57 PM     : Get 'em while they're hot

Loic, Lessig and now Doc Searls.

It all seems to be happening in London at the moment.

 26 April 2004

10:42:21 AM     : Telewest broadband upshift

Telewest boosts broadband speeds. More zoom for same dosh By Tim Richardson . [The Register]

w00t!  Go Telewest!!

10:22:41 AM     : Word escape velocity attained at last!

Using Open Office to convert MS Word documents. Rickard Öberg recently posted a request for suggestions about using Java to convert MS word docs into HTML. I have been doing some work on this lately using the freely availiable, open-source OpenOffice.org to do the hard parts, making calls... [sockdrawer.org]

Paul has done some very craft work here -- many people want to solve this problem.

In fact it's a problem that he and I worked on last year.  At that time we were looking for out of the box tools to do the job and not getting very far with it.  Since then he's cooked up a clever solution by implementing RPC with an OpenOffice server.  Neat!!

9:22:03 AM     : Is it del.icio.us?

In what passes for my spare time at the moment I am trying to understand what del.icio.us is about. I've signed up for my own page and added the bookmarklets to my, already overcrowded, browser bar.  Now I just need to understand what it is and why it's a good thing.

9:18:33 AM     : Software licensing for small ISVs

Dan Bricklin's rap on Open Source.

software licensing for small ISVs. good thinking about being open without being open source [anil dash's daily links]

Great rant and tutorial by Dan Bricklin. I wonder why Anil doesn't just say that?

[Marc's Voice]


At first read an interesting outline of the issues faced by small ISVs (Evectors fits that bill although we think of ourselves more as compact and bijou) contemplating whether to make their product open, or open source and how to understand competition in that model.  Dan appears to be going the dual license route: one free, one commercial with the commercial license being activated by specific activities.

Db4o do something similar with their license which allows for free use of the product in free applications and a commercial %revenue basis otherwise - although they charge everyone an annual fee to join their developer network where you can download the latest release and get support.  I'm not sure how much revenue they make from this fee ($100 for individuals/$1000 for organisations) and whether it affects take up.

 25 April 2004

9:35:04 PM     : Bush Spending $10M on Campaign Ads in 12 days

This is crazy. Spending $10 million in 12 days! Planning to spend $180 million on advertising!! Kerry doing similar!!! It's crazy!!!!

Think what could have been done with that money if put to a purpose other than trying to out sleaze your opponent. I guess the advertisers and media companies, at least, are happy.

And what will it be next time around? How long before you'll need to raise $1bn in order to have a credible chance of becoming president? You in the US are already in the situation of having two rich, well connected, ex-Yale boys duking it out. Heck if Bush gets a second term it wouldn't surprise me if he privatizes the white house and sells it to his pals.

I propose an alternative strategy:

  • Ban all paid political advertising of all kinds from all broadcast media.
  • Ban all financial donations.
  • Ban all paid political activity
From then on anyone wanting to be president has to raise a grass-roots movement to support them. Supporters cannot contribute dollars, they volunteer their time or they contribute their voice in support of their candidate. Likely people will only do this for someone they believe in quite strongly which should weed out all future members of the Bush family (any idea when Jeb plans to run?)

The current system just plays into the hands of the wealthy and well connected and, whilst my suggestions surely has many flaws, at least it would remove the financial advantage the current crop of bastards has over everyone else. Sure it would be difficult to get your message heard, but at least everyone would be in more or less the same boat.

 23 April 2004

9:12:02 PM     : Multiplatform VOIP from FreeWorldDialup

Suw put me on to FreeWorld Dialup which may be an alternative to Skype. I'm quite happy with Skype: voice quality is improving and the directory isn't too bad. However, for me, it has one serious flaw: a lack of a Mac client (ah Groove...). Looks like the FWD guys have that covered and Linux as well!

12:11:59 PM     : You can’t play games with readiness.

You can't rush readiness.

Isn't this the truth. And a truth that I, too, need to learn over and over again. Now, I have a handy reminder.

You can't rush readiness.

Homeschooling parent, Sarah, reminds of a very important point when it comes to parenting:

You can’t play games with readiness. That’s been my one of my Most Important Parenting Lessons (and one which I, apparently, need to learn over and over again). Kids are, or are not, ready.

...

Readiness simply comes of its own accord. You can lay the foundation, but no game, no trick, no bribe can make an unready child ready. Those things are approaches or motivators; they don’t flip the switch inside their brain, or body, or heart. They’ll be ready when they’re ready. And because we’re impatient, or we believe we know better, or that we’re more powerful/ influential than we are, we struggle to learn this lesson. But go ahead and learn it. You’re ready.

[urlgreyhot blogs]
[McGee's Musings]


Amen to that!

10:23:45 AM     : The key point to retain is that Poland has mountains

Bukowina Tatrzańska.


If you think of Poland as shaped like home plate, the Tatra mountains run just along the country's southern tip, right where the catcher would be if the catcher were Slovakia (and Hungary were the umpire). I understand that baseball metaphors may be lost on some of my readers, but chances are anyone unfamiliar with baseball comes from a country that does a decent job teaching European geography. No harm is done.

[...]

Ha ha, only serious. Forbidden to keep hard currency, people logically turned to commodities that were easy to store, easy to sell, and were guaranteed not to lose their value. And it's hard to imagine any set of political or economic circumstances short of the Second Coming where it would be impossible to exchange alcohol for ready cash in Poland (one suspects that even during the Second Coming they would work something out). Grain alcohol is the ultimate liquid asset - compact, valuable, always in demand - with only two shortcomings: susceptibility to fire and susceptibility to the man of the house, who in these parts can rarely sleep easy knowing that just a lock, a few wooden planks, and his wife's constant vigilance separate him from a month-long bender.



If you are lucky enough to get your hands on it, grain alcohol of course tastes great straight, but you can also use it to prepare this tasty beverage:

Herbata po Góralsku

(Highlander Tea)



Fill a glass 3/4 full of freshly brewed, strong, hot tea. Add a heaping teaspoon of sugar and enough grain alcohol to fill the glass completely. Stir, let sit for five minutes, serve hot. For an extra kick, use only half a glass of tea.
[...]

Not all the luxuries of this part of the world are so easy to export, of course. If you want the best toasted cheese to be had anywhere, or ham so good that you will weep for the lost years you could have spent eating it, you have no alternative except rush to the Carpathians. And there's no way to bring home the clomp clomp of hooves on snow, the distinct stench of ancient Hungarian buses, or the ferociously bright stars when the tramontane wind blows. But holed up homesick in a cold winter room on another continent, pouring half bottle of vodka into your mug of Lipton gives you a fair first approximation.

[Idle Words]


Excerpts from another interesting and deadly funny piece from Maciej.  He manages to be both interesting, witty and eloquent.  I'm really beginning to hate him.

 22 April 2004

2:04:12 PM     : First outing for People Centred Knowledge Management

City Information Group April seminar - A trip to t .... City Information Group April seminar - A trip to the virtual world - 27 April 2004 - London, UK - Roger Brown from GlaxoSmithKline (GSK), will describe the dramatic transformation of the GSK libraries from physical to virtual, focussing on the implications for their information vendors. Matt Mower, partner in Evectors Software, will discuss exciting new developments in people-centred knowledge management. He will focus on "social software" including weblogs, aggregators and instant messengers [Feedster.com Results For: evectors]

I shall be speaking on April 27th to the City Information Group.  I am presenting the first fruits of the work that Paolo and I have been doing over the last couple of months.  I'll be presenting our theme: People Centred Knowledge Management, talking about issues such as collaboration, innovation, and trust, and illustrating how social network tools from weblogs to wikis to IRC combine to address those issues in a way existing tools cannot.

 21 April 2004

8:28:16 PM     : My Lord is a filthy pig!

Why I Like Poland.

For those just tuning in, I recently came back from a three-week visit to the old country, my first in three years.



Courtliness

In Poland, the proper way for a man to greet a woman is by kissing her hand. The proper way to address a person with whom you are not on very close terms is as "My Lord" or "My Lady". When writing to someone, you capitalize the second-person pronouns and leave the first-person ones in lower case. You address the envelope to the "Respected Lord/Lady So-and-so".

These formalities are absolute - even when you're swearing at a cab driver, you are expected to observe decorum. This can make even the most minor fracas in a bus queue sound like a tetchy day at the House of Commons. "My Lord is a filthy pig! My Lady is a tramp and a harlot, and her Ladyship's face looks best suited for sitting on!"

Carp

In America, this king of fishes is practically impossible to find outside of a goldfish bowl. Maybe it's because carp can have a muddy river-bottom taste if not properly prepared. But a correctly purged carp (left to fast for a few days before slaughter, with time to contemplate its sins) is the most heavenly, delicate fish there can be, pan-fried and served up hot. And besides, Americans seem to enjoy the inveterately muddy catfish.

I suspect the real reason carp isn't eaten here is because Americans are too wussy to deal with all the cunning little bones embedded in its flesh. This is, after all, the land of the individually-wrapped cheese slice. We are a people grown fat on convenience. And to American restaurants, a carp must look like a liability lawsuit with fins. So its consumption is limited to people like the Poles, the Chinese, and the Jews, who are used to hardships and don't mind a little risk with their fish course.

Applause

In all of Eastern Europe, it's traditional for passengers on an airplane to applaud when it lands. The cynic in me is tempted to call this a legacy of the Tupolev days, when a safe landing was truly a special occasion, but I prefer to think of it as an acknowledgement that flying ten kilometers above the Earth at near-sonic speeds is something to appreciate. For unknown reasons this custom irritates the stuffing out of certain of my American friends, who will be glad to know it is slowly dying out, reserved now only for more spectacular landings in heavy rain or turbulence.

A second great innovation of the Slavic tribes is rhythmic clapping, which serves as a useful intermediate stage between loud applause and a standing ovation. I believe this is the same thing as the slow handclap in England, but in Eastern Europe it has a very positive connotation. Not only does it sound cool to hear an audience segue from general applause to a slow, rhythmic clapping, but it makes it much easier to lure a musician or performer back for an encore. After all, you can't hear a standing ovation.

The Giant Holiday Aid Orchestra (Wielka Orkiestra ÅšwiÄ…tecznej Pomocy)

The Orchestra is Poland's version of the Jerry Lewis telethon. It started in 1993 as a fundraising event to help buy equipment for the children's cardiology unit in the main Warsaw hospital. Over the next 11 years, it has grown by leaps and bounds, to the point where the one-day drive is practically a national holiday. In the process, the Orchestra has raised $44 million to fund equipment for pediatric surgery, transforming Poland from a backwater into one of the world leaders in treating serious congenital defects and diseases in children. Last year, Poland became the first country on earth to test the hearing of all newborn babies. The survival rate for pediatric surgery has doubled since 1993, due entirely to the Orchestra. Polish hospitals, which have traditionally had very well trained medical staff and microscopic budgets, now have the resources they need to operate at a First World level.

All of this is the effort of one single man, Jerzy Owsiak, who has turned the telethon into a public carnival that turns out massive crowds in every major Polish city. On January 11, it is almost impossible to find a Pole anyhwere who does not have a big red heart sticker on his lapel, indicating that he's donated some money to one of the hordes of children deputized to take up collection. Particularly inspiring is the fact that the Orchestra spends 100% of its funds on aid - what administrative costs there are are paid out of interest on the previous year's donations. Because the Orchestra pays in cash up front, it has been able to negotiate major discounts, so each dollar collected goes even further. It is the largest charity effort of its kind in Europe.

Soup

Poles eat three meals a day - breakfast, a small supper at around seven in the evening, and the main meal of the day sometime between one and three o'clock. This last always consists of a soup course and a second course, usually some variant on hunk of meat + starch. Because soup is served every day, Polish cooking has evolved a great variety recipes, all of them delicious and most practically unknown outside the country: chicken soup (rosół), sorrel soup (zupa szczawiowa), fermented rye soup (żurek), pickle soup (zupa ogórkowa), potato and vegetable soup (kartoflanka), sauerkraut soup (kapuśniak), beet soup (barszcz), mushroom soup (zupa grzybowa), split pea soup (grochwka), barley soup (krupnik), tripe (flaczki), tomato soup (zupa pomidorowa), chilled beet and sorrel soup (chłodnik, also know by me as Pepto-Bismol soup, for its color) and a thousand others, including many regional variants. Whole civil wars would have been fought about the proper way to prepare barszcz, if not for all the invasions.

Dairy Bars

The dairy bar (bar mleczny) is where frugal and impecunious Poles go for soul food, a cross between a school cafeteria and an old-style American diner. Dairy bars were once ubiquitous in the socialist era, operated by the dour tribe of professionally hostile white-coated women who effectively ran the country back then (they continue to thrive in the civil service, which functions as a kind of wildlife preserve for homo sovieticus). The name 'dairy bar' comes from the fact that most of these places did not serve meat, or at least not regularly (meat was a "deficit product"). Dairy bars specialized in soups, dumplings, crepes, noodles, omelettes, and other basic dishes, served with alumium cutlery on a worn porcelain plate, with the weight of each portion always scrupulously listed on the grooved notice board that serves as a menu.

Many of these bars have gone out of business since 1989 - they were subsidized to the gills - and many others have converted into Ye Olde Inns, Rustic Peasant Kitchens, and similar monstrosities, but those that remain are generally still in business for a reason. The only difficulty is figuring out which dish is the establishment's secret masterpiece. For example, the dairy bar on the way to Wawel Castle in Kraków will feed you a marvelous plate of scrambled eggs with sausage, served on a little individual frying pan. The bar across from the Old Town on the east bank of the Vistula in Warsaw makes delightful crepes.

Visiting a dairy bar can be a little tricky for a foreigner - anyone who can speak English can probably find a better job than serving derelicts in a dairy bar, after all. So I would suggest coming armed with a clear list of Polish dishes, and submitting your request in writing. After all, you don't want to accidentally wind up with a plate of blood sausage and beef tripe, unless of course it's the dairy bar in Zakopane, where the tripe is to die for... [Idle Words]

If (like me) you've never read Maciej before, do yourself a favour and go browse soon.  Other higlights for me were PC Forum and Warszawa.

6:06:40 PM     : C# new features

New Language Features in C# 2.0. O'Reilly's OnDotNet.com has a two-part series of articles covering features to be added to the C# programming language for version 2.0 (which will be part of "Whidbey", the upcoming version of Visual Studio). Part One covers anonymous methods, iterators and partial classes, while Part Two covers generics.


[The Farm: The Tucows Developers' Hangout]

At first glance I thought partial classes (in a nutshell they allow the definition of a class to be split among a number of physical files) were a duff idea but having once I saw some examples I realised just how useful they could be. I've been doing code generation recently, using xDoclet, building classes which contain type factory methods and field maps for domain classes. It now occurs to me that partial classes would be a much neater solution keeping the generated code within the domain class (avoiding a proliferation of types, or possibly type access issues), but without polluting the hand written code or risking overwriting anything. Neat, I'd like to see this in a future version of Java.

6:00:51 PM     : Time to switch?

I hate having to use a non-WYSIWYG editor to write blog posts and yet I really hate the WYSIWYG editor in Radio

For one thing in Mozilla I don't get an editing caret which is annoying enough.  But it also has no button for doing <blockquote> (it's not the same as indenting which is done via a styled section) and forces me to use the HTML view which is bad enough but there the cursor often ends up out of sequence with the editing position so you have no idea what's going to happen next.  Finally it cannot handle Radio's <% %> macro delimeters (would that there was another choice of delimiter avaiable but alas that will never happen...)

Having been exposed to other blogging tools recently, most notably Blogware, I find myself more and more wanting to trade in Radio for something a bit more modern, more stable, better featured.  I've been using Radio for 2 years and it has basically stood still in that time.  Enough is enough.

Not wishing to throw out the baby with the bathwater I'd like an application that builds on what I see as Radio's strengths.  It's not essential but I'd prefer a desktop application. I like the built in newsreader (Radio's reader is still my choice).  I like the upstreaming (if not Radio's implementation of it)  I like the ability to hack scripts locally but I want a more regular, popular and powerful language than Usertalk to do it (I no longer willingly grok Perl though).  Also, and this is critical, I want a tool which is being developed and where bugs either are, or can be, fixed.

Is all this too much too ask?  Any recommendations?

11:33:27 AM     : Word make me crazy

Goddamn Word is going to drive me mad.  It just will not stop displaying the damn PDF Maker toolbar all alone there



at the top of the frame.  If I hide the toolbar it does disappear but switch to another window and back again and hey presto! there it is back again.  It's going to drive me insane!!!!!

11:15:55 AM     : Let a thousand filters bloom

At O'Reilly's Perl.com, Maciej Ceglowski has an excellent article titled Using Bloom Filters, which explains what they are (the quick version: a probabilistic algorithm for determining set membership), shows how to implement them in Perl, and provides an interesting and topical application for them: mapping connections between people in social software while preserving their privacy. A very interesting read. Maciej points to a number of articles on Bloom Filters, to which I'll add FlipCode's brief overview, which also illustrates how Bloom Filters can be used in game programming.

[The Farm]

This looks like a very interesting technique.

 20 April 2004

10:46:17 PM     : Getting Real with Stowe

Had a first chat with Stowe Boyd this evening.  Enjoyed it very much despite some troubles with Skype (poor voice quality in one direction or another at various points) which we augmented with IM.  We talked about K-Collector, IRC, Wiki, Sense making, Cynefin, social tools and how KM is suffering from fatigue.  Thanks Stowe!

10:27:22 PM     : She canna take it anymore

The unblogged blog is a blog not worth blogging. You know one of the worst things about going away for a few days? You get back to a whole backlog of blog posts that you want to write but which feel like they'll take forever so you put off starting them because you have work and emails and stuff to do first. Then you discover that everyone else has been astonishingly productive whilst you were away and the already huge list of blogs that you try to peruse on a daily basis have stacked up the unread entries in Bloglines and suddenly your criteria for which blog to read next is not 'which author do I like the best?' but 'who's been lazy this week?'. How I smile when I see a blog with unread entries still in single figures.


And I have a cold. Ok, so it's not quite the unfettered snotfest I suffered a few months ago, but it makes me feel slow and stupid. (Anyone who comments that I actually am slow and stupid will feel the full force of my sneeze, I promise you.)


So, early night tonight and blog first thing in the morning. Honest, guv. [Chocolate and Vodka]

Yep.  My aggregator is full, I have a bunch of blogs to read, documents, presentations, <sigh>

10:10:46 PM     : GetScrobbled

Euan put me on to two cool services tonight.  The first is AudioScrobbler which is kind of like Amazon's <em>people who bought X also bought Y</em> except for the music you listen to.  It works using a plugin to your player which streams titles of tracks you play to their servers for matching.  The second is AllConsuming which does a similar job with books and even adds Amazon associate urls for you (I never remember).

 13 April 2004

6:58:47 PM     : More on #kmtalk and IRC integration

A couple more visitors to #kmtalk.  First there was the author of Your Guess Is As Good as Mine (Jonathan Smith?).  Also Terry Frazier and Rick Klau stopped by.  Terry demonstrated his l33t skills by signing in using his Treo 600 (using upIRC).

Anyone and everyone who is interested in knowledge management, communities of practice, collaboration, wiki, social networks and other related topics is welcome to stop by.  Right now I am interested in how IRC can be linked to other tools (including K-Collector of course).

For example might it be useful to link K-Collector topics (e.g. Knowledge Management) to IRC channels?  For example topics like Knowledge Management, K-Logs, Knowledge Organisation, Knowledge Economy, Collaboration, Commercial blogging, ... could all be linked to the #kmtalk IRC channel. Topics about different subjects could be linked to other channels.

The idea is that people viewing the web topic could see who was talking in the channel (want to join in?) and recent traffic in the channel (have something to add?) Could this be a useful application?

12:22:39 AM     : Conversations

A few days back I had the pleasure of a Skype call from Terry Frazier.  Unfortunately I was busy Skyping with someone else at the time so had to call him back.  At that point he was Skyping with Stuart Henshall, so Stuart conferenced me in to that call.  So there were were London, Atlanata and California on a free call with great quality.  Thank you Skype.

And speaking of conversations with people from far flung places Veer Bothra (Bombay) was the first person to visit the #kmtalk IRC channel that I setup.  Suw dropped in also.  We had an interesting chat.  I hope that, in time, others may find there way there also.


 12 April 2004

8:13:11 PM     : Wish you were here!

The best-rested war president in history? [Salon.com]

And then I listen to the news about American (and presumably British) troops attacking Iraqi towns.  About how the marines are disappointed that the new Iraqi police force isn't doing their dirty work for them (quelle surprise, they know they have to live there when the marines, greatfully, bug out).

Oh yes, this is working out just super.

8:07:27 PM     : PocketSkype first impressions

PocketSkype Screenshots. The screenshots for Pocket Skype. Nice simple execution for those with the latest PDA's.... [Unbound Spiral]

My Dad and I messed about with PocketSkype yesterday with him installing it on two pocket pc's with PPC2003.  Overall the results were promising and when you bear in mind the sudden leap in quality of recent betas of desktop Skype you can imagine that it will be improving fast.

So how well did it work?  We were able to hold a conversation but quality was generally not good with a lot of echo and distortion.  Some of this might have been related to tuning the audio in PocketPC I'm not sure.  There were also a couple of crashes.  I also had my first crash of the desktop app but I'm not sure if that is related.  Lastly it seemed problematic to answer calls on the PPC side with the green icon not always doing the right thing.

Overall though, very promising.

4:38:42 PM     : Strip Mining for Whimsy

Forgotten gems. Sometimes, you come across a blog that makes you stop and think for a while. A blog that takes your breath away. A blog written in such a way that you sit, dumbstruck, whilst you read.


Quite a long while ago I came across Strip Mining for Whimsy. I donÂ’t know why I stopped reading Joshua Norton II, Emperor of The United States and Protector of Mexico, but whatever reason I had at the time, it canÂ’t possibly have been good enough, for there simply is no reason good enough to not read this blog.


Go. Pause. Read. Feel. [Chocolate and Vodka]

Spot on Suw.  I really like his writing and his point of view.  And I thought I had my subscription list under control again...

4:29:46 PM     : Java tools have come a long, long way

Just a quick note about tools.  Over the last couple of months I've been experimenting with the db4o Java object database.  It's compact, yet very powerful and improving all the time.  I prefer the idea of an object database to using SQL because, although you can get object-relational mapping layers the fundamental problem is that you have to have SQL under the hood.

However, like most object databases, db4o comes with it's own problem: activation.  Because an object database is basically a serialized graph of objects when you read one back you either have to bring back every object it is associated with, or just bring back some (or maybe none) of those objects.  In the former case you spend a long time reading objects from the database and spend the memory on them (whether you use them or not) and in the latter case you end up managing references to potentially deactivated objects.  It's painful either way round.

I decided to try and tackle this problem using the Dynaop aspect framework by Bob Lee.  It was a chance for me to put Dynaop through it's paces against a real problem.  So far it's looking very promising.  Dynaop is very simple to understand and implementing activation and storage interceptors (and the corresponding reflector package for db4o) was not terribly hard.

I was soon able to have domain objects activating and storing themselves on demand without any actively calling into the persistence layer.  However two things were left:  (1) an untidy amount of "glue" in the form of marker interfaces and configuration files, (2) transaction support.

The answer to both of these turns out to be xDoclet.  Using some customised xDoclet templates it is possible to generate all the type factories (required to build the aspect proxied domain objects), to build the configuration required by the aspect layer, and also to mark methods which should be considered as transactional.  A lot of this is possible because Dynaop uses the excellent BeanShell to provide run-time configuration and xDoclet can be tailored to generate Beanshell scripts very easily.

The net result is that most aspects of domain object persistence can be handled with no requirement for the classes themselves to be aware of the persistence layer at all.  All the configuration is dynamic at run-time and can be automatically generated from comments in the source code!

Db4o, Dynaop, xDoclet, Beanshell.   Java tools sure have come a long way.

 09 April 2004

7:24:19 PM     : #joiito, #kmtalk

Since the dinner last week I have found myself hanging around in #joiito quite a bit.  Suw kindly introduced me to the folks there.  It's a great group - if a little schizophrenic at times - full of interesting people.  You can always be assured of something to whet the appetite!

But, beyond this, I've realised what a fabulous community building tool IRC is.  Instant messenger has become an essential tool and IM (and I imagine, even more so, Skype) conference chats are great for focused collaboration.  IRC seems to have something different.  It's something about the way the channel is permanent, but people drop in and out as they can.  Bots are written to offer assistance.  Conversations run into side conversations.  It's all a big mess, but a beautiful one and it works.

For this reason I am now going to hang around in a channel called #kmtalk on freenode IRC (details of how to get there are here).  If anyone is looking to chat about knowledge management, communities of practice, collaboration, effectiveness or any of those sorts of topic I am offering this as a good starting point.

7:13:12 PM     : xDoclet troubles

I find myself needing to do some attribute based programming.  That is to be able to specify certain attributes of domain classes and have things happen automatically because of those attributes.  In this case generating type & dynaop proxy factories, and updating proxy & reflector configurations.

xDoclet appears to be the standard way of doing this in a Java project and, at first glance, all looked good.  However now that I am waist deep in learning how to write my own tasks and such I'm finding it very hard going.  I can't find a good guide to this and don't have the money to shell out on xDoclet in Action.

Are there any patient xDoclet guru's out there who might be able to give me hand?

 06 April 2004

1:51:02 PM     : Eclipse hits another milestone

Eclipse 3.0 Milestone build 8. I have been using Eclipse as my main Integrated Development Environment for about 18 months now, and have seen it go from strength to strength during this period. Initially, I was hooked by the idea of it more than it's... [sockdrawer.org]

Poor deluded non-IDEA user ;-)

I can see Paul's point though, Eclipse is becoming a de facto platform through it's wide support base. But I think it would be a sad day if Eclipse squashed all the rest. You need strong competition to stay healthy.

8:09:41 AM     : I need HiveMind

Just come across a newish Jakarta project which looks very interesting. Called HiveMind it is a java services and configuration microkernel. From the introduction:

HiveMind allows you to create your application using a service oriented architecture. In HiveMind, you architect your application in terms of POJOs (Plain Old Java Objects) and interfaces, and let the HiveMind framework do the busy work of instantiating your services and connecting them together.

In HiveMind, a service is an implementation of a Java interface. Unlike other SOAs (Service Oriented Architectures, such as a SOAP, or EJBs), HiveMind is explicitly about combining Java code within a single JVM. HiveMind uses an XML descriptor to describe different services, their lifecycles, and how they are combined. HiveMind takes care of thread-safe, just-in-time creation of singleton service objects so your code doesn't have to.

HiveMind provides powerful tools for configuring services in a decentralized manner; configuration data can be spread across many HiveMind modules. HiveMind configurations allow for powerful, data-driven solutions which combine seemlessly with the service architecture.

HiveMind allows you to create more complex applications, yet keep the individual pieces (individual services) simple and testable. It offloads all the work of instantiating services, configuring them, and connecting them together. It lets you concentrate on best practices: coding to interfaces, not implementations, and designing your code to be easily unit tested.

 02 April 2004

9:54:14 PM     : BLX is the real deal

Standards compliance is so important which is why I am proud to announce that this blog is now fully compliant.

3:54:02 PM     : Big Night

A little belated thanks to the someone digging up one of Telewests main fibre channels for the London area but here is my post about the Bloggers dinner on Wednesday. Photos are here.

Euan organised it for Jon Husband who is visiting in the UK and invited a bunch of us ner' do wells to ensure the wine bill would be truly prodigious.

Most everyone was meeting everyone else for the first time which didn't seem to get in our way in the slightest as we got on with the business of good food, good company and good conversation.

In particular I had the pleasure of speaking with: Jon Husband, Jim Osler, Torben Anderson, George Por, Suw Charman and Julian Elvé.

Alas time did not permit me to chat with Andy Borrows or Gary Turner but I hope to run into them again at a future event.

Many thanks Euan!