<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Keywords for Future Self</title>
	<atom:link href="http://hugman.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://hugman.wordpress.com</link>
	<description>Annuary of a Watching Computerist</description>
	<lastBuildDate>Thu, 24 Jul 2008 00:33:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='hugman.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Keywords for Future Self</title>
		<link>http://hugman.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://hugman.wordpress.com/osd.xml" title="Keywords for Future Self" />
	<atom:link rel='hub' href='http://hugman.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Creating a &#8220;personal curriculum&#8221; podcast with del.icio.us</title>
		<link>http://hugman.wordpress.com/2008/07/24/creating-a-personal-curriculum-podcast-with-delicious/</link>
		<comments>http://hugman.wordpress.com/2008/07/24/creating-a-personal-curriculum-podcast-with-delicious/#comments</comments>
		<pubDate>Thu, 24 Jul 2008 00:33:25 +0000</pubDate>
		<dc:creator>hugman</dc:creator>
				<category><![CDATA[Small Projects]]></category>
		<category><![CDATA[del.icio.us]]></category>
		<category><![CDATA[podcasting]]></category>

		<guid isPermaLink="false">http://hugman.wordpress.com/?p=9</guid>
		<description><![CDATA[At my current client, I have found myself throwing out a number of links at people. I often do this, but more recently, I&#8217;ve begun passing links to my del.icio.us account, appropriately segmented by tag or tags. For instance, at a certain point in almost every project involving a UI, there&#8217;s usually a hunt for [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hugman.wordpress.com&amp;blog=3744109&amp;post=9&amp;subd=hugman&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>At my current client, I have found myself throwing out a number of links at people. I often do this, but more recently, I&#8217;ve begun passing links to my del.icio.us account, appropriately segmented by tag or tags.</p>
<p>For instance, at a certain point in almost every project involving a UI, there&#8217;s usually a hunt for set of good <a href="http://del.icio.us/gullcatcher/icons">icons</a>.</p>
<p>Of course, none of this is news worthy, Jon Udell was here <em>l o n g</em> before me.</p>
<p>What was a revelation to me was trying to work out how to get the series of random mp3s I was recommended to listen to on to my iPod. While researching the Jon Udell link, I found someone else was here <a href="http://pascal.vanhecke.info/2006/09/12/cathing-loose-mp3s-with-greasemonkey-and-delicious/">long before me</a> too. Though we came up with different refinements, we both used the same idea.</p>
<p>Both of us use the special <a href="http://del.icio.us/tag/system:filetype:mp3">system:filetype:mp3</a> tag that del.icio.us has.</p>
<p>My own special refinement is making the publishing slightly neater &#8211; the colons in the URL seem ugly, and I&#8217;m not quite sure how iTunes deals with podcasts that haven&#8217;t got their special extensions.</p>
<p>Passing the desired feed through feedburner&#8217;s <a href="http://blogs.feedburner.com/feedburner/archives/000812.html">SmartCast</a> service cleans up the URL and puts the silly iTunes enclosures in, so you don&#8217;t have to.</p>
<p>So now, I&#8217;ve got a mechanism to get the <a href="http://feeds.feedburner.com/james/recommends/tech">dispersed mp3 files that I recommend</a> straight into your iPod, without too much fuss for you, dear podcast listener. And I can do the same for people recommending mp3s for me.</p>
<p>
This gives a tidier frontend to the podcast; but I have found that the generation of these del.icio.us entries has been a pain.
</p>
<p>Pascal van Hecke&#8217;s method, above, concentrates on this very problem. I haven&#8217;t tried it (<a href="http://opera.com">not using firefox</a> on this machine), but I&#8217;m looking for a &#8220;bookmark this link with the data from this page&#8221; type functionality.</p>
<p>
If I can get this production workflow going more smoothly, I shall be adding to my own <a href="http://feeds.feedburner.com/james/recommends/tech">personal curriculum</a> more frequently.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hugman.wordpress.com/9/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hugman.wordpress.com/9/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hugman.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hugman.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hugman.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hugman.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hugman.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hugman.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hugman.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hugman.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hugman.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hugman.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hugman.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hugman.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hugman.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hugman.wordpress.com/9/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hugman.wordpress.com&amp;blog=3744109&amp;post=9&amp;subd=hugman&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hugman.wordpress.com/2008/07/24/creating-a-personal-curriculum-podcast-with-delicious/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9a342a3170b64ef7fa0cf1bcf983627f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">hugman</media:title>
		</media:content>
	</item>
		<item>
		<title>The best RSS reader in the world.</title>
		<link>http://hugman.wordpress.com/2008/06/11/the-best-rss-reader-in-the-world/</link>
		<comments>http://hugman.wordpress.com/2008/06/11/the-best-rss-reader-in-the-world/#comments</comments>
		<pubDate>Wed, 11 Jun 2008 16:10:48 +0000</pubDate>
		<dc:creator>hugman</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[sage rss reader]]></category>

		<guid isPermaLink="false">http://hugman.wordpress.com/?p=7</guid>
		<description><![CDATA[Congratulations to the Sage Too team.The web is a better place than it was before.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hugman.wordpress.com&amp;blog=3744109&amp;post=7&amp;subd=hugman&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been using Firefox since it was Phoenix. It was lightweight and speedy, but didn&#8217;t have the ads that Opera had in its top right hand corner. The nascent ecosystem of extensions looked much more vibrant than Opera&#8217;s. And you could do real ad blockng.</p>
<p>I was a relatively late starter to RSS, but when it came to selecting a client, the plethora of web clients weren&#8217;t around yet.The dominant paradigm was RSS was like a newsgroup, and to be presented in an email client.</p>
<p>This didn&#8217;t make sense to me, so when I found <a href="http://sage.mozdev.org/">Sage</a>, I thought I had something that fit. Sage turned out to be exactly what I needed &#8211; a way to read <a href="http://alterslash.org">slashdot</a> stories and comments without all that green and white. Right from the browser. Being in the browser informed my understanding of what RSS, and later Atom, was.</p>
<p>But more than that. Sage was exactly in the place I wanted it &#8211; a tab of my browser, and didn&#8217;t get in the way of what I was doing.</p>
<p>I&#8217;ve been with Sage every since. Not for me the alure of Google Reader. Say no to RSSOwl.</p>
<p>So it was with great sadness when I found that Sage wouldn&#8217;t work after I upgraded to Firefox 3.0. The original developers seemed to have died or lost interest in the add-on, so there seemed like no choice but to find a replacement.</p>
<p>In my stumblings, I tried some others, <a href="http://brief.mozdev.org">Brief</a> came close, but suffered the same incompatibility after version 3.0rc2.</p>
<p>I looked again at email type readers, but found it jarring that the RSS item just reloads the permalink as the item body.All the content, including ads, from the web page, but in my email client.</p>
<p>I tried, without success, to make do with Live Bookmarks, which I&#8217;ve never felt quite cut it.</p>
<p>There was nothing for it, I was going to have to have to scratch that itch. I really didn&#8217;t want to, it&#8217;s not like I didn&#8217;t already have a pile of other projects I wanted to do.</p>
<p>It&#8217;d be a better use of time to adapt. Either adapt the existing code, or continue with the default path of adapting myself to another client. I was resigned.</p>
<p>So it was with great gratitude I came across a project which was to become <a href="https://addons.mozilla.org/en-US/firefox/addon/7263">Sage Too</a>. Mike Kroger has picked up the source of the abandoned Sage project, and adapted it to the new Places infrastructure in Firefox 3. A few other people joined in, and started adding features, and bugfixing, and general polish.</p>
<p>Today they hit their Version 1.0.0. It started as a straight port of the old Sage, but has added a whole slew of <a href="http://sage.blat.co.za/2008/06/05/new-functionality-in-version-100/">extra features</a>.</p>
<p>Congratulations to the Sage Too team.The web is a better place than it was before.</p>
<p>You can install the addon from <a href="https://addons.mozilla.org/en-US/firefox/downloads/file/29843/sage-too-1.0.0-fx.xpi">here</a>.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hugman.wordpress.com/7/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hugman.wordpress.com/7/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hugman.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hugman.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hugman.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hugman.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hugman.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hugman.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hugman.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hugman.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hugman.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hugman.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hugman.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hugman.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hugman.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hugman.wordpress.com/7/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hugman.wordpress.com&amp;blog=3744109&amp;post=7&amp;subd=hugman&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hugman.wordpress.com/2008/06/11/the-best-rss-reader-in-the-world/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9a342a3170b64ef7fa0cf1bcf983627f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">hugman</media:title>
		</media:content>
	</item>
		<item>
		<title>Processing Layers</title>
		<link>http://hugman.wordpress.com/2008/05/20/processing-layers/</link>
		<comments>http://hugman.wordpress.com/2008/05/20/processing-layers/#comments</comments>
		<pubDate>Tue, 20 May 2008 15:52:39 +0000</pubDate>
		<dc:creator>hugman</dc:creator>
				<category><![CDATA[Small Projects]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[processing]]></category>

		<guid isPermaLink="false">http://hugman.wordpress.com/?p=3</guid>
		<description><![CDATA[I&#8217;ve been really interested watching the success of John Ressig&#8217;s Processing.js. So much so, it&#8217;s inspired me to dust off and release a small processing project which didn&#8217;t really have a place in life. I call it Processing Layers. The Problem Processing is a domain specific language based on Java. It contains a lot of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hugman.wordpress.com&amp;blog=3744109&amp;post=3&amp;subd=hugman&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been really interested watching the success of <a title="John Ressig's Processing.js" href="http://ejohn.org/blog/processingjs/">John Ressig&#8217;s Processing.js</a>.</p>
<p>So much so, it&#8217;s inspired me to dust off and release a small processing project which didn&#8217;t really have a place in life. I call it Processing Layers.</p>
<h3>The Problem</h3>
<p>Processing is a domain specific language based on Java. It contains a lot of Java idioms, including packages, objects and classes.</p>
<p>However, it is also aimed at non programmers.</p>
<p>The programming model is contained in a separate IDE, and re-use is only through using libraries.</p>
<p>Sketches are supposed to self-contained, and are not really designed to be re-used.</p>
<p>But, suppose you have a particular favourite way of setting up a sketch, or you’ve crafted a nice lighting configuration so you can drag around the light source with your mouse. Or you&#8217;ve got a nice head-up display with the debug information that you find useful. And now you want to use it again in another sketch.</p>
<p>The only way at present is to add a new library, or just copy/paste the code into a new sketch.</p>
<h3>A Solution</h3>
<p>Enter Layers. This small project is designed to try and re-use sketches. You can download it from <a href="http://www.box.net/shared/n5ah6wlggo">here</a>.</p>
<p>This is what layers are for. They are supposed to make re-use of existing sketches easier. Each sketch you already have can be decomposed into one or more layers.</p>
<p>With a handful of layers, making new sketches should become easier: you can compose most of the functionality using a stack of layers, and then add any remaining functionality with a new layer.<br />

<a href='http://hugman.wordpress.com/2008/05/20/processing-layers/screenshot-multipappletdemo3d/' title='Add a second layer, so the cube is lit with Directional Lights'><img data-attachment-id='4' data-orig-size='350,250' data-liked='0'width="150" height="107" src="http://hugman.files.wordpress.com/2008/05/screenshot-multipappletdemo3d.png?w=150&#038;h=107" class="attachment-thumbnail" alt="Add a second layer, so the cube is lit with Directional Lights" title="Add a second layer, so the cube is lit with Directional Lights" /></a>
<a href='http://hugman.wordpress.com/2008/05/20/processing-layers/screenshot-multipappletdemo3d-no-lights/' title='A single layer, showing the RGB Cube.'><img data-attachment-id='5' data-orig-size='350,250' data-liked='0'width="150" height="107" src="http://hugman.files.wordpress.com/2008/05/screenshot-multipappletdemo3d-no-lights.png?w=150&#038;h=107" class="attachment-thumbnail" alt="A single layer, showing the RGB Cube." title="A single layer, showing the RGB Cube." /></a>
<br />
The screenshots here show layers derived from the <a href="http://processing.org/learning/3d/directional.html">Directional demo</a> and <a href="http://processing.org/learning/examples/rgbcube.html">RGB Cube</a>.<br />
But the coolest thing is that the user can toggle each layer on and off <strong>at runtime</strong>.</p>
<h3>Discussion</h3>
<p>Any one familiar with the <a href="http://www.vincehuston.org/dp">GOF Design Patterns</a> will recognise this pattern.</p>
<p>This is composition over inheritance. Layers are a proxy for PApplet, which pass simply pass through any calls by the layer to the real PApplet.</p>
<p>The <code>PApplet</code> works in the same way it always has, but the sketch &#8211; <code>MultiLayerPApplet</code> &#8211; is a reusable base class which<br />
• collects <code>Layer</code>s<br />
• for each method that the user can implement, simply iterate through each layer, calling the corresponding method.</p>
<p>This is really just a special case of composite pattern &#8211; special in that the class that inherits from <code>PApplet</code> isn&#8217;t a layer, so you can&#8217;t add an instance to itself; I suppose that makes it not really a composite &#8211; you can only add leaf nodes to the composite node.</p>
<h3>Caveats</h3>
<p>So, is this interesting? Maybe.</p>
<p>Is it useful? Currently, in its current form you need to be developing Processing in Java mode.</p>
<h4>Difficult to compile</h4>
<p>Processing compiles its source code into Java source code, before using the Jikes Java compiler into Java bytecode.</p>
<p>One of the transformations is to wrap the source code in a class definition, which ends in &#8220;<code>extends PApplet</code>&#8220;. For example the first line of LayerOne.pde sketch compiles to a class which starts:</p>
<p><code>public class LayerOne extends PApplet</code></p>
<p>To use <code>LayerOne</code> as a Layer, it should inherit from <code>Layer</code>, and then be added to the a <code>MultiLayerPApplet</code>.</p>
<h4>Difficult to run</h4>
<p>Processing sketches can be deployed as an applet. However, in its current form, layers can&#8217;t be deployed in the same way.</p>
<p>I&#8217;ve provided a small application to make it at least usable in your own development.</p>
<h3>Extensions</h3>
<ul>
<li>Is this possible to do as a processing library?</li>
<li>Could layering be a viable extension mechanism? What would layer development look like?</li>
<li>If this is interesting enough and can&#8217;t be added as a library, how easy would it be to make the core use it?</li>
</ul>
<p>Technorati tags: <a href="http://technorati.com/tag/processing.org" rel="tag">processing.org</a>, <a href="http://technorati.com/tag/java" rel="tag">java</a></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hugman.wordpress.com/3/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hugman.wordpress.com/3/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hugman.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hugman.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hugman.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hugman.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hugman.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hugman.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hugman.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hugman.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hugman.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hugman.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hugman.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hugman.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hugman.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hugman.wordpress.com/3/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hugman.wordpress.com&amp;blog=3744109&amp;post=3&amp;subd=hugman&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hugman.wordpress.com/2008/05/20/processing-layers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9a342a3170b64ef7fa0cf1bcf983627f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">hugman</media:title>
		</media:content>

		<media:content url="http://hugman.files.wordpress.com/2008/05/screenshot-multipappletdemo3d.png?w=150" medium="image">
			<media:title type="html">Add a second layer, so the cube is lit with Directional Lights</media:title>
		</media:content>

		<media:content url="http://hugman.files.wordpress.com/2008/05/screenshot-multipappletdemo3d-no-lights.png?w=150" medium="image">
			<media:title type="html">A single layer, showing the RGB Cube.</media:title>
		</media:content>
	</item>
	</channel>
</rss>
