<?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>ervin&#039;s piece of web &#187; KDE</title>
	<atom:link href="http://ervin.ipsquad.net/category/kde/feed/" rel="self" type="application/rss+xml" />
	<link>http://ervin.ipsquad.net</link>
	<description>White noise from a gearhead</description>
	<lastBuildDate>Fri, 09 Jul 2010 20:40:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>KDE Platform Profiles: It&#8217;s alive!</title>
		<link>http://ervin.ipsquad.net/2010/04/29/kde-platform-profiles-its-alive/</link>
		<comments>http://ervin.ipsquad.net/2010/04/29/kde-platform-profiles-its-alive/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 07:31:07 +0000</pubDate>
		<dc:creator>ervin</dc:creator>
				<category><![CDATA[KDE]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Plasma]]></category>

		<guid isPermaLink="false">http://ervin.ipsquad.net/?p=245</guid>
		<description><![CDATA[As part of the KDE/Maemo effort (that should get a more generic name really&#8230;), we&#8217;ve already seen emerging some SDKs to help us target the relevant platforms, some Plasma mobile shell, etc. Still, one of the challenges is also to widen the scope of our KDE Platform. For that, a draft plan was made during [...]]]></description>
			<content:encoded><![CDATA[<p>As part of the KDE/Maemo effort (that should get a more generic name really&#8230;), we&#8217;ve already seen emerging some SDKs to help us target the relevant platforms, some Plasma mobile shell, etc.</p>
<p>Still, one of the challenges is also to widen the scope of our KDE Platform. For that, a draft plan was made during Tokamak4, and since then we&#8217;ve been progressing carefully on the matter. We tried to get as much feedback as possible on the plan, not rushing things to make sure we weren&#8217;t stepping on anyone toes.</p>
<p>Today, I&#8217;m happy to announce that the very first corner stone of this plan got delivered. We added support for &quot;profiles&quot; in our platform. The CMake scripts for it got committed this morning, along with some changes to libplasma which effectively becomes our first library supporting those profiles.</p>
<p>By selecting a profile at build time, you get a default setup for our libraries which will enable or disable some extra features and dependencies. For instance, if you choose the &quot;Mobile&quot; profile the feature set coming from kdelibs will be reduced but on the other hand there will be much less internal dependencies in kdelibs, this way an application will only need a reduced subset to be able to run.</p>
<p>This more modular kdelibs depending on the profile chosen is of course only a first ongoing projects, but we have other topics to tackle like the runtime dependencies (namely klauncher and kded) of our platform. On this area we still lack reliable data as it is much harder to track. Still reducing dependencies during build time will be a big leap forward. And I&#8217;m truely excited because we&#8217;re slowly (but steadily!) getting to a slimer KDE Platform.</p>
]]></content:encoded>
			<wfw:commentRss>http://ervin.ipsquad.net/2010/04/29/kde-platform-profiles-its-alive/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Tokamak4: Three sprints in one? Lies!</title>
		<link>http://ervin.ipsquad.net/2010/02/23/tokamak4-three-sprints-in-one-lies/</link>
		<comments>http://ervin.ipsquad.net/2010/02/23/tokamak4-three-sprints-in-one-lies/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 23:02:15 +0000</pubDate>
		<dc:creator>ervin</dc:creator>
				<category><![CDATA[Conferences & Summits]]></category>
		<category><![CDATA[KDE]]></category>
		<category><![CDATA[Solid]]></category>
		<category><![CDATA[Tokamak4]]></category>

		<guid isPermaLink="false">http://ervin.ipsquad.net/?p=237</guid>
		<description><![CDATA[Since even before the start of Tokamak4, it has been pitched as a &#34;three in one&#34; sprint. But that was without counting on the Solid people. In the great tradition of hardware awareness in KDE, we&#8217;re doing our job correctly only if Solid gets unnoticed by the user&#8230; and nobody noticed that almost all the [...]]]></description>
			<content:encoded><![CDATA[<p>Since even before the start of Tokamak4, it has been pitched as a &quot;three in one&quot; sprint. But that was without counting on the Solid people. In the great tradition of hardware awareness in KDE, we&#8217;re doing our job correctly only if Solid gets unnoticed by the user&#8230; and nobody noticed that almost all the core &quot;metalworkers&quot; were attending Tokamak4.</p>
<p>So we used the opportunity to have a Solid meeting to summarize the current situation of our infrastructure, and to make plans for 2010. That includes quite a few of clean ups on our stack, but also more ambitious and cool stuff like reporting devices reachable via the network. If you&#8217;re interested in details, I sent <a href="http://mail.kde.org/pipermail/kde-hardware-devel/2010-February/000701.html">a mail summarizing the Solid meeting at Tokamak4</a>, and you should probably <a href="https://mail.kde.org/mailman/listinfo/kde-hardware-devel">subscribe to kde-hardware-devel</a> if you&#8217;re not there yet.</p>
]]></content:encoded>
			<wfw:commentRss>http://ervin.ipsquad.net/2010/02/23/tokamak4-three-sprints-in-one-lies/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Helping with Maemo SDK deployment: Qt/Maemo VM</title>
		<link>http://ervin.ipsquad.net/2010/01/13/helping-with-maemo-sdk-deployment-qtmaemo-vm/</link>
		<comments>http://ervin.ipsquad.net/2010/01/13/helping-with-maemo-sdk-deployment-qtmaemo-vm/#comments</comments>
		<pubDate>Wed, 13 Jan 2010 13:31:05 +0000</pubDate>
		<dc:creator>ervin</dc:creator>
				<category><![CDATA[KDE]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[Qt]]></category>

		<guid isPermaLink="false">http://ervin.ipsquad.net/?p=225</guid>
		<description><![CDATA[There&#8217;s some movement on the KDE/Maemo front. Lately we&#8217;ve seen more public announcements coming mainly thanks to the office viewer. But there&#8217;s also work under the hood cooking up. Most notably communication channels to provide feedback for the Qt 4.6/Maemo variant are open, hopefully we&#8217;ll soon see a few patches flying in. And also Jos [...]]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s some movement on the KDE/Maemo front. Lately we&#8217;ve seen more public announcements coming mainly thanks to the office viewer. But there&#8217;s also work under the hood cooking up. Most notably communication channels to provide feedback for the Qt 4.6/Maemo variant are open, hopefully we&#8217;ll soon see a few patches flying in. And also Jos posted some (large) patches to streamline kdelibs which are on the table for discussion and hopefully going toward a KDE wide solution.</p>
<p>Today though, I just wanted to let everybody know that I&#8217;ve been working on a virtual machine to help KDE developers easily get a Maemo SDK. I added some documentation so now we have a <a href="http://techbase.kde.org/Projects/Maemo/VM">Qt/Maemo SDK VM page on techbase</a> (download URL and installation procedure are there).</p>
<p>It should be relatively easy for anyone to have it working: download, boot, login, run a script, done you can know use Qt 4.6 in a fully setup Maemo SDK. Hopefully that will lower the bar to contributing for quite some people.</p>
<p>That&#8217;s it for now, don&#8217;t hesitate to drop me a mail if you have issues with it.</p>
]]></content:encoded>
			<wfw:commentRss>http://ervin.ipsquad.net/2010/01/13/helping-with-maemo-sdk-deployment-qtmaemo-vm/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>The rise of the KDE/Maemo effort</title>
		<link>http://ervin.ipsquad.net/2009/10/27/the-rise-of-the-kde-maemo-effort/</link>
		<comments>http://ervin.ipsquad.net/2009/10/27/the-rise-of-the-kde-maemo-effort/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 09:01:04 +0000</pubDate>
		<dc:creator>ervin</dc:creator>
				<category><![CDATA[KDE]]></category>
		<category><![CDATA[Maemo]]></category>

		<guid isPermaLink="false">http://ervin.ipsquad.net/?p=213</guid>
		<description><![CDATA[With Fremantle and the N900 almost out the door, it is time that we start a more coordinated effort within the KDE community to support Maemo as an official target system. In the past we had some scattered and not coordinated efforts, results got linked on techbase. I attended the Maemo Summit 2009 in Amsterdam. [...]]]></description>
			<content:encoded><![CDATA[<p>With Fremantle and the N900 almost out the door, it is time that we start a more coordinated effort within the KDE community to support Maemo as an official target system. In the past we had some scattered and not coordinated efforts, <a href="http://techbase.kde.org/Projects/KDE_on_Maemo">results got linked on techbase</a>.</p>
<p>I attended the <a href="http://wiki.maemo.org/Maemo_Summit_2009">Maemo Summit 2009</a> in Amsterdam. Of course a few other KDE people were there. We sat down together, talking about how we could get the KDE platform working well on those devices. And we decided that if we want to see KDE succeed on such devices, we&#8217;d have to get more serious and coordinated about it.</p>
<p>That&#8217;s why shortly after coming back from the meeting, I asked for the creation of the kde-maemo mailing list, where we&#8217;ll be able to address Maemo as one of the official KDE target systems (like FreeBSD, Solaris, Windows and Mac OS X are). It is time for us to make Maemo a first class citizen in our community.</p>
<p>Of course it is not wishful thinking we&#8217;re talking about here. The efforts already started, for instance Alexis has been working on a <a href="http://labs.qt.nokia.com/blogs/2009/10/27/qgraphicsview-is-a-hummer-plasma-is-the-luxury-version/">Plasma based shell for the N900</a>. It is still rough, and a first experiment, but it at least shows that our platform is viable on this system. Parallel to that, there&#8217;s also efforts on how to make the deployment of a Maemo toolchain more convenient, or how to modularize our platform for such embedded systems.</p>
<p>It is just the beginning of the journey, let&#8217;s see where it leads us!</p>
]]></content:encoded>
			<wfw:commentRss>http://ervin.ipsquad.net/2009/10/27/the-rise-of-the-kde-maemo-effort/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>libkimap &#8211; the genesis</title>
		<link>http://ervin.ipsquad.net/2009/10/22/libkimap-the-genesis/</link>
		<comments>http://ervin.ipsquad.net/2009/10/22/libkimap-the-genesis/#comments</comments>
		<pubDate>Thu, 22 Oct 2009 07:31:40 +0000</pubDate>
		<dc:creator>ervin</dc:creator>
				<category><![CDATA[KDE]]></category>
		<category><![CDATA[Akonadi]]></category>
		<category><![CDATA[IMAP]]></category>

		<guid isPermaLink="false">http://ervin.ipsquad.net/?p=207</guid>
		<description><![CDATA[I previously blogged about the new IMAP resource in Akonadi. We were aiminag at getting this resource from the start, but here is the not so secret story: this effort gave birth to another component, namely libkimap. The journey started because we really wanted for KDE to have a strong and efficient IMAP support. Since [...]]]></description>
			<content:encoded><![CDATA[<p>I previously blogged about the new IMAP resource in Akonadi. We were aiminag at getting this resource from the start, but here is the not so secret story: this effort gave birth to another component, namely libkimap.</p>
<p>The journey started because we really wanted for KDE to have a strong and efficient IMAP support. Since we&#8217;re not really into reinventing the wheel if we can avoid that the journey started by looking at existing IMAP solutions we could reuse. The natural first contender of course was to reuse our old IMAP ioslave which we currently use in KMail and build the resource on it. But really it is showing its age now, and the interface such ioslaves expose are too limited for our needs (for those in the known of KIO internals: it would require an extensive use of the special() method, or command encoding in urls&#8230;). So we have been evaluating a few other contenders coming from various mail clients, but unfortunately most of them are either exposing synchronous API (not convenient for something event driven like an Akonadi resource), or very tied to a MIME implementation (which was a no-no as we needed to use the resource with kdepim&#8217;s MIME implementation).</p>
<p>Indeed this journey didn&#8217;t start quite well&#8230; We had to produce a new IMAP implementation. So a new quest started, one for an adequate API design. At that point we knew we wanted something: fast, memory efficient, asynchronous and easy to extend (as the IMAP RFC has plenty of extensions).</p>
<p>First, let&#8217;s examinate the &#8220;fast and memory efficient&#8221; constraints. Around the same time I got started on libkimap, Andras Mantia (fellow KDABian and hacker extraordinaire) was working on making the Akonadi server protocol handling faster and more memory efficient&#8230; And as a bonus, the Akonadi protocol for the lowest level parts, have quite some similarities with IMAP as it was modelled after it. So far so good, I could reuse Andras work on the new IMAP stream parser. It has been a two way collaboration as I also found bugs in there which got fixed. This parser is now the core of libkimap, although it is hidden from the public API, it is for a great part responsible of the good performances of the library.</p>
<p>Then, let&#8217;s solve the &#8220;asynchronous and easy to extend&#8221; constraints, those had a direct impact on the API. For that we rely on the good old &#8220;job based&#8221; API. You just need to create a Session object which holds a connection to an IMAP server and queue Jobs on it. Jobs are then executed sequentially. We have jobs for a lot of things: mailbox listing, fetching messages or headers, retrieving annotations, quota information, ACLs, etc. And that&#8217;s where the job based API gets interesting, we need to extend it? Just add a job, binary compatibility will be kept and so on, it makes it much easier to manage it over time.</p>
</p>
<p>Oh! And of course, since we still care about performances, each job is equipped to be able to pipeline several IMAP commands to the server, which dramatically reduces latency. So you guessed it, jobs don&#8217;t map 1:1 to IMAP commands, this way we can provide some convenience to developers because they get pre-shipped micro behavior (for instance, listing mailboxes and taking care about the namespace extension results always in the same list of commands, so we wired it in jobs which pipeline commands).</p>
<p>So we indeed solved our initial problem, we made an asynchronous IMAP library which is fast, efficient and easy to extend. It also tries to be clever when that actually makes it more convenient for developers (see the pipelining example above), but not too much, allowing to have a fine control on the higher level logic and strategies you&#8217;d need to implement in your application. And thanks to this strong basement, we could tackle the task of building the Akonadi IMAP resource on top of it.</p>
<p>As a post scriptum: is our library tied to a MIME implementation? Well, like others we&#8217;re tied to one: libkmime, available in kdepimlibs as well. You can&#8217;t really get around that in the end. Indeed, for fetch operations if you try to be independent of any MIME implementation, you end up implementing your own subset of MIME. That said we tried hard, and managed to keep that coupling as minimal as possible, and in fact only the FetchJob really depends on libkmime, everything else is independent of it. So, it wouldn&#8217;t be a big cost to implement your own FetchJob variant using another MIME implementation.</p>
<p>And finally, as a post post scriptum, if people out there wants to grab it and play with it, it is in our kdepimlibs module on trunk. You can browse it online here: <a href="http://websvn.kde.org/trunk/KDE/kdepimlibs/kimap/">http://websvn.kde.org/trunk/KDE/kdepimlibs/kimap/</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://ervin.ipsquad.net/2009/10/22/libkimap-the-genesis/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>KMail as components, Akonadi Mail Reader</title>
		<link>http://ervin.ipsquad.net/2009/08/20/kmail-as-components-akonadi-mail-reader/</link>
		<comments>http://ervin.ipsquad.net/2009/08/20/kmail-as-components-akonadi-mail-reader/#comments</comments>
		<pubDate>Thu, 20 Aug 2009 14:50:55 +0000</pubDate>
		<dc:creator>ervin</dc:creator>
				<category><![CDATA[KDE]]></category>
		<category><![CDATA[Akonadi]]></category>
		<category><![CDATA[IMAP]]></category>
		<category><![CDATA[Mail]]></category>

		<guid isPermaLink="false">http://ervin.ipsquad.net/?p=192</guid>
		<description><![CDATA[In my previous post, I&#8217;ve been discussing our progresses on some protocols support, and that Akonadi could now be fed with quite some mails. That&#8217;s neat to us developers who can make application harvesting data in there&#8230; But for the user it&#8217;s not really useful if he can&#8217;t see the data. Well, recently I&#8217;ve also [...]]]></description>
			<content:encoded><![CDATA[<p>In my previous post, I&#8217;ve been discussing our progresses on some protocols support, and that Akonadi could now be fed with quite some mails. That&#8217;s neat to us developers who can make application harvesting data in there&#8230; But for the user it&#8217;s not really useful if he can&#8217;t see the data.</p>
<p>Well, recently I&#8217;ve also been working on showing up collection statistics we can get from Akonadi, and also I ported KMail message list view to Akonadi (also making it a separate library). In the meantime, the fearless Andras has been porting KMail mail reader view to Akonadi (also making it a separate library).</p>
<p>In fact, it is the current thread in the huge task which is the porting of KMail to Akonadi. We&#8217;re ripping KMail apart, each important set of features are factored out in a library and ported to Akonadi. In the end we&#8217;ll have a KMail completely based on Akonadi. But also, it will be much more modular, reusable for other mail clients, but also news readers, etc. Which means that the new architecture will be better suited at supporting a wide range of devices and a good base for future works.</p>
<p>Anyway, both Andras and me had a small test application for each of our new frameworks&#8230; So I took some time to merge the features of both into a single application: the Akonadi Mail Reader. This new baby is mainly a prototype to toy with ideas and try out the components we&#8217;re making out of the monolithic KMail. Still, it weights just under 400 lines of C++ code, and you can completely browse all the mailboxes you configured in Akonadi thanks to it. Of course, here is the obligatory screenshot:</p>
<a href="http://ervin.ipsquad.net/share/akonadimailreader.png"><img title="Akonadi Mail Reader Prototype" src="http://ervin.ipsquad.net/share/akonadimailreader.png" alt="Screenshot of the new app in kdepim which is a proof of concept mail reader using only Akonadi" width="320" height="270" /></a>
<p>It looks so much like a miniature version of KMail that it is almost scary. But don&#8217;t fool yourself, there&#8217;s a lot to do to have a full fledged KMail which will be only based on Akonadi. We&#8217;re not there yet, still it is nice to see the whole thing taking shape, in particular to reach the point where you can actually read your mail over IMAP using this small prototype and feel almost at home with it thanks to this familiar touch. <img src='http://ervin.ipsquad.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>From my point of view, the KDE culture of working a lot with components really pays off. KMail was first created at a time where this KDE culture didn&#8217;t reach it&#8217;s full potential yet, hence why we need to refactor it now. But, following this culture it is really nice to see that we&#8217;ll end up with small packages of mail client functionalities, and, that thanks to them and to Akonadi, it will be easy to integrate them in any application. We made a relatively complete mail reader in under 400 lines of code, so simply displaying mail content in your application or a message list becomes a trivial task.</p>
]]></content:encoded>
			<wfw:commentRss>http://ervin.ipsquad.net/2009/08/20/kmail-as-components-akonadi-mail-reader/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>The new IMAP4 IDOL, I mean IDLE</title>
		<link>http://ervin.ipsquad.net/2009/07/31/the-new-imap4-idol-i-mean-idle/</link>
		<comments>http://ervin.ipsquad.net/2009/07/31/the-new-imap4-idol-i-mean-idle/#comments</comments>
		<pubDate>Fri, 31 Jul 2009 13:34:03 +0000</pubDate>
		<dc:creator>ervin</dc:creator>
				<category><![CDATA[KDE]]></category>
		<category><![CDATA[Akonadi]]></category>
		<category><![CDATA[IDLE]]></category>
		<category><![CDATA[IMAP]]></category>

		<guid isPermaLink="false">http://ervin.ipsquad.net/?p=170</guid>
		<description><![CDATA[We got a few posts lately of people recently hired by KDAB, and suddenly it made me realize that I didn&#8217;t make such a post when I got hired&#8230; almost two years ago. I guess it&#8217;s a wee bit late to write one now. Buuuut&#8230; I figured out that I could post something about what [...]]]></description>
			<content:encoded><![CDATA[<p>We got a few posts lately of people recently hired by KDAB, and suddenly it made me realize that I didn&#8217;t make such a post when I got hired&#8230; almost two years ago. I guess it&#8217;s a wee bit late to write one now. <img src='http://ervin.ipsquad.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Buuuut&#8230; I figured out that I could post something about what I&#8217;m doing in KDAB (OK! OK! Sebas has been kicking me for days to make it happen). And if that proves to be enjoyable writing for me, and enjoyable reading for you people I may do that again from time to time.</p>
<p>So what am I doing in KDAB these days? Well, for a while now I&#8217;ve been helping the pimsters with the refactoring of our PIM suite toward making it purely Akonadi-based. There&#8217;s quite a lot of work going on in this particular space, and I&#8217;ve been focusing mainly on the IMAP support.</p>
<p>It has been an interesting journey so far which started with evaluating the IMAP stacks we could reuse. First on the ranks were obviously our old ioslave which served us well, and some IMAP code Tom Albers developed for Mailody. It turned out that we had to abandon the ioslave. It served us well for years, but didn&#8217;t work for some of the plans we had (most notably for adding the IDLE support I&#8217;ll talk about later). While working on IMAP I had a couple of ideas on how to still use the old ioslave, but they were really nasty and hackish&#8230; I think it was a clear sign that the ioslave reached its full potential and keeping it alive was a dead end for the future.</p>
<p>So after this investigation phase it has been decided to write a small library for IMAP. We already had some codecs convenience in the KIMAP library from kdepimlibs so we stepped up to extend it. And for the API we quickly settled on a job based one because we had strong needs for asynchronous operations. We clearly don&#8217;t want to be blocking waiting for some IMAP command to be processed. So our dear old KJob friend has been used for that, and it turned out to be a very good choice.</p>
<p>We&#8217;ve been relatively quick at having enough useful jobs implemented in the library once I wrote the core bits of the API. I got quite some help from Andras Mantia for that. By the way, I think that just like our almighty David Faure, Andras is having a few clones himself, once he gets on a task he going so fast you&#8217;d better not be on his way&#8230; something suspect is at play there, I&#8217;m sure. <img src='http://ervin.ipsquad.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>In any case, Andras (and his hundreds of clones) help was welcome, as it helped me move higher in the stack and work on the Akonadi resource itself. I&#8217;ll just slow down a minute and explain for those not in the known what an Akonadi resource is (for the ones in the known, you can skip to the next paragraph). So Akonadi is our grand unified layer to access data in your desktop, applications talk to it and then they have to understand only the akonadi concepts (in short: items, and collections of items). Of course you need to get your items and collections from somewhere, and that&#8217;s the role of Akonadi resources. They just get data from &#8220;somewhere&#8221; and put it in the Akonadi cache where the applications can make use of them. Obviously for a future Akonadi based KDEPIM suite we needed an IMAP resource to access your mail on IMAP servers. And if you followed closely, that means that soon applications won&#8217;t even need to know where the data comes from, you write just an Akonadi client and it can go over: POP, IMAP, whatever! It all depends on the resources your server loaded. Neat huh?</p>
<p>Work on the IMAP resource started only a few days before the Akonadi Sprint in Berlin which I was attending. And the job based API quickly proved that it was the right choice. I&#8217;ve been pretty quick at building the resource on top of it (and Andras was producing new jobs for my own consumption at a furious pace). At this meeting we had kind of an informal contest about who would come up first with an Akonadi resource which can list a mailbox (since at the time POP, IMAP, and maildir support were all developed and started around the same time)&#8230; it turned out that I heard about this informal contest when I was putting the finishing touch to the mailbox listing. Sooo&#8230; DONE! <img src='http://ervin.ipsquad.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>I didn&#8217;t stop there of course as more features were needed to have a complete resource. And I&#8217;ve been working on that almost exclusively during the sprint. Discussing with Volker (aka the Akonadi overlord, the alpha and omega of its design) we came up with nice design ideas for the groupware support (in particular Kolab)&#8230; but that&#8217;s probably a story for another time&#8230;</p>
<p>Some time after the sprint, I flew over to other tasks in PIM land. And left the Akonadi IMAP resource untouched for a while. I came back to it only last week to implement in trunk one long requested feature: the IDLE extension. &#8212; And obviously that&#8217;s where the name of this blog post come from, just like my favorites novels you get the title only in the last chapter or paragraph. <img src='http://ervin.ipsquad.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  &#8212; Thanks to this extension, if it is supported by the server, you get notified from changes by the server itself. For instance, it is not needed anymore to poll every N minutes to notice that a new mail appeared (I think this feature is sometimes called &#8220;push mail&#8221;). For the user that means, that the IMAP server can now notify the client of new emails, emails &#8220;arrive&#8221; faster at the user, and you can save a lot of unnecessary mail checking. Really handy!</p>
<p>I committed IDLE support in trunk this week, so it will get released with our 4.4 release. In the meantime you can start playing with the Akonadi resource when our 4.3 release will be out, as we already ship it there (although it&#8217;s not used by default, see it more like a pre-version of what&#8217;s coming, for instance this one doesn&#8217;t support IDLE).</p>
<p>That&#8217;s it for today, I hope you enjoyed those pimsters news from the trenches of the IMAP battle. See you later!</p>
]]></content:encoded>
			<wfw:commentRss>http://ervin.ipsquad.net/2009/07/31/the-new-imap4-idol-i-mean-idle/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Akademy 2009, here I come! (and some LaTeX magic inside)</title>
		<link>http://ervin.ipsquad.net/2009/07/01/akademy-2009-here-i-come-and-some-latex-magic-inside/</link>
		<comments>http://ervin.ipsquad.net/2009/07/01/akademy-2009-here-i-come-and-some-latex-magic-inside/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 21:38:33 +0000</pubDate>
		<dc:creator>ervin</dc:creator>
				<category><![CDATA[Akademy]]></category>
		<category><![CDATA[KDE]]></category>
		<category><![CDATA[Conference]]></category>
		<category><![CDATA[LaTeX]]></category>

		<guid isPermaLink="false">http://ervin.ipsquad.net/?p=122</guid>
		<description><![CDATA[As usual, long time without blogging from me. A lot happened since the last time, but I&#8217;m too tired (and probably lazy) to write about it now. Some of it will be covered in my talks for Akademy 2009. Of course, Air being almost out of the door we deserve a new updated LaTeX beamer [...]]]></description>
			<content:encoded><![CDATA[<p>As usual, long time without blogging from me. A lot happened since the last time, but I&#8217;m too tired (and probably lazy) to write about it now. Some of it will be covered in my talks for Akademy 2009.</p>
<p>Of course, Air being almost out of the door we deserve a new updated LaTeX beamer template. Since I wrote the Oxygen template, I decided to produce a new one based on the great work from Nuno. As usual I&#8217;m providing a <a href="http://ervin.ipsquad.net/share/AirBeamerTemplate.tar.gz">tarball with the template</a>, and you can take a look at an <a href="http://ervin.ipsquad.net/share/air-example-talk.pdf">example presentation</a></p>
<p>And tomorrow morning, very early, I&#8217;ll meet some more gearheads from Toulouse, and we&#8217;ll take the plane for Gran Canaria. Looking forward to it! See you all in Las Palmas.</p>
<p><img src="http://www.notmart.org/misc/going_gcds.png"/></p>
<p>OK, that was really short, I&#8217;ll try to blog more during the conference. I swear!</p>
]]></content:encoded>
			<wfw:commentRss>http://ervin.ipsquad.net/2009/07/01/akademy-2009-here-i-come-and-some-latex-magic-inside/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Back from Tokamak II</title>
		<link>http://ervin.ipsquad.net/2009/02/10/back-from-tokamak-ii/</link>
		<comments>http://ervin.ipsquad.net/2009/02/10/back-from-tokamak-ii/#comments</comments>
		<pubDate>Tue, 10 Feb 2009 21:27:36 +0000</pubDate>
		<dc:creator>ervin</dc:creator>
				<category><![CDATA[Conferences & Summits]]></category>
		<category><![CDATA[KDE]]></category>
		<category><![CDATA[Plasma]]></category>
		<category><![CDATA[Tokamak]]></category>

		<guid isPermaLink="false">http://ervin.ipsquad.net/?p=120</guid>
		<description><![CDATA[This week-end I attended the Tokamak Mark II, so the second Plasma developers sprint. I was a really packed week-end, but that&#8217;s really enjoyable to have every body at hands. It&#8217;s of course a pleasure to team up again with very good friends like Aaron, Alexis, Rich and the humongous Sebas. It&#8217;s also nice to [...]]]></description>
			<content:encoded><![CDATA[<p>This week-end I attended the Tokamak Mark II, so the second Plasma developers sprint. I was a really packed week-end, but that&#8217;s really enjoyable to have every body at hands. It&#8217;s of course a pleasure to team up again with very good friends like Aaron, Alexis, Rich and the humongous Sebas.</p>
<p>It&#8217;s also nice to have everybody on the deck ready for action. And action we had, lots of different topics got covered: from the framework itself, to the appearance of the shell, it&#8217;s interaction with the other major part of the desktop (namely kwin), the integration of the features from Qt kinetic, etc.</p>
<p>Personally I tried to focus as much as possible on our service framework, so for that I&#8217;m writing a library which will help delegating all the service work to <a href="http://www.jolie-lang.org">Jolie</a>. It&#8217;s not there yet, but we&#8217;re definitely seeing progresses. I can currently write a program which loads Jolie&#8217;s metaservice, fires up a service description and talks to it. It &#8220;just&#8221; needs to be wrapped into a nice API now. <a href="http://www.jolie-lang.org">Jolie</a> is really a pleasant piece of software to work with.</p>
<p>Also on the first day, I talked about my new pet project: Zanshin. A new todo/action management software, I&#8217;m using it daily for a couple of weeks already without major issues. Of course it&#8217;s still a bit rough, and I have great plans for it in order to help people to integrate it in there workflow. I want something simple and flexible. I&#8217;ll probably blog more about that in the coming weeks.</p>
<p>I&#8217;ll end this post with a quote I used in my talk about Zanshin:</p>
<blockquote><p>If your mind is empty, it is always ready for anything; it is open to everything. &#8212; Shunryu Suzuki</p></blockquote>
<p>I expect a 10 page essay about this quote on my desk next week. <img src='http://ervin.ipsquad.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://ervin.ipsquad.net/2009/02/10/back-from-tokamak-ii/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>JOLIE Rocks!</title>
		<link>http://ervin.ipsquad.net/2008/06/28/jolie-rocks/</link>
		<comments>http://ervin.ipsquad.net/2008/06/28/jolie-rocks/#comments</comments>
		<pubDate>Sat, 28 Jun 2008 14:32:51 +0000</pubDate>
		<dc:creator>ervin</dc:creator>
				<category><![CDATA[KDE]]></category>

		<guid isPermaLink="false">http://ervin.ipsquad.net/2008/06/28/jolie-rocks/</guid>
		<description><![CDATA[Sorry to all the males out there, but I won&#8217;t be posting pictures of Angelina Jolie&#8230; I&#8217;ll be talking software here. So JOLIE is an interpreter for a high level language to interact with services. Services as in service oriented architecture, and yes that includes web services but also much more. And, as you might [...]]]></description>
			<content:encoded><![CDATA[<p>Sorry to all the males out there, but I won&#8217;t be posting pictures of <a href="http://en.wikipedia.org/wiki/Angelina_Jolie">Angelina Jolie</a>&#8230; I&#8217;ll be talking software here.</p>
<p>So <a href="http://jolie.sourceforge.net">JOLIE</a> is an interpreter for a high level language to interact with services. Services as in service oriented architecture, and yes that includes web services but also much more. And, as you might have noticed, we discussed with the guys working on JOLIE during the <a href="http://ervin.ipsquad.net/2008/04/16/survived-to-a-tokamak-mark-i/">Tokamak Mark I</a> and as Danny hinted, <a href="http://commit-digest.org/issues/2008-05-11/">I wrote a Qt implementation of SODEP</a> (the protocol used to interact with running instances of JOLIE).</p>
<p>Now you might wonder, what&#8217;s the point of all that? Well, it&#8217;ll enable KDE, to be a first class citizen in the service oriented world (and seeing the amount of web services out there or the growth of D-Bus usage, that&#8217;s an important goal). By &#8220;first class citizen&#8221;, here I mean making it trivial to interact with those services, today we can interact with them but that still require quite some hand made code, something JOLIE and the facilities we&#8217;re planning to add in Plasma will hopefully make obsolete.</p>
<p>That&#8217;s mostly post-4.1 material&#8230; Except that Fabrizio Montesi one of the humongous JOLIE developers couldn&#8217;t wait and wrote some proof of concept code. So I&#8217;ll post a few screenshots he made because they&#8217;re pretty cool in my opinion. So what he made is a small service named Echoes and driving an amarok instance, and GWT based application providing a gui client to this service. Then users can fight over your playlist. <img src='http://ervin.ipsquad.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><img src="http://jolie.sourceforge.net/images/echoes_sync.png" alt="Echoes multiple clients" /></p>
<p>We tested it, it&#8217;s pretty nice all instances are synchronized. Also, if something is changed directly in Amarok you notice it in Echoes GUI. Now, it becomes really cool because you can embed such service clients in your cellphone:</p>
<p><img src="http://jolie.sourceforge.net/images/echoes_cellphone.png" alt="Echoes in cellphone emulator" /></p>
<p>Or even as a Plasma Widget:</p>
<p><img src="http://jolie.sourceforge.net/images/echoes_plasmoid.png" alt="Echoes as Plasma Widget" /></p>
<p>Of course, it&#8217;s still all a bit experimental and ad hoc at the moment. Our goal post-4.1 is to make this kind of service client GUIs trivial to write and better integrated in KDE. Services are widespread now, let&#8217;s make use of them!</p>
]]></content:encoded>
			<wfw:commentRss>http://ervin.ipsquad.net/2008/06/28/jolie-rocks/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
