<?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/"
	>

<channel>
	<title>TechBrew &#187; News</title>
	<atom:link href="http://techbrew.net/articles/category/news/feed/" rel="self" type="application/rss+xml" />
	<link>http://techbrew.net</link>
	<description>Informative geekery on software and technology</description>
	<lastBuildDate>Thu, 23 Feb 2012 17:15:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>JourneyMap 1.5 and a new website</title>
		<link>http://techbrew.net/articles/201202/journeymap-1-5-and-a-new-website/</link>
		<comments>http://techbrew.net/articles/201202/journeymap-1-5-and-a-new-website/#comments</comments>
		<pubDate>Thu, 23 Feb 2012 06:59:45 +0000</pubDate>
		<dc:creator>Mark Woodman</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[journeymap]]></category>
		<category><![CDATA[minecraft]]></category>

		<guid isPermaLink="false">http://techbrew.net/?p=351</guid>
		<description><![CDATA[<br/>The JourneyMap mod for Minecraft has continued to be a fun project, and I&#8217;ve released version 1.5 for Minecraft 1.1.    I&#8217;ve also decided to put up a dedicated website for JourneyMap, rather than use space on dev.bukkit.org: http://journeymap.techbrew.net Some of my motive to create the new site was to have more freedom in layout/presentation, another [...]]]></description>
			<content:encoded><![CDATA[<br/><p>The <a href="http://journeymap.techbrew.net/">JourneyMap mod for Minecraft</a> has continued to be a fun project, and I&#8217;ve released version 1.5 for Minecraft 1.1.    I&#8217;ve also decided to put up a dedicated website for JourneyMap, rather than use space on dev.bukkit.org:</p>
<p><a href="http://journeymap.techbrew.net"><img class="alignright" title="JourneyMap Mod for Minecraft" src="http://i.imgur.com/K9F4ks.jpg" alt="" width="90" height="90" style="float:right" /></a><a title="JourneyMap Mod for Minecraft" href="http://journeymap.techbrew.net">http://journeymap.techbrew.net</a></p>
<p>Some of my motive to create the new site was to have more freedom in layout/presentation, another was to have a decent knowledge base / helpdesk system.  I also decided to put some ads in place so that JourneyMap might buy me a Starbucks a couple of times a year.</p>
<p>The response to JourneyMap has remained quite positive.  Since the goal was really just to do something I found useful and fun, its been a pleasure to see other people enjoy having the mod available.  Although it doesn&#8217;t compare to any of the top mods for Minecraft, I&#8217;m happy with what I consider to be a modest success.  At the point of releasing JourneyMap 1.5 last week, there had been nearly 28,000 downloads across all versions.</p>
<p>The <a title="JourneyMap Mod for Minecraft" href="http://journeymap.techbrew.net">new JourneyMap website</a> has an <a title="JourneyMap Mod RSS Feed" href="http://feeds.feedburner.com/Journeymap">RSS feed</a> and <a title="JourneyMap Mod email subscription" href="http://feedburner.google.com/fb/a/mailverify?uri=Journeymap">email subscription</a> service for announcements, so please bookmark/subscribe for future updates on JourneyMap.  Or, if you prefer, you can <a title="Follow @JourneyMapMod" href="https://twitter.com/intent/follow?original_referer=http%3A%2F%2Fjourneymap.techbrew.net%2F&amp;region=follow_link&amp;screen_name=JourneyMapMod&amp;source=followbutton&amp;variant=2.0">follow @JourneyMapMod</a> on Twitter.</p>
<p>I don&#8217;t plan to post here about JourneyMap after this, so please avail yourself of one of the above options if you&#8217;re interested in announcements, new releases, etc.</p>
<p>Happy mapping!</p>
]]></content:encoded>
			<wfw:commentRss>http://techbrew.net/articles/201202/journeymap-1-5-and-a-new-website/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JourneyMap 1.0.0 hits 10,000 downloads</title>
		<link>http://techbrew.net/articles/201201/journeymap-1-0-0-hits-10000-downloads/</link>
		<comments>http://techbrew.net/articles/201201/journeymap-1-0-0-hits-10000-downloads/#comments</comments>
		<pubDate>Tue, 10 Jan 2012 23:11:28 +0000</pubDate>
		<dc:creator>Mark Woodman</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[journeymap]]></category>
		<category><![CDATA[minecraft]]></category>

		<guid isPermaLink="false">http://techbrew.net/?p=345</guid>
		<description><![CDATA[<br/>I&#8217;m delighted at how well the JourneyMap mod for Minecraft has been received in the 45 days since it was released on November 26, 2011.    As of sometime today there have been over 10,000 downloads of version 1.0.0 for Minecraft 1.0.0. Thanks to everyone who has provided great encouragement and feedback along the way. I&#8217;m [...]]]></description>
			<content:encoded><![CDATA[<br/><p>I&#8217;m delighted at how well the <a href="http://dev.bukkit.org/client-mods/journeymap/">JourneyMap mod for Minecraft</a> has been received in the 45 days since it was released on November 26, 2011.    As of sometime today there have been over 10,000 downloads of version 1.0.0 for Minecraft 1.0.0.</p>
<p>Thanks to everyone who has provided great encouragement and feedback along the way.</p>
<div class="wp-caption alignright" style="width: 343px"><a href="http://i.imgur.com/jyU7U.png"><img title="JourneyMap 1.5.0 for Minecraft" src="http://i.imgur.com/jyU7Ul.png" alt="" width="333" height="233" /></a><p class="wp-caption-text">Coming soon: Snow and Biomes</p></div>
<p>I&#8217;m busy at work on a huge update.   I can&#8217;t decide whether to call the next release JourneyMap <em>1.5.0</em> or <em>2.0.0</em>, but there&#8217;s a lot to it.  The big-ticket items are:</p>
<ul>
<li>Biome coloring, including snow</li>
<li>A fully-featured in-Game UI if you don&#8217;t want to use a web-browser</li>
<li>A properties file for a number of tweakable settings (by popular request)</li>
<li>A Save button that saves the entirety of your map to file, not just what you can see</li>
<li>Improved I/O with fewer files</li>
</ul>
<p>Stay tuned, and happy journeys!</p>
]]></content:encoded>
			<wfw:commentRss>http://techbrew.net/articles/201201/journeymap-1-0-0-hits-10000-downloads/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iSpringsCam : Colorado Springs Traffic Cams on the iPhone</title>
		<link>http://techbrew.net/articles/201004/ispringscam-colorado-springs-traffic-cams-on-the-iphone/</link>
		<comments>http://techbrew.net/articles/201004/ispringscam-colorado-springs-traffic-cams-on-the-iphone/#comments</comments>
		<pubDate>Fri, 23 Apr 2010 16:53:41 +0000</pubDate>
		<dc:creator>Mark Woodman</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[google_maps]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[ispringscam]]></category>
		<category><![CDATA[iWebKit]]></category>

		<guid isPermaLink="false">http://techbrew.net/?p=283</guid>
		<description><![CDATA[<br/>(April 26, 2010: Updated with newest features) A few weeks ago in Colorado Springs there was a fuel tanker crash on the I-25 Interstate, spilling thousands of gallons of fuel and closing the Interstate for over 5 hours.  Traffic patterns were a complete mess as side-roads became major thoroughfares.  As I drove home from work, [...]]]></description>
			<content:encoded><![CDATA[<br/><p><em>(April 26, 2010: Updated with newest features)</em></p>
<p><img class="size-full wp-image-310 alignright" title="ispringscam-icon" src="http://techbrew.net/wp-content/uploads/2010/04/ispringscam-icon.jpg" alt="iSpringsCam" width="85" height="85" align="right" />A few weeks ago in Colorado Springs there was a fuel tanker crash on the I-25 Interstate, spilling thousands of gallons of fuel and closing the Interstate for over 5 hours.  Traffic patterns were a complete mess as side-roads became major thoroughfares.  As I drove home from work, I found myself wishing I had access to <a title="SpringsCam" href="http://springscam.markwoodman.com" target="_blank">springscam.markwoodman.com</a> on my iPhone.  But I built that traffic-cam site in Flex (Flash), so that wasn&#8217;t an option.</p>
<p>That led me down the path on how to build <a href="http://techbrew.net/articles/201004/iphone-faux-apps-with-iwebkit/">iPhone faux-apps with iWebKit</a>, and within a few hours I had a functioning version that worked pretty well and looked pretty good.</p>
<p>If you have an iPhone, check out <a title="iSpringsCam" href="http://iSpringsCam.markwoodman.com" target="_blank">iSpringsCam.markwoodman.com</a> .  Here&#8217;s a run-down of the features:</p>
<ul>
<li> Use iSpringsCam like an App
<ol>
<li>Open iSpringsCam Home screen</li>
<li>Press (+) button in Safari</li>
<li>Press &#8220;Add to Home Screen&#8221;</li>
<li>iSpringsCam will now run full-screen (no browser bar)</li>
</ol>
</li>
</ul>
<ul>
<li> Main Screen
<ol>
<li>Use the “All on Map” to get all camera markers on a live Google Map with I-25 traffic conditions</li>
<li>Enter part of a street name in the filter field, and the list will display only the matching camera names</li>
<li>Select one of the cameras to open up the Single Camera View</li>
</ol>
</li>
</ul>
<ul>
<li> Single Camera View
<ol>
<li>You’ll see the latest image from that camera and a static map image of the camera location</li>
<li>Rotate your iPhone to fill your screen with the camera image</li>
<li>The camera image will auto-refresh once per minute</li>
<li>To manually refresh the camera image, tap the image or the 						  refresh button</li>
<li>Touch the “Live Map” button (or the map image) to get a live Google Map with the camera’s image and traffic conditions on I-25</li>
</ol>
</li>
</ul>
<ul>
<li> Google Map View (with current traffic conditions)
<ol>
<li>Pinch and expand the map to zoom in or out</li>
<li>Touch a marker to see that camera’s image in a balloon</li>
<li>Touch the “X” on the balloon to close it</li>
<li>Touch the camera image in the balloon to open the single-camera view</li>
</ol>
</li>
</ul>
<p>If you don&#8217;t have an iPhone, here are some screenshots:</p>

<a href='http://techbrew.net/articles/201004/ispringscam-colorado-springs-traffic-cams-on-the-iphone/ispringscam-icon/' title='ispringscam-icon'><img width="85" height="85" src="http://techbrew.net/wp-content/uploads/2010/04/ispringscam-icon.jpg" class="attachment-thumbnail" alt="iSpringsCam" title="ispringscam-icon" /></a>
<a href='http://techbrew.net/articles/201004/ispringscam-colorado-springs-traffic-cams-on-the-iphone/ispringscam6/' title='ispringscam(6)'><img width="150" height="150" src="http://techbrew.net/wp-content/uploads/2010/04/ispringscam6-150x150.jpg" class="attachment-thumbnail" alt="ispringscam(6)" title="ispringscam(6)" /></a>
<a href='http://techbrew.net/articles/201004/ispringscam-colorado-springs-traffic-cams-on-the-iphone/ispringscam1/' title='ispringscam(1)'><img width="150" height="150" src="http://techbrew.net/wp-content/uploads/2010/04/ispringscam1-150x150.jpg" class="attachment-thumbnail" alt="ispringscam(1)" title="ispringscam(1)" /></a>
<a href='http://techbrew.net/articles/201004/ispringscam-colorado-springs-traffic-cams-on-the-iphone/ispringscam2/' title='ispringscam(2)'><img width="150" height="150" src="http://techbrew.net/wp-content/uploads/2010/04/ispringscam2-150x150.jpg" class="attachment-thumbnail" alt="ispringscam(2)" title="ispringscam(2)" /></a>
<a href='http://techbrew.net/articles/201004/ispringscam-colorado-springs-traffic-cams-on-the-iphone/ispringscam3/' title='ispringscam(3)'><img width="150" height="150" src="http://techbrew.net/wp-content/uploads/2010/04/ispringscam3-150x150.jpg" class="attachment-thumbnail" alt="ispringscam(3)" title="ispringscam(3)" /></a>
<a href='http://techbrew.net/articles/201004/ispringscam-colorado-springs-traffic-cams-on-the-iphone/ispringscam7/' title='ispringscam(7)'><img width="150" height="150" src="http://techbrew.net/wp-content/uploads/2010/04/ispringscam7-150x150.jpg" class="attachment-thumbnail" alt="ispringscam(7)" title="ispringscam(7)" /></a>
<a href='http://techbrew.net/articles/201004/ispringscam-colorado-springs-traffic-cams-on-the-iphone/ispringscam5/' title='ispringscam(5)'><img width="150" height="150" src="http://techbrew.net/wp-content/uploads/2010/04/ispringscam5-150x150.jpg" class="attachment-thumbnail" alt="ispringscam(5)" title="ispringscam(5)" /></a>
<a href='http://techbrew.net/articles/201004/ispringscam-colorado-springs-traffic-cams-on-the-iphone/ispringscam4/' title='ispringscam(4)'><img width="150" height="150" src="http://techbrew.net/wp-content/uploads/2010/04/ispringscam4-150x150.jpg" class="attachment-thumbnail" alt="ispringscam(4)" title="ispringscam(4)" /></a>

]]></content:encoded>
			<wfw:commentRss>http://techbrew.net/articles/201004/ispringscam-colorado-springs-traffic-cams-on-the-iphone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Build a Simple Map Client with SOAP and Flex</title>
		<link>http://techbrew.net/articles/201003/build-a-simple-map-client-with-soap-and-flex/</link>
		<comments>http://techbrew.net/articles/201003/build-a-simple-map-client-with-soap-and-flex/#comments</comments>
		<pubDate>Tue, 23 Mar 2010 16:13:03 +0000</pubDate>
		<dc:creator>Mark Woodman</dc:creator>
				<category><![CDATA[How-To]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://techbrew.net/?p=271</guid>
		<description><![CDATA[<br/>Last year I led a software project that employed a SOA architecture and a Flex UI.  The features we were able to build with FlexBuilder (now FlashBuilder) were pretty sweet and remarkably easy&#8230;  I&#8217;ve become a huge fan of Flex as a result. The new FlashBuilder 4 provides some powerful new tools for integrating with [...]]]></description>
			<content:encoded><![CDATA[<br/><p>Last year I led a software project that employed a SOA architecture and a <a href="http://www.adobe.com/products/flex/">Flex</a> UI.  The features we were able to build with FlexBuilder (now FlashBuilder) were pretty sweet and remarkably easy&#8230;  I&#8217;ve become a huge fan of Flex as a result.</p>
<p>The new <a href="http://labs.adobe.com/technologies/flashbuilder4/">FlashBuilder 4</a> provides some powerful new tools for integrating with various back-end services. Connecting to SOAP services is now, frankly, dead-simple. I&#8217;ve written two articles on this topic, both of which are now live on <a title="DevX" href="http://DevX.com">DevX.com</a>:</p>
<ul>
<li><a href="http://www.devx.com/webdev/Article/44353">Build a Simple Map Client with SOAP in Flash Builder 4, Part I</a></li>
<li><a href="http://www.devx.com/webdev/Article/44360">Create a Map Client with Web Services, Part II</a></li>
</ul>
<p>The articles come with a starter project and walk you through how to connect to a SOAP service and build a functional Map client in a relatively short amount of time.  Unfortunately there&#8217;s been some sort of a mix-up on DevX and the download links for the project aren&#8217;t working yet.  In the meantime, you can download them here:</p>
<ul>
<li>Initial Project (start with this) : <a title="terraclient_initial.fxp" href="http://sites.google.com/site/techbrewfiles/terraclient_initial.fxp">terraclient_initial.fxp</a></li>
<li>Project by the end of Part 1: <a title="terraclient_part1.fxp" href="http://sites.google.com/site/techbrewfiles/terraclient_part1.fxp">terraclient_part1.fxp</a></li>
<li>Project by the end of Part 2: <a title="terraclient_part2.fxp" href="http://sites.google.com/site/techbrewfiles/terraclient_part2.fxp">terraclient_part2.fxp</a>
<p><div id="attachment_274" class="wp-caption aligncenter" style="width: 160px"><a href="http://techbrew.net/wp-content/uploads/2010/03/figure5.png"><img class="size-thumbnail wp-image-274 " title="TerraClient" src="http://techbrew.net/wp-content/uploads/2010/03/figure5-150x150.png" alt="" width="150" height="150" /></a><p class="wp-caption-text">Flex + SOAP map client</p></div></li>
</ul>
<p>I&#8217;ll keep these downloads available until DevX fixes the problem on their end.  Sorry for the inconvenience.</p>
]]></content:encoded>
			<wfw:commentRss>http://techbrew.net/articles/201003/build-a-simple-map-client-with-soap-and-flex/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Is rssCloud All Wet?</title>
		<link>http://techbrew.net/articles/200909/rsscloud-all-wet/</link>
		<comments>http://techbrew.net/articles/200909/rsscloud-all-wet/#comments</comments>
		<pubDate>Tue, 08 Sep 2009 23:32:35 +0000</pubDate>
		<dc:creator>Mark Woodman</dc:creator>
				<category><![CDATA[Feeds]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[rss]]></category>
		<category><![CDATA[rssCloud]]></category>

		<guid isPermaLink="false">http://techbrew.net/?p=256</guid>
		<description><![CDATA[<br/>Rogers Cadenhead recently posted his thoughts on why the rssCloud concept &#8220;failed to catch on.&#8221;    This is a response to his post and an attempt to foster further discussion in the community. Blue Sky The main idea behind rssCloud is that your RSS reader can ask to be notified when a feed changes (push), [...]]]></description>
			<content:encoded><![CDATA[<br/><div>
<div>Rogers Cadenhead recently posted his thoughts on why the <a href="http://www.rsscloud.org/">rssCloud</a> concept &#8220;<a href="http://workbench.cadenhead.org/news/3555/theres-reason-rsscloud-failed-catch">failed to catch on</a>.&#8221;    This is a response to his post and an attempt to foster further discussion in the community.</div>
<h3>Blue Sky</h3>
<div>The main idea behind rssCloud is that your RSS reader can ask to be notified when a feed changes (push), rather than having to check the feed on a regular basis (pull).  This is accomplished by having your RSS reader subscribe to updates with the feed server.  When the feed is updated, the server will then notify your RSS reader accordingly.  This message pattern is known as <a href="http://en.wikipedia.org/wiki/Publish/subscribe">publish/subscribe</a> or just &#8220;pub/sub.&#8221;</p>
<p>On the face of it, it&#8217;s a great idea.   The benefits of pub/sub are well-understood.    Pub/sub (push) can be far more efficient than polling (pull) in many cases, especially when it saves the client from either having to make frequent connections to the server  and having to analyze the response looking for what has changed.</p>
<p>Unfortunately, the way rssCloud needs to be implemented has what I fear to be significant and potentially fatal flaws.   Before I dig into them,  it&#8217;s helpful to provide a little background on best practices using push or pub/sub architectures.</p></div>
<h3><strong>Best Push Practices with HTTP</strong></h3>
<div>
<div>The patterns for providing frequent updates to a client over HTTP are fairly well-known in Ajax / RIA arenas.  (See:  <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.4">Comet</a> for DHTML, or <a href="http://livedocs.adobe.com/blazeds/1/blazeds_devguide/help.html?content=lcconfig_3.html">BlazeDS channels</a> for Flash/Flex)   Here are the main ones:</div>
<div>
<ol>
<li><strong>Polling</strong>:  Client connects to server and asks for an update.  The connection ends when the server has responded.   Repeat ad nauseum at the frequency needed by the client.  This is equivalent to what most RSS readers do today:  periodically check a feed for updates.</li>
<li><strong>Piggybacking</strong>:  Client connects to the server and asks for something else.  The server responds, notes the client&#8217;s subscriptions, and tacks on any pending notifications on the response to the request.  Combined with polling in an Ajax or RIA app, this can be a really efficient way to handle notifications.  (But, for RSS readers, there probably isn&#8217;t much to glean from this pattern.)</li>
<li><strong>Long-polling</strong>:  Client connects to server and asks for updates.  The connection stays open as long as the server allows, and the server will send multiple notifications while the connection is open.  In layman&#8217;s terms, this is akin to being put on hold but not hanging up the phone.  When the connection is closed or times out, the client will reconnect.   Sort of like what you do when you get disconnected from tech support.  Again.</li>
<li><strong>Streaming</strong>: Client connects to server and asks for updates.  The connection stays open ad infinitum using a dedicated socket, pretty much like you would get from a streaming media server.  Whereas you can usually implement the other approaches with a standard web server, this approach typically requires  your server and network infrastructure to be above the norm.</li>
</ol>
</div>
<div>Among these solutions, two main tenets emerge:<br />
<strong><br />
Tenet #1: </strong> <strong>It is the client&#8217;s responsibility to make the HTTP connection. </strong> We all take it for granted, but establishing a network connection involves a fair bit of work.   With all of these patterns, the burden of &#8220;connectability&#8221; is put on the client.  A server is supposed to be highly-available, but clients come and go.  If the client can&#8217;t contact the server, it is usually the client&#8217;s problem.  The work of establishing a connection and handling failed connections, retries, etc. is thus distributed to the clients.  This is an important feature as the volume of concurrent clients increases.<br />
<strong><br />
Tenet #2:  M</strong><strong>ake as few connections as possible and keep them open as long as possible.  <span style="font-weight: normal;">This is because the HTTP handshake itself &#8211; along with authentication &#8211; is the most expensive part of the networked operation.   The fewer times a client/server has to jump through the connection hoops, the better.</p>
<p>A noteworthy aside:  Apple&#8217;s <a href="http://www.networkworld.com/news/2009/082009-apple-iphone-push-notification.html">iPhone push architecture</a> uses long-lived (persistent) sockets to push App notifications to each iPhone.  This is roughly equivalent to the long-polling or streaming patterns, but uses raw binary data instead of HTML or JSON.    In any case, both of the Tenets are still employed: your iPhone connects to the APNS and keeps the connection open as long as possible.</p>
<p></span></strong>So, with these best practices in mind, lets take a look at rssCloud&#8230;</div>
<h3><strong>Clouded Flaw #1: Don&#8217;t Call Me, I&#8217;ll Call You</strong></h3>
<div>Currently, your RSS reader just uses polling to check a feed on a regular basis.  A decent RSS reader will do this using  <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.4">HTTP HEAD</a> requests, which are a very efficient way to check for updates.   A HEAD request just checks the timestamp on the feed without having to get the feed contents.  This is a nice bandwidth saver.</p>
<p>But if you really want instant-message-like updates on an RSS feed, it isn&#8217;t practical to make your reader check the feed every 5 seconds.   The connection overhead of contacting the server and waiting for the reponse would be obnoxious and just shy of a <a href="http://en.wikipedia.org/wiki/Denial-of-service_attack">denial-of-service attack</a>.  Recall Tenet #2 discussed earlier: &#8220;Make as few connections as possible.&#8221;  Those connections are expensive, after all.</p>
<p>So the idea behind rssCloud is great:  The server can just tell your reader when the feed has updated.  No unnecessary connections are made, right?</p></div>
<div>Unfortunately, there&#8217;s a major problem lurking in the shadows.  Recall Tenet #1 discussed above: &#8220;It is the client&#8217;s responsibility to make (and keep open) the HTTP connection.&#8221;   The connection/retry work should be distributed to the clients.  But with rssCloud, the burden of making the connections, handling retries, etc. is now shouldered completely by the server.</p>
<p>This level of work is similar to sending a mass email via SMTP.   The handshaking / retry work from the mailing daemon to each unique SMTP relay is a well-known problem.  Unless your server has a lot of distributed processing available, the time-of-delivery between the first recipient and the last recipient will grow as the list of subscribers grows.  The delay is exacerbated with every failed connection that must time-out before the next connection is attampted.   Peformance degrades on a linear scale:  The more subscribers, the longer it takes to deliver all the messages.  These delays are common in the world of SMTP:  We&#8217;ve all gotten an email 15 minutes after a coworker got the same email.</p>
<p>With email, we&#8217;re used to this kind of delay.  But if the goal of rssCloud is to have near-realtime updates, this kind of delay is a deal-killer. Unfortunately, there&#8217;s more&#8230;.</p></div>
<h3>Clouded Flaw #2: Your Fat Reader Got Fatter, Not Smarter</h3>
<div>In order to support rssCloud server connections, your desktop RSS reader will have to run an embedded web server at all times to get notifications.  This is some significant development work for the folks who make your reader.  And for it to work correctly, you will need to have your firewall configured to allow incoming connections from the rssCloud server.   That requirement alone makes it a non-starter for many, many people in both residential and corporate environments.</p>
<p>And you had better leave your reader running at all times, even when you&#8217;re not at the computer.  Because if the server tries to send you an update, it couldn&#8217;t connect to your reader&#8230; strike 1.   Three strikes, and you&#8217;re off the subscription list for notifications.     The rssCloud server will (presumedly) try again later, but if you didn&#8217;t leave your reader running over the weekend, you might be auto-unsubscribed by Monday morning.  Which means the developers that make your reader will have to build in contingency plans for re-subscribing every time it starts up.</p>
<p>Also, lets say your reader was running, but there was some temporary network disruption right when the server was trying to connect to your reader.  You&#8217;ll have missed the notifications and never know it.  You&#8217;ll have a strike and never know it.  This is what happens when you make the server responsible for establishing the connection and break Tenet #1: your client never knows when something goes wrong.</p>
<p>If the responsibility was on your RSS reader (client) to connect to the server and ask for notifications, it could react to network disruptions and reconnect as soon as possible.  You could know how long you&#8217;ve been missing notifications.  But since rssCloud puts the connection burden on the server, the only way for your reader to know if you&#8217;re still &#8220;current&#8221; is to &#8230; do a GET or a HEAD on the RSS feed itself &#8230; Which is what RSS readers are already doing without rssCloud.</p>
<p>Back to square one.</p></div>
</div>
<h3>Is There a Silver Lining?</h3>
<div>Personally, I have grave misgivings about the current flavor of rssCloud.   It is trying to solve a hard problem, but has created some even harder problems for itself in the process.</p>
<p>On the bright side, the need is real, and lot of really sharp people are looking at the problem.</p></div>
<div>My advice is this: I believe that if rssCloud is to succeed on any significant scale, the server will need to get out of the call-the-client business.  Taking a page from <a href="http://en.wikipedia.org/wiki/Comet_(programming)">Comet</a> best practices, the server API should be fleshed out to accommodate long-polling, and let RSS clients do the connection / retry / recovery work.   This course correction would have several strong advantages:</div>
<div>
<ol>
<li>No embedded server in RSS readers required</li>
<li>No firewall configuration for users</li>
<li>Reduced server requirements for rssCloud server hosts</li>
<li>Potentially reduced lag time in notifications, especially for large numbers of clients</li>
<li>Reduced long-term state on the server; there won&#8217;t need to be subscriptions, just sessions</li>
<li>Improved data integrity by making the client aware and responsible for reconnects/refreshes</li>
</ol>
</div>
<div>The RSS world needs what rssCloud is offering, so my hope is that the specs will evolve to make this all possible.</p>
<p>What do you think?</p></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://techbrew.net/articles/200909/rsscloud-all-wet/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>ROME 1.0 Released</title>
		<link>http://techbrew.net/articles/200903/rome-1-0-released/</link>
		<comments>http://techbrew.net/articles/200903/rome-1-0-released/#comments</comments>
		<pubDate>Thu, 12 Mar 2009 02:44:33 +0000</pubDate>
		<dc:creator>Mark Woodman</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[atom]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[rome]]></category>
		<category><![CDATA[rss]]></category>

		<guid isPermaLink="false">http://techbrew.net/?p=252</guid>
		<description><![CDATA[<br/>It has been a long time coming, but the Java library for RSS and Atom utilities called ROME has finally made it to version 1.0 (changelog). Thanks to all of the contributers and the hard work on the dev team for making it possible!   New to ROME? For a quick tutorial on how to [...]]]></description>
			<content:encoded><![CDATA[<br/><p><img class="size-full wp-image-253 alignright" title="ROME" src="http://techbrew.net/wp-content/uploads/2009/03/30928904_95fa6174d5_o1.png" alt="ROME" width="182" height="125" /></p>
<p>It has been a long time coming, but the Java library for RSS and Atom utilities called <a title="ROME 1.0" href="http://wiki.java.net/bin/view/Javawsxml/Rome">ROME</a> has finally made it to <strong>version 1.0</strong> (<a title="ROME changelog" href="http://wiki.java.net/bin/view/Javawsxml/RomeChangesLog">changelog</a>). Thanks to all of the contributers and the hard work on the dev team for making it possible!  </p>
<p>New to ROME? For a quick tutorial on how to get started, check out my piece on XML.com : &#8220;<a href="http://www.xml.com/pub/a/2006/02/22/rome-parse-publish-rss-atom-feeds-java.html">ROME in a Day: Parse and Publish Feeds in Java</a>&#8220;.</p>
<p><span style="color: #551a8b; text-decoration: underline;"><br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://techbrew.net/articles/200903/rome-1-0-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>President Obama &#8211; Lost in Translation</title>
		<link>http://techbrew.net/articles/200901/president-obama-lost-in-translation/</link>
		<comments>http://techbrew.net/articles/200901/president-obama-lost-in-translation/#comments</comments>
		<pubDate>Wed, 21 Jan 2009 00:00:19 +0000</pubDate>
		<dc:creator>Mark Woodman</dc:creator>
				<category><![CDATA[Humor]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[obama]]></category>
		<category><![CDATA[president]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[voice recognition]]></category>

		<guid isPermaLink="false">http://techbrew.net/?p=239</guid>
		<description><![CDATA[<br/>Fox News has an &#8220;Automatic Transcription&#8221; feature for its videos.  The disclaimer of &#8220;may not be 100% accurate&#8221; is understated by 95%.  Here&#8217;s the presidential oath of Barak Obama, the way their transcription software heard it: &#8220;I. &#8212; Barack Hussein Obama I solemnly swear Barack Hussein Obama do solemnly swear. That I will execute the [...]]]></description>
			<content:encoded><![CDATA[<br/><p>Fox News has an &#8220;Automatic Transcription&#8221; feature for its videos.  The disclaimer of &#8220;may not be 100% accurate&#8221; is understated by 95%.  Here&#8217;s the<a href="http://www.foxnews.com/video-search/m/21774201/presidential_oath.htm"> presidential oath of Barak Obama</a>, the way their transcription software heard it:</p>
<div id="ez-fullTranscript" class="ez-full">
<p>&#8220;I. &#8212; Barack Hussein Obama I solemnly swear Barack Hussein Obama do solemnly swear. That I will execute the office of president of the United States faithfully &#8212; execute &#8230; Get off faithfully the president the office of president and &#8212; I just &#8212; the United States &#8212; wheels. &#8212; the best of &#8212; ability and will miss my children. Preserve protect and defend the constitution of the United States. Preserve protect and defend the constitution of the United States so help you got so homey &#8212; congratulations mr.&#8221;</p>
<div id="attachment_248" class="wp-caption aligncenter" style="width: 263px"><a href="http://techbrew.net/wp-content/uploads/2009/01/lost-in-translation.jpg"><img class="size-medium wp-image-248" title="lost-in-translation" src="http://techbrew.net/wp-content/uploads/2009/01/lost-in-translation-253x300.jpg" alt="&quot;I will miss my children.&quot;" width="253" height="300" /></a><p class="wp-caption-text">&quot;I will miss my children.&quot;</p></div>
<p>Woops.  To be fair, there were two people talking at the same time, which is a nightmare for voice recognition software.  </p>
<p>But you&#8217;ve got to love phrases like &#8220;Get off faithfully the president&#8221;,  &#8221;will miss my children&#8221;, and &#8220;so help you got so homey.&#8221;   Maybe Fox News should hire out the transcription software as a writer for Saturday Night Live&#8230; it&#8217;s funnier than most of the people they&#8217;ve hired.</p></div>
]]></content:encoded>
			<wfw:commentRss>http://techbrew.net/articles/200901/president-obama-lost-in-translation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RSS Advisory Board Validated by RSS 0.90, 0.91</title>
		<link>http://techbrew.net/articles/200801/rss-advisory-board-validated-by-rss-090-091/</link>
		<comments>http://techbrew.net/articles/200801/rss-advisory-board-validated-by-rss-090-091/#comments</comments>
		<pubDate>Fri, 25 Jan 2008 00:08:25 +0000</pubDate>
		<dc:creator>Mark Woodman</dc:creator>
				<category><![CDATA[Feeds]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[dave winer]]></category>
		<category><![CDATA[netscape]]></category>
		<category><![CDATA[rss]]></category>
		<category><![CDATA[rss advisory board]]></category>

		<guid isPermaLink="false">http://techbrew.net/articles/200801/rss-advisory-board-validated-by-rss-090-091/</guid>
		<description><![CDATA[<br/>The RSS Advisory Board has had a checkered past and its share of run-ins with Dave Winer over RSS 2.0. There have been times where it was right to question how relevant it had become. This announcement by Netscape lends a great deal of credibility to the Board-sans-Winer, and hopefully will increase the adoption of [...]]]></description>
			<content:encoded><![CDATA[<br/><p>The RSS Advisory Board has had a checkered past and its share of <a href="http://tech.groups.yahoo.com/group/rss-public/message/304">run-ins</a> with Dave Winer over RSS 2.0.   There have been times where it was right to question how relevant it had become.</p>
<p>This <a href="http://blog.netscape.com/2008/01/22/rss-specifications-moving-to-rss-advisory-board/">announcement</a> by Netscape lends a great deal of credibility to the Board-sans-Winer, and hopefully will increase the adoption of their <a href="http://www.rssboard.org/rss-profile#introduction">RSS Profile</a> work.</p>
<blockquote><p>The RSS specification documents, DTDs, and help files for the first versions of RSS (v0.9, v0.91) are being moved to RSSBoard.org, where they will be hosted by the RSS Advisory Board in perpetuity. Netscape will continue to host these files (via redirect) on the My Netscape domain (my.netscape.com) until August 1st, 2008.</p>
<p>&#8230;</p>
<p>All websites that produce RSS 0.9 or RSS 0.91 feeds will need to either convert to using the current standard (RSS v2.0), or if desired, convert their v0.9/v0.91 feeds properly using <a href="http://www.rssboard.org/convert-rss-0-91-to-rss-2-0">this guide</a>, provided by the RSS Advisory Board, by August 1st.</p></blockquote>
<p>Syndication historians will note that although Winer&#8217;s RSS 2.0 is the undisputed winner of the Syndication format race to date, Netscape actually invented RSS by name.   (Winer&#8217;s &#8220;scriptingNews&#8221; format did precede that by 2 years, of course, but it was a home-grown spec intended solely for Scripting News itself.)</p>
<p>It is interesting that Netscape chose to hand over the keys to the RSS Advisory Board, but not to Winer or Harvard Law.</p>
<blockquote></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://techbrew.net/articles/200801/rss-advisory-board-validated-by-rss-090-091/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Freed Demon!</title>
		<link>http://techbrew.net/articles/200801/freed-demon/</link>
		<comments>http://techbrew.net/articles/200801/freed-demon/#comments</comments>
		<pubDate>Wed, 09 Jan 2008 19:40:50 +0000</pubDate>
		<dc:creator>Mark Woodman</dc:creator>
				<category><![CDATA[Feeds]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[atom]]></category>
		<category><![CDATA[feed demon]]></category>
		<category><![CDATA[netnewswire]]></category>
		<category><![CDATA[newsgator]]></category>
		<category><![CDATA[rss]]></category>

		<guid isPermaLink="false">http://techbrew.net/articles/200801/freed-demon/</guid>
		<description><![CDATA[<br/>Newsgator has announced that a bevy of their RSS/Atom clients, including the excellent FeedDemon is now free: FeedDemon 2.6, NetNewsWire 3.1, Inbox 3.0 (beta), and NewsGator Go! for Windows Mobile 2.0. Each of these is a pretty major release on its own &#8211; tons of new features in all of them. But second, every one [...]]]></description>
			<content:encoded><![CDATA[<br/><p>Newsgator has <a href="http://www.rassoc.com/gregr/weblog/2008/01/09/newsgators-rss-clients-are-now-free/">announced</a> that a bevy of their RSS/Atom clients, including the excellent <a href="http://www.newsgator.com/Individuals/FeedDemon/Default.aspx">FeedDemon</a> is now free:</p>
<blockquote><p><img src="http://techbrew.net/wp-content/uploads/2008/01/product_feeddemon.gif" alt="FeedDemon" align="right" /><a href="http://www.newsgator.com/Individuals/FeedDemon/Default.aspx">FeedDemon 2.6</a>, <a href="http://www.newsgator.com/Individuals/NetNewsWire/Default.aspx">NetNewsWire 3.1</a>, <a href="http://www.newsgator.com/Individuals/NewsGatorInbox/Default.aspx">Inbox 3.0 (beta)</a>, and <a href="http://www.newsgator.com/Individuals/NewsGatorGo/Default.aspx">NewsGator Go! for Windows Mobile 2.0</a>.  Each of these is a pretty major release on its own &#8211; tons of new features in all of them.</p>
<p>But second, every one of those applications is now free!  Free as in beer, that is.  And add to the free list <a href="http://www.newsgator.com/Individuals/NewsGatorGo/Default.aspx">NewsGator Go! for BlackBerry</a> as well. And not only are they free, but our online services (including synchronization) are now free as well! Not to mention our <a href="http://m.newsgator.com/">iPhone reader</a>, <a href="http://m.newsgator.com/">HTML mobile reader</a>, and all of the other applications that are part of our online platform.</p></blockquote>
<p>Hat tip to <a href="http://www.cleverclogs.org/">CleverClogs</a> for spotting the news.</p>
]]></content:encoded>
			<wfw:commentRss>http://techbrew.net/articles/200801/freed-demon/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Free Ruby on Rails Book (limited time only)</title>
		<link>http://techbrew.net/articles/200711/free-ruby-on-rails-book-limited-time-only/</link>
		<comments>http://techbrew.net/articles/200711/free-ruby-on-rails-book-limited-time-only/#comments</comments>
		<pubDate>Thu, 29 Nov 2007 18:14:51 +0000</pubDate>
		<dc:creator>Mark Woodman</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://techbrew.net/articles/200711/free-ruby-on-rails-book-limited-time-only/</guid>
		<description><![CDATA[<br/>If you&#8217;ve been looking for a good excuse to learn Ruby on Rails, now is a great time. Sitepoint.com is giving away the full PDF of &#8220;Build Your Own Ruby on Rails Web Applications&#8221; through the end of the month of November. All you need to do is provide an email address and they&#8217;ll send [...]]]></description>
			<content:encoded><![CDATA[<br/><p><img src="http://techbrew.net/wp-content/uploads/2007/11/cover-popup1.png" alt="Rails Book" align="left" />If you&#8217;ve been looking for a good excuse to learn <a href="http://www.rubyonrails.org/">Ruby on Rails</a>, now is a great time.</p>
<p><a href="http://sitepoint.com">Sitepoint.com</a> is giving away the full PDF of &#8220;<a href="http://rails.sitepoint.com/">Build Your Own Ruby on Rails Web Applications</a>&#8221; through the end of the month of November.   All you need to do is provide an email address and they&#8217;ll send you a link to the PDF download.</p>
<p>I started reading it last night, and it seems to be oriented to people familiar with building web applications but aren&#8217;t webdev pros.  (If you&#8217;re the &#8220;just give me the API&#8221; kind of developer, this book is probably a little too verbose for you.)  For details of what is inside, you can take a peek at the <a href="http://www.sitepoint.com/books/rails1/toc.php">table of contents</a>.</p>
<h5>*Note: Free PDF offer expired: Saturday, December 01st, 2007 &#8211; 00:00:00 AM</h5>
]]></content:encoded>
			<wfw:commentRss>http://techbrew.net/articles/200711/free-ruby-on-rails-book-limited-time-only/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Atom Compliance Shows XML Parsing is Still a Mess</title>
		<link>http://techbrew.net/articles/200711/atom-compliance-shows-xml-parsing-is-still-a-mess/</link>
		<comments>http://techbrew.net/articles/200711/atom-compliance-shows-xml-parsing-is-still-a-mess/#comments</comments>
		<pubDate>Mon, 12 Nov 2007 19:56:02 +0000</pubDate>
		<dc:creator>Mark Woodman</dc:creator>
				<category><![CDATA[Feeds]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Opinion]]></category>

		<guid isPermaLink="false">http://techbrew.net/articles/200711/atom-compliance-shows-xml-parsing-is-still-a-mess/</guid>
		<description><![CDATA[<br/>RSS and Atom guru James Holderness just issued a report on the how well namespaces are being handled by feed readers that understand Atom. The results are dismal: &#8230;Matters havenâ€™t improved much since this issue was first discussed nearly two years ago. &#8230; Of the thirty-odd products I tested, ten 2 were incapable of subscribing [...]]]></description>
			<content:encoded><![CDATA[<br/><p>RSS and Atom guru <a href="http://www.xn--8ws00zhy3a.com/blog">James Holderness</a> just issued a <a href="http://www.xn--8ws00zhy3a.com/blog/2007/11/atom-namespace-problems">report</a> on the how well namespaces are being handled by feed readers that understand <a href="http://en.wikipedia.org/wiki/Atom_(standard)">Atom</a>.  The results are dismal:</p>
<blockquote><p>&#8230;Matters havenâ€™t improved much since this issue was first discussed <a href="http://plasmasturm.org/log/376/" title="Aristotle Pagaltzis: Who knows an XML document from a hole in the ground?">nearly two years ago</a>.</p>
<p>&#8230; Of the thirty-odd products I tested, ten <a href="http://www.xn--8ws00zhy3a.com/blog/2007/11/atom-namespace-problems#f8.2"><sup>2</sup></a> were incapable of subscribing to a feed that used prefixed names for the Atom elements.</p>
<p>&#8230; More of an issue was the <code>xhtml</code> prefix, which caused problems for nearly two thirds of the aggregators tested.</p>
<p>&#8230; Of all the products I tested, there were only three that managed to pass every one of the test.</p></blockquote>
<p>Appalling.  This isn&#8217;t a reflection on Atom, however, but rather on how programmers are parsing XML itself.</p>
<p>In olden days (2001-2003) I worked for a company that was building a native XML database.  At the time, namespace handling was probably the biggest headache around.  Our product didn&#8217;t do it well, but few others did either.  Considering how many parsing libraries and products there are now on the market, and how ubiquitous XML has become, I would have hoped that namespacing problems would be a thing of the past.</p>
<p><em>&lt;bubble&gt;burst&lt;/bubble&gt;</em></p>
<p align="justify"><img src="http://techbrew.net/wp-content/uploads/2007/11/links_mainimage1.thumbnail.jpg" alt="Pencil" align="right" />All too often our applications are filled with XML seemingly drawn with crayons when the authors should have used a drafting pencil and a straight edge.</p>
<p>I believe one of the fundamental problems with XML is that nearly every app developer uses it, but few actually grok how to model data in it.  Note that I said <em>model</em> data&#8230; not just dump it. Elements versus attributes, namespaces, attribute scopes, self-closing versus empty-value&#8230; these decisions can make or break a data model. If your data matters, then the form in which you represent it &#8211; and the precision derived from that form &#8211; should matter as well.</p>
<p>The Atom spec has model and precision down pat. Now we just need feed readers to be as careful consuming XML as the specification was in creating it.</p>
]]></content:encoded>
			<wfw:commentRss>http://techbrew.net/articles/200711/atom-compliance-shows-xml-parsing-is-still-a-mess/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RSS Board: Do As We Say, Not As We Do</title>
		<link>http://techbrew.net/articles/200710/rss-board-do-as-we-say-not-as-we-do/</link>
		<comments>http://techbrew.net/articles/200710/rss-board-do-as-we-say-not-as-we-do/#comments</comments>
		<pubDate>Tue, 23 Oct 2007 19:54:18 +0000</pubDate>
		<dc:creator>Mark Woodman</dc:creator>
				<category><![CDATA[Feeds]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Opinion]]></category>

		<guid isPermaLink="false">http://techbrew.net/articles/200710/rss-board-do-as-we-say-not-as-we-do/</guid>
		<description><![CDATA[<br/>The RSS Profile is a really helpful document that helps developers use best practices and avoid typical pitfalls when handling or producing RSS feeds. That said, why isn&#8217;t the RSS Advisory Board &#8211; the very people who created the profile &#8211; following the profile recommendations in their own feeds? The Feed Validator now produces warnings [...]]]></description>
			<content:encoded><![CDATA[<br/><p>The <a href="http://www.rssboard.org/rss-profile">RSS Profile</a> is a really helpful document that helps developers use best practices and avoid typical pitfalls when handling or producing RSS feeds.</p>
<p>That said, why isn&#8217;t the <a href="http://www.rssboard.org/advisory-board">RSS Advisory Board</a> &#8211; the very people who created the profile &#8211; following the profile recommendations in their own feeds?</p>
<p>The Feed Validator now produces warnings <a href="http://feedvalidator.org/news/archives/2007/10/15/rss_best_practices.html">according to the profile</a>, but <a href="http://intertwingly.net/stories/2007/10/23/rssblogroll.html">this table</a> shows nearly all of the individuals on the board aren&#8217;t following their own advice.</p>
<p>To date, these board members have valid RSS 2.0 feeds that don&#8217;t conform to the profile: Eric Lunt, Jake Savin, Jenny Levine, Brent Simmons.  Matthew Bookspan and Randy Charles Morin don&#8217;t even have valid RSS 2.0 feeds at the time of this writing.</p>
<p>One might reasonably argue that the members shouldn&#8217;t put the profile into practice until it is ratified.  That wouldn&#8217;t be a bad thing, but it is a lost opportunity to show that the profile is easy to follow.  Besides, the profile was ratified a week ago.  Time to eat your own dog food, guys.</p>
<p><i>Full disclosure: TechBrew&#8217;s RSS feed doesn&#8217;t meet all the recommendations of the profile either.</i></p>
]]></content:encoded>
			<wfw:commentRss>http://techbrew.net/articles/200710/rss-board-do-as-we-say-not-as-we-do/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Service Burp and Full Feeds</title>
		<link>http://techbrew.net/articles/200710/service-burp-and-full-feeds/</link>
		<comments>http://techbrew.net/articles/200710/service-burp-and-full-feeds/#comments</comments>
		<pubDate>Wed, 03 Oct 2007 21:40:50 +0000</pubDate>
		<dc:creator>Mark Woodman</dc:creator>
				<category><![CDATA[Feeds]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://techbrew.net/articles/200710/service-burp-and-full-feeds/</guid>
		<description><![CDATA[<br/>Service Burp: Our hosting provider decided we were taking up too many resources and has moved us to a quieter server.Â Â Â  If you couldn&#8217;t get to us while DNS was updating, our apologies!Â Â  (If you couldn&#8217;t take our survey for this reason, please give it another try.) Full Feeds:Â  One of our reader survey respondents [...]]]></description>
			<content:encoded><![CDATA[<br/><p><strong>Service Burp</strong>: Our hosting provider decided we were taking up too many resources and has moved us to a quieter server.Â Â Â  If you couldn&#8217;t get to us while DNS was updating, our apologies!Â Â  (If you couldn&#8217;t take our survey for this reason, please <a href="http://techbrew.net/articles/200710/reader-survey">give it another try</a>.)</p>
<p><strong>Full Feeds</strong>:Â  One of our <a href="http://techbrew.net/articles/200710/reader-survey">reader survey</a> respondents has complained about our partial-text RSS feed.Â  Â  Partial feeds suck, we heartily agree.Â  The problem is, we have a full-content feed. Â  <a href="http://feeds.feedburner.com/techbrew" target="_blank">See for yourself</a>. (You&#8217;ll need to view the source XML).Â Â Â  I did a bit of poking around in FeedBurner &#8211; turning off Smart Feed, forcing the type to be RSS 2.0 &#8211; with the hopes of convincing every feed reader out there we do in fact have the full goods.</p>
<p>If you&#8217;re still seeing a partial feed, please leave a comment with the feed reader you&#8217;re using.</p>
]]></content:encoded>
			<wfw:commentRss>http://techbrew.net/articles/200710/service-burp-and-full-feeds/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Time Machine: October 2006</title>
		<link>http://techbrew.net/articles/200710/time-machine-october-2006/</link>
		<comments>http://techbrew.net/articles/200710/time-machine-october-2006/#comments</comments>
		<pubDate>Tue, 02 Oct 2007 21:43:56 +0000</pubDate>
		<dc:creator>Mark Woodman</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://techbrew.net/articles/200710/time-machine-october-2006/</guid>
		<description><![CDATA[<br/>Mike Sansone recently posted a retrospective on what he wrote last year in September. It served as a good reminder that blogging can sometimes benefit from looking at the past, not just the present. I took a look at what I wrote a year ago in October (on inkBlots), and some of it still seems [...]]]></description>
			<content:encoded><![CDATA[<br/><p><a href="http://www.converstations.com">Mike Sansone</a> recently posted a <a href="http://www.converstations.com/2007/10/remembering-sep.html">retrospective</a> on what he wrote last year in September.  It served as a good reminder that blogging can sometimes benefit from looking at the past, not just the present.</p>
<p>I took a look at what I wrote a year ago in October (on <a href="http://inkblots.markwoodman.com">inkBlots</a>), and some of it still seems pretty relevant.  You be the judge:</p>
<p><strong><a href="http://inkblots.markwoodman.com/2006/10/31/create-the-ultimate-reading-list/" rel="bookmark" title="Permanent Link to Google Reader + FeedBurner:  Create The Ultimate Reading List">Google Reader + FeedBurner:  Create The Ultimate Reading List</a></strong></p>
<p>Sometimes as a blogger you donâ€™t want to create a new entry just to report an interesting article you found. (Some people use del.icio.us links for this purpose, but I find that to be less than user-friendly.) A much nicer solution is to provide a <em>Reading List</em> of sorts, similar to the point of a blogroll, but at an item level. The ideal Reading List would directly include the content to be read, rather than just a link to it, and be published in Atom or RSS for the convenience of your audience.</p>
<p>In this article Iâ€™ll show you how to use Google Reader and FeedBurner to manage a reading list for your audience. [<a href="http://inkblots.markwoodman.com/2006/10/31/create-the-ultimate-reading-list/">Read On</a>...]</p>
<p><strong><a href="http://inkblots.markwoodman.com/2006/10/23/top-5-reasons-your-coworkers-dont-use-rss/" rel="bookmark" title="Permanent Link to Top 5 Reasons Your Coworkers Donâ€™t Use RSS">Top 5 Reasons Your Coworkers Donâ€™t Use RSS</a></strong></p>
<p><a href="http://inkblots.markwoodman.com/2006/10/23/top-5-reasons-your-coworkers-dont-use-rss/" rel="bookmark" title="Permanent Link to Top 5 Reasons Your Coworkers Donâ€™t Use RSS"></a></p>
<p>Have you discovered your otherwise-reasonably-hip coworkers donâ€™t use an RSS or Atom reader? Here are the excuses we hear the most:</p>
<p><a href="http://www.amazon.com/gp/product/B0001TOVE6?ie=UTF8&amp;tag=inkblots-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=B0001TOVE6"><img src="http://images.amazon.com/images/P/B0001TOVE6.01-A3PL85D94NQDOF._AA_SCMZZZZZZZ_.jpg" align="right" border="0" /></a><img src="http://www.assoc-amazon.com/e/ir?t=inkblots-20&amp;l=as2&amp;o=1&amp;a=B0001TOVE6" style="border: medium none  ! important; margin: 0px ! important" border="0" height="1" width="1" />5)  â€œWhatâ€™s RSS?â€<br />
4)  â€œI prefer email.â€<br />
3)  â€œI use more than one computer (or) canâ€™t install anything on my work PC.â€<br />
2)  â€œI get overloaded with too much information.â€<br />
1)   â€œI used to beat up geeks like you in school.â€</p>
<p>Oh, cruel world.  Here are some ways you can help turn them around &#8230; [<a href="http://inkblots.markwoodman.com/2006/10/23/top-5-reasons-your-coworkers-dont-use-rss/">Read On</a>...]</p>
<p><strong><a href="http://inkblots.markwoodman.com/2006/10/31/is-firefox-sharing-your-feed-list-with-google/" rel="bookmark" title="Permanent Link to Is Firefox sharing your feed list with Google?">Is Firefox sharing your feed list with Google?</a></strong></p>
<p align="left">Jared Breland <a href="http://www.legroom.net/modules.php?op=modload&amp;name=News&amp;file=article&amp;sid=215">reports</a> that Firefox 2 may be (un?)intentionally sending your RSS and Atom feed subscriptions to Google, thanks to a quirk in favicon retrieval. He goes into detail about the hows and whys this may be happening, but hereâ€™s the ultimate result &#8230; [<a href="http://inkblots.markwoodman.com/2006/10/31/is-firefox-sharing-your-feed-list-with-google/">Read On</a>...]</p>
<p align="left"><strong><a href="http://inkblots.markwoodman.com/2006/10/23/pdf-pirates/" rel="bookmark" title="Permanent Link to PDF Pirates">PDF Pirates</a></strong></p>
<p align="left">It never occurred to me that PDFs would be a digital medium ripe for pirating. But hey, everybody is stealing music and software, right?</p>
<p align="left">I spotted a torrent last night of a very popular RSS book, in PDF form. I chatted with the author about itâ€¦ stealing digital books isnâ€™t something either of us have thought much about. It irritates me to know that the torrent is robbing him of royalties.  [<a href="http://inkblots.markwoodman.com/2006/10/23/pdf-pirates/">Read On</a>...]</p>
<p><strong><a href="http://inkblots.markwoodman.com/2006/10/23/save-twit/" rel="bookmark" title="Permanent Link to Save TWiT">Save TWiT</a></strong></p>
<p>&#8230; Sadly, it looks as though <a href="http://www.twit.tv/2006/10/22/no_twit_today">TWiT may be shutting down</a> for lack of interest by the participants (excluding Mr. Laporte). If you would hate to see the show shut down, drop a comment and let them Leo know TWiT shouldnâ€™t die.   [<a href="http://inkblots.markwoodman.com/2006/10/23/save-twit/">Read On</a>...]</p>
]]></content:encoded>
			<wfw:commentRss>http://techbrew.net/articles/200710/time-machine-october-2006/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tagging Habits of the A-List</title>
		<link>http://techbrew.net/articles/200709/tagging-habits-of-the-a-list/</link>
		<comments>http://techbrew.net/articles/200709/tagging-habits-of-the-a-list/#comments</comments>
		<pubDate>Tue, 18 Sep 2007 19:21:19 +0000</pubDate>
		<dc:creator>Mark Woodman</dc:creator>
				<category><![CDATA[Feeds]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://techbrew.net/articles/200709/tagging-habits-of-the-a-list/</guid>
		<description><![CDATA[<br/>At the beginning of the year I set up JetStream to monitor the top 100 CNET Blogs and see how the Technology A-Listers (according to CNET) were using tagging in their posts. I&#8217;ve been collecting data for nine months now, so I thought I&#8217;d share some of what I&#8217;ve learned. To Tag or Not To [...]]]></description>
			<content:encoded><![CDATA[<br/><p>At the beginning of the year I set up <a href="http://labs.techbrew.net/jetstream/">JetStream</a> to monitor the top <a href="http://news.com.com/2310-10784_3-0.html">100 CNET Blogs</a> and see how the Technology A-Listers (according to CNET) were using tagging in their posts.   I&#8217;ve been collecting data for nine months now, so I thought I&#8217;d share some of what I&#8217;ve learned.</p>
<p><strong>To Tag or Not To Tag</strong></p>
<p><a href="http://www.flickr.com/photos/brokenthoughts/291522788/"><img src="http://techbrew.net/wp-content/uploads/2007/09/tagging.jpg" alt="Tagging" align="right" border="0" /></a>The first thing I noticed is that many of the blogs don&#8217;t tag their posts at all.    Those who do tag tend to fall into two camps:  the Tags-As-Category camp, and the Semantic Tagging camp (usually individuals.)    The former use a limited list of tags like &#8220;Gadget&#8221; or &#8220;News&#8221;, the latter like &#8220;iPod&#8221;, &#8220;numanuma&#8221;, or &#8220;youtube&#8221;.  And, of course, there are some who do a little of both, as we do here on TechBrew.</p>
<p><strong>Popular Tags of 2007</strong></p>
<p>So far this year the 100 blogs have posted ~700,000 RSS and Atom items, and have used ~55,000 unique tags to label them.  I should note at this point that uniqueness in JetStream is case-sensitive, so &#8216;iPod&#8217;, &#8216;ipod&#8217;, and &#8216;IPOD&#8217; are in fact 3 different tags.  I didn&#8217;t want to lose some interesting analysis opportunities by lumping all capitalization variants together.</p>
<p>The most popular tags &#8211; those used on the most items &#8211; are skewed toward the use of fixed category tags by some of the prolific blogs like Engadget and Gizmodo.    Still, the top 30 tags used thus far paint an interesting picture of what the Tech blogosphere is talking about:</p>
<pre>
<strong>     TAG NAME               </strong><strong>FREQUENCY OF USE</strong></pre>
<pre> #1: Gadgets.......................3796
 #2: apple.........................2900
 #3: Top...........................2054
 #4: Microsoft.....................2046
 #5: iphone........................1914
 #6: Home Entertainment............1875
 #7: internet......................1657
 #8: Cellphones....................1536
 #9: General.......................1505
#10: sony..........................1485
#11: xbox 360......................1478
#12: Video.........................1295
#13: ps3...........................1202
#14: Blogging......................1134
#15: nintendo......................1108
#16: wii...........................1096
#17: Portable Media................1053
#18: Peripherals...................1016
#19: Clips..........................998
#20: Google.........................976
#21: ipod...........................935
#22: Company &amp; Product Profiles.....882
#23: japan..........................871
#24: Software.......................858
#25: news...........................840
#26: media..........................833
#27: Smartphones....................786
#28: windows........................769
#29: vista..........................761
#30: Original.......................746</pre>
<p>I can&#8217;t help but laugh that &#8216;Blogging&#8217; is used so often as a tag on blog items.  Recursive or redundant, you decide.</p>
<p><strong>Lets Get Semantic </strong></p>
<p>It is easy to see who and what have been the newsmakers this year from the above list.  Quite a bit can be inferred by the human brain, but there is a quite a bit of data mining and computer-based inference to be done as well.</p>
<p>To illustrate, anybody looking at the above list would be able to create some arbitrary semantic groupings:</p>
<p align="center"><em><strong>{Gadgets, apple, iphone,  Cellphones}</strong></em></p>
<p align="center"><em><strong>{Microsoft, xbox 360, windows, vista}</strong></em></p>
<p align="center"><em><strong>{xbox 360, ps3, wii}</strong></em></p>
<p><a href="http://techbrew.net/wp-content/uploads/2007/09/taggraph.png" title="Tag Graph of TechBrew.net"><img src="http://techbrew.net/wp-content/uploads/2007/09/taggraph.thumbnail.png" alt="Tag Graph of TechBrew.net" align="right" /></a>The next step for <a href="http://labs.techbrew.net/jetstream">JetStream</a>, in my mind, is to derive such semantic relationships automatically.  The algorithm would be essentially based on frequency of association between certain tags within blog items.  The strength of these relationships, based on frequency of co-usage, would be an indicator of relevance.</p>
<p>This approach isn&#8217;t very complicated, but it works because people have been doing the work of semantic tagging on all the items.  What I&#8217;m speaking of is simply a mechanism to reveal what people have already done.  Sort of <a href="http://www.foaf-project.org/">FOAF</a>, but for ideas and things instead of people.  (<a href="http://dannyayers.com/2007/02/27/so-i-have-a-foaf">Danny Ayers</a>, are your ears burning?)  <a href="http://www.aharef.info/static/htmlgraph/?url=http%3A%2F%2Ftechbrew.net">This kind of visualization</a> hints at what can be discovered through tagging trends across like-minded populations.</p>
<p>(JetStream does have a semantic view that is sliced by a given day&#8217;s worth of tags.  You can see the &#8220;<a href="http://labs.techbrew.net/jetstream/constellation.php">Tag Constellation</a>&#8221; view of the day&#8217;s most popular tag and anything associated with it.  Click the bullseye icon above any tag to center it in the constellation.  This is a fairly simplistic approach, but it gives a taste of what can be done with semantic inference and better visualization.)</p>
<p><strong>So What&#8217;s Next?</strong></p>
<p>I&#8217;m considering a way to express the semantic groupings in a RDF construct, and have been asking a couple of acquaintances their thoughts on the matter.  It would be useful to have a standard way to express semantic groups of tags &#8211; probably represented as URIs &#8211; but this whole thing may be a little too obscure to standardize just yet.</p>
<p>I&#8217;ve talked about some of what I would like to do, but I&#8217;d like to hear from you.  What would be interesting to you?  Should I just release the data and let people play with it? What format would you like to see it in?  If I gave it to you, what would you do with it?</p>
]]></content:encoded>
			<wfw:commentRss>http://techbrew.net/articles/200709/tagging-habits-of-the-a-list/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

