<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<meta http-equiv="content-type" content="text/html; charset=utf-8" />
	<meta http-equiv="Expires" content="Mon, 01 Jan 1990 01:00:00 GMT" />
	<meta name="generator" content="Squib/0.4.0.282" />
	<meta name="author" content="Matt Mower" />
	<meta name="keywords" content="matt mower,london,paoga,squib" />
	<meta name="description" content="Curiouser and Curiouser is the weblog of Matt Mower a London based technical marketing manager for software company PAOGA. In his spare time Matt Mower enjoyes developing software applications including this weblog application Squib." />
	<title>Curiouser and Curiouser!</title>
	<link href="http://matt.blogs.it/rss.xml" rel="alternate" title="RSS" type="application/rss+xml" />
<link href="http://matt.blogs.it/themes/fragen3.14/styles/theme_candc.css" media="screen" rel="stylesheet" type="text/css" />

</head>
<body>
<div id="page">
<div id="banner">
    <h1>Curiouser and Curiouser!</h1>
    <em>'Where shall I begin, please your Majesty?' He asked. 'Begin at the beginning,'
the King said, very gravely, 'and go on till you come to the end: then stop.'</em>
</div>
<div id="nav">
    
<div class="box" id="box_about">
<p><strong>About</strong></p>

<p>Wherein Matt Mower (aka rubymatt on FreeNode) rambles about technology, the love of a good MacTop, ruby coding, rails, topics, knowledge management and learning, and politics.</p>
</div>


    
<div class="box" id="box_navigation">
<p><strong>Navigation</strong></p>

<ul>
<li><a href="http://matt.blogs.it/">Home</a></li>
<li><a href="http://matt.blogs.it/all_posts.html">All Posts by Title</a></li>
<li><a href="http://matt.blogs.it/all_archives.html">Monthly Archives</a></li>
<li><a href="http://matt.blogs.it/topics/index.html">Topics</a></li>
</ul>
</div>


    
    
<div class="box" id="box_blogroll">
<strong>Blogroll</strong><ul class="blogroll"><li><a class="orangeButton" href="http://www.tapestrycomics.com/dilbert.xml">XML</a> <a href="http://www.dilbert.com/">Dilbert</a></li>
<li><a class="orangeButton" href="http://www.tapestrycomics.com/getfuzzy.xml">XML</a> <a href="http://www.comics.com//comics/getfuzzy/">Get Fuzzy</a></li>
<li><a class="orangeButton" href="http://www.tapestrycomics.com/liberty.xml">XML</a> <a href="http://www.comics.com/creators/liberty/">Liberty Meadows</a></li>
<li><a class="orangeButton" href="http://www.phoenyx.net/feeds/comics/hedge.rdf">XML</a> <a href="http://www.comics.com/comics/hedge/">Over the Hedge</a></li>
<li><a class="orangeButton" href="http://www.tapestrycomics.com/peanuts.xml">XML</a> <a href="http://www.comics.com//comics/peanuts/">Peanuts</a></li>
<li><a class="orangeButton" href="http://atheos.de/funnies/pvp.rdf">XML</a> <a href="http://www.pvponline.com/">PvP Online</a></li>
<li><a class="orangeButton" href="http://rss.xiffy.nl/xml.php?channel=391">XML</a> <a href="http://www.userfriendly.org/">User Friendly the Comic Strip. by Illiad</a></li>
<li><a class="orangeButton" href="http://www.tapestrycomics.com/wizardofid.xml">XML</a> <a href="http://www.comics.com/creators/wizardofid/">Wizard of Id</a></li>
<li><a class="orangeButton" href="http://matt.blogs.it/rss.xml ">XML</a> <a href="http://matt.blogs.it/">Curiouser and Curiouser!</a></li>
<li><a class="orangeButton" href="http://www.pubsub.com/site_stats_feed.php?site=matt.blogs.it">XML</a> <a href="http://www.pubsub.com/linkcounts.php">PubSub PubStats for matt.blogs.it</a></li>
<li><a class="orangeButton" href="http://www.technorati.com/watchlists/rss.html?wid=2122">XML</a> <a href="http://www.technorati.com/search/matt.blogs.it">Technorati Search for: Curiouser and curiouser!</a></li>
<li><a class="orangeButton" href="http://www.terryfrazier.com/weblog/rss.xml">XML</a> <a href="http://www.terryfrazier.com/weblog/index">b.cognosco</a></li>
<li><a class="orangeButton" href="http://www.bethlet.net/atom.xml">XML</a> <a href="http://www.bethlet.net/">bethlet.net</a></li>
<li><a class="orangeButton" href="http://del.icio.us/rss/devzero/osx">XML</a> <a href="http://del.icio.us/devzero/osx">del.icio.us/devzero/osx</a></li>
<li><a class="orangeButton" href="http://del.icio.us/rss/tag/osx">XML</a> <a href="http://del.icio.us/tag/osx">del.icio.us/tag/osx</a></li>
<li><a class="orangeButton" href="http://weblog.infoworld.com/foster/rss.xml">XML</a> <a href="http://weblog.infoworld.com/foster/">Ed Foster's Radio Weblog</a></li>
<li><a class="orangeButton" href="http://blog.grahamsadd.com/atom.xml">XML</a> <a href="http://blog.grahamsadd.com/">Graham Sadd's Weblog</a></li>
<li><a class="orangeButton" href="http://feeds.feedburner.com/letTheGoodTimesRollByGuyKawasaki">XML</a> <a href="http://blog.guykawasaki.com/">Let the Good Times Roll by Guy Kawasaki</a></li>
<li><a class="orangeButton" href="http://blog.mathemagenic.com/rss.xml">XML</a> <a href="http://blog.mathemagenic.com/">Mathemagenic</a></li>
<li><a class="orangeButton" href="http://maxblumberg.typepad.com/dailymusings/atom.xml">XML</a> <a href="http://maxblumberg.typepad.com/dailymusings/">Max Blumberg Positioning Game</a></li>
<li><a class="orangeButton" href="http://www.drmartinhall.com/index.rdf">XML</a> <a href="http://www.drmartinhall.com/">Minessence -- Doc Martin's Musings</a></li>
<li><a class="orangeButton" href="http://theobvious.typepad.com/blog/atom.xml">XML</a> <a href="http://theobvious.typepad.com/blog/">The Obvious?</a></li>
<li><a class="orangeButton" href="http://onlyagame.typepad.com/only_a_game/atom.xml">XML</a> <a href="http://onlyagame.typepad.com/only_a_game/">Only a Game</a></li>
<li><a class="orangeButton" href="http://paolo.evectors.it/rss.xml">XML</a> <a href="http://paolo.evectors.it/">Paolo Valdemarin: Paolo's Weblog</a></li>
<li><a class="orangeButton" href="http://bash.org/xml/">XML</a> <a href="http://www.bash.org">QDB: Quote Database</a></li>
<li><a class="orangeButton" href="http://ross.typepad.com/blog/index.rdf">XML</a> <a href="http://ross.typepad.com/blog/">Ross Mayfield's Weblog</a></li>
<li><a class="orangeButton" href="http://www.scripting.com/rss.xml">XML</a> <a href="http://www.scripting.com/">Scripting News</a></li>
<li><a class="orangeButton" href="http://www.myelin.co.nz/post/rss.xml">XML</a> <a href="http://www.myelin.co.nz/post/">Second p0st</a></li>
<li><a class="orangeButton" href="http://www.synesthesia.co.uk/blog/feed/rss2/">XML</a> <a href="http://www.synesthesia.co.uk/blog">Synesthesia</a></li>
<li><a class="orangeButton" href="http://the.taoofmac.com/space/RecentChanges?filter=blog&amp;amp;format=rss">XML</a> <a href="http://the.taoofmac.com/space">The Tao of Mac</a></li>
<li><a class="orangeButton" href="http://anjo.blogs.com/metis/index.rdf">XML</a> <a href="http://anjo.blogs.com/metis/">Anjo Anjewierden</a></li>
<li><a class="orangeButton" href="http://www.beyondbullets.com/index.rdf">XML</a> <a href="http://www.beyondbullets.com/">beyond bullets</a></li>
<li><a class="orangeButton" href="http://bps-research-digest.blogspot.com/atom.xml">XML</a> <a href="http://bps-research-digest.blogspot.com">BPS Research Digest</a></li>
<li><a class="orangeButton" href="http://chocnvodka.blogware.com/blog/index.xml">XML</a> <a href="http://chocnvodka.blogware.com/blog">Chocolate and Vodka</a></li>
<li><a class="orangeButton" href="http://feeds.feedburner.com/Corporatebloggingblog">XML</a> <a href="http://www.corporateblogging.info/">CorporateBloggingBlog</a></li>
<li><a class="orangeButton" href="http://del.icio.us/rss/tag/lifehacks">XML</a> <a href="http://del.icio.us/tag/lifehacks">del.icio.us/tag/lifehacks</a></li>
<li><a class="orangeButton" href="http://www.firstadopter.com/index.rdf">XML</a> <a href="http://www.firstadopter.com/">FirstAdopter.com</a></li>
<li><a class="orangeButton" href="http://homepage.mac.com/dave_rogers/news.rss">XML</a> <a href="http://homepage.mac.com/dave_rogers/">Groundhog Day</a></li>
<li><a class="orangeButton" href="http://cgi.pbs.org/cgi-registry/cringely/cringelyrdf.pl">XML</a> <a href="http://www.pbs.org/cringely/">I, Cringely @ PBS.org</a></li>
<li><a class="orangeButton" href="http://marktsinfoblog.blogspot.com/atom.xml">XML</a> <a href="http://marktsinfoblog.blogspot.com">Mark T's information blog</a></li>
<li><a class="orangeButton" href="http://maxblumberg.typepad.com/maxwellbeing/index.rdf">XML</a> <a href="http://maxblumberg.typepad.com/maxwellbeing/">MaxWellBeing</a></li>
<li><a class="orangeButton" href="http://dev.metavalues.com/metavalues/timeline?daysback=90&amp;amp;max=50&amp;amp;wiki=on&amp;amp;ticket=on&amp;amp;changeset=on&amp;amp;milestone=on&amp;amp;format=rss">XML</a> <a href="http://bidwell.textdrive.com:9009/metavalues/timeline">MetaValues: Timeline</a></li>
<li><a class="orangeButton" href="http://blog.monkeymethods.org/atom.xml">XML</a> <a href="http://blog.monkeymethods.org/">monkey methods</a></li>
<li><a class="orangeButton" href="http://googleblog.blogspot.com/atom.xml">XML</a> <a href="http://googleblog.blogspot.com">Official Google Blog</a></li>
<li><a class="orangeButton" href="http://presentationzen.blogs.com/presentationzen/atom.xml">XML</a> <a href="http://presentationzen.blogs.com/presentationzen/">Presentation Zen</a></li>
<li><a class="orangeButton" href="http://simon.incutio.com/syndicate/rss1.0">XML</a> <a href="http://simon.incutio.com/">Simon Willison's Weblog</a></li>
<li><a class="orangeButton" href="http://www.unstruct.org/wp-rdf.php">XML</a> <a href="http://www.unstruct.org">unstruct.org</a></li>
<li><a class="orangeButton" href="http://www.wingedpig.com/index.rdf">XML</a> <a href="http://www.wingedpig.com/">wingedpig.com - Mark Fletcher's Blog</a></li>
<li><a class="orangeButton" href="http://feeds.feedburner.com/Wonderland">XML</a> <a href="http://crystaltips.typepad.com/wonderland/">Wonderland</a></li>
<li><a class="orangeButton" href="http://psychcentral.com/blog/feed/">XML</a> <a href="http://psychcentral.com/blog">World of Psychology</a></li>
<li><a class="orangeButton" href="http://www.slash7.com/xml/rss/feed.xml">XML</a> <a href="http://www.slash7.com/">(24)slash7</a></li>
<li><a class="orangeButton" href="http://www.artima.com/rubycs/feeds/rubycs.rss">XML</a> <a href="http://www.artima.com/">Articles published in Ruby Code &amp; Style</a></li>
<li><a class="orangeButton" href="http://www.chadfowler.com/index.cgi?rss">XML</a> <a href="http://www.chadfowler.com/index.cgi">ChadFowler.com</a></li>
<li><a class="orangeButton" href="http://feeds.feedburner.com/curthibbs">XML</a> <a href="http://blog.curthibbs.us/articles">Curt's Comments</a></li>
<li><a class="orangeButton" href="http://eigenclass.org/hiki.rb?c=rss;tags=blog">XML</a> <a href="http://eigenclass.org/hiki.rb?c=recent">Eigenclass (blog)</a></li>
<li><a class="orangeButton" href="http://www.livejournal.com/users/drbrain/data/rss">XML</a> <a href="http://www.livejournal.com/users/drbrain/">Eric Hodel</a></li>
<li><a class="orangeButton" href="http://tomcopeland.blogs.com/juniordeveloper/rss.xml">XML</a> <a href="http://tomcopeland.blogs.com/juniordeveloper/">Junior developer</a></li>
<li><a class="orangeButton" href="http://www.koziarski.net/feed/atom/">XML</a> <a href="http://www.koziarski.net">Koz Speaks</a></li>
<li><a class="orangeButton" href="http://www.loudthinking.com/index.rdf">XML</a> <a href="http://www.loudthinking.com/">Loud Thinking</a></li>
<li><a class="orangeButton" href="http://www.mad4milk.net/feeds/tag/moo.fx/weblog">XML</a> <a href="http://www.mad4milk.net/tag/weblog/moo.fx">mad4milk feed for tag moo.fx in weblog section</a></li>
<li><a class="orangeButton" href="http://www.magpiebrain.com/index_full.xml">XML</a> <a href="http://www.magpiebrain.com/">magpiebrain</a></li>
<li><a class="orangeButton" href="http://mir.aculo.us/xml/rss/feed.xml">XML</a> <a href="http://mir.aculo.us/articles">mir.aculo.us</a></li>
<li><a class="orangeButton" href="http://jroller.org/rss/obie">XML</a> <a href="http://jroller.com/page/obie">Obie Fernandez</a></li>
<li><a class="orangeButton" href="http://outside-thoughts.octopod.info/xml/atom/feed.xml">XML</a> <a href="http://outside-thoughts.octopod.info/">Octoblog</a></li>
<li><a class="orangeButton" href="http://blog.zenspider.com/index.rdf">XML</a> <a href="http://blog.zenspider.com/">Polishing Ruby</a></li>
<li><a class="orangeButton" href="http://blogs.pragprog.com/cgi-bin/pragdave.cgi/index.rss">XML</a> <a href="http://blogs.pragprog.com/cgi-bin/pragdave.cgi">PragDave</a></li>
<li><a class="orangeButton" href="http://feeds.feedburner.com/projectionist">XML</a> <a href="http://project.ioni.st/">Projectionist</a></li>
<li><a class="orangeButton" href="http://feeds.feedburner.com/raganwald">XML</a> <a href="http://www.braithwaite-lee.com/weblog/">Raganwald</a></li>
<li><a class="orangeButton" href="http://railsexpress.de/blog/xml/rss20/feed.xml">XML</a> <a href="http://railsexpress.de/blog/">RailsExpress.blog</a></li>
<li><a class="orangeButton" href="http://onestepback.org/gemwatch.rss">XML</a> <a href="">Recent Gems</a></li>
<li><a class="orangeButton" href="http://redhanded.hobix.com/index.xml">XML</a> <a href="http://redhanded.hobix.com">RedHanded</a></li>
<li><a class="orangeButton" href="http://weblog.rubyonrails.com/feed/rss2/">XML</a> <a href="http://weblog.rubyonrails.com/">Riding Rails</a></li>
<li><a class="orangeButton" href="http://rubyweeklynews.org/index.xml">XML</a> <a href="http://www.rubyweeklynews.org">Ruby Weekly News</a></li>
<li><a class="orangeButton" href="http://blog.xeraph.org/feed/rss2/">XML</a> <a href="http://blog.xeraph.org">Slave To The Machine</a></li>
<li><a class="orangeButton" href="http://split-s.blogspot.com/atom.xml">XML</a> <a href="http://split-s.blogspot.com">split-s</a></li>
<li><a class="orangeButton" href="http://techno-weenie.net/blog/?rss=1">XML</a> <a href="http://techno-weenie.net/blog/">techno weenie</a></li>
<li><a class="orangeButton" href="http://tech.rufy.com/feed/rss2/">XML</a> <a href="http://tech.rufy.com">Technoblog</a></li>
<li><a class="orangeButton" href="http://jamis.jamisbuck.org/blog.cgi/index.rss">XML</a> <a href="http://jamis.jamisbuck.org/">the { buckblogs :here }</a></li>
<li><a class="orangeButton" href="http://onestepback.org/index.cgi/index.rss">XML</a> <a href="http://onestepback.org/index.cgi">{ | one, step, back | }</a></li>
<li><a class="orangeButton" href="http://habtm.com/xml/atom/feed.xml">XML</a> <a href="http://habtm.com/">~:caboose</a></li>
<li><a class="orangeButton" href="http://www.decafbad.com/atom.xml">XML</a> <a href="http://www.decafbad.com/">0xDECAFBAD</a></li>
<li><a class="orangeButton" href="http://www.alistapart.com/rss.xml">XML</a> <a href="http://www.alistapart.com/">A List Apart</a></li>
<li><a class="orangeButton" href="http://www.ajaxian.com/index.xml">XML</a> <a href="http://www.ajaxian.com/">Ajaxian</a></li>
<li><a class="orangeButton" href="http://www.backpackit.com/weblog/index.xml">XML</a> <a href="http://backpackit.com/weblog/">Backpack Weblog</a></li>
<li><a class="orangeButton" href="http://blog.monstuff.com/index.xml">XML</a> <a href="http://blog.monstuff.com/">Curiosity is bliss</a></li>
<li><a class="orangeButton" href="http://homepages.ihug.com.au/~naseby/rss.xml">XML</a> <a href="http://homepages.ihug.com.au/~naseby/">David Naseby's World</a></li>
<li><a class="orangeButton" href="http://www.docuverse.com/blog/donpark/rss.xml">XML</a> <a href="http://www.docuverse.com/blog/donpark/">Don Park's Daily Habit</a></li>
<li><a class="orangeButton" href="http://epeus.blogspot.com/atom.xml">XML</a> <a href="http://epeus.blogspot.com">Epeus' epigone</a></li>
<li><a class="orangeButton" href="http://dev.r.tucows.com/blog/index.xml">XML</a> <a href="http://farm.tucows.com/blog">The Farm: The Tucows Developers' Hangout</a></li>
<li><a class="orangeButton" href="http://grahamglass.blogs.com/main/atom.xml">XML</a> <a href="http://grahamglass.blogs.com/main/">Graham Glass, etc.</a></li>
<li><a class="orangeButton" href="http://haoli.dnsalias.com/index.xml">XML</a> <a href="http://haoli.dnsalias.com">h a o l i</a></li>
<li><a class="orangeButton" href="http://hypermetrics.com:3000/xml/rss/feed.xml">XML</a> <a href="http://hypermetrics.com:3000/">Hal-lucinations</a></li>
<li><a class="orangeButton" href="http://www.joelonsoftware.com/rss.xml">XML</a> <a href="http://www.joelonsoftware.com">Joel on Software</a></li>
<li><a class="orangeButton" href="http://weblog.infoworld.com/udell/rss.xml">XML</a> <a href="http://weblog.infoworld.com/udell/">Jon's Radio</a></li>
<li><a class="orangeButton" href="http://martinfowler.com/bliki/bliki.rss">XML</a> <a href="http://martinfowler.com/bliki">Martin Fowler's Bliki</a></li>
<li><a class="orangeButton" href="http://minimsft.blogspot.com/atom.xml">XML</a> <a href="http://minimsft.blogspot.com">Mini-Microsoft</a></li>
<li><a class="orangeButton" href="http://www.redhillconsulting.com.au/blogs/simon/index.xml">XML</a> <a href="http://www.redhillconsulting.com.au/blogs/simon/">My hovercraft is full of eels</a></li>
<li><a class="orangeButton" href="http://blogs.osafoundation.org/news/index.xml">XML</a> <a href="http://www.osafoundation.org/">OSAF News</a></li>
<li><a class="orangeButton" href="http://peterkaminski.com/index.rdf">XML</a> <a href="http://peterkaminski.com/">Peter Kaminski</a></li>
<li><a class="orangeButton" href="http://www.cincomsmalltalk.com/rssBlog/ralph-rss.xml">XML</a> <a href="http://www.cincomsmalltalk.com/userblogs/ralph/blogView">Ralph Johnson - Blog</a></li>
<li><a class="orangeButton" href="http://www.intertwingly.net/blog/index.rss2">XML</a> <a href="http://www.intertwingly.net/blog/">Sam Ruby</a></li>
<li><a class="orangeButton" href="http://37signals.com/svn/index_full.rdf">XML</a> <a href="http://37signals.com/svn/">Signal vs. Noise</a></li>
<li><a class="orangeButton" href="http://mmower.backpackit.com/feed/580c59a670b1f7c852e0901b7976e0e8">XML</a> <a href="http://mmower.backpackit.com/account/start">Backpack</a></li>
<li><a class="orangeButton" href="http://www.choof.org/MT/index.xml">XML</a> <a href="http://www.choof.org/MT/">choof.org</a></li>
<li><a class="orangeButton" href="http://www.idealgovernment.com/index.php/weblog/rss_2.0/">XML</a> <a href="http://www.idealgovernment.com/index.php/weblog/index/">Ideal Government</a></li>
<li><a class="orangeButton" href="http://www.idcorner.org/wp-rss2.php">XML</a> <a href="http://www.idcorner.org">The Identity Corner</a></li>
<li><a class="orangeButton" href="http://www.identityblog.com/rss.xml">XML</a> <a href="http://www.identityblog.com/">Kim Cameron's Identity Weblog</a></li>
<li><a class="orangeButton" href="http://danielsolove.blogspot.com/atom.xml">XML</a> <a href="http://danielsolove.blogspot.com">The Solove Chronicles</a></li>
<li><a class="orangeButton" href="http://www.technorati.com/watchlists/rss.html?wid=64358">XML</a> <a href="http://www.technorati.com/cosmos/search.html?url=paoga">Technorati Search for: paoga</a></li>
<li><a class="orangeButton" href="http://blogs.sun.com/roller/rss/wizidm">XML</a> <a href="http://blogs.sun.com/roller/page/wizidm">Wizard of IdM</a></li>
</ul>
</div>


    
<div class="box" id="box_syndication">
<strong>Syndication</strong>
<div id="syndication">
<ul>
	<li><a class="orangeButton" href="http://matt.blogs.it/rss.xml">XML</a></li>
	<li><script type="text/javascript">eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%73%65%6c%66%40%6d%61%74%74%6d%6f%77%65%72%2e%63%6f%6d%22%3e%45%6d%61%69%6c%20%4d%65%3c%2f%61%3e%27%29%3b'))</script></li>
</ul>
</div>
</div>


</div>
<div id="wrapper">
	<div id="content">
		<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:ent="http://www.purl.org/NET/ENT/1.0/">
  <channel>
    <title>Curiouser and Curiouser! on how-to-develop-software</title>
    <link>http://matt.blogs.it/</link>
    <description>RSS feed for topic how-to-develop-software</description>
    <copyright>Copyright 2006 Matt Mower</copyright>
    <generator>Squib/0.1</generator>
    <managingEditor>self@mattmower.com</managingEditor>
    <webMaster>self@mattmower.com</webMaster>
    <language>en-gb</language>
    <item>
      <title>Call for help:  Cross domain scripting</title>
      <pubDate>Fri, 06 Jun 2003 16:19:34 +0100</pubDate>
      <description>&lt;P&gt;We've run into a problem implementing the &lt;A href="http://www.movabletype.org/"&gt;MovableType&lt;/A&gt; client for &lt;A href="http://wwww.evectors.it/"&gt;k-collector&lt;/A&gt;:&lt;/P&gt;
&lt;P&gt;Our approach has been to bootstrap development by reusing a lot of the Radio client code (moved onto the k-collector server) and having the MT client call that as far as possible.&amp;nbsp; We made some good progress this way however we've hit a snag.&amp;nbsp; When the server side code needs to send information back to MovableType we hit the 'ol Javascript &lt;A href="http://www.mozilla.org/projects/security/components/same-origin.html"&gt;same origin policy&lt;/A&gt; problem.&lt;/P&gt;
&lt;P&gt;What we need is a way for the pages serverd by MovableType to allow the pages from k-collector access to some of their properties but without having to use signed pages (which appears to be a minefield).&amp;nbsp; Since the one should be allowed to trust the other I am hoping there is a way.&amp;nbsp; Is there?&lt;/P&gt;</description>
      <guid isPermaLink="true">http://matt.blogs.it/entries/00001470.html</guid>
      <ent:cloud ent:href="http://matt.blogs.it/topics/">
        <ent:topic ent:href="http://matt.blogs.it/topics/events.xml" ent:id="events" ent:classification="user"/>
        <ent:topic ent:href="http://matt.blogs.it/topics/social-software.xml" ent:id="social-software" ent:classification="user"/>
      </ent:cloud>
    </item>
    <item>
      <title>Abusing Bach</title>
      <pubDate>Sun, 17 Aug 2003 20:28:21 +0100</pubDate>
      <description>&lt;P&gt;Via a recent&amp;nbsp;&lt;A href="http://java.sun.com/jdc/JDCTechTips/2003/tt0805.html"&gt;Tech Tip&lt;/A&gt;&amp;nbsp;i've learned a little bit about Java's sound capabilites and, in particular, using Java to play MIDI.&amp;nbsp; It was fun typing in a little java program and hearing piano's playing a few notes.&amp;nbsp; Something to while away a few minutes on a hot afternoon.&lt;/P&gt;
&lt;P&gt;Then I started thinking about algorithmically generating music.&amp;nbsp; I am deuced unmusical (lacking both rhythmn and a good pitch ear) which has lead, in the past,&amp;nbsp;to some frustrating attempts to use professional software to make compositions.&amp;nbsp; I can program Java though.&lt;/P&gt;
&lt;P&gt;I have a program which I use to generate random pronounceable passwords.&amp;nbsp; Although it's hit rate for generating memorable words is about 1 in 40, I can remember the good passwords some 6 years after first using them.&amp;nbsp; It works by analysing a body of text and calculating the frequency of each 3 letter combination that appears.&amp;nbsp; Then it uses some simple rules to&amp;nbsp;combine these 3 letter combinations into &lt;EM&gt;words&lt;/EM&gt;.&lt;/P&gt;
&lt;P&gt;So I started to wonder if the same thing could be done with music.&amp;nbsp; Could you stitch together 3 note combinations into something resembling music? (for the moment let's set aside the question of &lt;EM&gt;why on earth would you do this?&lt;/EM&gt;)&lt;/P&gt;
&lt;P&gt;Java has a very simple call:&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;&lt;FONT face=Geneva,Arial,Sans-Serif&gt;MidiSystem.getSequence( file )&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;which loads a MIDI file into an array of Track objects from which you can access the events which play the various notes of the piece.&amp;nbsp; There are equivalent calls for creating &amp; playing tracks (which use your sound card like a synthesizer).&lt;/P&gt;
&lt;P&gt;I started with some Bach that I found on the net.&amp;nbsp; My aim was to do a frequency analysis of the 3-note combinations.&amp;nbsp; Somewhat to my surprise though I discovered there weren't any repetitions.&amp;nbsp; That is, no exact 3 note combination was ever repeated.&amp;nbsp; At least, unless I got my program wrong.&amp;nbsp; The resulting noise led my housemates to question whether I was safe to be left home alone.&lt;/P&gt;
&lt;P&gt;Not to be discouraged I tried a second approach, analysing, for each note played the range of notes which could follow and probability of each.&amp;nbsp;&amp;nbsp;This, coupled with some simple selection logic, allows me to play something that sounds almost totally unlike music (and certainly unlike Bach's music).&amp;nbsp; Mostly it has taught me that music is vastly more complex in structure than words.&lt;/P&gt;
&lt;P&gt;Still, it's been a diverting way to spend an afternoon &lt;STRONG&gt;AND&lt;/STRONG&gt; i've learned something.&lt;/P&gt;
&lt;P&gt;Some other notes.&amp;nbsp; My development environment is IDEA by &lt;A href="http://www.intellij.com/"&gt;Intellij&lt;/A&gt;. I've tried pretty much every Java IDE going and this one is the best by far.&amp;nbsp; If you haven't tried Intention actions yet, well...&amp;nbsp;&amp;nbsp;&amp;nbsp; The GUI was built using Peter Eastman's &lt;A href="http://buoy.sourceforge.net/"&gt;Buoy&lt;/A&gt; widget set.&amp;nbsp;&amp;nbsp; Peter is also responsible for the Java based 3D rendering suite &lt;A href="http://www.artofillusion.org/"&gt;ArtOfIllusion&lt;/A&gt;.&lt;/P&gt;</description>
      <guid isPermaLink="true">http://matt.blogs.it/entries/00001545.html</guid>
      <ent:cloud ent:href="http://matt.blogs.it/topics/">
      </ent:cloud>
    </item>
    <item>
      <title>Building quality with faces</title>
      <pubDate>Mon, 27 Oct 2003 14:36:30 +0000</pubDate>
      <description>&lt;div style="margin-left: 40px;"&gt;&lt;a href="xxx"&gt;&lt;img alt="A picture named grouchy.jpg" vspace="0" hspace="0" align="right" border="0" height="186" width="108" src="http://www.scripting.com/images/2003/10/27/grouchy.jpg"&gt;&lt;/a&gt;Reality lies somewhere betw &lt;a href="http://www.pbs.org/cringely/pulpit/pulpit20031023.html"&gt;Cringely&lt;/a&gt;
and Ballmer and Linus. How about this. Both guys (Ballmer and Torvalds)
make really shitty software. Microsoft, after decades of Windows
development still can't make a robust operating system that a normal
person can use. And Linux ships with every security feature wide open.
An end user who actually installed it (a amazing accomplishment in
itself) would end up (instantly) hosting a playground for script
kiddies everywhere. And the user interface of Linux sucks. Windows
isn't totally terrible. It's a huge embarassment that with many
billions of dollars, dozens of years, and billions of man-hours, this
is the best the human species can produce. [&lt;a href="http://www.scripting.com/"&gt;Scripting News&lt;/a&gt;]&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;
In reading the Cringely piece I had a sudden vision of how we can get
sharp improvements in the quality of Microsoft products without them
having to give it away.&lt;br&gt;
&lt;br&gt;
&lt;div style="margin-left: 40px;"&gt;Open up the developers.&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;
Linus Torvalds says:&lt;br&gt;
&lt;br&gt;
&lt;div style="margin-left: 40px;"&gt;The other reason why free software is better is because the personal
reputation of the developer is attached to every release. If you are
making something to give away to the world, something that represents
to millions of users your philosophy of computing, you will always make
it the very best product you can make.&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;
I think he's right.&amp;nbsp; I know the pressure I feel to deliver
something good and the pain of failing.&amp;nbsp; I'm not saying that
Microsoft programmers don't feel the same things, but they are hidden
behind the behemoth they work for.&amp;nbsp; When the pressure to ship gets
too great they can, ultimately, acquiesce and nobody will know.&amp;nbsp;
There is no public shame.&lt;br&gt;
&lt;br&gt;
If these guys were in the spotlight for their work then they could take
either the heat or the praise as appropriate.&amp;nbsp; I'd like to see a
site at that shows each product, the team who works on it with
pictures, bio's, links to weblogs, email and so on.&amp;nbsp; And why stop
at Microsoft, lots of people make crappy software (I'll refrain from
saying "us too" since you know that already!)&lt;br&gt;
</description>
      <guid isPermaLink="true">http://matt.blogs.it/entries/00001683.html</guid>
      <ent:cloud ent:href="http://matt.blogs.it/topics/">
      </ent:cloud>
    </item>
    <item>
      <title>Sure I'd trust Microsoft with my data again...</title>
      <pubDate>Tue, 11 Nov 2003 17:20:31 +0000</pubDate>
      <description>Good grief I can't even start Outlook now.  It opens then
immediately runs up to 100% CPU and sits there unresponsive.  I'm
not even sure it will work to the extent that other clients importers
will be able to get the data out.  What do I do then?&lt;br&gt;
&lt;br&gt;
One thing you can be certain of.  I will never buy into a world of
Microsoft controlled DRM.  They don't build the kind of software
that I would trust not to lose my licenses, invalidate my data or lock
me out of my system.  If this was Outlook + Palladium then
doubtless the PST files on my backup CD wouldn't be readable by now
either.&lt;br&gt;
&lt;br&gt;
I can't wait to say "Good riddance Outlook."&lt;br&gt;
&lt;br&gt;
-----------------------&lt;br&gt;
&lt;br&gt;
20.30 Update&lt;br&gt;
&lt;br&gt;
Sure enough I tried to use Bloomba to import my Outlook mail and no
go.&amp;nbsp; It spent 2 hrs twiddling it's thumbs while Outlook just
looked on and laughed it's fiendish laugh.&amp;nbsp; My next step will be
to do a final backup and then attempt to re-install Outlook so that I
can export my mail archives into another application.&lt;br&gt;
&lt;br&gt;
What a drag.&lt;br&gt;</description>
      <guid isPermaLink="true">http://matt.blogs.it/entries/00001720.html</guid>
      <ent:cloud ent:href="http://matt.blogs.it/topics/">
      </ent:cloud>
    </item>
    <item>
      <title>A smattering of version control</title>
      <pubDate>Thu, 13 Nov 2003 10:29:31 +0000</pubDate>
      <description>&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;&lt;A href="http://www.sauria.com/blog/2003/11/12#674"&gt;Source control systems&lt;/A&gt;. Today at work we were venting a little bit about source control systems. CVS has been a great help to open source development but it has 2 major flaws: &lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;It is theoretically possible, but practically impossible to go backwards in time, because there's no notion of a changeset that can be backed out. 
&lt;LI&gt;It doesn't version directory moves or renames. &lt;/LI&gt;&lt;/OL&gt;There are others, but these are the big two in my mind. Possible solutions include (in no particular order): 
&lt;UL&gt;
&lt;LI&gt;Perforce 
&lt;LI&gt;Arch 
&lt;LI&gt;Bitkeeper 
&lt;LI&gt;Subversion &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;I'm biased against Perforce and Bitkeeper because they aren't open source. I'm also biased against Perforce because I don't know much about it. I'm biased towards Subversion because a lot of ASF'ers working on it, but I'm nervous because this will be the 3rd ApacheCon that I've gone to where Subversion hasn't yet reached beta. [&lt;A href="http://www.sauria.com/blog/"&gt;Ted Leung on the air&lt;/A&gt;]&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;For Paul.&lt;/P&gt;</description>
      <guid isPermaLink="true">http://matt.blogs.it/entries/00001725.html</guid>
      <ent:cloud ent:href="http://matt.blogs.it/topics/">
      </ent:cloud>
    </item>
    <item>
      <title>What comes after changeblogs?</title>
      <pubDate>Thu, 20 Nov 2003 16:37:16 +0000</pubDate>
      <description>&lt;div style="margin-left: 40px;"&gt;&lt;a href="http://www.decafbad.com/blog/links/boocjaajai.html"&gt;Quick Links&lt;/a&gt;. &lt;/div&gt;
&lt;ul style="margin-left: 40px;"&gt;&lt;li&gt;&lt;a href="http://jeremy.zawodny.com/blog/archives/001075.html"&gt;CVS Commit + Weblog = Changeblog
&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;div style="margin-left: 40px;"&gt;
 [&lt;a href="http://www.decafbad.com/blog"&gt;0xDECAFBAD&lt;/a&gt;]&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;a href="http://www.dijest.com/aka/"&gt;Phil Wolff&lt;/a&gt; and I were &lt;a href="http://matt.blogs.it/2003/07/21.html#a1042"&gt;talking&lt;/a&gt; about this a little while ago and now &lt;a href="http://www.multiply.org/notebook/"&gt;Jason Gessner&lt;/a&gt; has it working.&amp;nbsp; That's great!&lt;br&gt;
&lt;br&gt;
The next stage for me would be to start creating RSS feeds with &lt;a href="http://matt.blogs.it/spects/ENT/1.0/"&gt;ENT&lt;/a&gt; metadata from those changeblogs. At a very basic level I can imagine a &lt;a href="http://w4.evectors.it/"&gt;K-Collector&lt;/a&gt;
topic corresponding to each project.&amp;nbsp; Then each topic view could
aggregated not only what developers were writing in their own blogs but
also CVS messages corresponding to the status of the project.&lt;br&gt;
&lt;br&gt;
But why stop there.&amp;nbsp; Your junit based daily smoke &amp; build test
could be generating a similar feed, your project management system,
issue database and so on.&amp;nbsp; All these feeds could be flowing into
project topics giving you an uptodate and holistic view of what is
happening in those projects.&lt;br&gt;
&lt;br&gt;
Who'd ever be caught on the hop in a project meeting again?&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
</description>
      <guid isPermaLink="true">http://matt.blogs.it/entries/00001748.html</guid>
      <ent:cloud ent:href="http://matt.blogs.it/topics/">
        <ent:topic ent:href="http://matt.blogs.it/topics/psychology.xml" ent:id="psychology" ent:classification="user"/>
        <ent:topic ent:href="http://matt.blogs.it/topics/study.xml" ent:id="study" ent:classification="user"/>
      </ent:cloud>
    </item>
    <item>
      <title>It's not a simple world (thank god!)</title>
      <pubDate>Sun, 18 Jan 2004 19:49:01 +0000</pubDate>
      <description>&lt;blockquote&gt;&lt;a href="http://www.docuverse.com/blog/donpark/EntryViewPage.aspx?guid=1bf3d661-844f-4a17-9543-33dfd8987868"&gt;Java is Mature&lt;/a&gt;. &lt;p&gt;
   Java is a mature proven language for non-GUI applications.&amp;nbsp; What it means is
   that it does what you expect it to and there is a large body of open source software
   you can leverage.&amp;nbsp; &lt;a href="http://www.manageability.org/"&gt;Carlos E. Perez&lt;/a&gt;'s
   enumeration of &lt;a href="http://www.manageability.org/blog/stuff/open-source-web-crawlers-java"&gt;Open
   Source Web Crawlers Written in Java&lt;/a&gt; is a good example.
&lt;/p&gt;
&lt;p&gt;
   C# and .NET, on the other hand, has a long way to go still and there is no easy to
   extend IDE like Eclipse for developers to rally around.&amp;nbsp; Working with .NET at
   this point is like working in a new town destined to grow, maybe like Chicago was
   around 1840.&amp;nbsp; As for my involvement with .NET, I enjoy the rough life.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.docuverse.com/blog/donpark/aggbug.ashx?id=1bf3d661-844f-4a17-9543-33dfd8987868"&gt; [&lt;a href="http://www.docuverse.com/blog/donpark/"&gt;Don Park's Daily Habit&lt;/a&gt;]&lt;/blockquote&gt;
&lt;p&gt;As someone who wrote his first C# application on Friday I could get to like the language.  But it's not cross-platform and Visual Studio.NET 2003 is, compared to Intellij IDEA, a piece of junk.  I guess if all I did were write apps for Windows boxes every day it would be fine.  I don't yearn for that kind of simplicity though.&lt;/p&gt;</description>
      <guid isPermaLink="true">http://matt.blogs.it/entries/00001832.html</guid>
      <ent:cloud ent:href="http://matt.blogs.it/topics/">
        <ent:topic ent:href="http://matt.blogs.it/topics/exams.xml" ent:id="exams" ent:classification="user"/>
        <ent:topic ent:href="http://matt.blogs.it/topics/psychology.xml" ent:id="psychology" ent:classification="user"/>
        <ent:topic ent:href="http://matt.blogs.it/topics/study.xml" ent:id="study" ent:classification="user"/>
      </ent:cloud>
    </item>
    <item>
      <title>Effective XML</title>
      <pubDate>Mon, 19 Jan 2004 17:44:29 +0000</pubDate>
      <description>&lt;blockquote&gt;
&lt;p&gt;Book Notice: &lt;a href="http://www.cafeconleche.org/books/effectivexml/"&gt;Effective XML&lt;/a&gt; Elliotte Rusty Harold, Polytechnic University, Brooklyn NY&lt;/p&gt;
&lt;p&gt;Addison-Wesley (Pearson Education) has published Elliotte Rusty Harold's new book, Effective XML.  The author provides fifty (50) practical rules of thumb for improving XML strategies, based upon real-world examples.&lt;/p&gt;
&lt;p&gt;Effective XML is thus a collection of guidelines and best practices for using XML. It focuses on using and developing XML applications, with a particular emphasis on aspects of XML that are often misunderstood or misapplied. Since XML has become a fundamental underpinning of new software systems, it becomes important to begin asking new questions, not just what XML is, but one uses it effectively.  Which techniques work and which don't?  Perhaps most importantly, which techniques appear to work at first but fail to scale as systems are further developed? XML can be used to produce robust, extensible, maintainable, comprehensible systems or it can be used to create masses of unmaintainable, illegible, fragile, closed code. [&lt;a href="http://xml.coverpages.org/"&gt;XML Cover Pages&lt;/a&gt;]&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Books with titles like 'Effective XXX' have had a good history for me (Effective C++ and Effective Java spring to mind).  This one looks interesting.&lt;/p&gt;</description>
      <guid isPermaLink="true">http://matt.blogs.it/entries/00001839.html</guid>
      <ent:cloud ent:href="http://matt.blogs.it/topics/">
        <ent:topic ent:href="http://matt.blogs.it/topics/topics.xml" ent:id="topics" ent:classification="user"/>
        <ent:topic ent:href="http://matt.blogs.it/topics/web-ui.xml" ent:id="web-ui" ent:classification="user"/>
      </ent:cloud>
    </item>
    <item>
      <title>Get it under control</title>
      <pubDate>Sat, 14 Feb 2004 07:44:14 +0000</pubDate>
      <description>&lt;blockquote&gt;&lt;a href="http://weblogs.java.net/pub/wlg/1018"&gt;Source control, change tracking, and regular builds&lt;/a&gt;. Michael Ivey writes that if you don't yet use source control, change tracking, and regular builds in your process, you should implement them today. [&lt;a href="http://www.java.net/"&gt;java.net java.net Daily Update&lt;/a&gt;]&lt;/blockquote&gt;
&lt;p&gt;Sound advice.&lt;/p&gt;</description>
      <guid isPermaLink="true">http://matt.blogs.it/entries/00001880.html</guid>
      <ent:cloud ent:href="http://matt.blogs.it/topics/">
        <ent:topic ent:href="http://matt.blogs.it/topics/css.xml" ent:id="css" ent:classification="user"/>
      </ent:cloud>
    </item>
    <item>
      <title>Catching up on AOP</title>
      <pubDate>Sun, 15 Feb 2004 12:17:37 +0000</pubDate>
      <description>&lt;blockquote&gt;Last tweak of AOP performance. With a last session of performance tweaking, and with help from the CGLIB people, our framework can now perform 17 million AOP method calls per second. CGLIB was updated to not create any Object[] array for zero-argument method calls, and along with caching of Invocation objects (per thread, in a threadlocal) calls can now be made without creating ANY objects as a side-effect. There is also no synchronization in the method invocation code, so there's no performance degradation when multiple threads are working simultaneously. Very nice.
&lt;p&gt;
This means that it is possible to implement dynamic AOP in a rather performant way. I was worried that all of that framework stuff would make it crawl, but 17 million calls per second is actually quite decent, at least for a large portion of applications. [&lt;a href="http://jroller.com/page/rickard"&gt;Random thoughts&lt;/a&gt;]&lt;/blockquote&gt;
&lt;p&gt;After a really long hiatus I have been picking up on Aspects again.   I came across some stuff written by Rickard which really tweaked my curiousity.  I last looked at AOD about 3-4 years ago when &lt;a href="http://eclipse.org/aspectj/"&gt;AspectJ&lt;/a&gt; was pretty new, now it's part of the Eclipse project and aspects seem to have become a credible solution to some real OOD problems.  That's cool, they always appealed to me.  I like the look of &lt;a href="https://dynaop.dev.java.net/"&gt;Dynaop&lt;/a&gt; myself.&lt;/p&gt;</description>
      <guid isPermaLink="true">http://matt.blogs.it/entries/00001886.html</guid>
      <ent:cloud ent:href="http://matt.blogs.it/topics/">
        <ent:topic ent:href="http://matt.blogs.it/topics/amerika.xml" ent:id="amerika" ent:classification="user"/>
        <ent:topic ent:href="http://matt.blogs.it/topics/the-shrub.xml" ent:id="the-shrub" ent:classification="user"/>
        <ent:topic ent:href="http://matt.blogs.it/topics/tony-blair.xml" ent:id="tony-blair" ent:classification="user"/>
      </ent:cloud>
    </item>
    <item>
      <title>Pride of ownership is AWOL from software</title>
      <pubDate>Mon, 22 Mar 2004 20:42:03 +0000</pubDate>
      <description>&lt;blockquote&gt;&lt;a href="http://www.archive.org/audio/audio-details-db.php?collection=conference_proceedings&amp;collectionid=etech2004-norman"&gt;Don Norman is my hero!&lt;/a&gt;. &lt;P&gt;&lt;IMG hspace=8 src="http://blogs.it/0100198/marcanddon.jpg" align=right&gt;&lt;A href="http://www.archive.org/audio/audio-details-db.php?collection=conference_proceedings&amp;amp;collectionid=etech2004-norman"&gt;Don Norman: Emotional Design [ETCON2004]&lt;/A&gt;. [Full title: Emotional Design: The Principles] Don Norman used to be known as a critic of unusable things but now, he says, he has changed. He has transformed himself into an advocate for pleasurable, enjoyable products. Beauty is good, says Norman. Successful products should a pleasure to use, and convey a positive sense of self, of accomplishment, and pride of ownership. In this keynote address, Norman shares work from his latest book, Emotional Design: Why We Love (or Hate) Everyday Things. Do you believe it? Is there really more to life than whether something works well? Does you car really drive better after you have washed and polished it? Listen in. This was a keynote presentation at the &lt;A href="http://www.oreillynet.com/et2004/"&gt;O'Reilly Emerging Technology Conference&lt;/A&gt; held in San Diego, California, February 12, 2004. Recording courtesy of &lt;A href="http://www.oreilly.com/"&gt;O'Reilly &amp; Associates&lt;/A&gt; and &lt;A href="http://www.itconversations.com/"&gt;IT Conversations&lt;/A&gt;. A complete transcript of this and other &lt;A href="http://www.itconversations.com/series/eTech-20040210.html"&gt;keynote sessions&lt;/A&gt; is available on the IT Conversations web site. [&lt;A href="http://www.archive.org/"&gt;Internet Archive&lt;/A&gt;]&lt;/P&gt;
&lt;P&gt;Don Norman is one of the few people I really look up to today.&lt;/P&gt;
&lt;P&gt;His visions picks up right where mine leaves off.&amp;nbsp; We're a perfect complement to each other.&lt;/P&gt;
&lt;P&gt;Here we are debating at PopTech 2002 together.&lt;/P&gt; [&lt;a href="http://blogs.it/0100198/"&gt;Marc's Voice&lt;/a&gt;]&lt;/blockquote&gt;
&lt;p&gt;I have so many &lt;em&gt;good&lt;/em&gt; products where I wish the authors had internalized the idea &lt;blockquote&gt;Successful products should a pleasure to use, and convey a positive sense of self, of accomplishment, and pride of ownership.&lt;/blockquote&gt; a little better.  I'm certainly going to reflect on it more myself.&lt;/p&gt;</description>
      <guid isPermaLink="true">http://matt.blogs.it/entries/00002016.html</guid>
      <ent:cloud ent:href="http://matt.blogs.it/topics/">
        <ent:topic ent:href="http://matt.blogs.it/topics/greasemonkey.xml" ent:id="greasemonkey" ent:classification="user"/>
        <ent:topic ent:href="http://matt.blogs.it/topics/macosx.xml" ent:id="macosx" ent:classification="user"/>
        <ent:topic ent:href="http://matt.blogs.it/topics/mousehole.xml" ent:id="mousehole" ent:classification="user"/>
        <ent:topic ent:href="http://matt.blogs.it/topics/safari.xml" ent:id="safari" ent:classification="user"/>
      </ent:cloud>
    </item>
    <item>
      <title>Let a thousand filters bloom</title>
      <pubDate>Wed, 21 Apr 2004 10:15:55 +0100</pubDate>
      <description>&lt;blockquote&gt;&lt;p&gt;At O'Reilly's &lt;a style="font-style: italic;" href="http://perl.com/"&gt;Perl.com&lt;/a&gt;, &lt;a href="http://www.idlewords.com/"&gt;Maciej Ceglowski&lt;/a&gt; has an
excellent article titled &lt;a href="http://www.perl.com/pub/a/2004/04/08/bloom_filters.html?page=1"&gt;Using Bloom Filters&lt;/a&gt;,
which explains what they are (the quick version: a probabilistic
algorithm for determining set membership), shows how to implement them
in Perl, and provides an interesting and topical application for them:
mapping connections between people in social software while preserving
their privacy. A very interesting read.
Maciej points to a number of articles on Bloom Filters, to which I'll
add &lt;a href="http://www.flipcode.com/tutorials/tut_bloomfilter.shtml"&gt;&lt;span style="font-style: italic;"&gt;FlipCode's&lt;/span&gt; brief overview&lt;/a&gt;, which also illustrates how Bloom Filters
can be used in game programming.&lt;/p&gt;&lt;p&gt;[&lt;a href="http://dev.r.tucows.com/blog/_archives/2004/4/13/34393.html"&gt;The Farm&lt;/a&gt;]&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;This looks like a very interesting technique.&lt;br&gt;
&lt;/p&gt;</description>
      <guid isPermaLink="true">http://matt.blogs.it/entries/00002093.html</guid>
      <ent:cloud ent:href="http://matt.blogs.it/topics/">
        <ent:topic ent:href="http://matt.blogs.it/topics/google.xml" ent:id="google" ent:classification="user"/>
      </ent:cloud>
    </item>
    <item>
      <title>C# new features</title>
      <pubDate>Wed, 21 Apr 2004 17:06:40 +0100</pubDate>
      <description>&lt;blockquote&gt;&lt;a href="http://dev.r.tucows.com/blog/_archives/2004/4/21/37402.html"&gt;New Language Features in C# 2.0&lt;/a&gt;. O'Reilly's &lt;a href="http://ondotnet.com"&gt;&lt;span style="font-style: italic;"&gt;OnDotNet.com&lt;/span&gt;&lt;/a&gt;
has a two-part series of articles covering features to be added to the
C# programming language for version 2.0 (which will be part of
"Whidbey", the upcoming version of Visual Studio). &lt;a href="http://www.ondotnet.com/pub/a/dotnet/2004/04/05/csharpwhidbeypt1.html"&gt;Part One covers anonymous methods, iterators and partial classes&lt;/a&gt;, while &lt;a href="http://www.ondotnet.com/pub/a/dotnet/2004/04/12/csharpwhidbeypt2.html"&gt;Part Two covers generics&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
&lt;br&gt; [&lt;a href="http://dev.r.tucows.com/blog"&gt;The Farm: The Tucows Developers' Hangout&lt;/a&gt;]&lt;/blockquote&gt;&lt;p&gt;At
first glance I thought &lt;span style="font-weight: bold;"&gt;partial classes&lt;/span&gt;
(in a nutshell they allow the definition of a class to be split among a
number of physical files) were a duff idea but having once
I saw some examples I realised just how useful they could be. I've been
doing code generation recently, using &lt;a href="http://xdoclet.sourceforge.net/"&gt;xDoclet&lt;/a&gt;,
building classes which contain type factory methods and field maps for
domain classes.  It now occurs to me that partial classes would be
a much neater solution keeping the generated code within the domain
class (avoiding a proliferation of types, or possibly type access
issues), but without polluting the hand written code or risking
overwriting anything.  Neat, I'd like to see this in a future
version of Java.&lt;br&gt;
&lt;/p&gt;</description>
      <guid isPermaLink="true">http://matt.blogs.it/entries/00002098.html</guid>
      <ent:cloud ent:href="http://matt.blogs.it/topics/">
        <ent:topic ent:href="http://matt.blogs.it/topics/macosx.xml" ent:id="macosx" ent:classification="user"/>
        <ent:topic ent:href="http://matt.blogs.it/topics/rails.xml" ent:id="rails" ent:classification="user"/>
        <ent:topic ent:href="http://matt.blogs.it/topics/ruby.xml" ent:id="ruby" ent:classification="user"/>
      </ent:cloud>
    </item>
    <item>
      <title>Software licensing for small ISVs</title>
      <pubDate>Mon, 26 Apr 2004 08:18:33 +0100</pubDate>
      <description>&lt;blockquote&gt;&lt;a href="http://www.bricklin.com/licensingthinking.htm"&gt;Dan Bricklin's rap on Open Source&lt;/a&gt;. 
  &lt;p&gt;&lt;a href="http://www.bricklin.com/licensingthinking.htm"&gt;software licensing for small ISVs&lt;/a&gt;. good thinking about being open without being open source [&lt;a href="http://www.dashes.com/links/"&gt;anil dash's daily links&lt;/a&gt;]&lt;/p&gt;
  &lt;p&gt;Great rant and tutorial by Dan Bricklin.  I wonder why Anil doesn't just say that?&lt;/p&gt;
 [&lt;a href="http://blogs.it/0100198/"&gt;Marc's Voice&lt;/a&gt;]&lt;br&gt;
&lt;/blockquote&gt;

&lt;br&gt;
At first read an interesting outline of the issues faced by small ISVs
(Evectors fits that bill although we think of ourselves more as &lt;i&gt;compact and bijou&lt;/i&gt;)
contemplating whether to make their product open, or open source and
how to understand competition in that model.&amp;nbsp; Dan appears to be
going the dual license route: one free, one commercial with the
commercial license being activated by specific activities.&lt;br&gt;
&lt;br&gt;
&lt;a href="http://www.db4o.com/"&gt;Db4o&lt;/a&gt; do something similar with their
license which allows for free use of the product in free applications
and a commercial %revenue basis otherwise - although they charge
everyone an annual fee to join their developer network where you can
download the latest release and get support.&amp;nbsp; I'm not sure how
much revenue they make from this fee ($100 for individuals/$1000 for
organisations) and whether it affects take up.&lt;br&gt;
</description>
      <guid isPermaLink="true">http://matt.blogs.it/entries/00002123.html</guid>
      <ent:cloud ent:href="http://matt.blogs.it/topics/">
      </ent:cloud>
    </item>
    <item>
      <title>Not a paper tiger</title>
      <pubDate>Thu, 29 Apr 2004 13:44:40 +0100</pubDate>
      <description>&lt;blockquote&gt;&lt;a href="http://dev.r.tucows.com/blog/_archives/2004/4/28/44071.html"&gt;Taming Tiger&lt;/a&gt;. 
  &lt;p&gt;&lt;a href="http://javaworld.com"&gt;&lt;span style="font-style: italic;"&gt;JavaWorld&lt;/span&gt;&lt;/a&gt; (nice to see them back -- when did that happen?) has the first in a three-part series of articles on J2SE 1.5 called &lt;a href="http://www.javaworld.com/javaworld/jw-04-2004/jw-0426-tiger1.html"&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Taming Tiger&lt;/span&gt;&lt;/a&gt; ("Tiger" is 1.5's codename). Part 1 covers new language features, namely:&lt;/p&gt;
  &lt;ul&gt;
&lt;li&gt;Boxing and unboxing&lt;/li&gt;&lt;li&gt;An improvcd for loop specifically designed for iterating over array/collection elements&lt;/li&gt;
  &lt;li&gt;Variable numbers of arguments for methods&lt;/li&gt;
  &lt;li&gt;Enumerations (&lt;span style="font-style: italic;"&gt;IT'S! ABOUT! TIME!&lt;/span&gt;)&lt;/li&gt;
  &lt;li&gt;Static imports&lt;br&gt;
  &lt;/li&gt;
  &lt;/ul&gt;
 [&lt;a href="http://dev.r.tucows.com/blog"&gt;The Farm: The Tucows Developers' Hangout&lt;/a&gt;]&lt;br&gt;
&lt;/blockquote&gt;
&lt;br&gt;
I'm really looking forward to JDK1.5 becoming a reality and to the forthcoming support for it in my IDE of choice, &lt;a href="http://www.intellij.com/"&gt;IntelliJ IDEA&lt;/a&gt; (they already have support for generics).&lt;br&gt;
&lt;br&gt;
However, they don't list the new feature I am looking forward to most of all:&lt;br&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href="http://www.jcp.org/en/jsr/detail?id=175"&gt;JSR-175&lt;/a&gt; - attribute based programming.&lt;/li&gt;
&lt;/ul&gt;
Thanks to &lt;a href="http://xdoclet.sourceforge.net/"&gt;xDoclet&lt;/a&gt; I am
already a convert to this way of working.  Flexible, attribute
based, code generation is very powerful.  But you can generate
other things too.  For example I also generate &lt;a href="http://www.beanshell.org/"&gt;BeanShell&lt;/a&gt;
scripts which are used to configure runtime &lt;a href="https://dynaop.dev.java.net/"&gt;aspect&lt;/a&gt; weaving and object
configuration.  This kind of thing makes me smile :-)&lt;br&gt;</description>
      <guid isPermaLink="true">http://matt.blogs.it/entries/00002134.html</guid>
      <ent:cloud ent:href="http://matt.blogs.it/topics/">
      </ent:cloud>
    </item>
    <item>
      <title>Software customisation the BeanShell way</title>
      <pubDate>Fri, 30 Apr 2004 11:04:40 +0100</pubDate>
      <description>&lt;blockquote&gt;&lt;a href="http://weblog.infoworld.com/udell/2004/04/27.html#a983"&gt;Radical software customization&lt;/a&gt;. The always-interesting Sean McGrath has a great column this week about software customization. He says, in part:
  &lt;blockquote class="personQuote SeanMcGrath"&gt;
In order to stay sane, most programmers concentrate on the part of the
problem they are working on today. As a consequence, their view of what
pieces of the functions under development need to be parameterized and
which do not, tends to be a quite low level. Indeed, most of the items
programmers will chose to parameterize will amount to double dutch to
the business analysts. [&lt;a href="http://www.itworld.com/nl/ebiz_ent/04272004/"&gt;Sean Mcgrath: The mysteries of flexible software&lt;/a&gt;] 
  &lt;/blockquote&gt;

In the companion &lt;a href="http://seanmcgrath.blogspot.com/archives/2004_04_25_seanmcgrath_archive.html#108305574138645334"&gt;blog entry&lt;/a&gt;
Sean gives the example of a Jython script that he used, instead of an
XML configuration file, to parameterize a piece of software. It
illustrates, by example, one of the points I tried to make in my recent
  &lt;a href="http://www.itconversations.com/transcripts/117/transcript117-1.html"&gt;IT Conversations&lt;/a&gt;
interview with Doug Kaye. Dynamic languages are a great way to record
data when a solution is fluid and requirements are evolving. And, come
to think of it, when aren't those things true? &lt;b&gt;...&lt;/b&gt; [&lt;a href="http://weblog.infoworld.com/udell/"&gt;Jon's Radio&lt;/a&gt;]&lt;br&gt;
&lt;/blockquote&gt;

&lt;br&gt;I've seen the power of this approach too.&amp;nbsp; When I needed a way
to run-time configure a customised Reflection package I was originally
going to write a configuration file, maybe a .properties file or, since
everything must be XML these days, use some cool XML syntax.&amp;nbsp; Just
as I was gritting my teeth at the thought of parsing XML to read in
class names, light dawned!&lt;br&gt;
&lt;br&gt;Took a leaf out of the &lt;a href="https://dynaop.dev.java.net/"&gt;Dyanop&lt;/a&gt; book I decided to use a &lt;a href="http://www.beanshell.org/"&gt;BeanShell&lt;/a&gt;
script
instead. A simple modification to the Reflector class makes it execute
a pre-defined script when instantiated.&amp;nbsp; Before the script runs
the Reflector statically imports a method called &lt;b&gt;registerClass&lt;/b&gt; into the
scripts namespace.&amp;nbsp; The &lt;i&gt;configuration file&lt;/i&gt; is then a simple script as follows:&lt;br&gt;&lt;code&gt;&lt;br&gt;
// Generated file - Do not edit!&lt;br&gt;
//&lt;br&gt;
// This file configures the Db4o activator reflector package.&lt;br&gt;
//&lt;br&gt;
&lt;br&gt;
registerClass( com.evectors.persistence.samples.SampleComposite.class );&lt;br&gt;
registerClass( com.evectors.persistence.samples.SampleType.class );&lt;br&gt; &lt;/code&gt;&lt;br&gt;
Job done!&amp;nbsp; If the reflector ever requres more
advanced configuration options I can just add the appropriate methods
to the Reflector class and import them into the script namespace.&lt;br&gt;
&lt;br&gt;
And, best of all, not a &lt;a href="http://www.depeupleur.com/blog/TT_blog/archives/000016.html"&gt;hint of XML&lt;/a&gt; in sight!&lt;br&gt;
</description>
      <guid isPermaLink="true">http://matt.blogs.it/entries/00002149.html</guid>
      <ent:cloud ent:href="http://matt.blogs.it/topics/">
      </ent:cloud>
    </item>
    <item>
      <title>Advantage BeanShell</title>
      <pubDate>Tue, 04 May 2004 21:51:25 +0100</pubDate>
      <description>&lt;blockquote&gt;&lt;a href="http://weblogs.java.net/pub/wlg/1259"&gt;The role of Jython&lt;/a&gt;. "Whether or not you like dynamic languages, you better warm up to 'em because they're not going away any time soon." [&lt;a href="http://www.java.net/"&gt;java.net Daily Update&lt;/a&gt;]&lt;br&gt;
&lt;/blockquote&gt;
&lt;br&gt;
Whilst I agree with the message I'm puzzling over the seemingly popularity of Jython when something like &lt;a href="http://www.beanshell.org/"&gt;BeanShell&lt;/a&gt;
is available.&amp;nbsp; For one thing I don't get Python, to me it looks
like a mess (although I'm sure it all makes sense really.)&amp;nbsp; But,
more important, since I am writing Java applications it makes sense
that I have interpreted Java as my dynamic scripting language.&lt;br&gt;
&lt;br&gt;
Not only does it mean I don't have to mix/learn another language but it
also holds out the possibility of being able to move compiled code out
into scripts where flexibility was an advantage, or bring scripts back
into compiled code where performance becomes an issue.&lt;br&gt;
</description>
      <guid isPermaLink="true">http://matt.blogs.it/entries/00002185.html</guid>
      <ent:cloud ent:href="http://matt.blogs.it/topics/">
      </ent:cloud>
    </item>
    <item>
      <title>Lisped Java</title>
      <pubDate>Tue, 04 May 2004 22:27:15 +0100</pubDate>
      <description>On the subject of dynamic languages for Java I wondered whether anyone had created embeddable &lt;a href="http://www.apl.jhu.edu/%7Ehall/lisp.html"&gt;Common Lisp&lt;/a&gt;.&amp;nbsp; Turns out they had and it's called &lt;a href="http://sourceforge.net/projects/jatha/"&gt;Jatha&lt;/a&gt;.&lt;br&gt;
</description>
      <guid isPermaLink="true">http://matt.blogs.it/entries/00002187.html</guid>
      <ent:cloud ent:href="http://matt.blogs.it/topics/">
      </ent:cloud>
    </item>
    <item>
      <title>OSGi plugin framework</title>
      <pubDate>Tue, 15 Jun 2004 10:41:30 +0100</pubDate>
      <description>&lt;blockquote&gt;&lt;a href="http://www.docuverse.com/blog/donpark/EntryViewPage.aspx?guid=7fd2dbc1-f24d-4b0f-b2c1-4ac2105d8d82"&gt;OSGi&lt;/a&gt;. 
  &lt;p&gt;
   &lt;a href="http://www.osgi.org/"&gt;OSGi&lt;/a&gt; is a standard lightweight API for plugin framework
   (useful for building microkernels) with a bias toward the needs of network devices. 
   Recently it gained some momentum when the Eclipse team replaced their original plugin
   mechanism with OSGi (actually, they paved over it rather than replace).
  &lt;/p&gt;
  &lt;p&gt;
   First full version of &lt;a href="http://oscar.objectweb.org/"&gt;Oscar&lt;/a&gt;, an implementation
   of OSGi, was released yesterday.  Also checkout &lt;a href="http://oscar-osgi.sourceforge.net/"&gt;OSGi
   bundle repository&lt;/a&gt; and this nice &lt;a href="http://oscar-osgi.sourceforge.net/tutorial/"&gt;tutorial&lt;/a&gt; of
   how OSGi can be used.
  &lt;/p&gt;
  &lt;img src="http://www.docuverse.com/blog/donpark/aggbug.ashx?id=7fd2dbc1-f24d-4b0f-b2c1-4ac2105d8d82" height="0" width="0"&gt; [&lt;a href="http://www.docuverse.com/blog/donpark/"&gt;Don Park's Daily Habit&lt;/a&gt;]&lt;br&gt;
&lt;/blockquote&gt;


&lt;br&gt;
I'm still pondering the many ways of implementing systems at the moment including inversion of control containers (like &lt;a href="http://www.picocontainer.org/"&gt;Pico&lt;/a&gt; and &lt;a href="http://jakarta.apache.org/hivemind/index.html"&gt;Hivemind&lt;/a&gt;).&amp;nbsp; &lt;a href="http://www.osgi.org/"&gt;OSGi&lt;/a&gt; (&amp; maybe when it is developed &lt;a href="http://gravity.sourceforge.net/"&gt;Gravity&lt;/a&gt;) look interesting also.&lt;br&gt;
</description>
      <guid isPermaLink="true">http://matt.blogs.it/entries/00002327.html</guid>
      <ent:cloud ent:href="http://matt.blogs.it/topics/">
      </ent:cloud>
    </item>
    <item>
      <title></title>
      <pubDate>Mon, 05 Jul 2004 22:15:06 +0100</pubDate>
      <description>In &lt;a href="http://www.blogtalk.net/"&gt;BlogTalk&lt;/a&gt; 2.0 &lt;a href="http://randgaenge.net/"&gt;Thomas&lt;/a&gt;
&amp; crew have, once again, brought together a lot of interesting
people &amp; wherever possible conversations are flourishing as
evidenced by tonights get together.  It was good to meet &lt;a href="http://www.dijest.com/aka/"&gt;Phil&lt;/a&gt; again after a year and to meet &lt;a href="http://radio.weblogs.com/0100875/"&gt;Mikel&lt;/a&gt; for the first time, especially as his talk prompted lots of interesting ideas we might look at for &lt;a href="http://www.evectors.com/itkcollector/"&gt;K-Collector&lt;/a&gt;.  After a day where I had felt very tired and jaded I found the atmosphere quite reviving.&lt;br&gt;
&lt;br&gt;
I had the pleasure of dining with &lt;a href="http://paolo.evectors.it/"&gt;Paolo&lt;/a&gt;, &lt;a href="http://www.markbernstein.org/"&gt;Mark Bernstein&lt;/a&gt;, &lt;a href="http://www.sumofmyparts.com/blog/"&gt;Stephanie Hendrick&lt;/a&gt;, and &lt;a href="http://blog.humlab.umu.se/therese"&gt;Therese Örnberg&lt;/a&gt;. 
Mark gave a very interesting keynote this morning which provoked lots
of questions for me.  Stephanie &amp; Therese gave, I think, the
most stylish presentation of the day (including an amusing near-death
audioblog to end) and their discussion of presence and spaces was
stimulating.  From my perspective a happy coincidence that we all
ended up together.  We had an interesting discussion about a range
of topics spanning language, blogging, literary discourse, topics,
flame wars, comments &amp; trackbacks, software tools and how you build
them, tinderbox, Dave Allen, and test first development.&lt;br&gt;
&lt;br&gt;
Taking antibiotics means I cannot drink alchohol so my opinions whilst
maybe better formed were far less robust than usual &amp; I was open to
colonization ;-)  I got persuaded that comments are bad and that
even trackback requires considerable architectural revision to work
properly.  Mark's suggestion of making trackback default to being
private (i.e. you get a file of trackbacks and you decide what, if
anything, to do with them) seems to be a good one.  I think this
can be assisted by some sort of intelligent filtering of trackback
contents &amp; authorship to help you decide about those you do &amp;
don't want to handle.  I think emulating the LinkedIn
FOAFOAFOAFOAF network model could be useful in this regard.&lt;br&gt;
&lt;br&gt;
Also, based on comments by Stephanie and Mark, I have finally concluded that I must do something in K-Collector for the &lt;a href="http://blog.mathemagenic.com/"&gt;Lilia's&lt;/a&gt; and &lt;a href="http://www.mcgeesmusings.net/"&gt;Jim McGee's&lt;/a&gt; of this world who used (and maybe still cling to) &lt;a href="http://www.google.com/search?num=20&amp;hl=en&amp;lr=lang_en&amp;ie=UTF-8&amp;safe=off&amp;c2coff=1&amp;q=livetopics&amp;btnG=Search"&gt;liveTopics&lt;/a&gt;. 
I think that part of my problem has been misunderstanding where they
are coming from.  liveTopics, for me, was a stepping stone towards
a larger vision which, at that time, I couldn't achieve.  But for
them it was actually what they were looking for.  No wonder then
that I've had a hard time convincing them that K-Collector is better.&lt;br&gt;
&lt;br&gt;
I haven't quite worked out the answer yet but I think it may be as
simple as offering some kind of discriminator where you can choose
whether K-Collector should default to showing you only your own work,
or the work of the community as a whole.  We may even have enough
smarts in the database to do this without requiring additional work but
I'll have to get some clear space (i.e. after &lt;a href="http://stes.evectors.com/"&gt;STES&lt;/a&gt;) to think this through properly.&lt;br&gt;
</description>
      <guid isPermaLink="true">http://matt.blogs.it/entries/00002388.html</guid>
      <ent:cloud ent:href="http://matt.blogs.it/topics/">
      </ent:cloud>
    </item>
    <item>
      <title>I'm feeling frustrated so I guess it must be anti-virus software renewal time again.</title>
      <pubDate>Mon, 16 Aug 2004 09:23:38 +0100</pubDate>
      <description>I've written before (&lt;a href="http://matt.blogs.it/2003/08/24.html#a1099"&gt;here&lt;/a&gt;, &lt;a href="http://matt.blogs.it/2003/08/11.html#a1069"&gt;here&lt;/a&gt;, &lt;a href="http://matt.blogs.it/2003/08/26.html"&gt;here&lt;/a&gt;, and &lt;a href="http://matt.blogs.it/2003/10/09.html#a1165"&gt;here&lt;/a&gt;
where I am prophetic about my current situation) about my many trials
with anti-virus software.&amp;nbsp; But the moment I had been dreading is
here: My McAfee anti-virus subscription is about to run out.&lt;br&gt;
&lt;br&gt;
As an aside I will say that, so far, McAfee has been good.&amp;nbsp; If it
hasn't caught any viruses at least I haven't thought I had any.&amp;nbsp;
It's been relatively unobtrusive even if the on-access scanner is
demanding from time to time.&amp;nbsp; It also transparently started
scanning my PocketPC device when I first set it up.&amp;nbsp; I guess you
could say I've been happy with it.&lt;br&gt;
&lt;br&gt;
But that time is over, gone, in the past.&amp;nbsp; I know this because, at
least once per day, McAfee pops up to warn me that my subscription is
about to run out.&amp;nbsp; I have a month left it says and offers me a &lt;i&gt;Purchase&lt;/i&gt; button to renew my subscription and a &lt;i&gt;Cancel&lt;/i&gt; button to go about my lawful business without let or hindrance.&lt;br&gt;
&lt;br&gt;
Mindful of previous horrors (which might well have done for Dexter Ward
or Randolph Carter) I have spent a few days hitting cancel and putting
off the inevitable &lt;i&gt;confrontation with evil&lt;/i&gt;.&amp;nbsp; But, today, the pressure became too great.&amp;nbsp; I &lt;b&gt;had&lt;/b&gt; to know.&lt;br&gt;
&lt;br&gt;
I had many expectations:&lt;br&gt;
&lt;ul&gt;
  &lt;li&gt;That I would be taken to some labyrithine website never to find the link I was after.&lt;/li&gt;
  &lt;li&gt;That I would be goaded to purchase McAfee anti-virus 2005 or any number of&amp;nbsp; more expensive internet security products.&lt;/li&gt;
  &lt;li&gt;That I would be unceremoniously dumped with a 404 after submitting my credit card details.&lt;br&gt;
  &lt;/li&gt;
  &lt;li&gt;That I would be forced to transact in Zloty, Kwatcha, or Yuan.&lt;/li&gt;
&lt;/ul&gt;
But no.&amp;nbsp; I realise now that these were all too predictable, &lt;i&gt;amateurish&lt;/i&gt;.&amp;nbsp; This time they have been even more devious -- the purchase button doesn't do anything at all!&lt;br&gt;
&lt;br&gt;
I swear they make these products difficult to upgrade on purpose.&amp;nbsp;
I think it's interesting that, each year, McAfee and Norton come out
with exactly one new version of their anti-virus product which not only
has to compete with other products but also with "upgrade last years
product" and that is likely to be a cheaper option.&lt;br&gt;
&lt;br&gt;
I hate anti-virus software and the companies that produce it.&amp;nbsp; It
feels like car insurance.&amp;nbsp; I have to pay for it because I'm afraid
of what will happen if i don't.&amp;nbsp; I also feel like these companies
pray on that feeling.&lt;br&gt;
&lt;br&gt;
I'd love to find a good anti-virus product from a friendly company I
could trust.&amp;nbsp; Maybe Kerio (whose Personal Firewall product I just
bought)?&lt;br&gt;
</description>
      <guid isPermaLink="true">http://matt.blogs.it/entries/00002441.html</guid>
      <ent:cloud ent:href="http://matt.blogs.it/topics/">
      </ent:cloud>
    </item>
    <item>
      <title>The perils of XP-SP2</title>
      <pubDate>Fri, 20 Aug 2004 07:22:27 +0100</pubDate>
      <description>I read the following in a newsgroup regarding the new Service Pack 2 for Windows XP:&lt;br&gt;
&lt;blockquote&gt;If you 
use peer2peer software the concurrent per port connections are limited 
to 10 unless you hack the tcpip.sys driver, if you don't and you're 
running bittorrent or emule your net connection will crap out and errors 
will display in the event log.&lt;br&gt;
&lt;/blockquote&gt;
Does anyone know if this is true?&amp;nbsp; And, if so, how this "hack" works?&lt;br&gt;
</description>
      <guid isPermaLink="true">http://matt.blogs.it/entries/00002456.html</guid>
      <ent:cloud ent:href="http://matt.blogs.it/topics/">
      </ent:cloud>
    </item>
    <item>
      <title>For Who The That Unlike Our Product</title>
      <pubDate>Thu, 05 Jan 2006 18:19:41 +0000</pubDate>
      <description>&lt;blockquote&gt;
    &lt;p&gt;This product vision model helps team members pass the elevator test -- the ability to explain the project to someone within two minutes. It comes from Geoffrey Moore's book &lt;a href="http://www.amazon.com/exec/obidos/ASIN/0066620023/cutterinformatco"&gt;Crossing the Chasm&lt;/a&gt;. It follows the form:&lt;/p&gt;
    
    &lt;ul&gt;
    &lt;li&gt;For (target customer)&lt;/li&gt;
    &lt;li&gt;Who (statement of the need or opportunity)&lt;/li&gt;
    &lt;li&gt;The (product name) is a (product category)&lt;/li&gt;
    &lt;li&gt;That (key benefit, compelling reason to buy)&lt;/li&gt;
    &lt;li&gt;Unlike (primary competitive alternative)&lt;/li&gt;
    &lt;li&gt;Our product (statement of primary differentiation)&lt;/li&gt;
    &lt;/ul&gt;
    
    &lt;p&gt;&lt;a href="http://www.joelonsoftware.com/articles/JimHighsmithonProductVisi.html"&gt;Joel on Software&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Interesting questions to think about both from the Squib perspective but also for my work at &lt;a href="http://www.paoga.com/"&gt;PAOGA&lt;/a&gt;.&lt;/p&gt;</description>
      <guid isPermaLink="true">http://matt.blogs.it/entries/00003149.html</guid>
      <ent:cloud ent:href="http://matt.blogs.it/topics/">
      </ent:cloud>
    </item>
    <item>
      <title>What money, users, and a five year headstart won't buy you</title>
      <pubDate>Sun, 08 Jan 2006 22:24:21 +0000</pubDate>
      <description>&lt;p&gt;Ari Paparo has &lt;a href="http://www.aripaparo.com/archive/001456.html"&gt;written an insightful and, probably painful, post&lt;/a&gt; about how Blink.com, despite many advantages, was eclipsed by Del.icio.us.&lt;/p&gt;

&lt;blockquote&gt;
    &lt;p&gt;This post wasn’t meant as a defense of Blink or my own decisions while I was there. My intent was to show that product design matters. We had more money, more users, a five year head start, and some really, really smart people working on bookmarking in 1999. The bottom line is that we simply didn’t get it right. Some simple innovations like using tags instead of folders, making public the default, building better discovery features, etc made the difference between being an also-ran and a hot acquisition target.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Worth reading if you're thinking about introducing a product. I've become very sensitive to design over the last few years. That design is important is a lesson that &lt;a href="http://paolo.evectors.it/"&gt;Paolo&lt;/a&gt; hammered into me. I guess I have learned to value good design but still cannot produce it. Anyone who has seen the &lt;a href="http://squib.rubyforge.org/"&gt;Squib&lt;/a&gt; admin interface will vouch for that. But I try.&lt;/p&gt;

&lt;p&gt;I'm also going to be involved in launching another, much more significant, project this year. I've already realised that thinking hard about design and usability are going to be key factors in whether we can be successful or not.&lt;/p&gt;

&lt;p&gt;We don't have Ari's cash so we're going to have to make the most of our advantages!&lt;/p&gt;</description>
      <guid isPermaLink="true">http://matt.blogs.it/entries/00003152.html</guid>
      <ent:cloud ent:href="http://matt.blogs.it/topics/">
      </ent:cloud>
    </item>
  </channel>
</rss>

	</div>
</div>
<div id="footer">
	<div class="info">
Copyright 2006 Matt Mower -- <a href='http://squib.rubyforge.org/'>Squib</a> Version 0.4.0 (Release 282)&nbsp;&nbsp;Updated: 19/01/2006 18:50
	</div>
</div>
</div>
</body>
</html>
