<?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/"
	>

<channel>
	<title>sit simplex, stulte</title>
	<atom:link href="http://www.malcollier.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.malcollier.com</link>
	<description>Data Centric Widget Development</description>
	<pubDate>Wed, 24 Feb 2010 20:07:19 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>evri - search less. understand more?</title>
		<link>http://www.malcollier.com/?p=29</link>
		<comments>http://www.malcollier.com/?p=29#comments</comments>
		<pubDate>Sat, 27 Jun 2009 10:16:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Semantic]]></category>

		<category><![CDATA[Application programming interface]]></category>

		<category><![CDATA[evri]]></category>

		<category><![CDATA[Open Calais]]></category>

		<category><![CDATA[Semantic Web]]></category>

		<category><![CDATA[Thomson Reuters]]></category>

		<category><![CDATA[Zemanta]]></category>

		<guid isPermaLink="false">http://www.malcollier.com/?p=29</guid>
		<description><![CDATA[Over the past year i&#8217;ve been looking into  the &#8216;semantic web&#8216; and what applications us mere mortals can use to tag content, autolink content and so on without getting into ontologies, triples, RDF,SPARQL endpoints and other terms I still dont understand. I bought and tried reading a introduction book but fell asleep &#8230;. 
I&#8217;ve played with the [...]]]></description>
			<content:encoded><![CDATA[<p>Over the past year i&#8217;ve been looking into  the &#8216;<a rel="nofollow" href="http://en.wikipedia.org/wiki/Semantic_Web" class="zem_slink" title="Semantic Web" rel="wikipedia" >semantic web</a>&#8216; and what applications us mere mortals can use to tag content, autolink content and so on without getting into ontologies, triples, RDF,SPARQL endpoints and other terms I still dont understand. I bought and tried reading a introduction book but fell asleep &#8230;. </p>
<p>I&#8217;ve played with the <a href="http://opencalais.com/" class="zem_slink" title="Open Calais" rel="homepage" >Open Calais</a> and more recently the AlchemyAPI from <a href="http://www.alchemyapi.com/" title="Orchestr8"  target="_blank">Orchestr8 </a>also. Both are very interesting but dont quite meet my needs. I use a <a href="http://www.zemanta.com/" class="zem_slink" title="Zemanta" rel="homepage" >Zemanta</a> plugin to autotag this blog content too.</p>
<p>So what are my needs? Well, <a rel="nofollow" href="http://en.wikipedia.org/wiki/Sports_radio" class="zem_slink" title="Sports radio" rel="wikipedia" >Sports</a> media is my business and especially Football ( the <a rel="nofollow" href="http://en.wikipedia.org/wiki/Association_football" class="zem_slink" title="Association football" rel="wikipedia" >Soccer</a> version!). Most of the products/apis out there are very US based and tend to work well on US Sports but ignore or have limited data on the rest of the world.</p>
<p>The other day i found a new player called <a href="http://www.evri.com"  target="_blank">evri</a> by accident. I plugged in a few <a rel="nofollow" href="http://www.bbc.co.uk/" class="zem_slink" title="BBC" rel="homepage" >BBC</a> Football &#8216;gossip&#8217; stories about possible player transfers and low and behold i was amazed to see how good the results were.</p>
<p>I have added an <a href="http://www.evri.com/widget_gallery"  target="_blank">evri sidebar </a>to this blog and when I get some decent content for it search on then it should be great!   </p>
<p><a href="http://www.evri.com/" class="zem_slink" title="Evri" rel="homepage" >evri</a> - search less. understand more? Well yes, at first impressions its better for my purposes than the others. Hopefully i&#8217;ll get stuck into their <a rel="nofollow" href="http://en.wikipedia.org/wiki/Application_programming_interface" class="zem_slink" title="Application programming interface" rel="wikipedia" >API</a> too and see how that pans out.</p>
<p> </p>
<p> </p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a href="http://reblog.zemanta.com/zemified/471d2c80-cceb-463a-875a-babedaec16cc/" class="zemanta-pixie-a" title="Reblog this post [with Zemanta]" ><img class="zemanta-pixie-img" style="float: right;" src="http://img.zemanta.com/reblog_e.png?x-id=471d2c80-cceb-463a-875a-babedaec16cc" alt="Reblog this post [with Zemanta]" /></a><span class="zem-script more-related pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
<p class="addtoany_share_save_container">
    <a href="http://www.addtoany.com/share_save?sitename=sit%20simplex%2C%20stulte&amp;siteurl=http%3A%2F%2Fwww.malcollier.com%2F&amp;linkname=evri%20-%20search%20less.%20understand%20more%3F&amp;linkurl=http%3A%2F%2Fwww.malcollier.com%2F%3Fp%3D29" class="a2a_dd addtoany_share_save" ><img src="http://www.malcollier.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Save/Bookmark"/></a>

	</p>]]></content:encoded>
			<wfw:commentRss>http://www.malcollier.com/?feed=rss2&amp;p=29</wfw:commentRss>
		</item>
		<item>
		<title>Openfire, BOSH and StropheJS configuration</title>
		<link>http://www.malcollier.com/?p=14</link>
		<comments>http://www.malcollier.com/?p=14#comments</comments>
		<pubDate>Sat, 14 Feb 2009 07:50:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Coding]]></category>

		<category><![CDATA[Jabber XMPP]]></category>

		<category><![CDATA[Apache]]></category>

		<category><![CDATA[BOSH]]></category>

		<category><![CDATA[Extensible Messaging and Presence Protocol]]></category>

		<category><![CDATA[jabber]]></category>

		<category><![CDATA[Mozilla Firefox]]></category>

		<category><![CDATA[Openfire]]></category>

		<category><![CDATA[Strophe]]></category>

		<category><![CDATA[xmpp]]></category>

		<guid isPermaLink="false">http://www.malcollier.com/?p=14</guid>
		<description><![CDATA[openfire xmpp jabber strophe bosh apache jetty http-bind ]]></description>
			<content:encoded><![CDATA[<p>I am playing around with some open source <a rel="nofollow" href="http://en.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol" class="zem_slink" title="Extensible Messaging and Presence Protocol" rel="wikipedia" >Jabber</a>/ <a rel="nofollow" href="http://en.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol" class="zem_slink" title="Extensible Messaging and Presence Protocol" rel="wikipedia" >XMPP</a> servers and decided to start off with <a href="http://www.igniterealtime.org/downloads/index.jsp" >Ignite realtime&#8217;s </a>server called Openfire. It&#8217;s supposed to have &#8216;out-of the-box&#8217; <a rel="nofollow" href="http://en.wikipedia.org/wiki/BOSH" class="zem_slink" title="BOSH" rel="wikipedia" >BOSH</a> support, so I thought I&#8217;d see how easy it would be to get it all working.</p>
<h2>Openfire Server set-up</h2>
<p><a href="http://www.igniterealtime.org/projects/openfire/" class="zem_slink" title="Openfire" rel="homepage" >Openfire</a> is a simple download from their website. Installation on my Windows XP laptop was a breeze and the Jabber server was up and running in a few minutes.</p>
<p>The BOSH configuration or rather &#8220;HTTP Bind&#8221; as Openfire calls it, is also simple to setup from their admin console. Using the defaults you get:-</p>
<div class="mceTemp">
<div id="attachment_19" class="wp-caption alignnone" style="width: 310px"><img class="size-medium wp-image-19" title="HTTP Bind" src="http://www.malcollier.com/wp-content/uploads/httbing1-300x225.gif" alt="Openfire's admin console " width="300" height="225" /><p class="wp-caption-text">Openfire</p></div>
</div>
<h2>BOSH Client</h2>
<p>I chose to try the Strophe Javacript client from <a href="http://code.stanziq.com/cgit/strophe/strophejs/snapshot/strophejs-master.zip" >http://code.stanziq.com/cgit/strophe/strophejs/snapshot/strophejs-master.zip</a></p>
<p>Unzip into your webserver  folder, I&#8217;m using Apache 2.2.8 by the way, and checkout the examples folder where you have a choice of a basic and echobot clients.</p>
<p>If we look at the Javascript code there is a variable BOSH_SERVICE in both examples.</p>
<p><code>var BOSH_SERVICE = '/xmpp-httpbind';</code></p>
<p>Openfire uses a different service name, called &#8216;/http-bind&#8217; and not &#8216;/xmpp-httpbind&#8217; .  So we simply edit and all should now work, right?</p>
<p><code>var BOSH_SERVICE = '/http-bind';</code></p>
<p>No, it doesn&#8217;t. If we try to browse to <a href="http://localhost/http-bind" >http://localhost/http-bind</a> then all we get is an &#8220;<a rel="nofollow" href="http://en.wikipedia.org/wiki/HTTP_404" class="zem_slink" title="HTTP 404" rel="wikipedia" >HTTP 404</a> Page Not Found&#8221; error i.e. there&#8217;s nothing there to talk to.</p>
<p>Wait a minute, the Openfire admin console configuration shows that port 7070 is used for this service, so let&#8217;s try:-</p>
<p><a href="http://localhost:7070/http-bind" >http://localhost:7070/http-bind</a></p>
<p><code>HTTP ERROR: 400<br />
BAD_REQUEST<br />
RequestURI=/http-bind/<br />
<em><a href="http://jetty.mortbay.org/" >Powered by Jetty://</a></em><br />
</code><br />
Ah something different, and we have HTTP <a rel="nofollow" href="http://en.wikipedia.org/wiki/List_of_HTTP_status_codes" class="zem_slink" title="List of HTTP status codes" rel="wikipedia" >400 Error</a> &#8216;powered by Jetty://&#8217;</p>
<p>So this is not working but that&#8217;s not entirely suprising as my local Apache server knows nothing about Openfire, or what it&#8217;s offering by way of services, nor should it of course.</p>
<p>Hmm, so Openfire must, and indeed does, have its own server that exposes /http-bind on port 7070 hence the &#8216;Powered by Jetty://&#8217; in the HTTP 400 Error.</p>
<p>Ok, getting somewhere, so how do we get the StropheJS client to connect to port 7070?</p>
<p>There&#8217;s nothing we can edit, I tried looking into the source and many other failed attempts at hacking something I decided that  I&#8217;d have to think, or at least have some coffee, another coffee and lots of Googling and more coffee.</p>
<p>Hidden deep in the Igniterealtimes support forums ( which must be the worst on the planet, sorry guys) was some advice. The fact it took so long to find it was the reason I decided write this blog entry.</p>
<p>All we need to do is to get Apache to forward all requests from the StropheJS client to to <a href="http://localhost/http-bind" >http://localhost/http-bind</a> onto to <a href="http://localhost:7070/http-bind" >http://localhost:7070/http-bind</a> and that should work.</p>
<p>Ensure the Apache proxy modules are loaded in your <a rel="nofollow" href="http://en.wikipedia.org/wiki/Httpd.conf" class="zem_slink" title="Httpd.conf" rel="wikipedia" >httpd.conf</a></p>
<p><code>LoadModule proxy_module modules/mod_proxy.so<br />
LoadModule proxy_http_module modules/mod_proxy_http.so<br />
</code><br />
Then add:-</p>
<p><code>ProxyRequests Off<br />
ProxyPass /http-bind http://127.0.0.1:7070/http-bind/<br />
ProxyPassReverse /http-bind http://127.0.0.1:7070/http-bind/</code></p>
<p>And that worked for me! The StropheJS echobot client logged into my Openfire server as soon as I&#8217;d restarted Apache and echo&#8217;d back anything i sent it.</p>
<p>By the way, I tried the client in <a rel="nofollow" href="http://maps.google.com/maps?ll=45.1238,-123.1138&amp;spn=1.0,1.0&amp;q=45.1238,-123.1138 (Mozilla%20Firefox)&amp;t=h" class="zem_slink" title="Mozilla Firefox" rel="geolocation" >Firefox</a> 3.0.6, IE 7, Opera 9.6 and all worked as expected.</p>
<p>However, Safari 3.2.1 logged into Openfire correctly, but the echobot didn&#8217;t echo anything. As yet, I don&#8217;t know why&#8230;..</p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a href="http://reblog.zemanta.com/zemified/f64a4fd1-cbcc-47de-88e5-9c77f910ddd3/" class="zemanta-pixie-a" title="Zemified by Zemanta" ><img class="zemanta-pixie-img" style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; FLOAT: right; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none" src="http://img.zemanta.com/reblog_e.png?x-id=f64a4fd1-cbcc-47de-88e5-9c77f910ddd3" alt="Reblog this post [with Zemanta]" /></a></div>
<p class="addtoany_share_save_container">
    <a href="http://www.addtoany.com/share_save?sitename=sit%20simplex%2C%20stulte&amp;siteurl=http%3A%2F%2Fwww.malcollier.com%2F&amp;linkname=Openfire%2C%20BOSH%20and%20StropheJS%20configuration&amp;linkurl=http%3A%2F%2Fwww.malcollier.com%2F%3Fp%3D14" class="a2a_dd addtoany_share_save" ><img src="http://www.malcollier.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Save/Bookmark"/></a>

	</p>]]></content:encoded>
			<wfw:commentRss>http://www.malcollier.com/?feed=rss2&amp;p=14</wfw:commentRss>
		</item>
		<item>
		<title>Welcome to my blog</title>
		<link>http://www.malcollier.com/?p=1</link>
		<comments>http://www.malcollier.com/?p=1#comments</comments>
		<pubDate>Thu, 12 Feb 2009 14:57:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[General]]></category>

		<category><![CDATA[BOSH]]></category>

		<category><![CDATA[Extensible Messaging and Presence Protocol]]></category>

		<category><![CDATA[jabber]]></category>

		<category><![CDATA[Javascript]]></category>

		<category><![CDATA[JQuery]]></category>

		<category><![CDATA[Linked Data]]></category>

		<category><![CDATA[Publishing]]></category>

		<category><![CDATA[Pubsub]]></category>

		<category><![CDATA[Semantic Web]]></category>

		<guid isPermaLink="false">http://www.malcollier.com/?p=1</guid>
		<description><![CDATA[jquery xmpp pubsub bosh openfire semantic web javascript jabber]]></description>
			<content:encoded><![CDATA[<p> </p>
<p>Welcome to my blog. I will be posting anything interesting that &#8216;ve been working on.</p>
<p> </p>
<p>Currently I spend my time developing widgets and <a rel="nofollow" href="http://en.wikipedia.org/wiki/Web_application" class="zem_slink" title="Web application" rel="wikipedia" >web applications</a> using  <a href="http://jquery.com/" class="zem_slink" title="JQuery" rel="homepage" >Jquery</a> on <a rel="nofollow" href="http://en.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol" class="zem_slink" title="Extensible Messaging and Presence Protocol" rel="wikipedia" >XMPP</a> - Pubsub ( Publish Subscribe)  <a rel="nofollow" href="http://en.wikipedia.org/wiki/BOSH" class="zem_slink" title="BOSH" rel="wikipedia" >BOSH</a> and playing around with Semantic Web stuff when i get time &#8230;. </p>
<p> </p>
<p>The blog title is supposed to mean &#8220;<strong>keep it simple, stupid&#8221;</strong> which describes my approach to most things, especially software. Hopefully I can stick with the theme and post solutions, notes, code excerpts I have found for the problems I have faced. If it saves others time, then all the better.  </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a href="http://reblog.zemanta.com/zemified/89026aa1-863c-4ff2-87d4-7ec0b1e1c0cc/" class="zemanta-pixie-a" title="Zemified by Zemanta" ><img class="zemanta-pixie-img" style="float: right;" src="http://img.zemanta.com/reblog_e.png?x-id=89026aa1-863c-4ff2-87d4-7ec0b1e1c0cc" alt="Reblog this post [with Zemanta]" /></a></div>
<p class="addtoany_share_save_container">
    <a href="http://www.addtoany.com/share_save?sitename=sit%20simplex%2C%20stulte&amp;siteurl=http%3A%2F%2Fwww.malcollier.com%2F&amp;linkname=Welcome%20to%20my%20blog&amp;linkurl=http%3A%2F%2Fwww.malcollier.com%2F%3Fp%3D1" class="a2a_dd addtoany_share_save" ><img src="http://www.malcollier.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Save/Bookmark"/></a>

	</p>]]></content:encoded>
			<wfw:commentRss>http://www.malcollier.com/?feed=rss2&amp;p=1</wfw:commentRss>
		</item>
	</channel>
</rss>
