<?xml version="1.0"?>
<rss version="2.0">

<channel>
	<title>Member Planet | Kubuntu-de.org</title>
	<link>http://planet.kubuntu-de.org/</link>
	<language>en</language>
	<description>Member Planet | Kubuntu-de.org - http://planet.kubuntu-de.org/</description>

<item>
	<title>Harald Sitter (apachelogger): Improving Kubuntu's l10n + Icon making</title>
	<guid>tag:blogger.com,1999:blog-25506113.post-189876979540178192</guid>
	<link>http://apachelog.blogspot.com/2009/06/improving-kubuntus-l10n-icon-making.html</link>
	<description>&lt;img class="face" align='right' style='margin: 5px;' src="http://planet.kubuntu-de.org/images/hackergotchy/apachelogger.png" width="100" height="100" alt=""&gt;
&lt;a href=&quot;https://lists.ubuntu.com/archives/kubuntu-devel/2009-June/002964.html&quot;&gt;https://lists.ubuntu.com/archives/kubuntu-devel/2009-June/002964.html&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The best mail in all of June :D&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Which made me create:&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;https://code.edge.launchpad.net/~kubuntu-members/kubuntu-dev-tools/kde-l10n-orphans-parser&quot;&gt;https://code.edge.launchpad.net/~kubuntu-members/kubuntu-dev-tools/kde-l10n-orphans-parser&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;... a fancy ruby script to parse KDE's process_orphans.txt file in order to track po movements (which need to be applied manually to the Launchpad templates), the design is as wicked as it can get, but it seems to work (at least for core KDE).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Talking about ruby... the ruby tutorial at the Kubuntu Tutorials Day was kind of weird (I still find the concept of IRC talks rather confusing TBH), it certainly could have been worse though. I think that it is pretty diffcult to squeeze the awesomeness of ruby into a one hour tutorial. Pretty lame excuse, huh? :P&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Later on kwwii did an awesome talk about artworking which made me create:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;http://3.bp.blogspot.com/_j9FwE_4iU7c/SkohFq0IOaI/AAAAAAAACHQ/BV98u_403c4/s1600-h/usb-creator.png&quot;&gt;&lt;img src=&quot;http://3.bp.blogspot.com/_j9FwE_4iU7c/SkohFq0IOaI/AAAAAAAACHQ/BV98u_403c4/s320/usb-creator.png&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5353127488359250338&quot; /&gt;&lt;/a&gt;Though it might be better to use the Kubuntu icon rather than the text, because you really wouldn't notice that this icon is about Kubuntu at 48x48.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;All in all, the tutorials were really awesome and totally worth almost falling asleep at the dentist's today :)&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/25506113-189876979540178192?l=apachelog.blogspot.com&quot; /&gt;&lt;/div&gt;</description>
	<pubDate>Tue, 30 Jun 2009 14:19:00 +0000</pubDate>
	<author>noreply@blogger.com (apachelogger)</author>
</item>
<item>
	<title>Harald Sitter (apachelogger): Kubuntu Tutorials Day!!!</title>
	<guid>tag:blogger.com,1999:blog-25506113.post-1201410721892620533</guid>
	<link>http://apachelog.blogspot.com/2009/06/kubuntu-tutorials-day.html</link>
	<description>&lt;img class="face" align='right' style='margin: 5px;' src="http://planet.kubuntu-de.org/images/hackergotchy/apachelogger.png" width="100" height="100" alt=""&gt;
&lt;a href=&quot;https://wiki.kubuntu.org/KubuntuTutorialsDay&quot;&gt;&lt;img src=&quot;http://people.ubuntu.com/~jriddell/kubuntu-tutorials-day-2009.png&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;With me as incredibly hot but clueless ruby tutor!!!eleven&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/25506113-1201410721892620533?l=apachelog.blogspot.com&quot; /&gt;&lt;/div&gt;</description>
	<pubDate>Mon, 29 Jun 2009 18:27:00 +0000</pubDate>
	<author>noreply@blogger.com (apachelogger)</author>
</item>
<item>
	<title>Marcus Czeslinski (Czessi): Air unter Kubuntu Jaunty mit KDE 4.3 Beta 2 installieren</title>
	<guid>http://www.czessi.de/885 at http://www.czessi.de</guid>
	<link>http://www.czessi.de/de/weblog/2009/06/air-unter-kubuntu-jaunty-mit-kde-4-3-beta-2-installieren</link>
	<description>&lt;img class="face" align='right' style='margin: 5px;' src="http://planet.kubuntu-de.org/images/hackergotchy/czessi.png" width="100" height="103" alt=""&gt;
&lt;p&gt;Wie &lt;a href=&quot;http://www.notmart.org/index.php/Graphics/AIR_its_official&quot; target=&quot;_blank&quot;&gt;Marco Martin&lt;/a&gt; und &lt;a href=&quot;http://pinheiro-kde.blogspot.com/2009/06/air-we-see.html&quot; target=&quot;_blank&quot;&gt;Nuno Pinheiro&lt;/a&gt; heute Früh berichteten, ist das Standard Plasma Theme für KDE 4.3, &lt;b&gt;Air&lt;/b&gt;, jetzt im SVN.&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;inline inline-center&quot;&gt;&lt;a href=&quot;http://www.czessi.de/de/images/kubuntu-9-04-jaunty-kde-4-3-beta-2-air&quot;&gt;&lt;img src=&quot;http://www.czessi.de/files/images/Air KDE 4.3 Beta 2.img_assist_custom.png&quot; alt=&quot;Plasma Theme Air: Kubuntu 9.04 Jaunty + KDE 4.2 Beta 2 + Air&quot; title=&quot;Plasma Theme Air: Kubuntu 9.04 Jaunty + KDE 4.2 Beta 2 + Air&quot; class=&quot;image image-img_assist_custom&quot; width=&quot;480&quot; height=&quot;384&quot; /&gt;&lt;/a&gt;&lt;span class=&quot;caption&quot;&gt;&lt;strong&gt;Plasma Theme Air: &lt;/strong&gt;Kubuntu 9.04 Jaunty + KDE 4.2 Beta 2 + Air&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Ich habe KDE 4.3 in der Beta 2 installiert und konnte natürlich nicht bis zum RC warten und habe mir Air nachinstalliert. Dabei habe ich mich für die Installation innerhalb meines persönlichen Ordners entschieden.&lt;br /&gt;
&lt;!--break--&gt;&lt;br /&gt;
Wer Air ebenfalls Installieren möchte, muß lediglich folgende 2 Befehle ausführen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;cd ~/.kde/share/apps/desktoptheme/&lt;/li&gt;
&lt;li&gt;svn co svn://anonsvn.kde.org/home/kde/trunk/KDE/kdebase/runtime/desktoptheme/air&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Jetzt nur unter &quot;Arbeitsflächen Einstellungen&quot; auf &quot;Air&quot; umstellen.&lt;/p&gt;
&lt;p&gt;Viel Spaß &lt;img src=&quot;http://www.czessi.de/modules/smileys/packs/example/wink.png&quot; title=&quot;Eye-wink&quot; alt=&quot;Eye-wink&quot; /&gt;&lt;/p&gt;</description>
	<pubDate>Sat, 20 Jun 2009 17:31:49 +0000</pubDate>
</item>
<item>
	<title>Milian Wolff (milian): Progress in non-cpp KDevelop4 land</title>
	<guid>http://milianw.de/99 at http://milianw.de</guid>
	<link>http://milianw.de/blog/progress-in-non-cpp-kdevelop4-land</link>
	<description>&lt;img class="face" align='right' style='margin: 5px;' src="http://planet.kubuntu-de.org/images/hackergotchy/milian.png" width="90" height="100" alt=""&gt;
&lt;p&gt;Has been a time since I wrote the last update for PHP / webdevelopment related work in KDevelop4&amp;#8230;&lt;/p&gt;

&lt;h5&gt;XDebug&lt;/h5&gt;

&lt;p&gt;First of all, Niko (nsams) is working diligently on the general debugger framework for KDevelop4. Of course gdb is still the main focus so far yet he always has his XDebug plugin (which is currently unusable) in mind. So expect some great debugging features once he&amp;#8217;s done with the framework.&lt;/p&gt;

&lt;h5&gt;Remote Projects&lt;/h5&gt;

&lt;p&gt;Another thing I&amp;#8217;ve not yet written about is a bunch of commits I did just after the Hackaton: Remote Projects! Yes, finally you can work directly on the server with KDevelop. I still have to make sure that the user does not try to open a remote cmake project (or similar), because that is &lt;em&gt;of course&lt;/em&gt; not supported. Only the Generic Project Manager (basically a list of files in a dir) works. There&amp;#8217;s for sure some things to polish, yet I&amp;#8217;d like to see user feedback for that use-case at least.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: There is still some functionality missing in other areas, like creating a new remote project from a template etc.&lt;/p&gt;

&lt;h5&gt;Out-of-class declarations of member variables&lt;/h5&gt;

&lt;p&gt;The PHP plugin itself got support for some more code, like declarations of members variables outside the class context which was reported by one of our early adopters (&lt;em&gt;hint&lt;/em&gt; &lt;em&gt;hint&lt;/em&gt; - do the same! we need more wishes and bug reports!).&lt;/p&gt;

&lt;h5&gt;Improved DeclarationBuilder&lt;/h5&gt;

&lt;p&gt;Additionally I changed the logic of our DeclarationBuilder so it does not create a new variable declaration for each assigment expression. I think this makes refactoring, use-highlighting etc. in a PHP environment much better for many cases. Sadly it is not yet perfect since we still need to redeclare variables when their type changes. Fixing that would require potentially big changes to the DUChain and I&amp;#8217;m not sure when it will happen.&lt;/p&gt;

&lt;h5&gt;Error Reporting&lt;/h5&gt;

&lt;p&gt;Furthermore I&amp;#8217;ve added some more inline error reportings, namely for redeclaration of &lt;span class=&quot;geshifilter&quot;&gt;&lt;code class=&quot;geshifilter-text&quot;&gt;$this&lt;/code&gt;&lt;/span&gt; in a class context. This is also an area where &lt;strong&gt;you&lt;/strong&gt; might help us a lot: Send us PHP snippets which fail when executed but are not yet highlighted in the editor. I&amp;#8217;ll try to add them then. Just use the bugtracker on &lt;a href=&quot;http://bugs.kde.org&quot;&gt;http://bugs.kde.org&lt;/a&gt;.&lt;/p&gt;

&lt;h5&gt;Performance&lt;/h5&gt;

&lt;p&gt;Also David (dnolden / zwabel) of Cpp-KDev4 fame made some changes which resulted in a good performance win. Thanks!&lt;/p&gt;</description>
	<pubDate>Wed, 27 May 2009 19:09:28 +0000</pubDate>
</item>
<item>
	<title>Harald Sitter (apachelogger): Checkinstall DEBs done the CMake way...</title>
	<guid>tag:blogger.com,1999:blog-25506113.post-6152041162621407996</guid>
	<link>http://apachelog.blogspot.com/2009/05/checkinstall-debs-done-cmake-way.html</link>
	<description>&lt;img class="face" align='right' style='margin: 5px;' src="http://planet.kubuntu-de.org/images/hackergotchy/apachelogger.png" width="100" height="100" alt=""&gt;
CMake can by default build binary packages in DEB, RPM, EXE... Using the all famous CPack (yeah right, you probably never heared of it ;-))&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Making use of CPack is in most cases actually quite easy and just involves a bit of copy and paste.&lt;/div&gt;&lt;div&gt;Lets use rekonq as example:&lt;/div&gt;&lt;div&gt;First you'll need to get the source from kde-apps and extract it, then edit the CMakeLists.txt file in the main directory and add the following at the very end:&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;blockquote&gt;&lt;div&gt;SET(CPACK_GENERATOR &quot;DEB&quot;)&lt;/div&gt;&lt;div&gt;SET(CPACK_PACKAGE_NAME ${CMAKE_PROJECT_NAME})&lt;/div&gt;&lt;div&gt;SET(CPACK_SET_DESTDIR TRUE)&lt;/div&gt;&lt;div&gt;SET(CPACK_DEBIAN_PACKAGE_MAINTAINER &quot;me&quot;)&lt;/div&gt;&lt;div&gt;SET(CPACK_PACKAGE_VERSION_MAJOR &quot;0&quot;)&lt;/div&gt;&lt;div&gt;SET(CPACK_PACKAGE_VERSION_MINOR &quot;0&quot;)&lt;/div&gt;&lt;div&gt;SET(CPACK_PACKAGE_VERSION_PATCH &quot;1~alpha1&quot;)&lt;/div&gt;&lt;div&gt;include(CPack)&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;You can use this portion for about every application, though you might want to change the VERSION parts accordingly ;-)&lt;/div&gt;&lt;div&gt;Once you are done editing, just continue with the normal build process (i.e. mkdir build; cd build; cmake ..; make). When/If make finishes just run &lt;i&gt;cpack&lt;/i&gt; or &lt;i&gt;make package&lt;/i&gt;. If everything went well this should place rekonq-0.0.1~alpha1-Linux.deb in the build directory, waiting for you to install it.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Disclaimer: This package does, just like a checkinstall created one, not list dependencies, nor does it meet all requirements of a sensible debian package and thus should not be distributed. So, if you create a package using CPack, don't distribute them, it might very well cause problems for the people who want to use it. Instead I'd recommend to learn packaging, neither debian packaging nor RPM packaging are difficult to learn (mastering them takes a live time though, or so I have been told ;-)).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Also note that it is indeed possible to create sensible packages using CPack (after all that is it's primary usecase), it requires a bit more work than just adding the lines listed above though.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/25506113-6152041162621407996?l=apachelog.blogspot.com&quot; /&gt;&lt;/div&gt;</description>
	<pubDate>Sat, 02 May 2009 17:04:00 +0000</pubDate>
	<author>noreply@blogger.com (apachelogger)</author>
</item>
<item>
	<title>Milian Wolff (milian): KDevelop Hack Sprint 2009 - Day 2 and 3</title>
	<guid>http://milianw.de/98 at http://milianw.de</guid>
	<link>http://milianw.de/blog/kdevelop-hack-sprint-2009-day-2-and-3</link>
	<description>&lt;img class="face" align='right' style='margin: 5px;' src="http://planet.kubuntu-de.org/images/hackergotchy/milian.png" width="90" height="100" alt=""&gt;
&lt;p&gt;Ok, just a quick update on what we are doing / have done the last two days except drinking beer and eating quite a lot of food (though it never seems to be enough somehow&amp;#8230;.)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Apol was polishing CMake support, speeding up KDevelop startup time when you enabled the QtHelp plugin, making sure that Kross plugins get loaded properly and some other things&lt;/li&gt;
&lt;li&gt;Adymo started some refactoring of Sublime in an experimental branch (actually they had quite a long discussion right now about things in the UI which should be changed/fixed). Besides that he also fixed some little bugs in the includepath resolver for CMake&lt;/li&gt;
&lt;li&gt;Nsams is fixing PHP support and adding new features here and there. Esp. completion inside a foreach over a Iterator class works now!&lt;/li&gt;
&lt;li&gt;and as always ZWabel did fix quite a lot of bugs, most of them which only were discoverable in a few corner cases, very nice indeed.&lt;/li&gt;
&lt;li&gt;shaforo who sadly already left us again to attend university fixed the sorting in the Project view among other things&lt;/li&gt;
&lt;li&gt;With Apols help I managed to get started with a documentation plugin which (currently) integrates PHP.net. I plan to make it possible to use the downloadable PHP.net documentation as well to speed things up. Actually setting up a documentation plugin is &lt;em&gt;very&lt;/em&gt; easy! Maybe I&amp;#8217;ll take a look at writing a documentation plugin for Zend, Symfony, etc. pp. as well - should be fairly easy. Maybe I can come up with a generic documentation plugin which makes it possible to include any kind of &lt;span class=&quot;geshifilter&quot;&gt;&lt;code class=&quot;geshifilter-text&quot;&gt;.html&lt;/code&gt;&lt;/span&gt; documentation with some configurable mapping&amp;#8230; lets see! Or maybe I should take a look at writing Kross plugins (Apol could help me here as well) for that purpose.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Except these changes we also discussed how to support dynamically typed languages like PHP, Ruby, Python and JavaScript better. One result of it that we now plan to fully support the dedicated map types of each language, with autocompletion and such. Of course that won&amp;#8217;t be possible for 100% of the use-cases, but we hope to support at least the most common ones (i.e. 90%). You can take a look at &lt;a href=&quot;http://www.kdevelop.org/mediawiki/index.php/SupportForDynamicMaps&quot; title=&quot;http://www.kdevelop.org/mediawiki/index.php/SupportForDynamicMaps&quot;&gt;http://www.kdevelop.org/mediawiki/index.php/SupportForDynamicMaps&lt;/a&gt; for more information.&lt;/p&gt;

&lt;p&gt;Additionally Nsams, Apol and Zwabel took a look at the GDB plugin and started working on it a bit. It&amp;#8217;s still a work in progress though.&lt;/p&gt;

&lt;p&gt;My biggest change is that color highlighting support for dark color schemes now is in trunk. It automatically adapts to changes in the global KDE color scheme, yet you still have to manually change the Kate color scheme. Actually I intend to add an interface to Kate so we can use it&amp;#8217;s color schemes instead of the global KDE one - makes much more sense and would fix some bugs (i.e. fix from dark color scheme to a light one). Here&amp;#8217;s a screenshot of it (with the PHP.net documentation showing):&lt;/p&gt;

&lt;p&gt;
&lt;img src=&quot;http://milianw.de/files/kdevelop/dark_highlighting.png&quot; alt=&quot;highlighting in kdevelop with dark color scheme&quot; /&gt;
&lt;br /&gt;
&lt;small&gt;&lt;em&gt;dark color scheme and syntax highlighting in KDevelop 4&lt;/em&gt;&lt;/small&gt;
&lt;/p&gt;

&lt;p&gt;If you followed the planet kde you might have seen &lt;a href=&quot;http://ariya.blogspot.com/2009/04/on-hue-subdividision-for-mortals.html&quot;&gt;some&lt;/a&gt; &lt;a href=&quot;http://ariya.blogspot.com/2009/04/still-about-color-wheel.html&quot;&gt;blog&lt;/a&gt; posts about color reception and color generation by &lt;a href=&quot;http://ariya.blogspot.com/&quot;&gt;Ariya Hidayat&lt;/a&gt;. I will take a look at it and implement it in KDevelop. Or I simply pick a given set of colors and use them - for 10 colors or so we need it doesn&amp;#8217;t make that much sense to let them be generated. Yet the article he linked to about &lt;a href=&quot;http://doc.trolltech.com/qq/qq26-adaptivecoloring.html&quot;&gt;adaptive coloring for syntax highlighting&lt;/a&gt; will be helpful I think! Thanks!&lt;/p&gt;

&lt;p&gt;Yet it currently works quite well I&amp;#8217;ll first try to fix the colors in the Declaration tooltip, quickopen and codecompletion lists.&lt;/p&gt;

&lt;p&gt;So stay tuned for more KDevelop goodness throughout the next days.&lt;/p&gt;</description>
	<pubDate>Wed, 22 Apr 2009 23:31:42 +0000</pubDate>
</item>
<item>
	<title>Harald Sitter (apachelogger): Facts about Rosetta and Kubuntu l10n</title>
	<guid>tag:blogger.com,1999:blog-25506113.post-6859473804974947023</guid>
	<link>http://apachelog.blogspot.com/2009/04/facts-about-rosetta-and-kubuntu-l10n.html</link>
	<description>&lt;img class="face" align='right' style='margin: 5px;' src="http://planet.kubuntu-de.org/images/hackergotchy/apachelogger.png" width="100" height="100" alt=""&gt;
&lt;p&gt;&lt;span&gt;&lt;strong&gt;Facts&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Kubuntu (needs to) import KDE's translations (+po templates, +desktop file translations, +desktop file po templates) into Launchpad's translations system Rosetta&lt;/li&gt;&lt;li&gt;Those translations then can be changed and/or enhanced&lt;/li&gt;&lt;li&gt;Changed translations don't automagically get overriden by a new upstream import but have to be reviewed by the translation team&lt;/li&gt;&lt;li&gt;Changed translations have to be manually upstreamed by the translator or the translation team (thus implying that one should either have direct access to upstream's po files or file loads of bug reports)&lt;/li&gt;&lt;li&gt;Rosetta makes new contributors contribute to out-of-date translations&lt;/li&gt;&lt;li&gt;Rosetta failed to properly support KDE 3's po format for years&lt;/li&gt;&lt;li&gt;Rosetta's interface is difficult to use&lt;/li&gt;&lt;li&gt;Rosetta has no clue when a package gets removed from the archives or superseded with a new major version that does not ship the once available translation template&lt;/li&gt;&lt;li&gt;Kubuntu's localization breaks at least once every release cycle, always as close to release as possible&lt;/li&gt;&lt;li&gt;Kubuntu string changes/additions don't get translated at times&lt;/li&gt;&lt;li&gt;Kubuntu needs to maintain patches to keep that whole construct of import-breakage-export working&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;p&gt;&lt;span&gt;&lt;strong&gt;Rants&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;strong&gt;Import&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Having to import all main applications' l10n related data to a distribution specific tool for enhancement and bug fixing is a completely sane thing to do. Of course, if the whole process would not be bound to the build process (i.e. if it could be supervised outside the build process) it would be a lot easier to notice/track/find issues, and god knows there are loads of those (at least for KDE imports). It probably would also help if rosetta wouldn't need ages to process the data for import. But hey, what can you do, it's a bottlenecked design.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;span&gt;&lt;strong&gt;Rosetta&lt;/strong&gt;&lt;/span&gt; &lt;p&gt;So, assuming that the data ended up properly in Rosetta (which is not always the case, though it arrived there ... I guess you can imagine what I'm talking about), now a nice community member can start fixing bugs or enhance the translation (to pick up on the bottleneck: if the template is imported but the po is not, there will be loads of untranslated strings ... again I'm quite confident that you see the implication here).&lt;/p&gt;&lt;span&gt;---&lt;/span&gt;&lt;br /&gt;&lt;span&gt;Let's use the following example:&lt;/span&gt; &lt;p&gt;Leon is Kubuntu user. He is speaking German and wants to help translate KDE. Being a user who actually knows about the need of translation he knows that the translations are being handled over at Launchpad. So he commands to konquer launchpad.net. Right at the top there is a link to Translations. Leon clicks.&lt;a href=&quot;http://4.bp.blogspot.com/_j9FwE_4iU7c/Se-INtick3I/AAAAAAAAB9M/HKyS_THNC5Q/s1600-h/lp1.png&quot;&gt;&lt;img src=&quot;http://4.bp.blogspot.com/_j9FwE_4iU7c/Se-INtick3I/AAAAAAAAB9M/HKyS_THNC5Q/s320/lp1.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5327626653346337650&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;On the translations main page he finds a link to the translations for Ubuntu 9.04. Again he follows that link.&lt;a href=&quot;http://3.bp.blogspot.com/_j9FwE_4iU7c/Se-Ia2VmAAI/AAAAAAAAB9U/YBdesup6SG0/s1600-h/lp2.png&quot;&gt;&lt;img src=&quot;http://3.bp.blogspot.com/_j9FwE_4iU7c/Se-Ia2VmAAI/AAAAAAAAB9U/YBdesup6SG0/s320/lp2.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5327626879046647810&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Oh dear, what a load of red!!!!&lt;/p&gt;&lt;p&gt;Anyway, he scrolls down and eventually finds german.&lt;a href=&quot;http://3.bp.blogspot.com/_j9FwE_4iU7c/Se-IdzwSc6I/AAAAAAAAB9c/_S7Sp8_eDx4/s1600-h/lp3.png&quot;&gt;&lt;img src=&quot;http://3.bp.blogspot.com/_j9FwE_4iU7c/Se-IdzwSc6I/AAAAAAAAB9c/_S7Sp8_eDx4/s320/lp3.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5327626929892914082&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;So far so good, now Leon just needs to find some KDE application.&lt;a href=&quot;http://3.bp.blogspot.com/_j9FwE_4iU7c/Se-IrGy5s_I/AAAAAAAAB9k/SW2wQyeoXfc/s1600-h/lp4.png&quot;&gt;&lt;img src=&quot;http://3.bp.blogspot.com/_j9FwE_4iU7c/Se-IrGy5s_I/AAAAAAAAB9k/SW2wQyeoXfc/s320/lp4.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5327627158342448114&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Hum... Leon reads kdesktop and kicker, having used KDE for quite some time he knows that this stuff was replaced in KDE 4 and is not even available in the archives anymore, so he avoids them, luckily they are fully translated anyway.&lt;/p&gt;&lt;p&gt;On the very same page he finds konqueror with one untranslated string. He thinks that one untranslated string would be a perfect starting point so he wants to give it a shot.&lt;/p&gt;&lt;p&gt;Our character filters for untranslated items having no clue what the guide filter means as there is only none or german.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://3.bp.blogspot.com/_j9FwE_4iU7c/Se-IuQSQeGI/AAAAAAAAB9s/bNzJJR5ZIKI/s1600-h/lp5.png&quot;&gt;&lt;img src=&quot;http://3.bp.blogspot.com/_j9FwE_4iU7c/Se-IuQSQeGI/AAAAAAAAB9s/bNzJJR5ZIKI/s320/lp5.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5327627212429490274&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;The suggested translation &quot;Textmarken&quot; from openoffice's translations sounds about right so he applies that. For those who don't know, the KDE default translation for bookmark in german is &quot;Lesezeichen&quot;, Leon doesn't know that, and neither does Rosetta. JohnTooray suggested &quot;Lesezeichen&quot; but that was almost 2 months ago, so one must assume it was not very much liked, so for the scenario's sake we will just ignore that there is already a suggestion.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://3.bp.blogspot.com/_j9FwE_4iU7c/Se-Ix93udUI/AAAAAAAAB90/IJmZdnIj2-Q/s1600-h/lp6.png&quot;&gt;&lt;img src=&quot;http://3.bp.blogspot.com/_j9FwE_4iU7c/Se-Ix93udUI/AAAAAAAAB90/IJmZdnIj2-Q/s320/lp6.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5327627276205847874&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Leon submits his suggestion &quot;Textmarke&quot; and goes on walking through &gt;20 pages of templates trying to find more KDE stuff to translate.&lt;/p&gt;&lt;p&gt;[timelaps]&lt;/p&gt;&lt;span&gt;3 months later still no one approved his suggestions (in Rosetta someone from the managing team, i.e. the ubuntu translation team for $language, needs to approve the translation ... those poor people have to know all common translations for GNOME, KDE, GNU, $someothersoftwarestackinmain). Leon is right now pretty pissed off and decides to never try helping again.&lt;/span&gt; &lt;p&gt;---&lt;/p&gt;&lt;p&gt;I hope you see the flaws I tired to highlight, in that very simple example use. Those are mostly non-technical problems, I have talked about the technical ones so often on IRC and in various meetings that I am simply tired of repeating myself all the time.&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;strong&gt;Export&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;span&gt;If we are super lucky someone didn't decrease the translations quality and the language teams were not too busy fighting with Rosetta's interface to not be able to approve new suggestions. At some point (post string freeze, so someone like Apachelogger, who would actually care if import and export are working correctly before that, doesn't have a chance to fix quirks before translators start working there arse off) a ubuntu langpack gets generated and spit upon the archives.&lt;/span&gt; &lt;p&gt;&lt;span&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;strong&gt;Communication&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;span&gt;Ubuntu must be high on something since it seems pretty much impossible that Ubuntu and Kubuntu communicate just for once. It goes like that: Ubuntu does something -&gt; Kubuntu notices it -&gt; hell breaks loose -&gt; Kubuntu tries to catch up -&gt; Kubuntu barely (read: only partially) manages to catch up before release. That seems to be some kind of law of nature.&lt;/span&gt; &lt;p&gt;Latest example: &quot;lets go rape our packages of their desktop file translations&quot; which was done less than one month before release of 9.04 without any warning.&lt;/p&gt;&lt;span&gt;Result: Systemsettings was speaking english most of the time, so did the menu, so did loads of other stuff&lt;/span&gt; &lt;p&gt;Cause: The Kubuntu patch for grabing desktop file translations from .mo files was not working + the translations were not imorted + the templates were not imported + no-one ever warned us&lt;/p&gt; &lt;p&gt;This isn't news at all. A &lt;a href=&quot;http://www.flickr.com/photos/19616885@N00/sets/72157608562200171/&quot;&gt;flickr image set&lt;/a&gt; is watching the progress of Kubuntu since 8.04 (though it is, with exception of 8.10, mostly tracking in-development progress, then again how much localization QA can you expect when it is horribly broken half the time). &lt;/p&gt; &lt;p&gt;Also if you speak german you might want to check out the latest &lt;a href=&quot;http://www.nabble.com/Kubuntu%3A-The-same-procedure-as-last-year--The-same-procedure-as-every-year%21-tt22935470.html&quot;&gt;KDE-de thread&lt;/a&gt; about Kubuntu's state of translation, they also had a similar one for 8.10, where they considered various crude but understandable actions in how to handle this issue. After all the KDE l10n teams probably get most of the complaints, because the user is lead to believe that it's a problem there.&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;So, finally just let me get my position straight.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Rosetta is the best example why rolling release does not work in every case&lt;/li&gt;&lt;li&gt;I raised my concerns about the constant issues and lack of quality coming out of Rosetta... for I think the last year or so&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/List_of_languages_by_number_of_native_speakers&quot;&gt;Most people do not speak English&lt;/a&gt;, and if they do as second language I find it doubtable that they do well enough to use an operating system in English&lt;/li&gt;&lt;li&gt;Ubuntu touts itself as believing it's important for everyone to have a computer that works in their own language, yet the project as whole (Kubuntu being part of that larger Ubuntu) fails to meet that very claim most of the time&lt;/li&gt;&lt;li&gt;I pity all those that have to use Rosetta in order to make their desktop not speak 2 languages at the same time, as well as those that have to live with constant complaints coming from Kubuntu users&lt;/li&gt;&lt;li&gt;I am deeply sorry that I can't help either of them, due to the very nature of Rosetta still not being open source&lt;/li&gt;&lt;li&gt;Should this crap continue I am going to leave the Project and join Debian or Fedora, I am not going to waste my time on a system that is constantly breaking due to external (meaning not caused by the Kubuntu crew) screwups&lt;/li&gt;&lt;li&gt;Comments on how to improve the situtation (i.e. what Kubuntu should do in order to get out of all this) are greatly, because I'd rather not leave a project I have spent most of my spare time on for the last couple of years&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/25506113-6859473804974947023?l=apachelog.blogspot.com&quot; /&gt;&lt;/div&gt;</description>
	<pubDate>Wed, 22 Apr 2009 21:05:00 +0000</pubDate>
	<author>noreply@blogger.com (apachelogger)</author>
</item>
<item>
	<title>Milian Wolff (milian): KDevelop Hack Sprint 2009 - Day 1</title>
	<guid>http://milianw.de/97 at http://milianw.de</guid>
	<link>http://milianw.de/blog/kdevelop-hack-sprint-2009-day-1</link>
	<description>&lt;img class="face" align='right' style='margin: 5px;' src="http://planet.kubuntu-de.org/images/hackergotchy/milian.png" width="90" height="100" alt=""&gt;
&lt;p&gt;Ok, a short blog about the first day of our KDevelop Hack Sprint at Mykolayiv (see &lt;a href=&quot;http://milianw.de/blog/kdevelop-hack-sprint&quot;&gt;my first blog post&lt;/a&gt;). First up, being in the Ukraine is a very interesting experience since it&amp;#8217;s totally different from any place I have ever been to. And thanks to the great hospitality of Alexander (adymo) we already had a city tour of Odessa and Mykolayiv.&lt;/p&gt;

&lt;p&gt;Tomorrow will be the first &lt;em&gt;real&lt;/em&gt; day of our hack sprint: Today we only hacked at our flat for a few hours. Before that we had the city tour through Mykolayiv. And tomorrow David Nolden (zwabel) and Nick Shaforostoff will arrive which will make the list complete.&lt;/p&gt;

&lt;p&gt;Today I personally worked on making KDevelop support dark color schemes better which is still a work in progress (nothing comitted so far). Actually for a real good experience I&amp;#8217;ll have to extend KTextEditor to make it&amp;#8217;s color configuration available for the parent application (i.e. KDevelop). Let&amp;#8217;s see when I get to that. Though I plan to push my patches to KDevplatform beforehand for an intermediate solution.&lt;/p&gt;

&lt;p&gt;Random other notes about Ukraine:
- I love the Vodka (esp. with its prices) here!
- breakfast at a cafe is pretty much a no-go here it seems
- street lights are luxury
- very many old building all across the city, looks pretty good. Though would look even better if all of them would be in a good shape&amp;#8230; Yet I still prefer it that way - I hate what was done to Berlin after the war, i.e. that they teared most of the old buildings apart instead of repairing them&amp;#8230;&lt;/p&gt;

&lt;p&gt;So, lets see what tomorrow brings, now I&amp;#8217;m back to some more hacking :)&lt;/p&gt;</description>
	<pubDate>Mon, 20 Apr 2009 21:01:26 +0000</pubDate>
</item>
<item>
	<title>Thomas David (nemphis): Zum Zustand</title>
	<guid>http://www.seqfault.de/123 at http://www.seqfault.de</guid>
	<link>http://www.seqfault.de/de/blog/2009/04/zum-zustand</link>
	<description>&lt;p&gt;&lt;p&gt;des kritischen Journalismus in Deutschland:&lt;/p&gt;
&lt;p&gt;
4. Macht, my ass!&lt;/p&gt;
&lt;/p&gt;</description>
	<pubDate>Sat, 18 Apr 2009 21:20:12 +0000</pubDate>
</item>
<item>
	<title>Christian Mangold (Neversfelde): kubuntu-docs auf Deutsch</title>
	<guid>http://neversfelde.de/?p=253</guid>
	<link>http://neversfelde.de/de/?p=253</link>
	<description>&lt;p&gt;Es ist nicht so einfach für uns Ressourcen für andere Projekte, als die die wir momentan betreuen, frei zu machen, denn ehrlich gesagt, arbeiten wir immer am Rande unserer Kräfte und sind überlastet. Es gibt zur Zeit nicht sehr viele kubuntu-de.org Mitglieder und für mich ist es daher beeindruckend, dass mcas aka Marcus Asshauer und Tscheesy aka Marcus Kälin gemeinsam mit einem neuen Nutzer namens &amp;#8220;denis&amp;#8221; in so kurzer Zeit die kubuntu-docs in das Deutsche übersetzt haben und nun sogar vor der Deadline fertig sind. Daneben ist mir die Zusammenarbeit mit dem ubuntu-l10n-de Team, das auf einfachem Weg erlaubt hat die Übersetzungen beizusteuern, sehr positiv aufgefallen. Vielen Dank dafür und für die klasse Arbeit. &lt;/p&gt;
&lt;p&gt;Besonders froh bin ich über die Teilnahme von &amp;#8220;denis&amp;#8221; (&amp;#8221;hat wie eine Maschine übersetzt&amp;#8221;). Wir haben in den letzten Monaten leider ein paar wichtige Leute im Team verloren und es ist wirklich gut auch mal wieder neue Helfer zu sehen. Ich möchte auf diesem Wege von daher auch noch einmal loswerden, dass wir jede Hilfe gebrauchen können. Vor allem die arbeitsintensive Redaktion ist immer ein Anlaufpunkt, daneben gibt es natürlich auch immer im technischen Bereich etwas zu tun.&lt;/p&gt;</description>
	<pubDate>Thu, 09 Apr 2009 14:24:51 +0000</pubDate>
</item>
<item>
	<title>Thomas David (nemphis): Benachrichtigung bei neuen Kommentaren</title>
	<guid>http://www.seqfault.de/122 at http://www.seqfault.de</guid>
	<link>http://www.seqfault.de/de/blog/2009/04/benachrichtigung-bei-neuen-kommentaren</link>
	<description>&lt;p&gt;&lt;p&gt;Falls sich wer gewundert hat, warum sein Kommentar so lange in der Warteschleife hängt: Ich habe ein paar Kommentare erst heute gesehen. Drupal verschickt in der Standardinstallation keine Benachrichtungen, wenn neue Kommentare gepostet werden. Allerdings lässt sich diese Funktionalität leicht mit dem &lt;a href=&quot;http://drupal.org/project/workflow_ng&quot; class=&quot;bb-url&quot;&gt;Workflow-NG Plugin&lt;/a&gt; nachrüsten. Wie das funktioniert erklärt &lt;a href=&quot;http://www.pebosi.net/drupalscreencast-emailbenachrichtigung-bei-neuem-forenthema&quot; class=&quot;bb-url&quot;&gt;dieser Screencast&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Die Freischaltung der Kommentare geht ab jetzt also schneller. ;)&lt;/p&gt;
&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://www.seqfault.de/de/blog/2009/04/benachrichtigung-bei-neuen-kommentaren&quot;&gt;Weiterlesen&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Wed, 08 Apr 2009 20:13:07 +0000</pubDate>
</item>
<item>
	<title>Thomas David (nemphis): Kein Sound in Kubuntu Jaunty bei VLC oder Flash</title>
	<guid>http://www.seqfault.de/120 at http://www.seqfault.de</guid>
	<link>http://www.seqfault.de/de/blog/2009/04/kein-sound-kubuntu-jaunty-bei-vlc-oder-flash</link>
	<description>&lt;p&gt;&lt;p&gt;Wer schon Kubuntu Jaunty einsetzt (was ich &lt;span&gt;auf keinen Fall&lt;/span&gt; empfehlen kann), hat vielleicht das Problem, dass nur KDE Anwendungen Sound ausgeben können, während andere Anwendungen (z. B. VLC oder Flash) stumm bleiben. Ich konnte das Problem mit folgendem Kommando lösen:&lt;/p&gt;
&lt;pre class=&quot;shell&quot;&gt;asoundconf set-pulseaudio&lt;/pre&gt;&lt;/p&gt;</description>
	<pubDate>Wed, 08 Apr 2009 10:11:02 +0000</pubDate>
</item>
<item>
	<title>Milian Wolff (milian): About being a Nerd</title>
	<guid>http://milianw.de/96 at http://milianw.de</guid>
	<link>http://milianw.de/blog/about-being-a-nerd</link>
	<description>&lt;img class="face" align='right' style='margin: 5px;' src="http://planet.kubuntu-de.org/images/hackergotchy/milian.png" width="90" height="100" alt=""&gt;
&lt;p&gt;A quick meta-blog about nothing directly KDE related, but I think those of you who can understand German should see it nonetheless. Hope you don&amp;#8217;t mind me spreading it on the planet:&lt;/p&gt;

&lt;p&gt;I just stumbled upon a great video about the definition of &amp;#8220;being a nerd&amp;#8221;. You can watch it here:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.elektrischer-reporter.de/elr/video/115/&quot; title=&quot;http://www.elektrischer-reporter.de/elr/video/115/&quot;&gt;http://www.elektrischer-reporter.de/elr/video/115/&lt;/a&gt; (note: it&amp;#8217;s in German!)&lt;/p&gt;

&lt;p&gt;I have to say that I can identify myself with the message of the video, very nicely done. Must see for anyone! I&amp;#8217;ll spread it in my circle of friends so they understand me better when I talk (proudly) about being a geek.&lt;/p&gt;</description>
	<pubDate>Tue, 07 Apr 2009 21:41:07 +0000</pubDate>
</item>
<item>
	<title>Alexander Kopf (Xander): Ein Marienkäfer war hier...</title>
	<guid>http://chaos-corporation.org/63 at http://chaos-corporation.org</guid>
	<link>http://chaos-corporation.org/node/63</link>
	<description>&lt;div&gt;&lt;a href=&quot;http://chaos-corporation.org/sites/chaos-corporation.org/files/ladybug_1440x900.jpg&quot; class=&quot;thickbox&quot;&gt;&lt;img src=&quot;http://chaos-corporation.org/sites/chaos-corporation.org/files/ladybug_1440x900.preview.jpg&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
... und hier gelassen hat er mir ein schönes Foto.&lt;br /&gt;&lt;br /&gt;
Ich hoffe euch gefällt es auch. Im Anhang befindet es sich.&lt;br /&gt;&lt;br /&gt;
Mit freundlichen Grüßen&lt;br /&gt;
Euer Alexander
&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
	<pubDate>Sun, 05 Apr 2009 13:47:08 +0000</pubDate>
</item>
<item>
	<title>Alexander Kopf (Xander): playwolf-0.7.1 Paket für Kubuntu 9.04</title>
	<guid>http://chaos-corporation.org/62 at http://chaos-corporation.org</guid>
	<link>http://chaos-corporation.org/playwolf-071-paket-fuer-kubuntu-904</link>
	<description>&lt;div&gt;&lt;a href=&quot;http://chaos-corporation.org/sites/chaos-corporation.org/files/images/playwolf_screenshot.jpg&quot; class=&quot;thickbox&quot;&gt;&lt;img src=&quot;http://chaos-corporation.org/sites/chaos-corporation.org/files/images/playwolf_screenshot.thumbnail.jpg&quot; /&gt;&lt;/a&gt;
&lt;h3&gt;Deutsche Version&lt;/h3&gt;
&lt;p&gt;Hey Leute,&lt;/p&gt;
&lt;p&gt;ich habe nun &lt;a href=&quot;http://www.kde-look.org/content/show.php/PlayWolf?content=93882&quot;&gt;playwolf-0.7.1&lt;/a&gt; für Kubntu 9.04 gepackt. &lt;/p&gt;
&lt;p&gt;Playwolf ist ein echt cooles Now-playing-plasmoid &lt;a href=&quot;http://amarok.kde.org/&quot;&gt;Amarok2&lt;/a&gt;. Es kommt &lt;a href=&quot;http://www.kde-apps.org/content/show.php?content=52869&quot;&gt;Kirocker&lt;/a&gt; sehr ähnlich und wird laut Entwickler auch diesem immer ähnlicher werden. &lt;/p&gt;
&lt;p&gt;Pakete können direkt aus dem Anhang heruntergeladen werden oder ihr installiert es über adept, indem ihr meine Paketquelle einbindet.&lt;br /&gt;
&lt;div class=&quot;geshifilter&quot;&gt;&lt;pre class=&quot;geshifilter-text&quot;&gt;deb http://ppa.launchpad.net/kopf-alexander/ppa/ubuntu jaunty main&lt;/pre&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Genauere infos zu meiner Paketquelle auf &lt;a href=&quot;https://launchpad.net/~kopf-alexander/+archive/ppa&quot;&gt; Launchpad&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;&lt;p&gt;&lt;a href=&quot;http://chaos-corporation.org/playwolf-071-paket-fuer-kubuntu-904&quot; target=&quot;_blank&quot;&gt;Weiterlesen&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Thu, 02 Apr 2009 12:30:18 +0000</pubDate>
</item>
<item>
	<title>Christian Mangold (Neversfelde): Teste Jaunty und unsere Aktualisierungshinweise</title>
	<guid>http://neversfelde.de/?p=181</guid>
	<link>http://neversfelde.de/de/?p=181</link>
	<description>&lt;p&gt;Nach über fünf monatiger Entwicklungszeit haben die Kubuntu Devs gestern die erste Beta Version von Kubuntu 9.04 &amp;#8220;Jaunty Jackalope&amp;#8221; &lt;a href=&quot;http://www.kubuntu.org/news/9.04-beta&quot;&gt;freigegeben&lt;/a&gt;. Mutige Nutzer sind natürlich wie immer aufgerufen die neue Version zu testen und es wäre klasse, wenn dann auch gleich unsere deutschsprachige &lt;a href=&quot;http://wiki.kubuntu-de.org/Installation/Upgrade/8.10_auf_9.04&quot;&gt;Anleitung&lt;/a&gt; zur Aktualisierung überprüft würde. &lt;/p&gt;
&lt;p&gt;In Anbetracht des unfertigen Zustandes von Adept3 haben wir uns entschlossen eine Anleitung für die Kommandozeile zu schreiben und zu veröffentlichen. Der Vorgang ist allerdings nicht schwer und hoffentlich so genau beschrieben ist, dass auch Anfänger damit gut zurecht kommen. &lt;/p&gt;
&lt;p&gt;Hinweise zur Verbesserung bitte auf der Diskussionsseite, gleich im Text oder natürlich als Kommentar hier im Blog. Vielen Dank.&lt;/p&gt;</description>
	<pubDate>Fri, 27 Mar 2009 14:19:46 +0000</pubDate>
</item>
<item>
	<title>Christian Mangold (Neversfelde): Wie geht ihr mit einem Burnout um?</title>
	<guid>http://neversfelde.de/?p=192</guid>
	<link>http://neversfelde.de/de/?p=192</link>
	<description>&lt;p&gt;Eigentlich wollte ich ja nicht mehr über persönliche Dinge bloggen, aber ich glaube, dass es sich hierbei um eine typische FOSS Situation handelt. Irgendwie bin ich wohl in einer dieser berühmten Burnout Situationen, da ich immer weniger mit den Ergebnissen und vor allem den Reaktionen auf meine Arbeit zufrieden bin. Es hängen dann doch so einige Dinge von mir ab und ich bringe es einfach nicht über mich sie einfach aufzugeben. Oft handelt es sich um Dinge, die ich selbst initiiert habe oder solche an denen ich mit vollem Herzen hänge, ich habe sie alle wirklich immer gerne betreut, obwohl ich eigentlich überhaupt keine Zeit dafür habe und ich mich wirklich um andere Dinge kümmern sollte. Mein Examen rückt immer näher und ich stelle fest, dass ich manchmal, sicher unangebracht allergisch, auf Kiritik, besonders, wenn sie in meinen Augen nicht angebracht ist, reagiere. Ich bin kein Entwickler und dazu habe ich auch eher wenige Dinge zu Kubuntu beigesteuert; manchmal bin ich sicher dazu auch noch ein echt mieser Supporter, sieht so aus, als wäre meine Arbeit ziemlich unbedeutend. Kubuntu-de.org existiert nun schon einige Jahre und wir haben natürlich nie unsere Ziele erreicht, was aber für mich ziemlich normal ist, denn man möge mir ein Projekt zeigen, das genug Personal hat oder ausreichend positives Feedback bekommt. Viele der Teammitglieder sind für mich im Laufe der Jahre zu guten Freunden geworden und viele davon haben das Projekt auch frustriert verlassen, alle haben dabei aber fantastische Arbeit geleistet und ich mag sie wirklich alle. Ich möchte keinen enttäuschen.&lt;/p&gt;
&lt;p&gt;Mich würde interessieren, wie ihr mit solchen &amp;#8220;Burnout&amp;#8221; Situationen umgeht und bin sicher, dass viele von euch schon mal eine solche Phase durchgemacht haben. Ich freue mich auf eure Antworten?&lt;/p&gt;</description>
	<pubDate>Thu, 26 Mar 2009 03:39:23 +0000</pubDate>
</item>
<item>
	<title>Milian Wolff (milian): Shell helper: running KDE unit tests (ctests) the easy way</title>
	<guid>http://milianw.de/94 at http://milianw.de</guid>
	<link>http://milianw.de/code-snippets/shell-helper-running-kde-unit-tests-ctests-the-easy-way</link>
	<description>&lt;img class="face" align='right' style='margin: 5px;' src="http://planet.kubuntu-de.org/images/hackergotchy/milian.png" width="90" height="100" alt=""&gt;
&lt;p&gt;Unit tests are in my eyes a very important part of programming. KDE uses them, KDevelop does - the PHP plugin I help writing does as well. &lt;span class=&quot;geshifilter&quot;&gt;&lt;code class=&quot;geshifilter-text&quot;&gt;cmake&lt;/code&gt;&lt;/span&gt; comes with a &lt;span class=&quot;geshifilter&quot;&gt;&lt;code class=&quot;geshifilter-text&quot;&gt;ctest&lt;/code&gt;&lt;/span&gt; program which does quite well to give you a quick glance on which test suite you just broke with your new fance feature :)&lt;/p&gt;

&lt;p&gt;But I am very dissatisfied with it. Right now I usually do the following&lt;/p&gt;

&lt;div class=&quot;geshifilter&quot;&gt;&lt;pre class=&quot;bash geshifilter-bash&quot;&gt;&lt;ol&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;co0&quot;&gt;# lets assume I'm in the source directory&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;cb &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; ctest&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;co0&quot;&gt;# look for failed test suites&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;cd&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$failed_test_suite_path&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li2&quot;&gt;&lt;div class=&quot;de2&quot;&gt;.&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;re1&quot;&gt;$failed_test_suite&lt;/span&gt;.shell | &lt;span class=&quot;kw2&quot;&gt;less&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;co0&quot;&gt;# search for FAIL&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;cs&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;cd&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$to_whereever_I_was_before&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;That&amp;#8217;s pretty much for just running a test. Especially all that &lt;span class=&quot;geshifilter&quot;&gt;&lt;code class=&quot;geshifilter-text&quot;&gt;cd&lt;/code&gt;&lt;/span&gt;ing and &lt;span class=&quot;geshifilter&quot;&gt;&lt;code class=&quot;geshifilter-text&quot;&gt;less&lt;/code&gt;&lt;/span&gt;ing became very tedious. Tedious is good, because I eventually fix it:&lt;/p&gt;

&lt;h5&gt;introducing &lt;span class=&quot;geshifilter&quot;&gt;&lt;code class=&quot;geshifilter-text&quot;&gt;kdetest&lt;/code&gt;&lt;/span&gt;&lt;/h5&gt;

&lt;p&gt;I wrote a bash function (with autocompletion!!!) called &lt;span class=&quot;geshifilter&quot;&gt;&lt;code class=&quot;geshifilter-text&quot;&gt;kdetest&lt;/code&gt;&lt;/span&gt;. Calling it without any parameter will run all test suites and gives a nice report of failed functions at the end. Here&amp;#8217;s an example (run via &lt;span class=&quot;geshifilter&quot;&gt;&lt;code class=&quot;geshifilter-text&quot;&gt;cs php &amp;amp;&amp;amp; kdetest&lt;/code&gt;&lt;/span&gt;).&lt;/p&gt;

&lt;div class=&quot;geshifilter&quot;&gt;&lt;pre class=&quot;bash geshifilter-bash&quot;&gt;&lt;ol&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;kdetest&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;co0&quot;&gt;# ... lots of test output&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt; &lt;span class=&quot;re5&quot;&gt;---&lt;/span&gt; ALL PASSED TESTS &lt;span class=&quot;re5&quot;&gt;---&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li2&quot;&gt;&lt;div class=&quot;de2&quot;&gt;...&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;PASS   : Php::TestCompletion::implementMethods&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;PASS   : Php::TestCompletion::inArray&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;PASS   : Php::TestCompletion::cleanupTestCase&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li2&quot;&gt;&lt;div class=&quot;de2&quot;&gt;&lt;span class=&quot;nu0&quot;&gt;143&lt;/span&gt; passed tests &lt;span class=&quot;kw1&quot;&gt;in&lt;/span&gt; total&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt; &lt;span class=&quot;re5&quot;&gt;---&lt;/span&gt; ALL FAILED TESTS &lt;span class=&quot;re5&quot;&gt;---&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;FAIL&lt;span class=&quot;sy0&quot;&gt;!&lt;/span&gt;  : Php::TestCompletion::newExtends&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; Compared values are not the same&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;FAIL&lt;span class=&quot;sy0&quot;&gt;!&lt;/span&gt;  : Php::TestCompletion::updateExtends&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;'! forbiddenIdentifiers.contains(item-&amp;gt;declaration()-&amp;gt;identifier().toString())'&lt;/span&gt; returned FALSE. &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li2&quot;&gt;&lt;div class=&quot;de2&quot;&gt;FAIL&lt;span class=&quot;sy0&quot;&gt;!&lt;/span&gt;  : Php::TestCompletion::updateExtends&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;'! forbiddenIdentifiers.contains(item-&amp;gt;declaration()-&amp;gt;identifier().toString())'&lt;/span&gt; returned FALSE. &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;FAIL&lt;span class=&quot;sy0&quot;&gt;!&lt;/span&gt;  : Php::TestCompletion::updateExtends&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; Compared values are not the same&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;FAIL&lt;span class=&quot;sy0&quot;&gt;!&lt;/span&gt;  : Php::TestCompletion::newImplements&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; Compared values are not the same&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;FAIL&lt;span class=&quot;sy0&quot;&gt;!&lt;/span&gt;  : Php::TestCompletion::updateImplements&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; Compared values are not the same&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li2&quot;&gt;&lt;div class=&quot;de2&quot;&gt;&lt;span class=&quot;nu0&quot;&gt;6&lt;/span&gt; failed tests &lt;span class=&quot;kw1&quot;&gt;in&lt;/span&gt; total&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;h5&gt;usage&lt;/h5&gt;

&lt;ul&gt;
&lt;li&gt;&lt;span class=&quot;geshifilter&quot;&gt;&lt;code class=&quot;geshifilter-text&quot;&gt;kdetest&lt;/code&gt;&lt;/span&gt;, i.e. without any arguments runs all tests in this directory and below&lt;/li&gt;
&lt;li&gt;&lt;span class=&quot;geshifilter&quot;&gt;&lt;code class=&quot;geshifilter-text&quot;&gt;kdetest path/to/test.shell ...&lt;/code&gt;&lt;/span&gt; runs that test suite only, &lt;span class=&quot;geshifilter&quot;&gt;&lt;code class=&quot;geshifilter-text&quot;&gt;...&lt;/code&gt;&lt;/span&gt; can by any argument the test suite accepts.&lt;/li&gt;
&lt;/ul&gt;

&lt;h5&gt;autocompletion&lt;/h5&gt;

&lt;p&gt;&lt;span class=&quot;geshifilter&quot;&gt;&lt;code class=&quot;geshifilter-text&quot;&gt;kdetest&lt;/code&gt;&lt;/span&gt; comes with full support for autocompletion of tests and functions, for example:&lt;/p&gt;

&lt;div class=&quot;geshifilter&quot;&gt;&lt;pre class=&quot;bash geshifilter-bash&quot;&gt;&lt;ol&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;milian&lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;odin:~&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;projects&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;kde4&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;php$ kdetest TABTAB&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;completion&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;tests&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;completiontest.shell     duchain&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;tests&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;expressionparsertest.shell  parser&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;kw3&quot;&gt;test&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;lexertest.shell&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;duchain&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;tests&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;duchaintest.shell           duchain&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;tests&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;usestest.shell&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;milian&lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;odin:~&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;projects&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;kde4&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;php$ kdetest duchain&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;tests&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;usestest.shell TABTAB&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li2&quot;&gt;&lt;div class=&quot;de2&quot;&gt;classAndConstWithSameName          classSelf                          interfaceExtendsMultiple           staticMemberFunctionCall&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;classAndFunctionWithSameName       constAndVariableWithSameName       memberFunctionCall                 staticMemberVariable&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;classConstant                      constant                           memberFunctionInString             variable&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;classExtends                       constantInClassMember              memberVariable                     variableTwoDeclarations&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;classImplements                    functionAndClassWithSameName       memberVarInString                  variableTwoDeclarationsInFunction&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li2&quot;&gt;&lt;div class=&quot;de2&quot;&gt;classImplementsMultiple            functionCall                       newObject                          varInString&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;classParent                        interfaceExtends                   objectWithClassName&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;h5&gt;the code&lt;/h5&gt;

&lt;p&gt;You can find the code below, or you can obtain the most up-to-date version on github. Just head over to &lt;a href=&quot;http://github.com/milianw/shell-helpers/tree/master&quot;&gt;my shell-helpers repo&lt;/a&gt; and peek into the &lt;span class=&quot;geshifilter&quot;&gt;&lt;code class=&quot;geshifilter-text&quot;&gt;bash_setup_kde4_programming&lt;/code&gt;&lt;/span&gt; file.
&lt;!--break--&gt;&lt;/p&gt;

&lt;div class=&quot;geshifilter&quot;&gt;&lt;pre class=&quot;bash geshifilter-bash&quot;&gt;&lt;ol&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;co0&quot;&gt;# run a given unit-test or all via ctest&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;function&lt;/span&gt; kdetest&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;  &lt;span class=&quot;kw3&quot;&gt;local&lt;/span&gt; tests &lt;span class=&quot;kw3&quot;&gt;test&lt;/span&gt; args old_pwd tmpfile;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li2&quot;&gt;&lt;div class=&quot;de2&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;  &lt;span class=&quot;re2&quot;&gt;old_pwd&lt;/span&gt;=$&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw3&quot;&gt;pwd&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;  cb&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;  &lt;span class=&quot;re2&quot;&gt;tests&lt;/span&gt;=$&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re2&quot;&gt;LANG&lt;/span&gt;=en_US.UTF-&lt;span class=&quot;nu0&quot;&gt;8&lt;/span&gt; ctest &lt;span class=&quot;re5&quot;&gt;-N&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-V&lt;/span&gt; | &lt;span class=&quot;kw2&quot;&gt;grep&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;Test command:&amp;quot;&lt;/span&gt; | &lt;span class=&quot;kw2&quot;&gt;cut&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-c&lt;/span&gt; $&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;Test command: $(pwd)/&amp;quot;&lt;/span&gt; | &lt;span class=&quot;kw2&quot;&gt;wc&lt;/span&gt; -c&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;-&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li2&quot;&gt;&lt;div class=&quot;de2&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;  &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;$tests&amp;quot;&lt;/span&gt; == &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;; &lt;span class=&quot;kw1&quot;&gt;then&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;    &lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;this directory does not contain any unit tests!&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;    &lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;    &lt;span class=&quot;kw3&quot;&gt;cd&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;$old_pwd&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li2&quot;&gt;&lt;div class=&quot;de2&quot;&gt;    &lt;span class=&quot;kw3&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;  &lt;span class=&quot;kw1&quot;&gt;fi&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;  &lt;span class=&quot;re2&quot;&gt;tmpfile&lt;/span&gt;=&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;tmp&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;testoutput_&lt;span class=&quot;re4&quot;&gt;$$&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li2&quot;&gt;&lt;div class=&quot;de2&quot;&gt;  &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;$1&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;!&lt;/span&gt;= &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;; &lt;span class=&quot;kw1&quot;&gt;then&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;    &lt;span class=&quot;re2&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;test&lt;/span&gt;&lt;/span&gt;=$&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;    &lt;span class=&quot;kw3&quot;&gt;shift&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;    &lt;span class=&quot;re2&quot;&gt;args&lt;/span&gt;=$&lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li2&quot;&gt;&lt;div class=&quot;de2&quot;&gt;    &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;!&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-f&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;$test&amp;quot;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; || &lt;span class=&quot;sy0&quot;&gt;!&lt;/span&gt; in_array &lt;span class=&quot;st0&quot;&gt;&amp;quot;$test&amp;quot;&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$tests&lt;/span&gt; ; &lt;span class=&quot;kw1&quot;&gt;then&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;      &lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;could not find unittest '$test'. available are:&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;      &lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$tests&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;      &lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;      &lt;span class=&quot;kw3&quot;&gt;cd&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;$old_pwd&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li2&quot;&gt;&lt;div class=&quot;de2&quot;&gt;      &lt;span class=&quot;kw3&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;    &lt;span class=&quot;kw1&quot;&gt;fi&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;    .&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;re1&quot;&gt;$test&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-maxwarnings&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$args&lt;/span&gt; | &lt;span class=&quot;kw2&quot;&gt;tee&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-a&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;$tmpfile&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;    &lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li2&quot;&gt;&lt;div class=&quot;de2&quot;&gt;  &lt;span class=&quot;kw1&quot;&gt;else&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;    &lt;span class=&quot;co0&quot;&gt;# run all tests&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;    &lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;test&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$tests&lt;/span&gt;; &lt;span class=&quot;kw1&quot;&gt;do&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;      .&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;re1&quot;&gt;$test&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-maxwarnings&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; | &lt;span class=&quot;kw2&quot;&gt;tee&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-a&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;$tmpfile&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;    &lt;span class=&quot;kw1&quot;&gt;done&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li2&quot;&gt;&lt;div class=&quot;de2&quot;&gt;  &lt;span class=&quot;kw1&quot;&gt;fi&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;  &lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;  &lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot; --- ALL PASSED TESTS --- &amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;  &lt;span class=&quot;kw2&quot;&gt;grep&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--color&lt;/span&gt;=never &lt;span class=&quot;st0&quot;&gt;&amp;quot;^PASS &amp;quot;&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;$tmpfile&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li2&quot;&gt;&lt;div class=&quot;de2&quot;&gt;  &lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; &lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;  &lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; $&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;grep&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-c&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;^PASS &amp;quot;&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;$tmpfile&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot; passed tests in total&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;  &lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;  &lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot; --- ALL FAILED TESTS --- &amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li2&quot;&gt;&lt;div class=&quot;de2&quot;&gt;  &lt;span class=&quot;kw2&quot;&gt;grep&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--color&lt;/span&gt;=never &lt;span class=&quot;st0&quot;&gt;&amp;quot;^FAIL!&amp;quot;&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;$tmpfile&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;  &lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;  &lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; $&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;grep&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-c&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;^FAIL!&amp;quot;&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;$tmpfile&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot; failed tests in total&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;  &lt;span class=&quot;kw2&quot;&gt;rm&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;$tmpfile&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li2&quot;&gt;&lt;div class=&quot;de2&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;  &lt;span class=&quot;kw3&quot;&gt;cd&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;$old_pwd&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;co0&quot;&gt;# completion for kdetest&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li2&quot;&gt;&lt;div class=&quot;de2&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;function&lt;/span&gt; _kdetest&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;  &lt;span class=&quot;kw3&quot;&gt;local&lt;/span&gt; tests;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;  &lt;span class=&quot;re2&quot;&gt;old_pwd&lt;/span&gt;=$&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw3&quot;&gt;pwd&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li2&quot;&gt;&lt;div class=&quot;de2&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;  cb&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;  &lt;span class=&quot;re2&quot;&gt;tests&lt;/span&gt;=$&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re2&quot;&gt;LANG&lt;/span&gt;=en_US.UTF-&lt;span class=&quot;nu0&quot;&gt;8&lt;/span&gt; ctest &lt;span class=&quot;re5&quot;&gt;-N&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-V&lt;/span&gt; | &lt;span class=&quot;kw2&quot;&gt;grep&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;Test command:&amp;quot;&lt;/span&gt; | &lt;span class=&quot;kw2&quot;&gt;cut&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-c&lt;/span&gt; $&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;Test command: $(pwd)/&amp;quot;&lt;/span&gt; | &lt;span class=&quot;kw2&quot;&gt;wc&lt;/span&gt; -c&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;-&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;  &lt;span class=&quot;re2&quot;&gt;COMPREPLY&lt;/span&gt;=&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li2&quot;&gt;&lt;div class=&quot;de2&quot;&gt;  &lt;span class=&quot;re2&quot;&gt;cur&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;${COMP_WORDS[COMP_CWORD]}&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;  &lt;span class=&quot;re2&quot;&gt;prev&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;${COMP_WORDS[COMP_CWORD-1]}&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;  &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;$prev&amp;quot;&lt;/span&gt; == &lt;span class=&quot;st0&quot;&gt;&amp;quot;kdetest&amp;quot;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;; &lt;span class=&quot;kw1&quot;&gt;then&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;    &lt;span class=&quot;co0&quot;&gt;# completion of tests&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li2&quot;&gt;&lt;div class=&quot;de2&quot;&gt;    &lt;span class=&quot;re2&quot;&gt;COMPREPLY&lt;/span&gt;=&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt; $&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw3&quot;&gt;compgen&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-W&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;${tests}&amp;quot;&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--&lt;/span&gt; &lt;span class=&quot;co1&quot;&gt;${cur}&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;  &lt;span class=&quot;kw1&quot;&gt;elif&lt;/span&gt; in_array &lt;span class=&quot;st0&quot;&gt;&amp;quot;$prev&amp;quot;&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$tests&lt;/span&gt;; &lt;span class=&quot;kw1&quot;&gt;then&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;    &lt;span class=&quot;co0&quot;&gt;# completion of available functions&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;    &lt;span class=&quot;re2&quot;&gt;COMPREPLY&lt;/span&gt;=&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt; $&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw3&quot;&gt;compgen&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-W&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;$(./$prev -functions 2&amp;gt;/dev/null | cut -f 1 -d &lt;span class=&quot;es0&quot;&gt;\(&lt;/span&gt; )&amp;quot;&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;--&lt;/span&gt; &lt;span class=&quot;co1&quot;&gt;${cur}&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;  &lt;span class=&quot;kw1&quot;&gt;fi&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li2&quot;&gt;&lt;div class=&quot;de2&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;  &lt;span class=&quot;kw3&quot;&gt;cd&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;$old_pwd&amp;quot;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;complete&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-F&lt;/span&gt; _kdetest kdetest&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li2&quot;&gt;&lt;div class=&quot;de2&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;co0&quot;&gt;# see http://ftp.hu.freebsd.org/pub/linux/distributions/frugalware/frugalware-testing/t/functions.sh&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;function&lt;/span&gt; in_array&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;  &lt;span class=&quot;kw3&quot;&gt;local&lt;/span&gt; i&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li2&quot;&gt;&lt;div class=&quot;de2&quot;&gt;  &lt;span class=&quot;re2&quot;&gt;needle&lt;/span&gt;=$&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;  &lt;span class=&quot;kw3&quot;&gt;shift&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;  &lt;span class=&quot;co0&quot;&gt;# array() undefined&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;  &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-z&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;$1&amp;quot;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;  &lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; i &lt;span class=&quot;kw1&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;re4&quot;&gt;$*&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li2&quot;&gt;&lt;div class=&quot;de2&quot;&gt;  &lt;span class=&quot;kw1&quot;&gt;do&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;    &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;$i&amp;quot;&lt;/span&gt; == &lt;span class=&quot;st0&quot;&gt;&amp;quot;$needle&amp;quot;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;  &lt;span class=&quot;kw1&quot;&gt;done&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;  &lt;span class=&quot;kw3&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;/div&gt;</description>
	<pubDate>Thu, 26 Mar 2009 01:09:48 +0000</pubDate>
</item>
<item>
	<title>Thomas David (nemphis): Schon Sokrates wusste ...</title>
	<guid>http://www.seqfault.de/119 at http://www.seqfault.de</guid>
	<link>http://www.seqfault.de/de/blog/2009/03/schon-sokrates-wusste</link>
	<description>&lt;blockquote&gt;&lt;p&gt;Die Jugend von heute liebt den Luxus, hat schlechte Manieren und verachtet die Autorität. Sie widersprechen ihren Eltern, legen die Beine übereinander und tyrannisieren ihre Lehrer.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt; &lt;span&gt;(Sokrates, griechischer Philosoph, 469 - 399 v. Chr.)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Schlimm diese &lt;del&gt;Jazz-Musik&lt;/del&gt; &lt;del&gt;Comics&lt;/del&gt; &lt;del&gt;Rock'nRoll-Musik&lt;/del&gt; &lt;del&gt;Hippies&lt;/del&gt; &lt;del&gt;Punks&lt;/del&gt; Killerspiele.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.seqfault.de/de/blog/2009/03/schon-sokrates-wusste&quot;&gt;Weiterlesen&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Tue, 24 Mar 2009 08:45:36 +0000</pubDate>
</item>
<item>
	<title>Christian Mangold (Neversfelde): identi.ca und symbian</title>
	<guid>http://christianmangold.de/?p=173</guid>
	<link>http://neversfelde.de/de/?p=173</link>
	<description>&lt;p&gt;Bevor ich zu indenti.ca gewechselt bin habe ich Twibble genutzt, um meinen Status zu aktualisieren. Leider konnte ich bisher keinen identi.ca Client für mein N95 finden, so dass ich unterwegs auf Microblogging verzichten musste. Vorhin bin ich über &lt;a href=&quot;http://thenokiablog.com/2009/03/16/mobidentica-mobile-client-for-identica-has-arrived/&quot;&gt;Mobiidentica&lt;/a&gt; gestolpert und nun kann ich wieder ohne Probleme meine &amp;#8220;Dents&amp;#8221; posten. Das Programm ist sehr einfach, aber dafür funktional gehalten und einen Versuch wert.&lt;/p&gt;</description>
	<pubDate>Sun, 22 Mar 2009 15:40:27 +0000</pubDate>
</item>
<item>
	<title>Christian Mangold (Neversfelde): choqoK svn snapshot</title>
	<guid>http://christianmangold.de/?p=45</guid>
	<link>http://neversfelde.de/de/?p=45</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://neversfelde.de/wp-content/uploads/2009/03/choqok-05.png&quot; rel=&quot;lightbox[45]&quot;&gt;&lt;img src=&quot;http://neversfelde.de/wp-content/uploads/2009/03/choqok-05-150x150.png&quot; alt=&quot;choqok-05&quot; title=&quot;choqok-05&quot; width=&quot;150&quot; height=&quot;150&quot; class=&quot;alignleft size-thumbnail wp-image-162&quot; /&gt;&lt;/a&gt;I read about choqoK 0.5 to be released at 21st of March because it is spring time then. So it is testing time again and there are new svn packages in my ppa. ChoqoK 0.5 has a shiny new interface and a couple of long waited features are added. Please report bugs via mail to the author or send a dent with &amp;#8220;!choqok&amp;#8221;. &lt;/p&gt;
&lt;p&gt;You can use my &lt;a href=&quot;https://edge.launchpad.net/~neversfelde/+archive/ppa&quot;&gt;ppa&lt;/a&gt; by adding &lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;br /&gt;
deb http://ppa.launchpad.net/neversfelde/ppa/ubuntu jaunty main&lt;br /&gt;
deb-src http://ppa.launchpad.net/neversfelde/ppa/ubuntu jaunty main&lt;br /&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;or for Intrepid:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;br /&gt;
deb http://ppa.launchpad.net/neversfelde/ppa/ubuntu intrepid main&lt;br /&gt;
deb-src http://ppa.launchpad.net/neversfelde/ppa/ubuntu intrepid main&lt;br /&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;to your /etc/apt/sources.list. Import this &lt;a href=&quot;http://keyserver.ubuntu.com:11371/pks/lookup?search=0xFE0272D55C41C17774052E575646F8B10331274D&amp;#038;op=index&quot;&gt;key&lt;/a&gt; to get rid of key error warnings and do a&lt;/p&gt;
&lt;p&gt;&lt;code&gt;sudo apt-get update &amp;#038;&amp;#038; sudo apt-get install choqok&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;After that you should delete or comment out the ppa to avoid problems with untested packages.  &lt;/p&gt;</description>
	<pubDate>Sat, 21 Mar 2009 18:49:51 +0000</pubDate>
</item>
<item>
	<title>Christian Mangold (Neversfelde): Benutzerbild im KDM</title>
	<guid>http://christianmangold.de/?p=59</guid>
	<link>http://neversfelde.de/de/?p=59</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://christianmangold.de/wp-content/uploads/2009/03/user_image_kdm_de.png&quot; rel=&quot;lightbox[59]&quot;&gt;&lt;img class=&quot;alignleft size-thumbnail wp-image-33&quot; title=&quot;user_image_kdm_de&quot; src=&quot;http://christianmangold.de/wp-content/uploads/2009/03/user_image_kdm_de-150x150.png&quot; alt=&quot;user_image_kdm_de&quot; width=&quot;150&quot; height=&quot;150&quot; /&gt;&lt;/a&gt;Im Modul &amp;#8220;Persönliche Informationen&amp;#8221; kann man einen Benutzeravatar festlegen, der zum Beispiel im Kickoff Menü angezeigt wird.  In Jaunty bietet auch das Standardthema von KDM Raum für ein solches Icon, allerdings wird es nicht automatisch hinzugefügt. Um es auch hier einzufügen muss man in den &lt;em&gt;Systemeinstellungen &amp;gt;&amp;gt; Erweitert &amp;gt;&amp;gt; Anmeldungsmanager &amp;gt;&amp;gt; Benutzer &amp;gt;&amp;gt; Benutzerbilder&lt;/em&gt; im Dropdown Menü den gewünschten Spitznamen auswählen und natürlich ein Bild festlegen. Nach dem nächsten Start sollte dann auch für den Anmeldebildschirm ein Avatar angezeigt werden. Man sollte beachten, dass man hierfür das Administratorpasswort braucht, denn um KDM zu verändern braucht man Root Rechte.&lt;/p&gt;
&lt;p&gt;Dieser Artikel kann im &lt;a href=&quot;http://wiki.kubuntu-de.org/Konfiguration/KDE/Benutzerbild_im_KDM&quot;&gt;Wiki&lt;/a&gt; erweitert und verändert werden.&lt;/p&gt;</description>
	<pubDate>Thu, 19 Mar 2009 21:24:51 +0000</pubDate>
</item>
<item>
	<title>Christian Mangold (Neversfelde): User image in kdm</title>
	<guid>http://christianmangold.de/?p=62</guid>
	<link>http://christianmangold.de/?p=62</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://christianmangold.de/wp-content/uploads/2009/03/user_image_kdm.png&quot;&gt;&lt;img class=&quot;alignleft size-thumbnail wp-image-33&quot; title=&quot;user_image_kdm&quot; src=&quot;http://christianmangold.de/wp-content/uploads/2009/03/user_image_kdm-150x150.png&quot; alt=&quot;user_image_kdm&quot; width=&quot;150&quot; height=&quot;150&quot; /&gt;&lt;/a&gt;You can specifiy a user image, which is for example shown in the kickoff menue by providing personal information in systemsettings. In Jaunty&amp;#8217;s standard kdm theme there is also room for such an avatar, but it is not automatically added. You have to go to &lt;em&gt;systemsettings &amp;gt;&amp;gt; advanced &amp;gt;&amp;gt; login manager &amp;gt;&amp;gt; user&lt;/em&gt; and provide your password, because changing kdm needs root privileges. After that you can change kdm&amp;#8217;s user image by selecting your nick in the dropdown menue &amp;#8220;User images&amp;#8221; and of course changing the picture. Next time kdm should show an avatar, too.&lt;/p&gt;</description>
	<pubDate>Thu, 19 Mar 2009 21:24:00 +0000</pubDate>
</item>
<item>
	<title>Robert Frießleben (comm@nder): Futurenerd oder: Meine Tochter Teil II</title>
	<guid>http://blog.commandersfactory.de/archives/30-guid.html</guid>
	<link>http://blog.commandersfactory.de/archives/30-Futurenerd-oder-Meine-Tochter-Teil-II.html</link>
	<description>&lt;img class="face" align='right' style='margin: 5px;' src="http://planet.kubuntu-de.org/images/hackergotchy/commander.png" width="70" height="100" alt=""&gt;
&lt;p&gt;&lt;img src=&quot;http://blog.commandersfactory.de/uploads/futurenerd.jpg&quot; width=&quot;640&quot; height=&quot;480&quot; alt=&quot;Zukuuuuuuunft!!!&quot; title=&quot;Zukuuuuuuunft!!!&quot; /&gt;&lt;/p&gt;</description>
	<pubDate>Mon, 16 Mar 2009 13:05:26 +0000</pubDate>
	<author>nospam@example.com (Robert Frießleben)</author>
</item>
<item>
	<title>Robert Frießleben (comm@nder): Nachher</title>
	<guid>http://blog.commandersfactory.de/archives/29-guid.html</guid>
	<link>http://blog.commandersfactory.de/archives/29-Nachher.html</link>
	<description>&lt;img class="face" align='right' style='margin: 5px;' src="http://planet.kubuntu-de.org/images/hackergotchy/commander.png" width="70" height="100" alt=""&gt;
&lt;img src=&quot;http://blog.commandersfactory.de/uploads/image1599579933.jpg&quot; width=&quot;280&quot; align=&quot;left&quot; alt=&quot;image1599579933.jpg&quot; title=&quot;image1599579933.jpg&quot; /&gt;&lt;div class=&quot;iblogger-footer&quot;&gt;&lt;br clear=&quot;all&quot; /&gt;&lt;p&gt;[Posted with &lt;a href=&quot;http://illuminex.com/iBlogger/index.html&quot;&gt;iBlogger&lt;/a&gt; from my iPhone]&lt;/p&gt;&lt;br /&gt;&lt;/div&gt;</description>
	<pubDate>Sat, 14 Mar 2009 21:46:22 +0000</pubDate>
	<author>nospam@example.com (Robert Frießleben)</author>
</item>

</channel>
</rss>
