<?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>Energiequant &#187; English</title>
	<atom:link href="http://www.energiequant.de/wordpress/articles/category/english/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.energiequant.de/wordpress</link>
	<description></description>
	<lastBuildDate>Sun, 15 Jan 2012 03:11:46 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Reconstructing directory modification times</title>
		<link>http://www.energiequant.de/wordpress/articles/2012/01/15/reconstructing-directory-modification-times/</link>
		<comments>http://www.energiequant.de/wordpress/articles/2012/01/15/reconstructing-directory-modification-times/#comments</comments>
		<pubDate>Sun, 15 Jan 2012 03:11:46 +0000</pubDate>
		<dc:creator>Energiequant</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.energiequant.de/wordpress/?p=392</guid>
		<description><![CDATA[I&#8217;m currently migrating large parts of a Windows NTFS partition to Ext4 on my desktop system and accidentally messed the modification times of all directories I moved with Dolphin (KDE) by aborting the operation and restarting it over the already created directories from the first run. I decided to hack a small script to reconstruct [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m currently migrating large parts of a Windows NTFS partition to Ext4 on my desktop system and accidentally messed the modification times of all directories I moved with Dolphin (KDE) by aborting the operation and restarting it over the already created directories from the first run. I decided to hack a small script to reconstruct the modification times (getting close to the original ones). It works by recursively finding the latest, deepest nested file modification time for a directory (as those have been copied correctly) and using <code>touch</code> to set the same timestamp on the target directory. I would advise to call it with <code>find</code> on the directories it should operate on, for example if it has been saved as <code>~/fix-copied-dirtimes.sh</code>:</p>
<p><code>find first/ second/ -type d -not -empty -exec ~/fix-copied-dirtimes.sh \{\} \;</code></p>
<p>It is by far not optimized (being called this way will perform highly redundant queries on the file system) but it works very fast nevertheless and you usually don&#8217;t run it frequently, so that&#8217;s okay&#8230;</p>
<p>A little word of warning: <b>Verify the correct behaviour on your own!</b> That means: Please manually confirm that all calls performed by this script and method turn up with the correct result. This comes without any warranty and although <code>touch</code> shouldn&#8217;t do any more than changing timestamps you never know&#8230; <img src='http://www.energiequant.de/wordpress/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  So&#8230; do your checks please and try it on some unimportant test directories first.</p>
<pre class="brush: bash; ">

#!/bin/bash
# sets one directory modification time according to its latest file modification time (searched recursively)

DIR=$1
LATESTDATE=`find &quot;$DIR&quot; -type f -printf &#039;%TY%Tm%Td%TH%TM.%TS\n&#039; | sort -n | tail -n1 | cut -c-15`

if [ $LATESTDATE ]
then
        touch -m -t &quot;$LATESTDATE&quot; &quot;$DIR&quot;
fi
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.energiequant.de/wordpress/articles/2012/01/15/reconstructing-directory-modification-times/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java: Deployment issues</title>
		<link>http://www.energiequant.de/wordpress/articles/2011/05/22/java-deployment-issues/</link>
		<comments>http://www.energiequant.de/wordpress/articles/2011/05/22/java-deployment-issues/#comments</comments>
		<pubDate>Sun, 22 May 2011 00:37:55 +0000</pubDate>
		<dc:creator>Energiequant</dc:creator>
				<category><![CDATA[English]]></category>

		<guid isPermaLink="false">http://www.energiequant.de/wordpress/?p=316</guid>
		<description><![CDATA[Being new to developing Java web applications using a lot of dependencies, I encountered a few issues when deploying an update onto our Geronimo app server. Since some were hard to find solutions for, I decided to write them down in this blog post. I didn&#8217;t have any of these issues while running the application [...]]]></description>
			<content:encoded><![CDATA[<p>Being new to developing Java web applications using a lot of dependencies, I encountered a few issues when deploying an update onto our Geronimo app server. Since some were hard to find solutions for, I decided to write them down in this blog post. I didn&#8217;t have any of these issues while running the application for development by <code>mvn jetty:run</code> (even on the same machine as Geronimo).</p>
<ol>
<li><b>Doubled dependencies</b><br />
We use Quartz Scheduler in our application while Geronimo itself also uses Quartz (however, in an older version). That resulted in a module conflict indicated by an IncompatibleClassChangeError since both libraries can not be loaded at the same time within the same classloader. The solution to this was rather simple: all that was necessary is adding <code>&lt;inverse-classloading /&gt;</code> to the <a href="https://cwiki.apache.org/GMOxDOC22/geronimo-webxml.html" target="_blank">deployment plan</a> (which may better be placed in a separate directory so you can easily switch between multiple deployment targets). If our application was using Quartz 1.6 (the version Geronimo is using) I might have simply added a dependency to my deployment plan and could have shared the classes.
</li>
<li><b>Missing XML implementation</b><br />
Our application also writes PDFs using the Apache XSL-FO processor. For a reason I still don&#8217;t understand, there appeared to be only stubs available but no implementations although it worked happily with apparently the same configuration on the same machine when run from mvn jetty:run instead of Geronimo. The message I got was something like &#8220;org.apache.xerces.jaxp.SAXParserFactoryImpl not found&#8221;. After a lot of search and failed tries I figured out that I simply had to add xerces/xercesImpl as a dependency. Another option may have been to dig deeper into property handling and figure out how to properly solve the problem by specifying an existing implementation as suggested on an older <a href="http://stackoverflow.com/questions/1016286/org-apache-xerces-jaxp-saxparserfactoryimpl-not-found-when-importing-gears-api-in" target='_blank'>StackOverflow</a> question. (however I&#8217;m unsure if that really was the problem as it appeared that the classes were missing but the class name was correct and it worked fine from command line so the classes &#8211; to my understanding &#8211; should have been available through the default class loader)</li>
<li><b>LinkageError</b><br />
The last problem I had to deal with took me much longer to figure out. Take a look at this <i>part</i> of a stack trace:</p>
<div class="breakfix">
<pre class="brush: plain; ">

Caused by: java.lang.LinkageError: loader constraint violation: when resolving method &quot;javax.imageio.metadata.IIOMetadata.getAsTree(Ljava/lang/String;)Lorg/w3c/dom/Node;&quot; the class loader (instance of org/apache/geronimo/kernel/config/MultiParentClassLoader) of the current class, org/apache/xmlgraphics/image/loader/impl/imageio/ImageIOUtil, and the class loader (instance of &lt;bootloader&gt;) for resolved class, javax/imageio/metadata/IIOMetadata, have different Class objects for the type org/w3c/dom/Node used in the signature
	at org.apache.xmlgraphics.image.loader.impl.imageio.ImageIOUtil.extractResolution(ImageIOUtil.java:54)
	at org.apache.xmlgraphics.image.loader.impl.imageio.PreloaderImageIO.preloadImage(PreloaderImageIO.java:101)
	at org.apache.xmlgraphics.image.loader.ImageManager.preloadImage(ImageManager.java:175)
	at org.apache.xmlgraphics.image.loader.cache.ImageCache.needImageInfo(ImageCache.java:128)
	at org.apache.xmlgraphics.image.loader.ImageManager.getImageInfo(ImageManager.java:122)
	at org.apache.fop.fo.flow.ExternalGraphic.bind(ExternalGraphic.java:81)
	at org.apache.fop.fo.FObj.processNode(FObj.java:123)
	at org.apache.fop.fo.FOTreeBuilder$MainFOHandler.startElement(FOTreeBuilder.java:282)
	at org.apache.fop.fo.FOTreeBuilder.startElement(FOTreeBuilder.java:171)
	at org.apache.xalan.transformer.TransformerIdentityImpl.startElement(TransformerIdentityImpl.java:1020)
	at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
	at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
	at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
	at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
	at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:432)
</pre>
</div>
<p>Let&#8217;s take a step back from that clutter of information, take a deep breath and examine the top-most sentence a bit closer:</p>
<ul>
<li>we have some sort of class loader conflict</li>
<li>the method getAsTree in class javax.imageio.metadata.IIOMetadata refers to org.w3c.dom.Node</li>
<li>the class loader we are coming from is &#8220;MultiParentClassLoader&#8221;, provided by Geronimo</li>
<li>we come from org.apache.xmlgraphics.image.loader.impl.imageio.ImageIOUtil</li>
<li>the class loader being used by the method we try to call is called &#8220;bootloader&#8221;</li>
<li>the access to &#8220;bootloader&#8221; originates from javax.imageio.metadata.IIOMetadata</li>
<li>both class loaders link to incompatible and thus conflicting signatures of org.w3c.dom.Node, so we cannot continue</li>
</ul>
<p>Let&#8217;s interpret these facts: <code>org.apache.xmlgraphics.</code>&#8230;<code>.ImageIOUtil</code> calls a method from <code>javax.imageio.metadata.IIOMetadata</code>. We have at least two class loaders that have different understandings of what <code>org.w3c.dom.Node</code> should look like and both classes we access are using a different one of these signatures. Apparently the javax packages are provided by the JDK and are being used by xmlgraphics, so our dependency of xmlgraphics appears to be incompatible with the JDK we are running. We are confident that both the JDK and xmlgraphics are up-to-date, so what next?</p>
<p>I searched for over an hour and couldn&#8217;t find anything relevant except some voodoo stuff. At first I tried to hide classes by adding a filter in the deployment plan; then I tried to enforce one specific version by adding a direct dependency to org.w3c.dom. It was a bug report saying something like &#8220;strange, org.w3c.dom hasn&#8217;t been touched for years&#8221; plus another report saying &#8220;use xml-apis-1.3.04&#8243; that got me on the right track: Today&#8217;s Java versions seem to ship with at least some org.w3c.dom classes. However, Maven pulled xml-apis as a dependency nevertheless which includes its own versions of org.w3c packages but doesn&#8217;t seem to be a problem unless deployed to the app server. Maybe that&#8217;s a side-effect of the inverse classloading we enabled to get Quartz running. The solution was to simply exclude that dependency in the pom file. If you are using NetBeans you can simply right-click xml-apis and select &#8220;Exclude Dependency&#8221; which will automatically add</p>
<pre class="brush: xml; ">

            &lt;exclusions&gt;
                &lt;exclusion&gt;
                    &lt;artifactId&gt;xml-apis&lt;/artifactId&gt;
                    &lt;groupId&gt;xml-apis&lt;/groupId&gt;
                &lt;/exclusion&gt;
            &lt;/exclusions&gt;
</pre>
<p>to all relevant dependency definitions (in my case xerces/xercesImpl and org.apache.xmlgraphics/fop).
</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.energiequant.de/wordpress/articles/2011/05/22/java-deployment-issues/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>wine caching Temporary Internet Files indefinitely</title>
		<link>http://www.energiequant.de/wordpress/articles/2011/03/29/wine-caching-temporary-internet-files-indefinitely/</link>
		<comments>http://www.energiequant.de/wordpress/articles/2011/03/29/wine-caching-temporary-internet-files-indefinitely/#comments</comments>
		<pubDate>Mon, 28 Mar 2011 23:34:31 +0000</pubDate>
		<dc:creator>Energiequant</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.energiequant.de/wordpress/?p=308</guid>
		<description><![CDATA[Taking a look at where my disk space went, I was quite surprised to find 11GiB in a directory at ~/.wine/drive_c/windows/profiles/username/Local Settings/Temporary Internet Files/Content.IE5/
It appears that this is an already reported issue with wine, as downloads made through calls to wininet.dll are supposed to be deleted by Windows sooner or later. As wine caches its [...]]]></description>
			<content:encoded><![CDATA[<p>Taking a look at where my disk space went, I was quite surprised to find 11GiB in a directory at <span style='font-family: "Courier New",monospaced;'>~/.wine/drive_c/windows/profiles/username/Local Settings/Temporary Internet Files/Content.IE5/</span></p>
<p>It appears that this is an <a href="http://bugs.winehq.org/show_bug.cgi?id=23876" target="_blank">already reported issue</a> with wine, as downloads made through calls to wininet.dll are supposed to be deleted by Windows sooner or later. As wine caches its downloads the same way but without ever removing old files, everything ever downloaded through wine&#8217;s wininet.dll currently gets cached indefinitely. To work around that problem, it&#8217;s currently necessary to clear that folder once in a while (or to automate that on reboots or similar). Simply deleting that directory should work just fine as it is supposed to be created automatically if needed.</p>
<p>It&#8217;s probably best to also search for other temp directories inside ~/.wine from time to time. Apart from cached downloads I could free another 6GiB of unnecessarily wasted space at the usual locations. It&#8217;s easy to forget about &#8220;C:&#8221; when running wine&#8230; <img src='http://www.energiequant.de/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.energiequant.de/wordpress/articles/2011/03/29/wine-caching-temporary-internet-files-indefinitely/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting fed up with HTC&#8217;s non-existent maintenance&#8230;</title>
		<link>http://www.energiequant.de/wordpress/articles/2010/05/24/getting-fed-up-with-htcs-non-existent-maintenance/</link>
		<comments>http://www.energiequant.de/wordpress/articles/2010/05/24/getting-fed-up-with-htcs-non-existent-maintenance/#comments</comments>
		<pubDate>Mon, 24 May 2010 14:08:45 +0000</pubDate>
		<dc:creator>Energiequant</dc:creator>
				<category><![CDATA[English]]></category>

		<guid isPermaLink="false">http://www.energiequant.de/wordpress/?p=270</guid>
		<description><![CDATA[I bought a HTC Hero last year in September and was quite happy with it. HTC&#8217;s custom Sense UI looked far better than the default Android UI. It also shipped with better applications, less Google bundling and pioneered some basic multitouch support (only in the browser and the photo app) and integration with Flickr, Facebook [...]]]></description>
			<content:encoded><![CDATA[<p>I bought a HTC Hero last year in September and was quite happy with it. HTC&#8217;s custom Sense UI looked far better than the default Android UI. It also shipped with better applications, less Google bundling and pioneered some basic multitouch support (only in the browser and the photo app) and integration with Flickr, Facebook and Twitter.</p>
<p>Sense&#8217;s initial release was very sluggish (see older reviews on YouTube) but has just become fixed when I ordered my phone. After that, there was one more update in November without information on what has been fixed with it. Since it required yet another wipe and was still Android 1.5 (Codename Cupcake) and everything worked fine for me so far, I decided not to install it.</p>
<p>It&#8217;s the end of May now, <a href='http://www.htc.com/de/supportdownloadlist.aspx?p_id=283&#038;act=sd&#038;cat=all' target='_blank'>6 months since that last update</a>, 8 months since the UI fix and when I got my phone. Android 1.6 (Donut) was released the day after I bought my phone, providing <a href='http://developer.android.com/sdk/android-1.6-highlights.html' target='_blank'>new features</a> such as VPN connections, text-to-speech support, a new market application and multiple screen resolutions. I would call the last feature the most important one since newer devices required it and soon applications started requiring that API, resulting in older Android versions not being able to run them (they are simply hidden from the market). In preparation of the <a href='http://en.wikipedia.org/wiki/Motorola_Droid' target='_blank'>Droid</a> release in November <a href='http://developer.android.com/sdk/android-2.0-highlights.html' target='_blank'>Android 2.0</a> (Eclair) was released just one month later, along with support for newer hardware (camera flash, OpenGL 2.0 ES) it also added more Bluetooth profiles (up to that point Android phones could only interact with headsets) and a better Bluetooth API as well as Google Voice Search among others. If I remember correctly, this was mainly used by the Droid and no other phone at that time. It was Android 2.1 (also Eclair) that shipped these new features to phones from other manufacturers since January but not without adding some more features such as live wallpapers. HTC said they would skip 1.6 and go directly to 2.0/2.1 for the Hero. Android 2.1&#8217;s release date was timed with the release of <a href='http://en.wikipedia.org/wiki/Nexus_One' target='_blank'>Nexus One</a> which was manufactured by HTC. Last week, <a href='http://developer.android.com/sdk/android-2.2-highlights.html' target='_blank'>Android 2.2</a> (Froyo = Frozen yogurt) was released, bringing (among others) WiFi and USB tethering without the need of rooting your device.</p>
<p>Sprint released a 2.1 update for their <a href='http://en.wikipedia.org/wiki/File:HTC_Hero_(CDMA_-_Sprint).jpg' target='_blank'>customized</a> Hero last week, one week after another customized revision called &#8220;Droid Eris&#8221; got the update. Hero owners using the plain GSM phones (in contrast to CDMA by US operators) are still waiting in vain for a release. There were multiple release dates, both rumored and official, each cancelled a few days before or simply missed. According to <a href='http://phandroid.com/' target='_blank'>phandroid.com</a> HTC now has yet another release date for us: A first preliminary update should roll out someday in June and the final 2.1 update should follow &#8220;a couple of weeks later&#8221; which could easily mean July or August regarding their previously announced dates. HTC also said, that 2.2 would come to all phones released in 2010 &#8211; that excludes the Hero for now&#8230;</p>
<p>Actually, Google released Android 1.6, 2.0 and 2.1 much too fast for any manufacturer to keep up with in time, that&#8217;s true. Also, HTC&#8217;s custom UI called Sense has to be ported to each Android revision they release an update for. But HTC already released a phone running Sense on 1.6. So assuming, they stopped support for Sense@1.5 at latest in November, they now had 6 months to tinker at ports to newer Android versions and prepare an update for the Hero. And they did: Not only did Droid Eris and Sprint Hero get an update in the past weeks, they also released <a href='http://en.wikipedia.org/wiki/List_of_HTC_phones#A_Series_.28Android_phones.29' target='_blank'>a lot of phones</a> previously, developing even more. All have similar hardware and starting from the Hero all of their Android phones have Sense UI.</p>
<p>So why didn&#8217;t HTC release any 2.1 update for the Hero yet? Considering that at least the Sprint Hero could have had its update so &#8220;soon&#8221; only because the network operator Sprint may have built its own release, I&#8217;ve got the notion that HTC is building throw-away phones: If one gets outdated, just dispose it and buy a new one; maintenance will only run for a few months and then suddenly stops. This may have worked for conventional phones in the past but since smartphones run on a common operating system that is often maintained by another company, that&#8217;s the completely wrong path to keep the Android platform healthy and customers as well as developers satisfied. By healthy I mean that a device should usually support all public API levels until the hardware becomes insufficient which shouldn&#8217;t be that much of a problem with smartphones which are nothing but PDAs with a cellular radio chip. However, since Android is open source and modifications to the Linux kernel have to be published under GPL, Android phones should be open to custom upgrades and so is the HTC Hero.</p>
<p>Unfortunately I&#8217;m legally unable to link or name any of the custom ROMs I&#8217;ve found but if you do a standard Google search you will most likely find them quite easily. They either run the plain Android system or incorporate (pirated) copies of Sense UI from leaked or previously released images. Since I&#8217;m not the only one who is sick of HTC&#8217;s poor excuses, there seems to exist a variety of ROMs specifically targeting the Hero. Reading into what&#8217;s necessary to get an update, I&#8217;ve found out that HTC is actually making it difficult to flash an inofficial ROM onto the phone. This involves unlocking a special diagnosis mode and signed files; things I would not have expected at all from a badly maintained open source based phone! Although I didn&#8217;t try it myself, it seems like even versions containing ripped Sense binaries run surprisingly fine (with some minor bugs and inconveniences) on the Hero, so the question remains: Why does HTC delay updates if a community of a few unrelated developers is able to build almost completely working releases?</p>
<p>To make things worse, it seems like at least a few released 2.1 images introduced a jail lock that appears to not have been broken completely yet. So you are strongly advised to check the news on this topic before installing any official HTC updates from now on or you may not be able to ever go further than Android 2.1.</p>
<p>Why does this happen? What are they thinking? I start to regret having bought my Hero with the wrong expectation to have a modifiable phone that doesn&#8217;t outdate for a few years due to an evolving open source operating system. All I can do now is to warn other people from buying HTC&#8217;s phones without prior investigation of possible issues. While other Android phones may also be several months late lagging behind Google&#8217;s SDK releases, that may be excusable up to some point (especially since Google sprinted ahead with their releases since 1.6). The day the Hero finally receives its 2.1 update, other phones will already get their updates to 2.2 and I doubt HTC will continue to update the Hero further. Since a jail lock may be introduced to the normal Hero by the preliminary update in June I would strongly advise considering either getting a custom ROM instead or live with 1.5 and wait for more information (is HTC serious about 2.1 and will the Hero get 2.2?). Once you installed that update you may not be able to go further without buying a new phone although the hardware would be capable of it. All I know for sure is that I won&#8217;t buy another HTC phone in near future.</p>
<p>As of May 17, Android currently has an almost equally distributed <a href='http://developer.android.com/resources/dashboard/platform-versions.html' target='_blank'>version fragmentation</a> across 1.5, 1.6 and 2.1. In the advent of 2.2 and the final updates to 2.1 I would expect that we are one or two months from finally calling 1.5 (the third <a href='http://developer.android.com/guide/appendix/api-levels.html' target='_blank'>API level</a>) &#8220;legacy&#8221;. This means that the number of devices running 1.5 will drop significantly low and therefore less and less applications will run on 1.5 due to API updates more current applications may prefer to use (with Android 2.2 we have reached API level 8). The 34,1% share of Android 1.5 may in fact contain a large percentage of Heros since almost every other phone has had updates and the Hero sold pretty well. Developers have or will have to choose whether they want to maintain a legacy &#8220;Hero revision&#8221; of their software or not. Thus by holding back OS updates, HTC is not only upsetting its customers but is annoying developers as well, so its highly unlikely they will support a 10% or less share of 1.5 users. Running out on updates in less than one year isn&#8217;t what Android was meant to be nor what I would expect from a 400€ device.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.energiequant.de/wordpress/articles/2010/05/24/getting-fed-up-with-htcs-non-existent-maintenance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>KDE 4.3 upgrade and Cashew</title>
		<link>http://www.energiequant.de/wordpress/articles/2010/01/24/kde-4-3-upgrade-and-cashew/</link>
		<comments>http://www.energiequant.de/wordpress/articles/2010/01/24/kde-4-3-upgrade-and-cashew/#comments</comments>
		<pubDate>Sun, 24 Jan 2010 21:26:14 +0000</pubDate>
		<dc:creator>Energiequant</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.energiequant.de/wordpress/?p=213</guid>
		<description><![CDATA[I reinstalled KDE for an upgrade from 4.2 to 4.3 (doesn&#8217;t seem to work without uninstalling on Gentoo; no idea why) and ran into some problems afterwards.
reinstalling KDE
I was still using the unstable KDE 4.2 until this weekend. For some strange reason, the slotted 4.2 ebuilds were completely removed from portage, thus preventing any re-merges [...]]]></description>
			<content:encoded><![CDATA[<p>I reinstalled KDE for an upgrade from 4.2 to 4.3 (doesn&#8217;t seem to work without uninstalling on Gentoo; no idea why) and ran into some problems afterwards.</p>
<h3>reinstalling KDE</h3>
<p>I was still using the unstable KDE 4.2 until this weekend. For some strange reason, the slotted 4.2 ebuilds were <b>completely</b> removed from portage, thus preventing any re-merges which I had to do since I wanted to also upgrade from GCC 4.1.2 to 4.3.4, so I had to uninstall KDE before, upgrade GCC, recompile everything, then finally merge KDE again. To remove KDE more or less completely I was told to do <code>emerge -pCv $(qlist -ICv kde | grep 4.2)</code> (minus the <code>pv</code> of course). I had some other ebuilds left for manual checking but this command caught the vast majority. Unmerging and remerging kde-meta (after the GCC upgrade) went really smooth. To have a WM in the meantime I emerged xfce4-meta and gnome-terminal before I unmerged KDE.</p>
<h3>Akonadi migration with bogus entry</h3>
<p>Recently I had issues with some corrupted config in Akonadi that could not be solved from within KDE 4.2. On every start I would now get the migration dialog retrying to migrate a bridge called Y2252jgYO7 &#8211; whatever that was, I couldn&#8217;t find it. Running <code>locate</code> on that ID revealed old lock files back from KDE 3.5. Having searched for a moment I figured out that I could simply find and remove the files:</p>
<p><code>find ~/.kde* -iname \*Y2252jgYO7\* -exec rm \{\} \;</code></p>
<p>Next, everything referencing that ID has to be removed from ~/.kde4/share/config/kres-migratorrc &#8211; redo whatever runs the migration assistant for you and the problem should be solved.</p>
<h3>frenzy Nepomuk &#8211; again&#8230;</h3>
<p>I don&#8217;t seem to be the only one where the desktop search never works. With KDE 4.2 I disabled Strigi and Nepomuk because it took 100% CPU even when idling. If it wasn&#8217;t idling it was accessing the harddisk way too fast and so it always slowed down my system. That wasn&#8217;t without sideeffects however: I was unable to use the runner (Alt+F2) without crashes. I figured out that enabling Nepomuk, disabling Strigi and removing all repository data worked in KDE 4.2. Guess what? The problem reappeared after the upgrade to KDE 4.3. I don&#8217;t know if I solved it &#8220;properly&#8221; (I don&#8217;t need desktop search ATM so I can afford disabling it). From Stéphane Laurière at Mandriva&#8217;s <a href='https://qa.mandriva.com/show_bug.cgi?id=55410' target='_blank'>bug tracker</a>:</p>
<ol>
<li>make a backup of your Nepomuk database by backuping the folder ~/.kde4/share/apps/nepomuk/repository/</li>
<li>reconfigure Strigi from the Nepomuk System Settings so that it indexes less<br />
folders<br />
<em>Note: I unchecked everything plus added * to the exclude patterns, just to be sure.</em></li>
<li>stop Nepomuk by running the following command:<br />
<code>qdbus org.kde.NepomukServer /nepomukserver org.kde.NepomukServer.quit</code></li>
<li>remove the repository folder ~/.kde4/share/apps/nepomuk/repository/</li>
<li>restart Nepomuk: <code>nepomukserver</code></li>
</ol>
<p>After restart I got several crashes (what else) but Nepomuk stops retrying after a short time&#8230; (you should watch out for large numbers of crash logs though)</p>
<h3>the Cashew</h3>
<p>If you ever wondered what the name for that moon-and-star-like icon is which you get when unlocking your panels in KDE4, it seems to be called &#8220;the Cashew&#8221;. I know there was one icon on the desktop when I started using KDE 4.2 but it somehow disappeared very soon on its own and I didn&#8217;t miss it. It seems like that has been some bug since I now had it again: </p>
<p><img src="http://www.energiequant.de/wordpress/wp-content/uploads/2010/01/cashew1.png" alt="cashew on the right side" title="KDE Cashew" width="35" height="75" class="size-full wp-image-217" /> <img src="http://www.energiequant.de/wordpress/wp-content/uploads/2010/01/cashew2.png" alt="KDE Cashew" title="KDE Cashew" width="40" height="41" class="alignnone size-full wp-image-221" /></p>
<p>That nasty icon was sitting right on my otherwise clean desktop wallpaper. I could move it around my screen borders but it could not be removed. I thought something was broken until I finally searched for it and figured out that it&#8217;s some kind of branding not be meant to be removed. Great&#8230; Now, how do you get rid of it?!</p>
<p>As pointed out on the Gentoo forums (thread &#8220;<a href='http://forums.gentoo.org/viewtopic-t-787117-highlight-cashew.html' target='_blank'>KDE 4.3.0 Annoyances</a>&#8220;) and also on a <a href='http://ansuz.sooke.bc.ca/software/kde4-annoyances.php' target='_blank'>blog post</a>, there exists a plasmoid that you can simply drop onto your desktop to remove/hide that useless cashew: <a href='http://www.kde-look.org/content/show.php/I+HATE+the+Cashew?content=91009' target='_blank'>I HATE the Cashew</a></p>
<p><img src="http://www.energiequant.de/wordpress/wp-content/uploads/2010/01/cashew3-300x66.png" alt="I HATE the Cashew" title="I HATE the Cashew" width="300" height="66" class="aligncenter size-medium wp-image-222" /></p>
<p>If you should ever want that apparently useless cashew icon back, simply remove &#8220;I HATE the Cashew&#8221; by clicking the minus icon on the &#8220;Add Widgets&#8221; dialog.</p>
<p>There used to be an ebuild for it but since I couldn&#8217;t find it I simply wrote one on my own (well, half-way copy&#038;pasting from other ones and the <a href='http://devmanual.gentoo.org/ebuild-writing/index.html' target='_blank'>ebuild documentation</a>, but it works). In case you need it too, here it is: (kde-misc/ihatethecashew-0.4)</p>
<pre class="brush: bash; ">

# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

MY_PN=iHateTheCashew

DESCRIPTION=&quot;I HATE the Cashew - KDE4 corner icon removal plasmoid&quot;
HOMEPAGE=&quot;http://www.kde-look.org/content/show.php?content=91009&quot;
#SRC_URI=&quot;http://www.kde-look.org/CONTENT/content-files/91009-${MY_PN}-${PV}.tbz&quot;
SRC_URI=&quot;http://www.kde-look.org/CONTENT/content-files/91009-${MY_PN}-4.4.tbz&quot;

LICENSE=&quot;GPL-2&quot;
SLOT=&quot;0&quot;
KEYWORDS=&quot;~amd64 ~x86&quot;
IUSE=&quot;&quot;

S=${WORKDIR}

src_unpack() {
        unpack ${A}
}

src_compile() {
        cd iHateTheCashew
        mkdir build
        cd build
        cmake -DCMAKE_INSTALL_PREFIX=/usr .. || die &quot;CMake failed!&quot;
        emake || die &quot;Make failed!&quot;
}

src_install() {
        cd iHateTheCashew/build
        emake DESTDIR=&quot;${D}&quot; install || die &quot;Install failed&quot;
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.energiequant.de/wordpress/articles/2010/01/24/kde-4-3-upgrade-and-cashew/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>portage: (permanently) ignoring file collisions</title>
		<link>http://www.energiequant.de/wordpress/articles/2009/12/12/portage-permanently-ignoring-file-collisions/</link>
		<comments>http://www.energiequant.de/wordpress/articles/2009/12/12/portage-permanently-ignoring-file-collisions/#comments</comments>
		<pubDate>Fri, 11 Dec 2009 23:47:16 +0000</pubDate>
		<dc:creator>Energiequant</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.energiequant.de/wordpress/?p=196</guid>
		<description><![CDATA[I&#8217;m currently setting up a server to migrate an older one to. In order to emerge all necessary ebuilds I basically took the worldfile of the older one, sorted, diffed and edited it to finally emerge `cat mergelist` it on the new system. Except for a few dependency problems (emerge --resume --skip-first and later reruns [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m currently setting up a server to migrate an older one to. In order to emerge all necessary ebuilds I basically took the worldfile of the older one, sorted, diffed and edited it to finally <code>emerge `cat mergelist`</code> it on the new system. Except for a few dependency problems (<code>emerge --resume --skip-first</code> and later reruns fixed those) everything went fine. Unfortunately, having emerged maildrop, it blocked the installation of courier-imap due to file collisions:</p>
<p><pre><pre>
 * This package will overwrite one or more files that may belong to other
 * packages (see list below). You can use a command such as `portageq&nbsp;&nbsp;&nbsp;&nbsp;
 * owners / &lt;filename&gt;` to identify the installed package that owns a&nbsp;&nbsp;&nbsp;&nbsp;
 * file. If portageq reports that only one package owns a file then do&nbsp;&nbsp; 
 * NOT file a bug report. A bug report is only useful if it identifies at
 * least two or more packages that are known to install the same file(s).
 * If a collision occurs and you can not explain where the file came from
 * then you should simply ignore the collision since there is not enough 
 * information to determine if a real problem exists. Please do NOT file 
 * a bug report at http://bugs.gentoo.org unless you report exactly which
 * two packages install the same file(s). Once again, please do NOT file 
 * a bug report unless you have completely understood the above message. 
 *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
 * Detected file collision(s):&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
 *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
 *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/usr/bin/maildirmake&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
 *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/usr/share/man/man1/maildirmake.1.bz2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/usr/share/man/man8/deliverquota.8.bz2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
 *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
 * Searching all installed packages for file collisions...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
 *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
 * Press Ctrl-C to Stop&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
 * mail-filter/maildrop-2.2.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/usr/bin/maildirmake&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
 *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/usr/share/man/man1/maildirmake.1.bz2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/usr/share/man/man8/deliverquota.8.bz2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
 *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
 * Package &#039;net-mail/courier-imap-4.5.0&#039; NOT merged due to file&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 * collisions. If necessary, refer to your elog messages for the whole&nbsp;&nbsp; 
 * content of the above message.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</pre></pre></p>
<p>maildrop belongs to courier and although that collision isn&#8217;t great but won&#8217;t hurt being ignored, I added the following line to <code>/etc/make.conf</code> (wrapped to be readable on my blog):</p>
<p><pre><pre>
COLLISION_IGNORE=&quot;/usr/bin/maildirmake \
 /usr/share/man/man1/maildirmake.1.bz2 \
 /usr/share/man/man8/deliverquota.8.bz2&quot;
</pre></pre></p>
<p>This will permanently ignore the collision for all 3 files.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.energiequant.de/wordpress/articles/2009/12/12/portage-permanently-ignoring-file-collisions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Disabling HPA on Samsung HDDs</title>
		<link>http://www.energiequant.de/wordpress/articles/2009/10/23/disabling-hpa-on-samsung-hdds/</link>
		<comments>http://www.energiequant.de/wordpress/articles/2009/10/23/disabling-hpa-on-samsung-hdds/#comments</comments>
		<pubDate>Fri, 23 Oct 2009 16:36:19 +0000</pubDate>
		<dc:creator>Energiequant</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.energiequant.de/wordpress/?p=184</guid>
		<description><![CDATA[A friend of mine bought a new 1TB hard drive from Samsung (HD103SJ with firmware 1AJ100E4). He used Windows Vista to partition it and format 2 partitions for NTFS, one to install Windows 7 and one to move data from an external drive. Everything worked well, Vista used the drive as intended. When he rebooted [...]]]></description>
			<content:encoded><![CDATA[<p>A friend of mine bought a new 1TB hard drive from Samsung (HD103SJ with firmware 1AJ100E4). He used Windows Vista to partition it and format 2 partitions for NTFS, one to install Windows 7 and one to move data from an external drive. Everything worked well, Vista used the drive as intended. When he rebooted to install Win7 everything &#8211; Windows 7 setup, BIOS and unfortunately also Vista &#8211; saw the drive with only 33 MB capacity, reporting one unformatted partition on it.</p>
<p>Searching the internet we found out it must be a problem with the drive&#8217;s <a href='http://en.wikipedia.org/wiki/Host_Protected_Area' target='_blank'>host protected area</a> (HPA) in conjunction with his mainboard/SATA controller (ironically from Gigabyte). He updated BIOS and chipset drivers but the problem persisted. According to some forums there are some tools for Windows to fix that issue. Since many people reported data loss afterwards and he didn&#8217;t have another copy of the data he moved from his external drive we decided to boot into the new <a href='http://www.gentoo.org/main/en/where.xml' target='_blank'>Gentoo Live DVD</a> that also allowed me to log in remotely via SSH to investigate the problem (we are more than 500km away from each other).</p>
<p>Following a short <a href='http://www.forensicswiki.org/wiki/DCO_and_HPA' target='_blank'>guide</a> on how to detect and disable HPA we could see the settings of his drive:</p>
<p><pre><code>
# hdparm -N /dev/sdb
/dev/sdb:
 max sectors&nbsp;&nbsp; = 65134/1953525168, HPA is enabled
</code></pre></p>
<p>This seems to have been the opposite configuration of what should have been set according to the guide: While the examples from the guide had a much greater value before the slash his drive seemed to show the intended remainder to be allocated to the HPA set for &#8220;public&#8221; use, so his HPA seemed to cover almost the entire 1TB of his HDD.</p>
<p>Before we tried to correct that value we wanted to check if we can access any data right away. Unfortunately everything prevented us from accessing the HPA &#8211; the kernel did only register /dev/sdb1 but not /dev/sdb2, smartmontools showed 33MB capacity as well, parted refused to work and fdisk finally showed the correct partition table but reported a mismatch in geometry, so at least we still seemed to access the same start sector of his HDD:</p>
<p><pre><code>
Disk /dev/sdb: 33 MB, 33348608 bytes
255 heads, 63 sectors/track, 4 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x24c2a85c

&nbsp;&nbsp; Device Boot&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Start&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Blocks&nbsp;&nbsp; Id&nbsp;&nbsp;System
/dev/sdb1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 38245&nbsp;&nbsp; 307200000&nbsp;&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;HPFS/NTFS
Partition 1 has different physical/logical endings:
&nbsp;&nbsp;&nbsp;&nbsp; phys=(1023, 254, 63) logical=(38244, 193, 29)
/dev/sdb2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 38245&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;121601&nbsp;&nbsp; 669558784&nbsp;&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;HPFS/NTFS
Partition 2 has different physical/logical beginnings (non-Linux?):
&nbsp;&nbsp;&nbsp;&nbsp; phys=(1023, 254, 63) logical=(38244, 193, 30)
Partition 2 has different physical/logical endings:
&nbsp;&nbsp;&nbsp;&nbsp; phys=(1023, 254, 63) logical=(121600, 247, 55)
</code></pre></p>
<p>We also tried to access /dev/sdb with dd but only got the 33MB until the drive &#8220;ended&#8221;. Considering the HPA modifications to be the last resort we tried to change it only temporarily at first, but had to set it permanently to get any effects on the system after a reboot. Please note that the manpage for hdparm explicitely states that changing that setting is &#8220;VERY DANGEROUS, DATA LOSS IS EXTREMELY LIKELY&#8221;. I copied the old value to a text editor before making the modifications, so I hoped we could at least set it back to what it was before our changes in case it didn&#8217;t work well. To make a permanent change, simply run the same command with p (for permanent) followed by the new maximum value to be set (to disable HPA this would be the exact same value as written after the slash):</p>
<p><pre><code>
# hdparm -N p1953525168 /dev/sdb
</code></pre></p>
<p>Having rebooted, fdisk did not complain any more and the kernel recognized both partitions:</p>
<p><pre><code>
Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x24c2a85c

&nbsp;&nbsp; Device Boot&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Start&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Blocks&nbsp;&nbsp; Id&nbsp;&nbsp;System
/dev/sdb1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 38245&nbsp;&nbsp; 307200000&nbsp;&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;HPFS/NTFS
/dev/sdb2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 38245&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;121601&nbsp;&nbsp; 669558784&nbsp;&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;HPFS/NTFS
</code></pre></p>
<p>hdparm confirmed that we just disabled HPA:</p>
<p><pre><code>
# hdparm -N /dev/sdb

/dev/sdb:
 max sectors&nbsp;&nbsp; = 1953525168/1953525168, HPA is disabled
</code></pre></p>
<p>We mounted his data partition read-only using ntfs-3g and since everything seemed fine we started to copy everything back to his external drive, just to be sure we had a backup of his data in case that Windows would decide to crash his partition after another reboot. However, Windows Vista did recognize the drive correctly again and so did Windows 7; he can access all data and nothing seems to be corrupted or missing.</p>
<p>It appears strange that Windows initially ignored the HPA and worked well until he rebooted. But having had extreme, sporadic problems myself using a Silicon Image SATA controller with Windows XP SP2 as well as Windows Vista (without SP, back in 2007) it did not really surprise me any more.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.energiequant.de/wordpress/articles/2009/10/23/disabling-hpa-on-samsung-hdds/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>segfaults and libjpeg.so.62 missing after update</title>
		<link>http://www.energiequant.de/wordpress/articles/2009/10/05/libjpeg-so-62-missing-after-update-and-more/</link>
		<comments>http://www.energiequant.de/wordpress/articles/2009/10/05/libjpeg-so-62-missing-after-update-and-more/#comments</comments>
		<pubDate>Sun, 04 Oct 2009 23:56:58 +0000</pubDate>
		<dc:creator>Energiequant</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.energiequant.de/wordpress/?p=175</guid>
		<description><![CDATA[I updated my Gentoo system last week (amd64) and ran into multiple problems.
Due to compile errors on many ebuilds I decided to run a revdep-rebuild. After about an hour it recognized that about 380 ebuilds were broken and had to be remerged. I began but could not finish that day so I left revdep-rebuild (which [...]]]></description>
			<content:encoded><![CDATA[<p>I updated my Gentoo system last week (amd64) and ran into multiple problems.</p>
<p>Due to compile errors on many ebuilds I decided to run a <code>revdep-rebuild</code>. After about an hour it recognized that about 380 ebuilds were broken and had to be remerged. I began but could not finish that day so I left <code>revdep-rebuild</code> (which happened to stop due to an error anyway) and shut my system down.</p>
<p>The next day I realized that about half my system was broken. CUPS crashed repeatedly, reporting a segfault with libc whenever I tried to print anything (visible in the kernel log). Remerging cups or glibc did not help, so I went to the Gentoo forums and found the advise to run<br />
<pre><pre>emerge -e system 
etc-update 
perl-cleaner all 
python-updater 
emerge -1 libtool 
revdep-rebuild</pre></pre></p>
<p>It took a long time involving the usual stop-and-go caused by build errors but finally it finished. CUPS worked again and so did most of the system. Unfortunately 64 bit binaries like <code>nxclient</code> still did not run because <code>libjpeg.so.62</code> did not exist any longer. Well, it did for 32 bit apps (so the 32 bit Firefox binary could still run) but not for 64 bit. (the 32 bit version is belongs to <code>app-emulation/emul-linux-x86-baselibs</code>) As usual, linking to the 32 bit library was without success (wrong ELF architecture) and linking to <code>libjpeg.so.7</code> didn&#8217;t work well (I was able to run NX but all JPEGs were missing).</p>
<p>I was lucky enough to find a rather unrelated bug report on the bugtracker that indicates there is a second ebuild for libjpeg called <code>media-libs/jpeg-compat</code> which actually contains the missing 64 bit version of <code>libjpeg.so.62</code>. Having emerged that everything works fine again now.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.energiequant.de/wordpress/articles/2009/10/05/libjpeg-so-62-missing-after-update-and-more/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Opera 10: finally I got Flash and Java back</title>
		<link>http://www.energiequant.de/wordpress/articles/2009/08/22/opera-10-finally-i-got-flash-and-java-back/</link>
		<comments>http://www.energiequant.de/wordpress/articles/2009/08/22/opera-10-finally-i-got-flash-and-java-back/#comments</comments>
		<pubDate>Sat, 22 Aug 2009 16:11:28 +0000</pubDate>
		<dc:creator>Energiequant</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.energiequant.de/wordpress/?p=150</guid>
		<description><![CDATA[I don&#8217;t know what they did, but Opera 10 Beta 3 (build 4537) finally got Flash working again on my Linux system. Back in 2007 Flash 9 started to use GTK solely and Opera 10 could no longer run the plugin: Opera would simply freeze and/or crash. Due to security updates I finally had to [...]]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t know what they did, but Opera 10 Beta 3 (build 4537) <b>finally</b> got Flash working again on my Linux system. Back in 2007 Flash 9 started to use GTK solely and Opera 10 could no longer run the plugin: Opera would simply freeze and/or crash. Due to security updates I finally had to upgrade the Flash player and had to start Firefox for every flash website (or Flash video) I wanted to view. With every update I checked if support returned but it still would not run. In 2008 I changed to 64 bit and while many people reported it started working again on their 32 bit systems I still only got crashes. In February I started using KDE 4 (and Qt 4) and while people started reporting Flash to work on 64 bit I &#8211; again &#8211; could not use it.</p>
<p>Maybe I was always upgrading/updating at the wrong time &#8211; there is one thing I can read from the filenames portage downloaded:</p>
<p><code>opera-10.00-b1.gcc4-shared-qt3.x86_64.tar.bz2</code><br />
<code>opera-10.00-b3.gcc4-qt4.x86_64.tar.bz2</code></p>
<p>It seems like older versions have only been built (or downloaded) with Qt3 libraries but with beta 3 there finally is a Qt4 version available. Maybe that&#8217;s the fix &#8211; finally, after 2 years, I can use Flash again in my primary browser! <img src='http://www.energiequant.de/wordpress/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>I checked some websites and while all Flash movies run and most run fine, videos still run jerky, highly depending on the players being used and the mode (fullscreen is worst). While these performance problems happen to be worse than in Firefox, it&#8217;s still mainly a problem of the Linux version of the Flash player (xkcd made a <a href='http://xkcd.com/619/' target='_blank'>cartoon</a> about it recently).</p>
<p>The next thing I could not use since I switched to 64 bit was the Java plugin. It was the same as with Flash, I got freezes and/or crashes and no useful error messages. I was quite surprised when I saw a useful backtrace on my terminal: For some reason, Opera 10 tried to use Blackdown JDK 1.4 which some ebuild must have had as a dependency. I unmerged it and now I got errors complaining about libjvm.so not being found. To point Opera to the correct path simply go into Tools/Preferences/Advanced/Content, enable Java and open the Java Options dialog. The path to be entered can be found by running <code>locate libjava.so</code> and should be something like <code>/opt/sun-jdk-1.6.0.15/jre/lib/amd64/</code> (excluding the filename; you will need to update this on version changes). </p>
<p>On Gentoo you may still get an error message telling you that libjvm.so cannot be found. You may need to symlink it from &#8230;/jre/lib/amd64/server/ to &#8230;/jre/lib/amd64/ and it should be working after a browser restart.</p>
<p>I don&#8217;t know since when there was a Java Options dialog, so maybe I could have been able to use Java for quite some time now. Anyway, it&#8217;s great to finally have both plugins working again.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.energiequant.de/wordpress/articles/2009/08/22/opera-10-finally-i-got-flash-and-java-back/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Amarok 2 with Gentoo on AMD64</title>
		<link>http://www.energiequant.de/wordpress/articles/2009/04/12/amarok-2-with-gentoo-on-amd64/</link>
		<comments>http://www.energiequant.de/wordpress/articles/2009/04/12/amarok-2-with-gentoo-on-amd64/#comments</comments>
		<pubDate>Sun, 12 Apr 2009 17:48:41 +0000</pubDate>
		<dc:creator>Energiequant</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.energiequant.de/wordpress/?p=144</guid>
		<description><![CDATA[Finally, that&#8217;s possible. I will explain what&#8217;s necessary in case it&#8217;s not yet in portage (just saw the patches are making it to overlays now   ) but not without a warning and explanation: Amarok 2 has been blocked by MySQL not compiling correctly for use as a shared library. The main bug report [...]]]></description>
			<content:encoded><![CDATA[<p>Finally, that&#8217;s possible. I will explain what&#8217;s necessary in case it&#8217;s not yet in portage (just saw the patches are making it to overlays now <img src='http://www.energiequant.de/wordpress/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  ) but not without a warning and explanation: Amarok 2 has been blocked by MySQL not compiling correctly for use as a shared library. The main bug report on Gentoo&#8217;s bugtracker is <a href="http://bugs.gentoo.org/show_bug.cgi?id=238487" target="_blank">here</a> for MySQL. Although it now seems to have made its way into mysql-extras overlay (?) it may still take a while to be verified for not causing any problems at all.</p>
<p><span style="color:red;font-weight:bold;">DO NOT TRY THE FOLLOWING STEPS ON A PRODUCTIVE SYSTEM!</span></p>
<p>Read all instructions carefully. I&#8217;m not responsible for any data loss or corruption you may experience by following this howto and using the patched MySQL or beta release of Amarok.</p>
<p>You may want to backup your databases before you go into patching. You have been warned (although everything seems to be fine on my system).</p>
<p><strong>Patching MySQL</strong><br />
When I got it working yesterday, I still patched the eclass file to add a USE-flag &#8220;pic&#8221; for triggering a GCC option. The current status from the bug comments is that it should be a false solution and not be necessary anymore. However, I still get a linker error &#8220;recompile with -fPIC&#8221; when compiling Amarok 2 afterwards. So you still need to patch the eclass file using the files stroken out on the bug report (<a href="http://bugs.gentoo.org/attachment.cgi?id=168288" target="_blank">mysql.eclass</a> and <a href="http://bugs.gentoo.org/attachment.cgi?id=170337" target="_blank">a patch to it</a>, apply the patch or grab the resulting file <a href="/files/blogged/mysql.eclass" target="_blank">here</a>). You may want to try if it works for you without the patched eclass, though. If you choose to apply the patched eclass, you need to put it in your overlay into /eclass directory (top-level like a category). On the next emerge you will be warned to add &#8220;metadata-transfer&#8221; to your FEATURES variable in /etc/make.conf and run emerge &#8211;regen after each sync (this will take a while; ~20 minutes on my 3GHz Core2Duo).</p>
<p>Now we need an ebuild, too. Download the <a href="http://bugs.gentoo.org/attachment.cgi?id=188057" target="_blank">patch file</a> to MySQL&#8217;s source code (better check if it&#8217;s still current) and store it in your local overlay&#8217;s dev-db/mysql/files. Copy the latest ebuild for MySQL from official portage to your overlay and rename it to match version numbers with the patch. Run ebuild mysql-<em>whateverversion</em>.ebuild digest, unmask and emerge it! (using &#8220;embedded&#8221; USE-flag)</p>
<p><strong>Amarok 2.1 Beta 1</strong><br />
If we go unstable, we do it right. So we are going to create an ebuild for Amarok 2.1 Beta 1, too. Again, <span style="color:red;font-weight:bold;">BE WARNED</span>: There are some possible corruption issues with ID3 tags (also reported for 2.0.1). You don&#8217;t want that to happen, so <span style="color:red;font-weight:bold;">be careful not to do any writing operations to your files in Amarok</span> until <a href="https://bugs.kde.org/show_bug.cgi?id=184888" target="_blank">that bug</a> gets fixed. (I got a couple more with reading tags but my files are still intact, so I&#8217;m fine; all bugs are already in the bug tracker)</p>
<p>Amarok 2.1 depends on taglib-extras, which is currently not in portage. So simply go to <a href="http://gpo.zugaina.org/media-libs/taglib-extras" target="_blank">http://gpo.zugaina.org/media-libs/taglib-extras</a> and grab 0.1.2&#8217;s ebuild, put it in overlay, digest, unmask and emerge.</p>
<p>For Amarok itself, Beta 1 seems to be version 2.0.90. Simply <a href="/files/blogged/amarok-2.0.90.ebuild" target="_blank">grab my ebuild</a>, which is a slightly modified version from official portage tree. I removed the iPod patch and the webkit string replacement, added 2 dependencies and had to fake the check for Qt script bindings. Of course, I needed to replace the download URI and add ~amd64 keyword:</p>
<pre class="brush: diff; ">

--- /usr/portage/media-sound/amarok/amarok-2.0.1.1.ebuild       2009-03-16 11:36:10.000000000 +0100
+++ amarok-2.0.90.ebuild        2009-04-12 17:53:18.000000000 +0200
@@ -14,10 +14,11 @@
HOMEPAGE=&quot;http://amarok.kde.org/&quot;
LICENSE=&quot;GPL-2&quot;
-KEYWORDS=&quot;~x86&quot;
+KEYWORDS=&quot;~x86 ~amd64&quot;
SLOT=&quot;2&quot;
IUSE=&quot;daap debug ifp ipod mp3tunes mp4 mtp njb +semantic-desktop&quot;
-SRC_URI=&quot;mirror://kde/stable/${PN}/${PV}/src/${P}.tar.bz2&quot;
+#SRC_URI=&quot;mirror://kde/stable/${PN}/${PV}/src/${P}.tar.bz2&quot;
+SRC_URI=&quot;ftp://ftp.kde.org/pub/kde/unstable/${PN}/${PV}/src/${P}.tar.bz2&quot;

DEPEND=&quot;&gt;=app-misc/strigi-0.5.7
|| (
@@ -25,6 +26,8 @@
&gt;=dev-db/mysql-community-5.0[embedded,-minimal]
)
&gt;=media-libs/taglib-1.5
+       &gt;=media-libs/taglib-extras-0.1
+       &gt;=x11-libs/qt-script-4.4.2
|| ( media-sound/phonon x11-libs/qt-phonon:4 )
&gt;=kde-base/kdelibs-${KDE_MINIMAL}[opengl?,semantic-desktop?]
&gt;=kde-base/plasma-workspace-${KDE_MINIMAL}
@@ -46,7 +49,8 @@
app-arch/unzip
daap? ( www-servers/mongrel )&quot;

-PATCHES=( &quot;${FILESDIR}/${PV}-ipod.patch&quot; )
+# PATCHES=( &quot;${FILESDIR}/${PV}-ipod.patch&quot; )
+PATCHES=( )

pkg_setup() {
if use amd64 ; then
@@ -77,9 +81,10 @@
fi

# Remove superfluous QT_WEBKIT
-       sed -e &#039;s/ -DQT_WEBKIT//g&#039; \
-               -i &quot;${S}&quot;/src/scriptengine/generator/generator/CMakeLists.txt \
-               || die &quot;Removing unnecessary -DQT_WEBKIT failed.&quot;
+#      sed -e &#039;s/ -DQT_WEBKIT//g&#039; \
+#              -i &quot;${S}&quot;/src/scriptengine/generator/generator/CMakeLists.txt \
+#              || die &quot;Removing unnecessary -DQT_WEBKIT failed.&quot;
+       sed -e &#039;s/CHECK_CXX_SOURCE_RUNS/set( BINDINGS_RUN_RESULT 1 )\n#/g&#039; -i &quot;${S}&quot;/cmake/modules/FindQtScriptQtBindings.cmake

mycmakeargs=&quot;${mycmakeargs}
$(cmake-utils_use_with ipod Ipod)
</pre>
<p>You may need to uninstall Amarok 1 before emerging 2 or you will get file collisions.</p>
<p><strong>Some problems</strong><br />
I have 2 soundcards and Amarok was playing everything on the wrong one on first start-up although I reordered my cards in the configuration dialog. I seem to have gotten rid of that problem by simply restarting Amarok after changing the order. GStreamer backend currently crashes, so you may prefer xine (which I do nevertheless).</p>
<p>I couldn&#8217;t get Ampache working yet, but I assume the fault is on Ampache&#8217;s side. We were able to track the problem down, likely being the hash being used on authorization which seems to be an issue between 32 bit servers and 64 bit clients (seems to be a different timestamp; I really don&#8217;t know why that&#8217;s still a problem, I guess it&#8217;s very bad programming or at least testing&#8230;).</p>
<p>Amarok doesn&#8217;t index all files correctly. Some files are not shown with metadata but only with their filenames instead. You may be able to work around it by rescanning your collection multiple times. There also seem to be some index issues on the collection when updating the collection while browsing through it. However, I still got some MP3s not showing up in my collection although they seem to be counted.</p>
<p>Oh, and you scrobble streams to Last.fm which I consider a bug since that&#8217;s not the intended behaviour (or at least has not been until now).</p>
<p>I will try to confirm these bugs and report them if they are not already listed in KDE&#8217;s bugtracker.</p>
<p>Some scripts currently don&#8217;t work. That&#8217;s because we faked around the script bindings dependency in order to be able to compile. You may get some <a href="http://bugs.gentoo.org/show_bug.cgi?id=262256" target="_blank">ebuild</a> to compile <a href="http://code.google.com/p/qtscriptgenerator/" target="_blank">qtscriptgenerator</a>, but it depends on Qt 4.5 which I haven&#8217;t yet installed (yes, I know I blogged about the recommendation to use it one post earlier, but I haven&#8217;t had time to recompile it yet &#8211; I should do that next). Do not report errors about scripts not running to Amarok devs; it&#8217;s entirely our own fault. However, if you need those scripts, you are free to get into compiling that dependency as well. <img src='http://www.energiequant.de/wordpress/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><a name="makeitprettier"></a><strong>Make it prettier</strong><br />
Amarok&#8217;s default theme doesn&#8217;t look appealing, at least not when using KDE&#8217;s Oxygen theme with default colors. You may have a look at alternative <a href="http://www.kde-look.org/?xcontentmode=55" target="_blank">Amarok themes</a> on kde-look.org. Most themes inherit their colors from your color theme, so don&#8217;t be surprised if it looks different than on the screenshots. I went for <a href="http://www.kde-look.org/content/show.php/Amarok+Highlights?content=98056" target="_blank">&#8220;Amarok Highlights&#8221;</a> for the time being.</p>
<p>Unfortunately, Amarok 2 is still lacking a theme manager, so you have to install the themes manually by copying them to ~/.kde4/share/apps/amarok/images/ (one at a time; stylesheet.css goes one level above). You should quit Amarok before changing themes and clean caches before restarting it:</p>
<p>rm ~/.kde4/cache-<em>YourHostname</em>/kpc/Amarok-pixmaps.index<br />
rm ~/.kde4/cache-<em>YourHostname</em>/kpc/Amarok-pixmaps.data</p>
]]></content:encoded>
			<wfw:commentRss>http://www.energiequant.de/wordpress/articles/2009/04/12/amarok-2-with-gentoo-on-amd64/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

