<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
    <channel>
        <title>rainboxx - Matthias Dietrich</title>
        <link>http://www.rainboxx.de/</link>
        <description>was ich mitbekomme und wichtig finde...</description>
        <language>de</language>
        <copyright>Copyright 2010</copyright>
        <lastBuildDate>Tue, 01 Jun 2010 22:56:01 +0100</lastBuildDate>
        <generator>http://www.sixapart.com/movabletype/</generator>
        <docs>http://www.rssboard.org/rss-specification</docs>
        
        <item>
            <title>Announcement: CloudApp::REST version 0.01 published</title>
            <description><![CDATA[For a few weeks now this module lies within my workspace as almost finished, all I needed to do is doing some documentation fixes. Finally I got these done :-).<br /><br /><b>What is CloudApp?</b><br /><br /><img alt="cloudapp_logo.png" src="http://www.rainboxx.de/2010/06/01/cloudapp_logo.png" class="mt-image-left" style="float: left; margin: 0pt;" height="30" width="170" /><br /><br /><a href="http://www.getcloudapp.com/">CloudApp</a> is a nice and small application for all Mac OS X computers. Here's how they describe themself:<br /><br /><blockquote><font style="font-size: 1.25em;">»</font> CloudApp allows you to share images, links, music, videos  and files. Here is how it works: choose a file, drag it to the menubar and let us take care of the rest. We provide you with a short link automatically copied to your clipboard that you can use to share your upload with co-workers and friends. <font style="font-size: 1.25em;">«</font></blockquote><br />This tool is very handy when it comes to sharing screenshots, as they are uploaded instantly. I use it very often. And because I like it so much I thought to write a small Perl API interface so others can build nice tools around this tool!<br /><br /><b>The Perl interface</b><br /><br />The Perl interface to the API, called <a href="http://search.cpan.org/perldoc?CloudApp::REST">CloudApp::REST</a>, is completely object-oriented and takes advantage of <a href="http://search.cpan.org/perldoc?Moose">Moose</a>, a "postmodern object system for Perl 5". It fully supports   the <a href="http://support.getcloudapp.com/faqs/developers/api">CloudApp API</a>, provides proxy functionality and representations for every CloudApp item type.<br /><br />You can get <a href="http://search.cpan.org/perldoc?CloudApp::REST">CloudApp::REST</a> at the nearest <a href="http://search.cpan.org/">CPAN</a> mirror or from CPAN directly. You can find online documentation, smoke testing results, bug tracker and more at <a href="http://search.cpan.org/perldoc?CloudApp::REST">http://search.cpan.org/perldoc?CloudApp::REST</a> (once they are available through the automatic processes of <a href="http://pause.cpan.org/">PAUSE</a>).<br /><br /><b>Please test, bend and break!<br /><br /></b>Yes, please do so! Every bug and spelling error ;-) that is discovered is one less, so please try and test CloudApp::REST. Please report any bugs to the bug tracker mentioned in the docs, so everyone can see and discuss!<br /><br />Thanks!<br /><br /><font style="font-size: 0.8em;">P.S.: There are some <a href="http://support.getcloudapp.com/faqs/developers/wrappers">API wrappers</a> written in other languages, too, and I heard from a Linux client as well. So maybe this will be a tool for all platforms someday :-).</font> <br />]]></description>
            <link>http://www.rainboxx.de/2010/06/announcement-cloudapprest-vers.html</link>
            <guid>http://www.rainboxx.de/2010/06/announcement-cloudapprest-vers.html</guid>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">API</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">CloudApp</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">CPAN</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">module</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">Perl</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">REST</category>
            
            <pubDate>Tue, 01 Jun 2010 22:56:01 +0100</pubDate>
        </item>
        
        <item>
            <title>Call for Papers: 12. Deutscher Perl-Workshop 2010: „Modern Perl&quot;</title>
            <description><![CDATA[<div><div>Vom 7. bis 9. Juni 2010 findet der <a href="http://www.perl-workshop.de/de/">12. Deutsche Perl-Workshop</a> in Schorndorf bei Stuttgart statt. Zielgruppe des Workshops sind alle Perl-Anwender und die, die es werden wollen.</div><div><br /></div><div>Der Workshop steht und fällt mit den Vorträgen, die 5, 20 oder 40 Minuten lang sein können.&nbsp;</div><div><br /></div><div>Alle Themen, die mit Perl oder dem Perl-Umfeld, insbesondere dem Thema „Modern Perl", zu tun haben, können als Vorträge für den Workshop interessant sein. Die Einreichungsfrist für Vorschläge wurde auf Freitag, den 05. März 2010 verlängert.&nbsp;</div><div><br /></div><div>&nbsp;&nbsp;<a href="http://conferences.yapceurope.org/gpw2010">http://conferences.yapceurope.org/gpw2010</a></div><div><br /></div><div>Der Deutsche Perl-Workshop ist die jährliche Konferenz meist deutschsprachiger Anwender und Entwickler der Programmiersprache Perl. Der Schwerpunkt des von der Deutscher Perl-Workshop GbR und der <a href="http://www.region-stuttgart.de">Wirtschaftsförderung Region Stuttgart</a> (WRS) verstaltelten Workshops ist „Modern Perl". Dabei spielen zum Beispiel die Module Catalyst, Moose und DBIx::Class eine wichtige Rolle. Catalyst als sehr flexibles Webframework, Moose mit einer postmodernen Objektorientierung für Perl und DBIx::Class als Schicht zwischen Anwendung und Datenbanken.</div><div><br /></div><div><hr id="en"></div><div><div><br /></div><div><b>Call for Papers: 12th German Perl Workshop 2010: "Modern Perl"</b></div><div><br /></div><div>The <a href="http://www.perl-workshop.de/en/">12th German Perl Workshop</a> will be hosted from June 7th to 9th 2010 in Schorndorf near Stuttgart. The workshop is targeted towards all experienced and beginning Perl developers.</div><div><br /></div><div>Obviously, the workshop is only as good as its talks -- your talks. We are interested in all talks about Perl itself or about Perl related topics, and especially talks that would apply to this year's motto "Modern Perl". The submission deadline for your 5, 20 or 40 minute talks has been extended until March 5th, 2010.</div><div><br /></div><div>&nbsp;&nbsp;<a href="http://conferences.yapceurope.org/gpw2010">http://conferences.yapceurope.org/gpw2010</a></div><div><br /></div><div>The German Perl Workshop is a yearly held conference with mostly german-speaking users and developers of the Perl programming language. The main focus of the workshop held by the Deutscher Perl-Workshop GbR and the <a href="http://www.region-stuttgart.de/">Wirtschaftsförderung Region Stuttgart</a> (WRS) is "Modern Perl". The CPAN modules Catalyst, Moose and DBIx::Class are playing major roles: Catalyst as a flexible web framework, Moose with its postmodern object system for Perl and DBIx::Class as a layer between applications and databases.</div></div></div>]]></description>
            <link>http://www.rainboxx.de/2010/02/call-for-papers-12-deutscher-p.html</link>
            <guid>http://www.rainboxx.de/2010/02/call-for-papers-12-deutscher-p.html</guid>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">Modern Perl</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">Perl</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">Perl-Workshop</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">PWS</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">Schorndorf</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">Stuttgart</category>
            
            <pubDate>Wed, 17 Feb 2010 22:12:39 +0100</pubDate>
        </item>
        
        <item>
            <title>Tipps &amp; Tricks: perl^M: bad interpreter</title>
            <description><![CDATA[<span class="Apple-style-span" style="color: rgb(75, 75, 75); font-family: 'lucida grande', 'trebuchet ms', arial, hirakakupro-w3, osaka, 'ms pgothic', sans-serif; "><i>Manche Probleme begegnen einem mehrmals im Leben. Meistens erkennt man erst beim zweiten Mal, dass man sich die Lösung besser hätte aufschreiben sollen. Mit den Beiträgen unter "Tipps &amp; Tricks" möchte ich meine Lösungen festhalten und sie gleichzeitig verbreiten.</i><div><br /></div><div>Windows macht manchmal schon einen Mist mit den Zeilenumbrüchen. &nbsp;Statt ein <code>\n</code>-Zeilenumbruch, wie es z.B. Linux und Mac OS X machen, verwendet Windows einen Zeilenumbruch, bestehend aus zwei Zeichen: <code>\r\n</code>. Ist wohl vielen bekannt.</div><div><br /></div><div>Nun, als Perl-Entwickler entwickelt man manchmal auch Perl-Skripte, die in der ersten Zeile den Interpreter angegeben ist. Dummerweise erkennen manche Linux-Distributionen ein <code>\r</code> als Teil des Interpreterpfades an, und versuchen anstatt <code>/usr/bin/perl</code> den Aufruf von <code>/usr/bin/perl\r</code> - auf der Konsole steht dann immer <code>/usr/bin/perl^M</code>.</div><div><br /></div><div>Die Lösung besteht darin, alle in der Datei enthaltenen <code>\r\n</code> durch jeweils <code>\n</code> zu ersetzen. Doch, wie macht man das am Besten ohne viel Aufwand? Der folgende Befehl zeigt, wie es sehr einfach geht, eine einzelne Datei entsprechend umzuwandeln:</div><div><br /></div>
<pre class="brush: perl">perl -pi -e 's/\r\n?/\n/' foo.pl</pre></span> ]]></description>
            <link>http://www.rainboxx.de/2010/01/tipps-tricks-perlm-bad-interpr.html</link>
            <guid>http://www.rainboxx.de/2010/01/tipps-tricks-perlm-bad-interpr.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Tipps &amp; Tricks</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">perl</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">tipps &amp; tricks</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">windows</category>
            
            <pubDate>Wed, 20 Jan 2010 18:40:46 +0100</pubDate>
        </item>
        
        <item>
            <title>Tipps &amp; Tricks: MySQL meldet &quot;Thread stack overrun&quot;</title>
            <description><![CDATA[<i>Manche Probleme begegnen einem mehrmals im Leben. Meistens erkennt man erst beim zweiten Mal, dass man sich die Lösung besser hätte aufschreiben sollen. Mit den Beiträgen unter "Tipps &amp; Tricks" möchte ich meine Lösungen festhalten und sie gleichzeitig verbreiten.</i><div><br /></div><div>Aufgrund des Upgrades von Leopard (Mac OS X 10.5) auf <a href="http://www.apple.com/de/macosx/">Snow Leopard</a> (10.6) liefen einige über <a href="http://www.macports.org/">Macports</a> installierte Applikationen und Dienste nicht mehr korrekt. Unter diesen war auch <a href="http://www.mysql.com/">MySQL</a>. Nach einem Update dieser Applikationen lieferte mir MySQL bei einem normalen <a href="http://dev.mysql.com/doc/refman/5.1/de/insert.html">Insert-Befehl</a> folgende Meldung:</div><div><br /></div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><code>Thread stack overrun: 4992 bytes used of a 131072 stack, and 128000 bytes needed. Use 'mysqld -O thread_stack=#' to specify a bigger stack</code>.</blockquote><div><br /></div><div>Die Lösung hierzu war, wie ich bereits vermutet hatte, eine (wohl fehlerhaft gesetzte) MySQL-Konfigurationsvariable in der Datei <i>my.cnf</i> zu ändern. &nbsp;Die Variable&nbsp;<i>thread_stack</i>&nbsp;muss auf einen höheren Wert, z.B. "256K" gesetzt und MySQL neugestartet werden.</div><div><br /></div><div>Übrigens, falls man MySQL unter Mac OS X nicht als LaunchDaemon laufen hat, kann man über die Kommandos&nbsp;<code>mysqladmin shutdown</code> und anschließend <code>mysqld_safe &amp;</code>&nbsp;(als root ausführen, z.B. mit sudo) einen Neustart von MySQL hinlegen.</div> ]]></description>
            <link>http://www.rainboxx.de/2010/01/manche-probleme-begegnen-einen.html</link>
            <guid>http://www.rainboxx.de/2010/01/manche-probleme-begegnen-einen.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Tipps &amp; Tricks</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">mac os x</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">mysql</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">tipps &amp; tricks</category>
            
            <pubDate>Wed, 13 Jan 2010 13:00:00 +0100</pubDate>
        </item>
        
        <item>
            <title>Zwei Jahre ist es her...</title>
            <description><![CDATA[Vor etwas mehr als zwei Jahren, genauer gesagt am <a href="http://www.rainboxx.de/2007/12/heute-mal-arbeitslos.html">03. Dezember 2007</a>, habe ich mein Gewerbe angemeldet. Seither hatte ich viel zu tun und eigentlich alles ist besser gelaufen als geplant und erwartet, wofür ich wirklich sehr, sehr dankbar bin! Ich freue mich, selbständig zu sein und meinen Kunden das bieten zu können, was sie <a href="http://www.rainboxx.de/skills.html">benötigen</a>: Professionelle Software-Entwicklung mit Schwerpunkt skalierbare Webapplikationen in Perl ;-).<div><br /></div><div>Selbstverständlich freue ich mich auch auf die Zukunft: nächstes Jahr steht einiges an. Und etwas hat bereits begonnen: ab sofort wird man uns nicht mehr in Stuttgart, sondern in Ludwigsburg im <a href="http://www.fmz.de">Film- und Medienzentrum</a> vorfinden, wo wir nun unser Büro haben. Die Adresse lautet:</div><div><br /></div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><b>rainboxx Matthias Dietrich</b></blockquote><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;">Königsallee 43</blockquote><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;">71638 Ludwigsburg</blockquote><br /><div>Eine Telefonnummer kann ich derzeit noch nicht nennen (wird erst am 04. Januar geschaltet). Wir freuen uns aber, wenn uns ab und an mal jemand besuchen kommt! Wir haben auch Espresso auf Vorrat ;-).</div><div><br /></div><div>Der ein oder andere frägt sich vielleicht, warum ich von "uns" und nicht von "mir" rede. Der Grund ist der, dass ich nicht mehr alleine bin, denn seit ein paar Monaten habe ich tatkräftige Unterstützung von meiner Freundin, welche inzwischen auch meine Mitarbeiterin ist. Sobald sich also das Arbeitsleben nach dem Umzug und der Einlernphase normalisiert hat, steht unseren Kunden die doppelte Arbeitskraft zur Verfügung!</div><div><br /></div><div>Auf ein neues Jahr mit vielen Überraschungen!</div><div><br /></div><div><br /></div><div><br /></div><div><font class="Apple-style-span" style="font-size: 0.8em; ">Hm, ich glaube, demnächst sollte ich mal meine Website überarbeiten...</font></div>]]></description>
            <link>http://www.rainboxx.de/2009/12/zwei-jahre-ist-es-her.html</link>
            <guid>http://www.rainboxx.de/2009/12/zwei-jahre-ist-es-her.html</guid>
            
            
            <pubDate>Sun, 27 Dec 2009 14:16:58 +0100</pubDate>
        </item>
        
        <item>
            <title>Volker Pispers #Zensursula</title>
            <description><![CDATA[<div>Ui, via <a href="http://www.nerdcore.de/wp/2009/06/23/volker-pispers-zu-zensursula/">nerdcore</a> von diesem Stück erfahren. Sehr schön und hörenswert! Hier meine zwei Lieblingspassagen:<br /><br />"<i>Das Stoppschild kennen Sie aus dem Straßenverkehr. Es heißt nicht "Durchfahrt verboten" oder "Straße gesperrt". Es heißt man soll anhalten, sicherstellen, dass keiner kommt, und dann in Ruhe weiterfahren.</i>"<br /><br />"<i>Vergleichbar wäre, ein Polizist überrascht einen Vergewaltiger auf frischer Tat, und statt sich auf ihn zu stürzen, errichtet er einen Sichtschutz, damit zufällig vorbeikommende Passanten die schrecklichen Bilder nicht unfreiwillig ansehen müssen.</i>"<br /><br />Sehr geil und sehr passende Vergleiche! Hört rein.<br /><br /></div><div><object height="25" width="480"><param name="movie" value="http://www.youtube.com/v/QLNn7MJnzoM&amp;hl=en&amp;fs=1&amp;rel=0" /><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><embed src="http://www.youtube.com/v/QLNn7MJnzoM&amp;hl=en&amp;fs=1&amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="25" width="480"></object></div><div><br />Der Vollständigkeithalber hier noch der Stream <a href="http://www.wdr.de/radio/wdr2/westzeit/detail.phtml?id=493439">beim WDR2</a> und <a href="http://www.youtube.com/watch?v=QLNn7MJnzoM">bei Youtube</a>.</div>]]></description>
            <link>http://www.rainboxx.de/2009/06/volker-pispers-zensursula.html</link>
            <guid>http://www.rainboxx.de/2009/06/volker-pispers-zensursula.html</guid>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">zensur</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">zensursula</category>
            
            <pubDate>Tue, 23 Jun 2009 17:12:41 +0100</pubDate>
        </item>
        
        <item>
            <title>Javascript-Problem: Array mit einem (boolschen) Wert</title>
            <description><![CDATA[Gestern habe ich an einem kleinen <a href="http://twitter.com/rainboxx/status/2158623810">Spaß-Projekt</a> gearbeitet, worin ein durch Javascript populiertes Koordinatensystem existiert. In dieses Koordinatensystem werden Elemente gemalt, die selbst als Koordinatensystem definiert sind. Jeder Punkt hat dabei einen boolschen Wert, also entweder 1 oder 0:

<pre class="brush: jscript">var element = new Array(
                        new Array( 0, 1, 1, 0 ),
                        new Array( 1, 0, 1, 0 )
                       );
</pre>

Mit zwei verschachtelten <code>for</code>-Schleifen kann man nun schön über das zweidimensionale Array drübergehen und die Elemente in das Koordinatensystem an die entsprechende Stelle malen.<br /><br />

Soweit, so gut. Es kam dann der Augenblick, als ich ein neues Element mit nur einem Punk auf der x-Achse definiert habe:

<pre class="brush: jscript">var element = new Array(
                        new Array( 1 ),
                        new Array( 1 )
                       );
</pre>

Dieses Element wurde nie gezeichnet, weil Javascript aus irgendeinem Grund die Anzahl der Elemente in der zweiten Dimension des Arrays als <code>undefiniert</code> ansah. Hier mal ein Beispiel:

<pre class="brush: jscript">var element = new Array(
                        new Array( 0, 1, 1, 0 ),
                        new Array( 1, 0, 1, 0 )
                       );
alert(element[0][1]);      // --&gt; "1"

var element2 = new Array(
                         new Array( 1 ),
                         new Array( 1 )
                        );
alert(element2[0][0]);     // --&gt; "undefined"
</pre>

Eine ganze Weile habe ich nach dem Problem gesucht, weil ich einfach keines sehen konnte. Klar, für mich ist hier auch immer noch keines ersichtlich und ich würde das Verhalten als Bug ansehen. Warum Javascript einen einzelnen boolschen Wert im Array als leer ansieht, ist mir nicht verständlich.<br /><br />

Die Lösung war dann, den boolschen Wert als <code>String</code> anzugeben, was IMHO ein wenig doof ist (und natürlich auch mehr Schreibarbeit bedeutet, solange die Elemente noch von Hand definiert werden. Der Vollständigkeit wegen hier ein Komplettbeispiel:

<pre class="brush: jscript">var element = new Array(
                        new Array( 0, 1, 1, 0 ),
                        new Array( 1, 0, 1, 0 )
                       );
alert(element[0][1]);      // --&gt; "1"

var element2 = new Array(
                         new Array( 1 ),
                         new Array( 1 )
                        );
alert(element2[0][0]);     // --&gt; "undefined"

var element3 = new Array(
                         new Array( "1" ),
                         new Array( "1" )
                        );
alert(element3[0][0]);     // --&gt; "1"
</pre>

Vielleicht kann mir jemand auf die Sprünge helfen, warum Javascript dieses Verhalten an den Tag legt. Ich würde das gerne mal wissen :).<br><br>

Ach ja, das Ganze habe ich bisher nur im Firefox 3.0.11 getestet; wie es in den anderen Browsern aussieht, kann ich derzeit nicht sagen.]]></description>
            <link>http://www.rainboxx.de/2009/06/javascript-problem-array-mit-e.html</link>
            <guid>http://www.rainboxx.de/2009/06/javascript-problem-array-mit-e.html</guid>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">array</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">bug</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">fehler</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">javascript</category>
            
            <pubDate>Sun, 14 Jun 2009 16:17:05 +0100</pubDate>
        </item>
        
        <item>
            <title>Was Schäuble und Zensursula wirklich wollen</title>
            <description><![CDATA[ <div style="padding: 5px; background: rgb(255, 174, 174) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-align: center; margin-bottom: 8px; font-family: Arial,Helvetica,sans-serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal; font-size-adjust: none; font-stretch: normal; color: rgb(0, 0, 0);">This posting is not available in your country.</div>
[<a href="http://www.renzwertig.de/2009/05/censored.html">via</a>]]]></description>
            <link>http://www.rainboxx.de/2009/05/was-schauble-und-zensursula-wirklich-wollen.html</link>
            <guid>http://www.rainboxx.de/2009/05/was-schauble-und-zensursula-wirklich-wollen.html</guid>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">zensur</category>
            
            <pubDate>Sat, 23 May 2009 13:45:59 +0100</pubDate>
        </item>
        
        <item>
            <title>Artikel 5(1) GG, R.I.P.</title>
            <description><![CDATA[<p>Bei <a href="http://tautoko.info/2009/04/18/artikel-51-gg-rip/">Johannes Kleske</a> habe ich ein interessantes Zitat aus der <a href="http://www.sueddeutsche.de/panorama/813/465404/text/">SZ</a> gelesen:<br /></p><blockquote><p>"Wenn dieses Gesetz in Kraft tritt, wird es nicht Kinder
vor Missbrauch schützen, nicht Täter vor sich selbst schützen oder
dingfest machen, nicht Neugierige davor schützen, straffällig zu
werden. Es wird nicht einmal etwas werden, mit dem die CSU irgendwen
vor sich hertreiben kann.</p>
<p>Das alles ist sehr weit weg. Weit weg von den Differenzierungen der
Fahnder, der Therapeuten und der Psychologen. Es ist lediglich nah dran
an der Emotion des Bürgers. Es gibt nichts, was die Leute so leer und
wütend macht wie gequälte Kinder, nichts, was einen so fassungslos
macht wie Mitbürger, die ihre Nachkommen mit Plastiktüten,
Kameraobjektiven, Besenstielen, Flaschenhälsen und dem eigenen Körper
traktieren.<br />
[...]<br />
Die Beschwörung einer organisierten Jagd ist also nur ein
Wahlkampf-Tool. Hilfreicher wäre, wenn Ursula von der Leyen da ansetzen
würde, wo ihre Kompetenz liegt, in dem Ort, der einen Großteil der
Täter auch im Internetzeitalter beherbergt: in der Familie."</p></blockquote><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="tiefetrauer.png" src="http://www.rainboxx.de/tiefetrauer.png" class="mt-image-center" style="margin: 0pt auto 20px; text-align: center; display: block;" height="354" width="500" /></span>Ich empfehle jedem, den Artikel bei der <a href="http://www.sueddeutsche.de/panorama/813/465404/text/">Süddeutschen Zeitung</a> durchzulesen.&nbsp; Weitere Informationen gibt es auch immer wieder im <a href="http://blog.odem.org/">Odem Blog</a> zu dem Thema, oder man liest bei <a href="http://www.spiegel.de/netzwelt/web/0,1518,619509,00.html">SpOn</a>.<br />]]></description>
            <link>http://www.rainboxx.de/2009/04/artikel-51-gg-rip.html</link>
            <guid>http://www.rainboxx.de/2009/04/artikel-51-gg-rip.html</guid>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">Artikel 5(1) GG</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">zensur</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">zensursula</category>
            
            <pubDate>Sat, 18 Apr 2009 19:45:54 +0100</pubDate>
        </item>
        
        <item>
            <title>Padre - eine IDE für Perl (und andere Sprachen)</title>
            <description><![CDATA[Eigentlich wollte heute Steffen Müller den Vortrag "<a href="http://www.perl-workshop.de/talks/155/view">Padre - Perl Application Development and Refactoring Environment</a>" halten. Warum das umgestellt wurde, weiß ich nicht. Gehalten hat den Vortrag dann <a href="http://szabgab.com/">Gabor Szabo</a>, der aus Israel zum Perl Workshop angereist ist und ab Montag noch eine <a href="http://szabgab.com/blog/2009/01/1231876438.html">Testing-Schulung</a> hier in Frankfurt hält.<br /><br /><b>Was ist Padre?</b><br /><br />Wie der Name bereits sagt, ist es eine Perl-Applikation zum Entwickeln und Refactoring. Ja, eine Perl-Applikation, nicht eine Applikation zum Entwickeln von Perl-Programmen, was ich zuerst gedacht habe. Die unterstützten Sprachen sind vielfälltig, ich habe allerdings keine Auflistung gefunden, welche Sprachen tatsächlich unterstützt werden - leider.<br /><br /><b>Was kann Padre?</b><br /><br />Viel. Fast so viel wie Eclipse mit dem EPIC-Plugin. Hier eine Auflistung:<br /><br /><blockquote>Syntax Checking<br />Syntax Highlighting<br />Auto indent (auch mit perltidy)<br />Inkrementelle Suche<br />Bracket matching<br />Folding<br />Variablenauflistung<br />Codebrowser<br />Debugging mit Stepping, Breakpoints und Watches<br />Suggest &amp; complete<br />Fehleridentifizierung<br />Interaktive Shell<br />Code snippets ("Templates")<br />...<br /></blockquote><br />Ein großer Vorteil ist auch die Fehlerbehandlung, was hier als "Fehleridentifizierung" aufgeführt ist. Dies bedeutet, dass Fehler (z.B. nicht-deklarierte Variablen bei "use strict") nicht nur angemeckert und die entsprechende Perl-Fehlermeldung gezeigt wird. Mehr noch, die Fehlermeldungen werden angeschaut und es wird versucht, Tipps zu geben, was falsch ist und vor allem, was man anstelle dessen machen sollte (nämlich nicht "use strict" entfernen!). Dies scheint recht gut zu funktionieren und ist vor allem für Anfänger im Perl-Umfeld geeignet.<br /><br /><b>Padre ist komplett in Perl - und portabel!</b><br /><br />...bis auf die Umsetzung der GUI, dabei wurde wxWidgets verwendet, was in C geschrieben ist. Das hat den Vorteil, dass es den nativen Windowmanager vom jeweiligen System (Mac OS X, Linux, Windows) nutzt und sich die Anwenung somit perfekt in das System einbindet (fast perfekt - dazu aber weiter unten mehr). Wie angesprochen, läuft die Anwendung dank dem Aufbau auf Perl auf den gängigen Systemen wie Mac OS X, verschiedenen Linux-Distributionen und Windows. Unter Linux ist dies abhängig davon, wie der Distri-Herausgeber die wxWidgets-Bibliothek zur Verfügung stellt.<br /><br />Ebenfalls ein Vorteil der Perl-Basis ist: Man kann es beliebig erweitern! Der Code liegt (natürlich) im Source vor und man kann diesen leicht verändern und erweitern, sofern man Perl kann. Kleine Hacks, oder Anpassungen an den eigenen Workflow können wenn nötig hinzugefügt werden.<br /><br /><b>Caveats unter Mac OS X</b><br /><br />Während des Vortrags habe ich begonnen, Padre auf meinem MacBook Pro zu installieren - es gibt eine kurze Anleitung auf der <a href="http://padre.perlide.org/wiki/Download#OSX">Padre-Seite</a>. Leider hatte ich eine alte Version von wxWidgets drauf und musste diese erst über die Macports updaten, was erstmal eine Weile gedauert hat. Danach mussten noch ein paar Module installiert werden, was sich als etwas problematisch herausstellte.<br /><br />Das Padre-Modul hat einige Abhängigkeiten. Nachdem die Installation dieser Module nach einer Weile abgebrochen war, habe ich die Installation (der Module) nocheinmal gestartet, um nur die Module zu sehen, deren Installation fehlgeschlagen war. Es waren zwei oder drei, die ich dann einzeln versucht habe, zu installieren, was nach ein paar Versuchen ohne Änderung funktioniert hatte. Die Tests schlugen erstmal fehl und liefen danach einwandfrei durch - sehr komisch. Leider konnte ich nicht mehr festhalten, welche Module dies waren, da mein UMTS-Modem den Mac zum Lahmen gebracht hat und dieser neugestartet werden musste.<br /><br />Die Nutzung ist recht einfach, hat aber noch ein paar Probleme mit den Tastatureigenheiten vom Mac. Die Funktion von "Ctrl" unter Linux und Windows liegt unter'm Mac auf der "Cmd"-Taste und Backslashes werden über die Tastenkombination "Alt" + "Shift" + "7" abgesetzt. In Padre liegt allerdings der Rechte-Maus-Klick auf dem Shortcut "Alt" + "7", um für Nutzer, die Tastenkombinationen intensiv nutzen, ein wenig Heimatgefühl zu bieten.&nbsp; Erwartungsgemäß müsste nun bei der Eingabe eines Pipe-Symbols ("|") das Kontext-Menü erscheinen, was allerdings nicht passiert. Erstmal erfreut, wird ein kleines Hello-World-Programm geschrieben. Doch bei der Eingabe eines "\n" für Zeilenumbruch erscheinte bei "\" das Kontext-Menü ;).<br /><br />Alles noch ein wenig komisch, aber Padre ist ja noch nicht bei Version 1.0 angekommen. Nach einer Weile konnte ich dann auch Backslashes schreiben.<br /><br /><b>Fazit</b><br /><br />Ich werde demnächst desöfteren Padre verwenden, um mich ein wenig einzufinden. Das Werkzeug scheint sehr gut zu sein und eine gute Alternative zu Eclipse. Ich denke zwar nicht, dass ich demnächst voll umsteigen werde, da mir noch die SVN-Integration fehlt - und vor allem in der Art, wie Subclipse es bietet. Für Einsteiger scheint das Tool aber sehr gut zu sein.<br /><br />Hier gibt es übrigens noch einen Überblick mit Screenshots unter Linux - vielleicht auch einen Blick wert: <a href="http://perl-howto.de/2008/12/padre-perl-application-development-and-refactoring-environment.html">perl-howto.de</a><br /> ]]></description>
            <link>http://www.rainboxx.de/2009/02/padre---eine-ide-fur-perl-und.html</link>
            <guid>http://www.rainboxx.de/2009/02/padre---eine-ide-fur-perl-und.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Perl Workshop 2009</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">eclipse</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">entwicklung</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">ide</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">padre</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">perl</category>
            
            <pubDate>Fri, 27 Feb 2009 00:27:59 +0100</pubDate>
        </item>
        
        <item>
            <title>PostgreSQL und Volltextsuche</title>
            <description><![CDATA[Demletzt gab es im Netz eine Reihe von Artikeln über die Wichtigkeit von Suchmaschinen in Websites bzw. Communities. Es wurde angesprochen, auf was man Wert legen sollte und was Suchmaschinen eigentlich genau machen. Ich hatte mich ursprünglich darüber gefreut und gleichzeitig gewundert, dass es auf diesem Blog zu finden war, wurde dann aber bald enttäuscht: die Artikelreihe ging nicht in die Tiefe, sondern wollte den Leuten sagen, dass es besseres gibt als eine LIKE-Suche. Der Artikel ist übrigens auf <a href="http://www.gruenderszene.de/it/vorsicht-suchpotential-warum-sich-durch-den-einsatz-einer-suchmaschine-der-erfolg-einer-website-steigern-lasst-%E2%80%93-teil-1/">Gründerszene</a> zu finden.<br /><br />In mindestens einem meiner schlummernden Projekte habe ich eine Suchmaschine eingeplant. Bisher war ich ziemlich auf <a href="http://lucene.apache.org/">Lucene</a> aus - einfach aus dem Grund: es ist weit verbreitet und ich selbst habe (noch) nicht viel Ahnung vom Aufsetzen und richtigen Konfigurieren. Die Hoffnung war, entsprechende Dokumentation und Hilfe aus der Community zu finden, so dass die Suchmaschine erstmal ganz ok funktioniert und später erweitert werden kann. Eine LIKE-Suche kam allerdings nie in Frage.<br /><br />Gestern, am Eröffnungstag des <a href="http://www.perl-workshop.de/de/2009/">11. Deutschen Perl Workshops</a> in Frankfurt im <a href="http://www.jugendherberge-frankfurt.de/">Haus der Jugend</a>, hatte ich die Session von <a href="http://andreas.scherbaum.la/">Andreas Scherbaum</a> besucht, die den Titel "<a href="http://www.perl-workshop.de/talks/151/view">PostgreSQL optimieren und mit Perl kombinieren</a>" gehalten hatte (die alternative Session von <a href="http://www.perl-blog.de/">Alvar Freude</a> mit dem Titel "<a href="http://www.perl-workshop.de/talks/153/view">42 Goldene Regeln für Perl im Unternehmenseinsatz</a>" war für mich nicht interessant). Neben vielen nützlichen Tipps und Internals, bei denen einige noch neu für mich waren, wurde die in <a href="http://www.postgresql.org/">PostgreSQL</a> integrierte <a href="http://www.postgresql.org/docs/8.3/static/textsearch.html">Volltextsuche</a> angesprochen. Die <a href="http://dev.mysql.com/doc/refman/5.1/en/fulltext-search.html">Volltextsuche von MySQL</a> habe ich schon im praktischen Einsatz bei einem Kunden gesehen und verwendet, hatte mich aber nie vom Hocker gehauen. Denn diese Indexiert einfach nur die Wörter, die in einer Spalte enthalten sind, damit man einfacher darüber suchen kann. Doch die von PostgreSQL ist ein wenig mehr...<br /><br /><b>PostgreSQL hat einen integrierten Stemmer</b><br /><br />Was ist ein <a href="http://de.wikipedia.org/wiki/Stemming">Stemmer</a>? Ein Stemmer generiert Grundformen vom Wörtern. Enthält ein Text z.B. das Wort "<i>Katzen</i>", wird daraus (je nach Stemmer unterschiedlich) "<i>Katz</i>". Ebenfalls werden die Suchanfragen durch den Stemmer gejagt, so dass der Text bei der Suche nach "<i>Katze</i>" und "<i>Katzen</i>" gefunden wird. Es werden somit Konjugationen, Mehrzahlformen etc. vereinheitlicht - und das ist viel Wert.<br /><br />PostgreSQL unterstützt viele Sprachen und lässt sich flexibel erweitern bzw. man kann seinen eigenen Stemmer schreiben. Dabei ist es egal, ob es sich um Wörter oder Zahlen handelt.&nbsp; Z.B. könnte man auch Artikelnummern "normalisieren".<br /><br /><b>Stop Words werden gefiltert</b><br /><br /><a href="http://de.wikipedia.org/wiki/Stoppwort">Stop Words</a> oder auch Stoppwörter sind sehr häufig in Texten vorkommende Wörter. Im Deutschen z.B. "<i>das</i>", "<i>ist</i>", "<i>ein</i>", "<i>was</i>", "<i>es</i>", etc.&nbsp; Eine Suche nach einem kurzen Satz, der eines dieser Wörter findet, würde jeden Text finden. Um das zu vermeiden, werden Stop Words definiert, die beim Indexieren herausgefiltert werden, um auch wirklich das zu finden, was man wirklich suchen möchte.<br /><br />Die Stop Words können ebenfalls definiert und abgeschaltet werden. Das kann durchaus Sinn machen, man sollte das aber nicht ohne Grund tun.<br /><br /><b>Macht das denn alles Sinn in einer Datenbank?</b><br /><br />Ja, das ist eine gute Frage. Datenbanken sind zwar dazu da, Texte und Daten zu speichern.&nbsp; Eine Datenbank als Suchmaschine zu verwenden, scheint allerdings recht abwägig. Ich bin auch der Meinung, dass das nicht der beste Weg ist, allerdings für die erste Version einer Suchmaschinenwebsite scheint es durchaus passend zu sein: man kann gezielt suchen, die Suchbegriffe durch AND's und OR's erweitern und erhält akzeptable Suchergebnisse bei scheinbar auch etwas höherer Last.<br /><br />Das Problem: es skaliert nicht. Verwendet man eine Datenbank für die normalen Daten und zusätzlich als Suchmaschine, kann man die nicht einfach so auf eine weitere Hardware schieben und parallel suchen. Man müsste die Datenbank clustern oder replizieren, was recht aufwändig ist. Es bleibt also meistens bei einer Datenbank, und bei vielen Suchanfragen werden die Resourcen knapp und dies beeinträchtigt die normalen Datenabfragen. Eine Suchmaschine wie Lucene kann man dagegen recht einfach auf mehrere Rechner verteilen und den Index wie scp oder rsync ständig aktuell halten. Das skaliert dann auch. ]]></description>
            <link>http://www.rainboxx.de/2009/02/postgresql-und-volltextsuche.html</link>
            <guid>http://www.rainboxx.de/2009/02/postgresql-und-volltextsuche.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Perl Workshop 2009</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">datenbank</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">entwicklung</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">lucene</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">mysql</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">perl</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">postgresql</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">suchmaschine</category>
            
            <pubDate>Thu, 26 Feb 2009 12:15:04 +0100</pubDate>
        </item>
        
        <item>
            <title>Mac OS X: Tar-Archiv ohne ._*-Dateien erstellen</title>
            <description><![CDATA[Als ich demletzt ein bereits auf dem Blog angekündigtes Modul für den Upload zum <a href="http://search.cpan.org/">CPAN</a> vorbereitete, bin ich auf ein "Problem" im Zusammenhang mit <a href="http://www.apple.com/de/macosx/">Mac OS X</a> gestoßen. Um was es geht und wie es gelöst werden kann, folgt hier...<br /><br />Manche Betriebssysteme legt verschiedenste Metadaten für Ordner und Dateien in versteckten Dateien an. Während Mac OS X für fast jede Datei und jeden Ordner eine zusätzliche Datei angelegt wird, macht Windows das nicht ganz so extrem und legt nur für jeden Ordner eine Datei an, plus eine Datei mit Vorschaubildern des Ordners. Standardmäßig sind solche Dateien für den User versteckt, so dass sie weder stören noch deren vorhandensein bemerkt wird. Erst wenn auf Ordner und Dateien im Netzwerk zugegriffen werden, auf die auch andere Betriebssysteme zugreifen, werden die Dateien bemerkt - oder die entsprechenden Optionen für das Anzeigen von versteckten Dateien gesetzt werden.<br /><br />Wo liegt also das Problem, wenn man die Dateien auf dem eigenen System nicht sieht? Auf fremden Systemen (z.B. über Netzwerkfreigaben) sind sie nur irritierend, ein Problem gibt es dort meistens nicht. Beim CPAN allerdings gibt es Probleme, auch bei so manch anderen Diensten kann das gut passieren.<br /><br /><b>Warum ist das ein Problem?</b><br /><br />Das CPAN ist ein Archiv von ettlichen wiederverwendbaren Perl-Modulen verschiedenster Autoren. Diese Module durchlaufen automatisierte Tests und müssen deshalb bestimmte Kriterien erfüllen: Metainformationen wie Abhängigkeiten, Lizenz, Autor und weiteres müssen enthalten sein und das Modul muss als komprimiertes Tar- oder Zip-Archiv mit einer entsprechenden Ordner- und Dateistruktur hochgeladen werden. Ist dies nicht der Fall, wird die hochgeladene Version des Moduls nicht aufgenommen.<br /><br />Eine der Bedinungen zur Ordnerstruktur ist, dass im Archiv ein einziger Ordner vorhanden sein darf, welcher alle weiteren Dateien enthält. Und hier kommt das Problem: da Mac OS X für den obersten Ordner dieser Struktur Metadaten auf gleicher Ebene anlegt, enthält das Archiv nicht nur den Ordner mit dem eigentlichen Inhalt, sondern auch die Metadaten. Das verstößt gegen die Richtlinien.<br /><br /><b>Lösung</b><br /><br />Im Internet ist an verschiedenen Stellen die Rede von einem kleinen, bei Mac OS X mitgelieferten Commandline-Tool Namens <code>dot_clean</code>, welches einen Zielordner rekursiv durchgeht und alle ._*-Dateien entfernt. Dieses soll gegen ein Problem in dieser Art helfen. Ich selbst habe es nicht verwendet und bin mir nicht sicher, ob es das Problem wirklich behebt. Denn ein manuelles Löschen der Dateien hatte in meinem Fall nichts gebracht, denn sie wurden sofort angelegt, als ich das Archiv (per Commandline) zusammenpacken wollte.<br /><br />In meinem Fall geholfen hat das Setzen einer Umgebungsvariable Namens <code>COPY_EXTENDED_ATTRIBUTES_DISABLE</code>:<br /><br /><div align="left"><blockquote><code>$ COPY_EXTENDED_ATTRIBUTES_DISABLE=true tar -czvf filename.tar.gz directory</code></blockquote></div>Diese Umgebungsvariable bewirkt, dass alle ._*- bzw. Metadateien nicht mitkopiert werden und erzeugt ein "reines" Archiv, ohne lästige Metadaten. Um nicht immer bei jedem Erstellen eines solchen Tar-Archivs oder anderen Operationen an das Setzen der Variable zu denken, kann sie auch in der <code>.profile</code> oder <code>.bashrc</code> gesetzt werden:<br /><br /><div align="left"><blockquote><code>export COPY_EXTENDED_ATTRIBUTES_DISABLE=true</code></blockquote></div><b>Versteckte Metadateien auf Netzlaufwerken unterbinden</b><br /><br />Seit Mac OS X 10.4 gibt es eine offizielle Beschreibung von <a href="http://www.apple.com/de">Apple</a>, mit welcher das Anlegen von Metadateien auf Netzlaufwerken generel unterbunden werden kann. Dazu öffnet man die Konsole und gibt folgenden Befehl ein:<br /><br /><div align="left"><blockquote><code>defaults write com.apple.desktopservices DSDontWriteNetworkStores true</code></blockquote></div>Die Originalbeschreibung zum Vorgehen findet man hier (englisch): <a href="http://support.apple.com/kb/HT1629">http://support.apple.com/kb/HT1629</a><br />]]></description>
            <link>http://www.rainboxx.de/2009/02/mac-os-x-tar-archiv-ohne---dat.html</link>
            <guid>http://www.rainboxx.de/2009/02/mac-os-x-tar-archiv-ohne---dat.html</guid>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">datei</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">exclude</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">Mac</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">meta</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">OS</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">OSX</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">resource</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">tar</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">tarball</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">versteckte</category>
            
            <pubDate>Mon, 09 Feb 2009 11:06:30 +0100</pubDate>
        </item>
        
        <item>
            <title>Frohes Neues Jahr!</title>
            <description><![CDATA[So, das Jahr neigt sich nun dem Ende zu. Viel ist dieses Jahr passiert. Ich stoße darauf an, dass das Jahr 2009 noch besser wird als 2008 :). Und das wünsche ich allen Lesern und Besuchern: ein schönes und gutes neues Jahr 2009!<br /><br />Viele Grüße und feiert schön!<br />]]></description>
            <link>http://www.rainboxx.de/2008/12/frohes-neues-jahr.html</link>
            <guid>http://www.rainboxx.de/2008/12/frohes-neues-jahr.html</guid>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">neujahr</category>
            
            <pubDate>Wed, 31 Dec 2008 23:36:40 +0100</pubDate>
        </item>
        
        <item>
            <title>Frohe Weihnachten!</title>
            <description><![CDATA[Allen meinen Lesern und Besuchern wünsche ich ehrliche und frohe Weihnachten sowie einen guten Rutsch ins Neue Jahr! Ich hoffe, ihr könnt die Zeit wirklich genießen.<br /><br />Matthias Dietrich<br /> ]]></description>
            <link>http://www.rainboxx.de/2008/12/frohe-weihnachten.html</link>
            <guid>http://www.rainboxx.de/2008/12/frohe-weihnachten.html</guid>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">2008</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">wünsche</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">weihnachten</category>
            
            <pubDate>Wed, 24 Dec 2008 12:54:09 +0100</pubDate>
        </item>
        
        <item>
            <title>Schwerwiegende Probleme bei Mac-Migration mit MacPorts</title>
            <description><![CDATA[Letzte Woche war Weihnachten. Für mich. Denn mein funkelnagelneuer <a href="http://www.apple.com/de/macbookpro">MacBook Pro</a> (Alugehäuse) ist endlich eingetroffen und wird nun mein leider noch recht neues <a href="http://www.apple.com/de/macbookair">MacBook Air</a> ersetzen. Nein, ich war immer zufrieden mit dem Air, doch haben sich meine Arbeitsanforderungen derart geändert, dass ich unbedingt eine schnellere Platte, mehr Arbeitsspeicher und evtl. auch eine höhere Prozessorleistung benötige. Da kam das MacBook Air nicht mehr ganz hinterher, leider. Dennoch, es ist ein super Notebook!<br /><br />Als ich am Abend vom Kunde nach Hause kam, wurde das Paket natürlich erstmal ausgepackt. Vieles blieb natürlich beim Alten: Alugehäuse, das Betriebssystem in entsprechender Version, etc. Nicht viel neues, aber ich wollte sogleich mal den Migrationsassistenten anschmeissen, um meine Programme und Daten auf den neuen Mac zu transferieren. Es war mein erstes Mal.<br /><br />Gut 3 Stunden haben die beiden Macs, verbunden mit einem Ethernetkabel, benötigt, um sämtliche Daten vom einen Rechner zum anderen zu schaufel. Knapp 70GB waren es (ja, meine Platte war fast voll, vieles davon Musik und große, selbstfotografierte Bilder). Ich war erstaunt, wie super die Migration vonstatten ging. Ein paar Prgramme musste ich reaktivieren lassen, aber ansonsten war alles da: Programme, Einstellungen, gespeicherte Passwörter, Bilder, Musik... Alles! Weitere lange Zeit verging, bis mein Home-Verzeichnis verschlüsselt war (neue Sicherheitsanforderung vom Kunden) und der Abend war rum.<br /><br />Dann kamen ein paar Tage Arbeit und erste Probleme tauchten auf. Als Softwareentwickler habe ich <a href="http://www.macports.org/">MacPorts</a> installiert, ein Pendant zu dem <a href="http://de.wikipedia.org/wiki/Port_%28Paketverwaltung%29">Port-System</a> unter <a href="http://www.freebsd.org/de/">FreeBSD</a>. Damit kann Software installiert werden, die meist nicht aus der grauen Welt der Konsole hervorschaut, wie z.B. <a href="http://de.wikipedia.org/wiki/Perl">Perl</a>, <a href="http://httpd.apache.org/">Apache Webserver</a>, <a href="http://www.php.net/">PHP</a> und Konsorten. Genau dieses System muckte nun aber rum. Manche Sachen fehlten und manche verweigerten ihren Dienst aufgrund eines unterschiedlichen <a href="http://de.wikipedia.org/wiki/Betriebssystemkern">Kernels</a> (obwohl beide gleich sind?!). Upgraden war auch nicht möglich, es hagelte nur Fehlermeldungen und nach einiger Zeit der Problemsuche und -behebung war die Hälfte aller Ports doppelt und in unterschiedlichen Versionen installiert. Das Chaos war perfekt!<br /><br />Nach kurzer Diskussion in der <a href="http://dir.gmane.org/gmane.os.apple.macports.user">MacPorts Mailingliste</a> wurde mir empfohlen, alles, was mit den MacPorts zu tun hat, neu zu installieren. Und das tue ich nun. Das Verzeichnis /opt wurde gelöscht (bzw. ich habe es erstmal verschoben) und damit auch die MacPorts.&nbsp; <a href="http://www.apple.com/macosx/developertools/xcode.html">XCode</a> wurde neuinstalliert und meine komplette Liste der vorher installierten Ports habe ich an das Installationskommando übergeben, welches momentan noch ziemlich mit der Installation beschäftigt ist.<br /><br />Ich bin gespannt, ob das was wird. Was das Problem war? Ich bin mir ziemlich sicher, dass es am Migrationsassistenten liegt. Denn auf dem Air habe ich derartige Probleme immer noch nicht, upgraden geht ohne Probleme. Nun kann man dem Migrationsassistenten nicht unbedingt die ganze Schuld in die Schuhe schieben, denn dieser wird wahrscheinlich nicht unbedingt dafür gedacht sein, auch Developer-Apps umzuziehen. Begibt man sich in die Tiefen eines Betriebssystemes, ist man eben auf sich alleine gestellt.<br /> ]]></description>
            <link>http://www.rainboxx.de/2008/12/schwerwiegende-probleme-bei-ma.html</link>
            <guid>http://www.rainboxx.de/2008/12/schwerwiegende-probleme-bei-ma.html</guid>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">apple</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">assistent</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">fehler</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">mac os x</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">macports xcode</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">migration</category>
            
            <pubDate>Sun, 21 Dec 2008 22:49:31 +0100</pubDate>
        </item>
        
    </channel>
</rss>
