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

<channel>
	<title>Imaginings &#187; Uncategorized</title>
	<atom:link href="http://bewest.wordpress.com/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://bewest.wordpress.com</link>
	<description>Rampant Daydreams: Web Systems and Tools</description>
	<lastBuildDate>Tue, 14 Aug 2007 04:20:32 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='bewest.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/e745e4e2d0c42e82746b017668919d05?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Imaginings &#187; Uncategorized</title>
		<link>http://bewest.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://bewest.wordpress.com/osd.xml" title="Imaginings" />
		<item>
		<title>test</title>
		<link>http://bewest.wordpress.com/2007/08/14/test/</link>
		<comments>http://bewest.wordpress.com/2007/08/14/test/#comments</comments>
		<pubDate>Tue, 14 Aug 2007 04:20:32 +0000</pubDate>
		<dc:creator>bewest</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://bewest.wordpress.com/2007/08/14/test/</guid>
		<description><![CDATA[hahahaahahahahaaaaa.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bewest.wordpress.com&blog=391526&post=92&subd=bewest&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[hahahaahahahahaaaaa.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bewest.wordpress.com&blog=391526&post=92&subd=bewest&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://bewest.wordpress.com/2007/08/14/test/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ecff5a3cee4fad6c1a442aa97c88e57b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bewest</media:title>
		</media:content>
	</item>
		<item>
		<title>atom pub, gdata, and one way to improve amazon+alexa</title>
		<link>http://bewest.wordpress.com/2007/03/11/atom-pub-gdata-and-one-way-to-improve-amazonalexa/</link>
		<comments>http://bewest.wordpress.com/2007/03/11/atom-pub-gdata-and-one-way-to-improve-amazonalexa/#comments</comments>
		<pubDate>Sun, 11 Mar 2007 23:31:28 +0000</pubDate>
		<dc:creator>bewest</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[alexa]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[atom]]></category>
		<category><![CDATA[economy]]></category>
		<category><![CDATA[interface]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[web api]]></category>
		<category><![CDATA[web style]]></category>
		<category><![CDATA[webapi]]></category>
		<category><![CDATA[webservice]]></category>
		<category><![CDATA[webstyle]]></category>
		<category><![CDATA[www]]></category>

		<guid isPermaLink="false">http://bewest.wordpress.com/2007/03/11/atom-pub-gdata-and-one-way-to-improve-amazonalexa/</guid>
		<description><![CDATA[Has anyone tried using Amazon&#8217;s &#8220;RESTful&#8221; webservices?  I&#8217;ve had many headaches using them.  If I&#8217;m using PHP, I like to use nuSOAP to access SOAP services, because PHP&#8217;s facilities for XML (at least in version 4) are terrible.  nuSOAP seems to have interop issues with some of Alexa&#8217;s/Amazon&#8217;s webservices, so that&#8217;s a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bewest.wordpress.com&blog=391526&post=75&subd=bewest&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Has anyone tried using Amazon&#8217;s &#8220;RESTful&#8221; webservices?  I&#8217;ve had many headaches using them.  If I&#8217;m using PHP, I like to use nuSOAP to access SOAP services, because PHP&#8217;s facilities for XML (at least in version 4) are terrible.  nuSOAP seems to have interop issues with some of Alexa&#8217;s/Amazon&#8217;s webservices, so that&#8217;s a pretty big turn off.  The authentication requirements remain difficult/painful to implement, for some reason, even after doing it several times.</p>
<p>The focus on composability seems like a pretty nifty idea, however.  S3 for storing things, and SQS for Queue services, EC2 is very cool for providing machines to run code on.  The only problem is once you develop a client for one, you don&#8217;t have a working client for the others.  They failed to provide a polymorphic interface to their services!  On the web, this is really really bad form.  In my short lived and naive experience, writing web services is primarily about two things:</p>
<ol>
<li>exposing some logic controlling a persistence layer</li>
<li>organizing resources into logical units</li>
</ol>
<p>These two activities become idioms, which become patterns.  Open standards can save you a lot of work when it comes to interoperability issues, because they help define, or at least imply, how these patterns should be implemented.  If amazon had used Atom Publishing Protocol, instead of the framework they are currently using, a single client implementation would be capable of consuming all their web services.  What a mistake to not use it.</p>
<p>Furthermore, it&#8217;s a bit confusing as to why they labeled these services as RESTful to begin with, especially because they ignore the stateless requirements of GET, and put methods in the URIs.  Any parser implementation intended as a component of a consuming application must learn how to individually parse each resource&#8217;s XML indepedently from the rest.</p>
<p>I&#8217;m not saying Atom Publishing Protocol is some magic silver bullet.  I am suggesting that Atom Publishing Protocol helps you with one of the main tasks of developing web services: organizing and exposing resources.</p>
<p>Is anyone doing this?  Yes.  Google has added some extensions to Atom Publishing Protocol, and has called it GData.  If amazon wants to compete with google in terms of being a platform, it&#8217;ll need to simplify the ways consumers get access to resources while increasing the surface area of exposure.  One way to do that is to make sure that the burden for developers is very low, such as providing a single consistent interface (which HTTP already provides, and web architecture strongly implies) capable of consuming all your resources.</p>
<p>Common&#8217; Amazon! Fight NIH!  Don&#8217;t re-invent: re-use the known good patterns and idioms for publishing on the web.  Atom publishing protocol is one possible codification of those common idioms and patterns, and it&#8217;s an open standard.  It might not work out, but it&#8217;s certaintly seen a lot more peer review than your unRESTful web services model.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/bewest.wordpress.com/75/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/bewest.wordpress.com/75/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bewest.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bewest.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bewest.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bewest.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bewest.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bewest.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bewest.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bewest.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bewest.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bewest.wordpress.com/75/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bewest.wordpress.com&blog=391526&post=75&subd=bewest&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://bewest.wordpress.com/2007/03/11/atom-pub-gdata-and-one-way-to-improve-amazonalexa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ecff5a3cee4fad6c1a442aa97c88e57b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bewest</media:title>
		</media:content>
	</item>
		<item>
		<title>improving HTML</title>
		<link>http://bewest.wordpress.com/2007/03/11/improving-html/</link>
		<comments>http://bewest.wordpress.com/2007/03/11/improving-html/#comments</comments>
		<pubDate>Sun, 11 Mar 2007 23:07:48 +0000</pubDate>
		<dc:creator>bewest</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://bewest.wordpress.com/2007/03/11/improving-html/</guid>
		<description><![CDATA[The W3C has restructured some working groups in the Interaction Domain.  The new HTML working group is co-chaired by Dan Connolly of W3/MIT and Chris Wilson from Microsoft.
Both WHATWG and W3C are pursuing an improvement in HTML while simultaneously adding new features.  My reading of charts seems to indicate the following:

WHATWG is focusing [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bewest.wordpress.com&blog=391526&post=77&subd=bewest&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>The W3C has restructured some working groups in the Interaction Domain.  The <a href="http://www.w3.org/html/wg/">new HTML working group</a> is co-chaired by <a href="http://www.w3.org/People/Connolly/">Dan Connolly</a> of W3/MIT and Chris Wilson from Microsoft.</p>
<p>Both WHATWG and W3C are pursuing an improvement in HTML while simultaneously adding new features.  My reading of charts seems to indicate the following:</p>
<ul>
<li>WHATWG is focusing primarily on disambiguation of the HTML spec to trigger developer adoption, with new features as a secondary goal.</li>
<li>W3C is focusing primarily on new features to trigger market adoption with disambiguation/improvment as a secondary goal</li>
</ul>
<p>Over the last few years, as my interest in usability has grown, I have also become curious about the issues surrounding how technology becomes adopted by society.  Contrary to intuition, when a new technology becomes available, society at large takes a long time to adopt it.  When zippers became available, it took 100 years before they became popular in clothing.  Zippers offered a new and clearly superior technique for fastening over buttons, however, despite garment fastening consistently being one of the primary use cases for zippers, it took a long time before society actually started using zippers.  (I recommend <a href="http://www.amazon.com/Evolution-Useful-Things-Artifacts-Zippers-Came/dp/0679740392">Evolution of Useful Things</a>.)</p>
<p>While I&#8217;m glad for the effort of the W3C and WHATWG, and even look forward to participating in some of that work, I&#8217;m a bit cautious regarding their expected outcomes.  <strong>What is the plan for pursuing adoption?  I&#8217;m not convinced that adding new features is enough of an incentive to trigger market adoption because that model doesn&#8217;t fit the historical record very well.</strong>  If there&#8217;s anything I&#8217;m learning, it&#8217;s that constant iterative improvement that is responsive to previous failure is the single most important process to improve technology with regard to market and societal adoption.  Seeing the future is harder than seeing the past.</p>
<p>The WHATWG has a huge jumpstart over the W3C on discovering what the problems with the original HTML were.  I sort of think they would be better off in a Firefox kind of methodology: spend defined periods of time alternating between fixing past faults and adding new features.  Shorten the feedback loop to discourage hegemonious implementations from running the market.</p>
<p>The WHATWG has active involvement from browser vendors, and many content producers and developers.  W3C HTML WG has just started, and probably has the most inclusive participant policy to date.  Anyone can become an &#8220;invited expert&#8221; by successfully filling out a few forms.  I&#8217;m currently in the middle of this process.  The group&#8217;s co-chair is from Microsoft, but I believe Microsoft&#8217;s presence is completely absent in the WHATWG processes.  While IE7 and the team that worked on it has focused on improving IE to become more conformant to interoperable standards, the legacy of IE6 and Microsoft&#8217;s historical commitment to open standards weigh heavily in my mind.  <strong>What dynamics will determine how these groups work together?</strong></p>
<p>I suppose we&#8217;ll see what happens in the months and years to follow.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/bewest.wordpress.com/77/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/bewest.wordpress.com/77/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bewest.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bewest.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bewest.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bewest.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bewest.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bewest.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bewest.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bewest.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bewest.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bewest.wordpress.com/77/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bewest.wordpress.com&blog=391526&post=77&subd=bewest&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://bewest.wordpress.com/2007/03/11/improving-html/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ecff5a3cee4fad6c1a442aa97c88e57b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bewest</media:title>
		</media:content>
	</item>
		<item>
		<title>create a command for setup.py</title>
		<link>http://bewest.wordpress.com/2007/03/01/create-a-command-for-setuppy/</link>
		<comments>http://bewest.wordpress.com/2007/03/01/create-a-command-for-setuppy/#comments</comments>
		<pubDate>Thu, 01 Mar 2007 22:54:40 +0000</pubDate>
		<dc:creator>bewest</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://bewest.wordpress.com/2007/03/01/create-a-command-for-setuppy/</guid>
		<description><![CDATA[I&#8217;ve been looking into distutils stuff lately.  It seems like really nice stuff&#8230; it&#8217;s capable of all sorts of nice things.  One of the things I&#8217;d like to do is add some commands for creating releases, which involves automatically creating a release branch in perforce.  I was having a lot of trouble [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bewest.wordpress.com&blog=391526&post=73&subd=bewest&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I&#8217;ve been looking into distutils stuff lately.  It seems like really nice stuff&#8230; it&#8217;s capable of all sorts of nice things.  One of the things I&#8217;d like to do is add some commands for creating releases, which involves automatically creating a release branch in perforce.  I was having a lot of trouble getting enough information to do this, so here it goes.  I also found a very <a href="http://buildutils.lesscode.org/extensions.html">informative skeleton</a> on lesscode.</p>
<blockquote>
<pre><code>
class HelloWorld(Command):
  """This is a simple hello world command addition."""
  # user options is a list of tuples. each tuple conforms to:
  # ('long-arg-name=', 'a', "Description of option.")
  user_options = []
  command_name = "helloworld"
  def initialize_options(self):
    pass

  def finalize_options(self):
    pass

  def run(self):
    print "hello world."

</code></pre>
</blockquote>
<p>You&#8217;ll also need to add <tt>setup(cmdclass={'build_py': build_py},  ...)</tt> to setup.py, as explained in the <a href="http://www.python.org/doc/current/dist/node32.html">python docs</a>.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/bewest.wordpress.com/73/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/bewest.wordpress.com/73/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bewest.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bewest.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bewest.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bewest.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bewest.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bewest.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bewest.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bewest.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bewest.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bewest.wordpress.com/73/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bewest.wordpress.com&blog=391526&post=73&subd=bewest&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://bewest.wordpress.com/2007/03/01/create-a-command-for-setuppy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ecff5a3cee4fad6c1a442aa97c88e57b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bewest</media:title>
		</media:content>
	</item>
		<item>
		<title>serverpronto doesn&#8217;t understand privacy or security</title>
		<link>http://bewest.wordpress.com/2007/02/15/serverpronto-doesnt-understand-privacy-or-security/</link>
		<comments>http://bewest.wordpress.com/2007/02/15/serverpronto-doesnt-understand-privacy-or-security/#comments</comments>
		<pubDate>Thu, 15 Feb 2007 23:49:32 +0000</pubDate>
		<dc:creator>bewest</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://bewest.wordpress.com/2007/02/15/serverpronto-doesnt-understand-privacy-or-security/</guid>
		<description><![CDATA[
http://serverpronto.infolink.com/esupport/index.php?_a=tickets&#38;_m=viewmain
&#38;emailre=bewest@gmail.com&#38;ticketkeyre=d7f62b8b&#38;_i=BAU-34900
I hope they eventually realize their ticket system isn&#8217;t secure, and that putting credit card numbers in tickets is a very bad idea.
UPDATE: I started hunting around for more information about this company.  Evidently the Better Business Bureau can&#8217;t even figure out basic information about SeverPronto / InfoLink.  The &#8220;address&#8221; they publish is [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bewest.wordpress.com&blog=391526&post=71&subd=bewest&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://serverpronto.infolink.com/esupport/index.php?_a=tickets&amp;_m=viewmain&amp;emailre=bewest@gmail.com&amp;ticketkeyre=d7f62b8b&amp;_i=BAU-34900"></p>
<p>http://serverpronto.infolink.com/esupport/index.php?_a=tickets&amp;_m=viewmain</p>
<p>&amp;emailre=bewest@gmail.com&amp;ticketkeyre=d7f62b8b&amp;_i=BAU-34900</a></p>
<p>I hope they eventually realize their ticket system isn&#8217;t secure, and that putting credit card numbers in tickets is a very bad idea.</p>
<p>UPDATE: I started hunting around for more information about this company.  Evidently the Better Business Bureau can&#8217;t even figure out basic information about <a href="http://www.bbbsoutheastflorida.org/nis/newsearch2.asp?ID=1&amp;strBCode=06330000&amp;ComID=0633000030003042">SeverPronto / InfoLink</a>.  The &#8220;address&#8221; they publish is simply a drop box, not a physical location.  Buyer beware!</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/bewest.wordpress.com/71/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/bewest.wordpress.com/71/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bewest.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bewest.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bewest.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bewest.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bewest.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bewest.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bewest.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bewest.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bewest.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bewest.wordpress.com/71/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bewest.wordpress.com&blog=391526&post=71&subd=bewest&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://bewest.wordpress.com/2007/02/15/serverpronto-doesnt-understand-privacy-or-security/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ecff5a3cee4fad6c1a442aa97c88e57b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bewest</media:title>
		</media:content>
	</item>
		<item>
		<title>mercurial under fastcgi on lighttpd</title>
		<link>http://bewest.wordpress.com/2007/02/04/mercurial-under-fastcgi-on-lighttpd/</link>
		<comments>http://bewest.wordpress.com/2007/02/04/mercurial-under-fastcgi-on-lighttpd/#comments</comments>
		<pubDate>Sun, 04 Feb 2007 23:17:25 +0000</pubDate>
		<dc:creator>bewest</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://bewest.wordpress.com/2007/02/04/mercurial-under-fastcgi-on-lighttpd/</guid>
		<description><![CDATA[Finally got mercurial to get served to the web using fastcgi under lighttpd.  It took me about a full day to get it working, so I&#8217;d like to explain what I did so that someone else doesn&#8217;t struggle as long as I did.
This is just a really brief note: you should already be familiar [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bewest.wordpress.com&blog=391526&post=66&subd=bewest&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Finally got mercurial to get served to the web using fastcgi under lighttpd.  It took me about a full day to get it working, so I&#8217;d like to explain what I did so that someone else doesn&#8217;t struggle as long as I did.</p>
<p>This is just a really brief note: you should already be familiar with lighttpd configurations, as well as mercurial configuration.</p>
<p>I was interested in getting push/pull to work over http, so I grabbed version 0.9.3 of mecurial.  Next, I set up the directory structure I wanted.  In the place where I want the fastcgi script to run, I used a <a href="http://pastebin.ca/340677">very simple script</a>:</p>
<p><code>
<pre>
from mercurial.hgweb import hgwebdir_mod
from flup.server.fcgi import WSGIServer

from mercurial.hgweb.hgwebdir_mod import hgwebdir
from mercurial.hgweb.request import wsgiapplication

configFile = '/opt/www/fastcgi/changes/hgweb.conf'

def make_web_app():
    return hgwebdir(configFile)
# evidently wsgiapplication expects a callable, not an object.
app = wsgiapplication(make_web_app)

WSGIServer(app).run()
</pre>
<p></code></p>
<p>I was able to get the page to render using a typical fastcgi setup in lighttpd, however with every request, I was seeing this <a href="http://pastebin.ca/340680">exception in the error log</a>.  Some debugging in IRC was fruitful, once I was able to ask the right questions.  I was shown <a href="http://selenic.com/repo/hg/rev/5ae460b1f6f0">a fix to the headers values must be str error</a>, and so I manually edited it myself.  I&#8217;m sure I&#8217;ll be kicking myself eventually when this comes back to bite me later.  For, now I&#8217;m happy that the basic configuration seems to be running and working.</p>
<p>I was also just shown <a href="http://hg.einsteinmg.dyndns.org/mercurial_mq/file/ebf0bcb26367/hgwebdir_with_fcgi_scgi_support">a script to run hgwebdir over fastcgi</a>.  Too late for that to help me now, but maybe it&#8217;ll help someone else.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/bewest.wordpress.com/66/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/bewest.wordpress.com/66/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bewest.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bewest.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bewest.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bewest.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bewest.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bewest.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bewest.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bewest.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bewest.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bewest.wordpress.com/66/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bewest.wordpress.com&blog=391526&post=66&subd=bewest&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://bewest.wordpress.com/2007/02/04/mercurial-under-fastcgi-on-lighttpd/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ecff5a3cee4fad6c1a442aa97c88e57b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bewest</media:title>
		</media:content>
	</item>
		<item>
		<title>claim your blog using technorati</title>
		<link>http://bewest.wordpress.com/2006/11/20/claim-your-blog-using-technorati/</link>
		<comments>http://bewest.wordpress.com/2006/11/20/claim-your-blog-using-technorati/#comments</comments>
		<pubDate>Mon, 20 Nov 2006 00:38:57 +0000</pubDate>
		<dc:creator>bewest</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://bewest.wordpress.com/2006/11/20/claim-your-blog-using-technorati/</guid>
		<description><![CDATA[Technorati Profile
All it takes is a little link and technorati knows more about you and your blog.
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bewest.wordpress.com&blog=391526&post=54&subd=bewest&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://www.technorati.com/claim/8jcjs9csth" rel="me">Technorati Profile</a></p>
<p>All it takes is a little link and technorati knows more about you and your blog.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/bewest.wordpress.com/54/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/bewest.wordpress.com/54/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bewest.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bewest.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bewest.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bewest.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bewest.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bewest.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bewest.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bewest.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bewest.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bewest.wordpress.com/54/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bewest.wordpress.com&blog=391526&post=54&subd=bewest&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://bewest.wordpress.com/2006/11/20/claim-your-blog-using-technorati/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ecff5a3cee4fad6c1a442aa97c88e57b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bewest</media:title>
		</media:content>
	</item>
		<item>
		<title>toolbox: openid</title>
		<link>http://bewest.wordpress.com/2006/09/23/toolbox-openid/</link>
		<comments>http://bewest.wordpress.com/2006/09/23/toolbox-openid/#comments</comments>
		<pubDate>Sat, 23 Sep 2006 07:37:38 +0000</pubDate>
		<dc:creator>bewest</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://bewest.wordpress.com/2006/09/23/toolbox-openid/</guid>
		<description><![CDATA[What is OpenId?
OpenId is a way to provide identity over the web.  A URI that represents your credentials is requested by services you access that require you to identify yourself.  Since this requirement is very common, monotony and affordance provided by the service of your choosing makes it no more difficult than ordinary [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bewest.wordpress.com&blog=391526&post=38&subd=bewest&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><h2>What is OpenId?</h2>
<p><a href="http://openid.net/">OpenId</a> is a way to provide identity over the web.  A URI that represents your credentials is requested by services you access that require you to identify yourself.  Since this requirement is very common, <a href="http://rchi.raskincenter.org/index.php?title=Monotony_in_The_Humane_Interface">monotony</a> and affordance provided by the service of your choosing makes it no more difficult than ordinary browsing to access private and secure resources.</p>
<h2>The Story So Far</h2>
<p>As the web gained prominence in everyday culture, people started to more fully appreciate the difference between <tt>GET</tt> and <tt>POST</tt> <abbr title="HyperText Transfer Protocol">HTTP</abbr> verbs and &#8220;friendly&#8221; urls.  Today, many business owners recognize the value in <abbr title="Search Engine Optimization">SEO</abbr> and have a basic understanding of how their website&#8217;s URIs fit into the picture.</p>
<p>To protect users&#8217; resources, many web developers also started including authentication components into many systems.  The proliferation of useful web applications and services is creating a tremendous burden on the public to remember many instances of usernames and passwords.  The burden is so great, and the rules for credential validity so varied, that many people, including myself, often resort to using (or attempting to use) the same username and password.  In addition, in extreme cases, users resort to writing down the most sensitive credentials, because the rules for sensitive credentials tend to be incompatible with the user&#8217;s habitually prefered credentials.</p>
<h2>An Excellent Tool</h2>
<p>By using OpenId, you save yourself from having to write lots of painful code to deal with logging in and SQL plumbing.  You also make your services much easier to use. By participating in a system whose value behaves according to network affect, your service also becomes more valuable.  See the <a href="http://en.wikipedia.org/wiki/OpenID">Wikipedia OpenId</a> page for more details.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/bewest.wordpress.com/38/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/bewest.wordpress.com/38/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bewest.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bewest.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bewest.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bewest.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bewest.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bewest.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bewest.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bewest.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bewest.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bewest.wordpress.com/38/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bewest.wordpress.com&blog=391526&post=38&subd=bewest&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://bewest.wordpress.com/2006/09/23/toolbox-openid/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ecff5a3cee4fad6c1a442aa97c88e57b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bewest</media:title>
		</media:content>
	</item>
		<item>
		<title>idea: todo: wikipedia to hyperscope</title>
		<link>http://bewest.wordpress.com/2006/09/08/idea-todo-wikipedia-to-hyperscope/</link>
		<comments>http://bewest.wordpress.com/2006/09/08/idea-todo-wikipedia-to-hyperscope/#comments</comments>
		<pubDate>Fri, 08 Sep 2006 18:19:17 +0000</pubDate>
		<dc:creator>bewest</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[hyperscope]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[wiki]]></category>
		<category><![CDATA[wikipedia]]></category>
		<category><![CDATA[xslt]]></category>

		<guid isPermaLink="false">http://bewest.wordpress.com/2006/09/08/idea-todo-wikipedia-to-hyperscope/</guid>
		<description><![CDATA[Wikipedia has a regular document structure.  In fact, one of the benefits of wikis is that it allows users to focus more and content, and less on style.  Therefore many wikis have a regular emergent document structure that can be more or less predictably parsed&#8230; anyone up for an expert interface to wikipedia???
 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bewest.wordpress.com&blog=391526&post=26&subd=bewest&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Wikipedia has a regular document structure.  In fact, one of the benefits of wikis is that it allows users to focus more and content, and less on style.  Therefore many wikis have a regular emergent document structure that can be more or less predictably parsed&#8230; anyone up for an expert interface to wikipedia???</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/bewest.wordpress.com/26/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/bewest.wordpress.com/26/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bewest.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bewest.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bewest.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bewest.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bewest.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bewest.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bewest.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bewest.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bewest.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bewest.wordpress.com/26/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bewest.wordpress.com&blog=391526&post=26&subd=bewest&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://bewest.wordpress.com/2006/09/08/idea-todo-wikipedia-to-hyperscope/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ecff5a3cee4fad6c1a442aa97c88e57b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bewest</media:title>
		</media:content>
	</item>
		<item>
		<title>web style software</title>
		<link>http://bewest.wordpress.com/2006/09/07/web-style-software-2/</link>
		<comments>http://bewest.wordpress.com/2006/09/07/web-style-software-2/#comments</comments>
		<pubDate>Thu, 07 Sep 2006 05:59:50 +0000</pubDate>
		<dc:creator>bewest</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://bewest.wordpress.com/2006/09/07/web-style-software-2/</guid>
		<description><![CDATA[Linked Data
Every piece of data has a URI.  The way you access an object is by dereferencing it&#8217;s URI.  The result is a kind of ORM over the web.  I don&#8217;t really like that phrase, &#8220;ORM over the web&#8221;, so if you  have a better suggestion, please tell me.
ElementTree and Python
I&#8217;ve [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bewest.wordpress.com&blog=391526&post=22&subd=bewest&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><h2>Linked Data</h2>
<p>Every piece of data has a URI.  The way you access an object is by dereferencing it&#8217;s URI.  The result is a kind of ORM over the web.  I don&#8217;t really like that phrase, &#8220;ORM over the web&#8221;, so if you  have a better suggestion, please tell me.</p>
<h2>ElementTree and Python</h2>
<p>I&#8217;ve been wondering about how to instantiate objects over the web.  SOAP is ok, but I think this idea of using HTTP and URI&#8217;s is better.  I indicated in an earlier post I was leaning towards using element tree because it allows you to turn an XML document into a more native, pythonic object.  I guess I wasn&#8217;t alone.  <a href="http://effbot.org/zone/http-xml.htm">This class</a> shows how to do it over http.  Although, they go another direction with POX and xml-rpc.</p>
<p>No muss, no fuss.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/bewest.wordpress.com/22/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/bewest.wordpress.com/22/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/bewest.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/bewest.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/bewest.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/bewest.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/bewest.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/bewest.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/bewest.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/bewest.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/bewest.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/bewest.wordpress.com/22/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=bewest.wordpress.com&blog=391526&post=22&subd=bewest&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://bewest.wordpress.com/2006/09/07/web-style-software-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ecff5a3cee4fad6c1a442aa97c88e57b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bewest</media:title>
		</media:content>
	</item>
	</channel>
</rss>