<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule">

<channel>
	<title>Dan Siemon &#187; Web</title>
	<atom:link href="http://www.coverfire.com/archives/tag/web/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.coverfire.com</link>
	<description>Thoughts and musings</description>
	<lastBuildDate>Sun, 05 Feb 2012 18:33:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<creativeCommons:license>http://creativecommons.org/licenses/by-sa/2.5/ca/</creativeCommons:license>		<item>
		<title>Canadian podcasts</title>
		<link>http://www.coverfire.com/archives/2008/01/27/canadian-podcasts/</link>
		<comments>http://www.coverfire.com/archives/2008/01/27/canadian-podcasts/#comments</comments>
		<pubDate>Sun, 27 Jan 2008 18:01:46 +0000</pubDate>
		<dc:creator>Dan Siemon</dc:creator>
				<category><![CDATA[Canada]]></category>
		<category><![CDATA[Podcasts]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.coverfire.com/archives/2008/01/27/canadian-podcasts/</guid>
		<description><![CDATA[Sometimes our government surprises me. The Government of Canada has created a list of Canadian podcasts.]]></description>
			<content:encoded><![CDATA[<p>Sometimes our government surprises me. The Government of Canada has created a list of <a href="http://podcasts.culture.ca/explore" title="Canadian podcasts">Canadian podcasts</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.coverfire.com/archives/2008/01/27/canadian-podcasts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The XMPP snowball is speeding up</title>
		<link>http://www.coverfire.com/archives/2008/01/26/the-xmpp-snowball-is-speeding-up/</link>
		<comments>http://www.coverfire.com/archives/2008/01/26/the-xmpp-snowball-is-speeding-up/#comments</comments>
		<pubDate>Sat, 26 Jan 2008 04:12:13 +0000</pubDate>
		<dc:creator>Dan Siemon</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.coverfire.com/archives/2008/01/26/the-xmpp-snowball-is-speeding-up/</guid>
		<description><![CDATA[More and more of the tech community seems to be talking about XMPP and how it fits into the future of the Internet. One example: XMPP (a.k.a. Jabber) is the future for cloud services]]></description>
			<content:encoded><![CDATA[<p>More and more of the tech community seems to be talking about <a href="http://www.xmpp.org/" title="XMPP">XMPP</a> and how it fits into the future of the Internet.</p>
<p>One example: <a href="http://www.jivesoftware.com/community/blogs/jivetalks/2008/01/24/xmpp-aka-jabber-is-the-future-for-cloud-services#">XMPP (a.k.a. Jabber) is the future for cloud services</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.coverfire.com/archives/2008/01/26/the-xmpp-snowball-is-speeding-up/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CBC&#8217;s Spark and Search Engine</title>
		<link>http://www.coverfire.com/archives/2008/01/20/cbcs-spark-and-search-engine/</link>
		<comments>http://www.coverfire.com/archives/2008/01/20/cbcs-spark-and-search-engine/#comments</comments>
		<pubDate>Sun, 20 Jan 2008 22:16:57 +0000</pubDate>
		<dc:creator>Dan Siemon</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.coverfire.com/archives/2008/01/20/cbcs-spark-and-search-engine/</guid>
		<description><![CDATA[CBC has been doing a fantastic job of making most of its programming available as podcasts. More recently, CBC has also upped their Internet cool factor by adding two excellent new shows: Spark and Search Engine. Both of these shows &#8230; <a href="http://www.coverfire.com/archives/2008/01/20/cbcs-spark-and-search-engine/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.cbc.ca" title="CBC">CBC</a> has been doing a fantastic job of making most of its programming available as <a href="http://www.cbc.ca/podcasting/" title="CBC Podcasts">podcasts</a>. More recently, CBC has also upped their Internet cool factor by adding two excellent new shows: <a href="http://www.cbc.ca/spark/" title="CBC Spark">Spark</a> and <a href="http://www.cbc.ca/searchengine/" title="CBC Search Engine">Search Engine</a>.</p>
<p>Both of these shows cover the interaction of technology and the Internet with society in general. Topics range from intelligent and interesting discussion of the forthcoming Canadian copyright changes to the funeral of a main frame computer, and more recently the applicability of the publication ban laws in the presence of blogs and social networks sites such as Facebook.</p>
<p>What is really unique about Search Engine and Spark though is how far they go to integrate the show into the web; or maybe it&#8217;s the other way around. Both shows make extensive use of their websites for listener feedback and to look for new story ideas. If this doesn&#8217;t seem particularly novel take note of how much these shows try to integrate &#8216;blog culture&#8217;. Search Engine starts each episode with keywords like a blog post. All of the music used on Spark is <a href="http://www.creativecommons.org" title="Creative Commons">Creative Commons</a> licensed and linked from the show&#8217;s website. Most importantly both shows sound very personal. Almost like an audio version of a blog post at times.</p>
<p>On a final note, these are not geek shows. If you read blogs or publish your own or use Facebook regularly you are likely to get something out of each episode.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.coverfire.com/archives/2008/01/20/cbcs-spark-and-search-engine/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A Preview of HTML 5</title>
		<link>http://www.coverfire.com/archives/2007/12/09/a-preview-of-html-5/</link>
		<comments>http://www.coverfire.com/archives/2007/12/09/a-preview-of-html-5/#comments</comments>
		<pubDate>Sun, 09 Dec 2007 21:02:59 +0000</pubDate>
		<dc:creator>Dan Siemon</dc:creator>
				<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.coverfire.com/archives/2007/12/09/a-preview-of-html-5/</guid>
		<description><![CDATA[A Preview of HTML 5 gives a quick overview of some of the new features being worked on as part of HTML5. Especially interesting is the fact that HTML5 is being developed based on the DOM representation not the syntax &#8230; <a href="http://www.coverfire.com/archives/2007/12/09/a-preview-of-html-5/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.alistapart.com/articles/previewofhtml5">A Preview of HTML 5</a> gives a quick overview of some of the new features being worked on as part of<a href="http://www.whatwg.org/specs/web-apps/current-work/" title="HTML5 draft"> HTML5</a>. Especially interesting is the fact that HTML5 is being developed based on the <a href="http://www.w3.org/DOM/" title="DOM">DOM</a> representation not the syntax as was done with previous versions of the standard. Also, two serializations, HTML and xHTML will be supported.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.coverfire.com/archives/2007/12/09/a-preview-of-html-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Social Graph</title>
		<link>http://www.coverfire.com/archives/2007/09/24/the-social-graph/</link>
		<comments>http://www.coverfire.com/archives/2007/09/24/the-social-graph/#comments</comments>
		<pubDate>Tue, 25 Sep 2007 02:08:28 +0000</pubDate>
		<dc:creator>Dan Siemon</dc:creator>
				<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.coverfire.com/archives/2007/09/24/the-social-graph/</guid>
		<description><![CDATA[I&#8217;ve been thinking about the social graph (though not by that name) for a little while now. It seems I am not the only one. My interest in this area comes from my dislike of walled gardens such as Facebook &#8230; <a href="http://www.coverfire.com/archives/2007/09/24/the-social-graph/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been thinking about the social graph (though not by that name) for a little while now.  It seems I am not the only one. My interest in this area comes from my dislike of walled gardens such as Facebook (which I have still been able to avoid joining despite the peer pressure).</p>
<p>Here are a few interesting links.</p>
<p><a href="http://bradfitz.com/social-graph-problem/" title="Thoughts on the Social Graph">Thoughts on the Social Graph</a><br />
<a href="http://radar.oreilly.com/archives/2007/02/social_network_1.html">Social Network Fatigue and the Missing Web 2.0 Address Book</a><br />
<a href="http://radar.oreilly.com/archives/2007/08/opening_up_the.html">Opening up the Social Network Graph</a><br />
<a href="http://radar.oreilly.com/archives/2007/09/using_open_stan.html">Using Open Standards to Free the Social Graph</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.coverfire.com/archives/2007/09/24/the-social-graph/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SVG demo</title>
		<link>http://www.coverfire.com/archives/2007/08/18/svg-demo/</link>
		<comments>http://www.coverfire.com/archives/2007/08/18/svg-demo/#comments</comments>
		<pubDate>Sat, 18 Aug 2007 19:51:33 +0000</pubDate>
		<dc:creator>Dan Siemon</dc:creator>
				<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.coverfire.com/archives/2007/08/18/svg-demo/</guid>
		<description><![CDATA[If you are running Firefox (no idea what other browsers this works with) take a moment to play around with photos.svg. This is a reimplementation of one of the Microsoft Silverlight demos using SVG and Javascript. It may be slightly &#8230; <a href="http://www.coverfire.com/archives/2007/08/18/svg-demo/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>If you are running Firefox (no idea what other browsers this works with) take a moment to play around with <a href="http://people.mozilla.com/~vladimir/demos/photos.svg" title="Javascript and SVG demo">photos.svg</a>.  This is a reimplementation of one of the Microsoft <a href="http://silverlight.net/" title="Silverlight">Silverlight</a> demos using <a href="http://www.w3.org/Graphics/SVG/" title="SVG">SVG</a> and Javascript. It may be slightly slow but I think many people will be surprised that this level of interactivity can be accomplished on a  web page.</p>
<p>After you are done playing with the above take a look at the <a href="http://www.bluishcoder.co.nz/2007/08/svg-video-demo.html" title="SVG Video Demo">SVG video demo</a>. It is basically the same demo as above but has movies playing instead of static pictures.  Unless you run a development version of Firefox you&#8217;ll just have to watch the videos.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.coverfire.com/archives/2007/08/18/svg-demo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jabber/XMPP pubsub</title>
		<link>http://www.coverfire.com/archives/2006/04/25/jabberxmpp-pubsub/</link>
		<comments>http://www.coverfire.com/archives/2006/04/25/jabberxmpp-pubsub/#comments</comments>
		<pubDate>Wed, 26 Apr 2006 02:19:22 +0000</pubDate>
		<dc:creator>Dan Siemon</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.coverfire.com/archives/2006/04/25/jabberxmpp-pubsub/</guid>
		<description><![CDATA[Most people who know about Jabber/XMPP think of it as an instant messaging platform. Of course, that is the primary use for Jabber at present but that may not always be the case. The Jabber/XMPP network forms an XML based &#8230; <a href="http://www.coverfire.com/archives/2006/04/25/jabberxmpp-pubsub/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Most people who know about <a title="Jabber" href="http://www.jabber.org">Jabber/XMPP</a> think of it as an instant messaging platform.  Of course, that is the primary use for Jabber at present but that may not always be the case.</p>
<p>The Jabber/XMPP network forms an XML based overlay network. Each message or packet of information carried by this overlay network is an XML stanza.   You can think of Jabber <a title="Jabber servers" href="http://www.jabber.org/software/servers.shtml">servers</a> as being XML routers and the <a title="Jabber clients" href="http://www.jabber.org/software/clients.shtml">clients</a> as end nodes.  In fact, the instant messaging portions of the XMPP standards are defined in a separate RFC from the core XML streaming technology (<a title="RFC 3920" href="http://www.ietf.org/rfc/rfc3920.txt">RFC 3920</a>, <a title="RFC 3921" href="http://www.ietf.org/rfc/rfc3921.txt">RFC 3921</a>).</p>
<p>One example of a non-IM use of Jabber is defined in <a title="JEP-0072" href="http://www.jabber.org/jeps/jep-0072.html">JEP-0072: SOAP over XMPP</a>.  This document specifies how <a title="SOAP" href="http://en.wikipedia.org/wiki/SOAP">SOAP</a>, which is normally used with HTTP to form web services, can be carried on top of Jabber/XMPP.</p>
<p>Another interesting non-IM use of Jabber comes from <a title="JEP-0060" href="http://www.jabber.org/jeps/jep-0060.html">JEP-0060: Publish-Subscribe</a> (aka pubsub).   Pubsub is basically an event notification system that runs on top of Jabber/XMPP.  In pubsub, a user publishes some XML data to a Jabber server which supports JEP-0060.  Other users are then able to &#8220;subscribe&#8221; to this node.  Whenever the node changes, a notification will be sent to all subscribed users.</p>
<p>There are lots of interesting things that could be done with pubsub.  Off hand, here are a few of examples:</p>
<ul>
<li>You want to checkout a book from the local Library.  Unfortunately, someone else already has the book.  In order to find out when the book has been returned, you subscribe to the node that represents that book on the library&#8217;s pubsub server.  Once the book is returned you will know instantly.</li>
<li>You plan on purchasing a large, expensive TV in the near future.  Rather than manually looking at the websites for several major retailers every few days, you subscribe to the pubsub node at each retailer for the particular TV model you are interested in.  If any of the retailers have a sale, you find out instantly.</li>
<li>If like many people you use a RSS reader to keep up with new posts on your favourite blogs, you know that RSS readers periodically poll all feeds on your list.  Often there are no new posts and this polling is a waste of resources.  Instead, a pubsub enabled blog could notify interested readers of a new post.  Not only do you find out about the new post sooner, network resources are saved.</li>
</ul>
<p>In all of the above examples, subscribing to the particular pubsub node could be as simple as clicking on a link (<a title="JEP-0147" href="http://www.jabber.org/jeps/jep-0147.html">JEP-0147: XMPP URI Scheme Query Components</a>).</p>
<p>Also interesting is <a title="JEP-0163" href="http://www.jabber.org/jeps/jep-0163.html">JEP-0163: Personal Eventing Protocol</a> which defines a subset of the full pubsub (JEP-0060) specification which can be used for simpler instant messaging related tasks such as providing current geographic location information (<a title="JEP-0080" href="http://www.jabber.org/jeps/jep-0080.html">JEP-0080: User Geolocation</a>) or providing contacts with information about the music you are currently listening too (<a title="JEP-0118" href="http://www.jabber.org/jeps/jep-0118.html">JEP-0118: User Tune</a>).</p>
<p>It will be interesting to see how pubsub will be integrated into other network applications such as RSS readers and Jabber IM clients.  It seems likely that pubsub notifications will be handled either by a Jabber client separate from the one that is used for IM or at least the Jabber IM client will have to distinguish these events from normal IM traffic.</p>
<p>For a nice overview of pubsub (with pretty pictures) see <a title="All About Pubsub" href="http://www.jivesoftware.org/articles/pubsub.jsp">Jive Software: All About Pubsub</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.coverfire.com/archives/2006/04/25/jabberxmpp-pubsub/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Blogs, search engines and WordPress</title>
		<link>http://www.coverfire.com/archives/2006/03/26/blogs-and-search-engines-and-wordpress/</link>
		<comments>http://www.coverfire.com/archives/2006/03/26/blogs-and-search-engines-and-wordpress/#comments</comments>
		<pubDate>Sun, 26 Mar 2006 21:53:43 +0000</pubDate>
		<dc:creator>Dan Siemon</dc:creator>
				<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.coverfire.com/archives/2006/03/26/blogs-and-search-engines-and-wordpress/</guid>
		<description><![CDATA[One problem with the blog format is that the same content can show up on several URLs. This content layout is nice for humans. In the case of my blog, the same post content can show up on the main &#8230; <a href="http://www.coverfire.com/archives/2006/03/26/blogs-and-search-engines-and-wordpress/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>One problem with the blog format is that the same content can show up on several URLs.  This content layout is nice for humans.  In the case of my blog, the same post content can show up on <a title="coverfire.com" href="http://www.coverfire.com">the main page</a>, <a title="coverfire.com category Linux" href="http://www.coverfire.com/catagories/linux/">a category URL</a> and <a title="coverfire.com archive URL" href="http://www.coverfire.com/archives/2006/03/">an archive URL</a>.</p>
<p>Unfortunately, what is convenient for humans is not so good for search engines.  There are two aspects of the standard blog format which cause search engine problems.  The first is the dynamic nature of some blog URLs.  Consider the main page of an active blog.  Most only show about ten posts; older posts are removed as newer ones are created.  Often this results in a particular URL not containing the content the search engine thinks it does.  Personally, I find this incredibly annoying since I often have to search the site using a local search engine after Google has directed me to the main page of a blog.  The second problem of the blog format with respect to search engines is that some URLs, like a category URL, contain many posts which are not directly related to a particular search.  This results in having to search the page with the browser&#8217;s find function after the search engine gets you there.</p>
<p>Both of these problems have been annoying me for some time now.  So today I did a little digging.  Fortunately there is a solution, the <a title="The robots meta tag" href="http://www.robotstxt.org/wc/meta-user.html">robots meta tag</a>.  This tag specifies, on a page by page basis, whether or not the content on the current page should be indexed by the search engine and if links on the current page should be followed.</p>
<p>The solution then, is simple.  URLs which contain multiple posts should be marked &#8220;noindex,follow&#8221; while individual posts should be marked &#8220;index,follow&#8221;.  This should result in the content of each post only being in the search engine database once.  I also found a post called <a title="A critical SEO Tip for WordPress" href="http://elliottback.com/wp/archives/2006/02/25/critical-seo-tip-for-wordpress/">A critical SEO Tip for WordPress</a> which describes a way to accomplish this in <a href="http://www.wordpress.org">WordPress</a>.  The slightly modified version of this solution which I have added to my WordPress theme&#8217;s header.php is below.  Unless there are downsides to this approach that I don&#8217;t know of, I think every theme author should add something like this to their theme.</p>
<pre>
&lt;?php
if (is_single() || is_page() || is_author()) {
echo "&lt;meta name=\"robots\" content=\"index,follow\"/&gt;&#92;n";
} else {
echo "&lt;meta name=\"robots\" content=\"noindex,follow\"/&gt;&#92;n";
}
?&gt;</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.coverfire.com/archives/2006/03/26/blogs-and-search-engines-and-wordpress/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

