<?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>Bear&#039;s Journal &#187; code</title>
	<atom:link href="http://code-bear.com/bearlog/category/code/feed/" rel="self" type="application/rss+xml" />
	<link>http://code-bear.com/bearlog</link>
	<description>Gravity is the root of lightness; stillness, the ruler of movement</description>
	<lastBuildDate>Sat, 03 Jul 2010 08:10:53 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<atom:link rel="hub" href="http://pubsubhubbub.appspot.com" />
	<atom:link rel="hub" href="http://superfeedr.com/hubbub" />
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/us/</creativeCommons:license>		<item>
		<title>Mozilla Summit 2010 &#8211; Schedule .ics generator</title>
		<link>http://code-bear.com/bearlog/2010/07/03/mozilla-summit-2010-schedule-ics-generator/</link>
		<comments>http://code-bear.com/bearlog/2010/07/03/mozilla-summit-2010-schedule-ics-generator/#comments</comments>
		<pubDate>Sat, 03 Jul 2010 08:07:17 +0000</pubDate>
		<dc:creator>bear</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://code-bear.com/bearlog/2010/07/03/mozilla-summit-2010-schedule-ics-generator/</guid>
		<description><![CDATA[I was sitting at my desk going thru a mental checklist of things that need doing in the final couple of days before I travel to the 2010 Mozilla Summit (wow it&#8217;s like 4 days away!) and I read on one of the Moz Forums about someone asking for an .ics file of the schedule&#8230;
Hmm, [...]]]></description>
			<content:encoded><![CDATA[<p>I was sitting at my desk going thru a mental checklist of things that need doing in the final couple of days before I travel to the <a href="https://wiki.mozilla.org/Summit2010">2010 Mozilla Summit</a> (wow it&#8217;s like 4 days away!) and I read on one of the Moz Forums about someone asking for an .ics file of the schedule&#8230;</p>
<p>Hmm, I know VCALENDAR and can hack-parse html &#8230;</p>
<p>So 3 hours later and I have a very basic program that reads the Schedule wiki page, sucks out all of the tables that represent the daily schedules and generates a .ics ready for importing into your favourite calendar program.</p>
<p>Requires Python 2.6 or 2.5 with ElementTree installed: <a href="http://people.mozilla.org/~mtaylor/generate_summit_calender.py">generate_summit_calendar.py</a></p>
<p>enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://code-bear.com/bearlog/2010/07/03/mozilla-summit-2010-schedule-ics-generator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>building MCabber on OS X</title>
		<link>http://code-bear.com/bearlog/2010/04/16/building-mcabber-on-os-x/</link>
		<comments>http://code-bear.com/bearlog/2010/04/16/building-mcabber-on-os-x/#comments</comments>
		<pubDate>Fri, 16 Apr 2010 06:38:36 +0000</pubDate>
		<dc:creator>bear</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[xmpp]]></category>
		<category><![CDATA[developers]]></category>

		<guid isPermaLink="false">http://code-bear.com/bearlog/2010/04/16/building-mcabber-on-os-x/</guid>
		<description><![CDATA[Just wanted to jot down some notes on what I had to do to get the XMPP console client MCabber to build from source on my MacBook Pro:
Note: If you run into any configure or make issues you may need to install some of the from-source tools I had already in place from my work [...]]]></description>
			<content:encoded><![CDATA[<p>Just wanted to jot down some notes on what I had to do to get the XMPP console client <a href="http://mcabber.com">MCabber</a> to build from source on my MacBook Pro:</p>
<p><b>Note</b>: If you run into any configure or make issues you may need to install some of the from-source tools I had already in place from my work to get Mozilla Firefox to build from source. I&#8217;ve covered that in detail on my <a href="http://wiki.mozilla.org/User:Bear:My_Environment">Mozilla wiki page</a>.</p>
<p>I used the current source tarball from the MCabber site &#8211; make sure you get the <a href="http://mcabber.com/files/mcabber-0.10.0.tar.bz2">MCabber source tarball</a> and also the <a href="http://mcabber.com/files/loudmouth-1.4.3+gitb5a9de5b.20100413.tar.bz2">Loudmouth library tarball</a>.</p>
<p>Extract both into your favourite working/source tree setup</p>
<blockquote>
<p>tar xf loudmouth-1.4.3+gitb5a9de5b.20100413.tar.bz2</p>
<p>tar xf mcabber-0.10.0.tar.bz2</p>
</blockquote>
<p>Build the Loudmouth library. Note: I put all of my source installed libs into /opt that way I can set LDFLAGS and CPPFLAGS to point to anything non-OSX that i&#8217;ve installed.</p>
<blockquote>
<p>cd loudmouth-1.4.3+gitb5a9de5b</p>
<p>./configure &#8211;prefix=/opt LDFLAGS=&#8221;-L/opt/lib&#8221; CPPFLAGS=&#8221;-I/opt/include&#8221; &#8211;with-ssl=openssl</p>
<p>make</p>
<p>sudo make install</p>
</blockquote>
<p>Switch over to the MCabber directory and build it</p>
<blockquote>
<p>cd mcabber-0.10.0</p>
<p>./configure &#8211;prefix=/Users/bear</p>
<p>make</p>
<p>make install</p>
</blockquote>
<p>and that&#8217;s it &#8211; you now have a console XMPP Client!</p>
]]></content:encoded>
			<wfw:commentRss>http://code-bear.com/bearlog/2010/04/16/building-mcabber-on-os-x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Thoughts about all of this &#8220;Twitter API&#8221; chatter</title>
		<link>http://code-bear.com/bearlog/2009/12/18/thoughts-about-all-of-this-twitter-api-chatter/</link>
		<comments>http://code-bear.com/bearlog/2009/12/18/thoughts-about-all-of-this-twitter-api-chatter/#comments</comments>
		<pubDate>Fri, 18 Dec 2009 18:30:06 +0000</pubDate>
		<dc:creator>bear</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[mutterings]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[developers]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://code-bear.com/bearlog/2009/12/18/thoughts-about-all-of-this-twitter-api-chatter/</guid>
		<description><![CDATA[First, it&#8217;s not the &#8220;Twitter API&#8221; if it&#8217;s found on WordPress or Tumblr (not to mention that this API compatibility has been in Identi.ca (aka Laconi.ca) for almost a year now) &#8211; it&#8217;s just an API that is Twitter-compatible.
Second, the endpoints used to access an API are, at most, 1/3 of what makes up an [...]]]></description>
			<content:encoded><![CDATA[<p>First, it&#8217;s not the &#8220;Twitter API&#8221; if it&#8217;s found on <a href="http://en.blog.wordpress.com/2009/12/12/twitter-api/">WordPress</a> or <a href="http://staff.tumblr.com/post/287703110/api">Tumblr</a> (not to mention that this API compatibility has been in <a href="http://status.net/wiki/TwitterCompatibleAPI?source=laconica">Identi.ca (aka Laconi.ca)</a> for almost a year now) &#8211; it&#8217;s just an API that is Twitter-compatible.</p>
<p>Second, the endpoints used to access an API are, at most, 1/3 of what makes up an API &#8211; the most important part of an API is the data passed to and also from those endpoints to do the tasks that the endpoints enable.</p>
<p>So sure WordPress and Tumblr have a Twitter-compatible API but what happens when Twitter changes how one of the endpoints work, like they did when they recently changed how since_id works or even how re-tweets work. At best the other sites will be able to make similar changes but the worse case scenario is that they won&#8217;t or cannot make the changes and then things start to get ugly. Anyone remember RSS 0.93? or even the blog related API&#8217;s to make posts from clients &#8211; all suffered from fragmentation.</p>
<p>That is not to say I am not excited to see the API pattern used by Twitter is being more widely adopted, it&#8217;s a well thought out and functional API &#8211; I just think that crowning it the King of micro-blogging APIs is a bit premature until the *whole* API, data formats and all, is documented.</p>
]]></content:encoded>
			<wfw:commentRss>http://code-bear.com/bearlog/2009/12/18/thoughts-about-all-of-this-twitter-api-chatter/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Google Wave FedOne component with Prosody XMPP server</title>
		<link>http://code-bear.com/bearlog/2009/11/01/google-wave-fedone-component-with-prosody-xmpp-server/</link>
		<comments>http://code-bear.com/bearlog/2009/11/01/google-wave-fedone-component-with-prosody-xmpp-server/#comments</comments>
		<pubDate>Sun, 01 Nov 2009 10:00:29 +0000</pubDate>
		<dc:creator>bear</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[mutterings]]></category>
		<category><![CDATA[xmpp]]></category>
		<category><![CDATA[wave]]></category>

		<guid isPermaLink="false">http://code-bear.com/bearlog/2009/11/01/google-wave-fedone-component-with-prosody-xmpp-server/</guid>
		<description><![CDATA[Wanting to be ready for the day when Google Wave opens the federation spigot, I decided to revisit the FedOne component reference code and get it setup with my test XMPP Server.
After following the normal Prosody install methods and this time making sure my SSL environment is clean, I then switched over to the wiki [...]]]></description>
			<content:encoded><![CDATA[<p>Wanting to be ready for the day when Google Wave opens the federation spigot, I decided to revisit the <a href="http://code.google.com/p/wave-protocol/">FedOne component</a> reference code and get it setup with my test XMPP Server.</p>
<p>After following the normal <a href="http://prosody.im">Prosody</a> install methods and this time making sure my <a href="http://code-bear.com/bearlog/2009/10/30/using-a-xmpp-certificate-with-prosody/">SSL environment</a> is clean, I then switched over to the <a href="http://code.google.com/p/wave-protocol/w/list">wiki pages</a> to get the component configured and installed. Except for the small bit about Java SSL code (FedOne is written in Java) <a href="http://code-bear.com/bearlog/2009/10/30/google-wave-fedone-server-certificate-key-fun-not/">not liking good old normal PEM formats</a>, everything went according to the documentation &#8211; go figure! ;)</p>
<p>Anthony Baxter clearly documented <a href="http://code.google.com/p/wave-protocol/wiki/ProsodyInstallation">installing the component into the Prosody environment</a> on the FedOne wiki so I don&#8217;t need to go into messy details here &#8211; thanks Anthony!</p>
<p>After restarting Prosody, running the FedOne component, it&#8217;s time for a test and thankfully the Google gang included with FedOne a basic command line client to test with:</p>
<blockquote>
<p>./run-client-console.sh username</p>
</blockquote>
<p>Following this wiki guide on <a href="http://code.google.com/p/wave-protocol/wiki/ConsoleClient">how to use the test client</a>, I was able to test my local server and now I&#8217;m set for testing later &#8211; I think. :)</p>
<p>Total time to do the install with the following, about an hour:</p>
<ul>
<li><a href="http://www.ubuntu.com/">Ubuntu Jaunty</a></li>
<li><a href="http://code.google.com/p/wave-protocol/">Google Wave FedOne (w/SSL)</a></li>
<li><a href="http://prosody.im/">Prosody XMPP server (w/SSL)</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://code-bear.com/bearlog/2009/11/01/google-wave-fedone-component-with-prosody-xmpp-server/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Random thoughts about including Google Wave in your data flow</title>
		<link>http://code-bear.com/bearlog/2009/10/02/random-thoughts-about-including-google-wave-in-your-data-flow/</link>
		<comments>http://code-bear.com/bearlog/2009/10/02/random-thoughts-about-including-google-wave-in-your-data-flow/#comments</comments>
		<pubDate>Fri, 02 Oct 2009 18:30:08 +0000</pubDate>
		<dc:creator>bear</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[mutterings]]></category>
		<category><![CDATA[palala]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[wave]]></category>

		<guid isPermaLink="false">http://code-bear.com/bearlog/2009/10/02/random-thoughts-about-including-google-wave-in-your-data-flow/</guid>
		<description><![CDATA[Like every other early adopter it seems, i&#8217;ve been noodling with Google Wave once my invite appeared in my developer sandbox account and I&#8217;ve been thinking/brainstorming ideas with Chris and Ken. It seems that like everything that is Web 2.0 a wave document can be both an data source and sink &#8211; processes need to [...]]]></description>
			<content:encoded><![CDATA[<p>Like every other early adopter it seems, i&#8217;ve been noodling with Google Wave once my invite appeared in my developer sandbox account and I&#8217;ve been thinking/brainstorming ideas with Chris and Ken. It seems that like everything that is Web 2.0 a wave document can be both an data source and sink &#8211; processes need to be aware of this point lest a wave document just become another blog/log/journal endpoint.</p>
<p>What I mean is that since a wave document is an ever changing entity, any bot attached to a wave has the amazing chance to both deliver updates to the wave and also to receive updates (commands?) from the wave and I think most early bots are just doing the former.</p>
]]></content:encoded>
			<wfw:commentRss>http://code-bear.com/bearlog/2009/10/02/random-thoughts-about-including-google-wave-in-your-data-flow/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>v0.8.7 of parsedatetime is now live</title>
		<link>http://code-bear.com/bearlog/2009/01/09/v087-of-parsedatetime-is-now-live/</link>
		<comments>http://code-bear.com/bearlog/2009/01/09/v087-of-parsedatetime-is-now-live/#comments</comments>
		<pubDate>Fri, 09 Jan 2009 20:29:26 +0000</pubDate>
		<dc:creator>bear</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[parsedatetime]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://code-bear.com/bearlog/?p=250</guid>
		<description><![CDATA[Thanks to a great bug-fix patch by Michael Lim, Issue 26 has been fixed.
This bug was preventing parsing of 25 August 2009 &#8211; which seems like a silly bug to have except when you realize that it came about from adding more robust locale support for short month/week names.
Anywho, patch applied, some other minor fixes [...]]]></description>
			<content:encoded><![CDATA[<p>Thanks to a great bug-fix patch by Michael Lim, Issue 26 has been fixed.</p>
<p>This bug was preventing parsing of 25 August 2009 &#8211; which seems like a silly bug to have except when you realize that it came about from adding more robust locale support for short month/week names.</p>
<p>Anywho, patch applied, some other minor fixes worked in and a new release!</p>
]]></content:encoded>
			<wfw:commentRss>http://code-bear.com/bearlog/2009/01/09/v087-of-parsedatetime-is-now-live/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XMPP PubSub + XSLT</title>
		<link>http://code-bear.com/bearlog/2009/01/04/xmpp-pubsub-xslt/</link>
		<comments>http://code-bear.com/bearlog/2009/01/04/xmpp-pubsub-xslt/#comments</comments>
		<pubDate>Sun, 04 Jan 2009 10:21:54 +0000</pubDate>
		<dc:creator>bear</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[mutterings]]></category>
		<category><![CDATA[xmpp]]></category>
		<category><![CDATA[pubsub]]></category>

		<guid isPermaLink="false">http://code-bear.com/bearlog/?p=247</guid>
		<description><![CDATA[One of the niftier configuration items for a XMPP PubSub node (see Configuring a Node) is the ability to define an XSL template to allow the PubSub component to generate a message body to go along with the message payload &#8211; basically a human readable version of the payload.
This is great because it allows you [...]]]></description>
			<content:encoded><![CDATA[<p>One of the niftier configuration items for a XMPP <a href="http://xmpp.org/extensions/xep-0060.html">PubSub</a> node (see <a href="http://xmpp.org/extensions/xep-0060.html#owner-configure">Configuring a Node</a>) is the ability to define an <a href="http://www.w3.org/TR/xslt">XSL</a> template to allow the <a href="http://xmpp.org/extensions/xep-0060.html">PubSub</a> component to generate a message body to go along with the message payload &#8211; basically a human readable version of the payload.</p>
<p>This is great because it allows you to have a single node service both bots and people.  Without this you would have to define proxy bots that are subscribed to nodes and then they would send out chat messages for each incoming <a href="http://xmpp.org/extensions/xep-0060.html">PubSub</a> event for people in their roster.</p>
<p>Not exactly a friendly model IMO.</p>
<p>So to prepare for this I started working on a <a href="http://www.w3.org/TR/xslt">XSLT</a> file to transform an <a href="http://www.atomenabled.org/">Atom</a> payload to HTML &#8211; but first I needed to either learn <a href="http://www.w3.org/TR/xslt">XSLT</a> real fast or “borrow” from someone :)&#8230;</p>
<p>After about an hour of googling I finally found one that a) worked and b) targeted the 1.0 version of Atom at the <a href="http://www.opensearch.org/">OpenSearch</a> site &#8211; wow was that a gold-plated, kitchen-sink-included version!  It handles <a href="http://www.w3.org/TR/xslt">Atom</a>, RSS (all of them), RDF and some others &#8211; and after a rather great question from <a href="http://identi.ca/metajack">@metajack</a> (aka <a href="http://metajack.im/">Jack Moffitt</a>):</p>
<blockquote><p>Why bother with RSS at all?</p></blockquote>
<p>I started pulling out all of the non-Atom bits.  He also helped me grok a template scope problem that was leading me to curse <a href="http://www.w3.org/TR/xpath">XPath</a> royally &#8211; thanks Jack!</p>
<p>So after many, many rounds of edit/test/curse I boiled it down to a basic template (tho I did keep some of their snazzy person and url templates &#8211; *very* nice!) and then proceeded to tweak the HTML it generates.</p>
<p>So if you pass in this <a href="http://www.atomenabled.org/">Atom</a> payload:</p>
<pre>&lt;entry xmlns=“http://www.w3.org/2005/Atom”&gt;
    &lt;title type=“html”&gt;Test Atom&lt;/title&gt;
    &lt;link href=“http://seesmic.com/videos/FOO”/&gt;
    &lt;id&gt;http://seesmic.com/videos/FOO&lt;/id&gt;
    &lt;author&gt;
        &lt;uri&gt;http://seesmic.com/foobarbaz&lt;/uri&gt;
    &lt;/author&gt;
    &lt;published&gt;2009-01-03T20:46:19+00:00&lt;/published&gt;
    &lt;updated&gt;2009-01-03T20:46:19+00:00&lt;/updated&gt;
    &lt;link href=“http://t.seesmic.com/thumbnail/FOO_th1.jpg” type=“image/jpeg” rel=“enclosure” title=“Test Atom”/&gt;
    &lt;link href=“http://v.seesmic.com/flv/FOO.flv” type=“video/x-flv” rel=“enclosure” title=“Test Atom”/&gt;
    &lt;source&gt;
        &lt;generator&gt;SeesmicBot&lt;/generator&gt;
        &lt;id&gt;http://feeds.seesmic.com/user.foobarbaz.atom&lt;/id&gt;
        &lt;updated&gt;2009-01-03T20:46:19+00:00&lt;/updated&gt;
        &lt;title type=“html”&gt;Test Atom&lt;/title&gt;
        &lt;rights&gt;Creative Commons Attribution&lt;/rights&gt;
    &lt;/source&gt;
    &lt;in-reply-to xmlns=“http://purl.org/syndication/thread/1.0” type=“application/xhtml+xml” href=“http://seesmic.com/video/FOO” ref=“FOO”/&gt;
    &lt;category term=“en”/&gt;
    &lt;rights&gt;Creative Commons Attribution&lt;/rights&gt;
    &lt;link href=“http://creativecommons.org/licenses/by/3.0//us/rdf” type=“application/rdf+xml” rel=“license”/&gt;
&lt;/entry&gt;
</pre>
<p>You will get this:</p>
<pre>&lt;html xmlns=“http://www.w3.org/1999/xhtml” xmlns:xhtml=“http://www.w3.org/1999/xhtml”&gt;
&lt;body&gt;
    &lt;div&gt;
        &lt;a href=“http://seesmic.com/videos/FOO”&gt;&lt;div class=“x-escape”&gt;Test Atom&lt;/div&gt;&lt;/a&gt; by
        &lt;a href=“http://seesmic.com/foobarbaz”&gt;http://seesmic.com/foobarbaz&lt;/a&gt;;
        &lt;p&gt;categories: en; &lt;/p&gt;
        &lt;p&gt;&lt;a href=“http://t.seesmic.com/thumbnail/FOO_th1.jpg”&gt;Test Atom&lt;/a&gt; (image/jpeg)&lt;/p&gt;
        &lt;p&gt;&lt;a href=“http://v.seesmic.com/flv/FOO.flv”&gt;Test Atom&lt;/a&gt; (video/x-flv)&lt;/p&gt;
        &lt;p&gt;&lt;a href=“http://creativecommons.org/licenses/by/3.0//us/rdf”&gt;Creative Commons Attribution&lt;/a&gt;
        &lt;/p&gt;
    &lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
<p>Right now we think there is a bug in how <a href="http://tigase.org">Tigase</a> handles this (well, actually since it&#8217;s not generating the body there is a bug *somewhere*), so I can&#8217;t show you a live example :( but as soon as the dev guys fix it, or tell me what I did wrong, I&#8217;ll make another post.</p>
<p>You can find the XSL template I&#8217;m using <a href="http://code-bear.com/code/atom.xml.xslt">here</a></p>
<p><strong>Update</strong>: sure enough, Bart demostrated it working on his test server so I dug deeper and discovered that the Java XSLT processor is *much* more pickier than xsltproc about errors.  One of the helper templates was missing but it was never called so xsltproc just gleefully went on it&#8217;s merry way where as Java&#8217;s tossed an error and just refused to do anything more.  So now Tigase is generating &lt;body&gt;&lt;/body&gt; *and* &lt;event&gt;&lt;event&gt; payload data!</p>
]]></content:encoded>
			<wfw:commentRss>http://code-bear.com/bearlog/2009/01/04/xmpp-pubsub-xslt/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>XMPP PubSub aka “death by a thousand cuts”</title>
		<link>http://code-bear.com/bearlog/2008/12/21/xmpp-pubsub-aka-%e2%80%9cdeath-by-a-thousand-cuts%e2%80%9d/</link>
		<comments>http://code-bear.com/bearlog/2008/12/21/xmpp-pubsub-aka-%e2%80%9cdeath-by-a-thousand-cuts%e2%80%9d/#comments</comments>
		<pubDate>Sun, 21 Dec 2008 14:13:40 +0000</pubDate>
		<dc:creator>bear</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[mutterings]]></category>
		<category><![CDATA[xmpp]]></category>
		<category><![CDATA[pubsub]]></category>
		<category><![CDATA[seesmic]]></category>

		<guid isPermaLink="false">http://code-bear.com/bearlog/?p=245</guid>
		<description><![CDATA[Well, ok, not quite that dramatic &#8211; but for sure the final 20% is going to turn the last of my beard gray before the year ends.
Lately Nathan and I have been battling subtle bugs in Tigase (which Artur and Bart have been great at fixing), subtle bugs in our code (oh yea, even there! [...]]]></description>
			<content:encoded><![CDATA[<p>Well, ok, not quite that dramatic &#8211; but for sure the final 20% is going to turn the last of my beard gray before the year ends.</p>
<p>Lately <a href="http://nathan.fritzclan.com/">Nathan</a> and I have been battling subtle bugs in <a href="http://www.tigase.org">Tigase</a> (which Artur and Bart have been great at fixing), subtle bugs in our code (oh yea, even there! ;) ) and the usual other 30 distractions as the team delivered the beta version of the <a href="http://new.seesmic.com">new site</a>.</p>
<p>With this latest round of tweaks we are very close to calling it “shipped”:</p>
<ul>
<li>We turned on thenode that delivers the public timeline data (or what others call the “firehose”) and that is now sending <a href="http://www.atomenabled.org/">Atom</a> payload events to it&#8217;s subscribers,</li>
<li>We are seeing a more stable auto-refresh of the timelines (well, more stable after this last tweak)</li>
<li>We can now dial the <a href="http://xmpp.org/extensions/xep-0206.html">BOSH</a> timeout up or down to find that sweet spot for load management</li>
<li>The <a href="http://www.tigase.org">Tigase</a> team delivered a great new feature: <a href="http://www.tigase.org/en/content/tigase-xmppjabber-server-410-b1315">Server Monitoring</a> which I&#8217;m hoping we can wire into our infrastructure for much more accurate stats</li>
</ul>
<p>All in all it&#8217;s been a really crazy couple of weeks &#8211; but man is this stuff fun!</p>
<p>So I&#8217;m hoping that the <a href="http://xmpp.org/">XMPP</a> community allows us a bit of boasting as we have a <a href="http://xmpp.org/">XMPP</a> PubSub system running “in the wild”.  I&#8217;m sure there are others out there, but so far they have been rather quiet on how things are done or they have quietly gone away.  We  are working on an architecture article for the Seesmic Developer&#8217;s site that goes into more details on how and why.</p>
<p>Special thanks to <a href="http://metajack.im/">Jack</a> for taking the time to review how we structured our <a href="http://www.atomenabled.org/">Atom</a> payload &#8212; hopefully it&#8217;s less messy now :)</p>
]]></content:encoded>
			<wfw:commentRss>http://code-bear.com/bearlog/2008/12/21/xmpp-pubsub-aka-%e2%80%9cdeath-by-a-thousand-cuts%e2%80%9d/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Seesmic and XMPP Pubsub</title>
		<link>http://code-bear.com/bearlog/2008/10/21/seesmic-and-xmpp-pubsub/</link>
		<comments>http://code-bear.com/bearlog/2008/10/21/seesmic-and-xmpp-pubsub/#comments</comments>
		<pubDate>Tue, 21 Oct 2008 10:12:47 +0000</pubDate>
		<dc:creator>bear</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[mutterings]]></category>

		<guid isPermaLink="false">http://code-bear.com/bearlog/?p=237</guid>
		<description><![CDATA[At Seesmic we are working hard integrating XMPP into various parts of the infrastructure and I have to say that I&#8217;m very excited to see what&#8217;s been completed so far.
The journey to Pubsub hasn&#8217;t been smooth for sure, along the way we have learned how many different interpretations of the word implemented can be used [...]]]></description>
			<content:encoded><![CDATA[<p>At <a href="http://seesmic.com">Seesmic</a> we are working hard integrating <a href="http://xmpp.org">XMPP</a> into various parts of the infrastructure and I have to say that I&#8217;m very excited to see what&#8217;s been completed so far.</p>
<p>The journey to Pubsub hasn&#8217;t been smooth for sure, along the way we have learned how many different interpretations of the word <em>implemented</em> can be used when applied to a very big and complicated spec like <a href="http://xmpp.org/extensions/xep-0060.html">XEP-0060</a> just on the server side alone.  Then you get into the realm of client libraries and I can see why there was hardly any well known implementation of Pubsub.</p>
<p>Sure there are plenty of behind the scenes implementations, but those are not public and they are not using open source tools &#8211; that&#8217;s the key difference in what we are doing.</p>
<p>In the last couple months a <strong>lot</strong> of activity has been happening in this space, so much so that I&#8217;m hoping we can delivery publicly so we can brag about being being one of the first (heck, if not the first) open source based implementations.</p>
<p>Back to work, just because we have a end-to-end test finally working doesn&#8217;t mean it&#8217;s all done :)</p>
<p><!-- technorati tags start -->
<p style="text-align:right;font-size:10px;">Technorati Tags: <a href="http://www.technorati.com/tag/pubsub" rel="tag">pubsub</a>, <a href="http://www.technorati.com/tag/seesmic" rel="tag">seesmic</a>, <a href="http://www.technorati.com/tag/xmpp" rel="tag">xmpp</a></p>
<p><!-- technorati tags end --></p>
]]></content:encoded>
			<wfw:commentRss>http://code-bear.com/bearlog/2008/10/21/seesmic-and-xmpp-pubsub/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>parsedatetime 0.8.6 released</title>
		<link>http://code-bear.com/bearlog/2008/04/21/parsedatetime-086-released/</link>
		<comments>http://code-bear.com/bearlog/2008/04/21/parsedatetime-086-released/#comments</comments>
		<pubDate>Mon, 21 Apr 2008 07:40:47 +0000</pubDate>
		<dc:creator>bear</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[mutterings]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[parsedatetime]]></category>

		<guid isPermaLink="false">http://code-bear.com/bearlog/?p=235</guid>
		<description><![CDATA[The new dayjob has been keeping me very busy so I&#8217;ve neglected working on parsedatetime.
An email reminding me that I had checked in 0.8.5 with the damn debug flag still enabled gave me the poke I needed to go thru the Issues listed (wow &#8211; people have been filing bugs!) and generate a new release.
See [...]]]></description>
			<content:encoded><![CDATA[<p>The new <a href="http://seesmic.com">dayjob</a> has been keeping me very busy so I&#8217;ve neglected working on <a href="http://code-bear.com/code/parsedatetime">parsedatetime</a>.</p>
<p>An email reminding me that I had checked in 0.8.5 with the damn debug flag still enabled gave me the poke I needed to go thru the Issues listed (wow &#8211; people have been filing bugs!) and generate a new release.</p>
<p>See the <a href="http://code.google.com/p/parsedatetime/source/detail?r=81">Changes.txt entry for 0.8.6</a> for details.</p>
<p>It can be found via the <a href="http://pypi.python.org/pypi/parsedatetime/0.8.6">Python Package Index</a>, <a href="http://code.google.com/p/parsedatetime/">Google Code</a> or my own<br />
<a href="http://code-bear.com/code/parsedatetime">website</a>.</p>
<p>Thanks to Bernd Zeimetz (Debian maintainer) for submitting a patch to localize <a href="http://code-bear.com/code/parsedatetime">parsedatetime</a> for the German (de_DE) locale!</p>
]]></content:encoded>
			<wfw:commentRss>http://code-bear.com/bearlog/2008/04/21/parsedatetime-086-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
