<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>TechBrew</title><link>http://techbrew.net</link><description>Informative geekery on software and technology</description><language>en</language><lastBuildDate>Tue, 08 Sep 2009 16:32:35 PDT</lastBuildDate><generator>http://wordpress.org/?v=2.8.4</generator><sy:updatePeriod xmlns:sy="http://purl.org/rss/1.0/modules/syndication/">hourly</sy:updatePeriod><sy:updateFrequency xmlns:sy="http://purl.org/rss/1.0/modules/syndication/">1</sy:updateFrequency><thespringbox:skin xmlns:thespringbox="http://www.thespringbox.com/dtds/thespringbox-1.0.dtd">http://feeds.feedburner.com/techbrew?format=skin</thespringbox:skin><geo:lat>38.952366</geo:lat><geo:long>-104.767016</geo:long><creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/</creativeCommons:license><image><link>http://techbrew.net</link><url>http://techbrew.net/wp-content/themes/mag/img/techbrew_logo_250x100.gif</url><title>TechBrew</title></image><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/techbrew" type="application/rss+xml" /><feedburner:emailServiceId>techbrew</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2Ftechbrew" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Ftechbrew" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2Ftechbrew" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/techbrew" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Ftechbrew" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Ftechbrew" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Ftechbrew" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://www.plusmo.com/add?url=http%3A%2F%2Ffeeds.feedburner.com%2Ftechbrew" src="http://plusmo.com/res/graphics/fbplusmo.gif">Subscribe with Plusmo</feedburner:feedFlare><feedburner:feedFlare href="http://my.feedlounge.com/external/subscribe?url=http%3A%2F%2Ffeeds.feedburner.com%2Ftechbrew" src="http://static.feedlounge.com/buttons/subscribe_0.gif">Subscribe with FeedLounge</feedburner:feedFlare><feedburner:feedFlare href="http://www.thefreedictionary.com/_/hp/AddRSS.aspx?http%3A%2F%2Ffeeds.feedburner.com%2Ftechbrew" src="http://img.tfd.com/hp/addToTheFreeDictionary.gif">Subscribe with The Free Dictionary</feedburner:feedFlare><feedburner:feedFlare href="http://www.bitty.com/manual/?contenttype=rssfeed&amp;contentvalue=http%3A%2F%2Ffeeds.feedburner.com%2Ftechbrew" src="http://www.bitty.com/img/bittychicklet_91x17.gif">Subscribe with Bitty Browser</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsalloy.com/?rss=http%3A%2F%2Ffeeds.feedburner.com%2Ftechbrew" src="http://www.newsalloy.com/subrss3.gif">Subscribe with NewsAlloy</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2Ftechbrew" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:feedFlare href="http://mix.excite.eu/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Ftechbrew" src="http://image.excite.co.uk/mix/addtomix.gif">Subscribe with Excite MIX</feedburner:feedFlare><feedburner:feedFlare href="http://www.yourminis.com/subscribe.aspx?u=http%3A%2F%2Ffeeds.feedburner.com%2Ftechbrew" src="http://www.yourminis.com/images/addtoyourminisbadge.gif">Subscribe with Yourminis.com</feedburner:feedFlare><feedburner:feedFlare href="http://download.attensa.com/app/get_attensa.html?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Ftechbrew" src="http://www.attensa.com/blogs/attensa/WindowsLiveWriter/BadgeredintoBadges_10C02/attensa_feed_button5.gif">Subscribe with Attensa for Outlook</feedburner:feedFlare><feedburner:feedFlare href="http://www.webwag.com/wwgthis.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Ftechbrew" src="http://www.webwag.com/images/wwgthis.gif">Subscribe with Webwag</feedburner:feedFlare><feedburner:browserFriendly>Thanks for visiting! Subscribe to this feed to get Informative geekery on software on technology. We offer news, how-to's, and free/open source software.</feedburner:browserFriendly><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item><title>Is rssCloud All Wet?</title><link>http://feedproxy.google.com/~r/techbrew/~3/LF4lyz3y96I/</link><category>Feeds</category><category>News</category><category>Opinion</category><category>ajax</category><category>iphone</category><category>rss</category><category>rssCloud</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mark Woodman</dc:creator><pubDate>Tue, 08 Sep 2009 16:32:35 PDT</pubDate><guid isPermaLink="false">http://techbrew.net/?p=256</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![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>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/techbrew?a=LF4lyz3y96I:7a6mklO7grk:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/techbrew?i=LF4lyz3y96I:7a6mklO7grk:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/techbrew?a=LF4lyz3y96I:7a6mklO7grk:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/techbrew?i=LF4lyz3y96I:7a6mklO7grk:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/techbrew?a=LF4lyz3y96I:7a6mklO7grk:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/techbrew?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/techbrew?a=LF4lyz3y96I:7a6mklO7grk:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/techbrew?i=LF4lyz3y96I:7a6mklO7grk:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/techbrew/~4/LF4lyz3y96I" height="1" width="1"/>]]></content:encoded><description>&lt;br/&gt;
Rogers Cadenhead recently posted his thoughts on why the rssCloud concept &amp;#8220;failed to catch on.&amp;#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), rather than [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://techbrew.net/articles/200909/rsscloud-all-wet/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">12</slash:comments><feedburner:origLink>http://techbrew.net/articles/200909/rsscloud-all-wet/</feedburner:origLink></item><item><title>ROME 1.0 Released</title><link>http://feedproxy.google.com/~r/techbrew/~3/5bUT0OWlVV0/</link><category>News</category><category>atom</category><category>java</category><category>rome</category><category>rss</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mark Woodman</dc:creator><pubDate>Wed, 11 Mar 2009 19:44:33 PDT</pubDate><guid isPermaLink="false">http://techbrew.net/?p=252</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![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>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/techbrew?a=5bUT0OWlVV0:34dd16D4HDw:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/techbrew?i=5bUT0OWlVV0:34dd16D4HDw:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/techbrew?a=5bUT0OWlVV0:34dd16D4HDw:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/techbrew?i=5bUT0OWlVV0:34dd16D4HDw:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/techbrew?a=5bUT0OWlVV0:34dd16D4HDw:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/techbrew?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/techbrew?a=5bUT0OWlVV0:34dd16D4HDw:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/techbrew?i=5bUT0OWlVV0:34dd16D4HDw:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/techbrew/~4/5bUT0OWlVV0" height="1" width="1"/>]]></content:encoded><description>&lt;br/&gt;
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 get [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://techbrew.net/articles/200903/rome-1-0-released/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><feedburner:origLink>http://techbrew.net/articles/200903/rome-1-0-released/</feedburner:origLink></item><item><title>President Obama – Lost in Translation</title><link>http://feedproxy.google.com/~r/techbrew/~3/wliP0gERlvw/</link><category>Humor</category><category>News</category><category>obama</category><category>president</category><category>video</category><category>voice recognition</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mark Woodman</dc:creator><pubDate>Tue, 20 Jan 2009 16:00:19 PST</pubDate><guid isPermaLink="false">http://techbrew.net/?p=239</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![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>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/techbrew?a=wliP0gERlvw:_CBeGPv8oks:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/techbrew?i=wliP0gERlvw:_CBeGPv8oks:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/techbrew?a=wliP0gERlvw:_CBeGPv8oks:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/techbrew?i=wliP0gERlvw:_CBeGPv8oks:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/techbrew?a=wliP0gERlvw:_CBeGPv8oks:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/techbrew?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/techbrew?a=wliP0gERlvw:_CBeGPv8oks:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/techbrew?i=wliP0gERlvw:_CBeGPv8oks:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/techbrew/~4/wliP0gERlvw" height="1" width="1"/>]]></content:encoded><description>&lt;br/&gt;Fox News has an &amp;#8220;Automatic Transcription&amp;#8221; feature for its videos.  The disclaimer of &amp;#8220;may not be 100% accurate&amp;#8221; is understated by 95%.  Here&amp;#8217;s the presidential oath of Barak Obama, the way their transcription software heard it:

&amp;#8220;I. &amp;#8212; Barack Hussein Obama I solemnly swear Barack Hussein Obama do solemnly swear. That I will execute the office [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://techbrew.net/articles/200901/president-obama-lost-in-translation/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><feedburner:origLink>http://techbrew.net/articles/200901/president-obama-lost-in-translation/</feedburner:origLink></item><item><title>Defrag a Single File or Set of Files in Windows</title><link>http://feedproxy.google.com/~r/techbrew/~3/plXtgzTN3F8/</link><category>How-To</category><category>contig</category><category>defrag</category><category>windows</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mark Woodman</dc:creator><pubDate>Wed, 20 Aug 2008 15:46:16 PDT</pubDate><guid isPermaLink="false">http://techbrew.net/?p=227</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<br/><p>Ever wanted to defragment a certain file or collection of files on your Windows PC, without defragging the entire hard drive?   Here&#8217;s why and how you can do it:</p>
<p><strong>Don&#8217;t Bring Me Down</strong></p>
<p>I recently noticed that one of my oft-used Windows applications was getting slower and slower.  After checking the usual suspects in Task Manager (Windows Search, Norton AV, you know who you are), I also checked to see if my hard drive needed to be defragmented.   At first glance, the answer was no: the <a href="http://support.microsoft.com/kb/314848">defrag tool</a> reported  &#8220;You do not need to defragment this volume&#8221;.  I looked at the volume report, however and saw that many of the worst-fragmented files were used by my oh-so-slow application.</p>
<p><a rel="attachment wp-att-229" href="http://techbrew.net/articles/200808/defrag-a-single-file-or-set-of-files-in-windows/drivefail/"><img class="size-medium wp-image-229" title="Imminent Failure" align="right" src="http://techbrew.net/wp-content/uploads/2008/08/drivefail-300x133.jpg" alt="" width="300" height="133" align="right" /></a></p>
<p>Any time an application needs to read or write to heavily-fragmented files, it has to go on a treasure hunt all over the hard drive platter.  Since disk I/O is an expensive operation, defragging those files can boost application performance considerably.  It might also save you from some nasty crashes.</p>
<p>The problem is that there is no guarantee which files the Windows Defrag Tool will touch.   You can defrag the whole disk only to find out it skipped your files anyway.       Yeah, that happened to me.  Twice more than I care to admit.  Mr Gates, I&#8217;d like my 2 hours back.</p>
<p>So I did a treasure hunt of my own, and found a fast and free tool designed to solve this very problem&#8230;</p>
<p><strong>Contig To The Rescue</strong></p>
<p><a title="Contig 1.54" href="http://technet.microsoft.com/en-us/sysinternals/bb897428.aspx">Contig v1.54</a> is a free command-line tool that works on Windows NT, XP, 2000, and Vista.  It will analyze and defragment a file or a set of files matching a wildcard.  Contig is fast, tiny at 55KB, easy to use, and can even be killed in the middle of processing without corrupting your drive.    Here&#8217;s how to start single-file defragging in 5 minutes, or your next pizza is free:<span id="more-227"></span></p>
<ol>
<li>Download <a title="Download Contig.zip" href="http://download.sysinternals.com/Files/Contig.zip">Contig.zip</a>, and extract Contig.exe in a directory of your choice.</li>
<li>Open a command line, and type in the location of Contig.exe, followed by the <strong>-v</strong> switch, followed by the location of the file you want to defrag.  If either location has a space in the path name, be sure to enclose both locations in quotes.   Here&#8217;s how it looks in action:<br />
<code><small>C:\&gt;"C:\tools\Contig.exe" -v "C:\System Volume Information\catalog.wci\00010005.ci"<br />
...<br />
Found a free disk block at 14025352 of length 32740 for entire file.<br />
Moving 32688 clusters at file offset cluster 0 to disk cluster 14025352<br />
File size: 133890048 bytes<br />
Fragments before: 1126<br />
Fragments after : 1</small></code></li>
<li>If you want to defrag a set of files using a wildcard pattern, then just use the <strong>-s</strong> switch and a wild-carded path.  Like so:<br />
<code>"C:\tools\Contig.exe" -s "C:\music\*.mp3"</code></li>
</ol>
<p>It&#8217;s really that easy.  Contig also has a couple of other switches to either just analyze the files or run quietly.  See the <a href="http://technet.microsoft.com/en-us/sysinternals/bb897428.aspx">home page</a> for documentation.  Happy Defragging!</p>
<p><em>Photo (CC) by <a href="http://flickr.com/photos/jmarty/1239950166/">Justin Marty</a></em></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/techbrew?a=plXtgzTN3F8:1xlpCKseEhQ:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/techbrew?i=plXtgzTN3F8:1xlpCKseEhQ:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/techbrew?a=plXtgzTN3F8:1xlpCKseEhQ:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/techbrew?i=plXtgzTN3F8:1xlpCKseEhQ:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/techbrew?a=plXtgzTN3F8:1xlpCKseEhQ:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/techbrew?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/techbrew?a=plXtgzTN3F8:1xlpCKseEhQ:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/techbrew?i=plXtgzTN3F8:1xlpCKseEhQ:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/techbrew/~4/plXtgzTN3F8" height="1" width="1"/>]]></content:encoded><description>&lt;br/&gt;Ever wanted to defragment a certain file or collection of files on your Windows PC, without defragging the entire hard drive?   Here&amp;#8217;s why and how you can do it:
Don&amp;#8217;t Bring Me Down
I recently noticed that one of my oft-used Windows applications was getting slower and slower.  After checking the usual suspects in [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://techbrew.net/articles/200808/defrag-a-single-file-or-set-of-files-in-windows/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">2</slash:comments><feedburner:origLink>http://techbrew.net/articles/200808/defrag-a-single-file-or-set-of-files-in-windows/</feedburner:origLink></item><item><title>Make a Word Cloud from your Feed</title><link>http://feedproxy.google.com/~r/techbrew/~3/M5D24nqyyuk/</link><category>How-To</category><category>ajax</category><category>applet</category><category>json</category><category>pipes</category><category>visualization</category><category>wordle</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mark Woodman</dc:creator><pubDate>Tue, 01 Jul 2008 16:04:54 PDT</pubDate><guid isPermaLink="false">http://techbrew.net/?p=224</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<br/><p><a href="http://labs.techbrew.net/wordle/"><img style="float: left;" title="TechBrew Wordle" src="http://techbrew.net/wp-content/uploads/2008/07/tbwordle.png" alt="" width="150" height="300" /></a>I happened across Jonathan Feinberg&#8217;s <a href="http://wordle.net/">Wordle</a> (&#8221;Beautiful Word Clouds&#8221;) visualization recently.Â  Pretty fun, but I instantly wanted a way to create one from an RSS feed.   I didn&#8217;t see a way to do it, so I checked the FAQ confirmed there wasn&#8217;t one available:</p>
<blockquote><p><strong>How about a field to enter a blog/web page/wikipedia article&#8217;s URL?</strong></p>
<p>If you know of an interesting text source that exposes a JSON interface, then I&#8217;d be happy to add a field for it on the &#8220;create&#8221; page. Unfortunately, a web site that doesn&#8217;t expose its data via JSON is not useful to Wordle, because Wordle does all of its text processing on your computer, in the browser. A JSON URL can be dynamically retrieved without hitting the Wordle server.</p></blockquote>
<p><a href="http://pipes.yahoo.com">Yahoo Pipes</a> immediately came to mind.  I noodled around with the Term Extractor module in Pipes, a handy way to pull significant words from the items in an RSS feed.   Thanks to the permissive Creative Commons license used by Wordle, I copied the necessary resources to my server,  added a <a href="http://labs.techbrew.net/wordle/static/v565/wordle.js">new JavaScript function</a> to Wordle&#8217;s code to call the <a href="http://pipes.yahoo.com/techbrew/wordle">new Pipe</a>, get a JSONP callback, and push the resulting feed terms to the Wordle Applet.</p>
<p>Voila: <a href="http://labs.techbrew.net/wordle/">http://labs.techbrew.net/wordle/</a></p>
<p>The CC license on the mod stands, so if Mr. Feinberg finds the mod useful, he&#8217;s free to grab it, clone the Pipe, and put it back into Wordle proper.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/techbrew?a=M5D24nqyyuk:nRkjZIPRew4:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/techbrew?i=M5D24nqyyuk:nRkjZIPRew4:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/techbrew?a=M5D24nqyyuk:nRkjZIPRew4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/techbrew?i=M5D24nqyyuk:nRkjZIPRew4:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/techbrew?a=M5D24nqyyuk:nRkjZIPRew4:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/techbrew?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/techbrew?a=M5D24nqyyuk:nRkjZIPRew4:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/techbrew?i=M5D24nqyyuk:nRkjZIPRew4:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/techbrew/~4/M5D24nqyyuk" height="1" width="1"/>]]></content:encoded><description>&lt;br/&gt;I happened across Jonathan Feinberg&amp;#8217;s Wordle (&amp;#8221;Beautiful Word Clouds&amp;#8221;) visualization recently.Â  Pretty fun, but I instantly wanted a way to create one from an RSS feed.   I didn&amp;#8217;t see a way to do it, so I checked the FAQ confirmed there wasn&amp;#8217;t one available:
How about a field to enter a blog/web page/wikipedia article&amp;#8217;s [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://techbrew.net/articles/200807/make-a-wordle-from-your-feed/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">1</slash:comments><feedburner:origLink>http://techbrew.net/articles/200807/make-a-wordle-from-your-feed/</feedburner:origLink></item><item><title>How to make easy video screencasts of software in Windows</title><link>http://feedproxy.google.com/~r/techbrew/~3/nJOUOi2_CEc/</link><category>How-To</category><category>screencast</category><category>software</category><category>video</category><category>windows media encoder</category><category>wme</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mark Woodman</dc:creator><pubDate>Fri, 14 Mar 2008 11:30:47 PDT</pubDate><guid isPermaLink="false">http://techbrew.net/articles/200803/how-to-make-easy-video-screencasts-of-software-in-windows/</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<br/><p>A video demonstration of software is often far better than static screenshots, and is often more convenient to distribute than arranging for a live demo.    This tutorial will show you how easy it is to record a video &#8220;screencast&#8221; of most applications with the free (as in lunch) <a href="http://www.microsoft.com/windows/windowsmedia/forpros/encoder/default.mspx" rel="nofollow" linktype="raw" linktext="Download Windows Media Encoder|http://www.microsoft.com/windows/windowsmedia/forpros/encoder/default.mspx">Windows Media Encoder</a> software.</p>
<p><strong>Caveats and Installation </strong></p>
<ul>
<li>WME won&#8217;t work with applications which draw directly to the screen.   If the application has to run full screen or requires a decent video card, it probably draws directly to the screen.</li>
<li>Check the <a href="http://www.microsoft.com/windows/windowsmedia/forpros/encoder/sysreq.aspx" rel="nofollow" linktype="raw" linktext="System Requirements|http://www.microsoft.com/windows/windowsmedia/forpros/encoder/sysreq.aspx">System Requirements</a>â€‰ page to understand what your computer&#8217;s hardware will be capable of doing with the software.</li>
<li>If you want to record audio (like a voice over), you&#8217;ll need a microphone.   If you&#8217;re using a laptop with a built-in microphone, it probably sucks.  Try to get something that you can get closer to your mouth and that has a windscreen.</li>
<li><a href="http://www.microsoft.com/windows/windowsmedia/forpros/encoder/default.mspx" rel="nofollow" linktype="raw" linktext="Download Windows Media Encoder|http://www.microsoft.com/windows/windowsmedia/forpros/encoder/default.mspx">Download </a><a href="http://www.microsoft.com/windows/windowsmedia/forpros/encoder/default.mspx" rel="nofollow" linktype="raw" linktext="Download Windows Media Encoder|http://www.microsoft.com/windows/windowsmedia/forpros/encoder/default.mspx">Windows Media Encoder</a>â€‰and install it.   Other than picking an directory, the installer is basically hands-free.</li>
</ul>
<p><strong>Setting Up a Screen Capture</strong></p>
<p>Getting the screen capture going is really easy once you&#8217;re familiar with the settings to use.   (You&#8217;ll find the hard part is &#8220;performing for the camera&#8221; once the capture has started.)</p>
<p>Feeling a bit recursive, I used WME to demo a copy of itself, showing a quick walkthrough of the setup.  You can <a href="http://www.youtube.com/v/on5O5djGHRc">watch it on YouTube</a> or download the original <a href="http://techbrewfiles.googlepages.com/techbrew.net_wme_walkthrough.wmv">techbrew.net_wme_walkthrough.wmv</a> generated by WME itself.   YouTube&#8217;s transcoding is unfortunately pretty fuzzy, so I recommend taking a look at the <a href="http://techbrewfiles.googlepages.com/techbrew.net_wme_walkthrough.wmv">original</a> to see what was actually captured.</p>
<p>Here are the basics of setting up a screencast, with some advice about settings along the way:</p>
<p>1. <strong>Run the software</strong> via Start-&gt;Programs-&gt;Windows Media-&gt;Windows Media Encoder.</p>
<p>2. <strong>Select the &#8220;Capture Screen&#8221; option</strong> in the New Session dialog and press the &#8220;OK&#8221; button.</p>
<p>3.  <strong>Choose your capture settings</strong>.  The new session wizard will show you options for doing a screen capture:</p>
<ul>
<li><u>Specific Window</u> &#8211; Select this if the software you want to screencast is in only one window with minimal dialogs or popups.  Dialogs and popups will only show up if they are in front of and smaller than the main window.  Anything which extends outside of the boundary of the main window will be cut off in your video.  If you choose this, you&#8217;ll need to start up your application and have it running before you go to the next step.  Also keep in mind that the size and aspect ratio (length vs. width) of the video display will be the same as your application window.  If your screencast is destined to be played in a video player like YouTube, for example, the aspect ratio can matter a great deal.  If you can&#8217;t resize the window to be what you need, you might want to pick one of the next two options.</li>
<li><u>Region of the Screen</u> &#8211; Select this if you want to section off a portion of your desktop for capture.  Any window, cursor, menu, tooltip in that region will be recorded.   This is an easy way to make sure that the aspect ration of your video is exactly right.   Getting everything you want to show to happen inside that region can take some careful planning and thought, however.</li>
<li><u>Entire Screen</u> &#8211; If you want to simply record your entire screen and everything that happens, this is the option to choose.  Keep in mind, however, that if you have a really high resolution monitor, you&#8217;re going to be capturing a ton of data.   You probably don&#8217;t want to create a video file that has to be played back at the same resolution in order to make out the fine details.   If possible, drop down to a lower resolution before you do the screencast. Something else to keep in mind:  If you only have one display, the WME window will be on your taskbar while you are recording.   If your computer is capable of using two displays, you can use your secondary display as the capture screen to avoid seeing the taskbar.</li>
</ul>
<p>4. <strong>Check (or don&#8217;t check) the Capture Audio option</strong>.  If you want to record a voice-over at the same time you&#8217;re running your application, then check it.   Be forewarned: doing a smooth voice-over while running the software can be pretty tough and takes a ton of practice runs.  If you have access to video editing software, you may want to re-do the voice-over when you don&#8217;t have to concentrate on operating the software.</p>
<p>5. <strong>Click the Next Button</strong>.</p>
<ul>
<li>If you chose &#8220;Specific Window&#8221; or &#8220;Region of the Screen&#8221;, the wizard will prompt you to choose the window or specify the region.  Do so and click the Next button again.</li>
<li>If you chose &#8220;Entire Screen&#8221;, go to Step 6.</li>
</ul>
<p>6.  <strong>Name an output file</strong> &#8211; The wizard will prompt you for an output file name and location.  The video file it creates will be a .wmv video file.</p>
<p>7.  <strong>Choose the capture quality</strong> &#8211; The wizard lets you choose a capture quality setting of Low/Medium/High.  You have to weigh the trade-off between file size and video clarity.   If you have access to video editing software or the means to convert the file format later on, choose High so that you have the best-possible source to start with.</p>
<p>8. <strong>Enter the Display Information</strong> &#8211; You can enter some video file metadata like title and author if you like.  The metadata will only show up if the video file is played in Windows Media Encoder, however.  If you&#8217;re going to edit or convert the file, you don&#8217;t need to bother with this metadata.</p>
<p>9. <strong>Press the Finish button</strong>.</p>
<p>The wizard will close.  Now you&#8217;re actually in the Windows Media Encoder proper, set up and ready to go according to the wizard settings you chose.  (The Properties button on the toolbar will show you the myriad of settings available for a whole slew of use cases.  After you&#8217;ve used WME for awhile, you&#8217;ll may want to dig in here and start experimenting.)</p>
<p>If you&#8217;re in Europe or a region that displays video in the PAL format, you can change that setting via the Tools-&gt;Options menu.  The General Options tab has a &#8220;Default Format&#8221; setting which lets you switch between PAL and NTSC.</p>
<p>10.  <strong>Press the Start Encoding button. </strong></p>
<p>WME will record your cursor movement and screen activity, whether in a window, region, or full screen.  If you chose to capture audio, it will record that as well.</p>
<p>The default behavior of WME is to minimize to the taskbar when you are recording.  Restoring the WME window will pause recording.  If you don&#8217;t want the minimizing behavior, perhaps because you aren&#8217;t doing a full-screen capture, you can turn it off via the Tools-&gt;Options menu under General Options.</p>
<p>11. <strong>Press the Stop button.</strong></p>
<p>WME will stop recording and show you a summary screen of the screencast content.   You can close the dialog or use the &#8220;Play Output File&#8221; button to view your handiwork.</p>
<p>12.  <strong>Save your session settings</strong>.   Use File -&gt; Save to save all your settings to a file that can be reused for another screen capture.  As you use WME more, you&#8217;ll probably start fine-tuning the settings for your particular needs.  Saving those settings for repeatable screencasts will become increasingly more important.</p>
<p>13.  <strong>Experiment, lather, rinse, and repeat</strong>.   There is a lot under the hood in WME, including the ability to push a live video stream to a Windows Media Server.   Play around and see what it can do, and don&#8217;t forget [F1] &#8211; the help files for WME explain the various concepts and settings in the tool.</p>
<p>Happy screencasting!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/techbrew?a=nJOUOi2_CEc:-Ih3PYzjfyY:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/techbrew?i=nJOUOi2_CEc:-Ih3PYzjfyY:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/techbrew?a=nJOUOi2_CEc:-Ih3PYzjfyY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/techbrew?i=nJOUOi2_CEc:-Ih3PYzjfyY:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/techbrew?a=nJOUOi2_CEc:-Ih3PYzjfyY:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/techbrew?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/techbrew?a=nJOUOi2_CEc:-Ih3PYzjfyY:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/techbrew?i=nJOUOi2_CEc:-Ih3PYzjfyY:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/techbrew/~4/nJOUOi2_CEc" height="1" width="1"/>]]></content:encoded><description>&lt;br/&gt;A video demonstration of software is often far better than static screenshots, and is often more convenient to distribute than arranging for a live demo.    This tutorial will show you how easy it is to record a video &amp;#8220;screencast&amp;#8221; of most applications with the free (as in lunch) Windows Media Encoder software.
Caveats [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://techbrew.net/articles/200803/how-to-make-easy-video-screencasts-of-software-in-windows/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">5</slash:comments><feedburner:origLink>http://techbrew.net/articles/200803/how-to-make-easy-video-screencasts-of-software-in-windows/</feedburner:origLink></item><item><title>RSS Advisory Board Validated by RSS 0.90, 0.91</title><link>http://feedproxy.google.com/~r/techbrew/~3/VXhaB2gpobc/</link><category>Feeds</category><category>News</category><category>dave winer</category><category>netscape</category><category>rss</category><category>rss advisory board</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mark Woodman</dc:creator><pubDate>Thu, 24 Jan 2008 16:08:25 PST</pubDate><guid isPermaLink="false">http://techbrew.net/articles/200801/rss-advisory-board-validated-by-rss-090-091/</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![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>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/techbrew?a=VXhaB2gpobc:Vf7fe5yWR4Y:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/techbrew?i=VXhaB2gpobc:Vf7fe5yWR4Y:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/techbrew?a=VXhaB2gpobc:Vf7fe5yWR4Y:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/techbrew?i=VXhaB2gpobc:Vf7fe5yWR4Y:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/techbrew?a=VXhaB2gpobc:Vf7fe5yWR4Y:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/techbrew?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/techbrew?a=VXhaB2gpobc:Vf7fe5yWR4Y:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/techbrew?i=VXhaB2gpobc:Vf7fe5yWR4Y:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/techbrew/~4/VXhaB2gpobc" height="1" width="1"/>]]></content:encoded><description>&lt;br/&gt;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 [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://techbrew.net/articles/200801/rss-advisory-board-validated-by-rss-090-091/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><feedburner:origLink>http://techbrew.net/articles/200801/rss-advisory-board-validated-by-rss-090-091/</feedburner:origLink></item><item><title>Freed Demon!</title><link>http://feedproxy.google.com/~r/techbrew/~3/yKS8knfN64w/</link><category>Feeds</category><category>News</category><category>atom</category><category>feed demon</category><category>netnewswire</category><category>newsgator</category><category>rss</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mark Woodman</dc:creator><pubDate>Wed, 09 Jan 2008 11:40:50 PST</pubDate><guid isPermaLink="false">http://techbrew.net/articles/200801/freed-demon/</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![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>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/techbrew?a=yKS8knfN64w:t84te_17oQY:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/techbrew?i=yKS8knfN64w:t84te_17oQY:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/techbrew?a=yKS8knfN64w:t84te_17oQY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/techbrew?i=yKS8knfN64w:t84te_17oQY:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/techbrew?a=yKS8knfN64w:t84te_17oQY:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/techbrew?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/techbrew?a=yKS8knfN64w:t84te_17oQY:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/techbrew?i=yKS8knfN64w:t84te_17oQY:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/techbrew/~4/yKS8knfN64w" height="1" width="1"/>]]></content:encoded><description>&lt;br/&gt;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 &amp;#8211; tons of new features in all of them.
But second, every one of [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://techbrew.net/articles/200801/freed-demon/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">2</slash:comments><feedburner:origLink>http://techbrew.net/articles/200801/freed-demon/</feedburner:origLink></item><item><title>On Craft</title><link>http://feedproxy.google.com/~r/techbrew/~3/gDK_dOBMY3Q/</link><category>Opinion</category><category>craft</category><category>design patterns</category><category>programming</category><category>software</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mark Woodman</dc:creator><pubDate>Mon, 07 Jan 2008 11:05:15 PST</pubDate><guid isPermaLink="false">http://techbrew.net/articles/200801/on-craft/</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<br/><p>Ben Abernathy writes a <a href="http://benabernathy.wordpress.com/2008/01/06/the-truth-about-computer-science-and-programming-for-a-living">poignant observation</a> about computer science and the kinds of people that come (or don&#8217;t come) out of college programs.Â  Â  The first group ditches computer science altogether, the second delights in making things work, but the third strives for something more elusive: elegance and beauty.Â  Ben is right to note that if you&#8217;re looking for beauty in software, you can very well end up a miserable idealist.</p>
<p>Personally, I&#8217;ve had to come to a place where I resolve to plant beautiful code wherever I can, even if it is surrounded by weeds I&#8217;m not allowed to pull.Â  Even when I fail at it, I find that the effort of striving to improve, rather than just make do, makes me a better and happier software engineer.</p>
<p>Having been in software for over a decade, I have found one easy way to spot the differences between coworkers and competitors in Group 2 (&#8221;Get it done&#8221;) and Group 3 (&#8221;Make it beautiful&#8221;): <em>Regard, or disregard, for craft.</em></p>
<p><strong>Doghouse Software</strong></p>
<p>It&#8217;s pretty obvious when you look at carpentry, masonry, or cooking which people care about their craft, and which people just &#8220;got it done.&#8221;Â  Unfortunately, craft it much easier to see in the physical space than in software.Â  Even a gorgeous GUI can hide some unspeakably gnarly code.</p>
<p>I heard <a href="http://en.wikipedia.org/wiki/Grady_Booch">Grady Booch</a> speak at Java One many years ago.Â  He said that most people build applications like they build doghouses:Â  Bang together some wood, and if the dog is mostly dry, you&#8217;re done.Â  Enterprise applications, he noted, are usually skyscrapers composed of a bunch of doghouses duct-taped together.</p>
<p>Doghouse software is built with little regard for craft.Â Â  This problem may not show up right away, but as soon as the requirements or use cases expand, the shoddy craftsmanship becomes painfully clear.Â Â  Ask anybody trying to retrofit web services on a legacy architecture, and you&#8217;ll see what I mean.</p>
<p><strong>Process and Craft</strong></p>
<p>Process, I must say, should not be confused with craft.Â  Craft should involve some process , but I&#8217;ve never seen process generate craftsmanship.Â  (I have seen beautiful code in CMM-4 shops and in startups.Â  I&#8217;ve also seen hideous crap in both.)Â  The difference invariably comes down to regard for craft by the individual.</p>
<p><strong>Questions Asked and Unasked</strong></p>
<p>&#8220;Does it work?&#8221;Â  If software is just a job, this is where a programmer stops asking questions.Â  If she cares about craft, she also asks questions like:</p>
<ul>
<li>&#8220;Can I prove it will work reliably? (It it testable?)&#8221;</li>
<li>&#8220;Is it easy to use, does it eliminate excise?Â  (Is it usable, user-friendly, intuitive?)&#8221;)</li>
<li>&#8220;Can I easily swap out visualizations? (Are there clear boundaries between model, view, and controller?)&#8221;</li>
<li>&#8220;Will it work if it becomes modestly or even insanely popular? (Is it scalable?)&#8221;</li>
<li>&#8220;Will it work if I have to add new features, or change the persistence layer, or play well in <a href="http://en.wikipedia.org/wiki/Service-oriented_architecture">SOA</a>?Â  (Is it modular, loosely-coupled, platform-agnostic, maintainable?)</li>
</ul>
<p>These questions get at the heart of true software craftsmanship: Be in the business of building products that will stand the test of time, not one-offs with zero shelf life.</p>
<p>Application-wide craftsmanship can be, as Joel Spolsky rightly <a href="http://www.joelonsoftware.com/articles/Craftsmanship.html">notes</a>, &#8220;incredibly expensive. &#8220;Â  I firmly believe, however, that individuals can improve their craft and stay on budget in most situations. I have found that improving my craft improves my productivity and the maintainability of my code.</p>
<p><strong>Go to the Source </strong></p>
<p>Source code it often a great way to tell whether a programmer cares about craft.Â Â Â  Is it clean and easy to read?Â Â  Are design patterns leveraged?Â  Was attention paid to loose coupling, encapsulation, dependency injection?Â  Are there an appropriate amount of comments?Â Â  Are complex methods broken down into simpler ones?Â  Are there unit tests?Â  Does the code, and the compiled product, look like something the programmer took pride in?Â  Or does it &#8220;just work?&#8221;</p>
<p><strong>Finding Craftsman </strong></p>
<p>My quest for interviewing new hires is not just to discern talent, but a regard for craftsmanship.Â Â  It is rare that a candidate can present source code, however.Â  I&#8217;ve found it difficult to really learn in an interview how much a person cares about the quality of his work.</p>
<p>Joel of Joel on Software uses <a href="http://www.fogcreek.com/Jobs/SummerIntern.html">summer internships</a> to find the kind of people he wants, but most companies can&#8217;t reproduce his model or, honestly, draw that level of internship talent.Â  And, lets face, it, you can&#8217;t bring in senior engineers as summer interns.</p>
<p>Can craftsmanship be discerned in an interview without having the source code? Â  If you have any suggestions, please share them in the comments below.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/techbrew?a=gDK_dOBMY3Q:Kl_-LHHA9fg:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/techbrew?i=gDK_dOBMY3Q:Kl_-LHHA9fg:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/techbrew?a=gDK_dOBMY3Q:Kl_-LHHA9fg:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/techbrew?i=gDK_dOBMY3Q:Kl_-LHHA9fg:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/techbrew?a=gDK_dOBMY3Q:Kl_-LHHA9fg:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/techbrew?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/techbrew?a=gDK_dOBMY3Q:Kl_-LHHA9fg:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/techbrew?i=gDK_dOBMY3Q:Kl_-LHHA9fg:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/techbrew/~4/gDK_dOBMY3Q" height="1" width="1"/>]]></content:encoded><description>&lt;br/&gt;Ben Abernathy writes a poignant observation about computer science and the kinds of people that come (or don&amp;#8217;t come) out of college programs.Â  Â  The first group ditches computer science altogether, the second delights in making things work, but the third strives for something more elusive: elegance and beauty.Â  Ben is right to note that [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://techbrew.net/articles/200801/on-craft/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">2</slash:comments><feedburner:origLink>http://techbrew.net/articles/200801/on-craft/</feedburner:origLink></item><item><title>High-Tech Helpers for New Years Resolutions</title><link>http://feedproxy.google.com/~r/techbrew/~3/CpH3FQeHDVQ/</link><category>How-To</category><category>die</category><category>exercise</category><category>high tech</category><category>new_years_resolution</category><category>resolutions</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mark Woodman</dc:creator><pubDate>Wed, 26 Dec 2007 20:04:19 PST</pubDate><guid isPermaLink="false">http://techbrew.net/articles/200712/high-tech-helpers-for-new-years-resolutions/</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<br/><p>Wondering if your New Years&#8217; resolutions will make it past February?  While there is no substitute for personal discipline and all that stuff, it is nice to have some help along the way.  Here are some ways that technology can make that resolution just a little bit easer to keep:</p>
<p><strong>G</strong><img src="http://techbrew.net/wp-content/uploads/2007/12/tour_share.png" alt="rtm" align="right" /><strong>et Things Done<br />
</strong></p>
<p>Do you just need help remembering all the stuff you didn&#8217; get around to last year?  Go no further than <a href="http://www.rememberthemilk.com/">Remember The Milk</a>.  This free service has it all:  To-do lists with calendering, email/SMS/RSS/instant message reminders, and integration with everything from the iPhone to Google homepages.</p>
<p>If you want to embrace hard-core efficiency, read <a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FGetting-Things-Done-Stress-Free-Productivity%2Fdp%2F0142000280%3Fie%3DUTF8%26s%3Dbooks%26qid%3D1198530986%26sr%3D1-1&amp;tag=techbrew-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325">Getting Things Done</a><img src="http://www.assoc-amazon.com/e/ir?t=techbrew-20&amp;l=ur2&amp;o=1" style="border: medium none  ! important; margin: 0px ! important" border="0" height="1" width="1" /> and then check out this <a href="http://www.priacta.com/Articles/Comparison_of_GTD_Software.php">list of GTD software tools</a>.  The list has both buyware and freeware for Palm, Pocket PC, Linux, and Windows.</p>
<p><strong>Get Fit</strong></p>
<p><img src="http://techbrew.net/wp-content/uploads/2007/12/ipodnike-2-080306.jpg" alt="nike ipod" align="right" />The coolest exercise gadget this year has to be the <a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FApple-MA365LL-B-Nike-Sport%2Fdp%2FB000JVFKH8%3Fie%3DUTF8%26s%3Delectronics%26qid%3D1198528812%26sr%3D8-1&amp;tag=techbrew-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325">Nike + iPod Sport Kit</a><img src="http://www.assoc-amazon.com/e/ir?t=techbrew-20&amp;l=ur2&amp;o=1" style="border: medium none  ! important; margin: 0px ! important" border="0" height="1" width="1" />. If you own a pair of Nikes that can accomodate a special sensor, this kit turns your iPod into a performance monitor and coach.  At $45, it beats buying a new treadmill.</p>
<p>Need help with a exercise program and fitness tracker?  Here is a <a href="http://www.fitwatch.com/tracker/tracker.php">Online Fiteness Tracker</a> that helps you manage both your diet and your exercise plan, monitoring nutrition, and creating weekly and monthly reports of your progress.  There is a <a href="http://www.fitwatch.com/fitnesstracker/register_free.php">free version</a> of this service as well.</p>
<p><img src="http://techbrew.net/wp-content/uploads/2007/12/polenta-beef.thumbnail.jpg" alt="polenta" align="right" /><strong>Eat Right</strong></p>
<p>Counting calories? If you have a personalized Google homepage, you can add this <a href="http://www.google.com/ig/adde?moduleurl=http://www.labpixies.com/campaigns/calories/calories.xml&amp;source=clha">Calorie Calculator widget</a>.  &#8220;Use the calorie calculator to see each meal&#8217;s calorie details and sum up your daily total. Use the settings to see your recommended average daily intake.&#8221;  If you want something more portable, try the <a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FRobi-Nutrition-NA62005F-Assistant-Calorie%2Fdp%2FB000ENOZ04%3Fie%3DUTF8%26s%3Delectronics%26qid%3D1198528073%26sr%3D8-6&amp;tag=techbrew-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325">Nutrition Assistant</a><img src="http://www.assoc-amazon.com/e/ir?t=techbrew-20&amp;l=ur2&amp;o=1" style="border: medium none  ! important; margin: 0px ! important" border="0" height="1" width="1" />.  Or if you own a Windows Mobile device here is a <a href="http://www.pocketpcmag.com/_archives/feb06/weightloss.aspx">roundup of diet software for smartphones</a>.</p>
<p>Need to completely overhaul your diet?  I personally recommend <a href="http://southbeachdiet.com">The South Beach Diet</a> website.  You get lots of tools to help shed the pounds, including a diet profile to track your progress, forums and diaries to share successes and struggles with like-minded people.  Best of all, it has a meal planner that lets you pick and print recipes, including a coalated shopping  list.  (If you pick four recipes that each call for a 1/4 cup of minced onion, for example, the shopping list will combine the amounts and let you know to buy a cup of mixed onion for that set.)</p>
<p><strong>Get Going!</strong></p>
<p>Good luck in 2008!  If you use any high-tech tools not listed here, drop a comment and let us know what works for you.  Happy New Year from TechBrew!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/techbrew?a=CpH3FQeHDVQ:Ce6MER-XD3s:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/techbrew?i=CpH3FQeHDVQ:Ce6MER-XD3s:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/techbrew?a=CpH3FQeHDVQ:Ce6MER-XD3s:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/techbrew?i=CpH3FQeHDVQ:Ce6MER-XD3s:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/techbrew?a=CpH3FQeHDVQ:Ce6MER-XD3s:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/techbrew?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/techbrew?a=CpH3FQeHDVQ:Ce6MER-XD3s:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/techbrew?i=CpH3FQeHDVQ:Ce6MER-XD3s:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/techbrew/~4/CpH3FQeHDVQ" height="1" width="1"/>]]></content:encoded><description>&lt;br/&gt;Wondering if your New Years&amp;#8217; resolutions will make it past February?  While there is no substitute for personal discipline and all that stuff, it is nice to have some help along the way.  Here are some ways that technology can make that resolution just a little bit easer to keep:
Get Things Done

Do you [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://techbrew.net/articles/200712/high-tech-helpers-for-new-years-resolutions/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">1</slash:comments><feedburner:origLink>http://techbrew.net/articles/200712/high-tech-helpers-for-new-years-resolutions/</feedburner:origLink></item><item><title>Free Ruby on Rails Book (limited time only)</title><link>http://feedproxy.google.com/~r/techbrew/~3/N1eC5RUnjsI/</link><category>News</category><category>rails</category><category>ruby</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mark Woodman</dc:creator><pubDate>Thu, 29 Nov 2007 10:14:51 PST</pubDate><guid isPermaLink="false">http://techbrew.net/articles/200711/free-ruby-on-rails-book-limited-time-only/</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![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>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/techbrew?a=N1eC5RUnjsI:QZelG1l4xlo:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/techbrew?i=N1eC5RUnjsI:QZelG1l4xlo:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/techbrew?a=N1eC5RUnjsI:QZelG1l4xlo:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/techbrew?i=N1eC5RUnjsI:QZelG1l4xlo:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/techbrew?a=N1eC5RUnjsI:QZelG1l4xlo:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/techbrew?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/techbrew?a=N1eC5RUnjsI:QZelG1l4xlo:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/techbrew?i=N1eC5RUnjsI:QZelG1l4xlo:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/techbrew/~4/N1eC5RUnjsI" height="1" width="1"/>]]></content:encoded><description>&lt;br/&gt;If you&amp;#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 &amp;#8220;Build Your Own Ruby on Rails Web Applications&amp;#8221; through the end of the month of November.   All you need to do is provide an email address and they&amp;#8217;ll [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://techbrew.net/articles/200711/free-ruby-on-rails-book-limited-time-only/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">1</slash:comments><feedburner:origLink>http://techbrew.net/articles/200711/free-ruby-on-rails-book-limited-time-only/</feedburner:origLink></item><item><title>How to put IntelliJ IDEA on Ubuntu</title><link>http://feedproxy.google.com/~r/techbrew/~3/0Z1_66QGkS4/</link><category>How-To</category><category>code</category><category>ide</category><category>intellij</category><category>java</category><category>linux</category><category>ubuntu</category><category>xubuntu</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mark Woodman</dc:creator><pubDate>Wed, 28 Nov 2007 08:49:11 PST</pubDate><guid isPermaLink="false">http://techbrew.net/articles/200711/how-to-put-intellij-idea-on-ubuntu/</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<br/><p><img src="http://techbrew.net/wp-content/uploads/2007/11/idea.jpg" alt="IntelliJ IDEA" align="right" />I&#8217;ve been a user of the excellent <a href="http://www.jetbrains.com/idea/">IntelliJ Java IDE</a> for 4 years on Windows. Even though the official Linux support by JetBrains is only for RedHat, you can also install IntelliJ fairly easily on <a href="http://www.ubuntu.com/">Ubuntu</a>.   I&#8217;ve tested this with <a href="http://www.xubuntu.org/">Xubunto</a> 7.10 (Gutsy), <a href="http://java.sun.com/javase/6/">Java 6</a>, and IntelliJ 7.  Here&#8217;s how to do it in four basic steps:</p>
<p><strong>1) Get Java </strong></p>
<p>Install the Java 6 JDK, which IDEA itself needs to run. (You can have other JDKs for your projects, but you&#8217;ll need this one to run IntelliJ itself.) For example, type this in a terminal:</p>
<pre>sudo apt-get install sun-java6-jdk</pre>
<p>Follow the prompts for root password, download confirmation, and eventually the Sun EULA to install Java itself. If it installed successfully, you should be able to type this at a prompt:</p>
<pre>java -version</pre>
<p>&#8230; to get several lines telling you the version of Java you have installed. If this doesn&#8217;t work, refer to Sun&#8217;s documentation on troubleshooting installations.</p>
<p><strong>2) Get IntelliJ IDEA </strong></p>
<p>Download the latest version of IntelliJ IDEA for Linux:</p>
<p><a href="http://www.jetbrains.com/idea/download/index.html#linux">http://www.jetbrains.com/idea/download/index.html#linux</a></p>
<p>Once the download is finished, extract the archive using the correct filename according to your download. For example, to install IntelliJ in <em>/usr/lib</em>, do the following:</p>
<pre><span>tar xfz idea-7.0.1.tar.gz ./usr/lib/</span></pre>
<p>The IntelliJ installation will now be in a subdirectory indicating the build number, in the format &#8220;idea-xxxx&#8221;. In the case of IDEA 7.0.1, the app directory is &#8220;<em>idea-7364</em>&#8220;. (Once the extraction is done, you can delete the downloaded archive to conserve disk space if needed.)</p>
<p><strong>3) Get Environmental </strong></p>
<p>There are a couple of environment variables to be taken care of. First, you need to set a new environment variable that tells IntelliJ where your install of Java is. For example:</p>
<pre>export JDK_HOME="/usr/lib/jvm/java-6-sun/"</pre>
<p>Use the &#8220;<em>env</em>&#8221; command, or just &#8220;<em>echo $JDK_HOME</em>&#8220;, to verify the variable is set.</p>
<p>Next, you&#8217;ll need to edit <em>/etc/environment</em> with superuser rights in the editor of your choice, adding the <em>idea-xxxx/bin</em> directory to your <em>PATH</em> variable. For example, you can edit the environment with the GUI mousepad editor like so:</p>
<pre>sudo mousepad /etc/environment</pre>
<p>The various directories in the environment PATH variable are delineated by colons (:). Append the current value (inside the quotes) with a new colon and then add the <em>idea-xxxx/bin</em> location. It should look something like this:</p>
<pre>PATH="/usr/local/sbin:/usr/local/bin:/usr/lib/idea-7364/bin"</pre>
<p>Save and close the environment file. You&#8217;ll need to &#8220;source&#8221; it for your system to pick up the new directory in the PATH. You can verify your changes by echoing the variable as well:</p>
<pre>source /etc/environment</pre>
<pre>echo $PATH</pre>
<p>If you see the path to IntelliJ returned in the output, you&#8217;re all set.</p>
<p>Lastly, you may want to change the VM settings of IntelliJ. This depends entirely on your project size and other factors, so you&#8217;ll need to base these settings on your own need. The settings are in <em>idea-xxx/bin/idea.vmoptions</em>.</p>
<p><strong>4) Get Started!</strong></p>
<p>That&#8217;s it.  Now you can run &#8220;<em>idea.sh</em>&#8221; from a terminal in any directory, and IntelliJ should launch&#8230;</p>
<pre>idea.sh</pre>
<p>If you run into problems, be sure to double-check the readme files in the installation directory.</p>
<p><strong>Give Back</strong></p>
<p>If this article proved useful to you, please drop us a comment and let us know.  Or, if you find problems/alternate solutions along the way, please share them for the benefit of others.  Thanks and happy coding!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/techbrew?a=0Z1_66QGkS4:m7Hn68FReJ0:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/techbrew?i=0Z1_66QGkS4:m7Hn68FReJ0:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/techbrew?a=0Z1_66QGkS4:m7Hn68FReJ0:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/techbrew?i=0Z1_66QGkS4:m7Hn68FReJ0:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/techbrew?a=0Z1_66QGkS4:m7Hn68FReJ0:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/techbrew?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/techbrew?a=0Z1_66QGkS4:m7Hn68FReJ0:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/techbrew?i=0Z1_66QGkS4:m7Hn68FReJ0:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/techbrew/~4/0Z1_66QGkS4" height="1" width="1"/>]]></content:encoded><description>&lt;br/&gt;I&amp;#8217;ve been a user of the excellent IntelliJ Java IDE for 4 years on Windows. Even though the official Linux support by JetBrains is only for RedHat, you can also install IntelliJ fairly easily on Ubuntu.   I&amp;#8217;ve tested this with Xubunto 7.10 (Gutsy), Java 6, and IntelliJ 7.  Here&amp;#8217;s how to do [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://techbrew.net/articles/200711/how-to-put-intellij-idea-on-ubuntu/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">17</slash:comments><feedburner:origLink>http://techbrew.net/articles/200711/how-to-put-intellij-idea-on-ubuntu/</feedburner:origLink></item><item><title>Go Mobile with Mogul</title><link>http://feedproxy.google.com/~r/techbrew/~3/OSw958UKUy4/</link><category>Opinion</category><category>htc</category><category>iphone</category><category>mobile</category><category>mogul</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mark Woodman</dc:creator><pubDate>Sat, 24 Nov 2007 21:33:24 PST</pubDate><guid isPermaLink="false">http://techbrew.net/articles/200711/go-mobile-with-mogul/</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<br/><p><iframe src="http://rcm.amazon.com/e/cm?t=techbrew-20&amp;o=1&amp;p=8&amp;l=as1&amp;asins=B000UV36KA&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr" style="width: 120px; height: 240px" marginwidth="0" marginheight="0" align="right" frameborder="0" scrolling="no"></iframe>My mobile phone was getting a little long in the tooth, so I&#8217;ve been researching phones for a few months.  As tempting as the iPhone is, I didn&#8217;t want to switch to AT&amp;T.   A couple of weeks ago I took the plunge and bought the <a href="http://www.phonescoop.com/phones/phone.php?p=1142">HTC Mogul</a> instead.</p>
<p>Here are the highlights that made the Mogul a perfect package:</p>
<ul>
<li><strong>Slide-out full keyboard</strong>.  I&#8217;m ham-fisted when it comes to tiny buttons, so having more keyboard real-estate than a Blackberry is a big win with me.</li>
<li><strong>Touch screen</strong>. You can use fingers or a stylus, the latter of which tucks into the phone shell. When you&#8217;re using IE or the Google Maps, the touch-screen functionality is indispensable.  The on-screen dialing has nice big fat virtual buttons if you don&#8217;t want to use the stylus.</li>
<li><strong>Scroll-wheel</strong>.  The wheel on the side is right where your index finger or thumb holds the phone, depending on which hand has the phone.  If you use your mouse scroll wheel on your PC, you&#8217;ll instantly know why this is such a great little feature.  It makes scrolling window panes or ripping through contact lists simply effortless.</li>
<li><strong>Wifi</strong>.  If you have wifi at home, work, or lunch, you can get a pretty good connection and completely bypass your wireless plan&#8217;s data transfer restrictions.</li>
<li><strong>Windows Mobile 6.</strong> Since the Mogul has a touch screen, you get the full WM6 functionality rather than the rather disappointing &#8220;smart phone&#8221; variant.
<ul>
<li>With Microsoft Office mobile, Internet Explorer, and Outlook, you are carrying around a portable PC. I&#8217;m no Microsoft fanboy, but they sure come in handy.</li>
<li>Outlook Express Mobile makes it really easy to tap into my Gmail account with full IMAP support.</li>
<li>WM6 also gives you lots of flexibility when it comes to skinning the UI, ringtones, etc. Since you can turn any audio file into a ringtone, gone are the days of paying to download them from your service provider.</li>
</ul>
</li>
<li><strong>Easy software development</strong>. WM6 has free <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=38C46AA8-1DD7-426F-A913-4F370A65A582&amp;displaylang=en">emulators</a> and .NET <a href="http://www.microsoft.com/downloads/details.aspx?familyid=06111a3a-a651-4745-88ef-3d48091a390b&amp;displaylang=en">SDK</a> support.   This is a much nicer development platform than many phones give you.</li>
<li>Oh, yeah, it&#8217;s also a <strong>phone</strong>!  The sound quality is solid and it supports stereo bluetooth headsets.</li>
</ul>
<p>The Mogul runs on the Alltel, Qwest and <a href="http://www.amazon.com/gp/product/B000UV36KA?ie=UTF8&amp;tag=techbrew-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=B000UV36KA">Sprint</a><img src="http://www.assoc-amazon.com/e/ir?t=techbrew-20&amp;l=as2&amp;o=1&amp;a=B000UV36KA" style="border: medium none  ! important; margin: 0px ! important" border="0" height="1" width="1" /> networks, and a friend tells me that Verizon will be offering it next month as well.</p>
<p>If you&#8217;re looking for a new phone and the iPhone isn&#8217;t a good fit for you, I highly recommend this one.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/techbrew?a=OSw958UKUy4:9nvoCJ_8MY8:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/techbrew?i=OSw958UKUy4:9nvoCJ_8MY8:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/techbrew?a=OSw958UKUy4:9nvoCJ_8MY8:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/techbrew?i=OSw958UKUy4:9nvoCJ_8MY8:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/techbrew?a=OSw958UKUy4:9nvoCJ_8MY8:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/techbrew?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/techbrew?a=OSw958UKUy4:9nvoCJ_8MY8:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/techbrew?i=OSw958UKUy4:9nvoCJ_8MY8:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/techbrew/~4/OSw958UKUy4" height="1" width="1"/>]]></content:encoded><description>&lt;br/&gt;My mobile phone was getting a little long in the tooth, so I&amp;#8217;ve been researching phones for a few months.  As tempting as the iPhone is, I didn&amp;#8217;t want to switch to AT&amp;#38;T.   A couple of weeks ago I took the plunge and bought the HTC Mogul instead.
Here are the highlights that [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://techbrew.net/articles/200711/go-mobile-with-mogul/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><feedburner:origLink>http://techbrew.net/articles/200711/go-mobile-with-mogul/</feedburner:origLink></item><item><title>Are You Readable? Find Out with Your Feed</title><link>http://feedproxy.google.com/~r/techbrew/~3/zGUUQ4T84sA/</link><category>411</category><category>Feeds</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mark Woodman</dc:creator><pubDate>Wed, 14 Nov 2007 07:00:21 PST</pubDate><guid isPermaLink="false">http://techbrew.net/articles/200711/using-feeds-to-discover-human-readability/</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<br/><p><a href="http://flickr.com/photos/yuh/1169629452/" title="Great Writer in Action! by YuH"><img src="http://techbrew.net/wp-content/uploads/2007/11/writer.jpg" alt="Great Writer in Action! by YuH" align="right" border="0" /></a>The literary world &#8211; especially academics &#8211; has a number of <em>readability metrics</em> that show how &#8220;hard&#8221; a given work is to read in English.    If you are a writer, these metrics can give you a pretty good swag at how easy it will be for people to read your work.</p>
<p>In this article, I&#8217;ll show you a very simple way to gauge your own readability by using your RSS or Atom feed.  (I&#8217;ll also talk about a fun way to analyze the word-smithing prowess of your readers.)</p>
<p><strong>Qualitative Wordsmithing </strong></p>
<p>Readability metrics use factors like words per sentence, multisyllabic frequency, and so on.  These are three of the more common ones:</p>
<ul>
<li><strong> Flesch Reading Ease</strong>:  Measures sentence structure and complexity to determine how easy it is to read without stopping and re-reading, etc.  Higher is better, but between 60 and 70 is a good score.</li>
<li><strong>Flesch-Kincaid Grade</strong>:  What grade of school you will have needed to complete to handle the writing style and structure.  Needless to say, this doesn&#8217;t reflect subject matter.   A score of 5 that deals with quantum mechanics will only apply to 5th graders who already understand quantum mechanics. A score of 17 is something best left to grad students, who will probably curse you for it.</li>
<li><strong>Gunning Fog</strong>:  Measures the obfuscation of meaning; the lower the number, the better.  TV Guide is a 6.  Government cover-ups and legal papers score 20 to 30.</li>
</ul>
<p><strong>Online Tool Time </strong></p>
<p><img src="http://techbrew.net/wp-content/uploads/2007/11/logo1.gif" alt="Juicy Studio Logo" align="right" />Running the stats for these metrics by hand isn&#8217;t something a human needs to do.  There are several online tools that will analyze your website/blog and give you readability scores.  My personal favorite is the <a href="http://juicystudio.com/services/readability.php">Readability Test by Juicy Studio</a>.</p>
<p>The problem with such tools is that they only look at your homepage, so the results are skewed by static content like navigation or &#8220;About Us&#8221; blurbs.   They are also &#8211; in most cases &#8211; only getting a small working set of articles to score.  If you have reader comments showing up on your home page, that content will change your score as well.</p>
<p>The fact of the matter is that you probably don&#8217;t want to analyze your homepage, you really want to measure the readability of your content.   There&#8217;s good news here: although the online tools like the one by Juicy Studio were intended to analyze web pages, they can be used in a much more powerful way.</p>
<p><strong>The Feed Shows How You Read </strong></p>
<p>Here&#8217;s a easy way to get better scores without static content interference and with more content to analyze:  <u>Use your full-text RSS or Atom feed URL instead.</u></p>
<p>The online readability tools are designed to ignore HTML markup, so they happily ignore the XML markup in RSS or Atom as well.  That leaves you with a pretty high ratio of real content to be scored.  Most feeds have 10 or 20 items in them, which is way more content than is on the typical home page.</p>
<p>The main caveat here is that you need to publish a <a href="http://techdirt.com/articles/20070813/014338.shtml">full-text feed</a> to get a realistic score.  A smaller caveat is that some feed configurations will duplicate the content (partial text and full text in the same feed item), but that won&#8217;t have much effect.</p>
<p>For example, The Juicy Studio tool scores the TechBrew site and feed with these differences:<br />
<center></p>
<table border="0" cellspacing="5">
<tr>
<th>TechBrew.net Homepage</th>
<th></th>
<th>TechBrew.net RSS Feed</th>
</tr>
<tr>
<td>Total sentences: 134<br />
Total words: 715<br />
Gunning Fog Index: 7.73<br />
Flesch Reading Ease:  67.72<br />
Flesch-Kincaid Grade: 5.14<br />
<hr /></td>
<td></td>
<td>Total sentences: 649<br />
Total words: 6649<br />
Gunning Fog Index: 9.84<br />
Flesch Reading Ease: 67.34<br />
Flesch-Kincaid Grade: 6.41<br />
<hr /></td>
</tr>
</table>
<p></center></p>
<p align="left"> As you can see, the feed provides a much larger sample of content.  I&#8217;m pleased to note the Flesch Reading Ease scores are consistent, but it would appear that you&#8217;ll need to be nearly in 7th grade to be a happy subscriber.   (For an explanation of the scores, go back to the top of this article.  You skimmer.)</p>
<p align="left"><strong>Trolling for Comments </strong></p>
<p align="left">Less practical but more fun is when you use this same technique on a website&#8217;s comment feed.   Many blogs provide an RSS or Atom feed of just posted comments.  That feed provides a unique &#8211; but admittedly not very sophisticated &#8211; way to measure the sophistication (or obfuscation) of a site&#8217;s reader base.</p>
<p>For example, here are the Flesch-Kincaid Grade for the reader comments at some well-known sites:</p>
<ul>
<li><a href="http://scobleizer.com/">Robert Scoble</a>:  5.70</li>
<li><a href="http://TechBrew.net">TechBrew.net</a>: 4.81</li>
<li><a href="http://techcrunch.com">TechCrunch</a>: 4.56</li>
<li><a href="http://gizmodo.com">Gizmodo</a>: 2.99</li>
</ul>
<p>I&#8217;ll let you draw your own conclusions on this one.</p>
<p><strong>Word Power: Better Readability, Next Time </strong></p>
<p><a href="http://techbrew.net/wp-content/uploads/2007/11/readability.png" title="readability.png"><img src="http://techbrew.net/wp-content/uploads/2007/11/readability.thumbnail.png" alt="readability.png" align="right" /></a>I&#8217;ll conclude with a practical tip:  Take a look at your own feed and check out your scores.  You may see something you&#8217;d like to improve.</p>
<p>If you have Microsoft Word, you&#8217;ve actually got a nice set of readability metrics right at your fingertips.  Use Tools &gt; Options and in the &#8220;Spelling and Grammar&#8221; tab check the &#8220;Show Readability Statistics&#8221; box.   (The grammar and style checks are also pretty thorough, if you can stomach them.)  Whenever you finish your spellcheck, a Readability Statistics dialog will show you your stats.   (Click the image to the right to see a larger sample.)</p>
<p>Happy editing!</p>
<p align="center"><em>&#8220;Half my life is an act of revision.&#8221; &#8211; John Irving</em></p>
<p align="left"><strong>Nov 14, 2007 Update</strong>:  Revised to improve flow.  I had to eat my own dogfood on this one.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/techbrew?a=zGUUQ4T84sA:545uarEq6dY:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/techbrew?i=zGUUQ4T84sA:545uarEq6dY:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/techbrew?a=zGUUQ4T84sA:545uarEq6dY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/techbrew?i=zGUUQ4T84sA:545uarEq6dY:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/techbrew?a=zGUUQ4T84sA:545uarEq6dY:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/techbrew?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/techbrew?a=zGUUQ4T84sA:545uarEq6dY:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/techbrew?i=zGUUQ4T84sA:545uarEq6dY:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/techbrew/~4/zGUUQ4T84sA" height="1" width="1"/>]]></content:encoded><description>&lt;br/&gt;The literary world &amp;#8211; especially academics &amp;#8211; has a number of readability metrics that show how &amp;#8220;hard&amp;#8221; a given work is to read in English.    If you are a writer, these metrics can give you a pretty good swag at how easy it will be for people to read your work.
In this [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://techbrew.net/articles/200711/using-feeds-to-discover-human-readability/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">6</slash:comments><feedburner:origLink>http://techbrew.net/articles/200711/using-feeds-to-discover-human-readability/</feedburner:origLink></item><item><title>Atom Compliance Shows XML Parsing is Still a Mess</title><link>http://feedproxy.google.com/~r/techbrew/~3/NSIvSr74x9k/</link><category>Feeds</category><category>News</category><category>Opinion</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mark Woodman</dc:creator><pubDate>Mon, 12 Nov 2007 11:56:02 PST</pubDate><guid isPermaLink="false">http://techbrew.net/articles/200711/atom-compliance-shows-xml-parsing-is-still-a-mess/</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![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>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/techbrew?a=NSIvSr74x9k:e9awNC71Xas:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/techbrew?i=NSIvSr74x9k:e9awNC71Xas:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/techbrew?a=NSIvSr74x9k:e9awNC71Xas:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/techbrew?i=NSIvSr74x9k:e9awNC71Xas:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/techbrew?a=NSIvSr74x9k:e9awNC71Xas:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/techbrew?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/techbrew?a=NSIvSr74x9k:e9awNC71Xas:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/techbrew?i=NSIvSr74x9k:e9awNC71Xas:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/techbrew/~4/NSIvSr74x9k" height="1" width="1"/>]]></content:encoded><description>&lt;br/&gt;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:
&amp;#8230;Matters havenâ€™t improved much since this issue was first discussed nearly two years ago.
&amp;#8230; Of the thirty-odd products I tested, ten 2 were incapable of subscribing to [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://techbrew.net/articles/200711/atom-compliance-shows-xml-parsing-is-still-a-mess/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><feedburner:origLink>http://techbrew.net/articles/200711/atom-compliance-shows-xml-parsing-is-still-a-mess/</feedburner:origLink></item></channel></rss>
