<?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&#039;s Blog &#187; zeitgeist</title>
	<atom:link href="http://bloc.eurion.net/archives/tag/zeitgeist/feed/" rel="self" type="application/rss+xml" />
	<link>http://bloc.eurion.net</link>
	<description>I would love to change the world, but they won&#039;t give me the source code...</description>
	<lastBuildDate>Sun, 22 Aug 2010 22:14:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Yet another GUADEC post</title>
		<link>http://bloc.eurion.net/archives/2010/yet-another-guadec-post/</link>
		<comments>http://bloc.eurion.net/archives/2010/yet-another-guadec-post/#comments</comments>
		<pubDate>Tue, 03 Aug 2010 13:14:38 +0000</pubDate>
		<dc:creator>RainCT</dc:creator>
				<category><![CDATA[Planet GNOME]]></category>
		<category><![CDATA[Planet Ubuntu]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[guadec]]></category>
		<category><![CDATA[zeitgeist]]></category>

		<guid isPermaLink="false">http://bloc.eurion.net/?p=599</guid>
		<description><![CDATA[I haven&#8217;t blogged for quite a few weeks, so I guess it&#8217;s time I revive my blog, and what better way to do this than writing about how awesome GUADEC was? :) Saturday 25 I went to the Barcelona airport to take a plane at twelve. The plane started almost two hours later because part [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-thumbnail wp-image-432" title="gnome-sponsored-badge" src="http://bloc.eurion.net/wp-content/uploads/2009/11/gnome-sponsored-badge-150x150.png" alt="gnome-sponsored-badge" width="150" height="150" /></p>
<p>I haven&#8217;t blogged for quite a few weeks, so I guess it&#8217;s time I revive my blog, and what better way to do this than writing about how awesome <a href="http://2010.guadec.org/">GUADEC</a> was? :)</p>
<p><strong>Saturday 25</strong></p>
<p>I went to the Barcelona airport to take a plane at twelve. The plane started almost two hours later because part of the airport was closed for inspection or something, but I finally arrived at Amsterdam. There I took a train to Den Haag and after half an hour of enjoying the green view through the window I arrived at Central Station.</p>
<p>Ten minutes later I entered <a href="http://www.accorhotels.com/gb/hotel-1317-mercure-den-haag-central/index.shtml">the hotel</a> and found Clemens and the others from <a href="http://inventedhere.de/">invented here</a>. We went to <a href="http://revspace.nl/">RevSpace</a> for a while. There wasn&#8217;t much going on (the <a href="http://www.gnu.org/ghm/2010/denhaag/">GNU Hackers meeting</a> was already over), but I think the place is pretty cool. Too bad there seems to be no<a href="http://hackerspaces.org/"> hackerspace</a> in Barcelona&#8230;</p>
<p>After a while we went out for dinner, and sitting at the restaurant we found <a href="http://www.vuntz.net/">Vincent</a>. Back at the hotel I had a drink with some Canonical folks, and finally I went to sleep and discovered who my room mate would be: <a href="http://identi.ca/jjmarin">Juanjo</a>.</p>
<p><strong>Monday 26 &amp; Tuesday 27<br />
</strong></p>
<p>On Monday I went to the <a href="http://inventedhere.de/the-first-two-guadec-open-design-thinking-workshops">design thinking workshop</a> out of curiosity for what that&#8217;d be, and it turned out to be an interesting experience. I&#8217;d have preferred if they had chosen another topic, though, since &#8220;<em>How might we simplify the handling of digital information?</em>&#8221; is something I&#8217;ve been <a href="http://zeitgeist-project.com">working on</a> and thinking about for the past year so I have my mind pretty much made up on this topic.</p>
<p>I met several Google <a href="http://perditusinventusque.blogspot.com/2010/05/gnome-shell-message-tray.html">Summer</a> <a href="https://launchpad.net/~hmpoumpouka">of</a> <a href="http://freesteph.info/">Code</a> <a href="http://attente.ca/">students</a> and the GNOME Shell team, I infiltrated myself into the GSoC dinner and participated in the soccer match Tuesday evening.</p>
<p><strong>Wednesday 28</strong></p>
<p><a href="http://guadec.org/index.php/guadec/2010/schedConf/program">Wednesday</a>, my first GUADEC starts! Opening talk, Web, Who makes GNOME, State of GNOME Shell, Shell Yes!, GNOME: <a href="http://guadec.org/index.php/guadec/2010/paper/view/12">State of the Union</a> (most funny talk ever), Crypto, Clutter, Clutter.</p>
<p>See <a href="http://guadec.org/index.php/guadec/index/announcement/view/23">the GUADEC blog</a> and Steph&#8217;s <a href="http://freesteph.info/post2010/07/27/First-day-at-GUADEC">blog</a> <a href="http://freesteph.info/post/2010/07/28/The-coolest-roadmap-I-ve-seen">posts</a> for more details.</p>
<p>Once the venue closed I went with Will and Steph to the Canonical party and <a title="don't ask :P"><em>eventually</em></a> we arrived there.</p>
<p><strong>Thursday 29</strong></p>
<p>After just five hours of needed sleep I had <a href="http://seilo.geekyogre.com/">Seif</a> on the phone waking me up. He and <a href="http://reflaction.info/">Thorsten</a> had just arrived, and we started working on the slides for our talk. I went to the Haagse Hogeschool and assisted to part of Emmanuele&#8217;s &#8220;So you think you can release?&#8221; talk. Then, after <a href="http://kakaroto.homelinux.net/">Youness</a> joined us, we finished this: <a href="http://bloc.eurion.net/wp-content/uploads/2010/07/Zeitgeist-Slides-GUADEC-2010.pdf">Zeitgeist Slides &#8211; GUADEC 2010</a>, and finally it was time for our presentation where we talked about the state of <a href="http://zeitgeist-project.com">Zeitgeist</a> and introduced <a href="http://gitorious.org/teamgeist">Teamgeist</a>.</p>
<p>I attended several other talks (JavaScript, How a Free Desktop can help -and hinder- Free Speech, GNOME 3 and Your Application and Malware threats to a Linux Desktop by Thorsten Sick), and finally there was a GNOME Shell dinner at an Indian place. After that we all went to the Collabora Beach Party until they started closing up.</p>
<p>See also: <a href="http://guadec.org/index.php/guadec/index/announcement/view/24">GUADEC blog</a>, <a href="http://freesteph.info/post/2010/07/29/Second-day-at-GUADEC">Steph&#8217;s blog</a>.</p>
<p><strong>Friday 30</strong></p>
<p><a href="http://blogs.gnome.org/abustany/">Adrien</a> familiarized us with his work making it easy to <a href="http://guadec.org/index.php/guadec/2010/paper/view/83">making GNOME more connected</a> by accessing online information through Tracker, there was more talk about how we need to embrace the web (using web technologies for easier development and also integrating online data into our applications was a very recurring topic all along GUADEC), Fabrice Mous keynote gave me another example of how governments suck at throwing money around, there was a talk on the future of Cairo and finally Danilo talked about Launchpad.</p>
<p>GUADEC closed with the announcement that the next Desktop Summit will be in Berlin (cool, maybe I&#8217;ll get to see the <a href="http://www.c-base.org/">c-base</a> then?) and after helping clean up the kilometric mess of network cables (btw, kudos to everyone who helped organizing GUADEC &#8211; you guys rock!) I headed to the RevSpace again for the afterparty for ice cream and many games of pinball! On the way back to the hotel <a href="http://blogs.gnome.org/otte/2010/07/30/highlights-of-guadec-2010/">Benjamin</a> explained me his secret plans for breaking GNOME.</p>
<p>Again, more <a href="http://guadec.org/index.php/guadec/index/announcement/view/26">here</a> and <a href="http://freesteph.info/post/2010/07/30/Final-day-at-GUADEC">here</a>.</p>
<p><strong>Satuday 31<br />
</strong></p>
<p>Slept until late, hanged around in the hotel lobby for some hours with some other guys (I also passed by RevSpace to see if I could find anyone there, no luck) and finally I took the train back to Amsterdam, ate something there, and for a change I had to wait one hour for the plane to arrive. I&#8217;m back in normal life now, but the next GUADEC is only one year away :).</p>


<p>Related posts:<ol><li><a href='http://bloc.eurion.net/archives/2009/zeitgeist-hackfest-2009/' rel='bookmark' title='Permanent Link: Zeitgeist Hackfest'>Zeitgeist Hackfest</a></li>
</ol></p><hr />
<p><small>
<a href="http://bloc.eurion.net/archives/2010/yet-another-guadec-post/#comments">3 comments</a><br />
© Siegfried-Angel Gevatter Pujals, 2010. |
<a href="http://bloc.eurion.net/archives/2010/yet-another-guadec-post/">Permalink</a> |
<a rel="license" 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/guadec/" rel="tag">guadec</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/yet-another-guadec-post/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Zeitgeist 0.3.3 is out!</title>
		<link>http://bloc.eurion.net/archives/2010/zeitgeist-0-3-3-is-out/</link>
		<comments>http://bloc.eurion.net/archives/2010/zeitgeist-0-3-3-is-out/#comments</comments>
		<pubDate>Tue, 20 Apr 2010 14:28:46 +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[gnome]]></category>
		<category><![CDATA[Programari lliure]]></category>
		<category><![CDATA[zeitgeist]]></category>

		<guid isPermaLink="false">http://bloc.eurion.net/?p=560</guid>
		<description><![CDATA[From the release announcement: On behalf of the Zeitgeist Project team, I am pleased to announce the immediate availability of Zeitgeist 0.3.3. It introduces an improved relationship algorithm, new sorting types for queries, a data-source registry (providing the possibility of easily disabling individual loggers) and several bug fixes and other enhancements. What is Zeitgeist? Zeitgeist [...]]]></description>
			<content:encoded><![CDATA[<p>From the <a href="https://edge.launchpad.net/zeitgeist/+announcement/5642">release announcement</a>:</p>
<p>On behalf of the Zeitgeist Project team, I am pleased to announce the immediate availability of Zeitgeist 0.3.3. It introduces an improved relationship algorithm, new sorting types for queries, a <a href="http://bloc.eurion.net/archives/2010/zeitgeist-data-source-registry/">data-source registry</a> (providing the possibility of easily disabling individual loggers) and several bug fixes and other enhancements.</p>
<p><strong>What is Zeitgeist?</strong></p>
<p>Zeitgeist is an event-logging framework for desktop and mobile devices. Applications can push events into the log, and anyone can query the log via the rich query API. The logged events are semantically categorized and can come from any sort of activity, such as file usage, communications, browsing history, etc. The Zeitgeist engine is a user-level service and does not provide a GUI. It is intended to support dedicated journalling applications and deep integration with other desktop components.</p>
<p><strong>Where?</strong></p>
<p>Downloads: <a href="https://launchpad.net/zeitgeist/+download">https://launchpad.net/zeitgeist/+download</a> (<a href="http://edge.launchpad.net/zeitgeist/0.3/0.3.3/+download/zeitgeist-0.3.3.tar.gz">zeitgeist-0.3.3.tar.gz</a>)</p>
<p>About Zeitgeist: <a href="http://zeitgeist-project.com">http://zeitgeist-project.com</a></p>
<p>Wiki: <a href="http://live.gnome.org/Zeitgeist">http://live.gnome.org/Zeitgeist</a></p>
<p><strong>News since 0.3.2</strong></p>
<pre>Engine:

- Added MostPopularActor, LeastPopularActor, MostRecentActor and
LeastRecentActor as possible ReturnTypes for FindEvents and
FindEventsId (LP: #493903).
- Let {Find,Get,Insert}* hooks know the bus name of the caller, when
executed over D-Bus.
- Add an extension implementing a data-source registry (allowing to disable
data-sources from a centralized place and see their description).
- Overhauled FindRelatedUris for better results and improved performance.
- Changed FindEvents, FindEventIds and FindRelatedUris to not treat zeros in
the given TimeRange specially; "(0, 0)" can no longer be used (LP: #490242).
- Fixed a crash in the GtkRecentlyUsed data-source parsing malfored .desktop
files (LP: #526357), and added support for more file mimetypes (LP: #510761).
- Fixed a crash in the GtkRecentlyUsed data-source trying to read broken
symlinks disguised as .desktop files (LP: #523761).
- Fixed a crash in the GtkRecentlyUsed data-source which happened when there
was no display friendly version of a URI (LP: #531793).
- Renamed --no-passive-loggers option to --no-datahub. Output printed by
zeitgeist-datahub is no longer visible in zeitgeist-daemon's output.
- Added --log-level option to change the output verbosity.
- DeleteEvents now correctly removes any unreferenced values (URIs, actors,
etc.) and not only the events themselves (LP: #491646).
- Fixed insertion of events with a payload (LP: #557708).
- Fixed an exception in DeleteEvents.
- Fixed event deletions not always getting committed (LP: #566184).
- Ignore deletion requests for non-existant events.

Python API:
- Made the Interpretation and Manifestation classes iterable.
- Added symbol lookup by URI, in the form of dictionary access.
- Fixed the display name for Interpretation.SOURCECODE.
- Fixed find_events_for_values and find_event_ids_for_values (LP: #510804).
- Added a get_extension() method to ZeitgeistDBusInterface, to get convenient
access to D-Bus interfaces provided by engine extensions.

Overall:
- More fixes and code enhancements.
- Manpage updates.
- Translation updates.
</pre>


<p>Related posts:<ol><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>
<li><a href='http://bloc.eurion.net/archives/2009/zeitgeist-api-02/' rel='bookmark' title='Permanent Link: Introduction to Zeitgeist 0.2&#8242;s API'>Introduction to Zeitgeist 0.2&#8242;s API</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/2010/zeitgeist-0-3-3-is-out/#comments">One comment</a><br />
© Siegfried-Angel Gevatter Pujals, 2010. |
<a href="http://bloc.eurion.net/archives/2010/zeitgeist-0-3-3-is-out/">Permalink</a> |
<a rel="license" 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/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/zeitgeist-0-3-3-is-out/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Automatic music rating</title>
		<link>http://bloc.eurion.net/archives/2010/automatic-music-rating/</link>
		<comments>http://bloc.eurion.net/archives/2010/automatic-music-rating/#comments</comments>
		<pubDate>Sun, 11 Apr 2010 19:59:20 +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[music]]></category>
		<category><![CDATA[zeitgeist]]></category>

		<guid isPermaLink="false">http://bloc.eurion.net/?p=553</guid>
		<description><![CDATA[The problem I like listening to music while I&#8217;m programming. However, I have lots of music on my computer and I don&#8217;t really like all of it (or find it appropriate as background music for when I&#8217;m programming). I guess I could spend a few evenings going through my music collection, deleting anything I don&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p><strong>The problem</strong></p>
<p>I like listening to music while I&#8217;m programming. However, I have lots of music on my computer and I don&#8217;t really like all of it (or find it appropriate as background music for when I&#8217;m programming).</p>
<p>I guess I could spend a few evenings going through my music collection, deleting anything I don&#8217;t like (which isn&#8217;t always such an easy decision), creating a playlist or whatever. This isn&#8217;t a permanent solution, though, since with the time my collection will continue growing, I may get sick of hearing some songs, my taste may change, etc. Also, I prefer spending my time programming, reading or doing anything else more interesting than sorting my music collection.</p>
<p>Unrelated to the problem itself, let me also mention that I use different media players. Currently I&#8217;m mostly using Banshee, but I&#8217;ve been intermittently toggling between it and Rhythmbox those last months, and also used a command-line player for some time. I&#8217;m saying this because I expect a optimal solution to be media player-independent. <em>The bigger problem of each media player having its own database is also something I&#8217;d like to see addressed, maybe with some technology like Tracker, but that is another topic.</em></p>
<p><strong>The status quo</strong></p>
<p>My current way to approach this problem is basically setting my media player to choose songs randomly, and using the big &#8220;Next &gt;&gt;|&#8221; button on my keyboard whenever it chooses some song which annoys me.</p>
<p>(Banshee&#8217;s playback list interface has an option to automatically fill itself sorting songs by popularity, but it doesn&#8217;t seem to work good at all here; I also recall Amarok having some automatic playlist generation options, but I&#8217;m not using any KDE applications anymore and in any case this is outside the scope of an application-neutral solution).</p>
<p><strong>The solution</strong></p>
<p>It has recently occurred to me that a neat solution for this would be to gather information from a generic event log and to translate that into a numerical punctuation for each song. I think you may already guess where I&#8217;m heading, but if not: <a href="http://zeitgeist-project.com/">Zeitgeist</a>!</p>
<p>With the appropriate data-sources installed, Zeitgeist holds information on which songs started playing automatically (because they are on a playlist or because you have your media player set to random), which were started manually, and in both cases which you listened to completely and which ones you skipped (and how long you resisted listening to them). It shouldn&#8217;t be too difficult to write a script which will periodically request this information from Zeitgeist and give songs positive points for every time you listened to them completely (extra if you chose them yourself manually) and negative points to the ones you skipped (but giving less negative points if you resisted half of the song than if you skipped it right after you recognized it).</p>
<p>With this punctuation information, music players can avoid playing songs you don&#8217;t like and give you only those you like or new ones for which there isn&#8217;t any information yet (if it followed the punctuation strictly this would end with the same songs being played all the time and new songs with punctuation around 0 being ignored). The importance of the play/skip actions would decay over time (it&#8217;s more important to consider whether you listened to the song yesterday than if you did six months ago), etc., etc.</p>
<p>If we wanted to create something really fancy we could even look at generating different ratings for separate circumstances, eg. in case you like listening to a different sort of music during the morning than during the evening, or to differentiate between what you like to hear while you are coding and while the computer is idle (maybe because you are doing paper homework and only using the computer to get some background music). The information for all this is there in Zeitgeist, so it&#8217;s only a matter of writing a good algorithm.</p>
<p><strong>The implementation</strong></p>
<p>I&#8217;ve already explained most of how this should work in the previous section, but here&#8217;s a bit of an overview of what&#8217;s needed for this:</p>
<ul>
<li>Data-sources inserting the music reproduction information. We already have a <a href="https://launchpad.net/zeitgeist-dataproviders">data-source</a> for Rhythmbox implemented as an extension, but Banshee and any other players are missing.</li>
<li>The actual algorithm, probably implemented as a periodically run script leaving the aggregated information at some accessible place, although this may vary depending on the degree of fanciness you choose.</li>
<li>The interface, ie. plugins for Rhythmbox and other media players which take that information and use it to provide an option for semi-randomly choosing music excluding stuff you don&#8217;t like.</li>
</ul>
<p>If I&#8217;ve got you interested on this, I&#8217;m willing to mentor someone on this, so get in touch! Feel free to jump into <strong>#zeitgeist</strong> on <strong>irc.freenode.net</strong> or <a href="mailto:rainct@ubuntu.com">drop me a mail</a>.</p>
<hr />
<p><small>
<a href="http://bloc.eurion.net/archives/2010/automatic-music-rating/#comments">18 comments</a><br />
© Siegfried-Angel Gevatter Pujals, 2010. |
<a href="http://bloc.eurion.net/archives/2010/automatic-music-rating/">Permalink</a> |
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">License</a> |
Post tags: <a href="http://bloc.eurion.net/archives/tag/music/" rel="tag">music</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/automatic-music-rating/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Zeitgeist Data-Source Registry</title>
		<link>http://bloc.eurion.net/archives/2010/zeitgeist-data-source-registry/</link>
		<comments>http://bloc.eurion.net/archives/2010/zeitgeist-data-source-registry/#comments</comments>
		<pubDate>Sun, 28 Feb 2010 18:13:33 +0000</pubDate>
		<dc:creator>RainCT</dc:creator>
				<category><![CDATA[Planet Debian]]></category>
		<category><![CDATA[Planet GNOME]]></category>
		<category><![CDATA[Planet Ubuntu]]></category>
		<category><![CDATA[Planet Ubuntu.cat]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[Programari lliure]]></category>
		<category><![CDATA[zeitgeist]]></category>

		<guid isPermaLink="false">http://bloc.eurion.net/?p=515</guid>
		<description><![CDATA[This post is about an upcoming feature in Zeitgeist 0.3.3 and is so far only available in checkouts from trunk or our PPA. It is expected to be released within the next weeks. Some weeks ago I implemented a new feature in Zeitgeist and I figured I&#8217;d drop some lines about it. I&#8217;m talking about [...]]]></description>
			<content:encoded><![CDATA[<p><em>This post is about an upcoming feature in <a href="http://zeitgeist-project.com">Zeitgeist</a> 0.3.3 and is so far only available in checkouts from <a href="https://code.launchpad.net/~zeitgeist/zeitgeist/trunk">trunk</a> or our <a href="https://launchpad.net/~zeitgeist/+archive/ppa">PPA</a>. It is expected to be released within the next weeks.</em></p>
<p>Some weeks ago I implemented a new feature in Zeitgeist and I figured I&#8217;d drop some lines about it. I&#8217;m talking about a <strong>data-source registry</strong>.</p>
<p>You may be wondering, «<em>what the hell is that even, a data-source?</em>». So Zeitgeist is a database, a global event log, but it doesn&#8217;t do any magic indexing or monitoring by itself;  the information it logs needs to come from somewhere &#8211; be it applications sending it to Zeitgeist themselves, <a href="http://manpages.ubuntu.com/manpages/lucid/en/man1/zeitgeist-datahub.1.html">daemons</a>, plugins for applications, etc. Any such entity is called a «<em>data-source</em>».</p>
<p>Having a register of all data-sources interacting with Zeitgeist provides some benefits, like for example:</p>
<div id="attachment_516" class="wp-caption alignright" style="width: 310px"><a href="http://bloc.eurion.net/wp-content/uploads/2010/02/zeitgeist-registry.png"><img class="size-medium wp-image-516 " title="Zeitgeist: data-source management UI" src="http://bloc.eurion.net/wp-content/uploads/2010/02/zeitgeist-registry-300x77.png" alt="Screenshot of tools/gtk/zeitgeist-data-sources-gtk.py" width="300" height="77" /></a><p class="wp-caption-text">Prototype of a data-source management user-interface</p></div>
<ul>
<li>Having a list of them. Lists are nice :).</li>
<li>Being able to disable data-sources from a centralized place instead of requiring each to write its own preferences dialogue.</li>
<li>Being able to set up a blacklist rule considering which data-source the information comes from as a condition <em>(not implemented yet)</em>.</li>
</ul>
<p><strong>More details</strong></p>
<p>When they register, data-sources will need to provide the following information: an unique ID, a name (may be localized), a description (may be localized) and optionally a template specifying what sort of events it logs. Additionally, the last timestamp the data-source was seen by Zeitgeist, whether it is running right now and whether it is enabled will also be available.</p>
<p>It is important to note that registration is not compulsory; while it is highly encouraged for data-sources to use it, is it still possible to anonymously insert information into Zeitgeist (for example from a shell script). The event template is also only informational, and will not be enforced by Zeitgeist at this time.</p>
<p><strong>Avoiding duplicates from GTK Recently Used</strong></p>
<p>You may know that <a href="http://manpages.ubuntu.com/manpages/lucid/en/man1/zeitgeist-datahub.1.html">zeitgeist-datahub</a> provides basic support for applications which have no direct Zeitgeist support but do use GTK&#8217;s <a href="http://www.pygtk.org/docs/pygtk/class-gtkrecentmanager.html">RecentManager</a>, which is not as detailed as we would like, but it is better than nothing. However, until now we had a problem: when applications had support for both, GTK&#8217;s Recently Used and Zeitgeist (be it native or as an <a href="https://launchpad.net/zeitgeist-dataproviders">extension</a>), it was possible for duplicate events to be inserted or other sorts of conflicts between both data-sources. Now that we have the information from the registry available, we&#8217;ve been able to solve this modifying our Recently Used data-source to ignore any events concerning applications which already have another data-source logging the same types of events.<br />
&nbsp;</p>
<hr />In case you don&#8217;t care at all about what I&#8217;m talking here and you just want to see fancy interfaces, <a title="GNOME Activity Journal 0.3.3" href="http://seilo.geekyogre.com/2010/02/gnome-activity-journal-0-3-3-is-out/">go check this out</a>.</p>


<p>Related posts:<ol><li><a href='http://bloc.eurion.net/archives/2010/zeitgeist-0-3-3-is-out/' rel='bookmark' title='Permanent Link: Zeitgeist 0.3.3 is out!'>Zeitgeist 0.3.3 is out!</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&#8242;s API'>Introduction to Zeitgeist 0.2&#8242;s API</a></li>
</ol></p><hr />
<p><small>
<a href="http://bloc.eurion.net/archives/2010/zeitgeist-data-source-registry/#comments">2 comments</a><br />
© Siegfried-Angel Gevatter Pujals, 2010. |
<a href="http://bloc.eurion.net/archives/2010/zeitgeist-data-source-registry/">Permalink</a> |
<a rel="license" 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/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/zeitgeist-data-source-registry/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<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&#8242;s API No comments © Siegfried-Angel Gevatter Pujals, 2010. &#124; Permalink &#124; License &#124; Post tags: fosdem, gsoc2009, Programari lliure, zeitgeist]]></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&#8242;s API'>Introduction to Zeitgeist 0.2&#8242;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 rel="license" 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>GNOME Activity Journal, and installing it on Ubuntu</title>
		<link>http://bloc.eurion.net/archives/2010/gnome-activity-journal-and-installing-it-on-ubuntu/</link>
		<comments>http://bloc.eurion.net/archives/2010/gnome-activity-journal-and-installing-it-on-ubuntu/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 15:00:44 +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[Debian]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[Programari lliure]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[zeitgeist]]></category>

		<guid isPermaLink="false">http://bloc.eurion.net/?p=481</guid>
		<description><![CDATA[As already announced by Seif, the first development release of the GNOME Activity Journal (what was formerly known as GNOME Zeitgeist) is finally out! While several sources have already propagated the good news, what doesn&#8217;t seem to be so widely known is how easy it is to get the Activity Journal running on Ubuntu. Because [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://bloc.eurion.net/wp-content/uploads/2010/01/gnome-activity-journal-0.3.2.png"><img class="size-medium wp-image-482 alignright" title="gnome-activity-journal-0.3.2" src="http://bloc.eurion.net/wp-content/uploads/2010/01/gnome-activity-journal-0.3.2-300x143.png" alt="GNOME Activity Journal, 0.3.2" width="300" height="143" /></a>As already announced by <a href="http://seilo.geekyogre.com/">Seif</a>, the first development release of the <a href="https://launchpad.net/gnome-activity-journal">GNOME Activity Journal</a> (what was formerly known as <em>GNOME Zeitgeist</em>) is finally <a href="https://launchpad.net/gnome-activity-journal/+announcement/4900">out</a>!</p>
<p>While several sources have already propagated the good news, what doesn&#8217;t seem to be so widely known is how easy it is to get the Activity Journal running on Ubuntu. Because it is!</p>
<p><strong>Installation on Ubuntu Karmic or Lucid</strong></p>
<pre>sudo add-apt-repository ppa:zeitgeist/ppa
sudo aptitude update
sudo aptitude install gnome-activity-journal</pre>
<p>Now go to <strong>Applications</strong> -&gt; <strong>Utility</strong> -&gt; <strong>Activity Journal</strong> and enjoy the sweetness!</p>
<p><strong>Installation on other systems</strong></p>
<p>Our <a href="https://launchpad.net/~zeitgeist/+archive/ppa">Personal Package Archive</a> also has packages for Ubuntu Jaunty which you can add the usual way (by adding it to <strong>System</strong> -&gt; <strong>Administration</strong> -&gt; <strong>Software Sources</strong> or editing your <em>sources.list</em>), and the same packages as for Ubuntu work for Debian Sid (to which Zeitgeist <a href="https://edge.launchpad.net/zeitgeist/+announcement/4899">0.3.2</a> and the GNOME Activity Journal will be uploaded shortly).</p>
<p>There may be packages for other distributions available; if you can&#8217;t find any for yours, you can do the installation by hand:</p>
<p>[<strong>For Zeitgeist</strong>] &#8211; Build dependencies: <em>intltool</em></p>
<pre>$ wget http://launchpad.net/zeitgeist/0.3/0.3.2/+download/zeitgeist-0.3.2.tar.gz
$ tar -xzvf zeitgeist-0.3.2.tar.gz
$ cd zeitgeist-0.3.2
$ ./configure
$ make
# make install</pre>
<p>[<strong>For the GNOME Activity Journal</strong>] &#8211; Build dependencies: <em>Python (2.5+)</em>, <em>Python-DistUtils-Extra</em>, <em>intltool</em></p>
<pre>$ wget http://launchpad.net/gnome-activity-journal/0.3/0.3.2/+download/gnome-activity-journal-0.3.2.tar.gz
$ tar -xzvf gnome-activity-journal-0.3.2.tar.gz
$ cd gnome-activity-journal-0.3.2
$ python setup.py build
# python setup.py install</pre>
<p><strong>But, what is the GNOME Activity Journal?</strong></p>
<p>The <a href="https://launchpad.net/gnome-activity-journal">GNOME Activity Journal</a> is a tool for easily browsing and finding files, contacts and other resources on your computer. Using <a href="http://zeitgeist-project.com/">Zeitgeist</a>, it keeps a chronological journal of your activity and supports tagging and bookmarking (using the new <a href="http://projects.gnome.org/tracker/">Tracker</a> 0.7) and establishing relationships between resources.</p>
<p>While this first release only supports basic browsing of file activities, the <a href="http://zeitgeist-project.com">underlying infrastructure</a> can do much more and you can expect the missing functionality to become available in future releases.</p>


<p>Related posts:<ol><li><a href='http://bloc.eurion.net/archives/2009/gnome-shell-window-list/' rel='bookmark' title='Permanent Link: Another GNOME Shell post: what do you think about the window list?'>Another GNOME Shell post: what do you think about the window list?</a></li>
<li><a href='http://bloc.eurion.net/archives/2009/gnome-do-08-alpha-and-docky/' rel='bookmark' title='Permanent Link: GNOME Do &#8211; 0.8 Alpha and Docky'>GNOME Do &#8211; 0.8 Alpha and Docky</a></li>
<li><a href='http://bloc.eurion.net/archives/2009/updated-voxforge-packages-in-ubuntu/' rel='bookmark' title='Permanent Link: Updated Voxforge packages in Ubuntu'>Updated Voxforge packages in Ubuntu</a></li>
</ol></p><hr />
<p><small>
<a href="http://bloc.eurion.net/archives/2010/gnome-activity-journal-and-installing-it-on-ubuntu/#comments">8 comments</a><br />
© Siegfried-Angel Gevatter Pujals, 2010. |
<a href="http://bloc.eurion.net/archives/2010/gnome-activity-journal-and-installing-it-on-ubuntu/">Permalink</a> |
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">License</a> |
Post tags: <a href="http://bloc.eurion.net/archives/tag/debian/" rel="tag">Debian</a>, <a href="http://bloc.eurion.net/archives/tag/gnome/" rel="tag">gnome</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/2010/gnome-activity-journal-and-installing-it-on-ubuntu/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Zeitgeist Hackfest (II)</title>
		<link>http://bloc.eurion.net/archives/2009/zeitgeist-hackfest-report/</link>
		<comments>http://bloc.eurion.net/archives/2009/zeitgeist-hackfest-report/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 10:54:15 +0000</pubDate>
		<dc:creator>RainCT</dc:creator>
				<category><![CDATA[Planet Ubuntu]]></category>
		<category><![CDATA[Planet Ubuntu.cat]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[Programari lliure]]></category>
		<category><![CDATA[zeitgeist]]></category>

		<guid isPermaLink="false">http://bloc.eurion.net/?p=431</guid>
		<description><![CDATA[So here we are at the Zeitgeist Hackfest and there&#8217;s quite some stuff going on. From the engine side we are implementing a new database and API which does a clean cut between what is event logging and what is repository functionality. What this means for Zeitgeist is that we won&#8217;t do annotations anymore and [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://bloc.eurion.net/wp-content/uploads/2009/11/gnome-sponsored-badge.png"><img class="alignright size-thumbnail wp-image-432" title="gnome-sponsored-badge" src="http://bloc.eurion.net/wp-content/uploads/2009/11/gnome-sponsored-badge-150x150.png" alt="gnome-sponsored-badge" width="150" height="150" /></a>So here we are at the <a href="http://bloc.eurion.net/archives/2009/zeitgeist-hackfest-2009/">Zeitgeist Hackfest </a>and there&#8217;s quite some stuff going on.</p>
<p>From the engine side we are implementing a new database and API which does a clean cut between what is <em>event logging</em> and what is <em>repository</em> functionality. What this means for Zeitgeist is that we won&#8217;t do annotations anymore and that the basic information Zeitgeist has about items will be about those at the time of the event &#8211; for anything else there is Tracker (I tried out the new version from git yesterday and it really rocks, it&#8217;s nothing like 0.6).</p>
<p>We are also implementing focus tracking and the algorithms for the fancy stuff (contextual relevancy over time, focus time of documents/applications, etc).</p>
<div id="attachment_433" class="wp-caption aligncenter" style="width: 310px"><a href="http://bloc.eurion.net/wp-content/uploads/2009/11/09112009131.jpg"><img class="size-medium wp-image-433 " title="Zeitgeist Hackfest - Blackboard" src="http://bloc.eurion.net/wp-content/uploads/2009/11/09112009131-300x225.jpg" alt="Seif, Markus and Ivan at the blackboard" width="300" height="225" /></a><p class="wp-caption-text">Blackboards saved us a lot of time.  In the image: Seif Lotfy, Ivan Frade (Tracker) and Markus Korn.</p></div>
<p>The User Interface team also has some quite nice design ideas. For the non-developers out there, there&#8217;ll be something (alpha-quality!) to try out soon.</p>


<p>Related posts:<ol><li><a href='http://bloc.eurion.net/archives/2009/zeitgeist-hackfest-2009/' rel='bookmark' title='Permanent Link: Zeitgeist Hackfest'>Zeitgeist Hackfest</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-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-hackfest-report/#comments">2 comments</a><br />
© Siegfried-Angel Gevatter Pujals, 2009. |
<a href="http://bloc.eurion.net/archives/2009/zeitgeist-hackfest-report/">Permalink</a> |
<a rel="license" 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/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/2009/zeitgeist-hackfest-report/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Zeitgeist Hackfest</title>
		<link>http://bloc.eurion.net/archives/2009/zeitgeist-hackfest-2009/</link>
		<comments>http://bloc.eurion.net/archives/2009/zeitgeist-hackfest-2009/#comments</comments>
		<pubDate>Sat, 07 Nov 2009 14:45:42 +0000</pubDate>
		<dc:creator>RainCT</dc:creator>
				<category><![CDATA[Planet Ubuntu]]></category>
		<category><![CDATA[Planet Ubuntu.cat]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[Programari lliure]]></category>
		<category><![CDATA[zeitgeist]]></category>

		<guid isPermaLink="false">http://bloc.eurion.net/?p=418</guid>
		<description><![CDATA[Just a quick note to mention that tomorrow I&#8217;m leaving for Bolzano for a week, for the Zeitgeist Hackfest. I&#8217;m really looking forward to meeting all the team there! My initial idea for this post was to write about some of the upcoming changes in the engine, as we&#8217;ve been discussing quite some improvements lately, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.freesoftwareweek.org/"><img class="aligncenter size-medium wp-image-417" title="Free Software Week 2009 - Bolzano, South Tyrol" src="http://bloc.eurion.net/wp-content/uploads/2009/11/bolzano2009-300x95.png" alt="Free Software Week 2009 - Bolzano, South Tyrol" width="300" height="95" /></a></p>
<p>Just a quick note to mention that tomorrow I&#8217;m leaving for Bolzano for a week, for the <a href="http://live.gnome.org/ZeitgeistHackFest2009">Zeitgeist Hackfest</a>. I&#8217;m really looking forward to meeting all the team there!</p>
<p>My initial idea for this post was to write about some of the upcoming changes in the engine, as we&#8217;ve been discussing quite some improvements lately, but I&#8217;ll better leave that for after the hackfest as we&#8217;ll have a chance to go over all them again and clarify any missing chunks :). For now I&#8217;ll just say that the API will probably change quite a lot, and while I&#8217;m at it leave you with a link to a recent <a href="http://mail.gnome.org/archives/desktop-devel-list/2009-November/msg00019.html">Status Report</a> sent to GNOME (there&#8217;s also one for <a href="http://mail.gnome.org/archives/desktop-devel-list/2009-November/msg00006.html">GNOME Shell</a>, in case you care).</p>


<p>Related posts:<ol><li><a href='http://bloc.eurion.net/archives/2009/zeitgeist-hackfest-report/' rel='bookmark' title='Permanent Link: Zeitgeist Hackfest (II)'>Zeitgeist Hackfest (II)</a></li>
<li><a href='http://bloc.eurion.net/archives/2009/zeitgeist-api-02/' rel='bookmark' title='Permanent Link: Introduction to Zeitgeist 0.2&#8242;s API'>Introduction to Zeitgeist 0.2&#8242;s API</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-hackfest-2009/#comments">3 comments</a><br />
© Siegfried-Angel Gevatter Pujals, 2009. |
<a href="http://bloc.eurion.net/archives/2009/zeitgeist-hackfest-2009/">Permalink</a> |
<a rel="license" 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/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/2009/zeitgeist-hackfest-2009/feed/</wfw:commentRss>
		<slash:comments>3</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. [...]]]></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/2010/zeitgeist-0-3-3-is-out/' rel='bookmark' title='Permanent Link: Zeitgeist 0.3.3 is out!'>Zeitgeist 0.3.3 is out!</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/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 rel="license" 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&#8242;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/2010/zeitgeist-0-3-3-is-out/' rel='bookmark' title='Permanent Link: Zeitgeist 0.3.3 is out!'>Zeitgeist 0.3.3 is out!</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/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 rel="license" 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 [...]]]></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/2010/zeitgeist-0-3-3-is-out/' rel='bookmark' title='Permanent Link: Zeitgeist 0.3.3 is out!'>Zeitgeist 0.3.3 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&#8242;s API'>Introduction to Zeitgeist 0.2&#8242;s API</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 rel="license" 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 [...]]]></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&#8242;s API'>Introduction to Zeitgeist 0.2&#8242;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 rel="license" 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>
	</channel>
</rss>
