<?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>Eurion · RainCT's Blog &#187; gsoc2009</title>
	<atom:link href="http://bloc.eurion.net/archives/tag/gsoc2009/feed/" rel="self" type="application/rss+xml" />
	<link>http://bloc.eurion.net</link>
	<description>I would love to change the world, but they won't give me the source code...</description>
	<lastBuildDate>Wed, 17 Mar 2010 21:55:35 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>FOSDEM 2010</title>
		<link>http://bloc.eurion.net/archives/2010/im-going-to-fosdem/</link>
		<comments>http://bloc.eurion.net/archives/2010/im-going-to-fosdem/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 14:54:32 +0000</pubDate>
		<dc:creator>RainCT</dc:creator>
				<category><![CDATA[Planet GNOME]]></category>
		<category><![CDATA[Planet Ubuntu]]></category>
		<category><![CDATA[Planet Ubuntu.cat]]></category>
		<category><![CDATA[fosdem]]></category>
		<category><![CDATA[gsoc2009]]></category>
		<category><![CDATA[Programari lliure]]></category>
		<category><![CDATA[zeitgeist]]></category>

		<guid isPermaLink="false">http://bloc.eurion.net/?p=496</guid>
		<description><![CDATA[
By the way, if you&#8217;re coming too and are interested in Zeitgeist, don&#8217;t forget to poke me (or Seif)!


Related posts:Zeitgeist since UDS
Zeitgeist is out!
Introduction to Zeitgeist 0.2&#8217;s API
]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.fosdem.org"><img class="aligncenter" src="http://www.fosdem.org/promo/going-to" alt="I'm going to FOSDEM, the Free and Open Source Software Developers' European Meeting" /></a></p>
<p style="text-align: center;"><em>By the way, if you&#8217;re coming too and are interested in <a href="http://zeitgeist-project.com">Zeitgeist</a>, don&#8217;t forget to poke me (or <a href="http://seilo.geekyogre.com/">Seif</a>)!</em></p>


<p>Related posts:<ol><li><a href='http://bloc.eurion.net/archives/2009/zeitgeist-since-uds/' rel='bookmark' title='Permanent Link: Zeitgeist since UDS'>Zeitgeist since UDS</a></li>
<li><a href='http://bloc.eurion.net/archives/2009/zeitgeist-is-out/' rel='bookmark' title='Permanent Link: Zeitgeist is out!'>Zeitgeist is out!</a></li>
<li><a href='http://bloc.eurion.net/archives/2009/zeitgeist-api-02/' rel='bookmark' title='Permanent Link: Introduction to Zeitgeist 0.2&#8217;s API'>Introduction to Zeitgeist 0.2&#8217;s API</a></li>
</ol></p><hr />
<p><small>
<a href="http://bloc.eurion.net/archives/2010/im-going-to-fosdem/#comments">No comments</a><br />
© Siegfried-Angel Gevatter Pujals, 2010. |
<a href="http://bloc.eurion.net/archives/2010/im-going-to-fosdem/">Permalink</a> |
<a href="http://creativecommons.org/licenses/by-nc-sa/3.0/">License</a> |
Post tags: <a href="http://bloc.eurion.net/archives/tag/fosdem/" rel="tag">fosdem</a>, <a href="http://bloc.eurion.net/archives/tag/gsoc2009/" rel="tag">gsoc2009</a>, <a href="http://bloc.eurion.net/archives/tag/programari-lliure/" rel="tag">Programari lliure</a>, <a href="http://bloc.eurion.net/archives/tag/zeitgeist/" rel="tag">zeitgeist</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://bloc.eurion.net/archives/2010/im-going-to-fosdem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Here is Zeitgeist 0.2.1!</title>
		<link>http://bloc.eurion.net/archives/2009/here-is-zeitgeist-0-2-1/</link>
		<comments>http://bloc.eurion.net/archives/2009/here-is-zeitgeist-0-2-1/#comments</comments>
		<pubDate>Sun, 16 Aug 2009 22:45:37 +0000</pubDate>
		<dc:creator>RainCT</dc:creator>
				<category><![CDATA[Planet Ubuntu]]></category>
		<category><![CDATA[Planet Ubuntu.cat]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[gsoc2009]]></category>
		<category><![CDATA[Programari lliure]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[zeitgeist]]></category>

		<guid isPermaLink="false">http://bloc.eurion.net/?p=349</guid>
		<description><![CDATA[One month after the first Zeitgeist release (0.2), here is Zeitgeist 0.2.1! This version, which is fully backwards compatible with the previous release, fixes a couple of issues, provides enhanced performance and removes the dependency on Storm and on a patches PyGTK+ version.
Here is the full changelog:

- Added compatibility with Python version 2.5.
- Removed the [...]]]></description>
			<content:encoded><![CDATA[<p>One month after <a href="http://bloc.eurion.net/archives/2009/zeitgeist-is-out/">the first Zeitgeist release</a> (0.2), here is Zeitgeist 0.2.1! This version, which is fully backwards compatible with the previous release, fixes a couple of issues, provides enhanced performance and removes the dependency on <a href="https://storm.canonical.com/">Storm</a> and on a patches PyGTK+ version.</p>
<p>Here is the full changelog:<br />
<code><br />
- Added compatibility with Python version 2.5.<br />
- Removed the Storm dependency, obtaining general performance improvements.<br />
- Removed the need for a patched PyGTK.<br />
- Made the GtkRecentlyUser logger more robust (fixes an infinit loop on some<br />
systems).<br />
- Improved performance of DeleteItems and UpdateItems.<br />
- Fixed a problem with the contents of the EventsChanged signal.<br />
- Fixed InsertEvents to enforce "mimetype" as a required value.<br />
- Fixed a bug where the sorting_asc=True in FindEvents would be ignored if used<br />
together with mode="mostused" (LP: #404947).<br />
- Highly improved caching.<br />
- Added a "--quit" option to zeitgeist-daemon to stop any running daemon.<br />
- General code improvements, new test cases and other minor fixes.<br />
</code></p>
<p>Additionally, it also adds the possibility to use a list of strings (instead of just a single string) as value for the &#8220;uri&#8221; and &#8220;name&#8221; filters; if used, the condition between the different values in the list is OR (so you can do, for example, <code>"name": [u"%ubuntu%", u"%debian%"]</code> to get all those items with either &#8220;ubuntu&#8221; or &#8220;debian&#8221; in their name).</p>
<p><a href="https://launchpad.net/zeitgeist/+download">Go get it here!</a> (Note: Zeitgeist by itself doesn&#8217;t provide any user interface and shouldn&#8217;t be relevant to end users. However, a GTK+ interface depending on it should be available soon, followed by GNOME Shell and other products which will also use it.)</p>


<p>Related posts:<ol><li><a href='http://bloc.eurion.net/archives/2009/zeitgeist-since-uds/' rel='bookmark' title='Permanent Link: Zeitgeist since UDS'>Zeitgeist since UDS</a></li>
<li><a href='http://bloc.eurion.net/archives/2009/zeitgeist-is-out/' rel='bookmark' title='Permanent Link: Zeitgeist is out!'>Zeitgeist is out!</a></li>
<li><a href='http://bloc.eurion.net/archives/2009/zeitgeist-api-02/' rel='bookmark' title='Permanent Link: Introduction to Zeitgeist 0.2&#8217;s API'>Introduction to Zeitgeist 0.2&#8217;s API</a></li>
</ol></p><hr />
<p><small>
<a href="http://bloc.eurion.net/archives/2009/here-is-zeitgeist-0-2-1/#comments">2 comments</a><br />
© Siegfried-Angel Gevatter Pujals, 2009. |
<a href="http://bloc.eurion.net/archives/2009/here-is-zeitgeist-0-2-1/">Permalink</a> |
<a href="http://creativecommons.org/licenses/by-nc-sa/3.0/">License</a> |
Post tags: <a href="http://bloc.eurion.net/archives/tag/gnome/" rel="tag">gnome</a>, <a href="http://bloc.eurion.net/archives/tag/gsoc2009/" rel="tag">gsoc2009</a>, <a href="http://bloc.eurion.net/archives/tag/programari-lliure/" rel="tag">Programari lliure</a>, <a href="http://bloc.eurion.net/archives/tag/ubuntu/" rel="tag">Ubuntu</a>, <a href="http://bloc.eurion.net/archives/tag/zeitgeist/" rel="tag">zeitgeist</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://bloc.eurion.net/archives/2009/here-is-zeitgeist-0-2-1/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Introduction to Zeitgeist 0.2&#8217;s API</title>
		<link>http://bloc.eurion.net/archives/2009/zeitgeist-api-02/</link>
		<comments>http://bloc.eurion.net/archives/2009/zeitgeist-api-02/#comments</comments>
		<pubDate>Sun, 26 Jul 2009 17:51:43 +0000</pubDate>
		<dc:creator>RainCT</dc:creator>
				<category><![CDATA[Planet Ubuntu]]></category>
		<category><![CDATA[Planet Ubuntu.cat]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[gsoc2009]]></category>
		<category><![CDATA[Programari lliure]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[zeitgeist]]></category>

		<guid isPermaLink="false">http://bloc.eurion.net/?p=331</guid>
		<description><![CDATA[So now that Zeitgeist 0.2.0 is out I&#8217;ve thought I&#8217;d write down some examples of how to use it&#8217;s API to get information from it. Please keep in mind that this is a development version and the API isn&#8217;t guaranteed to be stable (and I can tell you now, many of them will change). If [...]]]></description>
			<content:encoded><![CDATA[<p>So now that <a href="http://bloc.eurion.net/archives/2009/zeitgeist-is-out/">Zeitgeist 0.2.0 is out</a> I&#8217;ve thought I&#8217;d write down some examples of how to use it&#8217;s API to get information from it. Please keep in mind that this is a development version and the API isn&#8217;t guaranteed to be stable (and I can tell you now, many of them will change). If you&#8217;re going to develop something for Zeitgeist it&#8217;s a good idea to come by and explain us what you&#8217;re doing (so that we can keep your use cases in mind and notify you in case of any important changes). This said, here we go.</p>
<p><strong>Installation</strong></p>
<p>If you use Ubuntu you can grab packages from <a href="https://launchpad.net/~zeitgeist/+archive/ppa">Zeitgeits&#8217;s PPA</a>, else <a href="https://launchpad.net/zeitgeist/+download">get the tarball</a> and install it (# make; make install). Once installed, start &#8220;zeitgeist-daemon&#8221; and leave it running in the background (at first it may be busy for some time going through all of your Firefox history, but after that you shouldn&#8217;t notice it).</p>
<p>Zeitgeist comes with a public Python module providing some convenience functions. This module makes it very easy to play with Zeitgeist from an interactive Python instance, which is something I recommend you to do while reading this post. Thanks to it, you can get access to Zeitgeist&#8217;s D-Bus interface simply doing: <code>from zeitgeist import dbusutils; iface = dbusutils.DBusInterface()</code>.</p>
<p><strong>API Examples</strong></p>
<p>For brevity, I&#8217;m only going to show some examples, but not explain what every parameter used in the call stands for. You&#8217;ll need to look at the <a href="http://docs.zeitgeist-project.com/api">DBus API documentation</a> to completely understand them.</p>
<p><em>Also, I&#8217;m using Python for the examples, but the same works with very little modifications in any other language (as long as it has D-Bus bindings).</em></p>
<p><code>iface.GetItems([u'file:///home/rainct/todo'])</code><br />
Returns a dictionary with basic information about the &#8220;todo&#8221; file in my home directory; uri, text (usually the filename), mimetype, tags, whether it&#8217;s bookmarked or not, etc. The values for some keys, like &#8220;timestamp&#8221;, are empty because they are only relevant for events, which are items put into a timeline (yes, this is a bit confusing, in future versions of Zeitgeist we will clearly differentiation between events and items).</p>
<p><code>iface.FindEvents(time.time() - 24*3600, time.time(), 5, False, 'event', [])</code><br />
Returns the five last events (or less, if less than five events where logged within the last twenty-four hours). If you opened the same file twice, it will have two events; to avoid this change <code>'event'</code> to <code>'item'</code>.</p>
<p><code>iface.FindEvents(0, 0, 10, True, 'event', [])</code><br />
Returns the ten first events ever registered with Zeitgeist which happened first <em>(the sorting is always done by timestamp, not by insertion order)</em>.</p>
<p><code>iface.FindEvents(0, 0, 2, False, 'mostused', [])</code><br />
Returns the last two events for to the items (URIs) which are used the most often.</p>
<p><code>iface.FindEvents(0, 0, 0, False, 'item', [{'tags': [u'zeitgeist'], 'bookmarked': True}])</code><br />
Returns all events (when there are more than one with the same URI, only the most recent of them because of the <code>'item'</code> parameter) which are bookmarked and have the tag &#8220;zeitgeist&#8221;.</p>
<p><code>iface.FindEvents(0, 0, 0, False, 'item', [{'tags': [u'zeitgeist']}, {'mimetypes': ['text/x-python'], 'bookmarked': True}])</code><br />
Returns all events (when there are more than one with the same URI, only the most recent of them because of the <code>'item'</code> parameter) which are bookmarked and have the tag &#8220;zeitgeist&#8221;.</p>
<p><code>iface.FindEvents(0, 0, 0, False, 'item', [{'tags': [u'zeitgeist', 'engine']}, {'mimetypes': ['text/x-python'], 'bookmarked': True}])</code><br />
Returns all events (without duplicated URIs) which either have the tags &#8220;zeitgeist&#8221; and &#8220;engine&#8221; or, alternatively, are Python files (determined by their mimetype) and are bookmarked.</p>
<p><code>iface.CountEvents(0, 0, 'item', [{'tags': [u'zeitgeist', 'engine']}, {'mimetypes': ['text/x-python'], 'bookmarked': True}])</code><br />
Same as above, but returning only the amount of results that the previous call would yield.</p>
<p><code>iface.FindApplications(time.time() - 3600*24*30, 0, [{'mimetypes': ['text/x-python']}])</code><br />
Returns the path to the .desktop files of all applications which were used to manipulate Python files within the last 30 days (eg., in my case: <em>[u'/usr/share/applications/geany.desktop', u'/usr/share/applications/gedit.desktop' ]</em>).</p>
<p><code>iface.GetTags(0, 0, 5, u'a%')</code><br />
Returns the five most used tags which start with &#8220;a&#8221; (case insensitive) in a list of tuples containing both the tag name and the amount of times it was used.</p>
<p><code>iface.GetLastInsertionDate(u'/usr/share/applications/gedit.desktop')</code><br />
Returns the timestamp of the last event related to Gedit.</p>
<p><code>iface.connect('EventsChanged', callback_function); import gobject; gobject.MainLoop.run()</code><br />
Calls <code>callback_function</code> every time a new event is inserted into the database or an existing one is modified. The callback function receives a list containing in the first place a string representing the type of change (&#8220;added&#8221;, &#8220;modified&#8221;, &#8220;deleted&#8221;) and in second place a list containing the affected events (or, in case of deletion, only a list with the deleted URIs).</p>


<p>Related posts:<ol><li><a href='http://bloc.eurion.net/archives/2009/zeitgeist-is-out/' rel='bookmark' title='Permanent Link: Zeitgeist is out!'>Zeitgeist is out!</a></li>
<li><a href='http://bloc.eurion.net/archives/2009/here-is-zeitgeist-0-2-1/' rel='bookmark' title='Permanent Link: Here is Zeitgeist 0.2.1!'>Here is Zeitgeist 0.2.1!</a></li>
<li><a href='http://bloc.eurion.net/archives/2010/zeitgeist-data-source-registry/' rel='bookmark' title='Permanent Link: Zeitgeist Data-Source Registry'>Zeitgeist Data-Source Registry</a></li>
</ol></p><hr />
<p><small>
<a href="http://bloc.eurion.net/archives/2009/zeitgeist-api-02/#comments">No comments</a><br />
© Siegfried-Angel Gevatter Pujals, 2009. |
<a href="http://bloc.eurion.net/archives/2009/zeitgeist-api-02/">Permalink</a> |
<a href="http://creativecommons.org/licenses/by-nc-sa/3.0/">License</a> |
Post tags: <a href="http://bloc.eurion.net/archives/tag/gnome/" rel="tag">gnome</a>, <a href="http://bloc.eurion.net/archives/tag/gsoc2009/" rel="tag">gsoc2009</a>, <a href="http://bloc.eurion.net/archives/tag/programari-lliure/" rel="tag">Programari lliure</a>, <a href="http://bloc.eurion.net/archives/tag/ubuntu/" rel="tag">Ubuntu</a>, <a href="http://bloc.eurion.net/archives/tag/zeitgeist/" rel="tag">zeitgeist</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://bloc.eurion.net/archives/2009/zeitgeist-api-02/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zeitgeist is out!</title>
		<link>http://bloc.eurion.net/archives/2009/zeitgeist-is-out/</link>
		<comments>http://bloc.eurion.net/archives/2009/zeitgeist-is-out/#comments</comments>
		<pubDate>Wed, 15 Jul 2009 12:55:08 +0000</pubDate>
		<dc:creator>RainCT</dc:creator>
				<category><![CDATA[Planet Ubuntu]]></category>
		<category><![CDATA[Planet Ubuntu.cat]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[gsoc2009]]></category>
		<category><![CDATA[Programari lliure]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[zeitgeist]]></category>

		<guid isPermaLink="false">http://bloc.eurion.net/?p=336</guid>
		<description><![CDATA[World, the first Zeitgeist release is out! From the release announcement (slightly modified):
«««
With great joy and excitement, the Zeitgeist Team is proud to announce Zeitgeist 0.2 codename: okidoki), the first public release of the ultimate service for event logging (yes, there was no 0.1 announcement, we are too cool for that).
Zeitgeist is an &#8220;Event Logging [...]]]></description>
			<content:encoded><![CDATA[<p>World, the first Zeitgeist release is out! From the <a href="https://launchpad.net/zeitgeist/+announcement/3212">release announcement</a> (slightly modified):</p>
<p>«««<br />
With great joy and excitement, the Zeitgeist Team is proud to announce Zeitgeist 0.2 codename: <em>okidoki</em>), the first public release of the ultimate service for event logging (yes, there was no 0.1 announcement, we are too cool for that).</p>
<p style="text-align: left;">Zeitgeist is an &#8220;Event Logging Framework&#8221; that provides cross application awareness of the desktop&#8217;s activities.</p>
<p>You worked on a file, but you cannot remember where you saved it? You visited a web page about basketball three days ago, but you cannot find the URL in your browser&#8217;s history? No problem, this is where Zeitgeist enters the scene. It knows a lot about your activities and has a feature rich D-Bus API which allows GUI applications like <a href="http://launchpad.net/gnome-zeitgeist">gnome-zeitgeist</a>, <a href="http://launchpad.net/zeitgeist-filesystem">zeitgeistfs</a> and others to present you your activities in a readable way.</p>
<p><span style="text-decoration: underline;">Highlights of the 0.2 release:</span><br />
* SQLite backend for central information storage.<br />
* D-Bus API with support for storing and retrieving the data (with lots of filtering options!).<br />
* Support for logging items and events from GtkRecentManager,<br />
Firefox, Tomboy, Evolution and Twitter. Plus plugins for Epiphany and Bazaar!</p>
<p>All this has been possible thanks to (in alphabetical order):<br />
Markus Korn, Mikkel Kamstrup, Natan Yellin, Seif Lotfy and Siegfried-Angel Gevatter!</p>
<p style="text-align: left;"><span style="text-decoration: underline;">Installing Zeitgeist</span></p>
<p style="text-align: left;">To install Zeitgeist just <a href="http://launchpad.net/zeitgeist/0.2/0.2/+download/zeitgeist-0.2.0.tar.gz">download the tarball</a>, extract it, and then run:<br />
<code>$ make<br />
# make install</code><br />
If you are using Ubuntu it&#8217;s recommended that you install the <a href="https://launchpad.net/~zeitgeist/+archive/ppa/">packages from our PPA</a>. Finally, you can start the daemon, like this:<br />
<code>$ zeitgeist-daemon</code><br />
»»»</p>


<p>Related posts:<ol><li><a href='http://bloc.eurion.net/archives/2009/here-is-zeitgeist-0-2-1/' rel='bookmark' title='Permanent Link: Here is Zeitgeist 0.2.1!'>Here is Zeitgeist 0.2.1!</a></li>
<li><a href='http://bloc.eurion.net/archives/2009/zeitgeist-api-02/' rel='bookmark' title='Permanent Link: Introduction to Zeitgeist 0.2&#8217;s API'>Introduction to Zeitgeist 0.2&#8217;s API</a></li>
<li><a href='http://bloc.eurion.net/archives/2009/zeitgeist-since-uds/' rel='bookmark' title='Permanent Link: Zeitgeist since UDS'>Zeitgeist since UDS</a></li>
</ol></p><hr />
<p><small>
<a href="http://bloc.eurion.net/archives/2009/zeitgeist-is-out/#comments">13 comments</a><br />
© Siegfried-Angel Gevatter Pujals, 2009. |
<a href="http://bloc.eurion.net/archives/2009/zeitgeist-is-out/">Permalink</a> |
<a href="http://creativecommons.org/licenses/by-nc-sa/3.0/">License</a> |
Post tags: <a href="http://bloc.eurion.net/archives/tag/gnome/" rel="tag">gnome</a>, <a href="http://bloc.eurion.net/archives/tag/gsoc2009/" rel="tag">gsoc2009</a>, <a href="http://bloc.eurion.net/archives/tag/programari-lliure/" rel="tag">Programari lliure</a>, <a href="http://bloc.eurion.net/archives/tag/ubuntu/" rel="tag">Ubuntu</a>, <a href="http://bloc.eurion.net/archives/tag/zeitgeist/" rel="tag">zeitgeist</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://bloc.eurion.net/archives/2009/zeitgeist-is-out/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Zeitgeist since UDS</title>
		<link>http://bloc.eurion.net/archives/2009/zeitgeist-since-uds/</link>
		<comments>http://bloc.eurion.net/archives/2009/zeitgeist-since-uds/#comments</comments>
		<pubDate>Fri, 03 Jul 2009 14:45:47 +0000</pubDate>
		<dc:creator>RainCT</dc:creator>
				<category><![CDATA[Planet Ubuntu]]></category>
		<category><![CDATA[Planet Ubuntu.cat]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[gsoc2009]]></category>
		<category><![CDATA[Programari lliure]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[zeitgeist]]></category>

		<guid isPermaLink="false">http://bloc.eurion.net/?p=324</guid>
		<description><![CDATA[Quite some stuff has been going on in Zeitgeist since UDS, including the addition of two new developers to our team: Mikkel Kamstrup and Markus Korn, who both have been doing awesome work!
As planned, we split the project into the engine (Zeitgeist) and the default graphical user interface (GNOME Activity Journal), but during this time [...]]]></description>
			<content:encoded><![CDATA[<p>Quite some stuff has been going on in Zeitgeist since <a href="http://bloc.eurion.net/archives/2009/uds-2009/">UDS</a>, including the addition of two new developers to our team: <a href="https://edge.launchpad.net/~kamstrup">Mikkel Kamstrup</a> and <a href="https://launchpad.net/~thekorn">Markus Korn</a>, who both have been doing awesome work!</p>
<p>As planned, we split the project into the engine (<a href="https://launchpad.net/zeitgeist">Zeitgeist</a>) and the default graphical user interface (<a href="https://launchpad.net/gnome-zeitgeist">GNOME Activity Journal</a>), but during this time we also dropped our old database to start with a completely <a href="http://live.gnome.org/GnomeZeitgeist/DatabaseDesign">new structure</a> which is way more flexible and uses less disk space than our previous one.</p>
<p>Not so positively, some team members wanted to try out an ORM (<a href="https://storm.canonical.com/">Storm</a>), which from the start one I thought was a bad idea (it&#8217;s not that I can&#8217;t see the convenience for using one in certain projects, but for Zeitgeist, an engine mainly constituted by a little set of rather complex queries, I don&#8217;t really see how it can help us). Doing this -at the same time as the switch the the new database model- ended up as a pretty demotivating experience, and while we got it working at the end the result was an engine which worked slow (even with caching) and used lots of resources, so we&#8217;ve decided to go back to plain SQL.</p>
<p>Right now we still have a mix (we&#8217;ll probably finish quicking out the remaining Storm parts within the next weeks), but I already changed the main information request methods to SQL, thus reducing common operations from requiring up to thousands of queries to doing only a single one, doubling the speed while reducing memory usage. I hope to get further performance improvements while converting the remaining parts (for example, inserting data currently takes way more time than I&#8217;d like).</p>
<p>We also cleaned up the D-Bus API (it was pretty much of a mess before, just enough for the GUI to work) and added more functionality to it. However, it may still undergo substantial changes in future versions once we start making more use of the added flexibility the new database gives us (for example, for the 0.2 release we&#8217;ll probably split up tags into &#8220;user defined tags&#8221; and &#8220;automatically assigned tags&#8221;). Unrelated to this, Markus has started working at making it possible to configure and enable/disable loggers, so there&#8217;s also some cool stuff coming from this front (but nothing visible yet).</p>
<p>Just some random notes&#8230; You can read more about Zeitgeist at Seif&#8217;s blog, in his recent blog post &#8220;<a href="http://seilo.geekyogre.com/2009/07/some-zeitgeist-news/">Some Zeitgeist news</a>&#8220;, and if you have any comment you can come find us in #gnome-zeitgeist on GIMPnet . I&#8217;m now going back to work: after all, today we&#8217;re going to release <strong>Zeitgeist 0.1 (development preview)</strong>!</p>


<p>Related posts:<ol><li><a href='http://bloc.eurion.net/archives/2009/here-is-zeitgeist-0-2-1/' rel='bookmark' title='Permanent Link: Here is Zeitgeist 0.2.1!'>Here is Zeitgeist 0.2.1!</a></li>
<li><a href='http://bloc.eurion.net/archives/2009/zeitgeist-api-02/' rel='bookmark' title='Permanent Link: Introduction to Zeitgeist 0.2&#8217;s API'>Introduction to Zeitgeist 0.2&#8217;s API</a></li>
<li><a href='http://bloc.eurion.net/archives/2009/zeitgeist-is-out/' rel='bookmark' title='Permanent Link: Zeitgeist is out!'>Zeitgeist is out!</a></li>
</ol></p><hr />
<p><small>
<a href="http://bloc.eurion.net/archives/2009/zeitgeist-since-uds/#comments">One comment</a><br />
© Siegfried-Angel Gevatter Pujals, 2009. |
<a href="http://bloc.eurion.net/archives/2009/zeitgeist-since-uds/">Permalink</a> |
<a href="http://creativecommons.org/licenses/by-nc-sa/3.0/">License</a> |
Post tags: <a href="http://bloc.eurion.net/archives/tag/gnome/" rel="tag">gnome</a>, <a href="http://bloc.eurion.net/archives/tag/gsoc2009/" rel="tag">gsoc2009</a>, <a href="http://bloc.eurion.net/archives/tag/programari-lliure/" rel="tag">Programari lliure</a>, <a href="http://bloc.eurion.net/archives/tag/ubuntu/" rel="tag">Ubuntu</a>, <a href="http://bloc.eurion.net/archives/tag/zeitgeist/" rel="tag">zeitgeist</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://bloc.eurion.net/archives/2009/zeitgeist-since-uds/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>UDS 2009</title>
		<link>http://bloc.eurion.net/archives/2009/uds-2009/</link>
		<comments>http://bloc.eurion.net/archives/2009/uds-2009/#comments</comments>
		<pubDate>Sat, 30 May 2009 13:07:42 +0000</pubDate>
		<dc:creator>RainCT</dc:creator>
				<category><![CDATA[Planet Ubuntu]]></category>
		<category><![CDATA[Planet Ubuntu.cat]]></category>
		<category><![CDATA[gsoc2009]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[UDS]]></category>

		<guid isPermaLink="false">http://bloc.eurion.net/?p=305</guid>
		<description><![CDATA[This being the first time I&#8217;m in person at a UDS, I know how difficult it is to follow it remotely and thus my intention was to blog about it daily, but now that I&#8217;ve been there I see why there aren&#8217;t many people doing this &#8211; it&#8217;s just too busy ;).
Anyway, now that it&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>This being the first time I&#8217;m in person at a UDS, I know how difficult it is to follow it remotely and thus my intention was to blog about it daily, but now that I&#8217;ve been there I see why there aren&#8217;t many people doing this &#8211; it&#8217;s just too busy ;).</p>
<p>Anyway, now that it&#8217;s over I really need to write down some notes. Here you go:</p>
<p><strong>Fast development, and fast packaging of Python applications</strong></p>
<p>The two first sessions I attended after the opening were «<a href="https://blueprints.launchpad.net/ubuntu/+spec/desktop-karmic-application-layer-cake">Quickly project templates</a>» and «<a href="https://blueprints.launchpad.net/ubuntu/+spec/desktop-karmic-automagic-python-build-system">Automagic Python Build System</a>». The first one about creating a tool (named «quickly») for opportunistic programmers to create little applications, and the second one about creating an improved distutils where the setup.py file only need to contain meta-data (name of the application, name and e-mail of the author, license&#8230;) and everything else is automatically detected (which files should be installed where, which shouldn&#8217;t be installed at all, whether gettext files need to be compiled, etc.); further, this distutils would create a Debian package. As was mentioned during the discussion, this won&#8217;t work for everyone, but for the 80% of cases where it works it&#8217;ll be great.</p>
<p><strong><a href="https://blueprints.launchpad.net/ubuntu/+spec/foundations-karmic-apturl-policy">AptURL Policy Discussion</a></strong></p>
<p>The discussion was about whether it AptURL should work for PPAs and other external repositories. <a href="https://launchpad.net/~asac">Alexander</a> proposed to use a whitelisting approach where PPA owners could agree to a policy (not adding new packages without asking, etc.) and get approved for AptURL, but others felt this is not enough. There was no consensus at all during the session (other than perhaps that it&#8217;s too difficult to enable third party repositories, but the fix to this not necessarily being AptURL).</p>
<p><strong><a href="https://blueprints.launchpad.net/ubuntu/+spec/ubuntu-mobile-voice-user-interface">Proposal for Voice Driven User Interface</a></strong></p>
<p>This was a great sessions where we discussed the status and possibilities of controling the computer using voice. The conclusion was that for Karmic we would attempt to get the required tools in place and after that we&#8217;d try to get the community engaged to create enough <a href="http://voxforge.org">speech corpora</a>. This includes creating a mailing list to discuss voice interfaces and getting Pocketsphinx packaged; see the wiki page for more details.</p>
<p>If someone wants to start playing with this, <a href="http://packages.ubuntu.com/search?keywords=julius">Julius</a> (another speech recognition engine) is already packaged since Intrepid and some time ago I wrote about <a href="http://bloc.eurion.net/archives/2008/writing-a-command-and-control-application-with-voice-recognition/">how to use it to control applications</a> (including instructions to setup some basic commands to control Rhythmbox).</p>
<p><strong>Zeitgeist</strong></p>
<p>I met <a href="http://seilo.geekyogre.com/">Seif</a>, <a href="http://bloc.eurion.net/archives/2009/im-in-google-summer-of-code/">my Google Summer of Code</a> mentor, and we discussed not only the GSoC project (thanks to <a href="http://jassmith.wordpress.com/">Jason</a> we have a pretty cool idea for how it could look like) but also all of Zeitgeist in general (btw, I&#8217;m a Maintainer of the project by now).</p>
<p>During UDS we decided that the project will split into Zeitgeist (containing just the engine, its only GNOME-specific dependency being glib/gobjects) and GNOME Zeitgeist (the default, GTK+, GUI), and we discussed several future plugins for it (time-machine functionality for non-binary documents using <a href="http://bazaar-vcs.org/">Bazaar</a>, optional tracker integration, etc.).</p>
<p>Zeitgeist (the engine) is not only going to be used for GNOME Shell (GSoC) but also for the <a href="https://blueprints.launchpad.net/ubuntu/+spec/zeitgeist-for-unr-favorites">Ubuntu Netbook Remix&#8217;s launcher</a> (first as a prototype Python plugin, and once it has been tested that it works it&#8217;ll be put into the core) and for Ubuntu&#8217;s Parental Control, which was discussed at UDS as well.</p>
<p>Other than the GNOME Do and the UNR folks, <a href="https://launchpad.net/~persia">Emmet</a> also helped us planning Zeitgeist and I&#8217;m really happy to have finally meet him in person. Further, we also spoke with <a href="https://launchpad.net/~doctormo">Martin Owens</a> about how <a href="https://launchpad.net/coisas">Coisas</a> could integrate with Zeitgeist.</p>
<p><strong><a href="https://blueprints.launchpad.net/ubuntu/+spec/desktop-karmic-gnome-3">GNOME 3</a></strong></p>
<p>We want to get everything inside Karmic available as a &#8220;developer preview&#8221;. I&#8217;ll get the Zeitgeist engine into Debian as soon as we have it ready. GNOME Shell will be packaged too (outside the session, <a href="https://launchpad.net/~fta">Fabien</a> expressed interest in providing daily builds for all components in a PPA; I told him that I&#8217;d poke him once mutter has been fixed to be installable together with metacity).</p>
<p><strong><a href="https://blueprints.launchpad.net/ubuntu/+spec/rsync-based-deb-downloads">Speed up downloads of .debs by using rsync algorithm</a></strong></p>
<p>Zsync will be benchmarked (bandwidth, CPU use, etc.) and considered for packages (.deb) and for Source files. For the later, we discussed providing a Sources.lzma for the first-time download, and a &#8211;rsyncable Sources.gz for updates from there on.</p>
<p>Testing will be done with a separate server (zsync.ubuntu.com) which will provide the files needed by zsync; this will help determine the impact before doing any change to the mirrors.</p>
<p><strong><a href="https://blueprints.launchpad.net/ubuntu/+spec/package-license-tracking">Proposal to Record and Track Copyright Licensing for Packages</a></strong></p>
<p>Reasons why the <a href="http://dep.debian.net/deps/dep5/">machine-readable debian/copyright format</a> is interesting were discussed (between others, use by Canonical OEM was mentioned). We want to help pushing the format in Debian, and it was mentioned that work on tools to parse it will happen. From the Canonical side a goal is to get all packages in «main» using it.</p>
<p><strong><a href="https://blueprints.launchpad.net/ubuntu/+spec/desktop-karmic-death-by-100-paper-cuts">Death By a Hundred Paper Cuts</a></strong></p>
<p>Discussion with Canonical&#8217;s Design Team on what&#8217;s the best way to communicate with developers. A new project (<em>papercuts</em>) will be setup in Launchpad to identify issues which are of «wishlist» importance in Ubuntu but are important from the design perspective; such issues will be identified both looking at existing bug reports and doing user testing.</p>
<p><em>Paper cuts</em> were defined as little problems which are easy to fix but are a usability problem. For example, during user testing it was found that users though that the icon in Nautilus to switch between showing the current path as text or as buttons was to create a new icon. For this example, the desktop team confirmed that it is very easy to fix from a coding perspective, but that someone else has to provide them with a replacement icon first.</p>
<p>It was also mentioned that this project is going to be 100% open and that anyone is encouraged to participate. And also, that it&#8217;s better to fix 5 of those bugs which are easy than a single more difficult one.</p>
<p><strong>Mozilla Prism</strong></p>
<p>I had an informal talk with <a href="https://launchpad.net/~fta">Fabien</a> (and <a href="https://launchpad.net/~asac">Alexander</a>) about packaging of web applications for <a href="http://labs.mozilla.com/2007/10/prism/">Prism</a>. We agreed that rather than providing lots of binary packages it was best to go with <a href="https://blueprints.launchpad.net/ubuntu/+spec/desktop-karmic-prism-webapp-repository">a repository specific to Prism</a>, distribution neutral, which will contain .desktop files (with translations et all) and one or more links to the icons to use (this way we avoid copyright problems as we aren&#8217;t going to host any icon at all). The repository will be provided as a package in Ubuntu, but it will be possible for users to switch to third-party ones on the web.</p>
<p>On the visible part of this, there&#8217;ll be a new GUI instead of Prism&#8217;s default one, which will allow to easily install/uninstall web applications (Prism&#8217;s GUI will still be available, of course, to allow adding arbirtrary websites). I&#8217;ll get a prototype ready and from there one we can see how it advances (get feedback from users, upstream, other distributions, etc; some stuff I&#8217;m thinking about right now is possible integration directly in Firefox or Add/Remove, we&#8217;ll see). Oh, and all this will work without super-user privileges, any user will be able to «install» Prism applications, but a system-wide mode could be implemented too.</p>
<p><strong>Other random notes</strong></p>
<ul style="text-align: left;">
<li> The goal for Karmic is to boot in 15 seconds; as was said, this is a rather aggresive number, but boot speed is important and one of the first impressions users get about Ubuntu, so it is important to be really good here. Once the boot time is that fast, ensuring that there are no regressions in this respect will be fundamental (it will be something as important as CD size). Ah, and this isn&#8217;t going to be done by delaying startup, it&#8217;s real.</li>
<li><a href="http://canonical.com">Canonical</a> is working on having Android applications work on Ubuntu, without emulation (we saw a prototype of this, but lots of work are still required). Android will be integrated into Ubuntu&#8217;s kernel. It was also mentioned that, even though Android&#8217;s compiler isn&#8217;t Java compliant, it could be used to develop some fast applications for the desktop. Unrelated to this, we also saw a presentation of Moblin running on Ubuntu.</li>
<li><a href="https://launchpad.net/~scottritchie">Scott Ritchie</a> presented winelib as a convenient option to port Windows applications to GNU/Linux.</li>
<li>Fennex was mentioned as a browser candidate for <a href="http://www.canonical.com/projects/ubuntu/unr">UNR</a>, but it is too touch-device oriented (which is good, but only as long as it can also easily be used with the mouse, which here isn&#8217;t the case).</li>
<li>Bazaar rocks, as was discovered during the &#8220;Plans for Bazaar after 2.0&#8243; session.</li>
<li>I asked a couple persons (ie., <a href="https://launchpad.net/~james-w">James Westby</a> and a Launchpad developer) about Archive Reorganization. The answer was that work is on progress but there&#8217;s no firm deatline for when it will be ready (it may be there by Karmic+1, though).</li>
<li><a href="https://launchpad.net/~vorlon">Steve</a> organized a key signing party and by now my GPG key has been signed by several Debian Developers :D. Around 40 people participated. I want to use this chance to tank <a href="https://launchpad.net/~kitterman">Scott Kitterman</a> again for helping me get postfix running with GMail so that I can send out the signatures with <a href="http://packages.ubuntu.com/signing-party">caff</a>.</li>
<li><a href="https://launchpad.net/~scott">Scott James</a> helped me get <a href="http://merges.ubuntu.com">MoM</a> running MoM on my laptop (for this fixing a couple bugs at astonishing speed), so once I get a moment I&#8217;ll finally work on <a href="https://bugs.launchpad.net/merge-o-matic/+bug/252414">letting it look nice</a>.</li>
<li>Last but not least, UDS was absolutelly awesome and it was great meeting lots of people from IRC in person (guys, you know who you are :)).</li>
</ul>
<p>So, to finish this post I just want to mention that you can find a list of all sessions (with links to blueprints and wiki pages) at <a href="http://summit.ubuntu.com/uds-karmic/">summit.ubuntu.com</a> (you need a Launchpad account to enter the page) and notes about the discussions on Gobby (server: <em>gobby.ubuntu.com</em>).</p>
<p>By the way, like I&#8217;ve already told some people, after this amazing week I&#8217;ll be busy with exams for the next two weeks, so wish me luck and if you&#8217;re looking for me be aware that I may not get online much during this time.</p>


<p>Related posts:<ol><li><a href='http://bloc.eurion.net/archives/2009/zeitgeist-since-uds/' rel='bookmark' title='Permanent Link: Zeitgeist since UDS'>Zeitgeist since UDS</a></li>
<li><a href='http://bloc.eurion.net/archives/2010/gnome-activity-journal-and-installing-it-on-ubuntu/' rel='bookmark' title='Permanent Link: GNOME Activity Journal, and installing it on Ubuntu'>GNOME Activity Journal, and installing it on Ubuntu</a></li>
<li><a href='http://bloc.eurion.net/archives/2009/zeitgeist-api-02/' rel='bookmark' title='Permanent Link: Introduction to Zeitgeist 0.2&#8217;s API'>Introduction to Zeitgeist 0.2&#8217;s API</a></li>
</ol></p><hr />
<p><small>
<a href="http://bloc.eurion.net/archives/2009/uds-2009/#comments">5 comments</a><br />
© Siegfried-Angel Gevatter Pujals, 2009. |
<a href="http://bloc.eurion.net/archives/2009/uds-2009/">Permalink</a> |
<a href="http://creativecommons.org/licenses/by-nc-sa/3.0/">License</a> |
Post tags: <a href="http://bloc.eurion.net/archives/tag/gsoc2009/" rel="tag">gsoc2009</a>, <a href="http://bloc.eurion.net/archives/tag/ubuntu/" rel="tag">Ubuntu</a>, <a href="http://bloc.eurion.net/archives/tag/uds/" rel="tag">UDS</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://bloc.eurion.net/archives/2009/uds-2009/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>I&#8217;m in Google Summer of Code!</title>
		<link>http://bloc.eurion.net/archives/2009/im-in-google-summer-of-code/</link>
		<comments>http://bloc.eurion.net/archives/2009/im-in-google-summer-of-code/#comments</comments>
		<pubDate>Sat, 02 May 2009 18:59:24 +0000</pubDate>
		<dc:creator>RainCT</dc:creator>
				<category><![CDATA[Planet Ubuntu]]></category>
		<category><![CDATA[Planet Ubuntu.cat]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[gsoc2009]]></category>

		<guid isPermaLink="false">http://bloc.eurion.net/?p=270</guid>
		<description><![CDATA[First of all I&#8217;ll introduce myself for the new readers from Planet SoC and Planet GNOME. I&#8217;m 18 years old, live in Catalonia (but was born and lived in Germany before, my father being from there), I&#8217;m about to finish Technology Baccalaureate (after the summer I&#8217;ll start studying Computer Engineering) and I&#8217;ve been a GNU/Linux [...]]]></description>
			<content:encoded><![CDATA[<p>First of all I&#8217;ll introduce myself for the new readers from <a href="http://planet-soc.com/">Planet SoC</a> and <a href="http://planet.gnome.org/">Planet GNOME</a>. I&#8217;m 18 years old, live in Catalonia (but was born and lived in Germany before, my father being from there), I&#8217;m about to finish Technology Baccalaureate (after the summer I&#8217;ll start studying Computer Engineering) and I&#8217;ve been a GNU/Linux user for a bunch of years now; in fact, I&#8217;m an Ubuntu Developer and I intend to start <a href="http://www.debian.org/devel/join/newmaint">Debian NM</a> soon.</p>
<p>Now that you know I exist, I&#8217;m happy to announce that I&#8217;ve been accepted for <a href="http://code.google.com/soc/">Google Summer of Code</a> and that I&#8217;ll be working for GNOME this summer :). But what exactly will my project be, you may wonder?</p>
<p>Well, so there&#8217;s that <a href="http://bloc.eurion.net/archives/2008/installing-gnome-shell-in-ubuntu-intrepid/">GNOME Shell</a> thing I&#8217;ve written about before [0], and although less known there&#8217;s also that other project called <a href="http://live.gnome.org/GnomeZeitgeist">GNOME Zeitgeist</a>, which consists in logging all your activity -files you open, websites you visit, etc.- and providing you with a journal of it so that you can easily find stuff you were working on &#8220;the other day&#8221;, but it also has other handy features like establishing relationships between files which can then be searched for [1]. My project consists in integrating Zeitgeist into the former.</p>
<p>For this, I&#8217;ll be working on GNOME Shell to pull the data from Zeitgeist over D-Bus (adding a D-Bus interface to it was initially part of my project, but somehow I got involved in Zeitgeist soon after submitting my application I&#8217;ve already done this by now :)) and display it nicely in its Clutter interface. This will be done in the &#8220;Recent documents&#8221; space, but I also have ideas for putting Zeitgeist bits into other places; more about this in a month, when I&#8217;ll start working on it.</p>
<p>Ah, my mentor on this will be <a href="http://seilo.geekyogre.com/">Seif Lotfy</a>, the lead developer of Zeitgeist. Here you have a sample of his great predisposition to help: «<em>&lt;seiflotfy1&gt; don&#8217;t make me feel clueless, or I will destroy u</em>» (sorry Seif, I really had to quote this! :P).</p>
<p style="font-size: small">[0] In case you don&#8217;t know what GNOME Shell is, it&#8217;s basically a redesign of the desktop replacing gnome-panel and the visible Metacity stuff.<br />
[1] By the way, <a href="http://lwn.net/">LWN</a> recently wrote about both projects in <a href="http://lwn.net/Articles/329905/">«Shell and Zeitgeist: the future of GNOME?</a>».</p>


<p>Related posts:<ol><li><a href='http://bloc.eurion.net/archives/2009/zeitgeist-since-uds/' rel='bookmark' title='Permanent Link: Zeitgeist since UDS'>Zeitgeist since UDS</a></li>
<li><a href='http://bloc.eurion.net/archives/2009/zeitgeist-is-out/' rel='bookmark' title='Permanent Link: Zeitgeist is out!'>Zeitgeist is out!</a></li>
<li><a href='http://bloc.eurion.net/archives/2009/here-is-zeitgeist-0-2-1/' rel='bookmark' title='Permanent Link: Here is Zeitgeist 0.2.1!'>Here is Zeitgeist 0.2.1!</a></li>
</ol></p><hr />
<p><small>
<a href="http://bloc.eurion.net/archives/2009/im-in-google-summer-of-code/#comments">10 comments</a><br />
© Siegfried-Angel Gevatter Pujals, 2009. |
<a href="http://bloc.eurion.net/archives/2009/im-in-google-summer-of-code/">Permalink</a> |
<a href="http://creativecommons.org/licenses/by-nc-sa/3.0/">License</a> |
Post tags: <a href="http://bloc.eurion.net/archives/tag/gnome/" rel="tag">gnome</a>, <a href="http://bloc.eurion.net/archives/tag/gsoc2009/" rel="tag">gsoc2009</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://bloc.eurion.net/archives/2009/im-in-google-summer-of-code/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>
