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

<channel>
	<title>(still) nothing clever &#187; Koble</title>
	<atom:link href="http://gromgull.net/blog/category/koble/feed/" rel="self" type="application/rss+xml" />
	<link>http://gromgull.net/blog</link>
	<description></description>
	<lastBuildDate>Tue, 07 Sep 2010 09:25:18 +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"/>		<item>
		<title>I&#8217;ll trie in python</title>
		<link>http://gromgull.net/blog/2009/11/ill-trie-in-python/</link>
		<comments>http://gromgull.net/blog/2009/11/ill-trie-in-python/#comments</comments>
		<pubDate>Wed, 11 Nov 2009 10:25:45 +0000</pubDate>
		<dc:creator>gromgull</dc:creator>
				<category><![CDATA[Koble]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://gromgull.net/blog/?p=385</guid>
		<description><![CDATA[In Koble the auto-completion of thing-names used for wiki-editting, instant-search and adding relations  is getting slower and slower,  mainly because I do:

result=[]
things=listAllThings()
for t in things:
   if t.startswith(key): res.append(t)
for t in things:
   if key in t: res.append(t)

Going through the list twice makes sure I get all things that match well first [...]]]></description>
			<content:encoded><![CDATA[<p>In <a href="http://koble.net/">Koble</a> the auto-completion of thing-names used for wiki-editting, instant-search and adding relations  is getting slower and slower,  mainly because I do:</p>
<pre class="brush:python">
result=[]
things=listAllThings()
for t in things:
   if t.startswith(key): res.append(t)
for t in things:
   if key in t: res.append(t)
</pre>
<p>Going through the list twice makes sure I get all things that match well first (i.e. the start with the string I complete for), and then things matching less well later (they only contain the string).</p>
<p>Of course the world has made up a far better data-structure for indexing prefix&#8217;es of string, namely the <a href="http://www.itl.nist.gov/div897/sqg/dads/HTML/trie.html">trie, or prefix tree</a>. <a href="http://jtauber.com/">James Tauber</a> had already implemented one in python, and <a href="http://jtauber.com/blog/2005/02/10/updated_python_trie_implementation/">kindly made it available.</a> His version didn&#8217;t do everything I needed, so I added a few methods. Here is my updated version:</p>
<p><a href="http://gromgull.net/2009/11/trie.py">http://gromgull.net/2009/11/trie.py</a></p>
<p>Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://gromgull.net/blog/2009/11/ill-trie-in-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Integrating bibsonomy into Koble</title>
		<link>http://gromgull.net/blog/2009/08/integrating-bibsonomy-into-koble/</link>
		<comments>http://gromgull.net/blog/2009/08/integrating-bibsonomy-into-koble/#comments</comments>
		<pubDate>Mon, 10 Aug 2009 20:27:18 +0000</pubDate>
		<dc:creator>gromgull</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Koble]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://gromgull.net/blog/?p=296</guid>
		<description><![CDATA[A few years back I created koble &#8211; and used it on and off for my own notes ever since. (if you didn&#8217;t hear of it before, never mind &#8211; it&#8217;s essentially a semantic wiki)
So — Koble lets me create a page for a concept and then associate links with this page, in fact, it [...]]]></description>
			<content:encoded><![CDATA[<p>A few years back I created <a href="http://koble.net">koble</a> &#8211; and used it on and off for my own notes ever since. (if you didn&#8217;t hear of it before, never mind &#8211; it&#8217;s essentially a semantic wiki)</p>
<p>So — Koble lets me create a page for a concept and then associate links with this page, in fact, it even has a bookmarklet for easily creating new <em>things</em> from pages or associating page to existing things. Sounds like anything you know? A bit like tagging with delicious or <a href="http://www.bibsonomy.org">bibsonomy</a>? Oh yes. So in the <em>off </em>periods of not using Koble I used bibsonomy for all my links, and I definitely use bibsonomy for keeping track of publications that I <span style="text-decoration: line-through;">read</span> skim the abstract and conclusion of. However, when it comes to writing notes about what I read I need the wiki. Sigh. So I bit the bullet, picked up the python showel and dug into the <a href="http://www.bibsonomy.org/help/doc/api.html">bibsonomy API</a>, and a few hours later I have:</p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/gromgull/3809231356/"><img class="aligncenter" style="border: 0pt none;" title="Bibsonomy in Koble" src="http://farm3.static.flickr.com/2607/3809231356_cdb93bd8d8.jpg" alt="" width="500" height="341" /></a></p>
<p>At first I worried about <em>identity</em> — what if the <em>OnlineLearning</em> of Koble is no the same as the <em>OnlineLearning </em>tag on bibsonomy? What if I have <em>SemanticWeb</em> vs. <em>semantic-web</em>? Maybe I should let users (read &#8220;myself&#8221;) selectively associated different things with different tags?</p>
<p>Then I learned to stop worrying and just get on with my life and now I show any links/publications where the tags matched if they are the same once all non-letters have been removed and the rest converted to lower-case.</p>
<p>Now I&#8217;ve fixed my tool — now nothing can stop me from actually doing some work.</p>
]]></content:encoded>
			<wfw:commentRss>http://gromgull.net/blog/2009/08/integrating-bibsonomy-into-koble/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
