<?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>Makura no Soshi</title>
	<atom:link href="http://mschuette.name/wp/feed/" rel="self" type="application/rss+xml" />
	<link>http://mschuette.name/wp</link>
	<description>枕草子</description>
	<lastBuildDate>Mon, 30 Aug 2010 15:45:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>statische Bibliotheken</title>
		<link>http://mschuette.name/wp/2010/08/30/statische-bibliotheken/</link>
		<comments>http://mschuette.name/wp/2010/08/30/statische-bibliotheken/#comments</comments>
		<pubDate>Mon, 30 Aug 2010 15:45:20 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[Digital]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[gcc]]></category>
		<category><![CDATA[library]]></category>
		<category><![CDATA[programmieren]]></category>

		<guid isPermaLink="false">https://mschuette.name/wp/?p=600</guid>
		<description><![CDATA[Statische C Bibliotheken sind was tolles, denn wenn Funktionen fehlen dann gibt es beim Kompilieren schon eine Fehlermeldung. Wenn man diese Fehlermeldung &#8216;umgeht&#8217; indem man die Bibliothek nur dynamisch baut, dann kompiliert alles fein; aber weil die Funktionen weiterhin fehlen, tritt der Fehler dann eben zur Laufzeit auf und man kann umsomehr Stunden mit Debuggen [...]]]></description>
			<content:encoded><![CDATA[<p>Statische C Bibliotheken sind was tolles, denn wenn Funktionen fehlen dann gibt es beim Kompilieren schon eine Fehlermeldung.</p>
<p>Wenn man diese Fehlermeldung &#8216;umgeht&#8217; indem man die Bibliothek nur dynamisch baut, dann kompiliert alles fein; aber weil die Funktionen weiterhin fehlen, tritt der Fehler dann eben zur Laufzeit auf und man kann umsomehr Stunden mit Debuggen und Suchen verbringen.  <code>:-|</code></p>
]]></content:encoded>
			<wfw:commentRss>http://mschuette.name/wp/2010/08/30/statische-bibliotheken/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sommernachtkino</title>
		<link>http://mschuette.name/wp/2010/07/19/sommernachtkino/</link>
		<comments>http://mschuette.name/wp/2010/07/19/sommernachtkino/#comments</comments>
		<pubDate>Mon, 19 Jul 2010 13:18:03 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[Film]]></category>
		<category><![CDATA[kino]]></category>
		<category><![CDATA[movie]]></category>

		<guid isPermaLink="false">http://mschuette.name/wp/?p=345</guid>
		<description><![CDATA[Ein Dutzend Filme, ungeordnet, die ich gerne nochmal im Kino sehen möchte: Garden State Ten Minutes Older &#8211; The Trumpet 25th Hour Science of Sleep Land and Freedom Wilbur Wants to Kill Himself Reality Bites Blade Runner Once Upon a Time in America Un monde sans pitié Hamlet (der von K. Branagh) Kontroll (Inspiriert von [...]]]></description>
			<content:encoded><![CDATA[<p>Ein Dutzend Filme, ungeordnet, die ich gerne nochmal im Kino sehen möchte:<span id="more-345"></span></p>
<ul>
<li>Garden State</li>
<li>Ten Minutes Older &#8211; The Trumpet</li>
<li>25th Hour</li>
<li>Science of Sleep</li>
<li>Land and Freedom</li>
<li>Wilbur Wants to Kill Himself</li>
<li>Reality Bites</li>
<li>Blade Runner</li>
<li>Once Upon a Time in America</li>
<li>Un monde sans pitié</li>
<li>Hamlet (der von K. Branagh)</li>
<li>Kontroll</li>
</ul>
<p>(Inspiriert von S., weil wir letztes Jahr schonmal zusammen eine ähnliche Liste aufgestellt habe.)</p>
]]></content:encoded>
			<wfw:commentRss>http://mschuette.name/wp/2010/07/19/sommernachtkino/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ganz schön warm</title>
		<link>http://mschuette.name/wp/2010/07/12/ganz-schon-warm/</link>
		<comments>http://mschuette.name/wp/2010/07/12/ganz-schon-warm/#comments</comments>
		<pubDate>Sun, 11 Jul 2010 22:46:04 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[Digital]]></category>
		<category><![CDATA[eeepc]]></category>
		<category><![CDATA[lüfter]]></category>
		<category><![CDATA[sommer]]></category>

		<guid isPermaLink="false">https://mschuette.name/wp/?p=588</guid>
		<description><![CDATA[Bei diesem Wetter frage ich mich für welche Temperaturgradienten aktuelle Consumer-Hardware so spezifiziert ist&#8230; Oder anders formuliert: Wenn mich am EeePC der Lüfter nervt, kann ich dann einfach einen Kälte-Akku aus dem Eisfach drunterlegen?]]></description>
			<content:encoded><![CDATA[<p>Bei diesem Wetter frage ich mich für welche Temperaturgradienten aktuelle Consumer-Hardware so spezifiziert ist&#8230;</p>
<p>Oder anders formuliert: Wenn mich am EeePC der Lüfter nervt, kann ich dann einfach einen Kälte-Akku aus dem Eisfach drunterlegen?</p>
]]></content:encoded>
			<wfw:commentRss>http://mschuette.name/wp/2010/07/12/ganz-schon-warm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DTA-Leser</title>
		<link>http://mschuette.name/wp/2010/07/08/dta-leser/</link>
		<comments>http://mschuette.name/wp/2010/07/08/dta-leser/#comments</comments>
		<pubDate>Thu, 08 Jul 2010 21:46:43 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[dta]]></category>
		<category><![CDATA[dtaus]]></category>
		<category><![CDATA[dtazv]]></category>
		<category><![CDATA[payment_dta]]></category>
		<category><![CDATA[pear]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">https://mschuette.name/wp/?p=583</guid>
		<description><![CDATA[Das PEAR-DTA-Paket bekommt zur Zeit eine Lese-Funktion, um DTA/DTAZV-Dateien auch einlesen zu können. Mit dem DTA-Leser stelle ich nun ein Beispielskript online um Dateien entgegenzunehmen und ihren Inhalt anzuzeigen. Ist in einigen Situationen recht nützlich&#8230;]]></description>
			<content:encoded><![CDATA[<p>Das <a href="http://pear.php.net/package/Payment_DTA">PEAR-DTA-Paket</a> bekommt zur Zeit eine Lese-Funktion, um DTA/DTAZV-Dateien auch einlesen zu können.</p>
<p>Mit dem <a href="https://www.stud.uni-potsdam.de/~schuette/dta/">DTA-Leser</a> stelle ich nun ein Beispielskript online um Dateien entgegenzunehmen und ihren  Inhalt anzuzeigen. Ist in einigen Situationen recht nützlich&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://mschuette.name/wp/2010/07/08/dta-leser/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>M0n0wall vs. pfSense vs. NanoBSD</title>
		<link>http://mschuette.name/wp/2010/06/02/m0n0wall-vs-pfsense-vs-nanobsd/</link>
		<comments>http://mschuette.name/wp/2010/06/02/m0n0wall-vs-pfsense-vs-nanobsd/#comments</comments>
		<pubDate>Tue, 01 Jun 2010 23:10:02 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[Admin]]></category>
		<category><![CDATA[BSD]]></category>
		<category><![CDATA[english]]></category>
		<category><![CDATA[appliance]]></category>
		<category><![CDATA[bridge]]></category>
		<category><![CDATA[firewall]]></category>
		<category><![CDATA[freebsd]]></category>
		<category><![CDATA[ipv6]]></category>
		<category><![CDATA[m0n0wall]]></category>
		<category><![CDATA[nanobsd]]></category>
		<category><![CDATA[packet filter]]></category>
		<category><![CDATA[pf]]></category>
		<category><![CDATA[pfsense]]></category>
		<category><![CDATA[soekris]]></category>

		<guid isPermaLink="false">https://mschuette.name/wp/?p=570</guid>
		<description><![CDATA[Recently I replaced my office&#8217;s filtering network bridge which still ran on an old FreeBSD 4.11 box for the last eight years or so. The new system is based on a Soekris 5501, and because it took some time to choose the right software I decided to publish my notes on the tested BSD firewall [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I replaced my office&#8217;s filtering network bridge which still ran on an old FreeBSD 4.11 box for the last eight years or so. The new system is based on a <a href="http://soekris.com/net5501.htm">Soekris 5501</a>, and because it took some time to choose the right software I decided to publish my notes on the tested BSD firewall products.<br />
<span id="more-570"></span><br />
<a href="http://m0n0.ch/wall/">M0n0wall</a>: I have already used this as a NAT router and liked the web-based configuration (which I percieved as convenient but not limiting), so it was the first candidate. But I found it to be &#8216;too small&#8217; for my plans. It allows neither the installation of additional software, nor does it allow ssh login for scriptable configuration changes. It also does not use <a href="http://www.openbsd.org/faq/pf/">pf</a>, which I tend to prefer for its concise configuration and dynamic tables.</p>
<p><a href="http://pfsense.org/">pfSense</a>: M0n0wall&#8217;s big brother; bigger, more complete, and more customizable. But with one major problem: no IPv6 support. It is 2010, with only 1-2 years until the <a href="http://www.potaroo.net/tools/ipv4/">IPv4 address pool exhaustion</a>&#8230; deploying network infrastructure without IPv6 support is ridiculous and not an option. – Another problem seems to be a limited support for bridge setups: There are always a number of standard pf rules, which are hard to circumvent in case of problems. I nearly settled to use the web-interface for IPv4, and insert my own IPv6 rules into the PHP scripts. But this would have made it even harder to maintain than a solution without any web-interface.</p>
<p><a href="http://www.freebsd.org/doc/en/articles/nanobsd/index.html">NanoBSD</a>: So I finally took the chance to build my own small FreeBSD system for the task. NanoBSD is basically a script to do a FreeBSD &#8216;make world&#8217;, allow for some customization, and finally put everything into a CF-ready disk image. Of course the first attempt required several changes after installation (it&#8217;s really hard to think of all configuration steps beforehand), but everything went well without major problems.</p>
<p>Thus I chose NanoBSD. YMMV, and I would not recommend it for anyone not familiar with BSD. – But with four other BSD servers the additional maintenance effort is really small; possibly even easier than with any non-standard or web-based configuration.</p>
]]></content:encoded>
			<wfw:commentRss>http://mschuette.name/wp/2010/06/02/m0n0wall-vs-pfsense-vs-nanobsd/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>New Mailman Logo</title>
		<link>http://mschuette.name/wp/2010/05/27/new-mailman-logo/</link>
		<comments>http://mschuette.name/wp/2010/05/27/new-mailman-logo/#comments</comments>
		<pubDate>Thu, 27 May 2010 00:14:15 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[Mailman]]></category>
		<category><![CDATA[english]]></category>
		<category><![CDATA[logo]]></category>

		<guid isPermaLink="false">https://mschuette.name/wp/?p=564</guid>
		<description><![CDATA[I like the new logo for Mailman.]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter" title="GNU Mailman Logo" src="/wp/wp-upload/mailman_logo_2010.jpg" alt="GNU Mailman Logo" width="301" height="125" /></p>
<p style="text-align: center;">I like the <a href="http://www.wefearchange.org/2010/05/we-have-winner.html">new logo</a> for <a href="http://www.list.org/">Mailman</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://mschuette.name/wp/2010/05/27/new-mailman-logo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tips for handling big SQL dumps</title>
		<link>http://mschuette.name/wp/2010/05/15/tips-for-handling-big-sql-dumps/</link>
		<comments>http://mschuette.name/wp/2010/05/15/tips-for-handling-big-sql-dumps/#comments</comments>
		<pubDate>Sat, 15 May 2010 17:19:08 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[Admin]]></category>
		<category><![CDATA[english]]></category>
		<category><![CDATA[diff]]></category>
		<category><![CDATA[files]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[split]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">https://mschuette.name/wp/?p=553</guid>
		<description><![CDATA[Recently I had to work with SQL dumps to recover a database server and to update a MySQL installation. Because complete SQL dumps are too big to handle them with diff and vi (with enough memory vim actually works on large files, but it is really slow) I needed more traditional tools to compare them [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I had to work with SQL dumps to recover a database server and to update a MySQL installation. Because complete SQL dumps are too big to handle them with <code>diff</code> and <code>vi</code> (with enough memory <code>vim</code> actually works on large files, but it is really slow) I needed more traditional tools to compare them and to extract only the parts I needed.</p>
<p><span id="more-553"></span>To extract single DB dumps from a complete dump find the line numbers where the single DB dumps start. Then use <code>sed</code> to print only the lines from the start of the searched DB and the next one. <code>mysqldump</code> seems to use separate passes for data, stored routines, and  triggers &#8212; so there may be multiple ranges of lines in a complete  dump:</p>
<blockquote>
<pre>fgrep -n 'Current Database: ' dump_all.sql
sed -n -e '86226,93282p' -e '123249,123254p' \
  dump_all.sql &gt; db_test.sql
</pre>
</blockquote>
<p><code>diff</code> loads the files it works on into memory, thus it cannot be used for large files (&gt;= 1Gb). To extract multiple DBs or to compare dumps it is useful to <code>split</code> the SQL dump at DB boundaries:</p>
<blockquote>
<pre>split -p 'Current Database: ' dump_all.sql</pre>
</blockquote>
<p>The resulting partial files can be renamed/concatenated to one file per DB (using tcsh syntax here):</p>
<blockquote>
<pre>foreach f ( x?? )
  set dbname=`head -1 $f \
  | sed -e 's/^-- Current Database: .\(.*\).$/\1/' \
    -e 's/^-- MySQL dump.*$/dumpheader/'`
  test $dbname &amp;&amp; cat $f &gt;&gt; part-${dbname} &amp;&amp; rm $f
end
</pre>
</blockquote>
<p>If we did this with two SQL dumps in $dir1 and $dir2, then we can compare them chunk by chunk (assuming every DB on itself is small enough to fit into memory for diff):</p>
<blockquote>
<pre>foreach f ($dir1/part-*)
  diff --ignore-case --ignore-space-change \
    --ignore-blank-lines -u \
    $dir1/$f $dir2/$f &gt;&gt; /tmp/diff.out
end
</pre>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://mschuette.name/wp/2010/05/15/tips-for-handling-big-sql-dumps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>zeitmanagement</title>
		<link>http://mschuette.name/wp/2010/04/28/zeitmanagement/</link>
		<comments>http://mschuette.name/wp/2010/04/28/zeitmanagement/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 09:49:33 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[Uni]]></category>
		<category><![CDATA[mecker]]></category>

		<guid isPermaLink="false">https://mschuette.name/wp/?p=549</guid>
		<description><![CDATA[Supi. Da will ich genau zwei Vorlesungen hören – und beide überschneiden sich zeitlich.  :-&#124;]]></description>
			<content:encoded><![CDATA[<p>Supi. Da will ich genau zwei Vorlesungen hören – und beide überschneiden sich zeitlich.  <code>:-|</code></p>
]]></content:encoded>
			<wfw:commentRss>http://mschuette.name/wp/2010/04/28/zeitmanagement/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>On Invaluable Resources</title>
		<link>http://mschuette.name/wp/2010/04/25/on-invaluable-resources/</link>
		<comments>http://mschuette.name/wp/2010/04/25/on-invaluable-resources/#comments</comments>
		<pubDate>Sun, 25 Apr 2010 13:10:58 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[Admin]]></category>
		<category><![CDATA[Digital]]></category>
		<category><![CDATA[english]]></category>
		<category><![CDATA[names]]></category>
		<category><![CDATA[resources]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[thoughts]]></category>

		<guid isPermaLink="false">https://mschuette.name/wp/?p=544</guid>
		<description><![CDATA[Names and numbers are important but invaluable resources in IT (e.g. URIs, IPs, e-mail adresses). Their consideration nicely distinguishes techies (for lack of a better word; everyone with certain technological experience and proficiency) from non-techies (e.g. management :-&#62;). Non-techies see these resources as abundant and dirt-cheap because they do not cost any money. – Whereas [...]]]></description>
			<content:encoded><![CDATA[<p>Names and numbers are important but invaluable resources in IT (e.g. URIs, IPs, e-mail adresses). Their consideration nicely distinguishes techies (for lack of a better word; everyone with certain technological experience and proficiency) from non-techies (e.g. management <code>:-&gt;</code>).</p>
<p>Non-techies see these resources as abundant and dirt-cheap because they do not cost any money. – Whereas techies regard them are scarce and expensive because no amount of money can completely revert a bad allocation.</p>
]]></content:encoded>
			<wfw:commentRss>http://mschuette.name/wp/2010/04/25/on-invaluable-resources/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Summer of Code 2010</title>
		<link>http://mschuette.name/wp/2010/04/06/google-summer-of-code-2010/</link>
		<comments>http://mschuette.name/wp/2010/04/06/google-summer-of-code-2010/#comments</comments>
		<pubDate>Mon, 05 Apr 2010 23:34:24 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[Digital]]></category>
		<category><![CDATA[english]]></category>
		<category><![CDATA[gsoc08]]></category>
		<category><![CDATA[gsoc10]]></category>

		<guid isPermaLink="false">https://mschuette.name/wp/?p=536</guid>
		<description><![CDATA[A quick reminder: the application deadline for GSoC2010 is this friday. I highly recommend to participate because it is a great opportunity to get the experience of working with a mentor in a large open source project. And don&#8217;t be afraid to apply (beware of impostor syndrome). If you have a project in mind and [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://code.google.com/soc"><img class="alignright" src="/wp/wp-upload/GSoC_2010_300x267px.jpg" alt="Logo: Google Summer of Code 2010" width="300" height="267" /></a>A quick reminder: the application deadline for <a href="http://socghop.appspot.com/">GSoC2010</a> is this friday.</p>
<p>I highly recommend to participate because it is a great opportunity to get the experience of working with a mentor in a large open source project.</p>
<p><span id="more-536"></span></p>
<p>And don&#8217;t be afraid to apply (<a href="http://geekfeminism.org/2010/03/25/showing-your-awesomeness-for-google-summer-of-code/">beware of impostor syndrome</a>). If you have a project in mind and are able to describe in a few sentences why it&#8217;s useful then you should go for it. If you have doubts or questions then you can still ask on the project&#8217;s mailinglist or IRC channel to get a second opinion.</p>
]]></content:encoded>
			<wfw:commentRss>http://mschuette.name/wp/2010/04/06/google-summer-of-code-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
