<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://nolan.eakins.net" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>Nolan&#039;s Corner - Jabber</title>
 <link>http://nolan.eakins.net/taxonomy/term/11/0</link>
 <description>All things Jabber®</description>
 <language>en</language>
<item>
 <title>Experiments with Erlang</title>
 <link>http://nolan.eakins.net/node/310</link>
 <description>&lt;p&gt;Earlier today I setup an instance of &lt;a href=&quot;http://hg.oss.semanticgap.com/&quot;&gt;HgWeb&lt;/a&gt; to host some old and new code bases of mine. Two of the repositories may interest those learning or looking to learn Erlang. Both repositories contain a simple project that doesn&#039;t amount to much of anything at the moment, though they could prove useful for some code reading/banging.&lt;/p&gt;
&lt;p&gt;The two repositories are:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;http://hg.oss.semanticgap.com/station&quot;&gt;Station&lt;/a&gt;: This is a super basic, simple HTTP server framework. It can currently parse an HTTP request which gets dispatched to a station behavior that you can define. The station behavior contains a function that gets called on each valid request and returns a response which is sent back to the requestor. Proper query string and form handling still needs to be done along with dispatching to different modules based on the requested path.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://hg.oss.semanticgap.com/mod_rest/trunk&quot;&gt;mod_rest&lt;/a&gt;: This is an &lt;a href=&quot;http://www.ejabberd.ru/&quot;&gt;ejabberd&lt;/a&gt; module that adds an HTTP handler that allows HTTP clients to literally post arbitrary message stanzas to ejabberd. Those stanzas then get shoved through ejabberd&#039;s router just like any other stanza. My original use for this was to allow a Rails app to send messages through ejabberd without needing to be a full XMPP client.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You will need to install &lt;a href=&quot;http://www.selenic.com/mercurial/wiki/&quot;&gt;Mercurial&lt;/a&gt; to get the code onto your machine. It&#039;s the next best thing to git.&lt;/p&gt;</description>
 <comments>http://nolan.eakins.net/node/310#comment</comments>
 <category domain="http://nolan.eakins.net/taxonomy/term/29">Erlang</category>
 <category domain="http://nolan.eakins.net/taxonomy/term/11">Jabber</category>
 <category domain="http://nolan.eakins.net/taxonomy/term/14">Personal</category>
 <category domain="http://nolan.eakins.net/taxonomy/term/9">Programming</category>
 <pubDate>Sat, 07 Jun 2008 17:32:33 -0700</pubDate>
 <dc:creator>sneakin</dc:creator>
 <guid isPermaLink="false">310 at http://nolan.eakins.net</guid>
</item>
<item>
 <title>A Conservative iChat</title>
 <link>http://nolan.eakins.net/node/308</link>
 <description>&lt;p&gt;I just ran into a problem with iChat that would probably leave most mystified. I found out due to some unknown reason that iChat is very picky about the XML contained in its rosters. It doesn&#039;t ignore errors. Instead it just kicks you off saying that you have lost your connection.&lt;/p&gt;
&lt;p&gt;The little snippet that was the culprit was a roster entry with a namespaced attribute: &lt;/p&gt;
&lt;pre&gt;&amp;lt;item jid=&#039;***@gmail.com&#039; name=&#039;***&#039; &lt;b&gt;gr:t=&#039;B&#039;&lt;/b&gt; subscription=&#039;both&#039;/&amp;gt;&lt;/pre&gt;&lt;p&gt;
I&#039;m not sure where that &quot;gr:t&quot; attribute came from, but that appears to have been iChat&#039;s choker. The only reason I noticed that was with Apple&#039;s Console utility. iChat was spitting out error messages to the system.log which included a block of XML that caused parse error 27, whatever that error means.&lt;/p&gt;
&lt;p&gt;To get iChat working I had to use another client to remove and readd that roster entry. Not good for the neophytes.&lt;/p&gt;
&lt;p&gt;I am left with a couple of questions though. Who uses the &quot;gr:t&quot; attribute, and what&#039;s it for? And can iChat either be a little more liberal in what it accepts or provide more help than &quot;Lost connection&quot; when the XML parser dies?&lt;/p&gt;
</description>
 <comments>http://nolan.eakins.net/node/308#comment</comments>
 <category domain="http://nolan.eakins.net/taxonomy/term/11">Jabber</category>
 <category domain="http://nolan.eakins.net/taxonomy/term/14">Personal</category>
 <pubDate>Tue, 05 Feb 2008 12:53:49 -0800</pubDate>
 <dc:creator>sneakin</dc:creator>
 <guid isPermaLink="false">308 at http://nolan.eakins.net</guid>
</item>
<item>
 <title>Bitter</title>
 <link>http://nolan.eakins.net/node/307</link>
 <description>&lt;p&gt;
I slipped up a new site &lt;a href=&quot;http://bitter.nolan.eakins.net/&quot;&gt;bitter.nolan.eakins.net&lt;/a&gt; the other day. It&#039;s my take on the don&#039;t make me think blog. I&#039;ve already implemented a basic web interface and just slapped together an XMPP bot that makes &lt;a href=&quot;http://bitter.rubyforge.org/&quot;&gt;Bitter&lt;/a&gt; much easier to use. There&#039;s a lot that I&#039;ve left out, but I put a &lt;a href=&quot;http://www.bazaar-vcs.org/&quot;&gt;Bazaar&lt;/a&gt; &lt;a href=&quot;http://bitter.rubyforge.org/bzr/bitter/TRUNK&quot;&gt;repository up&lt;/a&gt; if anyone wants to play.
&lt;/p&gt;</description>
 <comments>http://nolan.eakins.net/node/307#comment</comments>
 <category domain="http://nolan.eakins.net/taxonomy/term/11">Jabber</category>
 <category domain="http://nolan.eakins.net/taxonomy/term/14">Personal</category>
 <category domain="http://nolan.eakins.net/taxonomy/term/28">Rails</category>
 <category domain="http://nolan.eakins.net/taxonomy/term/26">Web</category>
 <pubDate>Mon, 03 Dec 2007 02:48:38 -0800</pubDate>
 <dc:creator>sneakin</dc:creator>
 <guid isPermaLink="false">307 at http://nolan.eakins.net</guid>
</item>
<item>
 <title>IETF Dups Again</title>
 <link>http://nolan.eakins.net/node/305</link>
 <description>&lt;p&gt;&lt;a href=&quot;http://www.ietf.org/html.charters/lemonade-charter.html&quot;&gt;Lemonade&lt;/a&gt; was brought to my attention for the guy I&#039;m doing work for. It&#039;s a set of IMAP extensions that make IMAP more suitable for mobile phones and devices. Some of their goals obviously overlap with the work the XMPP/Jabber community has been doing. The most obvious being the extensions to handle streaming multimedia content. Looking through their list of goals in their charter, practically every item seems to be handled one of our RFCs or XEPs already. Perhaps its time for the IETF&#039;s left hand to check up on its right hand.&lt;/p&gt;
</description>
 <comments>http://nolan.eakins.net/node/305#comment</comments>
 <category domain="http://nolan.eakins.net/taxonomy/term/11">Jabber</category>
 <pubDate>Fri, 08 Dec 2006 07:24:03 -0800</pubDate>
 <dc:creator>sneakin</dc:creator>
 <guid isPermaLink="false">305 at http://nolan.eakins.net</guid>
</item>
<item>
 <title>Cell Phones</title>
 <link>http://nolan.eakins.net/node/301</link>
 <description>&lt;p&gt;&lt;a href=&quot;http://alex.dojotoolkit.org/&quot;&gt;Alex Russell&lt;/a&gt; posted his &lt;a href=&quot;http://alex.dojotoolkit.org/?p=586&quot;&gt;slides about&lt;/a&gt; which he used at EuOSCON. On slide 19 he has a table listing the TCP init times on a couple of cellular networks:&lt;/p&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;Network Type&lt;/th&gt;
&lt;th&gt;TCP Init Time&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GRPS&lt;/td&gt;
&lt;td&gt;5 - 7 secs.&lt;/td&gt;
&lt;/tr&gt;
&lt;td&gt;3G&lt;/td&gt;
&lt;td&gt;12 - 15 secs.&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;Alex focuses on HTTP since calling him a maestro at JavaScript is an understatement. Obviously this is an issue for the subject of his presentation: mobile AJAX. There is an obvious solution to sending little snippets of XML without the TCP overhead: a better protocol.&lt;/p&gt;
&lt;p&gt;I could name at least one that could deliver for AJAX along with providing a feature set required for cell phones. I&#039;ll leave it to you to guess.&lt;/p&gt;
</description>
 <comments>http://nolan.eakins.net/node/301#comment</comments>
 <category domain="http://nolan.eakins.net/taxonomy/term/25">Internet</category>
 <category domain="http://nolan.eakins.net/taxonomy/term/11">Jabber</category>
 <pubDate>Fri, 22 Sep 2006 08:52:00 -0700</pubDate>
 <dc:creator>sneakin</dc:creator>
 <guid isPermaLink="false">301 at http://nolan.eakins.net</guid>
</item>
<item>
 <title>SASL Methods</title>
 <link>http://nolan.eakins.net/node/300</link>
 <description>&lt;p&gt;I&#039;ve been secretly and passively working on an XMPP Lisp library. I was having trouble with SASL, but I got that going after properly configuring my server (the order of &lt;code&gt;auth_methods&lt;/code&gt; in ejabberd matters!). Since I can actually login, I&#039;ve been seeing if I can login to my various accounts. So far I haven&#039;t had much trouble until I tried to login to Google&#039;s Talk server.&lt;/p&gt;
&lt;p&gt;For whatever reason, Google decided to invent their own SASL method: X-GOOGLE-TOKEN. This is also the only SASL method they support too!&lt;/p&gt;
&lt;p&gt;It might be to brash to damn them just yet. I haven&#039;t tried to get TLS working, so the more common methods could still be lurking behind that wall. Consider this a warning to other client developers, you may need to support TLS to play on the Google server.&lt;/p&gt;
&lt;p&gt;More updates to follow...&lt;/p&gt;</description>
 <comments>http://nolan.eakins.net/node/300#comment</comments>
 <category domain="http://nolan.eakins.net/taxonomy/term/11">Jabber</category>
 <pubDate>Wed, 16 Aug 2006 02:31:08 -0700</pubDate>
 <dc:creator>sneakin</dc:creator>
 <guid isPermaLink="false">300 at http://nolan.eakins.net</guid>
</item>
<item>
 <title>Replies To My AMQP Post</title>
 <link>http://nolan.eakins.net/node/299</link>
 <description>&lt;p&gt;I doubt anyone other than myself and a few spammers follow the comments on my blog. I got a couple of decent replies to my &lt;a href=&quot;http://nolan.eakins.net/node/291&quot;&gt;Commoditize Messaging...Again?&lt;/a&gt; post. For those who have an interest in messaging, these are definitely worth reading.&lt;/p&gt;
&lt;p&gt;Elsewhere in the messaging landscape: Alex Russell, the man who&#039;s been doing Ajax since the days it was called DHTML, has announced Bayeux &lt;a href=&quot;http://alex.dojotoolkit.org/?p=572&quot;&gt;multiple&lt;/a&gt; &lt;a href=&quot;http://alex.dojotoolkit.org/?p=573&quot;&gt;times&lt;/a&gt;.&lt;/p&gt;
</description>
 <comments>http://nolan.eakins.net/node/299#comment</comments>
 <category domain="http://nolan.eakins.net/taxonomy/term/11">Jabber</category>
 <pubDate>Thu, 10 Aug 2006 22:52:55 -0700</pubDate>
 <dc:creator>sneakin</dc:creator>
 <guid isPermaLink="false">299 at http://nolan.eakins.net</guid>
</item>
<item>
 <title>Commoditize Messaging...Again?</title>
 <link>http://nolan.eakins.net/node/291</link>
 <description>&lt;p&gt;Poking around &lt;a href=&quot;http://www.infoq.com/&quot;&gt;InfoQ&lt;/a&gt; I discovered an announcement about the &lt;a href=&quot;http://www.infoq.com/news/amq&quot;&gt;Advanced Message Queue Protocol&lt;/a&gt;. Its stated goal is to commoditize messaging&amp;mdash;again. I have to smack my forehead. The groups behind it are JP Morgan Chase, RedHat, Twist, Iona, Cisco, and others. Apparently they missed the announcement about all of the &lt;a href=&quot;http://www.jabber.org/software/libraries.shtml&quot;&gt;libraries&lt;/a&gt; and &lt;a href=&quot;http://www.jabber.org/software/servers.shtml&quot;&gt;servers&lt;/a&gt; that already exist for XMPP&lt;/a&gt; which cover more platforms than AMQP.&lt;/p&gt;
&lt;p&gt;AMQP offers point-to-point, publish/subscribe, and many-to-many messaging. It&#039;s a binary protocol which could provide a slight increase in speed over XMPP, but it lacks a standard message body format, presence, and &lt;a href=&quot;http://www.jabber.org/jeps/&quot;&gt;everything else the JSF has pushed out&lt;/a&gt;. Not to mention that AMPQ still hasn&#039;t reached version 1.0 yet.&lt;/p&gt;
&lt;p&gt;We could learn a few things from them, like their requirements. With some advocacy in this space, and by replicating their reliability and queing requirements XMPP could dash John Davies&#039; goal of making AMPQ the dominant messaging protocol by 2011.&lt;/p&gt;</description>
 <comments>http://nolan.eakins.net/node/291#comment</comments>
 <category domain="http://nolan.eakins.net/taxonomy/term/11">Jabber</category>
 <pubDate>Fri, 30 Jun 2006 23:54:10 -0700</pubDate>
 <dc:creator>sneakin</dc:creator>
 <guid isPermaLink="false">291 at http://nolan.eakins.net</guid>
</item>
<item>
 <title>Pubbed Out, Part Two: Bob Speaks</title>
 <link>http://nolan.eakins.net/node/285</link>
 <description>&lt;p&gt;&lt;a href=&quot;http://bobwyman.pubsub.com/main/2006/06/the_rumors_of_o.html&quot;&gt;Bob Wyman has spoken&lt;/a&gt; about the rumor originally posted on TechCrunch. He describes their issue as a problem with a minority of PubSub&#039;s shareholders which points to their problem: one man, one vote. So the moral of this story is to stick with the policy of one &lt;i&gt;share&lt;/i&gt;, one vote.&lt;/p&gt;
</description>
 <comments>http://nolan.eakins.net/node/285#comment</comments>
 <category domain="http://nolan.eakins.net/taxonomy/term/22">Biz Principles</category>
 <category domain="http://nolan.eakins.net/taxonomy/term/10">Business</category>
 <category domain="http://nolan.eakins.net/taxonomy/term/11">Jabber</category>
 <pubDate>Tue, 06 Jun 2006 21:29:40 -0700</pubDate>
 <dc:creator>sneakin</dc:creator>
 <guid isPermaLink="false">285 at http://nolan.eakins.net</guid>
</item>
<item>
 <title>Pubbed Out</title>
 <link>http://nolan.eakins.net/node/283</link>
 <description>&lt;p&gt;TechCrunch is passing along a &lt;a href=&quot;http://www.techcrunch.com/2006/06/06/pubub-implosion/&quot;&gt;rumor about PubSub.com&lt;/a&gt; that hopefully isn&#039;t true. If it is, hopefully Bob would care to share his experiences, and if it isn&#039;t then the record needs to be set straight.&lt;/p&gt;
</description>
 <comments>http://nolan.eakins.net/node/283#comment</comments>
 <category domain="http://nolan.eakins.net/taxonomy/term/11">Jabber</category>
 <pubDate>Tue, 06 Jun 2006 21:29:11 -0700</pubDate>
 <dc:creator>sneakin</dc:creator>
 <guid isPermaLink="false">283 at http://nolan.eakins.net</guid>
</item>
</channel>
</rss>
