<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet href="/templates/default/atom.css" type="text/css" ?>

<feed 
   xmlns="http://www.w3.org/2005/Atom"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/">
    <link href="http://codeschmie.de/feeds/atom10.xml" rel="self" title="codeschmie.de" type="application/atom+xml" />
    <link href="http://codeschmie.de/"                        rel="alternate"    title="codeschmie.de" type="text/html" />
    <link href="http://codeschmie.de/rss.php?version=2.0"     rel="alternate"    title="codeschmie.de" type="application/rss+xml" />
    <title type="html">codeschmie.de</title>
    <subtitle type="html">Something wicked this way comes.</subtitle>
    <icon>http://codeschmie.de/templates/default/img/s9y_banner_small.png</icon>
    <id>http://codeschmie.de/</id>
    <updated>2010-01-07T21:08:02Z</updated>
    <generator uri="http://www.s9y.org/" version="1.4">Serendipity 1.4 - http://www.s9y.org/</generator>
    <dc:language>en</dc:language>

    <entry>
        <link href="http://codeschmie.de/archives/317-hmm,-fail.html" rel="alternate" title="hmm, fail?" />
        <author>
            <name>fa</name>
                    </author>
    
        <published>2010-01-07T21:08:02Z</published>
        <updated>2010-01-07T21:08:02Z</updated>
        <wfw:comment>http://codeschmie.de/wfwcomment.php?cid=317</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://codeschmie.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=317</wfw:commentRss>
    
            <category scheme="http://codeschmie.de/categories/13-fun" label="fun" term="fun" />
    
        <id>http://codeschmie.de/archives/317-guid.html</id>
        <title type="html">hmm, fail?</title>
        <content type="xhtml" xml:base="http://codeschmie.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                Zu lustig um es nicht festzuhalten, zu lang für twitter.<br />
<blockquote>haha, gerade in der ubahn einen fast epischen fail erlebt<br />
typ (so um die 20 nehm ich an) hat sich ein spiel für die PSP gekauft<br />
packts aus, ok<br />
nimmt die UMD, merkt dass er keine Hand frei hat<br />
jongliert Packung, Rucksack und UMD<br />
schafft es dann doch, den Rucksack aufzumachen und die PSP rauszuholen. die war in Originalverpackung<br />
aber wohl schon offen, im Rucksack<br />
sucht die Öffnung für die UMD, findet sie schliesslich<br />
legt ein, macht zu, knirscht fast<br />
oh, passt ned, dreht um, geht zu<br />
jongliert wieder, nimmt ne speicherkarte<br />
den slot hat er gleich gefunden<br />
kramt seine riesigen sennheiser-hörer raus, dreht sie 4x und sucht den stecketr<br />
schafft es endlich, sie zu starten!<br />
battery low<br />
klickt sich durch 2 menüs, geht aus<br />
startet neu, klickt wieder rum<br />
battery low<br />
startet neu, bleibt an!<br />
"Sie brauchen ein Update, um dieses Spiel zu spielen" oder so<br />
abbrechen.<br />
sucht rum<br />
fängt an, nach WLANs zu scannen<br />
ich wiederhole, wir sind in der U-Bahn<br />
irgendwann geht se wieder aus<br />
dann musst ich leider raus</blockquote>  
            </div>
        </content>
        <dc:subject>fun</dc:subject>

    </entry>
    <entry>
        <link href="http://codeschmie.de/archives/316-In-Flames-live-in-concert.html" rel="alternate" title="In Flames - live in concert" />
        <author>
            <name>fa</name>
                    </author>
    
        <published>2009-12-09T08:36:05Z</published>
        <updated>2009-12-09T08:36:05Z</updated>
        <wfw:comment>http://codeschmie.de/wfwcomment.php?cid=316</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://codeschmie.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=316</wfw:commentRss>
    
            <category scheme="http://codeschmie.de/categories/6-music" label="music" term="music" />
    
        <id>http://codeschmie.de/archives/316-guid.html</id>
        <title type="html">In Flames - live in concert</title>
        <content type="xhtml" xml:base="http://codeschmie.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                Nachdems ja 2002 in Salzburg nicht geklappt, wurds wirklich mal Zeit für In Flames live. Ursprünglich kamen mir die 36,70 EUR ja etwas teuer vor, aber im Nachhinein kann ichs verstehen. Das wär nämlich kein Konzert, das war ein kleines Festival.<br />
<br />
Einlass 18:00 offiziell, 18:15 gings wirklich los und 18:45 statt 19:00 war der Beginn.<br />
<br />
Los gings mit <a href="http://www.mayleneandthesonsofdisaster.us/" target="_blank">Maylene &amp; The Sons of Distaster</a>, die mich anfangs etwas an Rage against the Machine, am Ende eher an Insane Clown Posse erinnerten. Das mein ich natürlich nicht negativ, die waren wirklich gut.<br />
<br />
Dann passierte etwas, was ich mir nicht gedacht hätte. <a href="http://www.everytimeidie.com/" target="_blank">Every Time I Die</a>, laut Wikipedia eine "Southern Metalcore"-Band, ich fand aber eher, das klang wie Fear Factory rückwärts abgespielt. Ich wollte schon mein Android-Handy einschalten und ein bisschen Ton aufnehmen, falls mir mal wieder die Entropie ausgeht und <tt>/proc/sys/kernel/random/entropy_avail</tt> mal wieder leer ist. Das klang als ob die statt Marshall-Verstärker welche von Hilti hatten. Im Nachhinein fand ichs dann aber doch wieder witzig, den Grimassen der Jungs nach schienen sie sich selbst ziemlich ernst zu nehmen. Irgendwie nur schade, wenn man sich überlegt, wie lang die geprobt haben, um aus 3 Instrumenten + Gesang etwas zu zaubern, was weder Melodie NOCH Rhythmus erkennen lässt. Also ehrlich, vielleicht war ja auch nur der Tontechniker unfähig, aber man hat keine Gitarre und nicht mal das Schlagzeug rausgehört. <a href="http://www.youtube.com/watch?v=IewQXMJQjvA" target="_blank">Wanderlust</a> (YouTube-Link) klingt nämlich gar nicht mal so übel.<br />
<br />
Weiter gings mit <a href="http://www.heavenshallburn.com/">Heaven Shall Burn</a>, die kannt ich nur vom Namen her. War nicht ganz meine Musikrichtung, aber sie waren gut.<br />
<br />
Dann <a href="http://www.killswitchengage.com/">Killswitch Engage</a>, auch noch nie live gesehen und auch sehr gut. Spassig auch, wenn man nach "I broke my fucking guitar, so that's what I'm doing in the meantime" 4 Weissbier auf Ex trinkt. Glücklicherweise hat er dann eine neue bekommen :)<br />
<br />
Nachdem wir schon seit 18:15 da rumstanden und 4 Bands gehört hatten, gings um 22:20 auch endlich mit In Flames los. Die hatten so eine tolle Videowand wie ich sie nur bei NiN bisher gesehen hab, aber gut eingesetzt. Musik war natürlich auch top, kaum was vermisst von den Klassikern, 2 oder 3 Lieder kannt ich sogar nichtmal, das hat mich etwas entsetzt.<br />
<br />
Insgesamt aber doch froh gewesen, als es um kurz vor 12 vorbei war, seit 6h gestanden, die Luft war zum Schneiden dick, mein T-Shirt roch nach Kettenraucher und es war schon verdammt laut, wenn man seine Ohrstöpsel daheim vergisst...<br />
<br />
Da noch ein paar schöne Videos von gestern (nicht meine):<br />
<a href="http://www.youtube.com/watch?v=mtQwL_VxHJQ">Killswitch Engage - Holy Diver</a><br />
<a href="http://www.youtube.com/watch?v=VDsTLeV-uVk">Killswitch Engage - My Last Serenade</a><br />
<a href="http://www.youtube.com/watch?v=MKkmL8yBvLQ">Heaven Shall Burn - Endzeit</a>  
            </div>
        </content>
        <dc:subject>concert</dc:subject>
<dc:subject>in flames</dc:subject>
<dc:subject>killswitch engage</dc:subject>
<dc:subject>music</dc:subject>

    </entry>
    <entry>
        <link href="http://codeschmie.de/archives/314-Coincidence-or-fate.html" rel="alternate" title="Coincidence or fate?" />
        <author>
            <name>fa</name>
                    </author>
    
        <published>2009-11-15T20:59:46Z</published>
        <updated>2009-11-15T20:59:46Z</updated>
        <wfw:comment>http://codeschmie.de/wfwcomment.php?cid=314</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://codeschmie.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=314</wfw:commentRss>
    
            <category scheme="http://codeschmie.de/categories/7-IT" label="IT" term="IT" />
    
        <id>http://codeschmie.de/archives/314-guid.html</id>
        <title type="html">Coincidence or fate?</title>
        <content type="xhtml" xml:base="http://codeschmie.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <a href="http://portal.acm.org/citation.cfm?id=1159733.1159777">2006</a>: Results showed the most common refactorings of the fifteen coined a 'Gang of Six', to be generally those with a high in-degree and low out-degree when mapped on a dependency graph; the same refactorings also featured strongly in the remedying of bad code smells. (S. Counsell et al.)<br />
<br />
<a href="http://www.huffingtonpost.com/jerome-karabel/who-are-these-people-anyw_b_257570.html">2009</a>: The fate of health care reform may well now rest in the hands of a small group of Senators, three Republicans and three Democrats, who have come to be called the Gang of Six. (Jerome Karabel)<br />
<br />
Or am I missing some "Gang of xyz" reference besides <a href="http://en.wikipedia.org/wiki/Gang_of_Four_%28band%29">Gang</a> <a href="http://en.wikipedia.org/wiki/Gang_of_Four">of</a> <a href="http://c2.com/cgi/wiki?GangOfFour">Four</a>?  
            </div>
        </content>
        <dc:subject>fun</dc:subject>
<dc:subject>politics</dc:subject>
<dc:subject>refactoring</dc:subject>
<dc:subject>usa</dc:subject>

    </entry>
    <entry>
        <link href="http://codeschmie.de/archives/313-Semesterticket-Abzocke.html" rel="alternate" title="Semesterticket-Abzocke" />
        <author>
            <name>fa</name>
                    </author>
    
        <published>2009-11-15T14:22:10Z</published>
        <updated>2009-11-18T11:36:40Z</updated>
        <wfw:comment>http://codeschmie.de/wfwcomment.php?cid=313</wfw:comment>
    
        <slash:comments>6</slash:comments>
        <wfw:commentRss>http://codeschmie.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=313</wfw:commentRss>
    
            <category scheme="http://codeschmie.de/categories/16-Muenchen" label="München" term="München" />
            <category scheme="http://codeschmie.de/categories/1-Studium" label="Studium" term="Studium" />
    
        <id>http://codeschmie.de/archives/313-guid.html</id>
        <title type="html">Semesterticket-Abzocke</title>
        <content type="xhtml" xml:base="http://codeschmie.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                Gerade flatterte mir ein Abstimmungsbescheid ins Haus, ich darf über ein Semesterticket für München abstimmen. Vielen Dank, dass ihr da jetzt schon draufkommt, betrifft mich ja eigentlich gar nicht mehr.<br />
<br />
Als ich allerdings die vorgeschlagenen Preise und das Modell gesehen hab, wusste ich erstmal nicht, ob ich lachen oder weinen soll.<br />
<strong>78,50 EUR "Sockelbeitrag" (verpflichtend)</strong>, gültig von 18:00 - 06:00 und am Wochenende und Feiertagen. Alles klar, den muss ich dann als Student zahlen, komm aber nicht zur Uni. Ist mir ziemlich egal, was ihr da für eine <a href="http://www.semesterticket-muenchen.de/faqs/#Sockel">lächerliche Begründung</a> habt, wenn ich ein Semesterticket zahle, will ich damit zur Uni fahren. Basta.<br />
Dazu kommen dann aber <strong>143,50 EUR (freiwillig)</strong>, damit man auch zur Uni fahren kann - Montag - Freitag 06:00 - 18:00.<br />
Außerdem will ich, dass es <strong>billiger</strong> ist als meine normale Kombination von Wochen-/Monatskarten. Ich gebe zu, dass mans nicht jedem recht machen kann, aber ich mit <em>3 Ringen</em> muss <em>6 Monatskarten</em> pro Semester nehmen (also die allerbilligste mögliche Kombination) und dann spare ich.. *tusch* <strong>2,80 EUR pro Monat</strong>.<br />
<br />
Da gibt es nur leider ein Problem, liebe weltfremde Sachbearbeiter bei MVV und LMU... Ich kaufe <strong>nicht alle 6 Monate</strong> des Semesters eine Monatskarte. <br />
In der vorlesungsfreien Zeit muss ich nämlich nicht zur Uni. In meinem Studiengang Informatik musste ich im Hauptstudium grundsätzlich in den meisten Semestern nichtmal 5x pro Woche zur Uni. Manchmal nehm ich auch Wochenkarten, manchmal (Schock!) bin ich mal 1-2 Wochen nicht in München. Es gibt auch Fahrräder in München. Manchmal sogar Parkplätze. <br />
Das würde sich ja alles schönrechnen lassen, wenn ich wirklich 6 Monatskarten pro Semester hätte. Hab ich aber nicht.<br />
Außerdem wohn ich nichtmal in der Nähe von der Uni, hab trotzdem gerade mal 3 Ringe und *da* spar ich schon kaum was. In Wirklichkeit würd ich sogar was draufzahlen, wenn ich nur 5 Monatskarten + 3 Wochenkarten nehmen würde - das kanns doch nicht sein. <br />
<br />
Ist euch nicht bewusst, wie viele Studenten 1-3 Ringe zur Uni haben und nicht mehr? Leider hab ich keine Zahlen, falls ihr sie habt, finde ich sie nicht.<br />
Aber um das mal <a href="http://mvv-muenchen.de/web4archiv/objects/download/tarifplan09_innenraum-dez2008.pdf">auf der Karte</a> zu verdeutlichen, wer näher an der Innenstadt wohnt als diese Stationen, der verliert:<br />
<em>Pasing, Moosach, Fasanerie, Harthof, Kieferngarten, Unterföhring, Riem, Neuperlach Süd, Fasanenpark, Großhesseloher Brücke, Isartalbahnhof, Forstenrieder Allee, Großhadern.</em><br />
Fällt euch was auf? Also für mich ist Unterföhring oder Pullach eigentlich schon nicht mehr IN München, evtl. für andere Leute auch.<br />
<br />
Um mal ganz ins Blaue zu philosophieren, beim Preis von 5 Monatskarten (= 199 EUR) statt den vorgeschlagenen 222 EUR würd ich eventuell drauf eingehen. Aber so ist das einfach nur lächerlich.<br />
<br />
Und bevor mir jetzt irgendwer mit gerechtfertigten Preisen kommt, der MVV ist insgesamt viel zu teuer. Das heisst, er muss für Studenten <strong>extra</strong> nachlassen. Es gibt ja leider die Alternative Auto nicht mehr, nachdem die Stadt München vor ein paar Jahren beschlossen hat, nahe der Institute alles mit Parkuhren vollzukleistern. Ja, im Grundstudium konnte ich manchmal noch 15min mit dem Auto fahren statt 50min mit dem MVV.  
            </div>
        </content>
        <dc:subject>muenchen</dc:subject>
<dc:subject>mvv</dc:subject>
<dc:subject>semesterticket</dc:subject>
<dc:subject>wtf</dc:subject>

    </entry>
    <entry>
        <link href="http://codeschmie.de/archives/312-Code-Coverage-problems.html" rel="alternate" title="Code Coverage problems" />
        <author>
            <name>fa</name>
                    </author>
    
        <published>2009-11-10T16:47:37Z</published>
        <updated>2009-11-11T08:42:43Z</updated>
        <wfw:comment>http://codeschmie.de/wfwcomment.php?cid=312</wfw:comment>
    
        <slash:comments>11</slash:comments>
        <wfw:commentRss>http://codeschmie.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=312</wfw:commentRss>
    
            <category scheme="http://codeschmie.de/categories/14-PHP" label="PHP" term="PHP" />
    
        <id>http://codeschmie.de/archives/312-guid.html</id>
        <title type="html">Code Coverage problems</title>
        <content type="xhtml" xml:base="http://codeschmie.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                I recently ran into a problem that stopped me from having 100% test coverage on a file.<br />
This is the piece of code, the overall reasoning for it can be found on the <a href="http://www.php.net/microtime">microtime manual page</a>:<br />
<blockquote>This function is only available on operating systems that support the gettimeofday() system call. </blockquote><br />
<div class="php geshi" style="text-align: left"><br /><span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><a href="http://www.php.net/function_exists"><span style="color: #990000;">function_exists</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;microtime&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />&#160; &#160; <span style="color: #000088;">$s</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/microtime"><span style="color: #990000;">microtime</span></a><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br /><span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span><br />&#160; &#160; <span style="color: #000088;">$s</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/time"><span style="color: #990000;">time</span></a><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br /><span style="color: #009900;">&#125;</span></div><br />
<br />
In case you did not spot it, the else path is never accessed if your system has a "microtime" function available. Additionally the change can be non-trivial because time() returns something like 1012314124 and microtime() returns "0.80057400 1257872321" or "1257872326.3036".<br />
<br />
My first idea was something like this in the test case:<br />
<div class="php geshi" style="text-align: left"><br /><a href="http://www.php.net/ini_set"><span style="color: #990000;">ini_set</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'disable_functions'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'microtime'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div><br />
<br />
Then the idea was to use <a href="http://php.net/manual/en/functions.variable-functions.php">variable functions</a>, but in the end I think it's not worth to change the source code to something less intelligable only to achieve 100% test coverage for a trivial case.<br />
<br />
Of course you could always invoke a CLI php with a special php.ini if you have bigger chunks of code to be tested depending on the availability of certain functions.<br />
<br />
Another idea could be to create a wrapper for microtime that you can mock and in your mock object always return the output of time() instead of microtime(), this would probably be the best tradeoff between readability and testability. <br />
<br />
Any ideas?  
            </div>
        </content>
        <dc:subject>code coverage</dc:subject>
<dc:subject>php</dc:subject>

    </entry>
    <entry>
        <link href="http://codeschmie.de/archives/311-Vermischtes.html" rel="alternate" title="Vermischtes" />
        <author>
            <name>fa</name>
                    </author>
    
        <published>2009-11-05T12:31:02Z</published>
        <updated>2009-11-05T12:31:02Z</updated>
        <wfw:comment>http://codeschmie.de/wfwcomment.php?cid=311</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://codeschmie.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=311</wfw:commentRss>
    
            <category scheme="http://codeschmie.de/categories/7-IT" label="IT" term="IT" />
    
        <id>http://codeschmie.de/archives/311-guid.html</id>
        <title type="html">Vermischtes</title>
        <content type="xhtml" xml:base="http://codeschmie.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                Can't stop watching it...<br />
<br />
<object width="560" height="340"><param name="movie" value="http://www.youtube.com/v/DFM140rju4k&hl=en&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/DFM140rju4k&hl=en&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"></embed></object><br />
<br />
eeePC + LineIn = murks, aber noch nicht grossartig recherchiert  
            </div>
        </content>
        <dc:subject>eeepc</dc:subject>
<dc:subject>music</dc:subject>

    </entry>
    <entry>
        <link href="http://codeschmie.de/archives/310-PHP-Unconference-Hamburg-2009-Nachlese.html" rel="alternate" title="PHP Unconference Hamburg 2009 - Nachlese" />
        <author>
            <name>fa</name>
                    </author>
    
        <published>2009-09-15T13:12:30Z</published>
        <updated>2009-09-15T14:06:32Z</updated>
        <wfw:comment>http://codeschmie.de/wfwcomment.php?cid=310</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://codeschmie.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=310</wfw:commentRss>
    
            <category scheme="http://codeschmie.de/categories/7-IT" label="IT" term="IT" />
    
        <id>http://codeschmie.de/archives/310-guid.html</id>
        <title type="html">PHP Unconference Hamburg 2009 - Nachlese</title>
        <content type="xhtml" xml:base="http://codeschmie.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                Tja, schon Dienstag und ich bin mittlerweile 40h wieder in der Heimat, trotzdem ein kurzes Review.

Samstag morgen um kurz vor 10 kamen wir als Pulk von 10 Münchnern im Hamburger Geomatikum an, nicht ohne meine fassungslose Feststellung, dass man sich auch verlaufen kann, wenn 6 Leute auf 6 iPhones 6 mal Google Maps studieren. 
Dann gings gleich los mit dem Begrüßen alter Bekannter (aus dem IRC, von Konferenzen und sonstigen Events) und... Frühstück! Dazu erstmal ein riesiges Lob, das Essen war 1a und auch reichlich vorhanden, dazu noch von einem grandiosen Team serviert.
Weiter gings mit der Planung/Abstimmung der Sessions, das hätte man irgendwie straffen sollen, ich weiss nur nicht wie. Dann folgten 4 Sessions mit viel Palaver dazwischen, bei mir <strong>Softwaremetriken</strong>, <strong>PHP Performance Un-Tuning</strong>, <strong>Enterprise PHP</strong> und <strong>Zukunft der QA in PHP</strong>. Enterprise war mir etwas zu allgemein, auf jeden Fall aber besser als die letztjährige Version, die sich auf ein PHP-Bashing vs. Java-Bashing herunterbrechen liess und die Zukunft der QA war mehr die Gegenwart der QA, aber trotzdem ein guter Überblick. 
Samstag abend haben wir uns dann vom Mob ferngehalten, mir persönlich war der Gedanke an 180 Leute am selben Ort sowieso etwas suspekt. Also beim abends weggehen. Wir haben einen ausgedehnten Spaziergang von ca. 80min auf dem Weg zu einem geschätzt 10min entfernten Restaurant gemacht, wenigstens was von Hamburg gesehen, und dann weitergezogen.

Dann kam auch schon der Sonntagmorgen, wieder etwas lascher Beginn mit Abstimmung, die irgendwie unnötig lange dauerte, dann <strong>Zukunft der QA, zweiter Teil</strong>, gefolgt von <strong>MySQL Performance</strong> (schon das zweite Mal, dass ich den Talk von Kris höre, aber diesmal doch 90% anders als damals). Danach gabs <strong>MySQL und HA</strong> und noch <strong>PHPDocumentor</strong>.

Insgesamt hatte ich von einigen Talks mehr versprochen, aber wahrscheinlich könnte man eh nicht viel mehr behalten, und der Hauptaspekt, das Wecken von Interesse bzw. der Anreiz, tiefer in die Materie einzusteigen, wird erfüllt. Werde mir die <a href="http://wiki.php-unconference.de/">Slides</a> nochmal zu Gemüte führen, aber insgesamt waren die Sachen doch fast bzw. genau auf Konferenz-Niveau. Also bleibt schon ein Lob für die Speaker :)

Nach erneutem Umherziehen und dem Abfinden mit der Tatsache, dass man Sonntag, 18 Uhr in Hamburg kein Bier 
bekommt sind wir dann eben doch zum Flughafen (weil mein <a href="http://www.mayflower.de">Arbeitgeber</a> Anreise und Übernachtung übernommen hat, dafür herzlichen Dank). Da gabs wenigstens Weißbier, wenn auch nur Schöfferhofer.

Zusammengefasst meine (kleinen) Kritikpunkte:
&middot; Leute mit Talks sollten sich vorbereiten oder es als "Diskussionsrunde" ankündigen
&middot; Ich hätte gerne 30- und 60-min-Slots, soll halt jeder selber entscheiden, ob er mehr oder weniger lang reden kann/danach noch Diskussion will, normal ist das abzusehen
&middot; paar mehr Getränke - war aber nicht schlimm, hab beide Tage bis ~15:00 noch was erwischt

Bleibt dann nur ein Dank an alle Beteiligten, das ausgezeichnete Orga-Team und die Sponsoren. 

Wir sehen uns nächstes Jahr :)  
            </div>
        </content>
        <dc:subject>hamburg</dc:subject>
<dc:subject>php</dc:subject>
<dc:subject>phpunconf</dc:subject>

    </entry>
    <entry>
        <link href="http://codeschmie.de/archives/309-Fantasy-Filmfest-2009-Nachlese.html" rel="alternate" title="Fantasy Filmfest 2009 - Nachlese" />
        <author>
            <name>fa</name>
                    </author>
    
        <published>2009-09-09T06:39:18Z</published>
        <updated>2009-09-09T06:39:18Z</updated>
        <wfw:comment>http://codeschmie.de/wfwcomment.php?cid=309</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://codeschmie.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=309</wfw:commentRss>
    
            <category scheme="http://codeschmie.de/categories/8-Kino" label="Kino" term="Kino" />
    
        <id>http://codeschmie.de/archives/309-guid.html</id>
        <title type="html">Fantasy Filmfest 2009 - Nachlese</title>
        <content type="xhtml" xml:base="http://codeschmie.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                So, das wars für 2009.<br />
<br />
Angefangen hats am Freitag mit <a href="http://www.imdb.de/title/tt1220719/">Ip Man</a>, lässt sich eigentlich nicht viel spektakuläres drüber berichten, außer dass der Film toll war. Schon sehr gespannt auf <a href="http://www.imdb.de/title/tt1386932/">Teil 2</a>.<br />
<br />
<a href="http://www.imdb.com/title/tt1056437/">The Sky Crawlers</a> am Sonntag, zuerst sahs aus wie ein Realfilm, danach wie ein Renderfilm und dann erst wie ein Anime mit fotorealistischen Hintergrund- und Flugzeugbildern. Bisschen arg philosophisch, aber trotzdem sehr gut.<br />
<br />
Gestern dann noch <a href="http://www.imdb.com/title/tt0806027/">Blood: The Last Vampire</a> als Abschluss, ein eher untypischer Vampirfilm, wenn auch thematisch verwandt mit Blade. Stellt den in puncto Actionszenen aber klar in den Schatten, hat sehr viel Spass gemacht.<br />
<br />
Interessant auch wie jedes Jahr, wen man so trifft. Diesmal bei Ip Man einen Arbeitskollegen samt gemeinsamen Bekannten, von dem natürlich keiner wusste, dass ihn der jeweils andere kennt. Bei Sky Crawlers wars sogar nur einer (plus die paar Gesichter, die man irgendwie jedes Jahr beim Filmfest sieht) und vor Blood eine Horde Leute und dann sassen wir auch noch direkt neben dem Pärchen, das aufm Sisters of Mercy-Konzert direkt neben uns stand - München, das Dorf.  
            </div>
        </content>
        <dc:subject>cinema</dc:subject>
<dc:subject>fff</dc:subject>
<dc:subject>filmfest</dc:subject>
<dc:subject>kino</dc:subject>

    </entry>
    <entry>
        <link href="http://codeschmie.de/archives/308-Filme-neulich-und-bald.html" rel="alternate" title="Filme neulich und bald" />
        <author>
            <name>fa</name>
                    </author>
    
        <published>2009-08-31T07:23:12Z</published>
        <updated>2009-08-31T07:23:12Z</updated>
        <wfw:comment>http://codeschmie.de/wfwcomment.php?cid=308</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://codeschmie.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=308</wfw:commentRss>
    
            <category scheme="http://codeschmie.de/categories/8-Kino" label="Kino" term="Kino" />
    
        <id>http://codeschmie.de/archives/308-guid.html</id>
        <title type="html">Filme neulich und bald</title>
        <content type="xhtml" xml:base="http://codeschmie.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                Gestern <a href="http://www.imdb.de/title/tt0117318/">Larry Flynt - Die nackte Wahrheit</a> gesehen, erstaunlich gut. Hatte ich irgendwie immer verpasst bisher.<br />
<a href="http://www.imdb.de/title/tt0117318/">Inglourious Basterds</a> steht an, auch recht gespannt drauf. Und dann war da noch das <a href="http://www.fantasyfilmfest.com">FFF 2009</a>, diesmal mit <a href="http://fantasyfilmfest.com/fantasy/filme2009/Blood.html">Blood: The Last Vampire</a>, <a href="http://fantasyfilmfest.com/fantasy/filme2009/IpMan.html">Ip Man</a> und <a href="http://fantasyfilmfest.com/fantasy/filme2009/Sky.html">The Sky Crawlers</a> - schaun mer mal.  
            </div>
        </content>
        <dc:subject>fff</dc:subject>
<dc:subject>film</dc:subject>
<dc:subject>kino</dc:subject>

    </entry>
    <entry>
        <link href="http://codeschmie.de/archives/307-Console-games.-And-MMOs.html" rel="alternate" title="Console games. And MMOs" />
        <author>
            <name>fa</name>
                    </author>
    
        <published>2009-08-29T11:01:12Z</published>
        <updated>2009-08-29T11:05:48Z</updated>
        <wfw:comment>http://codeschmie.de/wfwcomment.php?cid=307</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://codeschmie.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=307</wfw:commentRss>
    
            <category scheme="http://codeschmie.de/categories/7-IT" label="IT" term="IT" />
    
        <id>http://codeschmie.de/archives/307-guid.html</id>
        <title type="html">Console games. And MMOs</title>
        <content type="xhtml" xml:base="http://codeschmie.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                Since WoW Patch 3.2.0 (or the minor hotfix one week later) hit I had abysmal frame rates. WHere I normally had 50, I now had 5-10. And all my virtual memory was full.<br />
Turns out they changed something with the shadows because some people had experienced a bad display of shadows earlier.<br />
Well, now they killed some optimizations and a ton of people had very low fps. WHAT A GREAT CHANGE.<br />
<br />
Anyway, with Windows 7  RC and 4 GB RAM now I'm set. (With my 8800 GTS and new 190.62 Detonator drivers.)<br />
All settings on Ultra, just shadows on the lowest possible and I'm back to 50 fps.. grrr<br />
<br />
These are the times when I wished I was a console gamer. No hardware problems. Eithers it's working or it's dead and you replace it. In one part.  
            </div>
        </content>
        <dc:subject>detonator</dc:subject>
<dc:subject>fps</dc:subject>
<dc:subject>nvidia</dc:subject>
<dc:subject>wow</dc:subject>

    </entry>
    <entry>
        <link href="http://codeschmie.de/archives/306-PMD-Project-Mess-Creator.html" rel="alternate" title="PMD - Project Mess Creator" />
        <author>
            <name>fa</name>
                    </author>
    
        <published>2009-08-24T12:46:55Z</published>
        <updated>2009-08-24T12:52:02Z</updated>
        <wfw:comment>http://codeschmie.de/wfwcomment.php?cid=306</wfw:comment>
    
        <slash:comments>2</slash:comments>
        <wfw:commentRss>http://codeschmie.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=306</wfw:commentRss>
    
            <category scheme="http://codeschmie.de/categories/7-IT" label="IT" term="IT" />
    
        <id>http://codeschmie.de/archives/306-guid.html</id>
        <title type="html">PMD - Project Mess Creator</title>
        <content type="xhtml" xml:base="http://codeschmie.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                Hab gerade <a href="http://pmd.sourceforge.net">PMD</a> auf code von mir losgelassen:<br />
<br />
<div class="java geshi" style="text-align: left"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> foo <span style="color: #009900;">&#123;</span> <br />&#160; &#160; <span style="color: #000000; font-weight: bold;">public</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a> toString<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <br />&#160; &#160; &#160; &#160; <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">bar</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;:&quot;</span> <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">baz</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;:&quot;</span> <span style="color: #339933;">+</span> <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">xyz</span><span style="color: #339933;">;</span><br />&#160; &#160; <span style="color: #009900;">&#125;</span><br /><span style="color: #009900;">&#125;</span></div><br />
-> meckert er, dass ":" keine variable is, also mehrere literale verwendet. ok.<br />
<div class="java geshi" style="text-align: left">&#160;<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a> sX <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;:&quot;</span><span style="color: #339933;">;</span></div><br />
-> meckert er, das könnte final sein<br />
<div class="java geshi" style="text-align: left"><span style="color: #000000; font-weight: bold;">final</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a> sX <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;:&quot;</span><span style="color: #339933;">;</span></div><br />
-> meckert er, dass lokale Variablen nicht final sein müssen<br />
-> ausserdem ist + böse, also StringBuffer benutzen<br />
<br />
Bläht also insgesamt den Code von:<br />
<div class="java geshi" style="text-align: left"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> foo <span style="color: #009900;">&#123;</span> <br />&#160; &#160; <span style="color: #000000; font-weight: bold;">public</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a> toString<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <br />&#160; &#160; &#160; &#160; <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">bar</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;:&quot;</span> <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">baz</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;:&quot;</span> <span style="color: #339933;">+</span> <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">xyz</span><span style="color: #339933;">;</span><br />&#160; &#160; <span style="color: #009900;">&#125;</span><br /><span style="color: #009900;">&#125;</span></div><br />
auf <br />
<div class="java geshi" style="text-align: left"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> foo <span style="color: #009900;">&#123;</span> <br />&#160; &#160; <span style="color: #000000; font-weight: bold;">public</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a> toString<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <br />&#160; &#160; &#160; &#160; <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a> sS<span style="color: #339933;">;</span> <br />&#160; &#160; &#160; &#160; sS <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;:&quot;</span><span style="color: #339933;">;</span> <br />&#160; &#160; &#160; &#160; <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astringbuffer+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">StringBuffer</span></a> sbSB <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astringbuffer+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">StringBuffer</span></a><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <br />&#160; &#160; &#160; &#160; sb.<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">bar</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <br />&#160; &#160; &#160; &#160; sb.<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span>sS<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <br />&#160; &#160; &#160; &#160; sb.<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">baz</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <br />&#160; &#160; &#160; &#160; sb.<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span>tsS<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> &#160;<br />&#160; &#160; &#160; &#160; sb.<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">xyz</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <br />&#160; &#160; &#160; &#160; <span style="color: #000000; font-weight: bold;">return</span> sb.<span style="color: #006633;">toString</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />&#160; &#160; <span style="color: #009900;">&#125;</span><br /><span style="color: #009900;">&#125;</span></div><br />
auf.<br />
<br />
Und dann nennt es sich Project Mess <em>Detector</em> statt Creator...  
            </div>
        </content>
        <dc:subject>java</dc:subject>
<dc:subject>pmd</dc:subject>
<dc:subject>wtf</dc:subject>

    </entry>
    <entry>
        <link href="http://codeschmie.de/archives/305-msysGit-and-me.html" rel="alternate" title="msysGit and me" />
        <author>
            <name>fa</name>
                    </author>
    
        <published>2009-08-24T08:10:15Z</published>
        <updated>2009-08-24T08:10:15Z</updated>
        <wfw:comment>http://codeschmie.de/wfwcomment.php?cid=305</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://codeschmie.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=305</wfw:commentRss>
    
            <category scheme="http://codeschmie.de/categories/7-IT" label="IT" term="IT" />
    
        <id>http://codeschmie.de/archives/305-guid.html</id>
        <title type="html">msysGit and me</title>
        <content type="xhtml" xml:base="http://codeschmie.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                As I'm keeping code for my diploma thesis in git and svn atm (various reasons, don't wonder) and I've got a few windows boxes, I've come to see that git+windows isn't always an easy task.<br />
<br />
So that I shall forever remember what to do, here's it:<br />
<br />
a) open up puttygen<br />
b) import openssh private key<br />
c) save as whatever (putty format)<br />
d) open up putty<br />
e) save a new session: <br />
* gitosis@host.example.org<br />
* port 22 or whatever<br />
* Connection -> SSH -> Auth, select the converted putty key from c) or use pageant<br />
* session name: <tt>gitosis_host</tt> or something<br />
* <em>important</em>: save to registry, not to file<br />
f) <tt>git clone gitosis_host:project.git</tt><br />
<br />
  
            </div>
        </content>
        <dc:subject>git</dc:subject>
<dc:subject>msysgit</dc:subject>
<dc:subject>scm</dc:subject>
<dc:subject>windows</dc:subject>

    </entry>
    <entry>
        <link href="http://codeschmie.de/archives/304-The-Story-of-the-Youth-Who-Went-Forth-to-Learn-What-Upgrade-Means.html" rel="alternate" title="The Story of the Youth Who Went Forth to Learn What Upgrade Means" />
        <author>
            <name>fa</name>
                    </author>
    
        <published>2009-07-29T12:51:47Z</published>
        <updated>2009-07-29T12:51:47Z</updated>
        <wfw:comment>http://codeschmie.de/wfwcomment.php?cid=304</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://codeschmie.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=304</wfw:commentRss>
    
            <category scheme="http://codeschmie.de/categories/7-IT" label="IT" term="IT" />
    
        <id>http://codeschmie.de/archives/304-guid.html</id>
        <title type="html">The Story of the Youth Who Went Forth to Learn What Upgrade Means</title>
        <content type="xhtml" xml:base="http://codeschmie.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                We had this server, you know, a really old server. It still ran openSUSE 10.2, which is baaad, mkay?<br />
So there was a plan. A brilliant plan. Let's upgrade it to 11.1. No clean install, no DVD, just netinstall.<br />
<br />
Then there was silence, because neither the openSUSE websites nor the oracle had any decent hints, all to be found was "OMG ITS DEAD, HALP!"<br />
<br />
So the drama began. Disabling all services except <em>sshd</em> was the first step<br />
The plan would be to be a bit conservative and go 10.2 -> 10.3 -> 11.0 -> 11.1, so the second step was to get a decently fresh version of <tt>zypper</tt> that supports the <tt>dup</tt> parameter (dist-upgrade).<br />
So off to <a href="http://software.opensuse.org">software.opensuse.org</a> and grab the RPM.<br />
Next came a mass of <tt>rpm -Uhv --test [whatever].rpm</tt> accompanied by an <a href="http://rpm.pbone.net/">RPM search</a> for the missing libs and a whiteboard drawing of dependencies as I didn't want to resolve em automatically to avoid completely destroying the system.<br />
Lucky day, after 10 RPMs we had a fresh zypper. Just.. doh, it was a 10.3 zypper without <tt>dup</tt>. But luckily there was a backport of an 11.0 zypper version for 10.3 and with like 3 more dependencies and an enhanced whiteboard drawing it was done.<br />
The rest went quite normal like described on <a href="http://en.opensuse.org/Upgrade">openSUSE - Upgrade</a>.<br />
- <tt>zypper ref</tt>, <tt>zypper dup</tt>, fetch 320 MB<br />
- check <tt>/boot/grub/menu.lst</tt>, whee, new kernel.<br />
- reboot<br />
- no ping, grab serial console<br />
- doh, it's <tt>root(hd0,0)</tt> and not <tt>root(/dev/md0)</tt><br />
- woohoo, booting up<br />
- <tt>uname -a</tt> shows a correct kernel, but yast won't start. whatever, next step<br />
<br />
From then on it was just following the aforementioned upgrade procedure with additional attention to be paid to not forget <tt>zypper in zypper</tt> after each <tt>zypper ar</tt> and a few <tt>zypper ref</tt> inbetween and upgrading <tt>rpm</tt> as well. <tt>cpio: Bad magic</tt> is not something you like to read. (Reminds me of <tt>magic_quotes_gpc</tt>, what the hell. MAGIC. As in mushrooms, I swear. Ever heard of <a href="http://en.wikipedia.org/wiki/Determinism">determinism</a>?<br />
<tt>relogin_suggested</tt> in yast/zypper is also something that's badly named, it means: "reboot your damn box" - and you should.<br />
Total traffic: about 330MB per Upgrade, so not more than 1GB for 10.2 to 11.1<br />
<br />
So, after a few hours everything looks fine, except for a <tt>postgrey</tt> that switched from tcp sockets to unix sockets without telling anyone and of course overwriting postfix config files. Positively surprised the <tt>SuSEfirewall2</tt> rules were all still intact. <tt>yast</tt> was starting again and after adding the <em>updates</em>-repo and some more <tt>zypper up</tt> I called it a night.  
            </div>
        </content>
        <dc:subject>it</dc:subject>
<dc:subject>linux</dc:subject>
<dc:subject>opensuse</dc:subject>
<dc:subject>update</dc:subject>
<dc:subject>upgrade</dc:subject>
<dc:subject>zypper</dc:subject>

    </entry>
    <entry>
        <link href="http://codeschmie.de/archives/303-Weird-Windows-Networking.html" rel="alternate" title="Weird Windows Networking" />
        <author>
            <name>fa</name>
                    </author>
    
        <published>2009-07-08T19:19:45Z</published>
        <updated>2009-07-08T19:31:03Z</updated>
        <wfw:comment>http://codeschmie.de/wfwcomment.php?cid=303</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://codeschmie.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=303</wfw:commentRss>
    
            <category scheme="http://codeschmie.de/categories/7-IT" label="IT" term="IT" />
    
        <id>http://codeschmie.de/archives/303-guid.html</id>
        <title type="html">Weird Windows Networking</title>
        <content type="xhtml" xml:base="http://codeschmie.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                Ever since I've played around with my sixxs.net ipv6 tunnel I - obviously - had IPv6 on my main workstation, which happens to run on Windows XP Pro.<br />
<br />
So far nothing weird, but I just fixed a problem - which is related to this ipv6 stuff.<br />
<br />
I've had problems with really slow loading times on two websites, one a blog and one is <a href="http://www.python.org">www.python.org</a>/<a href="http://docs.python.org">docs.python.org</a><br />
<br />
Today I was fed up and tried to search for faster python doc mirrors, but I had no luck. <br />
So a ping told me it had an ipv6 address because I wanted to exclude a slow DNS, so I planned to put <tt>[ip] [hostname]</tt> into my <tt>hosts</tt> file.<br />
Wait... I just remembered that one blog also showed me a v6 IP on pinging, but I've never bothered as I mostly read it via feedreader anyway. So I removed the ipv6 driver from my primary NIC (it had been disabled already for months), had to reboot and... wow - <a href="http://docs.python.org">docs.python.org</a> is fast again and when I ping it I get the v4 IP.<br />
<br />
Very weird. And again - Windows sucks for Networking stuff and I love my eeePC to troubleshoot. Don't wanna know how much cygwin-fu I'd need to get arping running. If at all...<br />
<br />
Filezilla also always tried to update from a v6 IP that couldn't be reached (without the tunnel) - so probably that will now also work...  
            </div>
        </content>
        <dc:subject>ipv6</dc:subject>
<dc:subject>net</dc:subject>
<dc:subject>windows</dc:subject>

    </entry>
    <entry>
        <link href="http://codeschmie.de/archives/302-Importing-a-git-repository-into-subversion.html" rel="alternate" title="Importing a git repository into subversion" />
        <author>
            <name>fa</name>
                    </author>
    
        <published>2009-07-06T12:26:46Z</published>
        <updated>2009-09-10T09:05:46Z</updated>
        <wfw:comment>http://codeschmie.de/wfwcomment.php?cid=302</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://codeschmie.de/rss.php?version=atom1.0&amp;type=comments&amp;cid=302</wfw:commentRss>
    
            <category scheme="http://codeschmie.de/categories/7-IT" label="IT" term="IT" />
    
        <id>http://codeschmie.de/archives/302-guid.html</id>
        <title type="html">Importing a git repository into subversion</title>
        <content type="xhtml" xml:base="http://codeschmie.de/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                So, I've had this project that's been in svn for a while, but then a year ago I forked it and worked on it in git. Much smoother anyway :P.<br />
<br />
But now I wanted to put it back to svn (into another repository) while preserving the history.<br />
<br />
I found these hints, but neither worked out:<br />
<a href="http://markpasc.livejournal.com/186297.html">http://markpasc.livejournal.com/186297.html</a><br />
<a href="http://its.arubything.com/2009/1/4/commit-a-linear-git-history-to-subversion">http://its.arubything.com/2009/1/4/commit-a-linear-git-history-to-subversion</a><br />
<a href="http://stackoverflow.com/questions/457694/how-to-commit-a-git-repo-to-an-empty-repo-svn-server">http://stackoverflow.com/questions/457694/how-to-commit-a-git-repo-to-an-empty-repo-svn-server</a><br />
<a href="http://wiki.apache.org/general/GitAtApache">http://wiki.apache.org/general/GitAtApache</a><br />
<br />
So with the help of our <a href="http://blog.experimentalworks.net/2009/07/git-voodoo/">local git hero</a> himself it came to a happy ending:<br />
<br />
<tt><br />
<div class="bash geshi" style="text-align: left"><br />$ git <span style="color: #c20cb9; font-weight: bold;">svn</span> clone https:<span style="color: #000000; font-weight: bold;">//</span>svnrepo.example.org<span style="color: #000000; font-weight: bold;">/</span>repo<span style="color: #000000; font-weight: bold;">/</span>whatever <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-r</span> XX<span style="color: #7a0874; font-weight: bold;">&#93;</span><br />$ git fetch ~<span style="color: #000000; font-weight: bold;">/</span>code<span style="color: #000000; font-weight: bold;">/</span>repo.git mybranch<br />$ git checkout FETCH_HEAD<br />$ git branch tomergeTEMP<br />$ git checkout master<br />$ git rev-list <span style="color: #660033;">--reverse</span> FETCH_HEAD &#160;<span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">head</span> <span style="color: #660033;">-n</span> <span style="color: #000000;">1</span><br />-<span style="color: #000000; font-weight: bold;">&gt;</span> de53700000000000000000000000000000000000<br />$ git rev-list <span style="color: #660033;">--reverse</span> HEAD &#160;<span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">head</span> <span style="color: #660033;">-n</span> <span style="color: #000000;">1</span><br />-<span style="color: #000000; font-weight: bold;">&gt;</span> 2a74500000000000000000000000000000000000<br />$ <span style="color: #7a0874; font-weight: bold;">echo</span> de53700000000000000000000000000000000000 2a74500000000000000000000000000000000000 <span style="color: #000000; font-weight: bold;">&gt;</span> .git<span style="color: #000000; font-weight: bold;">/</span>info<span style="color: #000000; font-weight: bold;">/</span>grafts<br />$ git rebase tomergeTEMP<br />$ git <span style="color: #c20cb9; font-weight: bold;">svn</span> dcommit <span style="color: #660033;">--dry-run</span><br />$ git <span style="color: #c20cb9; font-weight: bold;">svn</span> dcommit<br />&#160;</div><br />
</tt><br />
<br />
To elaborate a bit:<br />
a) clone the svn repository. empty one (with trunk/branches/tags created is perfect)<br />
b) fetch the branch <em>mybranch</em> from a git repo<br />
c) check out FETCH_HEAD<br />
d) branch it to a temporary name<br />
e) get back to master (master of the *new* repo that was cloned)<br />
<br />
now the interesting part. with <a href="http://git.or.cz/gitwiki/GraftPoint">grafts</a> you can merge history lines, it needs 2 commit sha-1 values.<br />
<br />
f) get the first one<br />
g) get the second one<br />
h) put them into <tt>.git/info/grafts</tt> (format "X Y", value one, single space, value two)<br />
i) do a rebase from the temporary branch<br />
j) dry-run to check you have several <tt>diff-tree ...</tt> lines (one for each commit in the git repo)<br />
k) really commit to svn if the last step looked reasonable. This will take a while, as it does one svn commit per git commit<br />
<br />
<strong>update:</strong> just found a <a href="http://stackoverflow.com/questions/459501/retroactive-svn-import-into-git">helpful thread</a> on stackoverflow: <br />
<blockquote>Create a file .git/info/grafts and put the two sha's on a single line there. The first is the first git commit, then a space, then the last svn commit. This tells git that the git commit is not parentless, but has in fact the last svn commit as parent.</blockquote>  
            </div>
        </content>
        <dc:subject>git</dc:subject>
<dc:subject>subversion</dc:subject>
<dc:subject>svn</dc:subject>

    </entry>

</feed>