<?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>nerdicism &#187; Science &amp; Technology</title>
	<atom:link href="http://nerdicism.com/topics/science-technology/feed/" rel="self" type="application/rss+xml" />
	<link>http://nerdicism.com</link>
	<description>Bitte denken Sie an die Umwelt bevor Sie diese Seite ausdrucken.</description>
	<lastBuildDate>Thu, 09 Jun 2011 05:43:35 +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>Shell hint: Measure bandwidth with netcat (nc) and pipe view (pv)</title>
		<link>http://nerdicism.com/2010/10/shell-hint-messure-bandwidth-with-netcat-nc-and-pipe-view-pv/</link>
		<comments>http://nerdicism.com/2010/10/shell-hint-messure-bandwidth-with-netcat-nc-and-pipe-view-pv/#comments</comments>
		<pubDate>Thu, 14 Oct 2010 13:26:29 +0000</pubDate>
		<dc:creator>ninan</dc:creator>
				<category><![CDATA[Science & Technology]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://nerdicism.com/?p=1511</guid>
		<description><![CDATA[When my SCP throughput took a nose dive today, I tried to figure out a way to measure the raw bandwidth. Since I am a very lazy person I didn´t want to convert numbers all the time. netcat is the natural choice to send/receive raw data to a network. But netcat outputs just a byte [...]]]></description>
			<content:encoded><![CDATA[<p>When my SCP throughput took a nose dive today, I tried to figure out a way to measure the raw bandwidth. Since I am a very lazy person I didn´t want to convert numbers all the time.</p>
<p><span id="more-1511"></span></p>
<p>netcat is the natural choice to send/receive raw data to a network. But netcat outputs just a byte count at EOD. Pipe View came to help. This handy tool can be put into any shell pipe and visualizes the amount of data going through the pipe. Practice:</p>
<p>On the &#8220;server&#8221; type into your shell (Please note that 1337 is the port number. You can use another port. If you do so, do it on both sides. :) ):</p>
<pre>$ nc -l 1337 | pv
</pre>
<p>On the &#8220;client&#8221; run:</p>
<pre>$ cat /dev/zero | nc ip.of.ser.ver 1337
</pre>
<p>This will give you the following output on the server:</p>
<pre>5,27GB 0:03:22 [  24MB/s] [&lt;=&gt;
</pre>
<p>If you found this hint useful please leave me a comment.</p>
<p>Further information:</p>
<ul>
<li>Netcat: <a href="http://netcat.sourceforge.net/">http://netcat.sourceforge.net/</a></li>
<li>Pipe View: <a href="http://www.ivarch.com/programs/pv.shtml">http://www.ivarch.com/programs/pv.shtml</a></li>
</ul>
<div class="shr-publisher-1511"></div>]]></content:encoded>
			<wfw:commentRss>http://nerdicism.com/2010/10/shell-hint-messure-bandwidth-with-netcat-nc-and-pipe-view-pv/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A way to attack TrueCrypt on Linux</title>
		<link>http://nerdicism.com/2010/07/a-way-to-attack-truecrypt-on-linux/</link>
		<comments>http://nerdicism.com/2010/07/a-way-to-attack-truecrypt-on-linux/#comments</comments>
		<pubDate>Sun, 04 Jul 2010 14:41:01 +0000</pubDate>
		<dc:creator>ninan</dc:creator>
				<category><![CDATA[Science & Technology]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[TrueCrypt]]></category>

		<guid isPermaLink="false">http://nerdicism.com/?p=1518</guid>
		<description><![CDATA[TrueCrypt is a very good tool when one wants to encrypt its entire hard disk. This article describes a minor flaw in the design of TrueCrypt (and probably any other disk encryption tool) that leads to a backdoor on the attacked system. This attack vector is not validated by me yet. I did not try [...]]]></description>
			<content:encoded><![CDATA[<p>TrueCrypt is a very good tool when one wants to encrypt its entire hard disk. This article describes a minor flaw in the design of TrueCrypt (and probably any other disk encryption tool) that leads to a backdoor on the attacked system.</p>
<p><span id="more-1518"></span>
<p>This attack vector is not validated by me yet. I did not try it out but I am sure it would work. If not, please let me know in the comments.</p>
<p>The entry point to an encrypted system is the unencrypted /boot partition. Parts of the boot loader, the kernel image and often an initial ram disk image (initrd) are stored there. </p>
<p>To install a backdoor in the to be attacked system, initrd is the key. While one also could use the kernel itself, using initrd is much simpler. The initrd image contains a couple of scripts that are ran when the kernel boots up and AFTER the disk was decrypted.</p>
<p>Before the attacker can start, she needs physical access to the system or storage. That can either be done by removing e.g. the hard disk from the system and mount it with other hardware or, if possible, to boot the system with some live system.</p>
<p>Now the attacker must mount the partition and copy over initrd file. In Fedora Linux the image is an gzipped cpio archive. This might be different in other distributions.</p>
<p>The final steps are to modify some boot script to add an password to the LUKS system. Now if the attacked user boots up the system he will add an password known to the attacker to the system. Next time the hacker gets access to the computer, she can steal some data. The modified initrd must be put back in place of course.</p>
<p>There are pratically no ways to protect yourself from this since as long one has access to the /boot partition, she controls almost everything in the system. TPM based signatures of the kernel and initrd could be helpful, but I don&#8217;t know much about that stuff.</p>
<p>As stated before I did not try it out yet. I know one thing or two about Linux and so I am pretty sure this would work. Feel free and try it out. Please tell me about your results in the comments.</p>
<div class="shr-publisher-1518"></div>]]></content:encoded>
			<wfw:commentRss>http://nerdicism.com/2010/07/a-way-to-attack-truecrypt-on-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tomcat stops working after SSH disconnect</title>
		<link>http://nerdicism.com/2010/02/tomcat-stops-working-after-ssh-disconnect/</link>
		<comments>http://nerdicism.com/2010/02/tomcat-stops-working-after-ssh-disconnect/#comments</comments>
		<pubDate>Thu, 18 Feb 2010 13:00:45 +0000</pubDate>
		<dc:creator>ninan</dc:creator>
				<category><![CDATA[Science & Technology]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[awt]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[tomcat]]></category>
		<category><![CDATA[x11]]></category>
		<category><![CDATA[xorg]]></category>

		<guid isPermaLink="false">http://nerdicism.com/?p=1443</guid>
		<description><![CDATA[An Apache Tomcat server, I administrate, used to go away every now and then some time ago. To investigate the issue, I connected to the server via SSH, restarted it and monitored the log for a while. Tomcat ran well during this time. I disconnected and went home. Then the phone ringed, server had gone [...]]]></description>
			<content:encoded><![CDATA[<p>An Apache Tomcat server, I administrate, used to go away every now and then some time ago. To investigate the issue, I connected to the server via SSH, restarted it and monitored the log for a while. Tomcat ran well during this time. I disconnected and went home. Then the phone ringed, server had gone away.</p>
<p><span id="more-1443"></span>Mind like water, I thought. I went into myself and thought what could have happened. There came up some facts:</p>
<ul>
<li>Some web app generates charts using jfreechart</li>
<li>jfreechart uses AWT to generate the graphics</li>
<li>Java AWT is native code that uses the unterlying graphics subsystem, on Linux the nearest X server</li>
<li>I was connected using ssh with ForwardX11 on</li>
</ul>
<p>Like Jerlock Holmes I combined the facts and came up with a solution:</p>
<pre>unset DISPLAY</pre>
<p>I put this statement into the Tomcat start script (before the start of Java of course). This will break the chain between my local X-Server and Java.</p>
<p>The server is still running well.</p>
<div class="shr-publisher-1443"></div>]]></content:encoded>
			<wfw:commentRss>http://nerdicism.com/2010/02/tomcat-stops-working-after-ssh-disconnect/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Create sane JDK installation using Sun´s RPMS and alternatives</title>
		<link>http://nerdicism.com/2010/02/fedora-sun-jdk-alternatives/</link>
		<comments>http://nerdicism.com/2010/02/fedora-sun-jdk-alternatives/#comments</comments>
		<pubDate>Wed, 17 Feb 2010 13:00:59 +0000</pubDate>
		<dc:creator>ninan</dc:creator>
				<category><![CDATA[Science & Technology]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jdk]]></category>
		<category><![CDATA[jpackage]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[openjdk]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[rpm]]></category>
		<category><![CDATA[sun]]></category>

		<guid isPermaLink="false">http://nerdicism.com/?p=1429</guid>
		<description><![CDATA[Before there was OpenJDK, Linux distributions often lacked Java support at all or provided gcj as a very unpleasant alternative. A project that aimed at this issue was jpackage, who provided Source-RPMS to put Sun´s java downloads into sane RPMs. Unfortunately they do not seem to provide support for current versions of Sun´s java, now [...]]]></description>
			<content:encoded><![CDATA[<p>Before there was OpenJDK, Linux distributions often lacked Java support at all or provided gcj as a very unpleasant alternative. A project that aimed at this issue was jpackage, who provided Source-RPMS to put Sun´s java downloads into sane RPMs. Unfortunately they do not seem to provide support for current versions of Sun´s java, now that most distributions come with OpenJDK.</p>
<p><span id="more-1429"></span>Don´t get me wrong. I highly recommend to use OpenJDK if you don´t feel to need otherwise. But being a Java developer myself I find some things really annoying, so I still stick to Sun´s version of the great Java:</p>
<ul>
<li>Speed &#8211; For example Netbeans runs way faster on Sun´s Java than on OpenJDK. Being my workplace for most of the time, that really matters</li>
<li>Font rendering &#8211; In Gnome and Fedora Netbeans looks not that well on OpenJDK, because anti-aliasing seems not to work too well. On Sun´s JDK in contrast&#8230;</li>
<li>Memory management seems to be a bit better on Sun´s JDK at the moment</li>
<li>Nimbus Look and Feel &#8211; I just like it</li>
</ul>
<p>Sun (Oracle by now) offers two flavors of the JDK to download &#8211; one using RPM under the cover and one using cpio. Both come inside a big shell script aka self extracting archive that forces you to agree the licence before allowed to install.</p>
<p>Although there is a RPM version, it isn´t integrated into the operating system very tightly. On Fedora and derived distributions (I will only mention Fedora from here) there is that great &#8220;alternatives&#8221; system (actually it came from Debian, as far as I recall). This is a text file database, some scripts and a lot of symlinks. It lets several pieces of software share common names for programs and gives the user the choice which one to use.</p>
<p>On Fedora OpenJDK and GCJ share a lot of files, e.g. /usr/bin/java, /usr/bin/javac, etc. The Sun RPMs extract the files to some non-standard place, /usr/java/*. To make Sun´s JDK the system default, one has to change a lot of files and links, or use the alternatives system.</p>
<p>Since there are still plenty of files to provide alternatives for, I wrote a little script that will do the work. I tested it with Sun´s JDK 1.6.0_18 (RPM) on Fedora Core 12, but it should work with all versions from the Java 1.6.0 stem on Fedora and derived distributions.</p>
<p>One word of warning: The script is provided AS IS. I do not take any responsibility for whatever happens to you, your computer, etc. due using this script You use the script on YOUR OWN RISK.</p>
<p>The script is released to the public domain. Do what you want but don´t blame me. :-) If you like, please leave a comment if you liked it or have issues/patches.</p>
<p>So where is this §$%&amp; script you are talking about? <a href="http://nerdicism.com/wp-content/uploads/2010/02/setjava.txt">Click here to download the script</a>.</p>
<div class="shr-publisher-1429"></div>]]></content:encoded>
			<wfw:commentRss>http://nerdicism.com/2010/02/fedora-sun-jdk-alternatives/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SSL woes and OS gem portecle</title>
		<link>http://nerdicism.com/2010/02/ssl-woes-and-os-gem-portecle/</link>
		<comments>http://nerdicism.com/2010/02/ssl-woes-and-os-gem-portecle/#comments</comments>
		<pubDate>Tue, 16 Feb 2010 13:00:00 +0000</pubDate>
		<dc:creator>ninan</dc:creator>
				<category><![CDATA[Science & Technology]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jsse]]></category>
		<category><![CDATA[portecle]]></category>
		<category><![CDATA[ssl]]></category>

		<guid isPermaLink="false">http://nerdicism.com/?p=1419</guid>
		<description><![CDATA[<a href="http://nerdicism.com/2010/02/ssl-woes-and-os-gem-portecle/"><img align="left" hspace="5" width="150" src="http://nerdicism.com/wp-content/uploads/2010/02/portecle-150x150.png" class="alignleft wp-post-image tfe" alt="portacle screenshot" title="portecle screenshot" /></a>Recently I had to debug some SSL certificate issues. Task was to use a chained certificate file in Java. I imported the files using keytool with the usual steps. Unfortunately it didn´t work. Stay calm, I finally figured it out. While fiddling around I found two very nice things in the internet that I want [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I had to debug some SSL certificate issues. Task was to use a chained certificate file in Java. I imported the files using keytool with the usual steps. Unfortunately it didn´t work.</p>
<p><span id="more-1419"></span>Stay calm, I finally figured it out. While fiddling around I found two very nice things in the internet that I want to share with you.</p>
<p>First, I learned how to debug the SSL problems on <a title="JSSE documentation" href="http://java.sun.com/j2se/1.5.0/docs/guide/security/jsse/ReadDebug.html" target="_blank">Sun´s JSSE documentation</a>. You will find a very comprehensible example of a Java SSL debug session.</p>
<div id="attachment_1420" class="wp-caption alignleft" style="width: 160px"><a href="http://nerdicism.com/wp-content/uploads/2010/02/portecle.png" rel="lightbox[1419]"><img class="size-thumbnail wp-image-1420" title="portecle screenshot" src="http://nerdicism.com/wp-content/uploads/2010/02/portecle-150x150.png" alt="portacle screenshot" width="150" height="150" /></a><p class="wp-caption-text">portecle screenshot, stolen from http://portecle.sourceforge.net</p></div>
<p>But the real gem I found was <a title="Portecle homepage on sourceforge" href="http://portecle.sourceforge.net/" target="_blank">Portecle</a>, a small, overlooked utterly useful tool I wouldn´t ever remove from my tool chain. Portecle is a Swing-based frontend to JSSE keystores (it is a replacement for keytool). It actually works (In contrast to many other outdated or useless tools that fill the same gap) and beside many other things, it enables you to import chained certificate files. Check it out.</p>
<div class="shr-publisher-1419"></div>]]></content:encoded>
			<wfw:commentRss>http://nerdicism.com/2010/02/ssl-woes-and-os-gem-portecle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Converting MyISAM to InnoDB</title>
		<link>http://nerdicism.com/2010/02/converting-myisam-to-innodb/</link>
		<comments>http://nerdicism.com/2010/02/converting-myisam-to-innodb/#comments</comments>
		<pubDate>Mon, 15 Feb 2010 13:00:09 +0000</pubDate>
		<dc:creator>ninan</dc:creator>
				<category><![CDATA[Science & Technology]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[innodb]]></category>
		<category><![CDATA[myisam]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[rpm]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://nerdicism.com/?p=1415</guid>
		<description><![CDATA[Recently I set up a CentOS based mysql server (Actually I used RPMs from mysql.com since the ones that come with CentOS 5.4 contain some ugly replication bugs). I overlooked, that the default storage engine was MyISAM while our corporate standard (and applications requirement) is InnoDB. Fortunally I found out about &#8221;ALTER table ENGINE=&#8230;;&#8221;. Since I [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I set up a CentOS based mysql server (Actually I used RPMs from mysql.com since the ones that come with CentOS 5.4 contain some ugly replication bugs). I overlooked, that the default storage engine was MyISAM while our corporate standard (and applications requirement) is InnoDB.</p>
<p><span id="more-1415"></span></p>
<p>Fortunally I found out about &#8221;ALTER table ENGINE=&#8230;;&#8221;.</p>
<p>Since I am very lazy I created myself a little helper, that generates per MyISAM table a matching ALTER TABLE statement. So all I had to do was to copy the result of the query back to mysql and lean back.</p>
<p>The statement I talk about is:</p>
<pre>select concat('ALTER TABLE `', table_schema, '`.`', table_name, '` ENGINE InnoDB;')
from information_schema.tables where table_schema &lt;&gt; 'mysql'
AND table_schema &lt;&gt; 'information_schema'
AND engine = 'MyISAM';</pre>
<p>It queries the information_schema for MyISAM tables outside mysql (the database) and outputs a corresponding statement.</p>
<p>If you found that useful, please leave me a comment.</p>
<div class="shr-publisher-1415"></div>]]></content:encoded>
			<wfw:commentRss>http://nerdicism.com/2010/02/converting-myisam-to-innodb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Connect remotely to jconsole in Java 5+6</title>
		<link>http://nerdicism.com/2010/02/connect-remotely-to-jconsole-in-java-5-6/</link>
		<comments>http://nerdicism.com/2010/02/connect-remotely-to-jconsole-in-java-5-6/#comments</comments>
		<pubDate>Sat, 13 Feb 2010 20:32:44 +0000</pubDate>
		<dc:creator>ninan</dc:creator>
				<category><![CDATA[Science & Technology]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jconsole]]></category>
		<category><![CDATA[jmx]]></category>
		<category><![CDATA[jvm]]></category>
		<category><![CDATA[swing]]></category>

		<guid isPermaLink="false">http://nerdicism.com/?p=1393</guid>
		<description><![CDATA[<a href="http://nerdicism.com/2010/02/connect-remotely-to-jconsole-in-java-5-6/"><img align="left" hspace="5" width="150" src="http://nerdicism.com/wp-content/uploads/2010/02/Bildschirmfoto-2010-02-13-um-21.25.43-150x150.png" class="alignleft wp-post-image tfe" alt="jconsole overview" title="jconsole overview" /></a>Sun Java got added a great utility named jconsole with version 5.0. Basically it is a Swing-based JMX console. It shows a lot of the inner state of JVM processes. Since 6.0 java defaults to allowing connects to running JVM-processes on the same computer. Fortunally this doesn´t apply to remote connects. Unfortunally jconsole just quits [...]]]></description>
			<content:encoded><![CDATA[<p>Sun Java got added a great utility named jconsole with version 5.0. Basically it is a Swing-based JMX console. It shows a lot of the inner state of JVM processes.</p>
<p><span id="more-1393"></span></p>
<p>Since 6.0 java defaults to allowing connects to running JVM-processes on the same computer. Fortunally this doesn´t apply to remote connects. Unfortunally jconsole just quits with a &#8220;Connection failed&#8221;.</p>
<p>To get jconsole to work from a remote computer, some properties must be set on start of the JVM:</p>
<pre>java -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote JMX Auth Settings...</pre>
<p>There are different documents for <a title="Monitoring Java 5.0 using jconsole" href="http://java.sun.com/j2se/1.5.0/docs/guide/management/agent.html#remote" target="_blank">Java 5.0</a> and <a title="Monitoring Java 5.0 using jconsole" href="http://java.sun.com/javase/6/docs/technotes/guides/management/agent.html#remote" target="_blank">Java 6.0</a>. Please consult them for the authentication settings.</p>
<p>I found the final clue at <a href="http://oli.blogger.de/stories/1296745/" target="_blank">Oli&#8217;s Blog</a>.</p>
<p>Below are some screenshots of this awesome application.</p>
<p><a href="http://nerdicism.com/wp-content/uploads/2010/02/Bildschirmfoto-2010-02-13-um-21.25.43.png" rel="lightbox[1393]"><img class="size-thumbnail wp-image-1395 alignnone" title="jconsole overview" src="http://nerdicism.com/wp-content/uploads/2010/02/Bildschirmfoto-2010-02-13-um-21.25.43-150x150.png" alt="jconsole overview" width="150" height="150" /></a><a href="http://nerdicism.com/wp-content/uploads/2010/02/Bildschirmfoto-2010-02-13-um-21.26.00.png" rel="lightbox[1393]"><img class="size-thumbnail wp-image-1396 alignnone" title="jconsole memory status" src="http://nerdicism.com/wp-content/uploads/2010/02/Bildschirmfoto-2010-02-13-um-21.26.00-150x150.png" alt="jconsole memory status" width="150" height="150" /></a><a href="http://nerdicism.com/wp-content/uploads/2010/02/Bildschirmfoto-2010-02-13-um-21.26.17.png" rel="lightbox[1393]"><img class="size-thumbnail wp-image-1397 alignnone" title="jconsole thread status" src="http://nerdicism.com/wp-content/uploads/2010/02/Bildschirmfoto-2010-02-13-um-21.26.17-150x150.png" alt="jconsole thread status" width="150" height="150" /></a></p>
<p><a href="http://nerdicism.com/wp-content/uploads/2010/02/Bildschirmfoto-2010-02-13-um-21.26.40.png" rel="lightbox[1393]"><img class="size-thumbnail wp-image-1399 alignnone" title="jconsole JVM summary" src="http://nerdicism.com/wp-content/uploads/2010/02/Bildschirmfoto-2010-02-13-um-21.26.40-150x150.png" alt="jconsole JVM summary" width="150" height="150" /></a><a href="http://nerdicism.com/wp-content/uploads/2010/02/Bildschirmfoto-2010-02-13-um-21.27.03.png" rel="lightbox[1393]"><img class="size-thumbnail wp-image-1400 alignnone" title="jconsole MBeans view" src="http://nerdicism.com/wp-content/uploads/2010/02/Bildschirmfoto-2010-02-13-um-21.27.03-150x150.png" alt="jconsole MBeans view" width="150" height="150" /></a></p>
<div class="shr-publisher-1393"></div>]]></content:encoded>
			<wfw:commentRss>http://nerdicism.com/2010/02/connect-remotely-to-jconsole-in-java-5-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>no-nerd.de &#8211; Are you kidding me?</title>
		<link>http://nerdicism.com/2009/07/no-nerd-de-are-you-kidding-me/</link>
		<comments>http://nerdicism.com/2009/07/no-nerd-de-are-you-kidding-me/#comments</comments>
		<pubDate>Thu, 30 Jul 2009 18:13:07 +0000</pubDate>
		<dc:creator>nerdicist</dc:creator>
				<category><![CDATA[Science & Technology]]></category>
		<category><![CDATA[Nerdtum]]></category>
		<category><![CDATA[no-nerd.de]]></category>
		<category><![CDATA[Piraten]]></category>
		<category><![CDATA[Universität Passau]]></category>

		<guid isPermaLink="false">http://nerdicism.com/?p=1018</guid>
		<description><![CDATA[Erstmal möchten wir uns ganz herzlich für die lange Blogpause entschuldigen. Heute aber wurde mir auf Arbeit so ein fetter Wurm vor die Nase gehalten, dass der arme Karpfen gar nicht anders kann als zuzubeißen, also quasi loszubloggen. Die Spitzeneliteuni von Weltrang Passau hat sich ganz ein originelles Konzept einfallen lassen, um Studenten an sein [...]]]></description>
			<content:encoded><![CDATA[<p>Erstmal möchten wir uns ganz herzlich für die lange Blogpause entschuldigen. Heute aber wurde mir auf Arbeit so ein fetter Wurm vor die Nase gehalten, dass der arme Karpfen gar nicht anders kann als zuzubeißen, also quasi loszubloggen. Die Spitzeneliteuni von Weltrang Passau hat sich ganz ein originelles Konzept einfallen lassen, um Studenten an sein IT-Institut zu locken:<a href="http://http://www.no-nerd.de/"> no-nerd.de</a></p>
<p>Bitte was? Liebe Nerds, die mit dem Gedanken spielen, Informatik zu studieren, bitte sucht euch eine andere Uni. In Passau weiß man offensichtlich echtes Interesse am Fach und totalen Einsatz, für das was man liebt, nicht zu schätzen. Dafür steht Nerdtum nämlich oder hat das den Schlaubergern aus dem Hochschulmarketing keiner gesagt? Oder will man lieber ein paar lernschwache Halbaffen als Studenten? Nur zur Info für die Provinzler der deutschen akademischen Szene: Die Aushängeschilder der US-Uni, denen man sonst mit glühenden Bäckchen nacheifert, sind meist Nerds, nämlich Leute, die sich voll auf ihr Forschungsgebiet konzentrieren und nicht darauf, möglichst cool daherzukommen und den Jahrgangsrekord der facebook-Kontakte zu knacken.</p>
<p><em>The no-nerd-campaign of Passau&#8217;s IT department totally ruined my lunch break today. Are they trying to keep the nerds away from their department or what? Does that mean, they don&#8217;t need any IT students or that they rather want mentally retarded jocks instead of people who devote most of their time and energy to study a subject they love? Let&#8217;s just hope that IT students in Passau react appropriately.</em></p>
<div class="shr-publisher-1018"></div>]]></content:encoded>
			<wfw:commentRss>http://nerdicism.com/2009/07/no-nerd-de-are-you-kidding-me/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Christopher Hitchens diskutiert Religion mit Rabbi &#8211; Christopher Hitchens and Rabbi discuss religion</title>
		<link>http://nerdicism.com/2009/07/christopher-hitchens-diskutiert-religion-mit-rabbi-christopher-hitchens-and-rabbi-discuss-religion/</link>
		<comments>http://nerdicism.com/2009/07/christopher-hitchens-diskutiert-religion-mit-rabbi-christopher-hitchens-and-rabbi-discuss-religion/#comments</comments>
		<pubDate>Mon, 06 Jul 2009 12:19:23 +0000</pubDate>
		<dc:creator>nerdicist</dc:creator>
				<category><![CDATA[Science & Technology]]></category>
		<category><![CDATA[atheism]]></category>
		<category><![CDATA[Christopher Hitchens]]></category>
		<category><![CDATA[Darwinism]]></category>
		<category><![CDATA[Richard Dawkins]]></category>

		<guid isPermaLink="false">http://nerdicism.com/?p=1003</guid>
		<description><![CDATA[Diese Debatte zwischen Christopher Hitchens und Rabbi Boteach ist für jeden, der sich mit der Frage nach der Daseinsberechtigung von Religion beschäftigt, absolut sehenswert, schon allein weil Hitchens total lustig ist: If you are interested in questions of religion, or atheism and fan of Richard Dawkins for that matter, please watch this excellent debate between [...]]]></description>
			<content:encoded><![CDATA[<p>Diese Debatte zwischen Christopher Hitchens und Rabbi Boteach ist für jeden, der sich mit der Frage nach der Daseinsberechtigung von Religion beschäftigt, absolut sehenswert, schon allein weil Hitchens total lustig ist:</p>
<p><em>If you are interested in questions of religion, or atheism and fan of Richard Dawkins for that matter, please watch this excellent debate between Hitchens and Rabbi Boteach:</em></p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/vnMYL8sF7bQ&amp;hl=en&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/vnMYL8sF7bQ&amp;hl=en&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<div class="shr-publisher-1003"></div>]]></content:encoded>
			<wfw:commentRss>http://nerdicism.com/2009/07/christopher-hitchens-diskutiert-religion-mit-rabbi-christopher-hitchens-and-rabbi-discuss-religion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Leseempfehlung &#8211; Die Frau, für die ich den Computer erfand</title>
		<link>http://nerdicism.com/2009/07/leseempfehlung-die-frau-fur-die-ich-den-computer-erfand/</link>
		<comments>http://nerdicism.com/2009/07/leseempfehlung-die-frau-fur-die-ich-den-computer-erfand/#comments</comments>
		<pubDate>Mon, 06 Jul 2009 08:12:47 +0000</pubDate>
		<dc:creator>nerdicist</dc:creator>
				<category><![CDATA[Science & Technology]]></category>
		<category><![CDATA[Ada Lovelace]]></category>
		<category><![CDATA[Friedrich Christian Delius]]></category>
		<category><![CDATA[Konrad Zuse]]></category>
		<category><![CDATA[Leseempfehlung]]></category>

		<guid isPermaLink="false">http://nerdicism.com/?p=1014</guid>
		<description><![CDATA[Heute gibt&#8217;s auf perlentaucher.de einen Vorgeschmack auf den Roman von Friedrich Christian Delius über Konrad Zuse, der auch von Ada Lovelace erzählt. Wir finden sowas gut. Hier geht&#8217;s lang.]]></description>
			<content:encoded><![CDATA[<p>Heute gibt&#8217;s auf perlentaucher.de einen Vorgeschmack auf den Roman von Friedrich Christian Delius über <a href="http://de.wikipedia.org/wiki/Konrad_Zuse">Konrad Zuse</a>, der auch von <a href="http://de.wikipedia.org/wiki/Ada_Lovelace">Ada Lovelace</a> erzählt. Wir finden sowas gut. <a href="http://www.perlentaucher.de/artikel/5550.html">Hier geht&#8217;s lang.</a></p>
<div class="shr-publisher-1014"></div>]]></content:encoded>
			<wfw:commentRss>http://nerdicism.com/2009/07/leseempfehlung-die-frau-fur-die-ich-den-computer-erfand/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jailbreaking LaCie (Big) Ethernet Disk</title>
		<link>http://nerdicism.com/2009/07/jailbreaking-lacie-big-ethernet-disk-look-mummy-no-skrewdrivers/</link>
		<comments>http://nerdicism.com/2009/07/jailbreaking-lacie-big-ethernet-disk-look-mummy-no-skrewdrivers/#comments</comments>
		<pubDate>Sat, 04 Jul 2009 21:23:48 +0000</pubDate>
		<dc:creator>ninan</dc:creator>
				<category><![CDATA[Science & Technology]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[jailbreak]]></category>
		<category><![CDATA[lacie ethernet big disk]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[Piraten]]></category>

		<guid isPermaLink="false">http://nerdicism.com/?p=924</guid>
		<description><![CDATA[<a href="http://nerdicism.com/2009/07/jailbreaking-lacie-big-ethernet-disk-look-mummy-no-skrewdrivers/"><img align="left" hspace="5" width="150" src="http://nerdicism.com/wp-content/uploads/2009/07/original.png" class="alignleft wp-post-image tfe" alt="Diese Stelle in der Konfiguration suchen / Look up this in the configuration file" title="Diese Stelle in der Konfiguration suchen / Look up this in the configuration file" /></a>Das Befreien von Hardware aus dem Diktat der Hersteller (Jailbreaking) ist spätestens seit dem iPhone zum Mainstream geworden. In diesem Artikel beschreibe ich, wie ich auf einer LaCie Big Ethernet Disk NAS-Appliance einen ssh-Zugang für root eingerichtet habe. Neben dem Spaß an der Sache erhält man dadurch einen kleinen aber feinen Linux-Server, den man mit [...]]]></description>
			<content:encoded><![CDATA[<p>Das Befreien von Hardware aus dem Diktat der Hersteller (Jailbreaking) ist spätestens seit dem iPhone zum Mainstream geworden. In diesem Artikel beschreibe ich, wie ich auf einer <a title="Produktinformationen von LaCie zur Big Disk Ethernet" href="http://www.lacie.com/de/products/product.htm?pid=11250" target="_blank">LaCie Big Ethernet Disk</a> NAS-Appliance einen ssh-Zugang für root eingerichtet habe. Neben dem Spaß an der Sache erhält man dadurch einen kleinen aber feinen Linux-Server, den man mit etwas Fantasie zu etwas großem machen kann.</p>
<p><em>Freeing Hardware from the dictat of the vendor at last became mainstream since the iPhone. In this article I guide through the process of jailbreaking a <a title="LaCie product information on Big Disk Ethernet" href="http://www.lacie.com/us/products/product.htm?pid=11250" target="_blank">LaCie Big Ethernet Disk</a> NAS applicance. Beside the fun you get a nice little Linux server you can make something great with.<br />
</em></p>
<p>Das Gerät enthält zwei oder mehr Festplatten und einen Linux 2.6 basierten Server, der auf einer ARM-CPU läuft. Dazu kommen noch 124MB RAM.</p>
<p><em>The device contains two or more hard disks and a Linux 2.6 based server running on an ARM cpu. Further it contains 124MB RAM.</em></p>
<p>Der Zugriff auf das Gerät erfolgt wahlweise über ein Web-basiertes Admin-Interface, SMB, AFP, HTTP oder FTP. Die Adminoberfläche enthält auch einen einfachen Dateibrowser. Benutzer und Gruppen können wahlweise lokal angelegt werden oder über eine Active Directory Integration angebunden werden. Die AD-Integration, welche hier leider nicht wirklich funktioniert hat, war der Hauptgrund, warum ich mich überhaupt mit dem Gerät angelegt habe.</p>
<p><em>The device can be accessed using either a web based admin interface or SMB, AFP, HTTP or FTP. The admin interface also contains a simple file browser. Users and groups can be created locally or received from an Active Directory. Unfortunally the Active Directory integration didn´t worked for me.</em> So I scratched my fingers and started hacking a bit.</p>
<p>Der folgende Prozess hat mich dazu in die Lage versetzt, per ssh als root auf das Gerät zuzugreifen und damit das volle Potential des &#8220;kleine&#8221; Linux-Servers zu nutzen. <strong>Ich distanziere mich hier ausdrücklich von allen Schäden, die durch das Befolgen dieser Anleitung entstehen.</strong> Bei mir hat´s funktioniert. <strong>Auf jeden Fall sollte ein Backup aller Daten erstellt werden.</strong></p>
<p><em>The following process lead me to an ssh login which is usable as as root which enables me to use the full potential of this &#8220;little&#8221; Linux server. <strong>I am not responsible for any data loss, malfunction or any other inconvinience you encounter by following this guide.</strong> It worked for me, it might not work for you as well. <strong>Be sure to have a backup of all your data.</strong></em></p>
<p>Bevor es losgeht, muss man sich mit der Adminoberfläche vertraut machen. Die wesentlichen Hauptmenüpunkte für den Hack sind Benutzer (Users), Freigaben (Shares) und Wartung (System).</p>
<p><em>Before we start, lets have a quick look on the admin interface. For our purposes we need the main menu entries Users, Shares and System.</em></p>
<p>Im ersten Schritt verschafft man sich Zugriff zum Root-Verzeichnis des installierten Linux. Dies wird möglich durch eine Schwachstelle in der Eingabevalidierung und der Tatsache dass der Webserver und die CGI-Skripte mit den Rechten von root läuft. Und so geht´s:</p>
<ol>
<li>Ein neues Share mit dem Namen &#8220;Hack&#8221; anlegen (Freigaben -&gt; Hinzufügen -&gt; Name: &#8220;Hack&#8221;, alle Checkboxen aus)</li>
<li>Konfiguration als XML-Datei herunterladen (System -&gt; Wartung -&gt; Konfiguration speichern)</li>
<li>Bearbeiten der heruntergeladenen Datei, siehe Screenshot</li>
<li>Geänderte Konfigurationsdatei hochladen (System -&gt; Wartung -&gt; Konfiguration laden)</li>
<li>Dateien im Webrowser anzeigen und dort das Share &#8220;Hack&#8221; auswählen (Letzer Hauptmenüpunkt, in der deutschen Übersetzung mit Anzeigefehler)</li>
<li>Staunen</li>
</ol>
<p><img class="alignnone size-full wp-image-984" title="Diese Stelle in der Konfiguration suchen / Look up this in the configuration file" src="http://nerdicism.com/wp-content/uploads/2009/07/original.png" alt="Diese Stelle in der Konfiguration suchen / Look up this in the configuration file" width="595" height="90" /></p>
<p><img class="alignnone size-full wp-image-983" title="Das Attribut &quot;path&quot; wie gezeigt anpassen / Change the attribute &quot;path&quot; as shown" src="http://nerdicism.com/wp-content/uploads/2009/07/angepasst.png" alt="Das Attribut &quot;path&quot; wie gezeigt anpassen / Change the attribute &quot;path&quot; as shown" width="595" height="88" /></p>
<p><em>The first step is to gain access to the root directory of the running Linux. This is possible through a flaw in input validation and the fact, that the webserver is running as user root. That´s how it´s done:</em></p>
<ol>
<li><em>Create a new Share named &#8220;Hack&#8221; (Shares -&gt; Add -&gt; Name: &#8220;Hack&#8221;, all checkboxes unchecked)</em></li>
<li><em>Download configuration as XML (System -&gt; Maintenance -&gt; Save configuration)</em></li>
<li><em>Edit the file as shown on the screenshot</em></li>
<li><em>Upload the modified configuration file (System -&gt; Maintenance -&gt; Load configuration)</em></li>
<li><em>Open the integrated file browser and choose  the share &#8220;Hack&#8221; (Browse)</em></li>
<li><em>Be amazed</em></li>
</ol>
<p><a href="http://nerdicism.com/wp-content/uploads/2009/07/root.png" rel="lightbox[924]"><img class="alignnone size-full wp-image-992" title="Das Root-Dateisystem / The root filesystem" src="http://nerdicism.com/wp-content/uploads/2009/07/root.png" alt="Das Root-Dateisystem / The root filesystem" width="380" height="261" /></a></p>
<p>Im nächsten Schritt wird das System so konfiguriert, dass nach einem Neustart der SSH-Daemon gestartet und ein öffentlicher ssh-Key für den Benutzer root hinterlegt wird. Ein solcher Schlüssel muss natürlich vorher generiert werden. Alle folgenden Tätigkeiten müssen im Dateibrowser im Webbrowser (Letzer Menüpunkt) durchgeführt werden:</p>
<ol>
<li>Das Verzeichnis &#8220;/etc/initng&#8221; auswählen</li>
<li>Die Datei &#8220;sshd.i&#8221; auf dem Rechner speichern und in einem Editor öffnen</li>
<li>Die Datei wie im Beispiel weiter unten gezeigt anpassen &#8211; PUBLIC SSH KEY dabei durch den eigene Key ohne Umbrüche ersetzen</li>
<li>Die Checkbox neben der Datei &#8220;sshd.i&#8221; im Webbrowser auswählen und den Button &#8220;Dateien löschen&#8221; klicken</li>
<li>Auf den Button &#8220;Datei hochladen&#8221; klicken und dann die eben geänderte Datei &#8220;sshd.i&#8221; vom Rechner hochladen</li>
<li>Das Verzeichnis &#8220;/etc/initng/runlevel&#8221; auswählen</li>
<li>Die Datei &#8220;default.runlevel&#8221; auf dem Rechner speichern und in einem Editor öffnen</li>
<li>In die letzte Zeile &#8220;sshd&#8221; (Ohne Hochkommata) hinzufügen</li>
<li>Die Checkbox neben der Datei &#8220;default.runlevel&#8221; auswählen und den Button &#8220;Dateien löschen&#8221; klicken</li>
<li>Auf den Button &#8220;Datei hochladen&#8221; klicken und dann die eben geänderte Datei &#8220;default.runlevel&#8221; vom Rechner nochladen</li>
</ol>
<pre>#!/sbin/itype
# This is a i file, used by initng parsed by install_service

service sshd/generate_keys {
 need = udev;
 env KEYGEN=/usr/bin/ssh-keygen;
 env RSA1_KEY=/etc/ssh/ssh_host_key;
 env RSA_KEY=/etc/ssh/ssh_host_rsa_key;
 env DSA_KEY=/etc/ssh/ssh_host_dsa_key;
 script start = {
 [ ! -s ${RSA1_KEY} ] &amp;&amp; \
 ${KEYGEN} -q -t rsa1 -f ${RSA1_KEY} -C '' -N '' 2&gt;&amp;1 &gt;/dev/null
 if [ ! -s ${RSA_KEY} ]
 then
 ${KEYGEN} -q -t rsa -f ${RSA_KEY} -C '' -N '' 2&gt;&amp;1 &gt;/dev/null
 chmod 600 ${RSA_KEY}
 chmod 644 ${RSA_KEY}.pub
 fi
 if [ ! -s ${DSA_KEY} ]
 then
 ${KEYGEN} -q -t dsa -f ${DSA_KEY} -C '' -N '' 2&gt;&amp;1 &gt;/dev/null
 chmod 600 ${DSA_KEY}
 chmod 644 ${DSA_KEY}.pub
 fi
 }
}

<strong>service sshd/addkey {
 script start = {
 mkdir -p /root/.ssh
 echo "<span style="color: #ff0000;">PUBLIC SSH KEY</span>" &gt; /root/.ssh/authorized_keys
 chmod 600 /root/.ssh/authorized_keys
 }
}</strong>

daemon sshd {
 require_network;
 <strong>need = sshd/generate_keys sshd/addkey;</strong>
 exec daemon = /usr/sbin/sshd;
 pid_file = /var/run/sshd.pid;
 forks;
 daemon_stops_badly;
}</pre>
<p><em>In the next step the system is configured to start the SSH daemon on boot time and add your public ssh key to the user root. This key must be generated first of course. Everything outlined next must be done in the filebrowser in the web browser (Last main menu entry):</em></p>
<ol>
<li><em>Select the directory &#8220;/etc/initng&#8221;</em></li>
<li><em>Save the file &#8220;sshd.i&#8221; to your computer</em></li>
<li><em>Modify the downloaded file as in the example above &#8211; Replace the phrase PUBLIC SSH KEY with your actual public ssh key <strong>without</strong> line breaks<br />
</em></li>
<li><em>Select the checkbox next to the file &#8220;sshd.i&#8221; in the web browser and click the button &#8220;Delete Files&#8221;</em></li>
<li><em>Click button &#8220;Upload file&#8221; to upload the modified &#8220;sshd.i&#8221; from your computer to the remote disk</em></li>
<li><em>Select the directory &#8220;/etc/initng/runlevel&#8221;</em></li>
<li><em>Save the file &#8220;default.runlevel&#8221; to your computer and open it in an editor</em></li>
<li><em>Add the text &#8220;sshd&#8221; (Without the apostrophes) in the last line of the file</em></li>
<li><em>Select the checkbox next to the file &#8220;default.runlevel&#8221; and click the button &#8220;Delete Files&#8221;</em></li>
<li><em>Click the button &#8220;Upload file&#8221; to upload the modified &#8220;default.runlevel&#8221; from you computer to the remote disk</em></li>
</ol>
<p>Im letzten Schritt muss das Gerät neu gestartet werden. Hierzu einfach System -&gt; Status -&gt; Neustart ausführen. Nach wenigen Minuten ist das Gerät wieder online. Mittels ssh kann man sich nun als &#8220;root&#8221; einloggen und das System weiter erkunden.</p>
<p><em>Finally the device must be rebooted. Click System -&gt; Status -&gt; Reboot. After a few minutes the box is back. Using ssh you can connect to it as &#8220;root&#8221; and investigate further.</em></p>
<p>Viel Spaß mit dem neuen Linux-Server.</p>
<p><em>Have fun with your new Linux server.</em></p>
<div class="shr-publisher-924"></div>]]></content:encoded>
			<wfw:commentRss>http://nerdicism.com/2009/07/jailbreaking-lacie-big-ethernet-disk-look-mummy-no-skrewdrivers/feed/</wfw:commentRss>
		<slash:comments>41</slash:comments>
		</item>
		<item>
		<title>Findings of the week, Vol. 2</title>
		<link>http://nerdicism.com/2009/06/findings-of-the-week-vol-2/</link>
		<comments>http://nerdicism.com/2009/06/findings-of-the-week-vol-2/#comments</comments>
		<pubDate>Mon, 01 Jun 2009 17:56:01 +0000</pubDate>
		<dc:creator>ninan</dc:creator>
				<category><![CDATA[Science & Technology]]></category>
		<category><![CDATA[bootp]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[dhcp]]></category>
		<category><![CDATA[gssapiauthentication]]></category>
		<category><![CDATA[pxe]]></category>
		<category><![CDATA[pxelinux]]></category>
		<category><![CDATA[redhat]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[x11forwarding]]></category>
		<category><![CDATA[xorg-x11-auth]]></category>

		<guid isPermaLink="false">http://ninan.info/?p=242</guid>
		<description><![CDATA[In this somehow weekly series of posts I summarize noteworthy problems I encountered during my work week and how I solved them. This week I tried to set up a fully automated installation for Centos 5.3 and ran into some problems. Connect from Ubuntu 9.04 to Centos 5.3 via ssh Connecting to a Centos 5.3 [...]]]></description>
			<content:encoded><![CDATA[<p>In this somehow weekly series of posts I summarize noteworthy problems I encountered during my work week and how I solved them.</p>
<p>This week I tried to set up a fully automated installation for Centos 5.3 and ran into some problems.</p>
<h2><span id="more-805"></span>Connect from Ubuntu 9.04 to Centos 5.3 via ssh</h2>
<p>Connecting to a Centos 5.3 host using the installation of ssh provided by Ubuntu 9.04 should be straightforward. Unfortunally it doesn´t work out of the box because the connection seems to hang forever and times out in the end. The reason is that the sshd configuration option GSSAPIAuthentication is set to &#8220;on&#8221; by default on Centos hosts. This leads sshd to do DNS reverse lookups to Kerberos servers. If you don´t understand anything of this you can safely change the option to &#8220;no&#8221; on the Centos host and restart sshd. The problem should have went away by then. That´s it.</p>
<h2>Mistake in Centos/Redhat Configuration</h2>
<p>One more no-brainer: There is a mistake inside the documenation on <a title="Configuring the DHCP server for PXE boot" href="http://www.centos.org/docs/5/html/5.2/Installation_Guide/ch31s05.html" target="_blank">howto set up PXE/BOOTP on RedHat/Centos</a>. While the documentation states</p>
<pre><code class="computeroutput">allow booting; allow bootp; class
"pxeclients" { match if substring(option vendor-class-identifier, 0, 9)
= "PXEClient"; next-server <em class="replaceable"><code>&lt;server-ip&gt;</code></em>; filename "<strong>linux-install/pxelinux.0</strong>"; }
</code></pre>
<p><code class="computeroutput">the bold part must be <strong>/linux-install/pxelinux.0</strong> (Mind the leading "/"). That´s it.</code></p>
<h2>X11Forwarding on Centos</h2>
<p>My Centos installation was based on an out of the box non-GUI profile. As I needed to run one of the X11-based system-config-* tools I used <em>X11Forwarding</em>. Unfortunally that didn´t work. All I got was</p>
<pre>Can´t open display:</pre>
<p>I found <a title="Centos bug report 2391: SSH X11-Forwarding does not work" href="http://bugs.centos.org/view.php?id=2391" target="_blank">this bug report</a> which asks one to install the package <strong>xorg-x11-xauth</strong>. That´s it.</p>
<p>Now it´s weekend. (Not really)</p>
<div class="shr-publisher-805"></div>]]></content:encoded>
			<wfw:commentRss>http://nerdicism.com/2009/06/findings-of-the-week-vol-2/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Findings of the week, Vol. 1</title>
		<link>http://nerdicism.com/2009/05/findings-of-the-week-vol-1/</link>
		<comments>http://nerdicism.com/2009/05/findings-of-the-week-vol-1/#comments</comments>
		<pubDate>Sun, 03 May 2009 06:00:46 +0000</pubDate>
		<dc:creator>ninan</dc:creator>
				<category><![CDATA[Science & Technology]]></category>
		<category><![CDATA[active directory]]></category>
		<category><![CDATA[adc]]></category>
		<category><![CDATA[apache httpd]]></category>
		<category><![CDATA[cmd.exe]]></category>
		<category><![CDATA[dcpromo]]></category>
		<category><![CDATA[domain controller]]></category>
		<category><![CDATA[ldap]]></category>
		<category><![CDATA[mod_authnz_ldap]]></category>
		<category><![CDATA[scheduled tasks]]></category>
		<category><![CDATA[vmware server]]></category>
		<category><![CDATA[windows 2003]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://ninan.info/?p=216</guid>
		<description><![CDATA[In this somehow weekly series of posts I summarize noteworthy problems I encountered during my work week and how I solved them. This week one Windows 2003 Domain Controller crashed badly and left behind a struggling network. So I made up some optimizations. Install additional domain controllers as VMware Virtual Machine The affected location had [...]]]></description>
			<content:encoded><![CDATA[<p>In this somehow weekly series of posts I summarize noteworthy problems I encountered during my work week and how I solved them.</p>
<p>This week one Windows 2003 Domain Controller crashed badly and left behind a struggling network. So I made up some optimizations.</p>
<p><span id="more-803"></span></p>
<h2>Install additional domain controllers as VMware Virtual Machine</h2>
<p>The affected location had only one dedicated domain controller. So I chose to set up another one. Since virtualization is cool I did it using VMware Server. Windows installed flawlessly and everything went right until i started DCPROMO.EXE to get the beast into the domain. All I got was:</p>
<pre>Active Directory Installation Wizard

The wizard cannot gain access to the list of domains in the forest.

This
condition may be caused by a DNS lookup problem. For information about
troubleshooting common DNS lookup problems, please see the following
Microsoft Web site: <a rel="nofollow" href="http://go.microsoft.com/fwlink/?LinkId=5171" target="_blank">http://go.microsoft.com/fwlink/?LinkId=5171</a>

The error is:

The RPC server is unavailable.</pre>
<p>I found the solution (not the reason) <a title="Forum post: " href="https://www.benutzer.de/index.php?content=84372" target="_blank">here</a> (german). I had to reinstall the VMware Tools and deselect the Shared Folders component. That´s it. It can be reinstalled after the server became a DC. Alternativly installation of VMware Tools can be delayed until the DC setup is finished.</p>
<h2>Use more than one LDAP server with Apache httpd mod_authnz_ldap</h2>
<p>Since I had two domain controllers now, I wanted to use them. Due historically reasons I do authentication on web services by accessing the domain controller via LDAP instead NTLM. Until the crash there was only one LDAP server in Apache config. I tried to add the new server to by entering the host names without domain (e.g. dc1 dc2) into <a title="Documentation of AuthLDAPUrl" href="http://httpd.apache.org/docs/2.2/mod/mod_authnz_ldap.html#authldapurl" target="_blank">AuthLDAPUrl</a> directive.</p>
<p>Unfortunally this didn´t worked. Apache cried about format validation of LDAP URL. So I went back and entered the FQDN of the domain controllers as in:</p>
<pre>AuthLDAPUrl ldap://dc1.domain.local dc2.domain.local/dc=domain,dc=local?sAMAccountName?sub" NONE</pre>
<p>That´s it. BTW. Here is my full config if you mind:</p>
<pre>AuthType Basic
AuthName "Enter your Windows credentials"
AuthBasicProvider ldap
AuthLDAPURL "ldap://dc1.domain.local dc2.domain.local/dc=domain,dc=local?sAMAccountName?sub" NONE
AuthLDAPBindDN apache@domain.local
AuthLDAPBindPassword secret
AuthLDAPGroupAttribute member
AuthLDAPGroupAttributeIsDN On
AuthzLDAPAuthoritative On</pre>
<p>That´s it.</p>
<h2>Scheduled Task runs as non-administrative domain user batch script</h2>
<p>Not really related to the crash, but noteworthy. I tried to talk Windows 2003 Server into running a scheduled task as domain user with no administrative privileges that is a .bat file.</p>
<p>Sounds simple, doesn´t it? Windows showed itself very unruly. All I got, when I ran the script, was &#8220;Not started&#8221;. So what? <a title="Microsoft Technet on the issue" href="http://support.microsoft.com/kb/867466/en-us/" target="_blank">Here is the solution</a>:</p>
<p>First c:\Windows\System32\cmd.exe, which is interpreting batch scripts, is allowed to be run by either administrators and an ominous group named INTERACTIVE. This group is applied to any user, that is logged into the system either locally or with terminal services, but not when running as scheduled task.</p>
<p>So what I did was to add a group BATCHSERVICES to my domain, added the user in question to that group and changed the security settings of cmd.exe to allow members of BATCHSERVICES to read and execute cmd.exe.</p>
<p>Unfortually that´s not enough. To allow non-admin users to run scheduled tasks, they need to have the authorization to login into the system as batch process. So add the user to the local security policy <a title="Microsoft Technet: Log on as batch job" href="http://technet.microsoft.com/en-us/library/cc755659.aspx?ppud=4" target="_blank">&#8220;Log on as batch job&#8221;</a>. That´s it.</p>
<p>Now it´s weekend.</p>
<div class="shr-publisher-803"></div>]]></content:encoded>
			<wfw:commentRss>http://nerdicism.com/2009/05/findings-of-the-week-vol-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to setup up a private CentOS mirror</title>
		<link>http://nerdicism.com/2009/04/how-to-setup-up-a-private-centos-mirror/</link>
		<comments>http://nerdicism.com/2009/04/how-to-setup-up-a-private-centos-mirror/#comments</comments>
		<pubDate>Sat, 04 Apr 2009 18:39:10 +0000</pubDate>
		<dc:creator>ninan</dc:creator>
				<category><![CDATA[Science & Technology]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[apt]]></category>
		<category><![CDATA[apt-proxy]]></category>
		<category><![CDATA[bandwith]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[httpd]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[Piraten]]></category>
		<category><![CDATA[rsync]]></category>
		<category><![CDATA[yum]]></category>

		<guid isPermaLink="false">http://ninan.info/?p=203</guid>
		<description><![CDATA[I am currently in the process of switching some servers from Debian 4.0 to CentOS 5.3. Almost all Linux distributions provide convenient tools to keep the software selection safe and current by installing updates. As I run multiple servers, these update processes are unnecessarily bandwith-hungry, because by default every host connects to the distributions update [...]]]></description>
			<content:encoded><![CDATA[<p>I am currently in the process of switching some servers from <a title="Debian project homepage" href="http://www.debian.org/" target="_blank">Debian</a> 4.0 to <a title="CentOS project homepage" href="http://www.centos.org/" target="_blank">CentOS</a> 5.3. Almost all Linux distributions provide convenient tools to keep the software selection safe and current by installing updates. As I run multiple servers, these update processes are unnecessarily bandwith-hungry, because by default every host connects to the distributions update servers on its own.</p>
<p>There are different strategies to get around this. On Debian I use <a title="Debian apt-proxy package" href="http://packages.debian.org/stable/apt-proxy" target="_blank">apt-proxy</a> for this task. It is neatly integrated into the apt package management tool and works like charm most of the time.</p>
<p>For CentOS I wasn´t able to find such a specialized proxy. So I decided to try to set up a private mirror. It wasn´t that hard at all and this post outlines all necessary steps. I used <a title="Howto set up a private centos mirror for CentOS 4.x" href="http://www.howtoforge.com/creating_a_local_yum_repository_centos" target="_blank">this howto</a> as a starting point, but found it faulty and outdated. So here is how I did it.</p>
<p><span id="more-802"></span></p>
<p><strong>BE WARNED</strong>: I am not responsible for any data loss, malfunction or any other inconvinience you encounter by following this howto. It worked for me, it might not work for you as well. Be sure to have a backup of all your data.</p>
<p>I assume you set up the mirror on a CentOS host itself. Other host operating systems work as well, but you will have to adjust some paths. Per distribution release version and architecture you will need about 10GB of disk space, but be sure to keep it extensible (by using LVM for example). All these steps apply to CentOS 5.x, other versions of CentOS are slightly different.</p>
<p>Start by installing the required software (if not done yet). You will need <a title="rsync project homepage" href="http://www.samba.org/rsync/" target="_blank">rsync</a> and a http server (I assume you use <a title="Apache HTTP server project homepage" href="http://httpd.apache.org/">Apache web server</a> here). To install everything, run</p>
<pre>su -c 'yum install httpd rsync'</pre>
<p>I assume here that you don´t want to use virtual hosts, so following steps apply to the standard installation of Apache. Be also sure that your mirror stays private if you want it to. See the <a title="Apache HTTP server documentation" href="http://httpd.apache.org/docs/2.2/" target="_blank">Apache HTTP server documentation</a> for more on securing the web server and virtual hosting.</p>
<p>First create the directory, that will hold all the RPM files:</p>
<pre>su -c 'mkdir -p /var/www/html/centos/<strong>5</strong>/{os,updates}/<strong>x86_64</strong>'</pre>
<p>Please note that you have to keep the 5 (printed bold) even you use a point release like 5.3. Adjust x86_64 to the used architecture.</p>
<p>Now mount the CentOS installation DVD and copy the relevant files (If you use installation media on CD-ROM, repeat these steps per disk):</p>
<pre>su -c 'mount /dev/cdrom /mnt'
su -c 'cp -rv /mnt/CentOS /mnt/repodata /var/www/html/centos/5/os/x86_64/'
su -c 'umount /mnt'</pre>
<p>At this point you have set up a private mirror for the distribution´s installation media. To verify it´s working, open a web browser and open http://<strong>ip.of.you.server</strong>/centos/5/os/x86_64 (Replace ip.of.you.server by the real ip). You should get either a &#8220;Forbidden&#8221; message or a file list containing two directories, repodata and CentOS. There must be no &#8220;File not found message&#8221;.</p>
<p>Now on the updates. Unlike the installation media they change often. So we need a way to keep our mirror in sync with the distributions update servers. rsync is the tool for the job. It scans a directory tree for changes and applies these changes to a local directory. It transfers only the delta which makes it very bandwith saving.</p>
<p>We will set up rsync to run once per day. To do so open up the file /etc/cron.daily/yum-repos-rsync-update as root and put the following content into it:</p>
<pre>#!/bin/sh
rsync -avrt rsync://<strong>your.rsync.mirror.server</strong>/centos/<strong>5.3</strong>/updates/<strong>x86_64</strong> \
--exclude=debug/ /var/www/html/centos/5/updates/ &gt; /dev/null</pre>
<p>Make the file executable:</p>
<pre>su -c 'chmod 755  /etc/cron.daily/yum-repos-rsync-update'</pre>
<p>Now run the update once manually once:</p>
<pre>/etc/cron.daily/yum-repos-rsync-update</pre>
<p>It will take some time and afterwards there should be some files in /var/www/html/centos/5/os/x86_64.</p>
<p>That was all on the server part. On all clients open the file /etc/yum.repos.d/CentOS-Base.repo and make it look like (Comment out the bold lines starting with &#8220;mirrorlist&#8221; and add the bold line starting with baseurl. Adjust ip.of.your.server to the right value):</p>
<pre>...
[base]
name=CentOS-$releasever - Base<strong>
baseurl=http://ip.of.your.server/centos/$releasever/os/$basearch/</strong>
<strong>#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&amp;arch=$basearch&amp;repo=os
</strong>#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/</pre>
<pre>gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

#released updates
[updates]
name=CentOS-$releasever - Updates
<strong>baseurl=http://ip.of.your.server/centos/$releasever/updates/$basearch/</strong>
<strong>#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&amp;arch=$basearch&amp;repo=updates</strong>
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
...</pre>
<p>Finally run</p>
<pre>su -c 'yum clean all'
su -c 'yum update'</pre>
<p>If all runs well, you have properly set up a private CentOS mirror. Congratulations!</p>
<div class="shr-publisher-802"></div>]]></content:encoded>
			<wfw:commentRss>http://nerdicism.com/2009/04/how-to-setup-up-a-private-centos-mirror/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Two Macs, an iPhone sharing one life</title>
		<link>http://nerdicism.com/2009/03/two-macs-an-iphone-sharing-one-life/</link>
		<comments>http://nerdicism.com/2009/03/two-macs-an-iphone-sharing-one-life/#comments</comments>
		<pubDate>Sun, 15 Mar 2009 04:00:48 +0000</pubDate>
		<dc:creator>ninan</dc:creator>
				<category><![CDATA[Science & Technology]]></category>
		<category><![CDATA[foxmarks]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[mac os x]]></category>
		<category><![CDATA[macports]]></category>
		<category><![CDATA[mobileme]]></category>
		<category><![CDATA[ports]]></category>
		<category><![CDATA[sync]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[unison]]></category>

		<guid isPermaLink="false">http://ninan.info/?p=113</guid>
		<description><![CDATA[A howto explaining how to get synchronization between Macintosh computers and iPhone working using MobileMe, Foxmarks and Unison.]]></description>
			<content:encoded><![CDATA[<p>Today I switched my standard browser from <a title="Safari product page" href="http://www.apple.com/de/safari/" target="_blank">Safari</a> to <a title="Firefox product page" href="http://www.mozilla.com/en-US/firefox/" target="_blank">Firefox</a>. I had done this before, but I first had to solve some synchronization issues, as my life is supported by my two Macs (iMac, MacBook) and an iPhone so I need to hold my data in sync on all of them.</p>
<p><span id="more-798"></span></p>
<p>I have the following things in sync at the moment:</p>
<ul>
<li>Bookmarks between computers and browsers (Firefox, Safari, Mobile Safari)</li>
<li>Passwords</li>
<li>Contacts</li>
<li>Calendars</li>
<li>Preferences</li>
<li>Mail Accounts</li>
<li>iTunes library</li>
<li>Documents folder</li>
<li><a title="Java product page" href="http://java.sun.com" target="_self">Java</a> development tools (<a title="Eclipse project homepage" href="http://www.eclipse.org" target="_blank">Eclipse</a>, <a title="NetBeans project homepage" href="http://www.netbeans.org" target="_blank">NetBeans</a>, <a title="maven project homepage" href="http://maven.apache.org" target="_blank">maven</a>, <a title="Tomcat project homepage" href="http://tomcat.apache.org" target="_blank">tomcat</a>, &#8230;)</li>
<li><a title="GPG project homepage" href="http://www.gnupg.org/" target="_blank">GPG</a> keys</li>
<li><a title="Zotero project homepage" href="http://www.zotero.org/" target="_blank">Zotero</a></li>
<li><a title="OmniFocus product page" href="http://www.omnigroup.com/applications/omnifocus/" target="_blank">OmniFocus</a></li>
</ul>
<p>For all this sync magic I use</p>
<ul>
<li>A <a title="MobileMe product homepage" href="http://www.apple.com/mobileme/">MobileMe</a> subscription for bookmarks on the iPhone, passwords, contacts, calendars, preferences and mail account settings</li>
<li><a title="Foxmarks homepage" href="http://www.foxmarks.com" target="_blank">Foxmarks</a> for bookmarks between Macs and Browsers (Safari and Firefox)</li>
<li><a title="Unison project homepage" href="http://www.cis.upenn.edu/~bcpierce/unison/" target="_blank">Unison</a> for all file synchronization tasks (iTunes, Documents, Java development stuff, GPG keys, Zotero)</li>
</ul>
<p>In the following howto I outline the steps necessary to get synchronization to work for you.</p>
<p>Most of these steps need you to have access to an administrative account (e.g. the first you created on your Mac) to work.</p>
<p><strong>BE WARNED</strong>: I am not responsible for any data loss, malfunction or any other inconvinience you encounter by following this howto. It worked for me, it might not work for you as well. Be sure to have a backup of all your data.</p>
<h2>MobileMe</h2>
<p>MobileMe is tightly integrated with Mac OS X and all one has to do is to get a subscription. Unfortunally MobileMe is an all or nothing offer so you cannot only buy the sync services. As soon as you added your Macs to MobileMe cloud, everything should work fine. I have activated all sync modules on one of my Macs (Your mileage may vary) and everything except Bookmark sync on the other (could be other<strong>s</strong>, but I only have two macs in my lifecycle right now). If I didn´t deactivate Bookmark sync on all but one Mac, I had to accept recreation of ALL my bookmarks after every sync with Foxmarks. If I deactivate it on both (all) Macs, I wouldn´t get the iPhone in sync.</p>
<p>Step by step:</p>
<ol>
<li>Get MobileMe subscription</li>
<li>Put your Macs and iPhone into the cloud</li>
<li>Activate all the sync services you need</li>
<li>Deactivate MobileMe bookmark sync on all but one Mac</li>
</ol>
<h2>Foxmarks</h2>
<p>Foxmarks is a bookmark and password sync service. It is ran by a company founded by an ex-Mozilla board member. Using the Foxmarks bookmark sync service is <a title="Ward Cunningham´s wiki outlines the meaning of &quot;free as in beer&quot;" href="http://c2.com/cgi/wiki?FreeAsInBeer" target="_blank">free as in beer</a>.</p>
<p>The Safari plugin is a little system extension, that adds itself to the menu bar and preference pane. Pratically it also contains an uninstaller.</p>
<p>For Firefox there is an extension (what else?).</p>
<p>Step by step:</p>
<ol>
<li>Open Safari and go to http://download.foxmarks.com/download</li>
<li>Download the dmg and open it from your downloads directory</li>
<li>Run the installer</li>
<li>Choose to create an account when the wizard comes up</li>
<li>Fire up Firefox and go to https://addons.mozilla.org/de/firefox/addon/2410.</li>
<li>Click to install the extension</li>
<li>After Firefox restart a wizzard comes up. Choose to not create a new account and enter the credentials of your Foxmarks account.</li>
<li>Repeat this process on each of your Macs (and/or PC)</li>
</ol>
<p>Now you should have bookmark sync running between all your Macs (and PCs if you mind) and your iPhone &#8211; and as a side effect the same bookmarks in Safari and Firefox.</p>
<h2>Unison</h2>
<p>Unison is a command line tool (Runs in Terminal) that is able to do two-way file synchronization. I use it to hold various directories in sync on my Macs. A less complex solution was to use the iDisk of MobileMe, but this would imply you hold the relevant data on that iDisk which might not be possible at all.</p>
<p>Although it is supposed to work, I never used it to connect more than two Macs or PCs. I also didn´t ever try to connect different operating systems (e.g. Mac OS X and Linux). But I never had problems doing sync between two hosts of the same operating systems.</p>
<h3>MacPorts</h3>
<p>Unison is contained in <a title="Homepage of MacPorts" href="http://www.macports.org/" target="_blank">MacPorts</a>, the Mac OS X ports collection hosted by Apple Inc. You need to install it first.</p>
<p><a title="Download the .dmg file from here" href="http://www.macports.org/install.php" target="_blank">Download the disk image</a> (.dmg) and install MacPorts following the usual steps. If you don´t like to use the Terminal to install things, <a title="Porticus download page" href="http://porticus.alittledrop.com/download.html" target="_blank">download</a> and install <a title="Porticus project homepage" href="http://porticus.alittledrop.com/" target="_blank">Porticus</a>. It will provide you with a great GUI for MacPorts.</p>
<p>Now update your ports list by running</p>
<pre>sudo port selfupdate</pre>
<p>or in Porticus select &#8220;Ports -&gt; MacPorts selfupdate&#8221; from the main menu.</p>
<h3>&#8230;and back to Unison</h3>
<p>To install Unison open Terminal or Porticus.</p>
<p>For Terminal type</p>
<pre>sudo port install unison</pre>
<p>For Porticus select &#8220;All ports&#8221; from the left pane and type &#8220;unison&#8221; into the search box. Select &#8220;unison&#8221; from the search result and click &#8220;Install&#8221; in the toolbar.</p>
<p>There will pop up a window showing you the available variants. Select nothing and click &#8220;install&#8221;.</p>
<p>Repeat these steps on your other Mac.</p>
<h3>Configuring Unison</h3>
<p>Final step. As template process lets create a new directory inside your personal folder on one Mac called UnisonTestDir. Copy some random files into it.</p>
<p>Open your user´s directory in Finder and go to Library/Application Support. There should be a directory called Unison, if not, create it.</p>
<p>Open any text editor (Not TextEdit) you like. Copy the following template into the editor:</p>
<pre># Unison preferences file
root = /Users/user/UnisonTestDir
root = ssh://user@ip.of.other.mac//Users/user/UnisonTestDir
ignore = Name .DS_Store</pre>
<p>Replace user with your short username and ip.of.other.mac with the IP-Adress or hostname of the other computer.</p>
<p>Save this file as UnisonTestDir.prf inside Library/Application Support/Unison .</p>
<p>If you type the following into the Terminal:</p>
<pre>unison -servercmd "/opt/local/bin/unison" UnisonTestDir</pre>
<p>Now you should get:</p>
<pre>Contacting server...
Warning: No xauth data; using fake authentication data for X11 forwarding.
Connected [//Localmac.local//Users/user/UnisonTestDir -&gt; //RemoteMac.local//Users/user/UnisonTestDir]
Looking for changes
Warning: No archive files were found for these roots, whose canonical names are:
	/Users/user/UnisonTestDir
	//RemoteMac.local//Users/user/UnisonTestDir
This can happen either
because this is the first time you have synchronized these roots,
or because you have upgraded Unison to a new version with a different
archive format.

Update detection may take a while on this run if the replicas are
large.

Unison will assume that the 'last synchronized state' of both replicas
was completely empty.  This means that any files that are different
will be reported as conflicts, and any files that exist only on one
replica will be judged as new and propagated to the other replica.
If the two replicas are identical, then no changes will be reported.

If you see this message repeatedly, it may be because one of your machines
is getting its address from DHCP, which is causing its host name to change
between synchronizations.  See the documentation for the UNISONLOCALHOSTNAME
environment variable for advice on how to correct this.

Donations to the Unison project are gratefully accepted:

http://www.cis.upenn.edu/~bcpierce/unison

Press return to continue.[&lt;spc&gt;]</pre>
<p>Hit the space bar and Unison will start to copy things over:</p>
<pre>Reconciling changes

local          RemoteMac...      
dir      ----&gt;            /  [f] ?</pre>
<p>Hit f and y to start the sync process:</p>
<pre>Proceed with propagating updates? [] y
Propagating updates

UNISON 2.27.57 started propagating changes at 22:43:19 on 10 Mar 2009
[BGN] Copying  from /Users/user/UnisonTestDir to //RemoteMac.local//Users/user/UnisonTestDir
[END] Copying
UNISON 2.27.57 finished propagating changes at 22:43:19 on 10 Mar 2009

Saving synchronizer state
Synchronization complete  (1 item transferred, 0 skipped, 0 failures)</pre>
<p>Now run</p>
<pre>unison -servercmd "/opt/local/bin/unison" UnisonTestDir</pre>
<p>again. There should be:</p>
<pre>Contacting server...
Warning: No xauth data; using fake authentication data for X11 forwarding.
Connected [//LocalMac.local//Users/user/UnisonTestDir -&gt; //RemoteMac.local//Users/user/UnisonTestDir]
Looking for changes
  Waiting for changes from server
Reconciling changes
Nothing to do: replicas have not changed since last sync.</pre>
<p>You can repeat these steps for any directory you want. Simply create a profile per directory and adjust the values. I use Unison for a whole bunch of directories including iTunes and Documents without bigger problems for years now.</p>
<p>You have to consider, that Unison can become very complex when it comes to synchronization conflicts. Especially you have to care about iTunes and other database-backed software, so that only one instance of it (iTunes) might be run on one computer between two synchronization processes.</p>
<h3>Unison convenience</h3>
<p>Because always calling</p>
<pre>unison -servercmd "/opt/local/bin/unison" UnisonTestDir</pre>
<p>all the time is very annoying, I built a little Bash-Script that will run unison for every existing profile:</p>
<pre>#! /bin/sh
servercmd="/opt/local/bin/unison"
for profile in /Users/ninan/Library/Application Support/Unison/*.prf
do
	baseprofile=`basename "$profile" .prf`
	echo "Synchronizing $baseprofile"

	/opt/local/bin/unison $baseprofile -auto -servercmd "$servercmd" -ui text
done</pre>
<p>Save this file to /Users/user/bin/syncws and make it executable. Now all you should have todo is to run syncws in Terminal every time you want to synchronize your directories.</p>
<p>If you found these Unison steps hard to follow because all of the shell work, it isn´t probably for you.</p>
<h2>Conclusion</h2>
<p>Apart from MobileMe everything is free and apart from Unison everything happens automatically (most of the time).</p>
<p>You should consider, that either MobileMe and Foxmarks put your data onto servers outside your reach. I consider Apple trustworthy and aware of their responsibilty (They state to encrypt your data with your MobileMe password) and my bookmarks are not that critical in terms of privacy that I wouldn´t give Foxmarks a shot.</p>
<p>I would like to replace the MobileMe sync services with something free and open, but this decision has to be made within a year from now since I just renewed my subscription (BTW Today I´ve found out about <a title="Fruux project homepage" href="http://fruux.com/start/" target="_blank">fruux</a> as <a title="Twitter profile of @fruux" href="http://twitter.com/fruux" target="_blank">they</a> started to follow <a href="http://twitter.com/softmetz" target="_blank">me on Twitter</a>). I will look for alternatives in the near future.</p>
<p>Unison, if used right and with a bit of care, is hell of a tool. I use it for years now on either Linux and Mac OS X without big pain. But since with great power comes great responsibility, you should think twice about implementing the Unison solution. Unfortunally I wasn´t yet able to find working and stable GUIs for Unison apart from the command line interface.</p>
<p>OmniFocus, btw. supports several synchronization strategies out of the box. I use idisk based synchronization.</p>
<div class="shr-publisher-798"></div>]]></content:encoded>
			<wfw:commentRss>http://nerdicism.com/2009/03/two-macs-an-iphone-sharing-one-life/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>π-day ctd. 2</title>
		<link>http://nerdicism.com/2009/03/pi-day-ctd-2/</link>
		<comments>http://nerdicism.com/2009/03/pi-day-ctd-2/#comments</comments>
		<pubDate>Sat, 14 Mar 2009 16:00:30 +0000</pubDate>
		<dc:creator>ninan</dc:creator>
				<category><![CDATA[Science & Technology]]></category>
		<category><![CDATA[math]]></category>
		<category><![CDATA[pi]]></category>
		<category><![CDATA[Piraten]]></category>

		<guid isPermaLink="false">http://ninan.info/?p=169</guid>
		<description><![CDATA[Sun is getting down on this wonderful π-day. If you don´t know what to watch tonight, try the wonderfully disturbing movie π:]]></description>
			<content:encoded><![CDATA[<p>Sun is getting down on this wonderful <a title="Lets party half around the clock" href="http://ninan.info/2009/03/happy-day/" target="_self">π-day</a>. If you don´t know what to watch tonight, try the wonderfully disturbing <a title="Wikipedia on movie &amp;pi;" href="http://en.wikipedia.org/wiki/Pi_(film)" target="_blank">movie π</a>:</p>
<p><object width="425" height="344" data="http://www.youtube.com/v/oQ1sZSCz47w&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/oQ1sZSCz47w&amp;hl=en&amp;fs=1" /><param name="allowfullscreen" value="true" /></object></p>
<div class="shr-publisher-797"></div>]]></content:encoded>
			<wfw:commentRss>http://nerdicism.com/2009/03/pi-day-ctd-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>π-day ctd.</title>
		<link>http://nerdicism.com/2009/03/pi-day-ctd/</link>
		<comments>http://nerdicism.com/2009/03/pi-day-ctd/#comments</comments>
		<pubDate>Sat, 14 Mar 2009 12:00:28 +0000</pubDate>
		<dc:creator>ninan</dc:creator>
				<category><![CDATA[Science & Technology]]></category>
		<category><![CDATA[math]]></category>
		<category><![CDATA[pi]]></category>
		<category><![CDATA[Piraten]]></category>

		<guid isPermaLink="false">http://ninan.info/?p=164</guid>
		<description><![CDATA[While I was celebrating π-day I found that incredible video on MAKE:]]></description>
			<content:encoded><![CDATA[<p>While I was celebrating <a title="Lets party half around the clock" href="http://ninan.info/2009/03/happy-day/" target="_self">π-day</a> I found that incredible video on <a title="MAKE celebrates &amp;pi;-day" href="http://blog.makezine.com/archive/2009/03/celebrate_pi_day.html?CMP=OTC-0D6B48984890" target="_blank">MAKE</a>:</p>
<p><object width="425" height="344" data="http://www.youtube.com/v/Mfr7xG6smhU&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="src" value="http://www.youtube.com/v/Mfr7xG6smhU&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" /><param name="allowfullscreen" value="true" /></object></p>
<div class="shr-publisher-796"></div>]]></content:encoded>
			<wfw:commentRss>http://nerdicism.com/2009/03/pi-day-ctd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Happy π-day (Lets party half around the clock)</title>
		<link>http://nerdicism.com/2009/03/happy-day/</link>
		<comments>http://nerdicism.com/2009/03/happy-day/#comments</comments>
		<pubDate>Sat, 14 Mar 2009 01:14:11 +0000</pubDate>
		<dc:creator>ninan</dc:creator>
				<category><![CDATA[Science & Technology]]></category>
		<category><![CDATA[math]]></category>
		<category><![CDATA[nerdy holiday]]></category>
		<category><![CDATA[Piraten]]></category>

		<guid isPermaLink="false">http://ninan.info/?p=103</guid>
		<description><![CDATA[3.14159265358979323846264338327950288419716939937510582097 4944592307816406286208998628034825342117067982148086513282 3066470938446095505822317253594081284811174502841027019385 2110555964462294895493038196442881097566593344612847564823 3786783165271201909145648566923460348610454326648213393607 2602491412737245870066063155881748815209209628292540917153 6436789259036001133053054882046652138414695194151160943305 7270365759591953092186117381932611793105118548074462379962 7495673518857527248912279381830119491298336733624406566430 8602139494639522473719070217986094370277053921717629317675 2384674818467669405132000568127145263560827785771342757789 6091736371787214684409012249534301465495853710507922796892 5892354201995611212902196086403441815981362977477130996051 8707211349999998372978049951059731732816096318595024459455 3469083026425223082533446850352619311881710100031378387528 8658753320838142061717766914730359825349042875546873115956 2863882353787593751957781857780532171226806613001927876611 1959092164201989380952572010654858632788659361533818279682 3030195203530185296899577362259941389124972177528347913151 5574857242454150695950829533116861727855889075098381754637 4649393192550604009277016711390098488240128583616035637076 6010471018194295559619894676783744944825537977472684710404 7534646208046684259069491293313677028989152104752162056966 0240580381501935112533824300355876402474964732639141992726 0426992279678235478163600934172164121992458631503028618297 4555706749838505494588586926995690927210797509302955321165 3449872027559602364806654991198818347977535663698074265425 2786255181841757467289097777279380008164706001614524919217 3217214772350141441973568548161361157352552133475741849468 4385233239073941433345477624168625189835694855620992192221 8427255025425688767179049460165346680498862723279178608578 4383827967976681454100953883786360950680064225125205117392 9848960841284886269456042419652850222106611863067442786220 3919494504712371378696095636437191728746776465757396241389 0865832645995813390478027590099465764078951269468398352595 7098258226205224894077267194782684826014769909026401363944 3745530506820349625245174939965143142980919065925093722169 6461515709858387410597885959772975498930161753928468138268 6838689427741559918559252459539594310499725246808459872736 4469584865383673622262609912460805124388439045124413654976 2780797715691435997700129616089441694868555848406353422072 2258284886481584560285060168427394522674676788952521385225 4995466672782398645659611635488623057745649803559363456817 4324112515076069479451096596094025228879710893145669136867 2287489405601015033086179286809208747609178249385890097149 0967598526136554978189312978482168299894872265880485756401 4270477555132379641451523746234364542858444795265867821051 1413547357395231134271661021359695362314429524849371871101 4576540359027993440374200731057853906219838744780847848968 3321445713868751943506430218453191048481005370614680674919 2781911979399520614196634287544406437451237181921799983910 1591956181467514269123974894090718649423196156794520809514 6550225231603881930142093762137855956638937787083039069792 0773467221825625996615014215030680384477345492026054146659 25201497440 [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>3.14159265358979323846264338327950288419716939937510582097<br />
4944592307816406286208998628034825342117067982148086513282<br />
3066470938446095505822317253594081284811174502841027019385<br />
2110555964462294895493038196442881097566593344612847564823<br />
3786783165271201909145648566923460348610454326648213393607<br />
2602491412737245870066063155881748815209209628292540917153<br />
6436789259036001133053054882046652138414695194151160943305<br />
7270365759591953092186117381932611793105118548074462379962<br />
7495673518857527248912279381830119491298336733624406566430<br />
8602139494639522473719070217986094370277053921717629317675<br />
2384674818467669405132000568127145263560827785771342757789<br />
6091736371787214684409012249534301465495853710507922796892<br />
5892354201995611212902196086403441815981362977477130996051<br />
8707211349999998372978049951059731732816096318595024459455<br />
3469083026425223082533446850352619311881710100031378387528<br />
8658753320838142061717766914730359825349042875546873115956<br />
2863882353787593751957781857780532171226806613001927876611<br />
1959092164201989380952572010654858632788659361533818279682<br />
3030195203530185296899577362259941389124972177528347913151<br />
5574857242454150695950829533116861727855889075098381754637<br />
4649393192550604009277016711390098488240128583616035637076<br />
6010471018194295559619894676783744944825537977472684710404<br />
7534646208046684259069491293313677028989152104752162056966<br />
0240580381501935112533824300355876402474964732639141992726<br />
0426992279678235478163600934172164121992458631503028618297<br />
4555706749838505494588586926995690927210797509302955321165<br />
3449872027559602364806654991198818347977535663698074265425<br />
2786255181841757467289097777279380008164706001614524919217<br />
3217214772350141441973568548161361157352552133475741849468<br />
4385233239073941433345477624168625189835694855620992192221<br />
8427255025425688767179049460165346680498862723279178608578<br />
4383827967976681454100953883786360950680064225125205117392<br />
9848960841284886269456042419652850222106611863067442786220<br />
3919494504712371378696095636437191728746776465757396241389<br />
0865832645995813390478027590099465764078951269468398352595<br />
7098258226205224894077267194782684826014769909026401363944<br />
3745530506820349625245174939965143142980919065925093722169<br />
6461515709858387410597885959772975498930161753928468138268<br />
6838689427741559918559252459539594310499725246808459872736<br />
4469584865383673622262609912460805124388439045124413654976<br />
2780797715691435997700129616089441694868555848406353422072<br />
2258284886481584560285060168427394522674676788952521385225<br />
4995466672782398645659611635488623057745649803559363456817<br />
4324112515076069479451096596094025228879710893145669136867<br />
2287489405601015033086179286809208747609178249385890097149<br />
0967598526136554978189312978482168299894872265880485756401<br />
4270477555132379641451523746234364542858444795265867821051<br />
1413547357395231134271661021359695362314429524849371871101<br />
4576540359027993440374200731057853906219838744780847848968<br />
3321445713868751943506430218453191048481005370614680674919<br />
2781911979399520614196634287544406437451237181921799983910<br />
1591956181467514269123974894090718649423196156794520809514<br />
6550225231603881930142093762137855956638937787083039069792<br />
0773467221825625996615014215030680384477345492026054146659<br />
25201497440</p></blockquote>
<p>&#8211; echo &#8220;scale=3141; 4*a(1)&#8221; | bc -l</p>
<div class="shr-publisher-795"></div>]]></content:encoded>
			<wfw:commentRss>http://nerdicism.com/2009/03/happy-day/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A break for time</title>
		<link>http://nerdicism.com/2009/03/a-break-for-time/</link>
		<comments>http://nerdicism.com/2009/03/a-break-for-time/#comments</comments>
		<pubDate>Sun, 08 Mar 2009 17:40:00 +0000</pubDate>
		<dc:creator>ninan</dc:creator>
				<category><![CDATA[Science & Technology]]></category>
		<category><![CDATA[cyberspace]]></category>
		<category><![CDATA[Piraten]]></category>
		<category><![CDATA[quantum physics]]></category>
		<category><![CDATA[simulation]]></category>
		<category><![CDATA[speculation]]></category>
		<category><![CDATA[time]]></category>

		<guid isPermaLink="false">http://ninan.info/2009/03/a-break-for-time/</guid>
		<description><![CDATA[When I went to underground train this morning I passed an ad which was stating &#8220;The only place in the world you wish time stood still&#8221;. So what would you get from this, I asked myself. When time stood still, I wouldn&#8217;t care because MY time stood still, too. This leads to the conclusion, that [...]]]></description>
			<content:encoded><![CDATA[<p>When I went to underground train this morning I passed an ad which was stating &#8220;The only place in the world you wish time stood still&#8221;. So what would you get from this, I asked myself. When time stood still, I wouldn&#8217;t care because MY time stood still, too.</p>
<p>This leads to the conclusion, that our existence and awareness needs these ticks of time we define as period of elementary particle processes. What is the minimal time period? Probably the time it takes to move one elementary particle the minimal distance. What´s the minimal distance? I don´t know. Perhaps every particle is everywhere at every time and we only change our view? There are plenty of theories around this and I don´t want to add one more here.</p>
<p>What I really do think about is, what happens between two of these minimal time ticks? What if between two of them there is a very long break which happens in another time. In this OTHER time everything gets arranged for the next tick. Sounds mad, doesn´t it?</p>
<p>So now imagine a computer at todays levels of CPU power and incredible huge storage to hold the third dimension coordinates of all elementary particles including there features as spin, type etc. that makes up a universe equal sized to ours. Now this computer might simulate the universe by moving each elementary particle one by one inside the rules of quantum physics (ok, lets assume multicore processing and some neat algorithms). From outside the computer it will take a very long time to get things (the next tick of time) done. But inside the computer and inside the simulated universe time will run as smoothly as OURS. So does it still sound so mad to talk about time that run between ours?</p>
<div class="shr-publisher-785"></div>]]></content:encoded>
			<wfw:commentRss>http://nerdicism.com/2009/03/a-break-for-time/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Doppler effect poem</title>
		<link>http://nerdicism.com/2009/03/doppler-effect-poem/</link>
		<comments>http://nerdicism.com/2009/03/doppler-effect-poem/#comments</comments>
		<pubDate>Tue, 03 Mar 2009 21:00:04 +0000</pubDate>
		<dc:creator>ninan</dc:creator>
				<category><![CDATA[Science & Technology]]></category>
		<category><![CDATA[astrophysics]]></category>
		<category><![CDATA[Piraten]]></category>
		<category><![CDATA[space]]></category>
		<category><![CDATA[wavelength]]></category>

		<guid isPermaLink="false">http://ninan.info/wordpress/?p=49</guid>
		<description><![CDATA[A galaxy seems red When it recedes from you. And when it approaches It will look nicely blue.  &#8211; ninan This little poem refers to the famous Doppler effect (Doppler shift) which is named after the austrian scientist Christian Doppler. In fact this is the relativistic version of the Doppler effect, which considers the effects [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>A galaxy seems red</p>
<p>When it recedes from you.</p>
<p>And when it approaches</p>
<p>It will look nicely blue. </p></blockquote>
<p>&#8211; ninan</p>
<p>This little poem refers to the famous <a title="Wikipedia on Doppler effect" href="http://en.wikipedia.org/wiki/Doppler_effect">Doppler effect (Doppler shift)</a> which is named after the austrian scientist <a title="Wikipedia on Christian Doppler, austria scientist" href="http://en.wikipedia.org/wiki/Christian_Doppler">Christian Doppler</a>. In fact this is the relativistic version of the Doppler effect, which considers the effects of the <a title="Wikipedia on special theory of relativity" href="http://en.wikipedia.org/wiki/Special_relativity">special theory of relativity</a> by<a title="Wikipedia on Albert Einstein" href="http://en.wikipedia.org/wiki/Albert_Einstein"> Albert Einstein</a>.</p>
<div class="shr-publisher-784"></div>]]></content:encoded>
			<wfw:commentRss>http://nerdicism.com/2009/03/doppler-effect-poem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

