<?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>Ivan Čukić</title>
	<atom:link href="http://ivan.fomentgroup.org/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://ivan.fomentgroup.org/blog</link>
	<description>Free Software Developer and Enthusiast</description>
	<lastBuildDate>Sat, 19 May 2012 20:47:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Modern compilers required [Activities after 4.9]</title>
		<link>http://ivan.fomentgroup.org/blog/2012/05/19/modern-compilers-required-activities-after-4-9/</link>
		<comments>http://ivan.fomentgroup.org/blog/2012/05/19/modern-compilers-required-activities-after-4-9/#comments</comments>
		<pubDate>Sat, 19 May 2012 17:10:40 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://ivan.fomentgroup.org/blog/2012/05/19/modern-compilers-required-activities-after-4-9/">Ivan Čukić</span></dc:creator>
				<category><![CDATA[KDE]]></category>
		<category><![CDATA[Activities]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[CLang]]></category>
		<category><![CDATA[Compiler]]></category>
		<category><![CDATA[GCC]]></category>
		<category><![CDATA[planetKDE]]></category>

		<guid isPermaLink="false">http://ivan.fomentgroup.org/blog/?p=1291</guid>
		<description><![CDATA[After the KDE SC 4.9 is released, projects inside KDE Projects: Activities will start requiring more up-to-date compilers and will start (ab)using more modern C++. For the library, the requirement will be GCC 4.6, clang 3.0 or whatever version of MSVC++ has the equivalent features. GCC 4.6 is chosen since it will be a dependency [...]]]></description>
			<content:encoded><![CDATA[<p>After the <a href="http://www.kde.org/" class="kblinker" target="_blank">KDE</a> SC 4.9 is released, projects inside <a href="https://projects.kde.org/projects/kde/kdelibs/kactivities">KDE Projects: Activities</a> will start requiring more up-to-date compilers and will start (ab)using more modern C++.</p>
<p>For the library, the requirement will be GCC 4.6, clang 3.0 or whatever version of MSVC++ has the equivalent features. GCC 4.6 is chosen since it will be a dependency of Qt 5, so eventually the rest of KDElibs/KDE Frameworks will foolow suit.</p>
<p>Since GCC is the main targeted compiler, the library will be regularly tested against 4.6. For Clang, I&#8217;ll test with the latest version provided by Debian (currently 3.0).</p>
<p>With that said, I don&#8217;t expect that the library will really be uncompilable with older compilers, it is just that I have no intention keeping the compatibility and testing for it.</p>
<h2>Service</h2>
<p>For the service, the requirement will be more obvious &#8211; compilation will likely fail on older compilers. I&#8217;m currently pondering whether to require GCC 4.6 or 4.7. The later has some rather nice additions from C++11 standard (that are present in Clang 3.0) like <i>Non-static data member initializers (N2756), Template aliases (N2258), Delegating constructors (N1986), Explicit virtual overrides (N2928, N3206, N3272)</i>.</p>
<p>I guess I&#8217;ll start of with 4.6 and see whether it is enough and whether I can live without a few adorable N****s <img src='http://ivan.fomentgroup.org/blog/wp-content/plugins/smilies-themer/kopete/smile.png' alt=':)' class='wp-smiley' /> </p>
<p><b>Edit: Regarding kde-core-devel &#8211; I will start this discussion on k-c-d once 4.9 is out of the door. The point of this post is to test the public responses. Don&#8217;t want to bother everybody on k-c-d for something that is not intended for this release.</b></p>
]]></content:encoded>
			<wfw:commentRss>http://ivan.fomentgroup.org/blog/2012/05/19/modern-compilers-required-activities-after-4-9/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Private (encrypted) activities</title>
		<link>http://ivan.fomentgroup.org/blog/2012/05/19/private-encrypted-activities/</link>
		<comments>http://ivan.fomentgroup.org/blog/2012/05/19/private-encrypted-activities/#comments</comments>
		<pubDate>Sat, 19 May 2012 14:55:07 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://ivan.fomentgroup.org/blog/2012/05/19/private-encrypted-activities/">Ivan Čukić</span></dc:creator>
				<category><![CDATA[KDE]]></category>
		<category><![CDATA[Activities]]></category>
		<category><![CDATA[Encryption]]></category>
		<category><![CDATA[planetKDE]]></category>
		<category><![CDATA[Privacy]]></category>

		<guid isPermaLink="false">http://ivan.fomentgroup.org/blog/?p=1281</guid>
		<description><![CDATA[Some time ago I wrote about the possibility to make activities private, that is, to encrypt the files that relate to it. And, I wrote it will be available in KDE SC 4.9 In short, it will not. You&#8217;ll need to wait, or risk your data. Status Essentially, the encryption works. There are also some [...]]]></description>
			<content:encoded><![CDATA[<p>Some time ago <a href="http://ivan.fomentgroup.org/blog/2012/01/08/encryption-in-kde-sc/">I wrote</a> about the possibility to make activities private, that is, to encrypt the files that relate to it. And, I wrote it will be available in <a href="http://www.kde.org/" class="kblinker" target="_blank">KDE</a> SC 4.9</p>
<p>In short, it will <b>not</b>. You&#8217;ll need to wait, or risk your data.</p>
<h2>Status</h2>
<p>Essentially, the encryption works. There are also some neat features like if your screensaver is started, the current activity (if marked as private) gets automatically locked. Only one activity is unlocked at a time &#8211; it is automatically locked when you switch to another activity. The files/documents you link to a private activity are automatically moved into the encrypted filesystem and removed from the original location. And so on&#8230;</p>
<p><b>So, what doesn&#8217;t work?</b></p>
<p>There&#8217;s no UI to set the activity as private (at least, not in the <a href="http://plasma.kde.org/" class="kblinker" target="_blank">Plasma</a> Desktop). And this is intentional. Security is not something that I take for granted. Anything related to privacy needs to be tested by us before we push it into the hands of ordinary users.</p>
<p>This means that the implementation is there, and is present in 4.9, but it is not available to you if you don&#8217;t plan to experiment and get your hands dirty.</p>
<p><b>What are the known issues?</b></p>
<p>The files on the encrypted partition are (without custom patches to kdelibs and co.) not treated any special by Nepomuk. This means that either (1) the files will be indexed as if they were public, (2) the will not be visible to nepomuk at all (which would render the /link to activity/ useless) or (3) the files will be in nepomuk without any sensitive data and without the possibility to be reindexed. This is not something that I&#8217;m satisfied with, and I&#8217;m considering it a big release blocker.</p>
<p><b>I want to try it anyway!</b></p>
<p>If you are sure that you want to use this feature now, and want to avoid the issues mentioned above, you can do the following:</p>
<pre>
# get the uuid of the current activity:
qdbus org.kde.ActivityManager /ActivityManager \
      CurrentActivity
# use that result in the following line:
qdbus org.kde.ActivityManager /ActivityManager \
      SetActivityEncrypted UUID-of-the-activity 1
</pre>
<p>You&#8217;ll be asked for the password to use for the encryption.</p>
<p>When this is done, the FUSE encfs system will be set up and you&#8217;ll be able to use it. But do use it directly &#8211; save files in the encrypted folder manually, delete them manually and so on. Do not /link files to a private activity/ don&#8217;t mark as private an activity that already has some files linked to it.</p>
<p>If you follow the above, you will not experience any nepomuk indexing related issues, while being able to keep sensitive data encrypted.</p>
<p><b>Edit:</b></p>
<h2>KIO</h2>
<p><a href="http://ivan.fomentgroup.org/blog/2012/05/16/browse-your-activities/">Previously mentioned KIO</a> slave is able to browse the private activities, so you have no need to know where the activity manager mounts the encrypted filesystem.</p>
]]></content:encoded>
			<wfw:commentRss>http://ivan.fomentgroup.org/blog/2012/05/19/private-encrypted-activities/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Always on an activity, or all. You asked for it.</title>
		<link>http://ivan.fomentgroup.org/blog/2012/05/18/always-on-an-activity-or-all-you-asked-for-it/</link>
		<comments>http://ivan.fomentgroup.org/blog/2012/05/18/always-on-an-activity-or-all-you-asked-for-it/#comments</comments>
		<pubDate>Fri, 18 May 2012 16:01:56 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://ivan.fomentgroup.org/blog/2012/05/18/always-on-an-activity-or-all-you-asked-for-it/">Ivan Čukić</span></dc:creator>
				<category><![CDATA[KDE]]></category>
		<category><![CDATA[Activities]]></category>
		<category><![CDATA[KWin]]></category>
		<category><![CDATA[planetKDE]]></category>

		<guid isPermaLink="false">http://ivan.fomentgroup.org/blog/?p=1274</guid>
		<description><![CDATA[There is one feature whose implementation got dragged out for quite a while now, and gets requested with each new release of the KDE Workspace &#8211; being able to tell an application always to be shown on all activities, or on a specific one. The reason for this taking so long is that KWin &#60;-&#62; [...]]]></description>
			<content:encoded><![CDATA[<p>There is one feature whose implementation got dragged out for quite a while now, and gets requested with each new release of the <a href="http://www.kde.org/" class="kblinker" target="_blank">KDE</a> Workspace &#8211; being able to tell an application always to be shown on all activities, or on a specific one.</p>
<p>The reason for this taking so long is that KWin &lt;-&gt; Activities relationship started in the era when I did the activity manager related things (aka /the under the hood stuff/) while Chani connected them to Plassma and KWin. She is not working on KDE anymore, so these areas got a bit forgotten.</p>
<p>Now, the feature will be finally available in KDE SC 4.9.</p>
<p><a href="http://ivan.fomentgroup.org/blog/wp-content/uploads/2012/05/actwin11.png"><img src="http://ivan.fomentgroup.org/blog/wp-content/uploads/2012/05/actwin11-300x268.png" alt="" title="Window rules" width="300" height="268" class="alignright size-medium wp-image-1277" /></a><a href="http://ivan.fomentgroup.org/blog/wp-content/uploads/2012/05/actwin.png"><img src="http://ivan.fomentgroup.org/blog/wp-content/uploads/2012/05/actwin-300x268.png" alt="" title="Window rules and activities" width="300" height="268" class="alignright size-medium wp-image-1276" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://ivan.fomentgroup.org/blog/2012/05/18/always-on-an-activity-or-all-you-asked-for-it/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Browse your activities</title>
		<link>http://ivan.fomentgroup.org/blog/2012/05/16/browse-your-activities/</link>
		<comments>http://ivan.fomentgroup.org/blog/2012/05/16/browse-your-activities/#comments</comments>
		<pubDate>Wed, 16 May 2012 10:33:38 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://ivan.fomentgroup.org/blog/2012/05/16/browse-your-activities/">Ivan Čukić</span></dc:creator>
				<category><![CDATA[KDE]]></category>
		<category><![CDATA[Activities]]></category>
		<category><![CDATA[Dolphin]]></category>
		<category><![CDATA[Folder View]]></category>
		<category><![CDATA[planetKDE]]></category>

		<guid isPermaLink="false">http://ivan.fomentgroup.org/blog/?p=1266</guid>
		<description><![CDATA[As mentioned in my previous post, you can now link your documents, files and folders to your activities. That, by itself, isn&#8217;t much. The first thing that you could do with that is show the linked documents on your desktop by using the Contour layout, which is quite nice even outside of Plasma Active, but [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://ivan.fomentgroup.org/blog/wp-content/uploads/2012/05/cdesktop.png"><img src="http://ivan.fomentgroup.org/blog/wp-content/uploads/2012/05/cdesktop-100x100.png" alt="" title="Contour desktop layout" width="100" height="100" class="alignright size-thumbnail wp-image-1252" style="float: left" /></a>As mentioned in my <a href="http://ivan.fomentgroup.org/blog/2012/05/11/link-your-documents-to-activities-now/">previous post</a>, you can now link your documents, files and folders to your activities. That, by itself, isn&#8217;t much. The first thing that you could do with that is show the linked documents on your desktop by using the Contour layout, which is quite nice even outside of <a href="http://plasma.kde.org/" class="kblinker" target="_blank">Plasma</a> Active, but although usable on the desktop as well, it has some problems.</p>
<p>So, how to make this available to the normal users, you ask? Easy &#8211; make it available to the normal file managers via KIO &#8211; just type activities:/ in Dolphin, Konqueror or the Folder View applet, and you&#8217;ll get a list of all activities, and files that belong to them.</p>
<p>You can see what it looks like in the screenshots. At the moment, it is a bit buggy, but it will work as expected for SC 4.9.</p>
<p><a href="http://ivan.fomentgroup.org/blog/wp-content/uploads/2012/05/actkio.png"><img src="http://ivan.fomentgroup.org/blog/wp-content/uploads/2012/05/actkio-300x229.png" alt="" title="Activities KIO in Dolphin" width="300" height="229" class="alignright size-medium wp-image-1267" /></a><br />
<a href="http://ivan.fomentgroup.org/blog/wp-content/uploads/2012/05/actkio1.png"><img src="http://ivan.fomentgroup.org/blog/wp-content/uploads/2012/05/actkio1-300x217.png" alt="" title="Activities KIO in the Folder View" width="300" height="217" class="alignright size-medium wp-image-1268" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://ivan.fomentgroup.org/blog/2012/05/16/browse-your-activities/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Link your documents to activities now!</title>
		<link>http://ivan.fomentgroup.org/blog/2012/05/11/link-your-documents-to-activities-now/</link>
		<comments>http://ivan.fomentgroup.org/blog/2012/05/11/link-your-documents-to-activities-now/#comments</comments>
		<pubDate>Fri, 11 May 2012 20:50:22 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://ivan.fomentgroup.org/blog/2012/05/11/link-your-documents-to-activities-now/">Ivan Čukić</span></dc:creator>
				<category><![CDATA[KDE]]></category>
		<category><![CDATA[Activity]]></category>
		<category><![CDATA[Dolphin]]></category>
		<category><![CDATA[Files]]></category>
		<category><![CDATA[Linking]]></category>
		<category><![CDATA[planetKDE]]></category>
		<category><![CDATA[Plasma Desktop]]></category>

		<guid isPermaLink="false">http://ivan.fomentgroup.org/blog/?p=1249</guid>
		<description><![CDATA[Seems I&#8217;ve realized I haven&#8217;t been blogging for too long and now I&#8217;m writing too much. The new fun and fancy feature of Activities is being able to link files and folders to activities by right-clicking them in Dolphin, Konqueror, Folder View. You can see what it looks like in the screenshots. The first screenshot [...]]]></description>
			<content:encoded><![CDATA[<p>
<a href="http://ivan.fomentgroup.org/blog/wp-content/uploads/2012/05/activity-linking.png"><img src="http://ivan.fomentgroup.org/blog/wp-content/uploads/2012/05/activity-linking-253x300.png" alt="" title="Linking a file to activities" width="250" height="290" style="float:left;clear:left" class="alignright size-medium wp-image-1250" /></a><br />
Seems I&#8217;ve realized I haven&#8217;t been blogging for too long and now I&#8217;m writing too much.</p>
<p>The new fun and fancy feature of Activities is being able to link files and folders to activities by right-clicking them in Dolphin, Konqueror, Folder View. You can see what it looks like in the screenshots.</p>
<p>The first screenshot shows the menu for a single file, while the second shows it for a multi-item selection.</p>
<h2>What&#8217;s the point?</h2>
<p><a href="http://ivan.fomentgroup.org/blog/wp-content/uploads/2012/05/activity-linking1.png"><img src="http://ivan.fomentgroup.org/blog/wp-content/uploads/2012/05/activity-linking1-300x297.png" alt="" title="Linking multiple files and folders" width="250" height="250" style="float:left;clear:left" class="alignright size-medium wp-image-1251" /></a><br />
<a href="http://ivan.fomentgroup.org/blog/wp-content/uploads/2012/05/cdesktop.png"><img src="http://ivan.fomentgroup.org/blog/wp-content/uploads/2012/05/cdesktop-259x300.png" alt="" title="Contour desktop layout" width="250" height="290" style="float:left;clear:left" class="alignright size-medium wp-image-1252" /></a></p>
<p>Currently, this doesn&#8217;t do much &#8211; you can show the linked files on your desktop if you set your desktop layout to be contour (not the whole <a href="http://plasma.kde.org/" class="kblinker" target="_blank">Plasma</a> Active, but only the widget layout).</p>
<p>And soon, I&#8217;m planning to also have a KIO implemented so that you can browse all the linked files by browsing activities://something/&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://ivan.fomentgroup.org/blog/2012/05/11/link-your-documents-to-activities-now/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Brainstorms for the activities in the desktop plasma needed</title>
		<link>http://ivan.fomentgroup.org/blog/2012/05/10/activities-in-the-plasma-desktop/</link>
		<comments>http://ivan.fomentgroup.org/blog/2012/05/10/activities-in-the-plasma-desktop/#comments</comments>
		<pubDate>Thu, 10 May 2012 18:21:15 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://ivan.fomentgroup.org/blog/2012/05/10/activities-in-the-plasma-desktop/">Ivan Čukić</span></dc:creator>
				<category><![CDATA[Default]]></category>
		<category><![CDATA[Activities]]></category>
		<category><![CDATA[planetKDE]]></category>
		<category><![CDATA[Plasma Desktop]]></category>

		<guid isPermaLink="false">http://ivan.fomentgroup.org/blog/?p=1244</guid>
		<description><![CDATA[I&#8217;m no longer sponsored by basysKom to work on Active (the Contour project ended), so I can focus some of my coding to the desktop. Most of the things I&#8217;ve been doing are independent from Plasma Active, but had a small UI overlay written specifically for it. Now is the time to bring some of [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m no longer sponsored by basysKom to work on Active (the Contour project ended), so I can focus some of my coding to the desktop. Most of the things I&#8217;ve been doing are independent from <a href="http://plasma.kde.org/" class="kblinker" target="_blank">Plasma</a> Active, but had a small UI overlay written specifically for it.</p>
<p>Now is the time to bring some of the features that proved to be useful to common Plasma users, and, for this, I&#8217;ll need help from everyone, be it brainstorming or even coding. This post is meant to introduce to you what technologies are going to be available to build upon.</p>
<p>You should post all your ideas to the <a href="http://forum.kde.org/viewforum.php?f=226">KDE Workspace Vision</a> part of our forums.</p>
<h2>Linking the documents to activities</h2>
<p>Background: One of the purposes of activities is to link documents (including web pages, images, etc.), applications, contacts etc. that are related to the activity so that you can access them faster. Apart from manually telling the system which resources belong to an activity, the goal is to have the system score the documents based on the number of times you&#8217;ve used them in a specific activity*.</p>
<p>So here are some of the ideas I plan to make reality.</p>
<ul>
<li>Manual linking of files by right-clicking them in dolphin.</li>
<li>Linking via Share-Like-Connect applet &#8211; eventually, when most of our applications get patched to report the documents they open to the activity manager, we&#8217;ll know which document is in focus at any given time. This way, we&#8217;ll have global (in the panel) buttons to share the document, bookmark it, link it to the activity.</li>
<li>Linking contacts from Kontact, Telepathy and similar</li>
<li>Linking the highest scored documents automatically or semi-automatically</li>
<li>Have the favourite applications section in menus dependent on the activity</li>
<li>Rank krunner results according to the scores</li>
<li>Browsing the resources that belong to the activity with Dolphin (and file open/save dialogue)</li>
<li>Showing all that in the Shelf applet</li>
</ul>
<p>* actually, it is a little bit more complex than that, but it is irrelevant for this purpose.</p>
<h2>Other simpler things</h2>
<ul>
<li>System settings module for advanced activity configuration &#8211; the name and icon setup plasma provides is a bit underwhelming
<ul>
<li>Setting the basic activity info, creating and deleting</li>
<li>Setting whether the activity is private (requires a password to be unlocked, data is encrypted) &#8211; see <a href="http://ivan.fomentgroup.org/blog/2012/01/08/encryption-in-kde-sc/">Encryption in KDE SC</a></li>
<li>Setting whether the usage statistics should not be collected in a specific activity at all, or only for certain applications</li>
</ul>
</li>
</ul>
<h2>Dreams</h2>
<ul>
<li>Automatic grouping of documents that relate to each other based on the usage statistics (for example, the literature you used while writing a scientific paper)</li>
<li>&#8230;</li>
</ul>
<h2>Help</h2>
<p>So, the thing that I need from all of our awesome users is to polish these ideas, create new and more awesome ones, etc.</p>
]]></content:encoded>
			<wfw:commentRss>http://ivan.fomentgroup.org/blog/2012/05/10/activities-in-the-plasma-desktop/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Nepomuk indexing got a bit faster</title>
		<link>http://ivan.fomentgroup.org/blog/2012/05/04/nepomuk-indexing-got-a-bit-faster/</link>
		<comments>http://ivan.fomentgroup.org/blog/2012/05/04/nepomuk-indexing-got-a-bit-faster/#comments</comments>
		<pubDate>Fri, 04 May 2012 08:21:18 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://ivan.fomentgroup.org/blog/2012/05/04/nepomuk-indexing-got-a-bit-faster/">Ivan Čukić</span></dc:creator>
				<category><![CDATA[KDE]]></category>
		<category><![CDATA[Nepomuk]]></category>
		<category><![CDATA[planetKDE]]></category>
		<category><![CDATA[Speed]]></category>
		<category><![CDATA[Strigi]]></category>

		<guid isPermaLink="false">http://ivan.fomentgroup.org/blog/?p=1238</guid>
		<description><![CDATA[One of the problems that the Nepomuk team had in the past were crashes in the strigi library (usually because of a corrupted file or similar). For that reason, the indexer was moved into a separate process, and it was executed for each file individually. This is generally a good practice &#8211; ensuring that components [...]]]></description>
			<content:encoded><![CDATA[<p>One of the problems that the Nepomuk team had in the past were crashes in the strigi library (usually because of a corrupted file or similar). For that reason, the indexer was moved into a separate process, and it was executed for each file individually.</p>
<p>This is generally a good practice &#8211; ensuring that components can not crash the main server. For those who don&#8217;t know this, Nepomuk server invokes a few out-of-process services so that those can&#8217;t crash each other. And, as already stated, the file indexer service delegates the work to an external process. This is a rather nice design &#8211; hierarchical separation of risky components into external processes.</p>
<p>While this brings stability, it is not cheap. Launching processes takes valuable CPU time (loading, linking and other things your OS does whenever you start a program). This is not a big issue for Nepomuk&#8217;s services since there are only a few of them, and they are started only once, when the system boots.</p>
<p>But it was the issue with the indexer since the executable was being run for each file that needed indexing. This is not something that I was comfortable with, so I decided to make it a bit more sophisticated, without decreasing stability.</p>
<p>Now, the external indexer process is started only once, and the server feeds it with a list of files that need indexing &#8211; one by one. If the indexer crashes, the server just restarts it and continues without a glitch.</p>
]]></content:encoded>
			<wfw:commentRss>http://ivan.fomentgroup.org/blog/2012/05/04/nepomuk-indexing-got-a-bit-faster/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>Nepomuk: Don&#8217;t misuse</title>
		<link>http://ivan.fomentgroup.org/blog/2012/05/03/nepomuk-dont-misuse/</link>
		<comments>http://ivan.fomentgroup.org/blog/2012/05/03/nepomuk-dont-misuse/#comments</comments>
		<pubDate>Thu, 03 May 2012 15:03:43 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://ivan.fomentgroup.org/blog/2012/05/03/nepomuk-dont-misuse/">Ivan Čukić</span></dc:creator>
				<category><![CDATA[KDE]]></category>
		<category><![CDATA[Nepomuk]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[planetKDE]]></category>

		<guid isPermaLink="false">http://ivan.fomentgroup.org/blog/?p=1231</guid>
		<description><![CDATA[Nepomuk is a very nice shared data repository. It is an easy way to make the data from your application available to others. But, it is important to know that Nepomuk is not a general purpose database &#8211; everything is peachy until you start using it as such. And especially if you start treating it [...]]]></description>
			<content:encoded><![CDATA[<p>Nepomuk is a very nice shared data repository. It is an easy way to make the data from your application available to others.</p>
<p>But, it is important to know that Nepomuk is not a general purpose database &#8211; everything is peachy until you start using it as such. And especially if you start treating it as a relational database.</p>
<p>There are a few things to keep in mind when developing Nepomuk-based programs.</p>
<h3>Working on graphs</h3>
<p><img title="RDF Graph" width="256" src="/blog/wp-content/uploads/2012/05/rdf-graph.jpg" style="float: right">Nepomuk is a graph database &#8211; this means that the data is not organized into tables live you&#8217;ve used to, but as nodes and connections between them.</p>
<p>So, any query you make is not a restriction on a relation (a table) but rather a multi-join of a single subject-verb-object table (this is a bit simplistic view).</p>
<p>As you probably know, doing joins is not really a cheap operation however optimized it is (and Virtuoso <i>is</i> one of the fastest graph databases available).</p>
<h3>D-Bus connections</h3>
<p>The second thing is that while Nepomuk-internal connections are done via local sockets, your connection to Nepomuk goes through D-Bus which is not the fastest kid on the block. The more requests you make, the more time it will take.</p>
<h2>Some hints</h2>
<p>There are some things you can make to make these issues less relevant to your applications.</p>
<h3>Wide-table queries</h3>
<p>One of the common ways people write queries is the following:</p>
<pre>
    <b>select</b> ?r <b>where</b> {
        ?r a something .
        ?r something else .
        ...
    }</pre>
<p>And then process the results one by one by doing stuff like:</p>
<pre>
    resource.getProperty(something);
    resource.getProperty(something else);
    ...</pre>
<p>Which means your program creates a lot of queries &#8211; one main, and a couple more for each result.</p>
<p>Instead of making a lot of queries, it is advisable (although initially not that intuitive) to create one big query like this:</p>
<pre>
    <b>select</b> ?r, ?prop1, ?prop2 <b>where</b> {
        ?r a ?prop1 .
        ?r something ?prop2 .
        ...
    }</pre>
<p>It does transfer a lot of data at once, but at least it does so in a single request-response connection, and it doesn&#8217;t repeat the same query (parsing, optimizing, evaluating) multiple times for different parameters.
</p>
<h3>Consider storing some data locally</h3>
<p>If you have data that don&#8217;t necessarily need to be shared, consider storing it in config files, embedded database like sqlite3 or similar.</p>
<p>This way, apart from skipping D-Bus, you can have faster queries in the cases like these (which are not at all rare):</p>
<pre>
    <b>select</b> ?r <b>where</b> {
        ?r a someType .
        ?r property1 "value1" .
        ?r property2 "value2" .
        ...
    }</pre>
<p>This query does a number of joins, whereas its equivalent in SQL does only filtering:</p>
<pre>
    <b>select</b> * <b>from</b> someType <b>where</b>
        property1 = "value1" <b>and</b>
        property2 = "value2" <b>and</b>
        ...
    </pre>
<h2>Summary</h2>
<p>So, whatever you do (be it Nepomuk or something else), first ask, experiment, test and learn the system before using it.</p>
]]></content:encoded>
			<wfw:commentRss>http://ivan.fomentgroup.org/blog/2012/05/03/nepomuk-dont-misuse/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Users of kext:Activity and friends</title>
		<link>http://ivan.fomentgroup.org/blog/2012/03/09/users-of-kextactivity-and-friends/</link>
		<comments>http://ivan.fomentgroup.org/blog/2012/03/09/users-of-kextactivity-and-friends/#comments</comments>
		<pubDate>Fri, 09 Mar 2012 11:50:42 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://ivan.fomentgroup.org/blog/2012/03/09/users-of-kextactivity-and-friends/">Ivan Čukić</span></dc:creator>
				<category><![CDATA[KDE]]></category>
		<category><![CDATA[Activities]]></category>
		<category><![CDATA[ontology]]></category>
		<category><![CDATA[planetKDE]]></category>

		<guid isPermaLink="false">http://ivan.fomentgroup.org/blog/?p=1222</guid>
		<description><![CDATA[Just a short note for everyone using anything from the kext ontology that is related to activities &#8211; since today, kext:Activity and friends don&#8217;t exist. Everything is moved from kext to kao (KActivities Ontology) There are a lot of news regarding the activity manager, but nothing picture-worthy so I&#8217;ll skip writing about it.]]></description>
			<content:encoded><![CDATA[<p>Just a short note for everyone using anything from the kext ontology that is related to activities &#8211; since today, kext:Activity and friends don&#8217;t exist. Everything is moved from kext to kao (KActivities Ontology)</p>
<p>There are a lot of news regarding the activity manager, but nothing picture-worthy so I&#8217;ll skip writing about it.</p>
]]></content:encoded>
			<wfw:commentRss>http://ivan.fomentgroup.org/blog/2012/03/09/users-of-kextactivity-and-friends/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Encryption in KDE SC</title>
		<link>http://ivan.fomentgroup.org/blog/2012/01/08/encryption-in-kde-sc/</link>
		<comments>http://ivan.fomentgroup.org/blog/2012/01/08/encryption-in-kde-sc/#comments</comments>
		<pubDate>Sun, 08 Jan 2012 22:36:29 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://ivan.fomentgroup.org/blog/2012/01/08/encryption-in-kde-sc/">Ivan Čukić</span></dc:creator>
				<category><![CDATA[KDE]]></category>
		<category><![CDATA[Encryption]]></category>
		<category><![CDATA[planetKDE]]></category>
		<category><![CDATA[Plasma]]></category>

		<guid isPermaLink="false">http://ivan.fomentgroup.org/blog/?p=1215</guid>
		<description><![CDATA[Security in activities There is something that a few people here and there have been requesting &#8211; having some automatic (UI) way to create encrypted folders to keep their sensitive data in. The thing I&#8217;m going to talk about today is exactly that &#8211; starting with KDE SC 4.9 you&#8217;ll be able to decide to [...]]]></description>
			<content:encoded><![CDATA[<h2>Security in activities</h2>
<p>There is something that a few people here and there have been requesting &#8211; having some automatic (UI) way to create encrypted folders to keep their sensitive data in.</p>
<p>The thing I&#8217;m going to talk about today is exactly that &#8211; starting with <a href="http://www.kde.org/" class="kblinker" target="_blank">KDE</a> SC 4.9 you&#8217;ll be able to decide to encrypt specific activities. When you do that, you&#8217;ll get a ~/Activities/Something folder that is password protected and encrypted using fuse/encfs.</p>
<p>The encryption/decription process will be done automatically on activity switching.</p>
<p>For example, lets say you have two activities &#8211; Leisure and MI5 &#8211; with the latter being an encrypted activity. When you switch to the MI5 activity, you&#8217;ll be asked for its password and you&#8217;ll be able to access the data. When you switch back to the Leisure activity, the system for the previous one will be automatically unmounted.</p>
<h2><a href="http://plasma.kde.org/" class="kblinker" target="_blank">Plasma</a> Active Three</h2>
<p>One of the reasons behind this new feature is PA3. You&#8217;ll have a portable device that can be stolen, that could be used by your children (while being single-user) for fun etc. and you don&#8217;t want some data to be visible to them.</p>
<p>In the case of PA, since there is no file manager and we don&#8217;t want to expose the file-system to the user, every document that you link to the activity will be automatically moved to the encrypted folder.</p>
<h2>Drawbacks</h2>
<p>There are a couple features that will stop working with encrypted activities &#8211; you will not be able to search encrypted documents by contents since the contents will not be indexed by nepomuk, and documents will not be able to belong to multiple activities if one of them is encrypted.</p>
]]></content:encoded>
			<wfw:commentRss>http://ivan.fomentgroup.org/blog/2012/01/08/encryption-in-kde-sc/feed/</wfw:commentRss>
		<slash:comments>27</slash:comments>
		</item>
	</channel>
</rss>

