<?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>MIRA/DEV</title>
	<atom:link href="http://www.miraculum.ch/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.miraculum.ch</link>
	<description>miraculum is always an option.</description>
	<lastBuildDate>Wed, 02 Nov 2011 10:12:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Asus EeePC 1000HE &#8211; 3.5 Years of Service</title>
		<link>http://www.miraculum.ch/2011/11/02/asus-eeepc-1000he-3-5-years-of-service/</link>
		<comments>http://www.miraculum.ch/2011/11/02/asus-eeepc-1000he-3-5-years-of-service/#comments</comments>
		<pubDate>Wed, 02 Nov 2011 10:12:52 +0000</pubDate>
		<dc:creator>schmijos</dc:creator>
				<category><![CDATA[Super User]]></category>
		<category><![CDATA[1000HE]]></category>
		<category><![CDATA[asus]]></category>
		<category><![CDATA[eeepc]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[netbook]]></category>

		<guid isPermaLink="false">http://www.miraculum.ch/?p=234</guid>
		<description><![CDATA[In spring 2008 I bought my cute little netbook. I paid about 600 Swiss Francs for it. It was delivered with MS Windows XP on a 120GB harddisk and 1GB RAM. From then on I carried 1.5kg instead of the 3.5kg of my HP Laptop. I use it for all my work except visual design. [...]]]></description>
			<content:encoded><![CDATA[<p>In spring 2008 I bought my cute little netbook. I paid about 600 Swiss Francs for it. It was delivered with MS Windows XP on a 120GB harddisk and 1GB RAM. From then on I carried 1.5kg instead of the 3.5kg of my HP Laptop. I use it for all my work except visual design. Even Eclipse is running stable and fast on it. After 2.5 years of service, the harddisk began to clicker. I exchanged it with a 600GB one. But that one was too slow, and I exchanged it with an 60GB SSD. In the same occasion I upgraded my RAM to 2GB.</p>
<p>After all I can say that the Asus netbook was my best investment ever! It fell to the ground x times. People walked over it. Sharp things scratched its surface, but it&#8217;s still running perfectly with a battery lifetime of approximately 5 hours.</p>
<p>A big compliment to Asus for the Asus EeePC 1000HE!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.miraculum.ch/2011/11/02/asus-eeepc-1000he-3-5-years-of-service/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Grub2 can&#8217;t load stage2</title>
		<link>http://www.miraculum.ch/2011/11/02/grub2-cant-load-stage2/</link>
		<comments>http://www.miraculum.ch/2011/11/02/grub2-cant-load-stage2/#comments</comments>
		<pubDate>Wed, 02 Nov 2011 09:40:46 +0000</pubDate>
		<dc:creator>schmijos</dc:creator>
				<category><![CDATA[Server Administration]]></category>
		<category><![CDATA[ahci]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[sata]]></category>
		<category><![CDATA[server]]></category>

		<guid isPermaLink="false">http://www.miraculum.ch/?p=232</guid>
		<description><![CDATA[A week ago, my file server didn&#8217;t start anymore. After attaching screen and keyboard, the following message appread: error: file not found. grub rescue> After trying to reinstall grub by booting from a live cd, the problem still existed. It wouldn&#8217;t boot. Since everybody fixes his grub by reinstalling and reconfiguring it, I missed an [...]]]></description>
			<content:encoded><![CDATA[<p>A week ago, my file server didn&#8217;t start anymore. After attaching screen and keyboard, the following message appread:</p>
<p><code>error: file not found.<br />
grub rescue></code></p>
<p>After trying to reinstall grub by booting from a live cd, the problem still existed. It wouldn&#8217;t boot.<br />
Since everybody fixes his grub by reinstalling and reconfiguring it, I missed an obvious point in a normal analysis scheme: back to the roots.</p>
<p>The problem was, that somehow Debian switched the SATA mode in BIOS to AHCI after an update. For that reason grub2 could load stage1 from MBR, but not stage2 from the harddisk. Setting it back to SATA made it work like a charm.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.miraculum.ch/2011/11/02/grub2-cant-load-stage2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Company of Heroes &#8211; NAT Negotiation Error</title>
		<link>http://www.miraculum.ch/2011/10/08/company-of-heroes-nat-negotiation-error/</link>
		<comments>http://www.miraculum.ch/2011/10/08/company-of-heroes-nat-negotiation-error/#comments</comments>
		<pubDate>Sat, 08 Oct 2011 19:50:42 +0000</pubDate>
		<dc:creator>schmijos</dc:creator>
				<category><![CDATA[Gaming]]></category>
		<category><![CDATA[gaming]]></category>
		<category><![CDATA[nat]]></category>
		<category><![CDATA[routing]]></category>

		<guid isPermaLink="false">http://www.miraculum.ch/?p=228</guid>
		<description><![CDATA[Company of Heroes is a brilliant game &#8211; very strategic, realistic and affectionately developed. But since the version 2 (Opposing Fronts) came out, there were many complains about one error message appearing if you wanted to connect to a multiplayer game. "NAT Negotiation Error" or in german: "NAT Verhandlung gescheitert" I don&#8217;t know what exactly [...]]]></description>
			<content:encoded><![CDATA[<p>Company of Heroes is a brilliant game &#8211; very strategic, realistic and affectionately developed. But since the version 2 (Opposing Fronts) came out, there were many complains about one error message appearing if you wanted to connect to a multiplayer game.</p>
<p><code>"NAT Negotiation Error"</code><br />
or in german:<br />
<code>"NAT Verhandlung gescheitert"</code></p>
<p>I don&#8217;t know what exactly went wrong, but I had this problem too. My colleagues didn&#8217;t (they had newer routers).<br />
I lived with the fact that I wasn&#8217;t able to play the game for years. But shortly I found the problem: Heureka! It is the Relic Downloader, running in the background and checking for updates. I minimized the game, <strong>killed the Relic Downloader Task</strong> and could play Company of Heroes <img src='http://www.miraculum.ch/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>There&#8217;s just one downside: My friends aren&#8217;t on CoH anymore <img src='http://www.miraculum.ch/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' />  </p>
<p>Consequence: Relic seems to be incapable of developing runnable games, since so many complaining voices disappeared unheard. They could have fixed the bug if they wanted. I am sure about that!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.miraculum.ch/2011/10/08/company-of-heroes-nat-negotiation-error/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Xampp Apache Doesn&#8217;t Start</title>
		<link>http://www.miraculum.ch/2011/10/08/xampp-apache-doesnt-start/</link>
		<comments>http://www.miraculum.ch/2011/10/08/xampp-apache-doesnt-start/#comments</comments>
		<pubDate>Sat, 08 Oct 2011 19:34:06 +0000</pubDate>
		<dc:creator>schmijos</dc:creator>
				<category><![CDATA[Server Administration]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[ports]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[xampp]]></category>

		<guid isPermaLink="false">http://www.miraculum.ch/?p=211</guid>
		<description><![CDATA[On a xampp installation on windows, you can start the apache web server per control panel. If it stops after a short period indicating the status &#8220;starting&#8230;&#8221; you may have the same problem I had: Port 80 is occupied by another service. In my case it was Skype which per default binds to port 80. [...]]]></description>
			<content:encoded><![CDATA[<p>On a xampp installation on windows, you can start the apache web server per control panel. If it stops after a short period indicating the status &#8220;starting&#8230;&#8221; you may have the same problem I had:</p>
<p>Port 80 is occupied by another service.</p>
<p>In my case it was Skype which per default binds to port 80. To work around that problem, you&#8217;ll have to start apache before Skype. Skype then will bind to port 443 which is enough out of the way for most appliances.</p>
<p>If you&#8217;re not running Skype, port 80 might be occupied by IIS or another webserver.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.miraculum.ch/2011/10/08/xampp-apache-doesnt-start/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP Constructor Curiosity</title>
		<link>http://www.miraculum.ch/2011/09/20/php-constructor-curiosit/</link>
		<comments>http://www.miraculum.ch/2011/09/20/php-constructor-curiosit/#comments</comments>
		<pubDate>Tue, 20 Sep 2011 09:49:13 +0000</pubDate>
		<dc:creator>schmijos</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[ctor]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.miraculum.ch/?p=204</guid>
		<description><![CDATA[With the development of my own MVC framework I stumbled over a weird PHP problem which only really matters for just-PHP-programmers. Since in PHP 5.3.0 a constructor can be declared as a method named after the class. Inside namespaces this &#8220;feature&#8221; was removed with PHP version 5.3.3. Outside of namespaces it still exists. Personally I [...]]]></description>
			<content:encoded><![CDATA[<p>With the development of my own <a href="http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller" title="MVC">MVC</a> framework I stumbled over a weird PHP problem which only really matters for just-PHP-programmers. Since in PHP 5.3.0 a constructor can be declared as a method named after the class.
<pre class="brush: php; title: ; notranslate">
&lt;?php
class Index {
  public function __construct() { echo &quot;before 5.3.0&quot;; }
  public function index() { echo &quot;5.3.0 or later&quot;; }
  // case of function name doesn't matter!
}

$blub = new Index();
</pre>
<p>Inside namespaces this &#8220;feature&#8221; was removed with PHP version 5.3.3. Outside of namespaces it still exists.</p>
<p>Personally I am not happy about this change, since it is not consistent with PHP destructor functions.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.miraculum.ch/2011/09/20/php-constructor-curiosit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cant Mount Samba Share More Than Once</title>
		<link>http://www.miraculum.ch/2011/08/06/cant-mount-samba-share-more-than-onc/</link>
		<comments>http://www.miraculum.ch/2011/08/06/cant-mount-samba-share-more-than-onc/#comments</comments>
		<pubDate>Sat, 06 Aug 2011 11:11:14 +0000</pubDate>
		<dc:creator>schmijos</dc:creator>
				<category><![CDATA[Server Administration]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[samba]]></category>
		<category><![CDATA[server]]></category>

		<guid isPermaLink="false">http://www.miraculum.ch/?p=197</guid>
		<description><![CDATA[On my samba server I had the problem, that just one user at the time could access the share. I had security=user activated. The log file under /var/log/samba/log.smbd said at the last line: smbd_open_once_socket: open_socket_in: Address already in use (Die Adresse wird bereits verwendet) I googled it and stumbled over a very different topic describing [...]]]></description>
			<content:encoded><![CDATA[<p>On my samba server I had the problem, that just one user at the time could access the share. I had <code>security=user</code> activated. The log file under <code>/var/log/samba/log.smbd</code> said at the last line:</p>
<p><code>smbd_open_once_socket: open_socket_in: Address already in use</code><br />
(Die Adresse wird bereits verwendet)</p>
<p>I googled it and stumbled over a very different topic describing other problems. There it was mentioned as a solution to add a user per smbpasswd. Then I realized, that I didn&#8217;t have my system user in that database.</p>
<p>The problem is, if the samba config requires a user to exists on the linux server, samba can log in the user only once. I think that&#8217;s because the samba runs on that user. The samba user database must have sort of a mapper interface, which maps multiple samba users to just one system user.</p>
<p>The console command <code>smbpasswd -a username</code> resolved my issue and now I can connect from multiple computers to the share.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.miraculum.ch/2011/08/06/cant-mount-samba-share-more-than-onc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mounting Failure Because of 32bit Limit</title>
		<link>http://www.miraculum.ch/2011/07/30/mounting-failure-because-of-32bit-limit/</link>
		<comments>http://www.miraculum.ch/2011/07/30/mounting-failure-because-of-32bit-limit/#comments</comments>
		<pubDate>Sat, 30 Jul 2011 09:55:13 +0000</pubDate>
		<dc:creator>schmijos</dc:creator>
				<category><![CDATA[Server Administration]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[harddisk]]></category>
		<category><![CDATA[server]]></category>

		<guid isPermaLink="false">http://www.miraculum.ch/?p=188</guid>
		<description><![CDATA[Recently I set up a Debian Squeeze on a 20TB RAID5 fileserver. When I tried to set up the xfs file system with partman, the following message appeared: Der Versuch, ein Dateisystem vom Typ xfs auf /dev/sda als /srv einzubinden, ist fehlgeschlagen. or in english: The attempt to mount a file system with type xfs [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I set up a Debian Squeeze on a 20TB RAID5 fileserver. When I tried to set up the xfs file system with partman, the following message appeared:</p>
<p><code>Der Versuch, ein Dateisystem vom Typ xfs auf /dev/sda als /srv einzubinden, ist fehlgeschlagen.</code></p>
<p>or in english:</p>
<p><code>The attempt to mount a file system with type xfs in /dev/sda at /srv failed.</code></p>
<p>I didn&#8217;t find the solution to this on google, I didn&#8217;t even find a similar problem. I could format the filesystem, but not mount it.<br />
Later I thought about the underlaying hardware architecture, a 32bit dualcore server board. After having a look at the output of the <code>df</code>-command, it was clear. The volume had a sector count of <code>2147483647+</code> and was of type <code>ee</code>. What now? A complex decision: Split up the RAID, buy a 64bit board or use a file system like btrfs. I tried btrfs, but it&#8217;s performance was pretty bad because of my 2GB RAM. And because I&#8217;d like to run this server now, I abandoned to buy a new board and splitted up the RAID.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.miraculum.ch/2011/07/30/mounting-failure-because-of-32bit-limit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unity sucks on Asus Eee PC 1000HE</title>
		<link>http://www.miraculum.ch/2011/07/28/unity-sucks-on-asus-eee-pc-1000he/</link>
		<comments>http://www.miraculum.ch/2011/07/28/unity-sucks-on-asus-eee-pc-1000he/#comments</comments>
		<pubDate>Thu, 28 Jul 2011 11:32:41 +0000</pubDate>
		<dc:creator>schmijos</dc:creator>
				<category><![CDATA[Super User]]></category>
		<category><![CDATA[1000HE]]></category>
		<category><![CDATA[eeepc]]></category>
		<category><![CDATA[netbook]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[unity]]></category>

		<guid isPermaLink="false">http://www.miraculum.ch/?p=177</guid>
		<description><![CDATA[I always used Ubuntu with Gnome 2 on my Asus EeePC 1000HE netbook. Today this seems a bit antiquated. Since Unity has nicer windows and the Apple style window frames which are integrated into the task bar. I thought to give it a try with the update from Ubuntu 10.04 (Lucid Lynx) to Ubuntu 11.04 [...]]]></description>
			<content:encoded><![CDATA[<p>I always used Ubuntu with Gnome 2 on my Asus EeePC 1000HE netbook. Today this seems a bit antiquated. Since Unity has nicer windows and the Apple style window frames which are integrated into the task bar. I thought to give it a try with the update from Ubuntu 10.04 (Lucid Lynx) to Ubuntu 11.04 (Natty Narwhal).</p>
<p>I installed the Ubuntu Desktop Edition on my netbook &#8211; the Netbook Edition is now obsolete, because it is merged into the standard version. Looking at the result, I was disappointed by the long initialization time and the laggy handling of Unity. After very frustrating hours looking for a solution and even thinking about changing the linux distribution, I found an Ubuntu developers blog entry about a new package called &#8220;unity-2d&#8221;. The comments on the blog post promised epic performance and good user experience on slow systems.</p>
<p>I wanted to try it and therefore typed into my console:</p>
<p><code>sudo apt-get install unity-2d</code></p>
<p>It said, that the package was not found. Later I realized, that my package list was just virginal after the fresh installation. The following did it:</p>
<p><code>sudo apt-get update<br />
sudo apt-get upgrade<br />
sudo apt-get install unity-2d</code></p>
<p>Now I&#8217;m fueled with fresh 2D power and the system feels really fast <img src='http://www.miraculum.ch/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<div id="attachment_182" class="wp-caption alignnone" style="width: 310px"><a href="http://www.miraculum.ch/wp-content/uploads/unity-2d.png"><img src="http://www.miraculum.ch/wp-content/uploads/unity-2d-300x175.png" alt="Console on Unity 2D" title="unity-2d" width="300" height="175" class="size-medium wp-image-182" /></a><p class="wp-caption-text">Unity 2D with hover on side- and taskbar</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.miraculum.ch/2011/07/28/unity-sucks-on-asus-eee-pc-1000he/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>RAID0 Performance Test</title>
		<link>http://www.miraculum.ch/2011/07/27/raid0-performance-test/</link>
		<comments>http://www.miraculum.ch/2011/07/27/raid0-performance-test/#comments</comments>
		<pubDate>Wed, 27 Jul 2011 14:45:48 +0000</pubDate>
		<dc:creator>schmijos</dc:creator>
				<category><![CDATA[Server Administration]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[harddisk]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[raid]]></category>

		<guid isPermaLink="false">http://www.miraculum.ch/?p=154</guid>
		<description><![CDATA[Recently I had to compose a file server for high load LAN read access. My first thought was to implement a RAID 0 over 4 harddisks. I took a dual core 2.5GHz CPU and 2GB of RAM. I attached four 500GB SATA drives to the mainboard and then I installed Debian 6 Squeeze on a [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I had to compose a file server for high load LAN read access. My first thought was to implement a RAID 0 over 4 harddisks. I took a dual core 2.5GHz CPU and 2GB of RAM. I attached four 500GB SATA drives to the mainboard and then I installed Debian 6 Squeeze on a small part of the first hd. The rest of it and the other drives were dedicated to the RAID 0.</p>
<p>After the installation and the configuration of the system, I measured the read/write performance of the RAID. I did it with the time dd combination:</p>
<p><code>time dd if=/dev/zero of=file bs=1k count=20000000</code><br />
and<br />
<code>time dd if=file of=/dev/null</code></p>
<div id="attachment_157" class="wp-caption alignnone" style="width: 540px"><a href="http://www.miraculum.ch/wp-content/uploads/raid0diagram1.png"><img src="http://www.miraculum.ch/wp-content/uploads/raid0diagram1.png" alt="" title="raid0diagram" width="530" height="312" class="size-full wp-image-157" /></a><p class="wp-caption-text">RAID 0 - Performance Test 1</p></div>
<p>As you see, write actions perform better than read actions. Why is that and how can we invert this effect? I think it&#8217;s because the RAID software hasn&#8217;t to check where to write data, but it must search for it on read access.</p>
<p>A complete test with <a href="http://en.wikipedia.org/wiki/Bonnie%2B%2B" title="Wikipedia Page of Bonnie++">Bonnie++</a> delivers slightly different results: </p>
<li>
<ul>Sequential Write: 290Mb/s</ul>
<ul>Sequential Read: 308Mb/s</ul>
<ul>Random Seeks: 651/s (That&#8217;s twice the seek rate of my two RAID5 servers.)</ul>
</li>
<p>Does anybody know why the test results of Bonnie++ and dd are so different?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.miraculum.ch/2011/07/27/raid0-performance-test/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java &#8211; Integer Lookup Table</title>
		<link>http://www.miraculum.ch/2011/05/23/java-integer-lookup-table/</link>
		<comments>http://www.miraculum.ch/2011/05/23/java-integer-lookup-table/#comments</comments>
		<pubDate>Mon, 23 May 2011 08:40:37 +0000</pubDate>
		<dc:creator>schmijos</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.miraculum.ch/?p=95</guid>
		<description><![CDATA[Have you already once asked yourself, what&#8217;s the difference between equals(..) and the == operator? It&#8217;s simple to explain it, but side-effects of this purpose can be enormous. The Explanation: x.equals(y) checks, if the values of instance x are equal to the values of instance y. You can override equals() and define by yourself, which [...]]]></description>
			<content:encoded><![CDATA[<p>Have you already once asked yourself, what&#8217;s the difference between <em>equals(..)</em> and the <em>==</em> operator? It&#8217;s simple to explain it, but side-effects of this purpose can be enormous.</p>
<p><strong>The Explanation:</strong><br />
<em>x.equals(y)</em> checks, if the values of instance <em>x</em> are equal to the values of instance <em>y</em>. You can override <em>equals()</em> and define by yourself, which properties should be compared.<br />
The <em>==</em> operator checks if two instances are the same. That means, they are stored at the same address in memory.</p>
<p><strong>My Side-Effect Experience:</strong><br />
I tried to compare two <em>int</em> variables with <em>==</em>. That worked well for small numbers, but wasn&#8217;t correct for large ones. I tried to debug it and found out, that the magical barrier lied at 127 for which the <em>==</em> comparison worked. I asked my prof and he said that Java had an internal lookup table for integers to speed up operations. That means, the Java Virtual Machine instantiates every instance of the integers between 0 and 127 at startup. Later Java just uses pointers to reference to these numbers. Values greater than 127 are really instantiated and therefore the <em>==</em> comparison doesn&#8217;t work as expected on them.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.miraculum.ch/2011/05/23/java-integer-lookup-table/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

