<?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>Locker Project&#039;s Blog &#187; lockerproject</title>
	<atom:link href="http://blog.lockerproject.org/tag/lockerproject/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.lockerproject.org</link>
	<description></description>
	<lastBuildDate>Tue, 01 May 2012 19:46:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='blog.lockerproject.org' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/105bb783ef008e8e2c6c5e4ba210ee9f?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>Locker Project&#039;s Blog &#187; lockerproject</title>
		<link>http://blog.lockerproject.org</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://blog.lockerproject.org/osd.xml" title="Locker Project&#039;s Blog" />
	<atom:link rel='hub' href='http://blog.lockerproject.org/?pushpress=hub'/>
		<item>
		<title>Synclets</title>
		<link>http://blog.lockerproject.org/2011/08/19/synclets/</link>
		<comments>http://blog.lockerproject.org/2011/08/19/synclets/#comments</comments>
		<pubDate>Fri, 19 Aug 2011 00:48:43 +0000</pubDate>
		<dc:creator>ctide</dc:creator>
				<category><![CDATA[Synclets]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[lockerproject]]></category>
		<category><![CDATA[singly]]></category>
		<category><![CDATA[synclets]]></category>

		<guid isPermaLink="false">http://lockerproject1.wordpress.com/2011/08/19/synclets</guid>
		<description><![CDATA[Temas touched on this a bit in his last blog post, but I wanted to write a more detailed explanation of where things are at for synclets.  The short synopsis of synclets is that they are a simple way to pull data from a provider and feed it into the system.  Synclets are basic routines [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lockerproject.org&#038;blog=26421088&#038;post=4&#038;subd=lockerproject1&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Temas touched on this a bit in his <a href="http://blog.lockerproject.org/tech-update-4">last blog post</a>, but I wanted to write a more detailed explanation of where things are at for synclets.  The short synopsis of synclets is that they are a simple way to pull data from a provider and feed it into the system.  Synclets are basic routines that are fed authentication keys and some configuration and uses that information to pull down data from the provider which is funneled back into locker core via JSON.  They are a drastic reduction in scope for what&#8217;s currently required for a connector.  Adding new connectors currently relies on the developer managing a lot of pieces (authentication, running a web server, processing data from the source, feeding that data into Mongo, generating correct events) and since the majority of those pieces are fairly common across all of the connectors, we want to drive towards providing a system that manages these common components.</p>
<p>The first step towards this end was to convert the stable connectors into packages composed of synclets being managed by the common code.  This has been completed (we&#8217;re still working on cleaning up some of the patterns to get them right, but we have a start checked in that we&#8217;re playing with) and they are now ready for people to start poking at.  The current plan is to eventually migrate all of the connectors (and all the data your connectors have been collecting!) to synclet powered versions.  For the time being, existing connectors won&#8217;t be affected by any of the work being done around synclets.</p>
<p>The missing pieces that will tie this work together and make it easy for developers to implement their own synclets mostly surround authentication and creating a UI for managing installed synclets.  We will be implementing something like <a href="https://github.com/bnoguchi/everyauth">everyauth</a> to manage authentication for synclets at some point in the near future.  This will enable us to simplify both the UI, and the implementation, for authentication and allow us to provide authentication keys to any number of synclets that would like to pull data from a provider.</p>
<p><span style="font-size:medium;"><strong>What does this mean to developers hacking on connectors today?</strong></span></p>
<p>Not a whole lot just yet.  We want to spend some more time ensuring that we have this pattern right, and connectors will continue to exist exactly as they are today during that period.  If you&#8217;re feeling super adventurous, feel free to poke through some of the code in lsyncmanager, and look at the new synclets that are now provided with the connector code for Facebook, Twitter, Github, Foursquare, and Google Contacts.  Once the authentication and UI pieces have been baked into the project, we&#8217;ll write a more detailed post describing exactly how you would use those pieces to build synclets.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/lockerproject1.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lockerproject1.wordpress.com/4/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lockerproject.org&#038;blog=26421088&#038;post=4&#038;subd=lockerproject1&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.lockerproject.org/2011/08/19/synclets/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/a89404659a003b57ae3100392f78f806?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ctide</media:title>
		</media:content>
	</item>
		<item>
		<title>Another fast week but we stayed super focussed&#8230;</title>
		<link>http://blog.lockerproject.org/2011/08/16/tech-update-4/</link>
		<comments>http://blog.lockerproject.org/2011/08/16/tech-update-4/#comments</comments>
		<pubDate>Tue, 16 Aug 2011 02:20:57 +0000</pubDate>
		<dc:creator>temas</dc:creator>
				<category><![CDATA[Tech Update]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[lockerproject]]></category>
		<category><![CDATA[TechUpdate]]></category>

		<guid isPermaLink="false">http://lockerproject1.wordpress.com/2011/08/16/tech-update-4</guid>
		<description><![CDATA[Another fast week, but we stayed super focussed. Synclets These are a break out from the connector work to try and figure out better patterns around collecting data from outside sources. If you are a connector author then you definitely want to check out the code and give the wiki page a read. Search We’ve been exploring [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lockerproject.org&#038;blog=26421088&#038;post=5&#038;subd=lockerproject1&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Another fast week, but we stayed super focussed.</p>
<h2>Synclets</h2>
<p>These are a break out from the connector work to try and figure out better patterns around collecting data from outside sources. If you are a connector author then you definitely want to check out the code and give the <a style="margin-top:0;" href="https://github.com/LockerProject/Locker/wiki/Synclets">wiki page</a> a read.</p>
<h2>Search</h2>
<p>We’ve been exploring different patterns of using search within the Locker, which Eric <a style="margin-top:0;" href="http://blog.lockerproject.org/a-deeper-dive-on-locker-search">wrote about</a>, and we’ve finally got a new bit working. The <a href="http://clucene.sourceforge.net/">CLucene</a> implementation has come alive! It’s still basic, but it builds a single query point for everything in your Locker. You can try it out with the Locker Search app, but it still needs some UI love.</p>
<h2>Photo Viewer</h2>
<p>Tom just landed (literally as I’m writing this!) an experimental photo viewer that looks fantastic. So go get your photo connectors setup and quickly browse them with this great viewer.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/lockerproject1.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lockerproject1.wordpress.com/5/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lockerproject.org&#038;blog=26421088&#038;post=5&#038;subd=lockerproject1&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.lockerproject.org/2011/08/16/tech-update-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/910441fbf2c6002175fe693ae60fa4c1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">vrydmbname</media:title>
		</media:content>
	</item>
		<item>
		<title>A Deeper Dive on Locker Search</title>
		<link>http://blog.lockerproject.org/2011/08/12/a-deeper-dive-on-locker-search/</link>
		<comments>http://blog.lockerproject.org/2011/08/12/a-deeper-dive-on-locker-search/#comments</comments>
		<pubDate>Fri, 12 Aug 2011 22:35:00 +0000</pubDate>
		<dc:creator>ethomjenn</dc:creator>
				<category><![CDATA[Search]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[lockerproject]]></category>
		<category><![CDATA[search]]></category>

		<guid isPermaLink="false">http://lockerproject1.wordpress.com/2011/08/12/a-deeper-dive-on-locker-search</guid>
		<description><![CDATA[For the last several weeks, a couple of us on the Singly team have been taking a deep-dive into the idea of search within a Locker.  As most people already know&#8211;and as we were quick to discover, search seems simple but can become large, difficult, and unweildy if not done with care and attention.  We [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lockerproject.org&#038;blog=26421088&#038;post=6&#038;subd=lockerproject1&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>For the last several weeks, a couple of us on the Singly team have been taking a deep-dive into the idea of search within a Locker.  As most people already know&#8211;and as we were quick to discover, search seems simple but can become large, difficult, and unweildy if not done with care and attention.  We wanted to share a couple of the thoughts we had around these last few weeks, and let you know of some cool things we discovered.</p>
<p><strong>Discovery 1:  Lucene is a pretty amazing information retrieval library</strong></p>
<p><a href="http://lucene.apache.org/">Lucene</a> is an open-source Apache project that handles information storage and retrieval, specific for the uses of searching and information retrieval.  It is actually just a library, however, meaning we can&#8217;t easily slide it into the existing Locker codebase.</p>
<p>A little detail about Lucene, and why it&#8217;s so powerful.</p>
<ul>
<li>Lucene implementations have scaled up to the terabyte range of storage.  This fares really well as each user&#8217;s Locker may grow quite large over time, and we don&#8217;t want to outgrow an architecture if possible.</li>
<li>Lucene has clearly-defined concepts of text processing, both when indexing&#8211;placing information into the system, and when querying&#8211;pulling information out of the system.</li>
<li>Lucene also has some subprojects that may turn out to be very helpful for Locker users. One in particular is Tika, which can extract the textual contents from binary files such as PDFs and Word documents.  This is super helpful if, for instance, you wanted to not only search across your entire Gmail account, but also wanted to search within any attachments others have sent to you.</li>
<li>The Lucene library has been battle-hardened over several years of active development and lots of implementations in production.  Some very important thoughts have emerged around scaling Lucene, based on actual users pushing it to its limits.  This gives us a lot of useful information, and shows us what not to do when adding Lucene to Lockers.</li>
</ul>
<p>In short, we were pretty sold on Lucene as the search platform of choice.  However, we weren&#8217;t ready quite yet.</p>
<p><strong>Discovery 2:  Lucene has lots of implementations, and each of these has tradeoffs</strong></p>
<p>If only we could download and install a simple library and have full-search Lockers that easily!  No, unfortunately, there are several implementations of Lucene, and we want to choose the best based on the unique requirements of Lockers.</p>
<p>First, we tried <a href="http://elasticsearch.org/">elasticsearch</a>, which is a very robust implementation of Lucene, along with capabilities to allow it to scale to MASSIVE sizes.  It also has a very robust method for indexing and querying the information store from pratically any client.  We prototyped this one first, knowing that it was large, and probably overkill, but we could begin to get search results in a day or two, because of its maturity.</p>
<p>Sure enough, a couple days later, we were searching across the Locker, as you can see here:</p>
<div class="p_embed p_image_embed"><a href="http://lockerproject1.files.wordpress.com/2011/08/screen_shot_2011-08-12_at_3-15-40_pm-scaled1000.png"><img src="http://lockerproject1.files.wordpress.com/2011/08/screen_shot_2011-08-12_at_3-15-40_pm-scaled1000.png?w=500&#038;h=150" alt="Screen_shot_2011-08-12_at_3" width="500" height="150" /></a></div>
<p>However, this required every Locker user to run a full instance of elasticsearch alongside their Lockers, which is a heavy requirement. However, we loved how easy it was to get going with useful searching, so we committed that code as the Locker app called &#8220;Search&#8221;, and forged ahead.</p>
<p><strong>Discovery 3:  Lucene isn&#8217;t only a Java library</strong></p>
<p>How to get Lucene embedded within the Locker?  That was our next task.  We wanted something lightweight, fast, and embedded so we didn&#8217;t have to add yet another external requirement.</p>
<p>That&#8217;s when we learned that a group had ported the Lucene library to C++, and the project&#8217;s called <a href="http://clucene.sourceforge.net/">CLucene</a>. This was fantastic news for us, as we figured we could just wrap clucene into a native Node.js module, and it&#8217;ll be extremely fast and small, but still retain the power of Lucene.</p>
<p><strong>Discovery 4:  CLucene looks great, but it&#8217;s based on a much older Lucene version</strong></p>
<p>Daaaaamn.  We were so close, and it turns out that CLucene is missing some of the features we really wanted to use from current Lucene implementations, specifically geopoint support and updating existing documents.  Now we needed to look closely at CLucene to see how much we need to implement.</p>
<p>But first, like most of our projects at Singly, we applied the mantra &#8220;Make it work.  Make it right.  Make it fast.&#8221;  So before getting it as full-featured as we desired, we first just wanted to make it work inside the Locker natively.  This turned out to be a good learning experience for us, as we now know how to write native Node.js modules, and that opens up the massive amounts of C and C++ libraries out there to us.</p>
<p><strong>Enough technobabble, let&#8217;s see what this sucka can do!</strong></p>
<p>Okay!  Here are some queries you can run on your Locker:</p>
<ul>
<li>&#8220;eric&#8221;  - Find everything that has the term &#8220;eric&#8221; in it, case-insenitive</li>
<li>&#8220;eric~&#8221; &#8211; Do a fuzzy search for &#8220;eric&#8221;, meaning be a bit forgiving about misspellings.  This will return back data that contains terms like &#8220;erick&#8221; and &#8220;erik&#8221;, as well as &#8220;eric&#8221;.</li>
<li>&#8220;+lockerproject singly&#8221; &#8211; Do a search for data that definitely has the term &#8220;lockerproject&#8221; in it, but may or may not have the term &#8220;singly&#8221; in it.</li>
<li>&#8220;+lockerproject singly^5&#8243; &#8211; Do the same search as above, but for those records that do have the term &#8220;singly&#8221; in it, boost those scores much higher, so they show up closer to the top of the search results.</li>
</ul>
<p><strong>What&#8217;s next?</strong></p>
<p>Well, this is where we need to add functionality to CLucene that it did not already have.  Specifically, we need to be able to add all the different fields that are internal to Locker records.  For instance, for a record representing one of your contacts, you should be able to search for first name separately from last name.  Right now our Node.js CLucene module does not support that.</p>
<p>We also want to add back in the ability to update existing records, so your data is always searchable and retrievable, regardless of how many times you resync your connectors.  Also, being able to search distances from a geo location such as a Foursquare checkin is very high on our list as well.</p>
<p>We&#8217;re working hard to bring useful features to Lockers across the web, and search is going to be a core part of that.  We are always happy to hear your thoughts or answer any questions you may have.  We are regularly available in the Freenode IRC room #lockerproject, as well as via e-mail and github.  We welcome your feedback!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/lockerproject1.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lockerproject1.wordpress.com/6/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lockerproject.org&#038;blog=26421088&#038;post=6&#038;subd=lockerproject1&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.lockerproject.org/2011/08/12/a-deeper-dive-on-locker-search/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c3afd8449640cadec455a94cf7e9790c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ethomjenn</media:title>
		</media:content>

		<media:content url="http://lockerproject1.files.wordpress.com/2011/08/screen_shot_2011-08-12_at_3-15-40_pm-scaled1000.png?w=300" medium="image">
			<media:title type="html">Screen_shot_2011-08-12_at_3</media:title>
		</media:content>
	</item>
		<item>
		<title>Tech Update #3</title>
		<link>http://blog.lockerproject.org/2011/08/09/tech-update-3/</link>
		<comments>http://blog.lockerproject.org/2011/08/09/tech-update-3/#comments</comments>
		<pubDate>Tue, 09 Aug 2011 15:09:35 +0000</pubDate>
		<dc:creator>temas</dc:creator>
				<category><![CDATA[Tech Update]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[lockerproject]]></category>
		<category><![CDATA[TechUpdate]]></category>

		<guid isPermaLink="false">http://lockerproject1.wordpress.com/2011/08/09/tech-update-3</guid>
		<description><![CDATA[It&#8217;s been a long while since we got an update written, but it&#8217;s been a super busy couple of months. Dashboard We&#8217;re continuing to work towards the best dashboard interface possible and have made some more tweaks to the layout. We&#8217;re working on the overall first run experience and expect that code to start landing [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lockerproject.org&#038;blog=26421088&#038;post=7&#038;subd=lockerproject1&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p style="margin-top:0;">It&rsquo;s been a long while since we got an update written, but it&rsquo;s been a super busy couple of months.</p>
<h2>Dashboard</h2>
<p>We&rsquo;re continuing to work towards the best dashboard interface possible and have made some more tweaks to the layout. We&rsquo;re working on the overall first run experience and expect that code to start landing soon.</p>
<p>
<div class='p_embed p_image_embed'>
<a href="http://lockerproject1.files.wordpress.com/2011/08/screen_shot_2011-08-09_at_9-22-13_am-scaled1000.png"><img alt="Screen_shot_2011-08-09_at_9" height="324" src="http://lockerproject1.files.wordpress.com/2011/08/screen_shot_2011-08-09_at_9-22-13_am-scaled1000.png?w=500&#038;h=324" width="500" /></a><br />
<a href="http://lockerproject1.files.wordpress.com/2011/08/screen_shot_2011-08-09_at_9-23-45_am-scaled1000.png"><img alt="Screen_shot_2011-08-09_at_9" height="324" src="http://lockerproject1.files.wordpress.com/2011/08/screen_shot_2011-08-09_at_9-23-45_am-scaled1000.png?w=500&#038;h=324" width="500" /></a></p>
<div class='p_see_full_gallery'><a href="http://blog.lockerproject.org/tech-update-3">See the full gallery on Posterous</a></div>
</div>
<h2>Photos</h2>
<p>The photos collection has started to have some real meat thrown on its bones. The Twitpic and Facebook connectors are feeding it all your lovely photos that you can currently view in the Hello Photos app. It&rsquo;s a bit raw still, but it&rsquo;s working and plenty more exciting visualizations coming in the pipe.</p>
<p>
<div class='p_embed p_image_embed'>
<a href="http://lockerproject1.files.wordpress.com/2011/08/screen_shot_2011-08-09_at_9-22-30_am-scaled1000.png"><img alt="Screen_shot_2011-08-09_at_9" height="324" src="http://lockerproject1.files.wordpress.com/2011/08/screen_shot_2011-08-09_at_9-22-30_am-scaled1000.png?w=500&#038;h=324" width="500" /></a>
</div>
</p>
<h2>OSCON</h2>
<p><img src="http://assets.en.oreilly.com/1/event/61/oscon2011_logov2.png" alt="OSCON Logo" style="background-color:black;height:50px;float:left;padding:4px;" /></p>
<p style="margin-left:150px;">Jer, Eric, Matt and myself (temas) attended OSCON and it was a fantastic and productive trip. I&rsquo;ll let <a href="http://blog.lockerproject.org/thoughts-around-the-locker-project-and-oscon">Eric&rsquo;s writeup</a> give you the details.</p>
<p>&nbsp;</p>
<h2 style="clear:both;">Lockerballs</h2>
<p>Part of our OSCON prep was to create a single precompiled tarball that everyone can use to quickly get started with the Locker Project. They have been dubbed Lockerballs and can be found on the <a href="http://lockerproject.org/tarballs/">website</a>. A giant shoutout to Forrest for the work he put into getting them done and maintained. The Lockerball is a clone of the git repository so once you are ready to start hacking you can git pull and join the fun.</p>
<p>The plan is to migrate to full virtual machine images in the near future. &nbsp;We&#8217;re working on cutting out as many roadblacks as possible so more people can be testing and working with us.</p>
<h2>Synclets</h2>
<p>On the forefront of new code we have Synclets. These are a break off from core connector code to simplify and contain the actual syncing logic. These are a great move to a clean and ordered system that is headed up by Chris and Jer. If you&rsquo;re writing connector code check them out and get us feedback to help their early development.</p>
<p>&nbsp;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/lockerproject1.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lockerproject1.wordpress.com/7/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lockerproject.org&#038;blog=26421088&#038;post=7&#038;subd=lockerproject1&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.lockerproject.org/2011/08/09/tech-update-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/910441fbf2c6002175fe693ae60fa4c1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">vrydmbname</media:title>
		</media:content>

		<media:content url="http://lockerproject1.files.wordpress.com/2011/08/screen_shot_2011-08-09_at_9-22-13_am-scaled1000.png?w=300" medium="image">
			<media:title type="html">Screen_shot_2011-08-09_at_9</media:title>
		</media:content>

		<media:content url="http://lockerproject1.files.wordpress.com/2011/08/screen_shot_2011-08-09_at_9-23-45_am-scaled1000.png?w=300" medium="image">
			<media:title type="html">Screen_shot_2011-08-09_at_9</media:title>
		</media:content>

		<media:content url="http://lockerproject1.files.wordpress.com/2011/08/screen_shot_2011-08-09_at_9-22-30_am-scaled1000.png?w=300" medium="image">
			<media:title type="html">Screen_shot_2011-08-09_at_9</media:title>
		</media:content>

		<media:content url="http://assets.en.oreilly.com/1/event/61/oscon2011_logov2.png" medium="image">
			<media:title type="html">OSCON Logo</media:title>
		</media:content>
	</item>
		<item>
		<title>Thoughts Around the Locker Project and OSCON</title>
		<link>http://blog.lockerproject.org/2011/08/03/thoughts-around-the-locker-project-and-oscon/</link>
		<comments>http://blog.lockerproject.org/2011/08/03/thoughts-around-the-locker-project-and-oscon/#comments</comments>
		<pubDate>Wed, 03 Aug 2011 17:31:00 +0000</pubDate>
		<dc:creator>ethomjenn</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[lockerproject]]></category>
		<category><![CDATA[OSCON]]></category>

		<guid isPermaLink="false">http://lockerproject1.wordpress.com/2011/08/03/thoughts-around-the-locker-project-and-oscon</guid>
		<description><![CDATA[Last week some of the Singly crew headed to Portland, Oregon for O&#8217;Reilly&#8217;s OSCON.  Our primary goal was to get Lockers in the hands of as many people as possible, by handing out USB thumbdrives with instances of the Locker codebase on them.  Also, Jeremie&#8217;s talk on the Locker Project was on our agenda.  However, there were [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lockerproject.org&#038;blog=26421088&#038;post=8&#038;subd=lockerproject1&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Last week some of the Singly crew headed to Portland, Oregon for O&#8217;Reilly&#8217;s OSCON.  Our primary goal was to get Lockers in the hands of as many people as possible, by handing out USB thumbdrives with instances of the Locker codebase on them.  Also, <a href="http://www.oscon.com/oscon2011/profile/30510">Jeremie&#8217;s talk on the Locker Project</a> was on our agenda.  However, there were a couple of other things that got us excited about heading forward.</p>
<p><strong><span style="font-size:small;">The Concept of Xen micro instances for running Lockers:</span></strong></p>
<p>We spoke with Jeremy Fitzhardinge from XenSource/Citrix, regarding running Lockers in micro instances of Xen.  Through a lot of discussion, it sounds like it&#8217;s at least feasible in theory that very small Xen instances could indeed be used.  We also discussed the possibility of running Xen inside of Xen (to run Xen instances on a platform such as AWS), but it appears that this doesn&#8217;t peform well, understandably.</p>
<p><strong><span style="font-size:small;">Plug Computers:</span></strong></p>
<p>I attended a session that talked about the current state of small &#8220;plug&#8221; computers&#8211;defined as those types of computers that are small enough to simply plug into a wall.  These usually range from very small thumb-drive sizes up to a large wall wart or slightly larger.  The <a href="http://www.globalscaletechnologies.com/c-5-dreamplugs.aspx">DreamPlug</a> was one being demoed, and could be very interesting as a platform to use as a Locker appliance.  The good news is that besides the various networking capabilities of the DreamPlug, it also has an eSATA port on it, meaning it&#8217;s simple to plug in a large, high-performance hard drive for lots of storage.  Storage tends to be one of the weakest aspects of plug computers, and being able to add storage as necessary makes this very interesting.  Its price, when released, is said to be around $99.00 USD.</p>
<p>Here are the DreamPlug specs:</p>
<ul>
<li>CPU &#8211; Marvell Kirkwood 88F6281 @ 1.2GHz speed</li>
<li>Linux 2.6.3x Kernel</li>
<li>512MB 16bit DDR2-800 MHz</li>
<li>2MB SPI NOR Flash for uboot</li>
<li>2 GB on board micro-SD for kernel and root file system</li>
<li>2 x Gigabit Ethernet 10/100/1000 Mbps</li>
<li>2 x USB 2.0 ports (Host)</li>
<li>1 x eSATA 2.0 port -3Gbps SATAII</li>
<li>1 x SD socket for user expansion/application</li>
<li>WiFi 802.11 b/g</li>
<li>Bluetooth 2.1 + EDR</li>
<li>Audio Interfaces</li>
<li>5V3A DC power supply</li>
</ul>
<p>Another plug computer that came across the radar is the <a href="http://news.cnet.com/raspberry-pi-computer-on-a-stick-for-only-$25/8301-17938_105-20060489-1.html">Raspberry Pi</a>.  This is a <em>tiny</em> computer, yet is ARM-based and can run Linux.  It&#8217;s does not have a lot of storage support other than SD cards, but could be extremely flexible in being able to run one or more connectors and stream data back to a central Locker instance.  I can see this being used with the Arduino stack to get cheap, realtime sensor data from the environment and into Lockers.  Its price is $25.  (Cheaper than the Arduino Uno dev board!)</p>
<p>Here are the Raspberry Pi specs:</p>
<ul>
<li>700MHz ARM11</li>
<li>128MB of SDRAM</li>
<li>OpenGL ES 2.0</li>
<li>1080p30 H.264 high-profile decode</li>
<li>Composite and HDMI video output</li>
<li>USB 2.0</li>
<li>SD/MMC/SDIO memory card slot</li>
<li>General-purpose I/O</li>
<li>Open software (Ubuntu, Iceweasel, KOffice, Python)</li>
</ul>
<p><strong><span style="font-size:small;">Handling Locker Storage Safely and Quickly:</span></strong></p>
<p>How to safely scale and store Locker data has been an ongoing discussion within the Locker Project.  Several options are on the table, and a lot depends on the requirements at hand.  For instance, for Singly-hosted Lockers, we will need something that we can host on insecure platform-as-a-service providers such as Amazon AWS.  For this, something like Tahoe LAFS looks like a great contender.</p>
<p>Other requirements that span both Singly-hosted Lockers and self-hosted Lockers are the capabilities of authorization to access, proof of change of data, and versioning of previously-changed data.</p>
<p>So it was interesting to have met up with Brad Fitzpatrick from the Memcached/Danga/LiveJournal world, to chat with us about his new project <a href="http://camlistore.org/">Camlistore</a>.  He gave us a very quick rundown on various features.  One of note is the key signature of any changes made to the filestore, which allows easy confirmation of who changed what and when.  As it was described to me, it sounds like this same functionality also allows only approved users to view sets and/or subsets of the data.  Lastly, the versioning support that it has could prove to help us with our versioning issues as well.</p>
<p>One use case I found quite compelling was Brad discussing the possibility for a Camlistore (and by extension, a Locker) user to provide a subset of data that other people can write to.  For instance, you could provide a set of photos that you took while attending a party, provide write access to those particular photos to a group of friends who were also at that party, and those other users could add data&#8211;such as comments or tags&#8211;to your dataset, all using the Camlistore functionality.  This peer-enrichment idea is super exciting to me.</p>
<p><strong><span style="font-size:small;">Locker-wide Search:</span></strong></p>
<p>I met up with Tyler Gillies, who wrote the node-lucene module for Node.js.  This module wraps up the CLucene library and exposes it to a Node instance.  CLucene, for those who aren&#8217;t familiar with it, is a C++ port of the Java Lucene library&#8211;itself a very mature and powerful information retrieval library.  Internally, Singly has a Locker-wide search application already running, but it&#8217;s a prototype and requires the Elasticsearch Lucene implementation to run.  Elasticsearch is amazingly powerful, but it is also very resource-intensive.  We need something smaller, leaner, and faster, and CLucene fits the bill well.</p>
<p>The last night we were there, Singly put in a Locker BIrds of a Feather session where a bunch of us hacked on Locker things together.  I was able to work with Tyler to get up to speed on the state of node-lucene, and to begin contributing back to it with some more features we&#8217;ll need for full Locker search.  I&#8217;m super excited to get advanced search capabilities in the Locker soon, such as the following:</p>
<p style="padding-left:30px;">- Find all of my contacts from the contacts collection that have the e-mail address containing the term &#8220;singly.com&#8221;</p>
<p style="padding-left:30px;">- Find all of my geographic data from any connector or collection for the user &#8220;Eric Jennings&#8221;</p>
<p style="padding-left:30px;">- Find that link I visited recently that talked about the Google V8 garbage collection method, can&#8217;t remember if I read it on my phone or on one of my machines</p>
<p>If we do search right, any of thes types of search queries will be available to any application, collection, or connector.</p>
<p>That&#8217;s it for the OSCON trip.  Several of us were able to catch up with people we hadn&#8217;t seen in years, or have never met other than in IRC.  For those we met, it was great meeting you!  And for those who weren&#8217;t able to go, we hope to meet up soon!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/lockerproject1.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lockerproject1.wordpress.com/8/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lockerproject.org&#038;blog=26421088&#038;post=8&#038;subd=lockerproject1&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.lockerproject.org/2011/08/03/thoughts-around-the-locker-project-and-oscon/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c3afd8449640cadec455a94cf7e9790c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ethomjenn</media:title>
		</media:content>
	</item>
		<item>
		<title>Survey: What is your most important personal data?</title>
		<link>http://blog.lockerproject.org/2011/08/01/survey-what-is-your-most-important-personal-data/</link>
		<comments>http://blog.lockerproject.org/2011/08/01/survey-what-is-your-most-important-personal-data/#comments</comments>
		<pubDate>Mon, 01 Aug 2011 19:50:00 +0000</pubDate>
		<dc:creator>nymbot</dc:creator>
				<category><![CDATA[Research]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[lockerproject]]></category>
		<category><![CDATA[personal data]]></category>
		<category><![CDATA[survey]]></category>

		<guid isPermaLink="false">http://lockerproject1.wordpress.com/2011/08/01/survey-what-is-your-most-important-personal-data</guid>
		<description><![CDATA[Over at Singly, we were curious what types of data people most cared about, and why. As an experiment, we surveyed 179 people, at a cost of twenty cents per person. Filling out the survey took on average 2 minutes and 13 seconds, meaning the effective hourly rate was $5.414. I would have expected more [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lockerproject.org&#038;blog=26421088&#038;post=9&#038;subd=lockerproject1&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<div class="p_embed p_image_embed"><a href="http://lockerproject1.files.wordpress.com/2011/08/tlpsurvey-scaled1000.jpg"><img src="http://lockerproject1.files.wordpress.com/2011/08/tlpsurvey-scaled1000.jpg?w=500&#038;h=246" alt="Tlpsurvey" width="500" height="246" /></a></div>
<p>Over at Singly, we were curious what types of data people most cared about, and why. As an experiment, we surveyed 179 people, at a cost of twenty cents per person. Filling out the survey took on average 2 minutes and 13 seconds, meaning the effective hourly rate was $5.414. I would have expected more results if I offered more money for the survey, but this was just a small experiment.</p>
<p>The question was &#8220;What is your most important personal data?&#8221; users had to pick either:</p>
<ul>
<li>Contacts</li>
<li>Messages</li>
<li>Events</li>
<li>Check-ins</li>
<li>Links</li>
<li>Photos</li>
<li>Music</li>
<li>Movies</li>
<li>Browser History</li>
</ul>
<p>Not surprisingly, Photos won at a whopping 67 votes (37%). Here are the full results:</p>
<div class="p_embed p_image_embed"><img src="http://lockerproject1.files.wordpress.com/2011/08/screen_shot_2011-08-01_at_12-46-40_pm-scaled500.png?w=199&#038;h=326" alt="Screen_shot_2011-08-01_at_12" width="199" height="326" /></div>
<p>What was interesting is that people ranked Browser History, Links, Events, and Check-ins so low. Do people not care about where they went? Is this data considered stale to most people, and therefore irrelevant? I personally believe I can create a lot of value from Browser History and Check-ins. For example, what websites are my friends going to that I&#8217;m not? Also, what places should I be going that I&#8217;m not? These are just a couple of ideas.</p>
<p>This survey validates what I believe we already knew, that Photos, Contacts, and Messages were important collections to create. More importantly though, the second question &#8220;Why is that data the most important to you&#8221; explains *why* people feel are so passionate: (word cloud from all answers)</p>
<div class="p_embed p_image_embed"><a href="http://lockerproject1.files.wordpress.com/2011/08/cloud-scaled1000.png"><img src="http://lockerproject1.files.wordpress.com/2011/08/cloud-scaled1000.png?w=500&#038;h=212" alt="Cloud" width="500" height="212" /></a></div>
<p><strong>Photos</strong></p>
<p>&#8220;Photos are most important to me because they preserve mine and my family&#8217;s history. They are a way to show younger generations deceased family members they may have never gotten an opportunity to meet. The record both happy and sad memories, which are a part of every family&#8217;s existence.&#8221;</p>
<p>&#8220;Many of my photographs span back from childhood, thus they&#8217;re irreplaceable. Every other option on the list is unimportant, as they&#8217;re replaceable and don&#8217;t hold sentimental value.&#8221;</p>
<p><strong>Contacts</strong></p>
<p>&#8220;My contacts are the most important data because without then i can&#8217;t reach my family and my friends. I have all my costumers contacts and if i loose those contacts i can&#8217;t work. I make regular backups of my phone and email contacts.&#8221;</p>
<p>&#8220;Friends and family are important to me.&#8221;</p>
<p><strong>Messages</strong></p>
<p>&#8220;These days we all do most of our work through electronic communication. So most of my transaction details, confirmations, decisions taken, and documents, come and go through email. So messages are most important.&#8221;</p>
<p>&#8220;It&#8217;s important to me because I am a human being, and like every human being before me and those to come after me, I have secrets. These can be in the form of affairs, a half life (think LGBT) and other more sinister varieties. Secrets that no one but the people I choose, should know about, this is why this personal data is the most important to me. Data which if exposed, parts of my well built artificial life to satisfy a conservative society and family would come crashing down around me. I am presuming you also mean emails when you say messages. This is why this data is the most important for me. I hope I have been able to help you, thanks.&#8221;</p>
<p>If you would like to read on, the raw data is available at: <a href="https://spreadsheets.google.com/a/singly.com/spreadsheet/ccc?key=0Ak8IPGG6Z4dOdC1ROHQwRkhUMEtPQTNkNXFoMnQzcEE&amp;hl=en_US#gid=0"><br />
<a href="https://spreadsheets.google.com/a/singly.com/spreadsheet/ccc?key=0Ak8IPGG6Z4dOdC1ROHQwRkhUMEtPQTNkNXFoMnQzcEE&#038;hl=en_US#gid=0" rel="nofollow">https://spreadsheets.google.com/a/singly.com/spreadsheet/ccc?key=0Ak8IPGG6Z4dOdC1ROHQwRkhUMEtPQTNkNXFoMnQzcEE&#038;hl=en_US#gid=0</a><br />
</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/lockerproject1.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lockerproject1.wordpress.com/9/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.lockerproject.org&#038;blog=26421088&#038;post=9&#038;subd=lockerproject1&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.lockerproject.org/2011/08/01/survey-what-is-your-most-important-personal-data/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/97308e35e4b63a65f0b78d02df8a0739?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nymbot</media:title>
		</media:content>

		<media:content url="http://lockerproject1.files.wordpress.com/2011/08/tlpsurvey-scaled1000.jpg?w=300" medium="image">
			<media:title type="html">Tlpsurvey</media:title>
		</media:content>

		<media:content url="http://lockerproject1.files.wordpress.com/2011/08/screen_shot_2011-08-01_at_12-46-40_pm-scaled500.png?w=183" medium="image">
			<media:title type="html">Screen_shot_2011-08-01_at_12</media:title>
		</media:content>

		<media:content url="http://lockerproject1.files.wordpress.com/2011/08/cloud-scaled1000.png?w=300" medium="image">
			<media:title type="html">Cloud</media:title>
		</media:content>
	</item>
	</channel>
</rss>
