<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3753787</id><updated>2012-02-07T09:03:57.507Z</updated><category term='autoconf'/><category term='automake'/><category term='GroupLayout'/><category term='java'/><category term='c++'/><category term='swing'/><category term='disruptor'/><title type='text'>techMusings</title><subtitle type='html'>General tech ponderings, projects and sites.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default?start-index=101&amp;max-results=100'/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>116</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3753787.post-4126493051467307988</id><published>2012-02-07T08:51:00.002Z</published><updated>2012-02-07T08:59:53.011Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='c++'/><category scheme='http://www.blogger.com/atom/ns#' term='disruptor'/><category scheme='http://www.blogger.com/atom/ns#' term='autoconf'/><category scheme='http://www.blogger.com/atom/ns#' term='automake'/><title type='text'>C++ disruptor autoconf / automake hell</title><content type='html'>I'll try to avoid a tirade about the state of C++ build tools, but I was having a problem persuading the &lt;a href="https://github.com/fsaintjacques/disruptor--"&gt;https://github.com/fsaintjacques/disruptor--&lt;/a&gt; project to build. Given that the code is mainly headers (which I like since I consider most cpp files a code smell), the pain was disproportionate. Anyway, here's a compile command for those who just want to run the code (save as a script):&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;&lt;br /&gt;#! /bin/bash&lt;br /&gt;&lt;br /&gt;export LD_LIBRARY_PATH=/opt/gcc-4.6.2/lib64/:$LD_LIBRARY_PATH&lt;br /&gt;&lt;br /&gt;g++ -I .. \&lt;br /&gt;    -I /opt/boost/linux64/1.48.0/   \&lt;br /&gt;    -std=gnu++0x \&lt;br /&gt;    -D_GLIBCXX_USE_SCHED_YIELD -D_GLIBCXX_USE_NANOSLEEP \&lt;br /&gt;    -lboost_unit_test_framework -L /opt/boost/linux64/1.48.0/lib \&lt;br /&gt;    -O3 -march=native -DNDEBUG \&lt;br /&gt;    -o ${1%.*} $1&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-4126493051467307988?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/4126493051467307988/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=4126493051467307988' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/4126493051467307988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/4126493051467307988'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2012/02/c-disruptor-autoconf-automake-hell.html' title='C++ disruptor autoconf / automake hell'/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-3694922505141830244</id><published>2010-05-28T13:18:00.002+01:00</published><updated>2010-05-28T13:27:13.074+01:00</updated><title type='text'>GWT event template</title><content type='html'>Just created this, and thought it worth preserving (not sure about lifespan of: http://pastie.org/981696):&lt;br /&gt;&lt;br /&gt;&lt;pre class="sunburst"&gt;&lt;span class="storage storage_modifier storage_modifier_java"&gt;public&lt;/span&gt; class ${argType}&lt;span class="storage storage_type storage_type_java"&gt;Event&lt;/span&gt; extends &lt;span class="storage storage_type storage_type_generic storage_type_generic_java"&gt;GwtEvent&amp;lt;$&lt;/span&gt;{argType}&lt;span class="storage storage_type storage_type_java"&gt;Event&lt;/span&gt;&lt;span class="keyword keyword_operator keyword_operator_dereference keyword_operator_dereference_java"&gt;.&lt;/span&gt;${argType}&lt;span class="storage storage_type storage_type_java"&gt;EventHandler&lt;/span&gt;&lt;span class="keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_java"&gt;&amp;gt;&lt;/span&gt; {&lt;br /&gt;&lt;br /&gt; &lt;span class="storage storage_modifier storage_modifier_java"&gt;public&lt;/span&gt; interface ${argType}&lt;span class="storage storage_type storage_type_java"&gt;EventHandler&lt;/span&gt; extends &lt;span class="storage storage_type storage_type_java"&gt;EventHandler&lt;/span&gt; {&lt;br /&gt;  &lt;span class="storage storage_type storage_type_primitive storage_type_primitive_array storage_type_primitive_array_java"&gt;void&lt;/span&gt; on${argType}(${argType}&lt;span class="storage storage_type storage_type_java"&gt;Event&lt;/span&gt; ${argType});&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; &lt;span class="storage storage_modifier storage_modifier_java"&gt;public&lt;/span&gt; &lt;span class="storage storage_modifier storage_modifier_java"&gt;static&lt;/span&gt; &lt;span class="storage storage_modifier storage_modifier_java"&gt;final&lt;/span&gt; &lt;span class="storage storage_type storage_type_generic storage_type_generic_java"&gt;Type&amp;lt;$&lt;/span&gt;{argType}&lt;span class="storage storage_type storage_type_java"&gt;EventHandler&lt;/span&gt;&lt;span class="keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_java"&gt;&amp;gt;&lt;/span&gt; &lt;span class="constant constant_other constant_other_java"&gt;TYPE&lt;/span&gt; &lt;span class="keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_java"&gt;=&lt;/span&gt; &lt;span class="keyword keyword_control keyword_control_new keyword_control_new_java"&gt;new&lt;/span&gt; &lt;span class="storage storage_type storage_type_generic storage_type_generic_java"&gt;Type&amp;lt;$&lt;/span&gt;{argType}&lt;span class="storage storage_type storage_type_java"&gt;EventHandler&lt;/span&gt;&amp;gt;();&lt;br /&gt; &lt;span class="storage storage_modifier storage_modifier_java"&gt;private&lt;/span&gt; &lt;span class="storage storage_modifier storage_modifier_java"&gt;final&lt;/span&gt; &lt;span class="storage storage_type storage_type_java"&gt;String&lt;/span&gt; reason;&lt;br /&gt;&lt;br /&gt; &lt;span class="storage storage_modifier storage_modifier_java"&gt;public&lt;/span&gt; ${argType}&lt;span class="storage storage_type storage_type_java"&gt;Event&lt;/span&gt;(&lt;span class="storage storage_type storage_type_java"&gt;String&lt;/span&gt; reason) {&lt;br /&gt;  &lt;span class="variable variable_language variable_language_java"&gt;this&lt;/span&gt;&lt;span class="keyword keyword_operator keyword_operator_dereference keyword_operator_dereference_java"&gt;.&lt;/span&gt;reason &lt;span class="keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_java"&gt;=&lt;/span&gt; reason;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; @&lt;span class="storage storage_type storage_type_java"&gt;Override&lt;/span&gt;&lt;br /&gt; &lt;span class="storage storage_modifier storage_modifier_java"&gt;protected&lt;/span&gt; &lt;span class="storage storage_type storage_type_primitive storage_type_primitive_array storage_type_primitive_array_java"&gt;void&lt;/span&gt; dispatch(${argType}&lt;span class="storage storage_type storage_type_java"&gt;EventHandler&lt;/span&gt; handler) {&lt;br /&gt;  handler&lt;span class="keyword keyword_operator keyword_operator_dereference keyword_operator_dereference_java"&gt;.&lt;/span&gt;on${argType}(&lt;span class="variable variable_language variable_language_java"&gt;this&lt;/span&gt;);&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; @&lt;span class="storage storage_type storage_type_java"&gt;Override&lt;/span&gt;&lt;br /&gt; &lt;span class="storage storage_modifier storage_modifier_java"&gt;public&lt;/span&gt; &lt;span class="storage storage_type storage_type_java"&gt;com.google.gwt.event.shared&lt;span class="keyword keyword_operator keyword_operator_dereference keyword_operator_dereference_java"&gt;.&lt;/span&gt;GwtEvent&lt;/span&gt;&lt;span class="keyword keyword_operator keyword_operator_dereference keyword_operator_dereference_java"&gt;.&lt;/span&gt;&lt;span class="storage storage_type storage_type_generic storage_type_generic_java"&gt;Type&amp;lt;$&lt;/span&gt;{argType}&lt;span class="storage storage_type storage_type_java"&gt;EventHandler&lt;/span&gt;&lt;span class="keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_java"&gt;&amp;gt;&lt;/span&gt; getAssociatedType() {&lt;br /&gt;  &lt;span class="keyword keyword_control keyword_control_java"&gt;return&lt;/span&gt; &lt;span class="constant constant_other constant_other_java"&gt;TYPE&lt;/span&gt;;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; &lt;span class="storage storage_modifier storage_modifier_java"&gt;public&lt;/span&gt; &lt;span class="storage storage_type storage_type_java"&gt;String&lt;/span&gt; getReason() {&lt;br /&gt;  &lt;span class="keyword keyword_control keyword_control_java"&gt;return&lt;/span&gt; reason;&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; &lt;span class="storage storage_modifier storage_modifier_java"&gt;public&lt;/span&gt; &lt;span class="storage storage_type storage_type_java"&gt;String&lt;/span&gt; toString() {&lt;br /&gt;  &lt;span class="keyword keyword_control keyword_control_java"&gt;return&lt;/span&gt; &lt;span class="string string_quoted string_quoted_double string_quoted_double_java"&gt;"${argType}Event:"&lt;/span&gt;&lt;span class="keyword keyword_operator keyword_operator_arithmetic keyword_operator_arithmetic_java"&gt;+&lt;/span&gt;reason&lt;span class="keyword keyword_operator keyword_operator_arithmetic keyword_operator_arithmetic_java"&gt;+&lt;/span&gt;&lt;span class="string string_quoted string_quoted_double string_quoted_double_java"&gt;":"&lt;/span&gt;&lt;span class="keyword keyword_operator keyword_operator_arithmetic keyword_operator_arithmetic_java"&gt;+&lt;/span&gt;&lt;span class="variable variable_language variable_language_java"&gt;super&lt;/span&gt;&lt;span class="keyword keyword_operator keyword_operator_dereference keyword_operator_dereference_java"&gt;.&lt;/span&gt;toString();&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;GWT events are key to building a maintainable GUI I think, but it's a pain to cut'n'paste code for it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-3694922505141830244?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/3694922505141830244/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=3694922505141830244' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/3694922505141830244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/3694922505141830244'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2010/05/gwt-event-template.html' title='GWT event template'/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-6782973472843538180</id><published>2009-11-27T11:25:00.002Z</published><updated>2009-11-27T11:36:56.240Z</updated><title type='text'>Future of mobile data</title><content type='html'>Good &lt;a href="http://mobileopportunity.blogspot.com/2009/11/mobile-data-apocalypse-and-what-it.html"&gt;article&lt;/a&gt; on looming bandwidth issues in mobile data (via @timbray).&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;BT currently do the share-your-home-DSL thing in the UK currently. I'd like that ability but my provider doesn't do it, and going for BT DSL is a risk I'm willing to take right now. Which is a shame cos the streaming TV is another good product -- why should I need to buy the line from them too? The customer service reputation is so bad, I just can't contemplate it.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Revenue sharing would require the mother of entitlements apps, plus trusted end-points / bandwidth monitoring, which is fine for most people, but how do you avoid someone claiming all their traffic was 3rd party? Using IPv6 to avoid the NAT issues? A side effect is to explode the insanities in the Digital Economy Bill currently running around in the UK (media firms getting connections terminated without going to court, regardless of number of people using them).&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-6782973472843538180?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/6782973472843538180/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=6782973472843538180' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/6782973472843538180'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/6782973472843538180'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2009/11/future-of-mobile-data.html' title='Future of mobile data'/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-4458281121731983612</id><published>2009-11-05T07:32:00.004Z</published><updated>2009-11-07T12:27:36.017Z</updated><title type='text'>GWT 2.0 and classpath hell</title><content type='html'>I had a little visit back to classpath hell yesterday. I'm building an app using GWT for the front end. For mad Mac OS / Java / 3rd party native libs reasons, I wanted to move to OOPHM (29West only do 64bit libs on a Mac..) so I installed GWT 2.0 ms2. It was all looking good, against Firefox (other than needing it's own launch config rather than the eclipse plugin's launch), and ran at a similar speed in dev mode.&lt;br /&gt;&lt;br /&gt;[ slight issue is that I then changed project for a few days, forgetting the exact last change.. ]&lt;br /&gt;&lt;br /&gt;I then change a section of code to handle a bit of the data model I was getting wrong previously. Time to rerun the unit tests. Bang. Except, the code that dies is inside the protocol buffers library (which I'm using to talk to a back end server). Just to add layers to the confusion I'm calling protobuf methods via reflection (since all the type stuff in protobuf is accessed via non-polymorphic static methods on each class -- eek). Giving me lots of nested exceptions with InvocationTargetException / NoSuchMethodError, implying I though, my reflection code was broken.&lt;br /&gt;&lt;br /&gt;Now, various projects are on either protobuf 2.0.2 or 2.2.0. The generated code for one, is not compatible with the libs of the other. I then spend ages looking at classpaths and trying to work out what's change. I write a test class, without any reflection to find I can't even reference a generated class without the &lt;clinit&gt; exploding. :/&lt;br /&gt;&lt;br /&gt;The wierd thing was, OOPHM still worked, calling the same code, it's was just my unit tests that were dying. Eventually I find the culprit, gwt-dev.jar, contains approx half the known Java universe including protobuf 2.2.0. Gaa!! It seems the webapp classloader magic for OOPHM/Jetty was hiding the problem. Luckily, a judicious, if hacky, move of GWT libs to the end of the classpath fixed the problem temporarily.&lt;br /&gt;&lt;br /&gt;So I'll end with a plea to both Google and any other software projects -- please do build on top of other stable libraries but either:&lt;br /&gt;&lt;/clinit&gt;&lt;ul&gt;&lt;li&gt;&lt;clinit&gt;Make it explicit -- leave the versioned jars outside the project jars, fore-warned is fore-armed&lt;/clinit&gt;&lt;/li&gt;&lt;li&gt;&lt;clinit&gt;Protect your clients -- Use a classloader to hide your dependencies, or use a jar-creator (jarjar / onejar etc) to change the namespaces.&lt;/clinit&gt;&lt;/li&gt;&lt;/ul&gt;&lt;clinit&gt;&lt;br /&gt;PS GWT rocks, thank you Google.&lt;/clinit&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-4458281121731983612?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/4458281121731983612/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=4458281121731983612' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/4458281121731983612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/4458281121731983612'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2009/11/gwt-20-and-classpath-hell.html' title='GWT 2.0 and classpath hell'/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-4077263300407988079</id><published>2009-09-02T22:15:00.002+01:00</published><updated>2009-09-02T22:19:05.499+01:00</updated><title type='text'>Politicians propping up dead businesses...</title><content type='html'>.. except this one is a whole industry while granting draconian powers. Give it up. Support the &lt;a href="http://38degrees.org.uk/page/s/mandelsonweb"&gt;petition&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-4077263300407988079?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/4077263300407988079/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=4077263300407988079' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/4077263300407988079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/4077263300407988079'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2009/09/politicians-propping-up-dead-businesses.html' title='Politicians propping up dead businesses...'/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-6594274021194139385</id><published>2008-03-12T11:37:00.006Z</published><updated>2008-03-13T15:10:30.585Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='swing'/><category scheme='http://www.blogger.com/atom/ns#' term='GroupLayout'/><title type='text'>GroupLayout converting Java 6 to Java 5</title><content type='html'>OK, so I'm writing Swing code again (which I'm not very good at), and have been using an odd combination of Netbeans 6 to do form design via Matisse (since the Eclipse version is MyEclipse only?) and the rest of the code in Eclipse (since I can't get comfortable in NB yet). Unfortunately, and perhaps because I'm running on Java 6, Matisse defaults to using the Java 6 javax.swing.GroupLayout, but my client is running Java 5 (late discovery). While I could install a new version of Java for them, the lack of Java 6 on my G5 Mac at home tipped me back to 5.&lt;br /&gt;&lt;br /&gt;While there is an option in NB to generate using the org.jdesktop packages (enabled now), it won't retrospectively rejig an existing form. Now the APIs while essentially the same code, and different versions so a bunch of things make the process more than changing the imports.&lt;br /&gt;&lt;br /&gt;The script below did 95% of the changes &lt;span style="font-style: italic;"&gt;my &lt;/span&gt;forms needed (in fact just one line in two forms needed a parameter removing -- addComponent had an extra param on a vertical group). Just thought I'd put it out there since I saw a few forum posts asking about this. It would be nice if NB could do this for you, but I suspect it's a low priority item..&lt;br /&gt;&lt;blockquote&gt;$ cat swing6tolayout.sed&lt;br /&gt;s/javax.swing.GroupLayout/org.jdesktop.layout.GroupLayout/g&lt;br /&gt;s/GroupLayout.Alignment/GroupLayout/g&lt;br /&gt;s/javax.swing.LayoutStyle.ComponentPlacement./org.jdesktop.layout.LayoutStyle./g&lt;br /&gt;s/\.addGroup/\.add/g&lt;br /&gt;s/\.addComponent/\.add/g&lt;br /&gt;s/\.addGap/\.add/g&lt;br /&gt;&lt;br /&gt;$ sed -f swing6tolayout.sed MyForm.java &gt; tmp.java&lt;br /&gt;$ mv tmp.java MyForm.java&lt;br /&gt;&lt;/blockquote&gt;It does make me smile that despite the size / complexity / ability of Eclipse &amp;amp; Netbeans, sed was the easiest way to do this. Wasn't Eclipse supposed to be providing refactoring batches? Or James Gosling's project to manipulate code? Dunno. Sed was already in the toolkit (cygwin), so it won.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Update:&lt;/span&gt;&lt;br /&gt;Annoyingly, when you do this, the form reverts to the previous layout type next time you edit in NetBeans. By the power of diff, you can fix this too by changing the MyForm.form file thus:&lt;br /&gt;&lt;blockquote&gt;$ diff JDesk.form Java6.form&lt;br /&gt;9c9&lt;br /&gt;&lt;     &amp;lt;auxvalue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="2" /&amp;gt;&lt;br /&gt;---&lt;br /&gt;&gt;     &amp;lt;auxvalue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/&amp;gt;&lt;br /&gt;&lt;/blockquote&gt;ie '2' is for jdesktop.org and '1' is for Java 6.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-6594274021194139385?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/6594274021194139385/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=6594274021194139385' title='14 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/6594274021194139385'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/6594274021194139385'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2008/03/grouplayout-converting-java-6-to-java-5.html' title='GroupLayout converting Java 6 to Java 5'/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>14</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-6616098824449957000</id><published>2007-07-22T10:30:00.000+01:00</published><updated>2007-07-22T10:59:59.049+01:00</updated><title type='text'>Java Fused Multiply Add, aka fma or FMAC</title><content type='html'>OK, long time, no posts etc.. but I've just posted over on ngGrid a little note about &lt;a href="http://blog.nggrid.com/2007/07/java-floating-point-performance.html"&gt;Java floating point performance&lt;/a&gt; -- if you want it, vote for it...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-6616098824449957000?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/6616098824449957000/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=6616098824449957000' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/6616098824449957000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/6616098824449957000'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2007/07/java-fused-multiply-add-aka-fma-or-fmac.html' title='Java Fused Multiply Add, aka fma or FMAC'/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-8469690474357071315</id><published>2007-02-13T12:19:00.000Z</published><updated>2007-02-13T12:25:02.857Z</updated><title type='text'>At last..</title><content type='html'>As &lt;a href="http://kendes.blogspot.com/2004/12/jini-meeting-part-2.html"&gt;whined&lt;/a&gt; &lt;a href="http://kendes.blogspot.com/2005/04/java-on-desktop.html"&gt;about&lt;/a&gt;... JNI is finally about to &lt;a href="https://nlink.dev.java.net/"&gt;die&lt;/a&gt;. Sun have been negligent on this one, imho.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-8469690474357071315?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/8469690474357071315/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=8469690474357071315' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/8469690474357071315'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/8469690474357071315'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2007/02/at-last.html' title='At last..'/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-113517635892098846</id><published>2005-12-21T14:43:00.000Z</published><updated>2005-12-21T14:45:58.930Z</updated><title type='text'>Dilbert Blog</title><content type='html'>having been an avid reader (and subscriber) to the Dilbert cartoon blog for sometime, I was happy to stumble across (by actually going to the dilbert site) the &lt;a href="http://dilbertblog.typepad.com/the_dilbert_blog/2005/12/intelligence_is.html"&gt;Dilbert Blog&lt;/a&gt; - the article I linked there is pretty good.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-113517635892098846?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/113517635892098846/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=113517635892098846' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/113517635892098846'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/113517635892098846'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2005/12/dilbert-blog.html' title='Dilbert Blog'/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-113363209882462286</id><published>2005-12-03T17:42:00.000Z</published><updated>2005-12-03T17:48:18.833Z</updated><title type='text'>Attach API</title><content type='html'>Cool. The &lt;a href="http://blogs.sun.com/roller/page/sundararajan?entry=using_mustang_s_attach_api"&gt;access jconsole&lt;/a&gt; has to a JVM is about to be available for other apps. One obvious question is when will script tools like beanshell / groovy / grash provide an agent to run around inside your apps. Of course, since the jconsole app source is probably available, you could just put an extra tab on it for a script console.&lt;br /&gt;&lt;br /&gt;An obvious question is, why isn't this a standard API to the JVM? Many companies run multiple VMs (ie different vendors)  it would be great to have these tools for any VM.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-113363209882462286?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/113363209882462286/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=113363209882462286' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/113363209882462286'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/113363209882462286'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2005/12/attach-api.html' title='Attach API'/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-113337146668328086</id><published>2005-11-30T17:24:00.000Z</published><updated>2005-11-30T17:27:26.450Z</updated><title type='text'>More performance thoughts..</title><content type='html'>I got a &lt;a href="http://kendes.blogspot.com/2005/11/future-of-performance.html#113328878582839279"&gt;comment&lt;/a&gt; (anonymous.. please let me know who you are!) on the &lt;a href="http://kendes.blogspot.com/2005/11/future-of-performance.html"&gt;future of performance&lt;/a&gt; post.&lt;br /&gt;&lt;blockquote&gt;sounds like you're advocating external co-processors... the kinds of processors he's advocating are more like Tensilica&lt;/blockquote&gt;&lt;br /&gt;I am advocating co-processors. In time the capabilities may merge with Van Neumann style chips, or at least be on the same die. Core's (since I don't *think* they do burnt chips) like Tensilica are useful, as are other hybrid designs like &lt;a href="http://www.stretchinc.com/"&gt;Stretch&lt;/a&gt; or even (eek, a static chip?) like Clearspeed or even the Cell. The last couple move the mainstream forward, but I think, to really harness app specific power a reconfigurable design will be needed.&lt;br /&gt;&lt;br /&gt;The limitations with current FPGAs I'd say, are (for my apps) floating point support / capacity, the clock speed (let's get a 3GHz device - no, I don't really care about the heat coming out of it sometimes), and memory speeds. RAM running at serious speeds (there may be some), like &lt;i&gt;n&lt;/i&gt;GHz, to match the chip speeds, will really blow the socks off the performance curves for a much bigger set of applications -- I'm talking Gigs of RAM not the little blobs on-chip in FPGAs.&lt;br /&gt;&lt;br /&gt;The RAM speed is the most important one for adoption.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-113337146668328086?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/113337146668328086/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=113337146668328086' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/113337146668328086'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/113337146668328086'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2005/11/more-performance-thoughts.html' title='More performance thoughts..'/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-113207671906464353</id><published>2005-11-15T17:38:00.000Z</published><updated>2005-11-15T17:45:19.076Z</updated><title type='text'>JINI client constraints</title><content type='html'>Just read this &lt;a href="http://www.artima.com/weblogs/viewpost.jsp?thread=136457"&gt;post from Greg&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;He notes:&lt;br /&gt;&lt;blockquote&gt;... [it's possible to]  supply &lt;a href="file:///c:/jini2_1beta2/doc/api/net/jini/core/constraint/MethodConstraints.html"&gt;MethodConstraints&lt;/a&gt; to dictate what types of criteria the transport, invocation and client environments must meet to use the service. There are some interesting interactions here from the perspective that you can tell the invocation layer that your service needs to have a secure transport, with the endpoint implementation providing this guarentee. There are some interactions through the layers that make it possible for the question of "is this constraint met?" to be answered...&lt;br /&gt; &lt;br /&gt;I'd like for service lookup results to allow the client software to query the service for its requirements so that a first time use of a service could allow the client to assert the required constraint implementations&lt;br /&gt;&lt;/blockquote&gt;So as per my previous post, the client could specify an ECMAScript implementation / data format. Assuming the server end can support the downloading of that language/service format, then any suitable javascript engine could process it -- implementation competition is then possible (obviously the script env would need to cope with the network layer, presumably via a native lib from the VM).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-113207671906464353?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/113207671906464353/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=113207671906464353' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/113207671906464353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/113207671906464353'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2005/11/jini-client-constraints.html' title='JINI client constraints'/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-113206113254175038</id><published>2005-11-14T12:03:00.000Z</published><updated>2005-11-15T13:25:32.550Z</updated><title type='text'>Jini feedback</title><content type='html'>I got a &lt;a href="http://www.blogger.com/comment.g?blogID=3753787&amp;postID=113129915716363209"&gt;comment&lt;/a&gt;, I think from Dan, on &lt;a href="http://kendes.blogspot.com/2005/11/jini-still-trying-to-escape-bottle.html"&gt;my last Jini post&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;JAR caching:&lt;br /&gt;&lt;blockquote&gt;It doesn't flush .jars of course and some of that is a core library issue (not specifically a JINI problem).  &lt;/blockquote&gt;Afaik, using a different jar: url handler should be able to skip the default one and it's handling/caching. If, the core library (/Sun) can't be persuaded, then it's time for a Jini/OSS one to replace it. If a new handler can't be used to fix this, then Sun need to look hard at Jini support and fix this -- applet containers can do this today...&lt;br /&gt;&lt;br /&gt;Discovery &amp;amp; other languages:&lt;br /&gt;&lt;blockquote&gt;I'd be more tempted to go via the gateway route which can interface between other languages and Java. IMHO, it's probably not good practice to expose the implementation of detail of a service in the form of host requirements&lt;br /&gt;&lt;/blockquote&gt;Hmm, but for a given service, you don't want to have to create a gateway per service interface etc. I don't see why this can't be a standard field on an Entry -- open to interpretation by the node / filtered at the registry. The key thing is plug and play for other platforms -- there's no need for ANY java in the system if you remove the gateway.&lt;br /&gt;&lt;br /&gt;Publicly known Jini impls:&lt;br /&gt;&lt;blockquote&gt;"powered by JINI"&lt;br /&gt;&lt;/blockquote&gt;+1.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-113206113254175038?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/113206113254175038/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=113206113254175038' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/113206113254175038'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/113206113254175038'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2005/11/jini-feedback.html' title='Jini feedback'/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-113174239603325904</id><published>2005-11-11T20:26:00.000Z</published><updated>2005-11-11T21:09:00.286Z</updated><title type='text'>The future of performance..</title><content type='html'>Via &lt;a href="http://www.tbray.org/ongoing/When/200x/2005/11/11/Greg-on-Gordon"&gt;Tim Bray&lt;/a&gt;, Greg Matter nails the &lt;a href="http://blogs.sun.com/roller/page/Gregp?entry=don_t_become_moore_confused"&gt;future of chip performance&lt;/a&gt;. As Tim said, he provides numbers to add to the argument.&lt;br /&gt;&lt;br /&gt;Of course, while I agree with much of the article..&lt;br /&gt;&lt;blockquote&gt;[the] first version of SPARC was constructed from about a 100,000 transistor ASIC. So today we could fit TEN THOUSAND of our original SPARC microprocessors on a single chip. That, gentle readers, is interesting.&lt;br /&gt;&lt;/blockquote&gt;...hmm, serious multi-core...&lt;br /&gt;   &lt;blockquote&gt;(Another consequence is that these complex microprocessors are, well, complex. That means more engineers to create the design, more engineers to test that the design is correct, and whole new layers of managers to try to coordinate the resulting hundreds and hundreds of folks on the project. Bugs increase, schedules are missed, and innovation actually decreases.)&lt;br /&gt;&lt;/blockquote&gt;...and difficult...&lt;br /&gt;&lt;blockquote&gt;The result: microprocessors are dead.&lt;br /&gt;&lt;/blockquote&gt;Oops.&lt;br /&gt;&lt;blockquote&gt;The secret ...[of the solution is]... more sane processor pipeline designs ... more conservative of ... power, and complexity. (A key innovation, however, was to finally &lt;span style="font-weight: bold;"&gt;fold multithreading into the individual pipes&lt;/span&gt;).&lt;br /&gt;&lt;/blockquote&gt;Cool, multi-threaded pipelines [my emphasis].&lt;br /&gt;&lt;blockquote&gt;By 2010 microprocessors will seem like really old ideas. ... [In the future] the only place that computer design actually happens is by those who are designing chips. Everything downstream is just sheet metal. The apparent diversity of computer manufactures is a shattered illusion. In 2010, if you can't craft silicon, you can't add value to computer systems. You'd be about as innovative as a company in the 90's who couldn't design a printed circuit board.&lt;br /&gt;&lt;/blockquote&gt;I love the sheet metal comment.&lt;br /&gt;&lt;br /&gt;I agree with the article though I don't think it goes far enough. Companies like &lt;a href="http://xilinx.com/"&gt;Xilinx&lt;/a&gt; are pushing the whole notion of high level instructions or fixed pipelines by enabling fully custom chips. This is what &lt;a href="http://nggrid.com/"&gt;we&lt;/a&gt; do. There is a storm coming, and I don't think it's from just multi-core chips.&lt;br /&gt;&lt;br /&gt;&amp;lt;advert with="serious points"&amp;gt;&lt;br /&gt;&lt;blockquote&gt;With &lt;a href="http://nggrid.com/"&gt;our software&lt;/a&gt; (because it is software written for a different layer, with different constraints),  we have multi-core with &lt;span style="font-weight: bold;"&gt;serious&lt;/span&gt; hyper-threading, like dozens of them. This combines to give performance numbers which just blow away normal CPU-based systems. We can see real applications which will realise 100-1000x the performance of a typical Pentium/Opteron etc. More is possible with multi-chip in a single rack-based box (say, 2U) with &lt;span style="font-weight: bold;"&gt;lower&lt;/span&gt; power consumption.&lt;br /&gt;&lt;br /&gt;While it's not as straight forward as standard software, the ease will come. It's possible today. Come &lt;a href="http://nggrid.com/contact.html"&gt;talk&lt;/a&gt; to us.&lt;br /&gt;&lt;/blockquote&gt;&amp;lt;/advert&amp;gt;&lt;br /&gt;&lt;br /&gt;I believe custom pipelines, whether Cell, Cg/GPU or full FPGAs are the way things will go. The compilers aren't quite there yet, so it will take a while for the mainstream to adopt this. However, for certain applications, from seismic analysis, through telecoms and military real-time image analysis to &lt;a href="http://nggrid.com/"&gt;financial analytics acceleration&lt;/a&gt;, massive benefits are available today.&lt;br /&gt;&lt;br /&gt;So I'm not fully agreeing with:&lt;br /&gt;&lt;blockquote&gt; [In the future] the only place that computer design actually happens is by those who are designing chips.&lt;br /&gt;&lt;/blockquote&gt;.. since I believe, like the &lt;a href="http://java.sun.com/products/hotspot/"&gt;previous wave&lt;/a&gt; and the &lt;a href="http://gcc.gnu.org/"&gt;one before&lt;/a&gt;, ultimately the compilers will embody amazing levels of engineering knowledge.&lt;br /&gt;&lt;br /&gt;In the mean time, start your synthesis tools..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-113174239603325904?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/113174239603325904/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=113174239603325904' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/113174239603325904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/113174239603325904'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2005/11/future-of-performance.html' title='The future of performance..'/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-113136909833574312</id><published>2005-11-07T12:54:00.000Z</published><updated>2005-11-07T13:11:38.996Z</updated><title type='text'>Apparent phishing by my own bank</title><content type='html'>I recently receive an email from my bank, RBS, which looked pretty dubious.&lt;br /&gt;&lt;br /&gt;Firstly, the "from" field contained: "RBS" &lt;ccsc@rbscardsccc.co.uk&gt;   -- a host that doesn't exist. it does also contain the line:&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;br /&gt;&lt;blockquote&gt; *This is an outbound message only. Please do not reply.*  &lt;br /&gt;  &lt;span style="font-size:100%;"&gt;&lt;span style="font-family: arial;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: arial;"&gt;which suggests that customer feedback is definately not wanted. I can understand they want customers to use certain channels to feedback through, but why not just send an automated reply giving phone numbers etc. It would then allow them to monitor how may people wanted to contact them via email / on the web -- it may be significant and an easy way to understand this.&lt;br /&gt;&lt;br /&gt;I tried the above domain name, no website. I tried adding www, removing ccc and combinations. Nothing. This makes the email look like either spam or some sort of con / phish event. Both domains are registered to RBS but not having a web site makes it look dubious.&lt;br /&gt;&lt;br /&gt;At the end of the email is:&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;b&gt;&lt;/b&gt;&lt;blockquote&gt;&lt;b&gt;How do I find out more details?&lt;/b&gt;&lt;br /&gt;     You can look at the full FAQ's on &lt;a target="_blank" href="https://www.securesuite.co.uk/rbs/registration/welcome.jsp?partner=rbs.consumer"&gt; www.rbssecure.co.uk&lt;/a&gt;. &lt;/blockquote&gt;&lt;span style="font-size:100%;"&gt;which, if you look at the link destination, goes &lt;/span&gt;&lt;blockquote&gt;to:https://www.securesuite.co.uk/rbs/registration/welcome.jsp?partner=rbs.consumer&lt;/blockquote&gt;&lt;/span&gt;Another classic spam/phish tactic. Actually, going to the link text address (rbssecure) does bounce you to the latter. Sounds like the web admins, have never heard of mod_rewrite / ProxyPass. If this is real, then it should look real too.&lt;br /&gt;&lt;br /&gt;Following the FAQ link, then seeing Contacts Us page, I thought I'd let them know that I had no idea whether to trust the email or not. There is only a phone number - &lt;span class="BodyText"&gt;0870 010 4542, so I called... only to have the call dropped by the other end with no greeting or identification. Dubious, or simply poor?&lt;br /&gt;&lt;br /&gt;As a last resort, I thought I'd detail it all here and let them know via other means (if I can find a way for them to actually listen).&lt;br /&gt;&lt;br /&gt; &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-113136909833574312?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/113136909833574312/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=113136909833574312' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/113136909833574312'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/113136909833574312'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2005/11/apparent-phishing-by-my-own-bank.html' title='Apparent phishing by my own bank'/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-113129915716363209</id><published>2005-11-06T17:29:00.000Z</published><updated>2005-11-06T17:45:57.173Z</updated><title type='text'>JINI still trying to escape the bottle.</title><content type='html'>Dan posts on &lt;a href="http://jroller.com/page/dancres?entry=if_you_don_t_ask"&gt;JINI wish lists&lt;/a&gt; and &lt;a href="http://jroller.com/page/dancres?entry=jini_vs_soap"&gt;SOAP comparisons&lt;/a&gt;. Well, I've &lt;a href="http://www.google.co.uk/search?q=jini+site%3Akendes.blogspot.com"&gt;posted before&lt;/a&gt; about JINI here, so I've asked for a few things.&lt;br /&gt;&lt;br /&gt;With my current interest in &lt;a href="http://nggrid.com/"&gt;compute grids&lt;/a&gt;, there are a few things I'd ask for:&lt;br /&gt;&lt;ol&gt;   &lt;li&gt;Sort out the class caching -- whether it's the JAR cache or the class loader, I want to be able to flush the classes used in compute nodes. No, I don't want to implement it myself, I want a standard mechanism (or a mature OS implementation). It could be automatic somehow (say, classid based), but a metadata driven option would be better (eg this job depends on lib version 2.3c).&lt;/li&gt;   &lt;li&gt;Play nice with other platforms -- discovery is essentially a wire protocol, so where are the python, .NET, Ruby implementations? Build a JINI framework in the other langs, and provide some form of interop. On service discovery, declare the proxy's host requirement for the proxy -- this can include the implementation platform.&lt;/li&gt;   &lt;li&gt;Demonstrate real systems using this. A single travel agent and an rfid system aren't enough. The core community needs to prove better, cheaper, lower risk systems before other people will jump in.&lt;/li&gt;   &lt;li&gt;Again, keep lowering the barriers to entry, working examples (and simple ones), simplified config, example configs for typical projects. Books are useful -- you don't need a big publisher however, a small one will do, or a self-publish book.&lt;/li&gt;   &lt;li&gt;Integrate with Spring, Globus, DataSynapse etc etc, integration is key. Make it easy to add it to an existing project, this lowers the adoption risk.&lt;br /&gt;  &lt;/li&gt; &lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-113129915716363209?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/113129915716363209/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=113129915716363209' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/113129915716363209'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/113129915716363209'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2005/11/jini-still-trying-to-escape-bottle.html' title='JINI still trying to escape the bottle.'/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-113105966483793857</id><published>2005-11-03T22:20:00.000Z</published><updated>2005-11-03T23:14:24.880Z</updated><title type='text'>Gimpish fun</title><content type='html'>Well, I've been torturing myself by doing a bunch of web graphics with the &lt;a href="http://www.gimp.org/"&gt;Gimp&lt;/a&gt;. It's been the usual tale of usability nastiness and general loathing, however, I have to say I'm getting faster at the select, twist, shake, add a layer, blur, shadow, add &lt;span style="font-weight: bold;"&gt;two&lt;/span&gt; lumps of ice, crush, lather, rinse, repeat.&lt;br /&gt;&lt;br /&gt;The somewhat dubious creations will be unveiled over at the &lt;a href="http://nggrid.com/"&gt;next generation grid&lt;/a&gt; web site shortly. Basically the website was so ugly (created by me) that it was annoying me enough to self-baptise in the Gimp again. Oddly, the Gimp is like Perl for me, I only use it rarely so that I have to re-learn each time and since it's so unfriendly -- curiously Perl is the extension language of choice for the Gimp -- is the Gimp therefore the GUI alter ego of Perl?&lt;br /&gt;&lt;br /&gt;With the apparent drive I heard of to improve the usability of the Gimp, what is the equivalent translation to compare with $) --&gt; $CHANGE_INTRP_INV_13 ?&lt;br /&gt;&lt;br /&gt;If anyone Gimp-like made it through that, here's my feature request / RFI: when I save a file, I'd like to &lt;span style="font-weight: bold;"&gt;retain&lt;/span&gt; the undo history. I realise that the file will be &lt;span style="font-style: italic;"&gt;much&lt;/span&gt; bigger potentially (a limit may be nice too), afaict, currently, I have to choose saving endless snapshots (Save Copy) without undo between them. A second nice to have would be, in a similar vein, maintain a tree of states with navigation between them (in the same way a linear back/forward history stack in a browser is pretty limited).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-113105966483793857?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/113105966483793857/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=113105966483793857' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/113105966483793857'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/113105966483793857'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2005/11/gimpish-fun.html' title='Gimpish fun'/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-113087117596633847</id><published>2005-11-01T18:50:00.000Z</published><updated>2005-11-01T18:52:55.976Z</updated><title type='text'>map:visited</title><content type='html'>Saw this again, thought I'd post it...&lt;br /&gt;&lt;img src="http://www.world66.com/myworld66/visitedCountries/worldmap?visited=CAUSARCLATBEQIDKFRGEDEGRIEITLUNLNORUESCHUKTRKHINLANPTHVNAUFJNZCK" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-113087117596633847?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/113087117596633847/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=113087117596633847' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/113087117596633847'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/113087117596633847'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2005/11/mapvisited.html' title='map:visited'/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-113049573885172401</id><published>2005-10-28T11:21:00.000+01:00</published><updated>2005-10-28T11:40:35.786+01:00</updated><title type='text'>Data-Centre Issues Centre Stage</title><content type='html'>The continuing struggle to deal with processing demand &amp; space/heat/power constraints is getting more &lt;a href="http://searchdatacenter.techtarget.com/originalContent/0,289142,sid80_gci1136547,00.html"&gt;air-time&lt;/a&gt;. The constant drive in the finance industry for grid/blade farms is not helping either.&lt;br /&gt;&lt;br /&gt;Choice quotes from the article:&lt;br /&gt;&lt;blockquote&gt;Power requirements of the top 10% of data centers are growing at over 20%&lt;br /&gt;&lt;/blockquote&gt;&lt;blockquote&gt;According to IT infrastructure vendor, West Kingston, R.I.-based American Power Conversion Corp., the total cost of ownership for a rack of servers is between $80,000 to $150,000 per rack, and power consumption accounts for 20% of that cost.&lt;/blockquote&gt;The conclusion:&lt;br /&gt;&lt;blockquote&gt;The &lt;span style="font-weight: bold;"&gt;old ways&lt;/span&gt; of throwing equipment at IT problems -- more air conditioning units, servers, UPS units -- is going to have to be revisited. And IT pros are going to be asked to &lt;span style="font-weight: bold;"&gt;find more efficient ways &lt;/span&gt;to increase reliability and computing capacity.&lt;br /&gt;&lt;/blockquote&gt;[emphasis mine]&lt;br /&gt;&lt;br /&gt;&amp;lt;blatent-plug&amp;gt;&lt;br /&gt;Of course, my recommendation would be to move such compute requirements away from their Van Neumann shackles, and go with &lt;a href="http://nggrid.com/"&gt;reconfigurable computing&lt;/a&gt;. A large FPGA runs at about 15W compared to about 100W for a chunky CPU, given that and the performance difference of more than 100x, you can easily see the potential for massive compute densities in the data centre. As such, these &lt;a href="http://nggrid.com/"&gt;next generation grid&lt;/a&gt;s are going to drive analytics capabilities to the next level.&lt;br /&gt;&amp;lt;/blatent-plug&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-113049573885172401?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/113049573885172401/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=113049573885172401' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/113049573885172401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/113049573885172401'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2005/10/data-centre-issues-centre-stage.html' title='Data-Centre Issues Centre Stage'/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-113024348943737854</id><published>2005-10-25T13:26:00.000+01:00</published><updated>2005-10-25T13:31:29.443+01:00</updated><title type='text'>software pricing</title><content type='html'>OK, OK, I'm catching up on months of ignored blog reading (largely due to travelling..), but seeing Dave's &lt;a href="http://www.pacificspirit.com/blog/2005/07/26/calculating_the_true_price_of_software_including_options_and_futures"&gt;link&lt;/a&gt; to this &lt;a href="http://www.onlamp.com/pub/a/onlamp/2005/07/21/software_pricing.html"&gt;article&lt;/a&gt; on software pricing, certainly gives food for thought. It would be interesting to see a vendor use these rules to write warrants on their services. &lt;br /&gt;&lt;br /&gt;One point in the article that needs a further look is the option to buy an upgrade -- doesn't the future software value need to be stripped of maintenance and further upgrade value? Not sure.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-113024348943737854?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/113024348943737854/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=113024348943737854' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/113024348943737854'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/113024348943737854'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2005/10/software-pricing.html' title='software pricing'/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-113024035410956822</id><published>2005-10-25T12:39:00.000+01:00</published><updated>2005-10-25T12:39:14.116+01:00</updated><title type='text'>Joel get's bitten</title><content type='html'>&lt;a href="http://www.joelonsoftware.com/items/2005/10/25.html"&gt;Joel&lt;/a&gt; got worked up by a conference he attended. His rant's on the comment page are quite amusing. He calls this type of behaviour "architecture astronauts", I'd previously called it "consultant speak" due to source that I encountered it at. &lt;br /&gt;&lt;br /&gt;When working at a large bank, we used to have weekly meetings with an external architecture consultant. Sometimes (disturbingly frequently) he'd say a phrase or a whole diatribe (I lost contact with the grammar, tracking when a sentence or concept finished), and we'd just look blankly at each other while trying to decipher what was said. I ended up just asking him to repeat it in a simpler way, it was unfathomable. I'm not acutally sure if &lt;em&gt;anyone&lt;/em&gt; understood that stuff -- do some people just let it slide completely? Some must.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-113024035410956822?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/113024035410956822/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=113024035410956822' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/113024035410956822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/113024035410956822'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2005/10/joel-gets-bitten.html' title='Joel get&apos;s bitten'/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-113014874755030102</id><published>2005-10-24T11:12:00.000+01:00</published><updated>2005-10-24T11:16:14.820+01:00</updated><title type='text'>Loose Coupling / Service Browser</title><content type='html'>&lt;a href="http://www.iona.com/blogs/vinoski/"&gt;Steve&lt;/a&gt; &lt;a href="http://www.blogger.com/comment.g?blogID=3753787&amp;postID=113000024722939614"&gt;suggests&lt;/a&gt; I read the &lt;a href="http://blogs.tedneward.com/CommentView,guid,070274e8-ccfd-4ebd-87b5-494564c39b77.aspx"&gt;thread&lt;/a&gt; on Ted's blog -- another mega comment thread.&lt;br /&gt;&lt;br /&gt;OK, in this one -- which is mainly centred on loose coupling -- I pretty much agree with all of  &lt;a href="http://www.zeroc.com/"&gt;Michi's&lt;/a&gt; points. I don't think that a restricted number of verbs provides better scalability per se, however there are other reasons to bend toward the REST approach. Having a convention whereby it is simple (and by this i mean *trivial*, no parsing of content/body) for intermediaries (ie proxies) to determine the cachability of a message is useful -- of course HTTP has several other mechanisms specifically for this.&lt;br /&gt;&lt;br /&gt;The other major reasons to use REST style, imho, are debugging are portability. Debugging because you can use a browser to view the state easily -- provided all context can be provided in the URL. Portability in terms of, I can send URLs easily in an email, no explanation is necessary; I can send a link to a user / another team and no setup or extra software is needed. This, while not directly needed is *very* useful in an enterprise / cross team scenario.&lt;br /&gt;&lt;br /&gt;What would make the WS world much easier would be a service browser -- this may exist, I've been out of the world for a litle while. The service browser would have as it's goal, making access of a WS as easy as a web page in a normal browser. Most toolkits will build a test web page on the server side for this type of testing, however:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;you'd normally only deploy it in  a dev environment,&lt;br /&gt;&lt;/li&gt;&lt;li&gt;you can't keep a number of 'bookmarks'; it's not portable -- can I send a sample in an email?&lt;br /&gt;&lt;/li&gt;&lt;li&gt;multi-stage / stateful interactions generally don't work or are very difficult to arrange&lt;br /&gt;&lt;/li&gt;&lt;li&gt;authentication is typically not supported, unless inline to the message (eg HTTP auth / cookie redir schemes won't typically work)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;This needn't be a fat client, most can be done with a web site (except maybe the authentication one, depending on various domain issues) though a firefox plugin would be ideal. In order to do some multi-stage scenarios, some scripting (e4x, say) would be cool. A full scripting engine / command line env is not required, just enough to do if statements and xpath read/writes. The ability to send someone a link / email would be great, it's a bit more complicated but could be done (either using a web site to store it or package up the whole interaction into a single page, say, like S5/XOXO presentations). Does this exist?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-113014874755030102?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/113014874755030102/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=113014874755030102' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/113014874755030102'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/113014874755030102'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2005/10/loose-coupling-service-browser.html' title='Loose Coupling / Service Browser'/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-113000024722939614</id><published>2005-10-22T17:32:00.000+01:00</published><updated>2005-10-22T18:03:37.816+01:00</updated><title type='text'>Loose Coupling: CORBA vs WS</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;a href="http://www.iona.com/blogs/vinoski/archives/000214.html"&gt;Middleware Matters: CORBA did what?&lt;/a&gt; &lt;br /&gt;&lt;p&gt;There's a pretty good discussion going on the comments thread of this posting, generally around the topic of loose coupling. Of course, I think what causes most of the need for discussion on this is the fact that people don't define loose coupling -- the requirements aren't set, I may put that in my next post. Bits will be eluded to below though.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;I think Michi Henning's comments provide much of meat (though a a couple of others are included); I will respond to a bunch of points here...&lt;br /&gt;&lt;/p&gt;&lt;blockquote cite="http://www.iona.com/blogs/vinoski/archives/000214.html"&gt;WS is no more loosely coupled than CORBA. WS proponents claim that loose coupling is achieved by using XML, because XML can be parsed without a priori knowledge of the contents of a message&lt;/blockquote&gt;&lt;p&gt;While I agree with the first statement, XML &lt;span style="font-style: italic;"&gt;does&lt;/span&gt; make it easier, since the non-type based usages (ie non-statically bound types) are easier to cope with / debug. The human readable aspect is important -- debugging two CORBA impl's that aren't working is a real mare -- I have to admit not really using CORBA in anger since 2.1/2.2, so things may have changed, but I haven't kept up.&lt;br /&gt;&lt;/p&gt;&lt;blockquote cite="http://www.iona.com/blogs/vinoski/archives/000214.html"&gt;CORBA is typically used for communication among application components that are developed by the same team, but is not used by companies to offer a public remote API that anyone could call&lt;/blockquote&gt;&lt;p&gt;This means loose coupling is generally not an issue then -- or at least it's in no way the beast that it is for cross team / org / company.&lt;br /&gt;&lt;/p&gt;&lt;blockquote cite="http://www.iona.com/blogs/vinoski/archives/000214.html"&gt;But WSDL ends up creating type definitions that are just as tightly-coupled as IDL ones. (And everyone seems to agree that WSDL is important.) But, where does that leave loose coupling? We have XML at the protocol level, which is loose, and we have WSDL at the application level, which is not loose. &lt;/blockquote&gt;&lt;p&gt;True -- though it's more accepted to use looser types in XML than DynAny's in CORBA. Actually it's not quite WSDL that's the major problem, XSD is the stickler -- it doesn't work for validation in a loosely coupled system. Dave Orchard has written endlessly about this one.&lt;br /&gt;&lt;/p&gt;&lt;blockquote cite="http://www.iona.com/blogs/vinoski/archives/000214.html"&gt;versioning and loose coupling are not about just being able to send additional data, but also about changing existing data, operations, parameters, and exceptions. Moreover, real-world versioning is sometimes not about changing interfaces or data types but about changing *behavior*: it is common for someone to want to change the behavior of an operation for a new version of the system, but without changing any data types or operation signatures&lt;/blockquote&gt;&lt;p&gt;Changing behaviour of a single component is the *goal* of many SOA / loose systems. The trick is doing it without breaking anything else.&lt;br /&gt;&lt;/p&gt;&lt;blockquote cite="http://www.iona.com/blogs/vinoski/archives/000214.html"&gt;Loose coupling is about dealing with application-specific data types and interfaces and whether it's possible to gracefully evolve these over time&lt;/blockquote&gt;&lt;p&gt;Exactly.&lt;br /&gt;&lt;/p&gt;&lt;blockquote cite="http://www.iona.com/blogs/vinoski/archives/000214.html"&gt;multiple interfaces are a far better approach&lt;/blockquote&gt;&lt;p&gt;True, however there's an overhead, particularly in a statically bound system (ie one node) of maintaining multiple interfaces. It's a necessary approach but you want to avoid it for every possible change if you can. XSD / IDL is pretty painful here, actually RMI/Java can be much more forgiving.&lt;br /&gt;&lt;/p&gt;&lt;blockquote cite="http://www.iona.com/blogs/vinoski/archives/000214.html"&gt;trying to put loose coupling into the encoding of the data (i.e. using XML) is at too low a level precisely because loose coupling is *semantic* issue, not a syntactic one&lt;/blockquote&gt;Debug debug debug is about all I can say.&lt;br /&gt;&lt;blockquote cite="http://www.iona.com/blogs/vinoski/archives/000214.html"&gt;  Most application programmers don't want yo implement dynamic data binding logic. They want a serializeable object with access methods&lt;/blockquote&gt;True, however, depending on the interface size / change rate and flexibility of the binding this is simply not worth the effort. Actually, XMLBeans is pretty good at tolerating XML 'noise' robustly. Are there any similar ORBs?&lt;br /&gt;&lt;blockquote cite="http://www.iona.com/blogs/vinoski/archives/000214.html"&gt;&lt;p&gt;Technologically speaking, CORBA offers a robust and complete stack with a clear and well-documented approach on designing and implementing distributed solutions. &lt;br /&gt;Only disadvantage : tool/server providers were not really interested in providing true interoperability...&lt;/p&gt;The firewall issue is a fake argument.&lt;/blockquote&gt;&lt;p&gt;Robust: yes. Well-doc'd: yes for RPC, no for loose coupled systems. Interop: bad, trying to get Visibroker or Orbix to talk across more than a &lt;span style="font-weight: bold;"&gt;sub-version of the same vendor's product &lt;/span&gt;was generally horrible. It remains to be seen how this shapes up in the WS world. &lt;br /&gt;&lt;/p&gt;&lt;p&gt;Firewalls were a big problem with CORBA, both lack of good HTTP transports and the issue of embedding IP addresses inside the IIOP packets, which then get VERY confused when going through the many NAT layers of DMZs etc. Again, lack of visibility due to binary formats and ease of translation of IP addresses made CORBA miserable to work with in NAT environments.&lt;br /&gt;&lt;/p&gt;&lt;p class="citation" style="margin-left: 40px;"&gt;&lt;cite cite="http://www.iona.com/blogs/vinoski/archives/000214.html"&gt;&lt;a href="http://www.iona.com/blogs/vinoski/archives/000214.html"&gt;&lt;/a&gt;&lt;/cite&gt;Loose coupling will never happen, at least not before we have application components with reasoning capabilities.&lt;/p&gt;It happens today. Most people will not see it until they admit it's more than a technical feat however. It's (probably mostly) a management / control cost trade-off issue.&lt;br /&gt;&lt;p&gt;Appologies for lack of accurate attribution, if anyone complains I'll go back and fix it. Read the whole thread, there's a bunch of good stuff in there.&lt;br /&gt;&lt;/p&gt;&lt;span style="text-decoration: underline;"&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-113000024722939614?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/113000024722939614/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=113000024722939614' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/113000024722939614'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/113000024722939614'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2005/10/loose-coupling-corba-vs-ws.html' title='Loose Coupling: CORBA vs WS'/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-112991709545615670</id><published>2005-10-21T18:46:00.000+01:00</published><updated>2005-10-21T18:56:19.316+01:00</updated><title type='text'>New company, new look</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;As of October 10, I have a new company -- &lt;a href="http://ngGrid.com/"&gt;ngGrid&lt;/a&gt;. It's focussed on bringing the ever expanding FPGA sector to the finance industry. I'll no doubt be blogging about this stuff more often. &lt;br /&gt;&lt;br /&gt;I've had various discussions about the fact that it's called &lt;a href="http://nggrid.com/"&gt;next generation grid&lt;/a&gt; - particularly, since an FPGA is not a grid. I chose the name based on the fact that while not a grid, FPGAs can be used to solve some of the same problems -- the performance for (certain) financial calculations is quite staggering.&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-112991709545615670?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/112991709545615670/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=112991709545615670' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/112991709545615670'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/112991709545615670'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2005/10/new-company-new-look.html' title='New company, new look'/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-112988738936095232</id><published>2005-10-21T10:26:00.000+01:00</published><updated>2005-10-21T10:36:29.366+01:00</updated><title type='text'></title><content type='html'>Shells, VMs, query languages.&lt;br /&gt;&lt;br /&gt;Just seen &lt;a href="http://blogs.sun.com/roller/page/sundararajan?entry=querying_java_heap_with_oql"&gt;this&lt;/a&gt;, which is pretty damn cool. It seems from the article and the previous one that it links to, that jhat is built with a Javascript engine -- presumably the one that's built into Mustang. This brings a few thoughts..&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;How is the query language implemented? -- Is it resuable elsewhere? Is it an existing OQL implementation... are there in-mem impls?&lt;br /&gt;  &lt;/li&gt;   &lt;li&gt;It would be cool to do this on a running VM, and provide update capability :o)&lt;/li&gt;   &lt;li&gt;If usable on a running VM, does this make more Prevayler viable since essentially, you can now run reports off the VM. Adding a JDBC/ODBC driver to this mix would be cool.&lt;/li&gt;   &lt;li&gt;Could this be added / accessed from Jez's grash, groovy shell? .. what about groovy sql support :o)&lt;/li&gt; &lt;/ul&gt; On the topic of shells and xQL languages, good auto complete makes these things &lt;span style="font-style: italic;"&gt;much&lt;/span&gt; easier to use -- i seem to remember C# 3.0 / C omega has changed the order of the clauses to make it from..where..select or similar, in order to get this. While that looks mad to anyone who's spent too many hours inside databases, it does kinda make sense.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-112988738936095232?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/112988738936095232/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=112988738936095232' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/112988738936095232'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/112988738936095232'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2005/10/shells-vms-query-languages.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-112964497194348867</id><published>2005-10-18T15:14:00.000+01:00</published><updated>2005-10-18T15:16:11.950+01:00</updated><title type='text'></title><content type='html'>OPML Rant.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://fishbowl.pastiche.org/2005/10/02/whats_wrong_with_opml"&gt;Here&lt;/a&gt;. Quite funny, I thought, not intended to be, but just the rant-ish-ness...(ed: please learn english).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-112964497194348867?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/112964497194348867/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=112964497194348867' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/112964497194348867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/112964497194348867'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2005/10/opml-rant.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-112955635205376812</id><published>2005-10-17T14:31:00.000+01:00</published><updated>2005-10-17T14:39:12.093+01:00</updated><title type='text'></title><content type='html'>Aerolineas.&lt;br /&gt;&lt;br /&gt;Hmm. Dion has a mare at Gatwick with &lt;a href="http://www.almaer.com/blog/archives/001089.html"&gt;Aerolineas Argentina&lt;/a&gt;. I hate it when airlines are so bad -- due to the cost, availability and pre-booking means by the time a problem is encountered (ie when you are actually trying to fly) you're effectively in a monopoly unless you can afford to discard the ticket entirely and buy from another carrier (at another time usually).&lt;br /&gt;&lt;br /&gt;Oddly, I've flown with Aerolineas loads this year, and they've been the most efficient and reasonable carrier I've encountered -- for example their domestic tickets are changeable (including economy) up until right before the flight and have a few other nice features (though, in order to get reasonable prices, i think you need to buy them in argentina -- i spoke to several people who paid a fortune (like 3 times the price, months in advance) for the same tickets buying from abroad.&lt;br /&gt;&lt;br /&gt;On the flip side, I had an entirely rotten time with British Airways on a heavily delayed flight on the same trip... I may talk about that one later, it'll make my blood boil if I do it now and I need to get back to work.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-112955635205376812?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/112955635205376812/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=112955635205376812' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/112955635205376812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/112955635205376812'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2005/10/aerolineas.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-112911160788625133</id><published>2005-10-12T11:02:00.000+01:00</published><updated>2005-10-12T11:06:47.896+01:00</updated><title type='text'></title><content type='html'>BEAWorld 2005, London.&lt;br /&gt;&lt;br /&gt;Day one (probably will skip day two).&lt;br /&gt;&lt;br /&gt;BT&lt;br /&gt;Good talk, entertaining, and highlighting the fact that SOA is a business process change more than a technology change.&lt;br /&gt;&lt;br /&gt;BEA AquaFoo&lt;br /&gt;&lt;br /&gt;Platform, abstraction, blah blah. Good quote: "security" is a service... would like to see that one explained. Authentication and policies for authorisation can be, but overall security?&lt;br /&gt;&lt;br /&gt;Once again, there were no guidelines about how to actually achieve an SOA. No concrete examples of before and after. No hints as to *why* the tools enable SOA -- partly because no-one ever really defines what they mean, other than droning on about these mystical services. They tell you that you want them, but won't help you define what is or isn't a well behaved service.&lt;br /&gt;&lt;br /&gt;Panel Discussion&lt;br /&gt;Various chats about ROI and how to convince the business that *this* time, the technology has clothes.&lt;br /&gt;&lt;br /&gt;Steve Jones, Capgemini, makes a bucnh of good points about the mind-set shift on how to design these systems. Finally something concrete.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.azulsystems.com/"&gt;Azul Systems&lt;/a&gt;&lt;br /&gt;Talk of the day. Azul have built a processing virutalisation system based around their own processor (24 core, little floating point, low power). Java only right now, but essentially provides a normal JVM which runs on the original OS but simply acts as an IO proxy to a virtualised VM running on the Azul platform. Interesting angle and looks promising -- provided the money side is sane. Ultimately the IO will not be proxied but will go direct to/from Azul machine. One to watch.&lt;br /&gt;&lt;br /&gt;Went to a couple other talks, but they were too boring to comment on. Sorry.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-112911160788625133?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/112911160788625133/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=112911160788625133' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/112911160788625133'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/112911160788625133'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2005/10/beaworld-2005-london.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-112894025033108187</id><published>2005-10-10T11:26:00.000+01:00</published><updated>2005-10-10T11:30:50.336+01:00</updated><title type='text'></title><content type='html'>&lt;a href="http://blogs.sun.com/roller/page/wangwj?entry=why_do_i_love_unsigned"&gt;This&lt;/a&gt; is desperately needed for desktop Java. Mustang please!&lt;br /&gt;&lt;br /&gt;Having a good security model in Java is great, but if we can't leverage it except in an all or nothing manner, then it's value is drastically reduced. I wonder how easy it is to write a security manager to provide this behaviour... hmm. Lazy web, anyone?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-112894025033108187?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/112894025033108187/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=112894025033108187' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/112894025033108187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/112894025033108187'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2005/10/this-is-desperately-needed-for-desktop.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-112876569833286276</id><published>2005-10-08T10:35:00.000+01:00</published><updated>2005-10-08T11:01:38.340+01:00</updated><title type='text'></title><content type='html'>Been away, but that'll have to wait for another post...&lt;br /&gt;&lt;br /&gt;Reading &lt;a href="http://weblog.infoworld.com/udell/2005/10/03.html"&gt;Udell&lt;/a&gt;, and his quote from &lt;a href="http://www.acmqueue.org/modules.php?name=Content&amp;pa=showpage&amp;amp;pid=327"&gt;here&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;[DCOM, RMI, CORBA] are about a platform. CORBA was 95 percent API, 5 percent interoperability. Web services is zero API and 100 percent interoperability.&lt;br /&gt;&lt;/blockquote&gt;me thinks this is a good point. Of course, the corrollary is probably true.&lt;br /&gt;&lt;br /&gt;While CORBA et el succeeded at the platform elements excellently, and interop wasn't the best between vendors (or indeed between versions from the same vendor I*ahem*ona*ahem), will web services really succeed at the platform elements? Will WS interop ever really gain traction at the transaction, RM, routing elements? It's hard enough to get two or three vendors to work correctly at the API level (say for transactions) without bringing other peoples' network stack into the game.&lt;br /&gt;&lt;br /&gt;Jon also mentions:&lt;br /&gt;&lt;blockquote&gt;...cross-enterprise Web services is a marginal use case -- the real value is in "getting different technology systems to interoperate within the same enterprise."    &lt;p&gt;&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;&lt;blockquote&gt;Given the tendency of enterprises to absorb other enterprises into themselves, the inter- versus intra-enterprise distinction is yet another fuzzy boundary. But assuming we can draw that line somewhere, isn't the higher cohesion afforded by a "platform" just the sort of efficiency that Sessions recommends exploiting within a system boundary?&lt;/blockquote&gt; &lt;/p&gt; I've worked in places where the intra-company divisions are more separated than inter-company ones -- it's largely down to budget lines and motivation from up on high. In that type of place, a consistent platform is not a luxury you can hope for. I tend to think, that in practice, many systems will be stuck to together like they always have, with bits of custom code -- the real difference will be going forward it will be XML and in-process glue. In general there will always be something that doesn't &lt;span style="font-style: italic;"&gt;quite&lt;/span&gt; work for your system. The platforms that will succeed will be that ones that make it possible to apply glue (whether by providing hook points, scripting environments, pluggable endpoints etc). otherwise, we'll be writing Perl / Java/ whatever intermediaries with lots of hacky transforms etc to make things work. At least with web services, we can &lt;span style="font-style: italic;"&gt;read&lt;/span&gt; the messages without needing to unpack binary streams...&lt;br /&gt;&lt;br /&gt;Going back to the cross-enterprise point, I think this goes along with the idea that the farther apart the systems are -- in terms of control / platform / etc, NOT location -- the less you want to rely on layers of interop between them. Simply minimise the number of moving parts.&lt;br /&gt;&lt;br /&gt;This is where the REST crowd have an advantage, by minimising the ambition, they are more likely to succeed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-112876569833286276?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/112876569833286276/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=112876569833286276' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/112876569833286276'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/112876569833286276'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2005/10/been-away-but-thatll-have-to-wait-for.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-111998208632013757</id><published>2005-06-28T18:50:00.000+01:00</published><updated>2005-06-28T19:08:06.326+01:00</updated><title type='text'></title><content type='html'>ActiveGrid.&lt;br /&gt;&lt;br /&gt;Via Mr Udell's blog, saw &lt;a href="http://www.infoworld.com/article/05/06/22/26OPstrategic_1.html"&gt;this&lt;/a&gt; on &lt;a href="http://www.activegrid.com/"&gt;ActiveGrid&lt;/a&gt;. I noticed it the last time Jon mentioned the firm, but didn't pay all that much attention -- the fact the name conflicts with ActiveMQ / LogicBlaze products is not good, who knows who got there first.&lt;br /&gt;&lt;br /&gt;On the technology &lt;a href="http://www.activegrid.com/technology/index.php"&gt;page&lt;/a&gt;, a few things struck me.&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;it only seems to be competing with Java infrastructures. No mention of .NET or ASP at all.&lt;br /&gt;  &lt;/li&gt;   &lt;li&gt;it seems to be trying to spread FUD about Java, by comparing apples to meringues&lt;/li&gt;   &lt;ul&gt;     &lt;li&gt;Java cannot manipulate Strings directly -- what, it shells out to perl, or something?&lt;/li&gt;     &lt;li&gt;Java means you have to use lots of different connectivity solutions (JMS, RMI, JCA) -- err, they are VERY different technologies in intent and purpose&lt;/li&gt;     &lt;li&gt;java has a lot of overheads for xml because it is strongly typed -- err, these guys don't seem to know much about java, SAX anyone?&lt;br /&gt;    &lt;/li&gt;   &lt;/ul&gt;   &lt;li&gt;old transports &lt;span style="font-weight: bold;"&gt;bad &lt;/span&gt;(ok, they work, are high performance and are well established)&lt;/li&gt;   &lt;li&gt;xml transports &lt;span style="font-weight: bold;"&gt;good &lt;/span&gt;(meaning? REST? WS-*? Indigo? whatever BEA are calling silverstar-mahoogy these days? working? with what database? raw xml to the db, are you serious? I could go on ... )&lt;br /&gt;  &lt;/li&gt;   &lt;li&gt;language neutral services -- great, now i need to train a team to write and debug in a variety of languages? that's a help? I can see that in practice you're going to choose one only for a project, but it's not a huge selling point imho&lt;/li&gt;   &lt;li&gt;database queries in XPath, great&lt;/li&gt;   &lt;li&gt;web forms in XForms... supported by all known browsers&lt;/li&gt; &lt;/ul&gt; I gave up at this point. Either they don't know what they're doing or, more likely, they got a grad / non-techie to write the docs.&lt;br /&gt;&lt;br /&gt;I'm a little disappointed Jon didn't give a more thorough going over. It's great to tout the emergence of LAMP on the enterprise landscape, but this implementation won't help improve it's profile the way it is/is presented.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-111998208632013757?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/111998208632013757/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=111998208632013757' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/111998208632013757'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/111998208632013757'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2005/06/activegrid.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-111944195974272753</id><published>2005-06-22T12:36:00.000+01:00</published><updated>2005-06-22T13:05:59.753+01:00</updated><title type='text'></title><content type='html'>Update from the Conservatives' Charles Tannock.&lt;br /&gt;&lt;br /&gt;Not so good on this one. Looks like the Tories think software patents are ok in general and the legislation for Europe is better than the US anyway. I'll show a few quotes (with permission):&lt;br /&gt;&lt;br /&gt;Starts off not too bad:&lt;br /&gt;&lt;span style="font-family:Times New Roman,serif;"&gt;&lt;blockquote&gt;&lt;br /&gt;The objective of this Directive is to clarify existing EU Patent Law and provide patent inspectors with a common framework within which to examine and if appropriate, grant patents for genuine innovations involving digital technology. An explicit objective of the proposal is to ensure that computer software or business methods that do not involve new innovative concepts, making a technical contribution are excluded from patents. This will give the EU a distinctive and different position from the US and Japan.&lt;br /&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;However, it's been shown that the barrier to qualify is already much lower than the current UK system. Now, reading his bio, Charles is a bright spark, but it also shows a distinct lack of software development knowledge (funnily enough, being a doctor and all...). From here the response goes into freefall..&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Times New Roman,serif;"&gt;&lt;blockquote&gt;&lt;br /&gt;We need to consider the potential effect of the Directive on software development. I think that the problems here can often be exaggerated. There is little evidence from the USA that software development has been slowed down by the US patent regime. If the EU Directive is passed, it will be more restrictive than the current US patent environment. There is little sign from the USA, of large companies pursuing small companies for patent enforcement -evidence suggests that the opposite is the case. Also, patent specialists consider that the passing of the EU Directive will exclude the attempted enforcement of existing US patents across the EU. We may need to tighten up the proposal to ensure that this happens.&lt;br /&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Yep, no evidence of the growing mexican standoff in the US between largely large companies. For a system that is alledgedly there to protect the little guys, it's not a very good showing.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Times New Roman,serif;"&gt;&lt;blockquote&gt; &lt;br /&gt;We are also especially concerned to protect innovative companies, especially small firms, using digital technology to produce genuinely original technical solutions. We have been contacted by many of them and they are very concerned that they may be excluded form the patent regime by inappropriate amendments to the EU proposal. Patent royalty income is very important to these companies and is a major incentive to innovative research.&lt;br /&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Times New Roman,serif;"&gt;&lt;blockquote&gt;&lt;br /&gt;Lastly it is important to consider the impact of the Directive for the European Union to remain competitive in global markets. If Europe's capacity to protect innovation in the field of technology is reduced, compared to other regions of the world, we may in the long run no longer be able to sustain our standard of living by innovation.&lt;br /&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;br /&gt;  &lt;br /&gt;&lt;span style="font-family:Times New Roman,serif;"&gt;&lt;blockquote&gt;&lt;br /&gt;For example, European car manufacturers will increasingly compete with low cost Chinese car makers. It would clearly be a disadvantage for European manufacturers, if Chinese producers have access to innovations without incurring research and development expense, because there is insufficient patent protection. We must have a fair and balanced internationally competitive framework. &lt;br /&gt;&lt;/blockquote&gt;&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;Between mixing software and non software and throwing in a little scare mongering I think this position is pretty awful. I replied to Charles with a number of points to try to explain my concerns. I have to say, for a party that is looking to help small business this doesn't appear to be a good first move. Charles does mention that various amendments may be necessary, but then fails to specify when -- presumably well after the new rules are in place and damage may wel be done. I suspect, not knowing the procedures that well, that once in place (ie 'agreed'), getting changes will be like pulling teeth.&lt;br /&gt;&lt;br /&gt;Overall, Labour 1, Conservatives 0 -- 5 more MEPs still to respond...&lt;br /&gt;&lt;br /&gt;I did a quick search for more background, finding &lt;a href="http://www.law.duke.edu/journals/dltr/articles/2003dltr0006.html"&gt;this&lt;/a&gt; is &lt;span style="font-weight: bold;"&gt;very &lt;/span&gt;scary:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Arial,Helvitica,sans-serif;"&gt;&lt;blockquote&gt;As a final observation, it should be noted that the trend in favor of patentability, started in the U.S. in part via of the instantiation of the Court of Appeals for the Federal Circuit, appears to continue. European Judge Steinbrener, who wrote that "&lt;span style="font-weight: bold;"&gt;it is legitimate to have a mix of technical and ‘non-technical&lt;/span&gt;’ features (i.e. features relating to non-inventions within the meaning of [§] 52(2) E.P.C.) appearing in a claim, &lt;span style="font-weight: bold;"&gt;even if the non-technical features should form a dominating part&lt;/span&gt;," and his American colleague Judge Clevenger, stating that "&lt;span style="font-weight: bold;"&gt;[t]oday . . . virtually anything is patentable&lt;/span&gt;," seem to agree.&lt;/blockquote&gt;&lt;/span&gt;[my emphasis, see orignal for some extra citations etc.]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-111944195974272753?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/111944195974272753/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=111944195974272753' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/111944195974272753'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/111944195974272753'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2005/06/update-from-conservatives-charles.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-111937664135922938</id><published>2005-06-21T18:48:00.000+01:00</published><updated>2005-06-21T18:57:21.363+01:00</updated><title type='text'></title><content type='html'>Platypus.&lt;br /&gt;&lt;br /&gt;Don't know how I missed this one, but &lt;a href="http://platypus.mozdev.org/"&gt;Platypus&lt;/a&gt; is a fantastic extension to Firefox which generates Greasemonkey scripts in a (somewhat clumsy, currently) wsyiwyg type way. I'd seen that Firefox 1.1 (Deer Park) was going to allow per-site CSS, so you can stylise a site to your own preferences -- eg make text larger / etc. This goes way beyond that. it's still a little rough but this is very cool.&lt;br /&gt;&lt;br /&gt;Since I need to suggest something for them to add - (I assume the context menu is coming/broken in 1.1a1) is to be able to assemble web pages portal style. For example, can I take two pages from bbc.co.uk, say news and weather and create my own new page? The news page is currently quite narrow -- I know they are thinking of relaxing that for some users -- but being able to add aribtrary page fragments would be very cool. A logical extension to being able to cut and paste elements within a page is to be able to paste on to a fresh new page. This could be local, and use platypus, or a server-side script could be generated to produce instant portals.&lt;br /&gt;&lt;br /&gt;Obviously the custom aggregation side will raise copyright / control issues, but that doesn't mean it wouldn't be fantastic to have. Firefox's wave of cool plugins, is definately driving some smart innovations on the web.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-111937664135922938?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/111937664135922938/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=111937664135922938' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/111937664135922938'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/111937664135922938'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2005/06/platypus.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-111936987355245672</id><published>2005-06-21T16:58:00.000+01:00</published><updated>2005-06-21T17:04:33.556+01:00</updated><title type='text'></title><content type='html'>OK, first update. I've had a reply from Mary Honeyball, with a full statement, which has to be said, says exactly what I wanted. Essentially, the &lt;a href="http://www.eplp.org.uk/"&gt;&lt;b&gt;European&lt;/b&gt; &lt;b&gt;Parliamentary&lt;/b&gt; &lt;b&gt;Labour&lt;/b&gt; &lt;b&gt;Party&lt;/b&gt;&lt;/a&gt; reckon:&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;We are not in favour of the patenting of software as in the US.&lt;/li&gt;   &lt;li&gt;Europe needs a uniform legal approach to stop the drifting towards extending patentability to inventions, which would not have been traditionally allowed, and to stop patentability of pure business methods, algorithms or mathematical methods.&lt;/li&gt;   &lt;li&gt;Software products as such, must not be patented.&lt;/li&gt;   &lt;li&gt;Opensource software must be allowed to flourish and the Commission must ensure that this Directive does not have any adverse effect on opensource software and small software developers.&lt;/li&gt;   &lt;li&gt;Patents and the threat of litigation must not be used as an&lt;span class="moz-txt-citetags"&gt; &lt;/span&gt;anti-competitive weapon to squeeze out small companies.&lt;/li&gt; &lt;/ul&gt; Apparently the vote is expected to be narrow, so if you care about having a European software industry at all, go chase your MEPs &lt;span style="font-weight: bold;"&gt;now!&lt;/span&gt;&lt;br /&gt;&lt;pre wrap=""&gt;&lt;span class="moz-txt-citetags"&gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-111936987355245672?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/111936987355245672/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=111936987355245672' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/111936987355245672'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/111936987355245672'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2005/06/ok-first-update.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-111935999136608323</id><published>2005-06-21T14:14:00.000+01:00</published><updated>2005-06-21T14:19:51.370+01:00</updated><title type='text'></title><content type='html'>EU Software Patents.&lt;br /&gt;&lt;br /&gt;In a spurt of almost unseemly energy, I've just emailed (individually, long hand (well-ish)), each of the London MEPs to ask about their stance on software patents. Right now, there is a motion in the European Parliament to give the EU, US style (non-worthy-)patents.&lt;br /&gt;&lt;br /&gt;For reference, I included a couple of links:&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;  &lt;a class="moz-txt-link-freetext" href="http://www.guardian.co.uk/online/comment/story/0,12449,1510566,00.html"&gt;http://www.guardian.co.uk/online/comment/story/0,12449,1510566,00.html&lt;/a&gt;&lt;br /&gt;  &lt;/li&gt;   &lt;li&gt;  &lt;a class="moz-txt-link-freetext" href="http://www.nosoftwarepatents.com/en/m/intro/index.html"&gt;http://www.nosoftwarepatents.com/en/m/intro/index.html&lt;/a&gt;    &lt;br /&gt;  &lt;/li&gt; &lt;/ul&gt; I encourage you to do the same. The UK lists of MEPs for each region can be found &lt;a href="http://www.europarl.org.uk/uk_meps/MembersMain.htm"&gt;here.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I'll post any correspondence I receive back, here. If nothing else, it will be interesting to see if any of them reply / care.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-111935999136608323?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/111935999136608323/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=111935999136608323' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/111935999136608323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/111935999136608323'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2005/06/eu-software-patents.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-111884004921394813</id><published>2005-06-15T13:52:00.000+01:00</published><updated>2005-06-15T13:54:09.216+01:00</updated><title type='text'></title><content type='html'>Another business article to read.. &lt;a href="http://marshallbrain.com/million.htm"&gt;Marshall Brain&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Quite good, with some excellent links in there too. Some of the web stuff on &lt;a href="http://webkew.blogspot.com/2005/04/welcome-to-webkew.html"&gt;WebKEW&lt;/a&gt; is good too.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-111884004921394813?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/111884004921394813/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=111884004921394813' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/111884004921394813'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/111884004921394813'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2005/06/another-business-article-to-read.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-111866098239362940</id><published>2005-06-13T12:06:00.000+01:00</published><updated>2005-06-13T12:09:42.396+01:00</updated><title type='text'></title><content type='html'>Another (in)secure webstart demo -- from java.net. &lt;br /&gt;&lt;br /&gt;&lt;a href="https://bloged.dev.java.net/"&gt;bloged&lt;/a&gt; is the latest security mare with webstart. First, the app requires a security acceptance -- to edit a blog, why?; second, the cert on it doesn't verify. Great. Must send them an email to fix that...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-111866098239362940?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/111866098239362940/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=111866098239362940' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/111866098239362940'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/111866098239362940'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2005/06/another-insecure-webstart-demo-from.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-111865920589652827</id><published>2005-06-13T11:32:00.000+01:00</published><updated>2005-06-13T11:45:07.266+01:00</updated><title type='text'></title><content type='html'>Mustang b39.&lt;br /&gt;&lt;br /&gt;Just noticed over &lt;a href="http://java.sun.com/developer/technicalArticles/J2SE/Desktop/Mustang_build39.html"&gt;here&lt;/a&gt; that Mustang is going to get a compiler API and a script engine one. While the latter (including bundling Rhino) is pretty cool and is great news for Groovy and Beanshell too, there's a little gem hidden in the former description.&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;We also plan a tree API that will complement JSR 269 by providing access to the parse trees created when Javac compiles a program.&lt;/blockquote&gt;So hopefully a standardised AST / parser for Java code will help innovative build and testing tools. While it's not hard to get hold of a Java grammar, getting one that deals with every nuance and every new feature (eg generics) can be a fair bit harder. This was something we asked for way back at GroovyOne from John Rose -- maybe he helped push this one through. It does seem pointless that every language level tool should need to build their own trees.&lt;br /&gt;&lt;br /&gt;I wonder how similar the scripting host will be to the (defacto standard) BSF?&lt;br /&gt;&lt;br /&gt;Another cool addition is (for those on Solaris 10) dtrace probe hooks. One of my first questions to the sun guys when seeing a dtrace demo, was "does it understand Java?". It's a great tool, but the JVM is a big and complicated beast, and the last thing you'd want is to have to search for C++ locations that give you information on GC / Java threads / security checks etc. Nice.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-111865920589652827?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/111865920589652827/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=111865920589652827' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/111865920589652827'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/111865920589652827'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2005/06/mustang-b39.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-111814206903393301</id><published>2005-06-07T11:54:00.000+01:00</published><updated>2005-06-07T12:01:09.036+01:00</updated><title type='text'></title><content type='html'>Apple on Intel - Java is the winner.&lt;br /&gt;&lt;br /&gt;Yeh yeh, lots of news and opinion. For at least a few years we'll have Apple spanning chipset just like Sun do today. A big winner from all this is Java I think. Yes OS X is still going to be a different beast from Solaris and Windows, but for Java techies, an Intel/x86 box is going to be the obvious choice -- Sun, IBM, BEA all have competitve JVMs on x86, so Apple's porting efforts must be eased and/or competition of OS X JVMs has got to be healthy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-111814206903393301?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/111814206903393301/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=111814206903393301' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/111814206903393301'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/111814206903393301'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2005/06/apple-on-intel-java-is-winner.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-111814167682939495</id><published>2005-06-07T11:41:00.000+01:00</published><updated>2005-06-07T12:08:00.156+01:00</updated><title type='text'></title><content type='html'>Via &lt;a href="http://www.tbray.org/ongoing/When/200x/2005/06/03/XML-and-Religion"&gt;ongoing&lt;/a&gt;, and &lt;a href="http://www.adambosworth.net/archives/000045.html"&gt;Bosworth&lt;/a&gt;,  a comment from &lt;a href="http://www.dehora.net/journal"&gt;Bill &lt;/a&gt;which echoes my &lt;a href="http://kendes.blogspot.com/2004/10/cool.html"&gt;previous&lt;/a&gt; post about mobile code:&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt; &lt;blockquote&gt;   &lt;p&gt;Adam, I'd be less interested in XML v Javascript, than Declaration v Behaviour. &lt;/p&gt;     &lt;p&gt;This is starting to sound like what Bill Joy said a few years back about XML - at some point you need to send behaviour around, declarations aren't enough. That, for exactly same reason we end up putting scripting hooks in all our declarative languages. &lt;/p&gt;     &lt;p&gt;Sending Javascript notation for client eval will work. Eventually you will want to sandbox that behaviour off for security reasons (and limit the effect of bugs). At that point you're within spitting distance of Java 1.0 and its security model, which was designed with running remote code in mind - a chroot jail for objects.&lt;/p&gt;     &lt;p&gt;Round and round we go!&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;So, now we've come full circle maybe it's worth talking about a Jini browser. It's an idead I've had for ages, but essentially it echoes a web browser except that it's Swing (probably). And I don't mean Swing HTML controls, but fat client GUI talking whatever you want off that back due to Jeri etc. You want to administer a switch in the darkest recess of the network? Then open it's GUI.&lt;br /&gt;&lt;/p&gt; &lt;p&gt;Now I'm sure a pure fat client approach is overkill and HTML is fine for many (if not most, I'm a thin client fan), but it'll be interesting to see if the Ecmascript world starts evolving most advanced security models to cope.&lt;br /&gt;&lt;/p&gt; &lt;p&gt;This brings me to a bug bear (sp?) of mine. Yes, Java has a nice security model (ok nice maybe isn't the right word, but powerful at least) and applets can and most do bhave within it. But WHY do almost all WebStart demo's request full security access just to demo some fat client behaviour? This makes the security guarantees pointless. Lazyweb, please make people fix demos so no extra priviledge is needed. Sun please make it easier to do this. (I know there are a few bits and pieces out there - a tool from Kevin Jones at DevelopMentor springs to mind). Mozilla.org/Sun, please fix the JVM /browser integration/applet capabilities (eg allow an applet to request simply (with no other privs) to live outside the page lifecycle (either tied to the browser or even longer). This stuff needs to be easier. Maybe a Groovy browser / rhino plugin could help blur some lines... dunno.&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-111814167682939495?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/111814167682939495/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=111814167682939495' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/111814167682939495'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/111814167682939495'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2005/06/via-ongoing-and-bosworth-comment-from.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-111693697374206384</id><published>2005-05-24T13:11:00.000+01:00</published><updated>2005-05-24T13:16:13.750+01:00</updated><title type='text'></title><content type='html'>Science vs God, redux.&lt;br /&gt;&lt;br /&gt;Looks like the tiresome debate is still rearing its ugly head in the US. Dawkins has &lt;a href="http://www.timesonline.co.uk/article/0,,592-1619264,00.html"&gt;weighed &lt;/a&gt;in with a piece. I'm always amazed at the fact that this is still going on. Maybe it's because I live in a secular country, but i thought this battle was won hundreds of years ago. Ho hum.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-111693697374206384?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/111693697374206384/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=111693697374206384' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/111693697374206384'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/111693697374206384'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2005/05/science-vs-god-redux.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-111659493818932551</id><published>2005-05-20T13:45:00.000+01:00</published><updated>2005-05-20T14:15:38.230+01:00</updated><title type='text'></title><content type='html'>Inspirational Lectures.&lt;br /&gt;&lt;br /&gt;I'm working my way through the 2005 &lt;a href="http://www.bbc.co.uk/radio4/reith/"&gt;Reith Lectures&lt;/a&gt;, which are on the &lt;a href="http://www.bbc.co.uk/radio4/reith2005/"&gt;Triumph Of Technology&lt;/a&gt; by Lord Broers. It's a good series with some thought provoking ideas in places, and as ever, with good speakers, a healthy amount of history and examples. The lectures were available as an mp3 download for a few days after each one, but now are only available for streaming -- BBC please let me buy this content, preferably on DVD/mpeg/mov (not sure if this was filmed), but I'll also pay for a full set of mp3's (I only got 3 in time).&lt;br /&gt;&lt;br /&gt;Listening to these, reminded me of a &lt;a href="http://www.bbc.co.uk/pressoffice/pressreleases/stories/2004/12_december/09/dyson.shtml"&gt;lecture by James Dyson&lt;/a&gt;, for (another BBC show) the Dimbleby lecture. I caught part of it when it was broadcast, and was disappointed to not have taped it or at least seen the whole thing. I looked out the transcript and read the full content. It's a great piece; he's a good speaker; I agree with pretty much all of it. I never did understand how a service economy was sustainable (especially with finite natural resources). It's a parasite on another company, but by definition can only feed on the scraps allowed it.&lt;br /&gt;&lt;br /&gt;Both of these should be shown on TV regularly until we, as a nation / economy, start getting some momentum back again. I'm currently not working, but am working on ideas for starting my own firm. I really want to build a company, products etc. It's only partly about making money - I can make enough working for other people; it's largely about going forth under my own steam and proving I can do it. My book-shelves are still expanding these days, but more and more it's not technical or travel books but management and organisational topics that dominate. Now, I'm not looking for a magic bullet in them, but just to learn from various experiences and styles.&lt;br /&gt;&lt;br /&gt;I've spoken to loads of friends about starting a firm, and most are very supportive, but also, most wouldn't consider it themselves. They're looking for the notional extra security of working for an existing firm; it's not that I'm any better qualified or experienced. It's partly this culture that we need to change; like, for example, mortgage relief for entrepreneurs -- this would relieve the major financial burden on most people, and allow a great deal more startups to flourish with reduced risk. The relief could be for a fixed period, say, two years to allow the business to get going. Alternatively, double tax relief for pensions for those running companies, thereby giving a safety net to those striking out. Yet another idea would be to pay different levels of income and/or corporation tax if working in a new or small company.&lt;br /&gt;&lt;br /&gt;These types of issues were completely ignored in the recent election (as were the environment, pensions, the euro/europe etc). Why? Is it because most politicians are lawyers, not business people? They've done ok in a service industry, therefore it must be good for the country. Dunno, but things still need to change, the doom forcast by Dyson is coming, ready or not. It's fine to give 3rd world debt relief (and I do support that), but we also need to support ourselves so that as the developing economies grow, we can still prosper on the world stage.&lt;br /&gt;&lt;br /&gt;Ok, glad I got that over with, I start the post to just link to the Dyson and Reith lectures, and seem to have gotten carried away.. ho hum.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-111659493818932551?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/111659493818932551/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=111659493818932551' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/111659493818932551'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/111659493818932551'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2005/05/inspirational-lectures.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-111479217485243193</id><published>2005-04-29T17:26:00.000+01:00</published><updated>2005-04-29T17:29:34.853+01:00</updated><title type='text'></title><content type='html'>Learning iTunes.&lt;br /&gt;&lt;br /&gt;A few &lt;a href="http://www.plasticbag.org/archives/2005/04/on_itunes_and_ipods_and_the_data_they_dont_capture.shtml"&gt;great suggestions&lt;/a&gt; on making a media player (or indeed any software) learn from usage.  Some email app do this kind of thing, in terms of the address book, but many more apps could benefit from it too - eg spell checkers could auto pencil in words you never correct (a bug-bear of mine on my 7610 phone). Bring on the self profiling apps..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-111479217485243193?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/111479217485243193/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=111479217485243193' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/111479217485243193'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/111479217485243193'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2005/04/learning-itunes.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-111297084825748542</id><published>2005-04-08T15:24:00.000+01:00</published><updated>2005-04-08T15:34:08.256+01:00</updated><title type='text'></title><content type='html'>Jini interest.&lt;br /&gt;&lt;br /&gt;I see &lt;a href="http://jroller.com/page/dancres/20050331#tim_bray_does_jini"&gt;Dan&lt;/a&gt; and &lt;a href="http://www.tbray.org/ongoing/When/200x/2005/03/30/Jini-For-Me"&gt;Tim&lt;/a&gt; are going to work on some Jini thoughts together. I must take a look at the new starter kit. I haven't been back to look at Jini since I last commented from the conference. Seems Tim picked up on the same thing I noticed - that the HelloWorld example is not in the slightest. It's a multi-protocol, multi-feature example thats (imho) far too complicated. If you can understand all the aspects of the example, you already know a significant amount about Jini.. kind of cart before horse.&lt;br /&gt;&lt;br /&gt;One good thing I see from jini.org is the new licensing scheme, they certainly needed it. It seems (cos the posting isn't that clear to me, esp the start), that most of it will be Apache v2. Nice.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-111297084825748542?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/111297084825748542/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=111297084825748542' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/111297084825748542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/111297084825748542'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2005/04/jini-interest.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-111287754611351236</id><published>2005-04-07T13:35:00.000+01:00</published><updated>2005-04-07T13:39:06.113+01:00</updated><title type='text'></title><content type='html'>Double click - highlight annoyance.&lt;br /&gt;&lt;br /&gt;When writing entries in this editor, courtesy of Blogger, the normal way I enter links is to double click the word that is to form the link, then paste in the URL to the dialog the pops up due when I hit the link button in the toolbar. However, the double click always extends the selection to include the space after the word, which is a pain to then remove (ok, shift left arrow isn't awful but it does interupt the flow quite badly, and after a few links it gets very annoying) -- I hate having a space at the end of the link for some reason.&lt;br /&gt;&lt;br /&gt;I'm not suggesting it's the Blogger editors fault, it's probably Firefox, but it would sure be nice if they fixed it when amending the text to add the link...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-111287754611351236?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/111287754611351236/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=111287754611351236' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/111287754611351236'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/111287754611351236'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2005/04/double-click-highlight-annoyance.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-111287729687749822</id><published>2005-04-07T13:28:00.000+01:00</published><updated>2005-04-07T13:34:56.876+01:00</updated><title type='text'></title><content type='html'>Brain Seizures.&lt;br /&gt;&lt;br /&gt;It's odd how, quite often it's not the blog &lt;a href="http://www.dehora.net/journal/2005/04/turn_and_then_attack.html"&gt;posting&lt;/a&gt; I'm reading that I find significant, but the one it's &lt;a href="http://www.joelonsoftware.com/articles/fog0000000339.html"&gt;linking&lt;/a&gt; to. They way Joel struggles to get moving is something I'm incredibly familiar with. On a couple of projects I've basically had a head seizure so bad, I almost left the job (in fact it became the beginning of the end) -- it was partly that fact that I had a bit code that was way to complicated (I wrote it), but also that I hated the fact it was so complicated, but couldn't think of a way around it at the time (that wasn't a complete rewrite, or too big a change at the point inthe schedule). This caused me to stare at my PC for days, and get increasingly irritable with others in the team. Eventually the projet manager took me aside to inquire what was wrong. To his, credit we found a way of getting things going again -- unfortunately I can't remember the magic sauce. Must ask him sometime.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-111287729687749822?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/111287729687749822/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=111287729687749822' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/111287729687749822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/111287729687749822'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2005/04/brain-seizures.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-111287594953377559</id><published>2005-04-07T13:04:00.000+01:00</published><updated>2005-04-07T13:12:29.536+01:00</updated><title type='text'></title><content type='html'>Java on the desktop.&lt;br /&gt;&lt;br /&gt;I posted the following a few weeks ago on the java.net Jive forums. I didn't get a reply, so thought I'd resurect it here.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Native integration issues are killing Java on the Desktop. There needs to be a much better solution than JNI -- many Java developers today (and more tomorrow) don't know how to write in C, never mind compile / link / port across Win/Linux etc. For those who have been there, we don't want to go back.&lt;br /&gt; &lt;br /&gt;I think the Unsafe class or equiv could be expanded to give real native style access -- it doesn't need to be a security issue either, just make it the equivalent of JNI from a security point of view.&lt;br /&gt; &lt;br /&gt;By changing a single registry entry, I can take any C# class and then simply invoke the methods from inside Excel. Why can't I do this in Java? I realise there are threading / reference issues with some calls but these are all solvable. If the basic ability to make any native invocation is there, frameworks that deal with the differences in threading models etc can be built (outside the JDK imho, open source most likely, maybe on java.net). The latter will need to evolve, but there should be a way to invoke any library function.&lt;br /&gt; &lt;br /&gt;I want to take any DLL/lib and call into / regsiter callbacks from Java. No C code involved. The JDK might provide a command to generate a Java typelib.jar or something that does the low level mapping but no C code please.&lt;br /&gt; &lt;br /&gt;If Java was painless as a web services client stack on the desktop for Excel to call, most projects I've seen in the last 2 years (finance industry) would drop .NET development for pure simplicity reasons.&lt;br /&gt; &lt;br /&gt;I want integration as good as Eclipse gives, if not better -- eg most trading apps would love to embedd an excel sheet in a swing gui but don't for fear of the complexity / pain involved. (Excel has other issues but let's not go there).&lt;br /&gt; &lt;br /&gt;There's been a Java-COM bridge for ages - not really supported as far as I know though. Why not?                &lt;/blockquote&gt; It's an opinion I made to John Rose (Hotspot, Groovy) at GroovyOne last year. There's a clear bias due to my job mostly being in large banks, but I think the points are fairly general. I hope Mustang or it not, Dolphin, make some significant in-roads to Java on MS desktops. Perhaps, taking the series of arcticles &lt;a href="http://today.java.net/pub/a/today/2003/12/08/swing.html"&gt;here&lt;/a&gt; or folding &lt;a href="http://javadesktop.org/articles/jdic/index.html"&gt;JDIC&lt;/a&gt; into the JDK is needed. It would be a start; it is needed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-111287594953377559?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/111287594953377559/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=111287594953377559' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/111287594953377559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/111287594953377559'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2005/04/java-on-desktop.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-111286919639530990</id><published>2005-04-07T11:16:00.000+01:00</published><updated>2005-04-07T11:19:56.396+01:00</updated><title type='text'></title><content type='html'>Pop goes the CD.&lt;br /&gt;&lt;br /&gt;Via &lt;a href="http://www.tbray.org/ongoing/When/200x/2005/04/05/Cuban-On-CDs"&gt;ongoing&lt;/a&gt;, &lt;a href="http://www.blogmaverick.com/entry/1234000000038844/"&gt;Mark&lt;/a&gt; pretty much sums up why I'm still buying CDs and not downloading via iTunes. He also details a great market opportunity, especially for an independent label.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-111286919639530990?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/111286919639530990/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=111286919639530990' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/111286919639530990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/111286919639530990'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2005/04/pop-goes-cd.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-111203466549507482</id><published>2005-03-28T19:29:00.000+01:00</published><updated>2005-03-28T19:31:05.496+01:00</updated><title type='text'></title><content type='html'>I'm sorry.&lt;br /&gt;&lt;br /&gt;But &lt;a href="http://www.guardian.co.uk/cartoons/stevebell/0,7371,1445830,00.html"&gt;this &lt;/a&gt;just made me giggle rather more than I expected. (You need to follow British news to get it though).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-111203466549507482?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/111203466549507482/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=111203466549507482' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/111203466549507482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/111203466549507482'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2005/03/im-sorry.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-111150991200038360</id><published>2005-03-22T16:31:00.000Z</published><updated>2005-03-22T22:06:48.733Z</updated><title type='text'></title><content type='html'>Lean Projects / Organisations&lt;br /&gt;&lt;br /&gt;While catching on some &lt;a href="http://weblog.halmacomber.com/"&gt;project management opinion&lt;/a&gt;, an &lt;a href="http://weblog.halmacomber.com/2004_11_14_archive.html#110066603508986533"&gt;entry&lt;/a&gt; sparked a thought. If the company is a body, and there's a falacy that the head knows best -- if you think this, you've either not worked in a big company (well like the ones I've seen) or you haven't read &lt;a href="http://www.cioinsight.com/article2/0,1397,1569009,00.asp"&gt;this&lt;/a&gt; man's &lt;a href="http://www.twbookmark.com/books/37/0446670553/"&gt;books&lt;/a&gt; -- it occured to me there's another (quite cheesy) analogy lurking.&lt;br /&gt;&lt;br /&gt;If excess cost is shed in the form of lay-offs (which I'm pretty &lt;a href="http://news.efinancialcareers.com/JOB_MARKET_ITEM/newsItemId-18500000000060342"&gt;familiar&lt;/a&gt; with), doing it is akin to liposuction: immediately effective, but typically pointless. What you need to do is focus effort on training up the flabby bits to make them lean and more powerful, converting excess into commercial muscle. Of course, it's much harder work and requires a great deal of will power and effort. A decent strategy is also needed, for that, you need &lt;a href="http://www.summithq.com/newsroom/pdf/TTW_July28_Deutscheweb.pdf"&gt;vision&lt;/a&gt; (sorry, couldn't help it).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-111150991200038360?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/111150991200038360/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=111150991200038360' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/111150991200038360'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/111150991200038360'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2005/03/lean-projects-organisations-while.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-110968343443057093</id><published>2005-03-01T13:22:00.000Z</published><updated>2005-03-01T13:23:54.430Z</updated><title type='text'></title><content type='html'>Quote quote..&lt;br /&gt;&lt;a href="http://www.redhillconsulting.com.au/blogs/simon/archives/000244.html"&gt;&lt;br /&gt;How true&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-110968343443057093?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/110968343443057093/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=110968343443057093' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/110968343443057093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/110968343443057093'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2005/03/quote-quote.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-110962643641843011</id><published>2005-02-28T21:30:00.000Z</published><updated>2005-02-28T21:33:56.466Z</updated><title type='text'></title><content type='html'>GNER == Great New Expresses, Ridiculous rule enforcement.&lt;br /&gt;&lt;br /&gt;OK, time for another customer service gaff. Before I start, a quick appology, this is pretty long, mainly because my customer complaint will be just a link to this entry (and partly because I have a 5 hour train journey to kill).&lt;br /&gt;&lt;br /&gt;I was travelling by train from Edinburgh to London the other day, and since travelling on a Sunday, decided to upgrade to First Class (bigger seats, fewer kids, at seat power supplies, it's £15 at the weekend). In the last few years, the upgrade has been restricted to only 1 or two carriages (there are normally 3 first on the trains I get). So, being the good passenger, not hearing any announcements and having failed to see any staff on the platform prior to boarding, to dropped my stuff (4 items) off at a suitably vacant seat and went to search for a staff member to ask.&lt;br /&gt;&lt;br /&gt;I found a female staffer several coaches down the platform who said, and confirmed when double checked, that coach M was to be used for the upgrade. I went off to move my stuff (from coach L). Prior to actually moving it I checked that there was space (due to having multiple items with me) -- there was, though I thought it was a smoking carriage. This deduction was due to the fact that for the last 20 years, a non-smoking carriage has been indicated by having non-smoking stickers on every window -- this carriage had none (it was actually a prett new train, so default non-smoking - other than a small sign at the end must be the new fashion). Thinking perhaps that only smoking upgrades were available (and I don't mean that in a Jim Carey way) - I looked along the platform to check again (I'd rather go to standard class than sit for hours in a smokey carriage). This time I found a guy who again confirmed, that it was coach M and that only part of it was smoking (there was in fact a partition to keep the cancer threat under control).&lt;br /&gt;&lt;br /&gt;OK, time to move the gear. The coach only had a few people in it, so I found a table at which the reservations had not been kept -- excellent, this makes it likely I'll get the whole table for the journey. Shortly after departure I'd just settled  with my paper spread, the laptop out and set up, drink out on the table etc, when the guard comes through doing a ticket inspection. Ok, ticket and wallet out, ready to buy the upgrade.&lt;br /&gt;&lt;br /&gt;The girl sitting one row in front of me asked for an upgrade, only to be told that only coach K was available for upgrades. Err...? The girl said, she'd asked, and had been told to go to coach M. I mentioned, since in ear-shot, that I'd also been told by two platform staff that coach M should be used. I asked, that since we'd settled (the girl has also unpacked somewhat, with a laptop and papers out) could we just stay where we were? No. No way. Against the rules. I asked, since I really couldn't be bothered moving all my stuff (again), could the guard possibly check with a supervisor? "Already have", promptly came back, "he said you've got to move to coach K." At that, another girl, who'd been sitting farther up the carriage, passed by, at which the guard He then went on to ask if I wanted an upgrade, I replied I would if I found a suitable seat in coach K (not knowing how busy it'd be). Time to move.&lt;br /&gt;&lt;br /&gt;A couple of journeys up the train each (since neither myself nor the other girl could be bothered packing up completely, just to unpack it again) I was ready to settle in the grandness of coach K (which looked remarkably similar to coach M). When the guard caught up with us, and I was paying for my upgrade, I asked for the name of the supervisor (always handy if making a complaint I think), only to be told that I was not to be informed of such a fact. Hmm, protecting a supervisor, seems the wrong way round - sounds an awful lot like it was a fictitious manager check. He said I could take his name though, which was awful decent -- though the badge on his jacket was a bit of a give away (perhaps if it wasn't, I wouldn't have got his name either?). He stated that he'd announced on the tannoy system which coach to use several times. Well, I must have missed most of these since I was trying to find staff to ask, and the one announcement I was aware of was very garbled (but see ****).&lt;br /&gt;&lt;br /&gt;I asked what the reasoning for the rule was; apparently the passengers who have booked seats (which today, though not typically means that upgrade passengers are in a different coach *) don't like upgrade passengers being allowed in their coach. They don't like the fact that some people pay less for their tickets (err, see **). Whatever, the basis for the rule, that fact that the&lt;br /&gt;train was so quiet, and that about 50% of the people in the carriage apparently got it wrong, seems to suggests that a little common sense and customer courtesy would've been reasonable. This debacle reminds me (partly of how old I am for remembering this..) of the Jobsworth Award that used to be given on the That's Life tv show. Maybe a 'net version of this is due. It could be just a vote page pointing at blog entries of corporate madness -- maybe the lazy web will sort/find it for me.&lt;br /&gt;&lt;br /&gt;Ah... *****&lt;br /&gt;&lt;br /&gt;OK time to wrap it up, got other things to read / do on this trip.&lt;br /&gt;&lt;br /&gt;I won't (at this point at least) name the train guard on the web (it will go in the complaint reference though), not least because he very politely (which he was, to be fair, mostly*****) delivered a complaint form for me to send. He commented that he'd asked another passenger in K about the announcements, and they'd said they were clear. I'm sure a few of said K passengers had GNER badges on though...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* In fact, there's normally a different level of exclusivity. One coach is often reserved for full ticket price paying customers&lt;br /&gt;rather than those who are on some sort of saver ticket, advance purchase etc.&lt;br /&gt;&lt;br /&gt;** Which is insane, since on this instance, any first ticket other than a weekend upgrade was allowed, and there are BIG differences&lt;br /&gt;in price. The trains from GNER still practice the old BR trick of making a standard fair, stupidly expensive (like an open&lt;br /&gt;single***/return is something like double the "real" standard fare, available at any time for any train from the ticket office,&lt;br /&gt;just to discourage people from getting on the train without a ticket. Fines by any other name. I think these days, pretty much&lt;br /&gt;everyone expects a range in fares based on any number of factors, from availabilty, advanced purchase, group bookings, special&lt;br /&gt;offers / bundles, etc etc.&lt;br /&gt;&lt;br /&gt;*** Ok, I know it gets silly when footnotes have footnotes, but come on, what does open single mean?&lt;br /&gt;&lt;br /&gt;**** In coach K the announcement that just came on while I was typing this, was pretty clear -- the previous ones I&lt;br /&gt;heard were not remotely as clear -- maybe some dud speakers / naff ones in the vestibules? Anyway, that doesn't affect the&lt;br /&gt;rigidity of enforcement silliness.&lt;br /&gt;&lt;br /&gt;***** Just heard another announcement, not at all clear (and that's being generous), evidently from the buffet car (given the&lt;br /&gt;content) -- maybe this was used for the garbled one I didn't hear properly earlier.&lt;br /&gt;&lt;br /&gt;****** other than his quip that he's "looking forward to reading my letter"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-110962643641843011?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/110962643641843011/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=110962643641843011' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/110962643641843011'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/110962643641843011'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2005/02/gner-great-new-expresses-ridiculous.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-110917643592354455</id><published>2005-02-23T16:05:00.000Z</published><updated>2005-02-23T16:34:08.840Z</updated><title type='text'></title><content type='html'>TCR - Deal meisters&lt;br /&gt;&lt;br /&gt;OK, so yesterday, I went to the London gadget mecca that is Tottenham Court Road. I went armed with only a few spec requirements and a list of a few laptop models I had seen on the web (from Acer, Samsung, Sony and Toshiba). I diligently meandered from shop to shop looking for a killer deal.&lt;br /&gt;&lt;br /&gt;The most impressive range I saw was consistenly that from Sony. I was mainly looking at the B1XP (I want XP Pro), but also was quite enamerred (sp?) with the new X-black displays which were very impressive (there's even a 2nd generation of X-black out it seems). I'd heard about these before, but had never gotten around to investigating (i don't hang out in computer shops).&lt;br /&gt;&lt;br /&gt;I was looking for a smallish (non-widescreen / 17") laptop with more than 800px vertically (I'm mainly going to be programming on it and I find vertical context hugely important when coding). Unfortunately, the combination of wanting XP Pro and a high res screen restricts the laptop range quite significantly, unless you want to push the price up quite a bit (was trying to keep around 1200 GBP inc VAT). The meandering continued.&lt;br /&gt;&lt;br /&gt;After being through 6-8 shops I was becoming quite jaded with the task -- too many shops with too many models and too many variables to keep in my head. Also, as you progress through the shops the salesmen become keener on the sale especially if they can undercut their neighbour (it's real friendly down there). In this condition I stumbled into Shyamtronics, an IBM auth dealer. Now, I've never been a huge fan of ThinkPads, mainly cos I think the general styling is horrendous -- when compared to a Sony or many other brands, the look of a TP is pretty dire. However, they've always had a good write up, esp for being sturdy / reliable.&lt;br /&gt;&lt;br /&gt;As you've probably sussed from the story so far, I caved in and bought an IBM laptop (T40) . It actually looks a lot better than the average TP, mainly because it's so thin. It has a hi res screen (1400x1050 i think), wifi, bluetooth, gbit ethernet, ~2kg, blah blah blah. The guys did a great deal (as far as I can tell) including a second battery (8 cell, chould last up to 8 hours!), took the RAM up to 1Gb, a case (thin one) and a lock. Laughin.&lt;br /&gt;&lt;br /&gt;Once home, I had to start priming it with software - first of which was a new set of drivers and XP SP2 (it came with only SP1) -- a bit of a pain, esp if you're not technical -- but the broadband just kept ticking away with occasional reboots while it updated everything. Cool.&lt;br /&gt;&lt;br /&gt;Next job - cancel the Dell order, while getting through to cust service, i ended up hearing the order had slipped into March.. glad to be shot of that. I have to say, that the Dell box I ordered probably would have been cheaper for the features I got, but the wait and the hassle and the lack of knowledge far outweighed the advantages.&lt;br /&gt;&lt;br /&gt;I noticed &lt;a href="http://www.almaer.com/blog/archives/000737.html"&gt;Dion &lt;/a&gt;had a little hassle -- despite Dell saying (I'm pretty sure i've seen it anyway) that they may choose to send in multiple parts if its easier for them. Oh well.&lt;br /&gt;&lt;br /&gt;One thing I have to say to almost all the laptop mftrs out there - your websites, describing the products, are &lt;span style="font-style: italic;"&gt;terrible&lt;/span&gt;! No, really. No. &lt;span style="font-style: italic; font-weight: bold;"&gt;Really&lt;/span&gt;. If you want a laptop from Dell / Sony / Acer, but don't know the model you want yet (hence why you are going to the site) it's incredibly painful to find one you want. All sites should have a decent search like &lt;a href="http://www.laptopshop.co.uk/"&gt;LaptopShop  &lt;/a&gt;. They have a search form, where you specify the bits you care about and they return a matching list. Wahey. You know, that kind of flexible search, is just the kind of technology that might just take off in the World Wide Web...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-110917643592354455?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/110917643592354455/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=110917643592354455' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/110917643592354455'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/110917643592354455'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2005/02/tcr-deal-meisters-ok-so-yesterday-i.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-110900827752493799</id><published>2005-02-21T16:59:00.000Z</published><updated>2005-02-21T17:51:17.526Z</updated><title type='text'></title><content type='html'>DELL == Dreadful Execution of Laptop saLes.&lt;br /&gt;&lt;br /&gt;10 days ago I decided to finally order a new laptop. I couldn't be bothered trailing shops or comparing endless features, so thought I'd just go with the easy route and buy a Dell. What a mistake. Should've heeded &lt;a href="http://www.jroller.com/page/cpurdy/20050109"&gt;Cameron&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I should have taken the hint when their website tortured me with incompatible service combinations between pages -- forcing me to guess the way to get only a single year of support. This practically constituted strong arm techniques to buy 3 years -- maybe OFT need to check it out...&lt;br /&gt;&lt;br /&gt;While filling out the order, and progressing through the checkout I wanted to see what the expected delivery date was. It was nowhere to be seen. Thinking "hey it's Dell, it'll only be a few days", I proceeded to order the box. On the order confirmation page - tada! the expected delivery date. Why couldn't they have shown this to me prior to confirming the order? It is because, if you actually knew how bad it was going to get, you'd run a mile? Maybe.&lt;br /&gt;&lt;br /&gt;OK, order sent. Now, I've had various issues with my credit cards recently, and I also wanted to see if the 10 day delivery was realistic or pessimistic, so I called. I really wanted the laptop asap, so was hoping to be told it would more likely ship in 1-2 business days -- seems reasonable to me for a firm with a warehouse of computers (a day's drive away), esp when I'm ordering a highly advertised, commodity model, nothing special (510m). To cut a long story short, 3 phones, about an hours worth over 2-3 days, a full rebooking, partial upgrade (yeh right) and a lot of confusion as to what's going on (largely the Dell customer service staff know very little about the reasons for statuses on their screens), I thought I had a non-blocked, non-on-hold order, just waiting to be assembled and rolled out the door.&lt;br /&gt;&lt;br /&gt;Oh what I fool I've been. Having dilligently been watching the OrderWatch web page, to see if my order was being prepared and shipped, I hoped I'd know straight away of any issues. As if. The order was supposed to arrive tomorrow (22nd Feb), so I thought, on heading to the order watch page today, that I'd see a shipped status. No. Still in pre-production. Delivery pushed back another 4 days. OK. So I call.&lt;br /&gt;&lt;br /&gt;Somewhat disconcerting is when you carefully listen to the automated phone service, type in the order number, check the repeated number and wait for a human... to be told by the system the order is not found. Oh no. Finally after the phone system has apparently bounced me through half a dozen exhanges (does this every time), I get through to a rep in Ireland (thankfully not one of the Indian service locations, 2/3 of the previous calls ended up there, and the shortening of my life is not worth the effort). The order is on hold^H^H^H^H I mean in pre-production. Why? Incompatibility -- of the carefully selected options for this very model from the Dell website. Right. Which bit? Can I change it? No. Windows XP SP2. "We don't have the disks". Okay. Really. Well, on further probing there's an incompatibility someplace with SP2. Don't know where. Or why. Or when they might have a solution. So the delivery date is pure speculation. Good. Just what I wanted to hear. I spoke to a supervisor who had just as much an idea over what the problem was, and whether it would be fixed soon, and who had no idea how to contact someone who might know. No, it's not our department...&lt;br /&gt;&lt;br /&gt;The whole experience reminded me of a mad government department, with no responsibility being held by anyone. The guys reckoned that I should have been contacted, but I wasn't. Nothing on the order watch page, no phone calls, no emails.&lt;br /&gt;&lt;br /&gt;I'm now left with no laptop even vaguely on its way. I think I'll probably cut my losses and go buy a Tosh or a Sony or a Mesh or something tomorrow. Looks like TCR is going to get a visit after all.&lt;br /&gt;&lt;br /&gt;Thanks Dell, it's been an education. Don't think I'll be buying Dell stock anytime soon, I think it's got a way to go down yet...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-110900827752493799?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/110900827752493799/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=110900827752493799' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/110900827752493799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/110900827752493799'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2005/02/dell-dreadful-execution-of-laptop.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-110440522562576970</id><published>2004-12-30T11:11:00.000Z</published><updated>2004-12-30T11:13:45.626Z</updated><title type='text'></title><content type='html'>Mike &lt;a href="http://www.pyrasun.com/mike/mt/archives/2004/12/23/22.37.00/index.html"&gt;nails&lt;/a&gt; &lt;a href="http://www.prevayler.org/wiki.jsp"&gt;Prevalyer&lt;/a&gt; to the &lt;a aiotitle="tree." href="http://www.pyrasun.com/mike/mt/archives/2004/12/25/15.02.00/index.html"&gt;tree&lt;/a&gt;. Quite amusing really.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-110440522562576970?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/110440522562576970/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=110440522562576970' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/110440522562576970'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/110440522562576970'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2004/12/mike-nails-prevalyer-to-tree.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-110348707676747572</id><published>2004-12-19T20:00:00.000Z</published><updated>2004-12-19T20:11:16.766Z</updated><title type='text'></title><content type='html'>Debug builds.&lt;br /&gt;&lt;br /&gt;Once upon a time I used to write systems in C. Back then we used to compile most of the time with debug switches on to make the symbol info available in the debugger. Of course this bloated the exes quite a bit so we used to strip the binaries for UAT and production once tested. A little side effect was that a bunch of times the systems stopped working when stripped since the extra debug packing "forgave" the odd minor memory allocation error. Nice.&lt;br /&gt;&lt;br /&gt;In Java land, I never compile any other way - of course, since I don't work for a software vendor anymore so the extra symbol info doesn't matter in terms of leaking implementation details.&lt;br /&gt;&lt;br /&gt;When trying to find a hard-to-reproduce bug, having lots of extra debug info is great -- which made me think, is there a sane way to provide builds modded with this &lt;a href="http://lambdacs.com/debugger/debugger.html"&gt;old chestnut&lt;/a&gt; without the side effects noted above? Having that level of info would be worth it's weight in gold - especially if the performance impact can be mitigated.&lt;br /&gt;&lt;br /&gt;Bil has now GPL'd Omni, but last time I spoke to him, he wasn't particularly keen on building a community around it. It seems he's now working on Eclipse integration -- good move. I mentioned that some time ago, it's really the best route I reckon.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-110348707676747572?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/110348707676747572/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=110348707676747572' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/110348707676747572'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/110348707676747572'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2004/12/debug-builds.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-110278419411089162</id><published>2004-12-11T15:50:00.000Z</published><updated>2004-12-11T17:47:32.733Z</updated><title type='text'></title><content type='html'>Jini meeting, part 2.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.jini.org/meetings/eighth/J8abstracts.html#Murphy"&gt;Brian Murphy&lt;/a&gt;&lt;br /&gt;Brian presented on how advancement in any area requires people to break away from the established norms and do things differently. In the end it was a pretty good talk, a relief at last. It certainly explains why Jini is interesting to a lot of people and also why the academic bias in a lot of projects is there -- it's almost the anti-thesis of what corporate IT is all about.&lt;br /&gt;&lt;br /&gt;Simplicity&lt;br /&gt;&lt;br /&gt;In my day job (technical architect for a bank) I'm always interested in novel design solutions from projet teams. However, the general path I try to guide them on is the one of simplicity. I'm afraid Jini just doesn't satisfy this yet. While the concepts are remarkably simple, the current implementations, infrastructure and other complexities, as far as I can see, fail the KISS tests.&lt;br /&gt;&lt;br /&gt;The other problem with Jini is the lack of body of knowledge, both documented on jini.org and in the form of examples. To illustrate, take the &lt;span style="font-weight: bold;"&gt;one&lt;/span&gt; example supplied with the starter kit. OK, so it's quite clever to have 4 classes or so illustrate &lt;span style="font-style: italic;"&gt;many&lt;/span&gt; combinations of startup configs (network protocols, authentication/activation schemes per service type etc), but that's not really a great way to introduce a newbie.&lt;br /&gt;&lt;br /&gt;On installing the starter kit, where'd you expect to find the examples?&lt;br /&gt;&lt;blockquote&gt;./examples?&lt;br /&gt;./demo? (as per the jdk)&lt;br /&gt;./docs?&lt;br /&gt;./samples? &lt;/blockquote&gt;Err, no.&lt;br /&gt;&lt;blockquote&gt;./source/vob/jive/src/com/sun/jini/example/hello/&lt;/blockquote&gt;Right. Though, I have to say, it's almost refreshing to see a Jini/Javaspace example to actually use a package name -- most seem to live in the default namespace. This is presumably done to make compiling from the command line easier. However, Makefiles, yes, Makefiles are used to compile Jini in the starter kit. Not &lt;a href="http://ant.apache.org/"&gt;Ant&lt;/a&gt;. Not &lt;a href="http://maven.apache.org/"&gt;Maven&lt;/a&gt;. Makefiles. One of the great strengths of the makefiles is that they run really nicely on any platforn just like the Java code. Err, sorry, no. Unix only please. Not even under cygwin (until after some liberal sprinkling of vi/ex commands and the odd hack).&lt;br /&gt;&lt;br /&gt;The Sun guys seemed genuinely keen to find out why jini isn't taking on. Which is nice, but I have to say there are some pretty obvious problems. I'll list a few. I know a bunch of good stuff is coming in 2.1 but wanted to empty my head ...&lt;br /&gt;&lt;ol&gt;   &lt;li&gt;Licence -- BSD/Apache please, otherwise make it a product. I don't want to spend time on something that I can't do what I want with unless there's a &lt;span style="font-style: italic;"&gt;low&lt;/span&gt; barrier to entry.&lt;/li&gt;   &lt;li&gt;Productise Jini. Define a spec, not an implementation. Allow decent competition against the standardised interfaces.&lt;/li&gt;   &lt;li&gt;Evolve. Jini has been around for years. Not much has changed. OK 2.0 gave us Jeri etc, but one of the &lt;span style="font-weight: bold;"&gt;big&lt;/span&gt; changes coming is iterators for a Javaspace. Woo. Can I pass a predicate instance to the space to match entries? Err, no. Not yet. Why not?&lt;br /&gt;&lt;/li&gt;   &lt;li&gt;Dogfood -- where are the Sun products? Is Jini baked into the app server? The directory server? Solaris? Jini seems to be almost the perfect way, ostensibly, to build a J2EE app server -- dynamic instance regstration, code deployment, persistent messaging / sessions etc) -- if not, &lt;span style="font-style: italic;"&gt;why&lt;/span&gt; not?&lt;br /&gt;&lt;/li&gt;   &lt;li&gt;Accounting. This is one of the last barriers to trusting code -- I may be able to stop it hitting the filesystem, can I sensibly stop it doing while(true) {} ? If I'm going to host code, I need to be able to stop it without killing the whole process.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Join thy brethern. Java is huge. J2EE is huge. Get on that bandwagon.&lt;br /&gt;               &lt;ul&gt;                     &lt;li&gt;Is there a standard, supported JCA adapter to call an EJB? No. Yes, there are some thread issues etc to think about, but it can't be that hard, especially since you can push much of it back into the client -- it's then just like any other remote call.&lt;/li&gt;                     &lt;li&gt;Standard JNDI / regie bridge / helpers. Why is reggie not just a DirContext? Waldo was saying to me that he didn't think reggie was a good option for enterprise wide service lookup -- a model is needed.&lt;br /&gt;&lt;/li&gt;                     &lt;li&gt;Unify the transaction models. OK, so you can generally live without XA/2PC but it makes a &lt;span style="font-style: italic;"&gt;lot&lt;/span&gt; of projects simpler. I bet outrigger (Javaspace impl) probably doesn't do full recovery - including rolling forward. JTA/XA has momentum -- can I get an Oracle JDBC driver that uses Jini 2PC? I know I can plumb it myself probably, but that's an engineering task -- that's what I want to buy from Sun. Charge me, really. Better yet, make adapters for all sane components (Sybase,Oracle,JMS,Javaspace impls).&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Provide a way to go JMS &lt;--&gt; javaspace.&lt;/li&gt;                    &lt;/ul&gt;&lt;/li&gt;   &lt;li&gt;Fix the web site. Where're the docs? It's not clear that Rio is a major project, almost part of the starter kit, it seems. Why are there 10+ container projects? The must be some serious synergy. The new container spec -- is this distinct from Rio? how? Get away from the template site from CollabNet -- why not more like java.sun.com? Much nicer / easier to use.&lt;br /&gt;&lt;/li&gt;   &lt;li&gt;Make the experience great.&lt;br /&gt;I love the stuff codehaus has on some projects: the 1 minute, 5 minute, 10 minute guides to the project (linked as well).&lt;br /&gt;  &lt;ul&gt;       &lt;li&gt;Get people excited as quickly as possible.&lt;br /&gt;    &lt;/li&gt;       &lt;li&gt;Then make the download / install / helloWorld a no brainer. All I want is a build.xml, or a shell script -- don't make me compile before running (or make it seemless).&lt;br /&gt;    &lt;/li&gt;       &lt;li&gt;First example should be a sanity check, minimal stuff. Are the services running? If not why not start them, or tell the user, not a stack trace / barf.&lt;/li&gt;       &lt;li&gt;Separate examples to show different things. Don't provide multiple classes (hidden as inner classes too) to make things look hyper flexible. There's loads of code in those classes.&lt;/li&gt;       &lt;li&gt;Supply helpers -- most examples I see supply helper classes. Why aren't these standardised, a la Jakarta commons-jini, say?&lt;/li&gt;       &lt;li&gt;Get rid of makefiles.&lt;/li&gt;       &lt;li&gt;Show stuff you can't do easily without Jini.&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;   &lt;li&gt;Find a bridge with WebStart -- where's the overlap between this and Jini ServiceUI? Is it just caching? Or versioning of jars too? Can I launch a non-applet from a browser (perhaps via an applet bridge).&lt;/li&gt;&lt;li&gt;Just to make it 10 -- Isolation API, how does that work with Jini? Should proxies be different isolates?&lt;br /&gt; &lt;br /&gt;Doh! More have popped into my head...&lt;br /&gt; &lt;br /&gt; &lt;/li&gt;   &lt;li&gt;Resolve the non-Java issue. JNI is evil, don't rely on it (or fix it - zero C code). You HAVE to play nice with .NET and others. Surrogate is OK for a subset, but why can't I use discovery and lookup directly from C#? They're based on wire protocols, so should be do-able. Can the implementation requirements of the proxy (ie JVM/CLR) not just be part of the entry's properties? If a CLR gets a Java proxy -- it should be able to bridge across the process.&lt;/li&gt;   &lt;li&gt;Talk about more than HelloWorld. There seems to be a dearth of intermediate to advence documentation (it's probably only found in email chains). For example, what are the design strategies -- should you pass complex objects, with behaviour, into a proxy? Or should the API's be fairly data centric? That's certainly the impression I've gotten from previous RMI projects. If behaviourly complex objects are passed around, then you REALLY need to make sure they only know about a fixed API. The whole separation of concerns is very important, otherwise you'll end up with a ball of mud -- re-write time!&lt;/li&gt;   &lt;li&gt;Err, Web Services -- define a sane JAX-RPC bridge, both client and server side. If you want to push to boat, you could define a protocol negotiation based on SOAP headers that allow you to drop to Jini as a pure Java optimisation. Since this can actually be a per-service protocol, massive gains are possible in performance, all without reducing the compatibility with other clients.&lt;br /&gt; &lt;br /&gt;I posted the next two on a JINI-USERS posting, but it seems to have died on the moderators cutting room floor.&lt;br /&gt; &lt;br /&gt; &lt;/li&gt;   &lt;li&gt;IoC. The rest of the Java world, including EJB3 are looking to IoC containers to do much of the donkey work of wiring apps together -- &lt;span style="font-weight: bold;"&gt;this is ideal for Jini&lt;/span&gt;. Sorry, can I say that again - &lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;Jini plugins for Spring/HiveMind/Pico will increase adoption&lt;/span&gt;&lt;/span&gt;. In the current trend, everybody is using interfaces and wiring objects with config -- a perfect fit for the nastiness of exporters/SDMs/preparers etc.&lt;/li&gt;   &lt;li&gt;AOP. The other big trend. Dynamic class loading -- time to instrument those classloaders with aspects. Work with the Aspect* teams to get hooks. This will increase exposure and get Jini into the hands of lots of other early adopter communities -- aspects will also help debug/build these things.&lt;/li&gt;   &lt;li&gt;Wiki. Trawl the mailing lists and build a wiki FAW with the info -- all the answers are here, get them into the users' hands.&lt;/li&gt;&lt;li&gt;Roadmap -- what is it? I hear there's a 2.1, how about 2.2? 3.0?&lt;br /&gt;  &lt;/li&gt;   &lt;/ol&gt;Ok, so a few more things than I expected. I'm sure a few more will appear eventually.&lt;br /&gt;&lt;br /&gt;Right, back to the conference.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.jini.org/meetings/eighth/J8abstracts.html#RFID"&gt;RFID&lt;/a&gt;&lt;br /&gt;An OK session about the use of jini in a customer solution. Like most sessions, I didn't really get into this one. The technical details about the project seemed a bit sparse.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.jini.org/meetings/eighth/J8abstracts.html#Kendall"&gt;Gary Kendall&lt;/a&gt;&lt;br /&gt;Gary's written a mini-calculation grid using Jini. Excel calls a web service which distributes slices of calculations amongst a number of user PCs. This is probably the sweet-spot for simple Jini apps, I think.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.jini.org/meetings/eighth/J8abstracts.html#Cars"&gt;F1 Telemetry&lt;/a&gt;&lt;br /&gt;Probably the best session of the meeting, imho. Interesting subject, good level of detail of what they did, problems solved, plans for new stuff. Just the structure of this was better than everything else. The single biggest thing, though was the discussion of issues and solutions, also it was a REAL project, not just a university project (not to diss students, but most projects are not worthy of a commercial technology presentation, most are also disturbingly naive).&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.jini.org/meetings/eighth/J8abstracts.html#Warres"&gt;Mike Warres&lt;/a&gt;&lt;br /&gt;Another good session (actually enjoyed this afternoon compared to the paucity of previous sessions). I was getting worried at the start when Mike was suggesting the opaque:&lt;br /&gt;&lt;blockquote&gt;md:314159627&lt;/blockquote&gt;while it would work, can you imagine debugging this? You definitely need the filename, if only for sanity. Good depth, a project to watch.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.jini.org/meetings/eighth/J8abstracts.html#CresWar"&gt;Community Lessons&lt;br /&gt;&lt;/a&gt;A pretty good session about how to break and then fix a Javaspace impl by throwing fairly ambitious (aka silly) problems at it; a whole video stream; each frame of a stream; each pixel?!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Conclusion&lt;br /&gt;&lt;br /&gt;Well the Meeting has certainly re-kindled my interest in the Jini world, though after the first day, I was starting to think it was not it good shape. I obviously have a few opinions on what they need to do to increase adoption / mature the offering. I've a couple of other thoughts on Jini ideas, but will use a separate posting, since this one is already too big.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-110278419411089162?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/110278419411089162/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=110278419411089162' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/110278419411089162'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/110278419411089162'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2004/12/jini-meeting-part-2.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-110241912525747906</id><published>2004-12-07T11:20:00.000Z</published><updated>2004-12-07T12:06:03.406Z</updated><title type='text'></title><content type='html'>&lt;a href="http://www.jini.org/meetings/eighth/index.html"&gt;Jini Community Meeting&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Actually, I started at the &lt;a href="http://www.jini.org/meetings/eighth/kickstart.html"&gt;Kickstart session&lt;/a&gt; on the Monday before. This was a high level view of Jini and Javaspaces. I suppose I should have read the description in a bit more detail, since the session was very high level and more of an introduction for those who'd never read up or used either technology. The best part was a (unfortunately) brief discussion on when to use Jini/spaces over the more established J2EE based products. The feeling was that compute farms and workflow are the sweet spots, classic client server or pub/sub or even queuing systems should go down the normal roads (eg web/web services).&lt;br /&gt;&lt;br /&gt;Pub session (who me?)&lt;br /&gt;Chatted to John ___ , about the continuous bleeding edge nature of Jini/spaces. For example, if Sun believe in the technology, why don't they use it? Where are the products? I get the feeling Jini is pretty much a toy system (in terms of usage rather than potential or capability) -- ie most people pick it up, turn it over then decide that the effort needed to fully understand it, due to lack of overall mindshare / knowledge / experience is too high, and that either a much simpler home grown approach is sufficient or that using J2EE apis instead is the best route.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://jini.org/"&gt;jini.org&lt;/a&gt;&lt;br /&gt;I've just taken another look at the &lt;a href="http://jini.org/"&gt;jini.org&lt;/a&gt; website, and I have to say it's not very inviting. It doesn't provide (that I can see at first glance) a list of tutorials, list of docs, a list of samples etc. It has a number of links to lots of projects in various states of decay / liveliness. There seems to be x (10, 20+ ?) service container projects --- why so many? Can people not agree on features? I don't want to learn loads of different containers just to get some simple services running without writing my own container.&lt;br /&gt;&lt;br /&gt;While I'm ranting, thought I'd complain about the use of project names for all the support services -- reggie (ok I can guess this is something to do with registration), outrigger (err, does what?), mahalo (hmm, not much to give it away), etc, etc. This just raises the barrier to entry since you have to remember the different names for each service. I don't understand why something like registryd, lookupd, javaspaced, transactiond  couldn't be used -- at least I'd have a chance of guessing what each one does.&lt;br /&gt;&lt;br /&gt;I seem to remember an old Jini distribution by JPower (i think) - this was basically a jboss instance which launch all the services you needed, preconfigured to talk to each other - all you needed was to start a client or service vm. tada. thankyou. goodnight. This is what we need. Talking to Dan Creswell he says his blitz project provides a much nicer experience -- this should be referenced on the jini.org home page instead of the &lt;span style="font-style: italic;"&gt;non-&lt;/span&gt;starter kit (grr, reg to download...).&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.jini.org/meetings/eighth/J8abstracts.html#Waldo"&gt;Jim Waldo&lt;/a&gt;&lt;br /&gt;Arrived a bit late to this one, but Jim was espousing on topic of keeping object models simple and pure, distinct from non-object identity responsibilities like QoS etc. In particular versioning / type evolution is an area that is often fudged creating more problems down the road than solving it upfront. Unfortunately, as Jim stated, no real solutions, best practices or real suggestions for approaches were put forward -- pretty disappointing.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.jini.org/meetings/eighth/J8abstracts.html#Sag"&gt;Dave Sag&lt;/a&gt;&lt;br /&gt;Dave explains exactly why you shouldn't trust external firms to design systems when the motivation for the supplier is cv-agmentation. He described a bunch of projects that failed to impress, I have to say the lack of positive outcome (or insightful conclusions), didn't encourage me to ever hire his current firm. The self deprecating humour was a bit over done given the lack of depth. Again a bit disappointing.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.jini.org/meetings/eighth/J8abstracts.html#Mood"&gt;Mood Ring&lt;/a&gt;&lt;br /&gt;Could have been good, but the demo barely worked (I couldn't get on, but that's probs my ancient 98 laptop being daft). Overall, :o/ .&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.jini.org/meetings/eighth/J8abstracts.html#White"&gt;Tom White&lt;/a&gt;&lt;br /&gt;An overview on building a (trivial) compute farm using Jini/spaces. Err, isn't this just the Artima intro slides? The system looked very prototypical - no management, worker reloads all classes for each unit of work(!). Not a great presentation, and not much depth, are you starting to see a trend here?&lt;br /&gt;&lt;br /&gt;I'll finish this posting here cos a can't be bothered to write up the lightning session... I'll let you draw your own conclusion.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-110241912525747906?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/110241912525747906/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=110241912525747906' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/110241912525747906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/110241912525747906'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2004/12/jini-community-meeting-actually-i.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-109924880258635809</id><published>2004-10-31T18:49:00.000Z</published><updated>2004-10-31T18:53:22.586Z</updated><title type='text'></title><content type='html'>Max Headroom-esque political short.&lt;br /&gt;&lt;br /&gt;Got &lt;a href="http://home.earthlink.net/%7Ehouval/gopconstrm.mov"&gt;this&lt;/a&gt; from the &lt;a href="http://www.bnlblog.com/"&gt;BNL blog&lt;/a&gt; -- very amusing. While watching it, it struck me that W always appears to be constantly unsure of what he's saying; it's almost as if he doesn't believe he's getting away with it. The smug grin arrives when he thinks he has... it always comes across to me as conceit though.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-109924880258635809?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/109924880258635809/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=109924880258635809' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/109924880258635809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/109924880258635809'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2004/10/max-headroom-esque-political-short.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-109922670929851304</id><published>2004-10-31T13:35:00.000Z</published><updated>2004-10-31T12:45:21.693Z</updated><title type='text'></title><content type='html'>Cool. The &lt;a href="http://seanmcgrath.blogspot.com/archives/2004_10_24_seanmcgrath_archive.html#109912951985490558"&gt;rebirth&lt;/a&gt; of mobile code. Hmm, what would happen if you build Jini from Javascript instead of Java? If using Rhino/a JVM, you could still get the transports and security on a Java node, but with availability on .NET too (I'm assuming there's a sane Javascript engine for .NET outside of the IE gui layer).&lt;br /&gt;&lt;br /&gt;Using javascript would make getting continuations easier too for distributed workflow / stateful apps.&lt;br /&gt;&lt;br /&gt;So we could build a Jini network using web services for the transport (just to be en vogue, though plain http for browsers might be more interesting) with the code being Javascript to keep it dynamic and platform independent. Cool, something to chat about at the upcoming &lt;a href="http://www.jini.org/meetings/eighth/"&gt;Jini meeting.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-109922670929851304?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/109922670929851304/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=109922670929851304' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/109922670929851304'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/109922670929851304'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2004/10/cool.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-109906934154830444</id><published>2004-10-29T18:01:00.000+01:00</published><updated>2004-10-29T18:02:21.546+01:00</updated><title type='text'></title><content type='html'>&lt;a href="http://pres2004.scripting.com/2004/10/29#a5"&gt;Link voting&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-109906934154830444?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/109906934154830444/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=109906934154830444' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/109906934154830444'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/109906934154830444'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2004/10/link-voting.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-109810486956961129</id><published>2004-10-18T14:04:00.000+01:00</published><updated>2004-10-18T14:07:49.570+01:00</updated><title type='text'></title><content type='html'>&lt;a href="http://beust.com/weblog/archives/000197.html"&gt;JMS/async testing&lt;/a&gt; from Cedric&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-109810486956961129?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/109810486956961129/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=109810486956961129' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/109810486956961129'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/109810486956961129'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2004/10/jmsasync-testing-from-cedric.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-109810454866860341</id><published>2004-10-18T14:01:00.000+01:00</published><updated>2004-10-18T14:02:28.666+01:00</updated><title type='text'></title><content type='html'>This thing just gets &lt;a href="http://www.geoffarnold.com/mt-archives/000258.html"&gt;scarier&lt;/a&gt;.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-109810454866860341?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/109810454866860341/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=109810454866860341' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/109810454866860341'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/109810454866860341'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2004/10/this-thing-just-gets-scarier.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-109809888265195559</id><published>2004-10-18T12:23:00.000+01:00</published><updated>2004-10-18T12:28:02.653+01:00</updated><title type='text'></title><content type='html'>Cool - a JavaSpace based project for &lt;a href="http://www.c24.biz/c24_match_obj.htm"&gt;event driven matching&lt;/a&gt;. I wonder how many other commercial products are using this stuff.&lt;br /&gt;&lt;br /&gt;Like many people, I find Jini and Spaces interesting, but there's always something that stops me thinking it's a great match for a production system (esp given all the controls that means in a big company). It's going to be a real challenge for the community to define best practices to overcome such issues. I'm hoping to attend the &lt;a href="http://www.jini.org/meetings/eighth/Registration/index.html"&gt;Jini Community Meeting  &lt;/a&gt;in London to ask about this type of issue.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-109809888265195559?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/109809888265195559/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=109809888265195559' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/109809888265195559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/109809888265195559'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2004/10/cool-javaspace-based-project-for-event.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-109809859477618432</id><published>2004-10-18T12:21:00.000+01:00</published><updated>2004-10-18T12:23:14.776+01:00</updated><title type='text'></title><content type='html'>New ajdt release: &lt;a href="http://dev.eclipse.org/viewcvs/indextech.cgi/%7Echeckout%7E/org.eclipse.ajdt/AJDT1.2src/org.eclipse.ajdt.ui/doc/whatsnew120M1/newnoteworthy.html"&gt;1.2.0M1&lt;/a&gt;. Must go try it out. Nice visualiser changes.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-109809859477618432?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/109809859477618432/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=109809859477618432' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/109809859477618432'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/109809859477618432'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2004/10/new-ajdt-release-1.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-109786085657106019</id><published>2004-10-15T18:19:00.000+01:00</published><updated>2004-10-15T18:31:58.803+01:00</updated><title type='text'></title><content type='html'>&lt;a href="http://www.tbray.org/ongoing/When/200x/2004/10/14/Election2004"&gt;Amen&lt;/a&gt; from the UK.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-109786085657106019?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/109786085657106019/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=109786085657106019' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/109786085657106019'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/109786085657106019'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2004/10/amen-from-uk.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-108634407229536301</id><published>2004-06-04T10:41:00.000+01:00</published><updated>2004-06-04T11:14:32.296+01:00</updated><title type='text'></title><content type='html'>&lt;a href="http://weblogs.java.net/pub/wlg/1393"&gt;Simon&lt;/a&gt;'s having some JMS fun. I'm not sure he's interpreting one part correctly though (but I haven't tried this so will reserved punishment..). The quote: &lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Message-driven beans should not attempt to use the JMS API for message acknowledgment. Message acknowledgment is automatically handled by the container. If the message-driven bean uses container managed transaction demarcation, message acknowledgment is handled automatically as a part of the transaction commit. If bean managed transaction demarcation is used, the message receipt cannot be part of the bean-managed transaction, and, in this case, the receipt is acknowledged by the container.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;I would interpret that to mean the container should use normal auto-ack mode of JMS -- the ack is done on successful completion of onMessage, rather than before.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-108634407229536301?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/108634407229536301/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=108634407229536301' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/108634407229536301'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/108634407229536301'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2004/06/simons-having-some-jms-fun.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-108281066347177145</id><published>2004-04-24T13:42:00.000+01:00</published><updated>2004-04-24T22:30:38.293+01:00</updated><title type='text'></title><content type='html'>&lt;a href="http://www.gizmodo.com/archives/carbon-fiber-powerbook-mockup-015448.php"&gt;Carbon Fibre G5&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Been waiting for a G5 powerbook, would be cool if they looked like that...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-108281066347177145?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/108281066347177145/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=108281066347177145' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/108281066347177145'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/108281066347177145'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2004/04/carbon-fibre-g5-been-waiting-for-g5.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-108220982302301718</id><published>2004-04-17T14:50:00.000+01:00</published><updated>2004-04-17T14:54:17.733+01:00</updated><title type='text'></title><content type='html'>EJB 3.0 further notes..&lt;br /&gt;&lt;br /&gt;One of the big focus items is ease of use. JDK1.5 (since this will be in J2EE 1.5) will be required - hence generics and metadata will be leveraged. Also, since the jump is from 2.1 to 3.0, then a new model is possible, not backwards compat with the existing 1.x and 2.x models (though the existing will still be supported) -- i think this is to enable a significant change.&lt;br /&gt;&lt;br /&gt;Apparently there is a desire in the EJB expert group to provide a POJO persistence mechanism, not entity related and, to my surprise, not JDO related.&lt;br /&gt;&lt;br /&gt;We were asked to list titles of features we'd like to see then rate the list, I'll avoid the ratings but provide a few of the titles the group came up with:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Enable easier testing outside of the container for TDD (most popular)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Provide a mechanism to specific JMS selectors at runtime (perhaps via JMX) to allow dynamic reconfig of message consumption&lt;/li&gt;&lt;br /&gt;&lt;li&gt;More powerful EJB-QL constructs&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Allow dynamic specification of EJB-QL&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Allow escaping to SQL instead for EJB-QL to allow use of stored procs / vendor extensions&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Reduce the need for deployment descriptors, perhaps via more aggresive defaulting (how much info is needed for a stateless session bean for example)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Use of metadata to provide dd type info&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Cache invalidation (perhaps extended to a generic cache capability)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;If remote interface is akin to business instance methods, and home interface to statics, why not just make them that -- ie home is generated from the statics and the others from public instance methods (defaulting could go either way on this)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Remove the ejb prefix (eg ejbMyMethod) in the implementation -- this would also allow the imp to actually implement the remote interface -- compile time safety, also corba style&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-108220982302301718?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/108220982302301718/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=108220982302301718' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/108220982302301718'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/108220982302301718'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2004/04/ejb-3.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-108220757044907955</id><published>2004-04-17T14:12:00.000+01:00</published><updated>2004-04-17T14:38:00.090+01:00</updated><title type='text'></title><content type='html'>&lt;a href="http://accu.org/conference/events_2004_04_17.html#75"&gt;Heretical Java 1&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This session attempts to face down the imperfections in Java / Java understanding.&lt;br /&gt;&lt;br /&gt;GC / memory management - a discussion of the fact that Java does not remove all responsibility for memory mgmt, you still need to release references to objects. Frankly, this was tortuously slow, too many side tracks, weak references (no pun intended).  Time to leave... very disappointed in this session.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-108220757044907955?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/108220757044907955/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=108220757044907955' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/108220757044907955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/108220757044907955'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2004/04/heretical-java-1-this-session-attempts.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-108220740340907715</id><published>2004-04-17T14:10:00.000+01:00</published><updated>2004-04-17T14:13:57.873+01:00</updated><title type='text'></title><content type='html'>&lt;a href="http://accu.org/conference/events_2004_04_16.html#65"&gt;Psyco&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A Python JIT  --  utilises an understanding of the high level objects provided in Python (lists , ranges etc) to convert into efficient c code. Seems clever but embryonic  -- needs a bunch of heuristics to avoid (C) code explosion.&lt;br /&gt;&lt;br /&gt;EXCELLENT animated presentation (using pygame) -- animated JIT internals with a special appearance from a few Lemmings as the CPU -- comment was made that it would be a good technique for teaching kids how to program.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-108220740340907715?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/108220740340907715/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=108220740340907715' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/108220740340907715'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/108220740340907715'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2004/04/psyco-python-jit-utilises.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-108220357690532167</id><published>2004-04-17T13:06:00.000+01:00</published><updated>2004-04-17T13:10:11.356+01:00</updated><title type='text'></title><content type='html'>&lt;a href="http://accu.org/conference/events_2004_04_17.html#69"&gt;Towards EJB 3.0&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This workshop was to gather feedback on the existing EJB specs / implementations and find out wish-lists for the next major release.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-108220357690532167?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/108220357690532167/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=108220357690532167' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/108220357690532167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/108220357690532167'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2004/04/towards-ejb-3.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-108220334126950605</id><published>2004-04-17T13:02:00.000+01:00</published><updated>2004-04-17T13:06:15.763+01:00</updated><title type='text'></title><content type='html'>&lt;a href="http://accu.org/conference/events_2004_04_16.html#62"&gt;Aspects at work or: Getting Exception Handling right with AspectJ&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This session, the second AspectJ presentation at the conference (both by Arno), covered using a few different aspects to soften and otherwise deal with exceptions and error conditions -- the examples were based around CORBA calls. The aspects did things like exception logging / softening and auto-retry/re-connect.&lt;br /&gt;&lt;br /&gt;Arno was using Eclipse/AJDT and made good use of the compile list / declare warnings features of the toolset to  demonstrate how to add aspect based refactorings to a project. I felt the examples, while good, were a little too CORBA focussed and also infrastructure based. While this is the most obvious use of aspects in most apps (logging/security/caching/retry) I felt a more business object example was missing -- though I have to admit I can't think of a good one right now for a demo... maybe that's part of the problem with communicating AOP, more real world experience of usage is needed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-108220334126950605?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/108220334126950605/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=108220334126950605' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/108220334126950605'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/108220334126950605'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2004/04/aspects-at-work-or-getting-exception.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-108212699889581185</id><published>2004-04-16T15:49:00.000+01:00</published><updated>2004-04-16T15:53:51.543+01:00</updated><title type='text'></title><content type='html'>&lt;a href="http://accu.org/conference/events_2004_04_16.html#59"&gt;How to write large-scale applications with Python&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I was hoping this talk was going to explain how to go about managing a code base of hundreds / thousands of  modules in python highlighting strategies and gotchas particular to the Python language. However this was not to be. Instead it was a general talk about how to structure an application (sub components etc) and about general design patterns to use.&lt;br /&gt;&lt;br /&gt;I'm get the impression from both this talk ("in python we don't use patterns") and others that most python projects / developers (who have come to python directly) ignore the body of design knowledge that other languages have built up. Python certainly makes it easy to get around the strict pattern-influenced interfaces, but essentially it's the same thing, not recognising this means the vocabulary is denied (which is largely the purpose of patterns).&lt;br /&gt;&lt;br /&gt;ah - last 5 mins the goods:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;keep import deps low -- avoid from .. import *&lt;/li&gt;&lt;br /&gt;&lt;li&gt;use absolute import paths (ie full namespace) -- unpickling is a particular gotcha with relative package paths&lt;/li&gt;&lt;br /&gt;&lt;li&gt;use python pacakges&lt;/li&gt;&lt;br /&gt;&lt;li&gt;import loops can be nasty&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;And then...&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;use data objects for data encapsulation rather than simple types tuples/lists/dictionaries etc&lt;/li&gt;&lt;br /&gt;&lt;li&gt;use methods for simple tasks&lt;/li&gt;&lt;br /&gt;&lt;li&gt;use method groups for more complex ones &lt;/li&gt;&lt;br /&gt;&lt;li&gt;use mix-in classes if method groups can be deployed in more than one class context&lt;/li&gt;&lt;br /&gt;&lt;li&gt;use PyChecker to find hidden typos and possible bugs&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-108212699889581185?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/108212699889581185/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=108212699889581185' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/108212699889581185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/108212699889581185'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2004/04/how-to-write-large-scale-applications.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-108212555092918585</id><published>2004-04-16T15:25:00.000+01:00</published><updated>2004-04-16T15:29:43.890+01:00</updated><title type='text'></title><content type='html'>&lt;a href="http://accu.org/conference/events_2004_04_16.html#58"&gt;Python in Finance&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Peter gave a quick overview of finance (sales/trading side) and pondered on the reasons for using open source in this environment. I think I may have to sue him for stealing a point I made yesterday -- we (often) don't use OS due to cost reasons (in fact he reasoned that it's not cheap) but because it avoids the procurement process which is too slow and painful. &lt;br /&gt;&lt;br /&gt;He then went on to give examples of the use of python in the front office environment.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-108212555092918585?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/108212555092918585/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=108212555092918585' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/108212555092918585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/108212555092918585'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2004/04/python-in-finance-peter-gave-quick.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-108212462612141323</id><published>2004-04-16T15:10:00.000+01:00</published><updated>2004-04-16T15:14:19.280+01:00</updated><title type='text'></title><content type='html'>&lt;a href="http://accu.org/conference/events_2004_04_16.html#51"&gt;Re-Learning Python&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A review of the new features added to python since the once hallowed 1.5.2 version -- iterators, generators, new object model, metaclasses etc. A very rapid run through the features I think suffered slightly from the sheer amount of material (the talk compressed a normal 2 day content into about an hour).&lt;br /&gt;&lt;br /&gt;My general impression of Python with these new changes is that it's getting quite bloated with niche capabilities that most people will never -- or rather should never -- use. It's turning into C++ without pointers imho. Fortunately most features are tucked away, and the simple syntax (the main selling point other than the VB style libraries). I get the impression, somewhat dejectedly that most people are actually only writing glue code with python and not large systems (see later session entry on this topic).&lt;br /&gt;&lt;br /&gt;Several features are similar to what C# is doing -- properties, iterators and generators which allow a simple iterator syntax using a continuation-like support (yield keyword). I think Delphi may have had many of these for sometime.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-108212462612141323?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/108212462612141323/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=108212462612141323' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/108212462612141323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/108212462612141323'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2004/04/re-learning-python-review-of-new.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-108203579821070873</id><published>2004-04-15T14:29:00.000+01:00</published><updated>2004-04-15T14:33:49.733+01:00</updated><title type='text'></title><content type='html'>On panel blogging...&lt;br /&gt;&lt;br /&gt;We just had a fire alert so after the brief interuption...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-108203579821070873?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/108203579821070873/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=108203579821070873' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/108203579821070873'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/108203579821070873'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2004/04/on-panel-blogging.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-108203142789998043</id><published>2004-04-15T13:17:00.000+01:00</published><updated>2004-04-15T13:39:25.293+01:00</updated><title type='text'></title><content type='html'>&lt;a href="http://accu.org/conference/events_2004_04_15.html#92"&gt;OS at HP Labs&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;use two main licences LGPL &amp; BSD (no corp specific licence)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Mainly Java based OS work&lt;/li&gt;&lt;br /&gt;&lt;li&gt;DSpace - vitual libraries, live at MIT since Nov 2002, still active project&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Jena -- implementations of the Semantic Web stack from W3C (RDF/OWL/RDQL etc) plus some bits not currently specified.  its a Java framework for building SemWeb apps.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Deli -- adapting web content for multiple devices, based on Jena, can run inside Cocoon and make CC/PP info avail to cocoon&lt;/li&gt;&lt;br /&gt;&lt;li&gt;WH2FO -- process the HTML output of Word 2000 -&gt;&gt; XML -&gt;&gt; XSLT-&gt;XSL-FO&lt;/li&gt;&lt;br /&gt;&lt;li&gt;FOA -- wysiwyg XSL-FO editor&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-108203142789998043?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/108203142789998043/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=108203142789998043' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/108203142789998043'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/108203142789998043'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2004/04/os-at-hp-labs-use-two-main-licences.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-108203093090597297</id><published>2004-04-15T13:08:00.000+01:00</published><updated>2004-04-15T13:12:42.653+01:00</updated><title type='text'></title><content type='html'>&lt;a href="http://accu.org/conference/events_2004_04_15.html#100"&gt;Linux at IBM&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Just caught the end of this one, some IBM focus topics:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;OLTP / xact failover&lt;/li&gt;&lt;br /&gt;&lt;li&gt;PowerPC is the way forward&lt;/li&gt;&lt;br /&gt;&lt;li&gt;"if you chose Linux, you should not be limited in any way relative to any other OS"&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-108203093090597297?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/108203093090597297/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=108203093090597297' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/108203093090597297'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/108203093090597297'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2004/04/linux-at-ibm-just-caught-end-of-this.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-108202510240790466</id><published>2004-04-15T11:31:00.000+01:00</published><updated>2004-04-15T13:00:32.560+01:00</updated><title type='text'></title><content type='html'>&lt;a href="http://accu.org/conference/events_2004_04_15.html#33"&gt;OS Licences 101&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Licensing models are driven by desire to share, not profit&lt;/li&gt;&lt;br /&gt;&lt;li&gt;terms&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;OS developer creates IP&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Owner of IP has Copyright&lt;/li&gt;&lt;br /&gt;&lt;li&gt;People orgs can use IP&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Businesses wants to use UP as part of a distributed &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Dev chooses licence&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;... some discussions of what motivates devs and businesses and what businesses fear ...&lt;/li&gt;&lt;br /&gt;&lt;li&gt;4 groups of licences&lt;/li&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;copyleft (gpl)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;lib copyleft (lgpl)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;liberal (bsd, mozilla, apache)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;corporate (nokia , netscape etc)&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;li&gt;FSF freedoms -- freedom to run, distribute, change (need the source)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;GPL -- if you use, derivatives must be gpl, explicit tool against proprietary software&lt;/li&gt;&lt;br /&gt;&lt;li&gt;LGPL -- viral to changes in libs, doesn't spread to using code, lib must be replaceable&lt;/li&gt;&lt;br /&gt;&lt;li&gt;rights&lt;/li&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;extremes: public domain (no (c), TM, patent   OR  (c) All rights reserved, TM, patents&lt;/li&gt;&lt;br /&gt;&lt;li&gt;menu: retain ownership, reciprocity, &lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;li&gt;reciprocity: if you modify and redistm must publish the chages to the commons, only applies to redistributed works (internal use ok, because not "displayed")&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Unfortunately I couldn't get all the details down (and we skipped a few slides) -- will ask for a copy of the slides I think. Overall one of best presentations so far; David, understandably, made a point of stating he's not a lawyer, but presented the topic in a concise, laymans view of the OS licencing world. As he mentioned, there are a lot of opinions, strongly held, about specific styles of licence (the GPL / non-GPL-type divide being the biggest) -- however, many especially small, projects seem to chose a licence arbitrarily without understanding the consequences, better FAQs about this topic need to be publicised.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-108202510240790466?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/108202510240790466/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=108202510240790466' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/108202510240790466'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/108202510240790466'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2004/04/os-licences-101-licensing-models-are.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-108202338609357941</id><published>2004-04-15T11:03:00.000+01:00</published><updated>2004-04-15T11:09:49.200+01:00</updated><title type='text'></title><content type='html'>&lt;a href="http://sleepycat.com/"&gt;Sleepycat Software: Berkeley DB Database, Native XML Database, Native Java Database&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;BerkleyDB in Java, hopefully they are going to do dbxml in Java too. Time for a download..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-108202338609357941?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/108202338609357941/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=108202338609357941' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/108202338609357941'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/108202338609357941'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2004/04/sleepycat-software-berkeley-db.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-108202246069538343</id><published>2004-04-15T10:47:00.000+01:00</published><updated>2004-04-15T10:52:50.826+01:00</updated><title type='text'></title><content type='html'>&lt;a href="http://accu.org/conference/events_2004_04_15.html#32"&gt;Funding Open Source&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A disparate set of topics centred on  funding projects / development:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;discussion of Mark Shuttleworth's bounty scheme whereby open RFEs on OS projects are encouraged via cash incentives -- &lt;/li&gt;&lt;br /&gt;&lt;li&gt;talk of SBCs funding of OS firewallo testing and exploit hardening / DRAs research into comms over poor network links (eg UDP to remote space probes). This later went into how to protect IP for future generations and the corruption of copyright laws (extending from 20+ years to 90+)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;how to pitch to the European Commission for innovation grants&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-108202246069538343?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/108202246069538343/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=108202246069538343' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/108202246069538343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/108202246069538343'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2004/04/funding-open-source-disparate-set-of.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-108202047439435973</id><published>2004-04-15T10:14:00.000+01:00</published><updated>2004-04-15T10:55:00.903+01:00</updated><title type='text'></title><content type='html'>Visual C++ Giveaway&lt;br /&gt;&lt;br /&gt;Apparently, on Monday, MS will make VC7.1 (VC 2003) compiler and bits a free download (not time crippled, not usage crippled, not the IDE / GUI) -- the next version will be the same.&lt;br /&gt;&lt;br /&gt;Looks like the pressure to give away tools in order to get platform adoption is reaching MS again (C# compiler and .NET are already free downloads).&lt;br /&gt;&lt;br /&gt;Where will it all end?&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-108202047439435973?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/108202047439435973/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=108202047439435973' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/108202047439435973'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/108202047439435973'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2004/04/visual-c-giveaway-apparently-on-monday.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-108195865380261483</id><published>2004-04-14T17:04:00.000+01:00</published><updated>2004-04-15T10:10:40.856+01:00</updated><title type='text'></title><content type='html'>&lt;a href="http://accu.org/conference/events_2004_04_14.html#17"&gt;Beyond Methodology&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This session turned into an open discussion on the pros/cons of following methodologies in software development. The presenter clearly had an opinion that they should generally be avoided  (and bug tracking systems!) - though the group saw the need, the general consensus was that following a methodology and expecting it to run your project / solve world famine was the wrong expectation. &lt;br /&gt;&lt;br /&gt;Other facets mentioned:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;The need to develop the developers, in terms of growing staff.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;The requirement to encourage good quality communication between team members&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Valuing dev intuition on design&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Using spikes to reduce risk&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;The discussion was pretty lively with a whole bunch of different opinions and experiences coming out. It was clear that while everybody had some commonality of experience, there were a few differences that emerged. One guy said he used to work for a firm that had a strict method of delivery, which most of the teams didn't like very much, however he reckoned they could deliver almost all their projects to within &lt;strong&gt;10%&lt;/strong&gt; of the estimate.&lt;br /&gt;&lt;br /&gt;I think it became evident that the speaker had been burnt rather severely on a few projects where a methodology ruled the roost at the expense of team members or dynamics.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-108195865380261483?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/108195865380261483/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=108195865380261483' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/108195865380261483'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/108195865380261483'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2004/04/beyond-methodology-this-session-turned.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-108195164456531959</id><published>2004-04-14T15:07:00.000+01:00</published><updated>2004-04-14T15:25:09.250+01:00</updated><title type='text'></title><content type='html'>&lt;a href="http://accu.org/conference/events_2004_04_14.html#26"&gt;Open Source Business Models that Work&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A good overview of the various combinations of revenue streams that companies are using -- selling consultancy / support / maintenance. Overall the companies are remarkably orthodox in their outlook -- they just happen to be leveraging (and &lt;em&gt;some &lt;/em&gt;are nurturing) open source communities and code bases. All the things that closed source and non-software companies deal with are dealt with head on -- the value of customer relationships and quality of delivery are key, the fact that the software development costs are considerably lower (not zero) is pretty much beside the point.&lt;br /&gt;&lt;br /&gt;General themes: &lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;A couple of interesting questions came up regarding the current trend for outsourcing.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Dev model vs business model -- dev models very between employing OS devs / relying on the community / using devs located around the world. Largely the business models are &lt;em&gt;completely&lt;/em&gt; standard.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;The topic of 3rd world / cheap labour markets and their influence on OS dev models came up. For example, Brazil is making noises about encouraging all their dev to be OS -- does this mean Brazil will fail to benefit globally in revenues since they are unable to capitalise on sales? &lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Is it required to have a large, quality code base built PRIOR to going open source? Or can a startup being with a very small codebase?&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;How to manage the relationship with your OS community came up -- how do you make money off a project and try to steer it, without alienating the devs?&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Interesting view that OS lowers the barrier of entry for small companies since much of the infrastructure code (and indeed much of the rest) for software can now be aquired off the shelf for minimal cost (integration only)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;The ASP model is also very amenable to OS -- you're selling a service, no-one cares how you built the software.&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;[If anybody wants attribution for comments / questions let me know]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-108195164456531959?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/108195164456531959/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=108195164456531959' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/108195164456531959'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/108195164456531959'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2004/04/open-source-business-models-that-work.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-108195010339622019</id><published>2004-04-14T14:41:00.000+01:00</published><updated>2004-04-14T14:45:33.450+01:00</updated><title type='text'></title><content type='html'>First impressions on arriving is that I'm in Geek Central -- if you wanted to find a stereotypical audience / panel of techies, well, here's the place to come. I always try to believe techs aren't any different in appearance than non-techs, but this gathering might be the straw to cripple that camel.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-108195010339622019?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/108195010339622019/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=108195010339622019' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/108195010339622019'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/108195010339622019'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2004/04/first-impressions-on-arriving-is-that.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-108194994083805991</id><published>2004-04-14T14:39:00.000+01:00</published><updated>2004-04-14T14:42:50.920+01:00</updated><title type='text'></title><content type='html'>LONG time no post... &lt;br /&gt;&lt;br /&gt;I'm currently at the ACCU conferece in Oxford, so I thought I'd blog some musings from it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-108194994083805991?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/108194994083805991/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=108194994083805991' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/108194994083805991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/108194994083805991'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2004/04/long-time-no-post.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-92883940</id><published>2003-04-19T12:36:00.000+01:00</published><updated>2003-04-19T12:36:56.606+01:00</updated><title type='text'></title><content type='html'>XSL Transformations (XSLT) [&lt;a href="http://www.w3.org/TR/xslt#extension"&gt;link&lt;/a&gt;]&lt;br&gt;Cool - standard extension mechanism. Xalan-J supports this... now, just need to get datapower.com to buy in :o)&lt;br&gt; &lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-92883940?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/92883940/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=92883940' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/92883940'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/92883940'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2003/04/xsl-transformations-xslt-linkcool.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-92575298</id><published>2003-04-14T11:53:00.000+01:00</published><updated>2003-04-14T11:53:39.716+01:00</updated><title type='text'></title><content type='html'>Hmm, &lt;a href="http://radio.weblogs.com/0112098/2003/04/04.html"&gt;James&lt;/a&gt; has a new 17" PowerBook. Seems to like it, so maybe it's time I upgrade the old Portege. One of my main requirements was to have Linux support, but bsd would do... Not that I have anything against BSD, it's just that soon at work I'll be developing on/for a mixture of XP/Solaris/Linux. Just as well I use Java then... &lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-92575298?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/92575298/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=92575298' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/92575298'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/92575298'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2003/04/hmm-james-has-new-17-powerbook.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-90524891</id><published>2003-03-11T15:20:00.000Z</published><updated>2003-03-11T15:20:53.186Z</updated><title type='text'></title><content type='html'>Looking at finally doing some EJB on the next project. Will probably use xdoclet to generate the jboss deployment descriptors. In the event we avoid EJB, been thinking about generating aspects to do the same.&lt;br&gt; &lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-90524891?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/90524891/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=90524891' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/90524891'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/90524891'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2003/03/looking-at-finally-doing-some-ejb-on.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-90523946</id><published>2003-03-11T15:01:00.000Z</published><updated>2003-03-11T15:01:11.873Z</updated><title type='text'></title><content type='html'>Found an interesting musing by &lt;a href="http://bitworking.org/Stigmergy.html"&gt;Joe Gregario&lt;/a&gt; on how mad but good blogs are.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-90523946?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/90523946/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=90523946' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/90523946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/90523946'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2003/03/found-interesting-musing-by-joe.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-89901630</id><published>2003-02-28T14:23:00.000Z</published><updated>2003-02-28T14:23:39.733Z</updated><title type='text'></title><content type='html'>Been thinking about using Prevayler and Axion in concert to provide a transactional rdbms, with in memory characteristics, that allows offline backups...&lt;br&gt; &lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-89901630?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/89901630/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=89901630' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/89901630'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/89901630'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2003/02/been-thinking-about-using-prevayler.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-89901537</id><published>2003-02-28T14:21:00.000Z</published><updated>2003-02-28T14:21:47.013Z</updated><title type='text'></title><content type='html'>Hmm, will need to investigate &lt;a href="http://www.fettig.net/projects/hep/"&gt;hep&lt;/a&gt; for mail integration.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-89901537?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/89901537/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=89901537' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/89901537'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/89901537'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2003/02/hmm-will-need-to-investigate-hep-for.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-89833123</id><published>2003-02-27T12:11:00.000Z</published><updated>2003-02-27T12:11:56.810Z</updated><title type='text'></title><content type='html'>Ahh.. back from a month snowboarding... :o)&lt;br&gt; &lt;br&gt; Sorry. Couldn't resist. &lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-89833123?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/89833123/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=89833123' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/89833123'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/89833123'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2003/02/ahh.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-87227782</id><published>2003-01-10T18:16:00.000Z</published><updated>2003-01-10T18:16:40.070Z</updated><title type='text'></title><content type='html'>Updated to Spaces 1.6 alpha -- with the new permalinks and better date handling, even better than the real thing.&lt;br&gt;&lt;br&gt;Found this &lt;a href="http://www.benhammersley.com/archives/003463.html#003463"&gt;job feed&lt;/a&gt; -- which I've thought about doing a scraper before, but for bulk searching.&lt;br&gt;add to this&lt;br&gt;&lt;a href="http://www.benhammersley.com/archives/003441.html#003441"&gt;RSS as NNTP&lt;/a&gt; which could compete with Spaces, I quite like using Moz for news... now I wonder how a conversation could be tracked into the news headers to give pseudo reply handling ... :o) &lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-87227782?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/87227782/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=87227782' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/87227782'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/87227782'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2003/01/updated-to-spaces-1.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-87227563</id><published>2003-01-10T18:11:00.000Z</published><updated>2003-01-10T18:11:11.466Z</updated><title type='text'></title><content type='html'>Been trying out the Phoenix 0.5 build. It's got much of the Moz bits I use (popup killer etc), but with some nice extras (can middle click on a bookmark in the sidebar to open in a tab, can open a folder of bookmarks in tabs -- very cool), would be nice to be able to keep my bookmarks in sync between the two though.. hmm.. &lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-87227563?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/87227563/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=87227563' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/87227563'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/87227563'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2003/01/been-trying-out-phoenix-0.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-86961959</id><published>2003-01-05T14:35:00.000Z</published><updated>2003-01-05T14:35:51.883Z</updated><title type='text'></title><content type='html'>Movable Type.&lt;br&gt;&lt;br&gt;Just noticed -Tony Bowden: Understanding Nothing [&lt;a href="http://www.tmtm.com/nothing/"&gt;link&lt;/a&gt;] - has converted to MT. Been thinking about getting my act in gear and using this too. Must put some time in, it'd be nice to have RSS / comments on the blog.. might even help motivate me to blog more often. (nah, probs not..) &lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-86961959?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/86961959/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=86961959' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/86961959'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/86961959'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2003/01/movable-type.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-86961896</id><published>2003-01-05T14:32:00.000Z</published><updated>2003-01-05T14:32:42.176Z</updated><title type='text'></title><content type='html'>ESP Test&lt;br /&gt;&lt;br /&gt;Noticed &lt;a href='http://weblog.infoworld.com/udell/2003/01/04.html'&gt;this&lt;/a&gt; over at Jon Udell's blog. Must admit didn't notice the effect, pretty cool.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-86961896?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/86961896/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=86961896' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/86961896'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/86961896'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2003/01/esp-test-noticed-this-over-at-jon.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-86930453</id><published>2003-01-04T19:39:00.000Z</published><updated>2003-01-04T19:39:35.333Z</updated><title type='text'></title><content type='html'>Well, I suppose  the mozblog hasn't helped my blog frequency... will need to install it at work me thinks.&lt;br /&gt;&lt;br /&gt;There's a lot of talk at the moment (Slashdot and practically everywhere else) about OSS versus proprietory, and also about  large firms outsourcing IT (and other functions)  to India (though Russia and other low cost of living countries too). Though I'd add my own comments to the fray, and link the two arguments.&lt;br /&gt;&lt;br /&gt;I think Microsoft and other software vendors should certainly be afraid of OSS, at least in terms of licensing costs.  The OSS model of free (or low up-front cost) software and pay for support will slowly become more popular.  The dot-com boom of relying on this for all software was a mistake, sometimes mail-lists and source are enough, sometimes they are not. Sometimes pay-per-license will work, but over time OSS versions in general will become available.  As more and more quality OSS products become available, there will be an inevitable Darwinian selection in the number of viable solutions for business (though obviously the winners will change over time). I think the software industry just has to adjust to the fact that software is becoming more and more service oriented, in the sense, that it's possible to create custom apps for a higher percentage of the customer base. The reasons are simply that the building blocks are becoming bigger and cheaper to use. More custom applications are feasible, simply because they are cheaper to write.  &lt;br /&gt;&lt;br /&gt;Personally, I'd like to start a software house, but finding a niche product that can't be replaced by a OSS alternative is quite a challenge. Rather, building systems, by leveraging ever better, freely available, libraries (&lt;a href='http://jakarta.apache.org'&gt;for example&lt;/a&gt;) and quality tools (Java, IDE's, junit) means that writing code is no longer the bottleneck in custom systems. I've just written a system which probably had 3 weeks coding in it, at the most. 2 years ago, it probably would have had at least 2 months, if not  much more. The bottleneck is getting requirements, system testing, and iterating the system. &lt;br /&gt;&lt;br /&gt;This is where the outsourcing doesn't make sense. Large firms are outsourcing development, because they see savings due to lower per hour costs for developers. This is certainly true, Indian programmers are cheaper, in terms of salary, and if you pay enough (in local terms), you will find just as able people. However, as many people have pointed out, there is little evidence that the company saves any money in real terms. The reduction in  per developer overhead, is accompanied by an increase in head count (typically, many more programmers  / support staff are used, right or wrong), a huge increase in the communication overhead (I'll come back to this point), and consequently minimal, if any, possibly negative, savings per project.&lt;br /&gt;&lt;br /&gt;All this means is that at a time when project times are coming down due to higher developer productivity, outsourcing them makes less financial sense. Where the effort should be focussed, IMO, is increasing the efficiency and cost effectiveness of projects, not creating more overhead. Yes, cost effectiveness may mean fewer developers, but still local to the team. The only way to get the real cost saving of moving developers to cheaper labour pools, is to move the entire team, users, analysts, management.&lt;br /&gt;&lt;br /&gt;On the communication overhead point, this is so well documented it's hard to understand why so few people in management don't know it. Back in '74 Brooks was talking about the same things that XP preaches today. Get your best developers, make them ultra productive. Period. Not even outsourcing to 90% cheaper staff will touch that (it's widely accepted that there's a greater than 10x factor in productivity amongst developers, why not start there?). Turn-around of business solutions is the key factor. Outsourcing can only slow this down. When you get caned by a competitor because you can't keep up with features / service, don't worry, you can always outsource the customers can't you?&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-86930453?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/86930453/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=86930453' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/86930453'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/86930453'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2003/01/well-i-suppose-mozblog-hasnt-helped-my.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3753787.post-85383017</id><published>2002-12-02T16:48:00.000Z</published><updated>2002-12-08T14:35:49.000Z</updated><title type='text'></title><content type='html'>Found (surfin blogs) &lt;a href="http://www.prevayler.org/"&gt;Prevayler&lt;/a&gt;. Seems pretty cool, it's a framework to keep an app's entire dataset in RAM, with periodic backups and recovery via a transaction log. Think it would work pretty well, as long as you can satisfy the basic premise that you can afford enough ram to cache the entire app, ie small to medium datasets. Would like to hear the sys admins if I asked for a 20gig block of ram for my new app... but seriously, the last app I wrote, we had a day one data set of 12 gigs. RAM isn't *that* cheap.&lt;br /&gt;&lt;br /&gt;I'd thought about doing something similar using AspectJ, still writing to a database, but controlling transactions and object state rollback / versioning using aj.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3753787-85383017?l=kendes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kendes.blogspot.com/feeds/85383017/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3753787&amp;postID=85383017' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/85383017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3753787/posts/default/85383017'/><link rel='alternate' type='text/html' href='http://kendes.blogspot.com/2002/12/found-surfin-blogs-prevayler.html' title=''/><author><name>Ken Horn</name><uri>http://www.blogger.com/profile/00583097214217195779</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
