<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Burn And Tremble</title>
    <link>http://burnandtremble.com/</link>
    <atom:link href="http://burnandtremble.com/feed/rss.xml" rel="self" type="application/rss+xml" />
    <description></description>
    <language>en-uk</language>
    <pubDate>Sat, 10 Aug 2019 16:18:25 +0000</pubDate>
    <lastBuildDate>Sat, 10 Aug 2019 16:18:25 +0000</lastBuildDate>

    
    <item>
      <title>Emil Loose</title>
      <link>http://burnandtremble.com/2013/06/15/emil.html</link>
      <pubDate>Sat, 15 Jun 2013 00:00:00 +0000</pubDate>
      <author>hermannloose@gmail.com (Hermann Loose)</author>
      <guid>http://burnandtremble.com/2013/06/15/emil</guid>
      <description>&lt;center&gt;
  &lt;img src=&quot;https://lh4.googleusercontent.com/-ewSNYQuokkU/UbwlVb_q_XI/AAAAAAAAFTw/W-onO3UhoYY/s800/20130615_0003.jpg&quot; style=&quot;margin-top: 0.6em;&quot; /&gt;
&lt;/center&gt;

&lt;p&gt;Am 14. Juni um 21:32 Uhr auf die Welt gekommen. 3830g schwer und 53cm groß.&lt;/p&gt;

&lt;p&gt;Der Mama geht es gut.&lt;/p&gt;

&lt;p&gt;Wir bitten euch, uns möglichst nicht in der Klinik zu überfallen, da Rebecca
viel Ruhe braucht und auf der Wochenstation auch gerade super viel los ist.
Außerdem bleibt er ja nicht nur eine Woche lang süß.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Halbzeit!</title>
      <link>http://burnandtremble.com/2013/02/07/halbzeit.html</link>
      <pubDate>Thu, 07 Feb 2013 00:00:00 +0000</pubDate>
      <author>hermannloose@gmail.com (Hermann Loose)</author>
      <guid>http://burnandtremble.com/2013/02/07/halbzeit</guid>
      <description>&lt;center&gt;
  &lt;img src=&quot;https://lh4.googleusercontent.com/-nPWmtJltlDY/URPBd4MBZvI/AAAAAAAADvo/9RpStwMAbcw/s800/ultraschall2.jpg&quot; style=&quot;margin-top: 0.6em;&quot; /&gt;
&lt;/center&gt;
</description>
    </item>
    
    <item>
      <title>Daumenlutscher</title>
      <link>http://burnandtremble.com/2012/12/29/plus-one.html</link>
      <pubDate>Sat, 29 Dec 2012 00:00:00 +0000</pubDate>
      <author>hermannloose@gmail.com (Hermann Loose)</author>
      <guid>http://burnandtremble.com/2012/12/29/plus-one</guid>
      <description>&lt;center&gt;
  &lt;img src=&quot;https://lh6.googleusercontent.com/-pAqihBPnM44/UN62waK2hsI/AAAAAAAADg8/6z7Zkb5wIkc/s800/ultraschall.png&quot; style=&quot;margin-top: 0.6em;&quot; /&gt;
&lt;/center&gt;
</description>
    </item>
    
    <item>
      <title>Long time no see!</title>
      <link>http://burnandtremble.com/2012/10/13/long-time-no-see.html</link>
      <pubDate>Sat, 13 Oct 2012 00:00:00 +0000</pubDate>
      <author>hermannloose@gmail.com (Hermann Loose)</author>
      <guid>http://burnandtremble.com/2012/10/13/long-time-no-see</guid>
      <description>&lt;p&gt;Geez, jetzt ist seit dem letzten Eintrag soviel Zeit vergangen, dass ich schon
in den Kalender schauen muss um überhaupt noch zusammen zu bekommen, was in den
letzten Wochen hier so alles los war.&lt;/p&gt;

&lt;h2 id=&quot;besuch&quot;&gt;Besuch!&lt;/h2&gt;

&lt;p&gt;Vor dreieinhalb Wochen habe ich Besuch von Rebecca, Babsi und Edgar bekommen.
Da war hier vielleicht Leben in der Bude! Wenn ich richtig zähle war der Kleine
da gerade reichlich acht Monate alt, krabbelt schon wie wild, brabbelt vor sich
hin und wenn man ihn an die Hand nimmt läuft er bis zum Umfallen. &lt;em&gt;(Update:
mittlerweile ist er neun Monate und hat neulich seine ersten eigenen Schritte
gemacht!)&lt;/em&gt; Schäkert gern mit allen Menschen in seiner Umgebung und war der Star
jeder Zugfahrt. Außerdem angenehm selten knatschig, wobei euch Babsi und
Rebecca angesichts des eher unruhigen Flugs von Frankfurt nach Heathrow sicher
was ganz anderes erzählen würden …&lt;/p&gt;

&lt;p&gt;Donnerstag und Freitag von Arbeit möglichst früh in ein belebtes Zuhause zu
kommen und gemeinsam Abendbrot zu essen stimmt schon um einiges fröhlicher als
einsam daheim aufzuschlagen und dann auch noch zwei Stunden sinnlos im Internet
rumzuklickern mit dem Wunsch, irgendwo emotional anzudocken.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;(Und alle zwei Tage Lammbraten kriegt man auch voll flott über, da ist MTV
sicher abwechslungsreicher. Ist nicht alles Gold hier. Ja, man jammert auf
hohem Niveau.)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Meine Vermieterin war so lieb uns ihren sehr modernen Kinderwagen zu borgen,
damit sind die Mädels und Edgar dann auch die ersten Tage ordentlich auf Achse.
Am Wochenende geht’s für uns alle bei schönstem Sonnenschein nach Brighton ans
Meer. Dort schlendern wir erst quer durch die Stadt und auf’s Pier, sonnen uns
ein bisschen und genießen das Kirmesgedudel. Dann bekommt man ja Hunger also
zurück durch die Lanes, was nettes zum Essen suchen. So landen wir im
&lt;a href=&quot;http://www.thedorset.co.uk/Dorset/Home.html&quot;&gt;Dorset&lt;/a&gt;, was sich als sehr
kinderfreundlich herausstellt und einen ganz vernünftigen Burger
serviert—Rucola merk ich mir, sehr gute Idee—und auch bei Babsi und Rebecca mit
Fish &amp;amp; Chips und Steak punktet.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://lh6.googleusercontent.com/-kBUYMEOiEno/UJ-ZbQ59FvI/AAAAAAAADbU/C13pMesv9MQ/s800/IMG_1833-2.jpg&quot; max-width=&quot;100%&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Als wir dort gut gesättig wieder herausspazieren baumelt am nächsten Vintage
Kleiderladen die beste Kinderregenjacke der Welt, für acht Pfund. Die Mutti des
Kleinen ist ganz aus dem Häuschen, so richtig überzeugt ist er selbst später
nicht, als er am Strand hineingesteckt wird. Aber einen Moment später sind auch
schon wieder die vielen großen Kieselsteine interessanter und wir müssen
aufpassen, dass er nicht allzuviele davon isst.&lt;/p&gt;

&lt;center&gt;

&lt;img src=&quot;https://lh4.googleusercontent.com/-TGrAGht4VMQ/UJ-aIzkpBSI/AAAAAAAADbA/eA1G29eoOWA/s800/IMG_1848.jpg&quot; /&gt;

&lt;img src=&quot;https://lh3.googleusercontent.com/-1yuvhd6ZxG4/UJ-bFqxNONI/AAAAAAAADbc/fzAql79RKo8/s800/IMG_1916.jpg&quot; /&gt;

&lt;img src=&quot;https://lh4.googleusercontent.com/-gDNR7zWCLi0/UJ-bgwQVp3I/AAAAAAAADbA/BpUHtC66l3o/s800/IMG_1921.jpg&quot; /&gt;

&lt;/center&gt;

&lt;p&gt;Richtig ins Meer trauen sich bei den Temperaturen nur die Hunde und ein paar
rüstige alte Ladies mit Badekappe, aber als ich meine Füße in die Brandung
stelle bin ich trotzdem sehr glücklich.&lt;/p&gt;

&lt;p&gt;Am Dienstag nehme ich die drei zum Mittagessen mit in die Firma. Bei dem vielen
Trubel und konfrontiert mit dem von mir etwas stümperhaft zu heiß
mikrowellierten Brei sträubt sich Edgar ganz schön, zerpflückt aber bald sehr
zufrieden ein Brötchen, so dass Babsi und Rebecca auch noch ein paar Worte mit
meinen Kollegen wechseln können. Gewickelt muss werden, dann darf im Gebäude auf
der anderen Straßenseite wo ich eigentlich sitze auf dem flauschigen grünen
Fußboden des Indoor-Parks endlich wieder gekrabbelt werden, während die
Erwachsenen noch einen kleinen Schwatz halten.&lt;/p&gt;

&lt;p&gt;Am Donnerstag geht es für Babsi wieder zurück in die Heimat, Rebecca bleibt
noch ein paar Tage länger. An den Abenden gehen wir gediegen aus, lecker Essen
für uns beide und lecker Bier für mich. Am Samstag scheint noch einmal schön
die Sonne, wir steigen in Greenwich auf den Hügel und machen dann einen langen
Spaziergang von London Bridge zurück nach Soho, wieder was zu Essen finden weil
uns vorher das Angebot auf dem Borough Market schlicht überfordert.&lt;/p&gt;

&lt;p&gt;Sonntag heißt es ganz früh Abschied nehmen, das fällt mir doch wieder sehr
schwer. Noch ein letztes hastiges Küsschen als die Zugtür piept, kurz winken
und dann ist sie auf und davon und ich schlurfe nach Hause und fühl mich doof,
obwohl gerade erst die Sonne aufgeht.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;Am selben Tag bekomme ich allerdings noch einen neuen Mitbewohner, ein
Bekannter meiner Vermieterin, weil sie ja selbst kaum hier ist. Travon kommt
aus der Karibik, ist ein sehr cooler Typ. Nach dem (meinerseits etwas
verfehlten) Fistbump bei der Ankunft wollte er später eine lockere deutsche
Begrüßung beigebracht bekommen. Ich habe die genaue Aussprache von „was geht?“
erläutert, allerdings verschwindet das in seinem dicken Akzent schnell wieder.
Die Freundin sowie ihre Schwester sind auch ganz nette Menschen.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;Die Woche darauf meldet sich kurzfristig Amrei für ein paar Tage an. Sie macht
das Experiment Reisebus, kommt deswegen auch zwei Stunden später als geplant
bei Victoria Coach Station an. Dort gibt es zuerst mal einen Burger, dann
lassen wir ihren Rucksack bei mir auf Arbeit und machen uns auf in die Stadt.
Wohin genau kann ich schon gar nicht mehr sagen, jedenfalls sind wir abends so
kaputt, dass wir erst kurz nach Battersea Park merken, dass der Rucksack immer
noch im Büro weilt. Also raus aus dem Zug, zurück, mit Rucksack wieder rein in
den Zug, dieser bleibt dann wiederum bei Battersea Park stehen, der Lokführer
empfiehlt uns aus ungenannten Gründen den nächsten Zug an einem anderen Gleis,
als alle Mitreisenden mit uns dann dort im Dunkeln skeptisch warten fährt er
weiter … wenn hier mal was daneben geht, dann jeweils so inkompetent wie
möglich. Wir kommen entsprechend spät zuhause an und schlafen augenblicklich
ein.&lt;/p&gt;

&lt;p&gt;Am Sonntag fahren wir zum Columbia Road Flower Market, den hat Amrei im Lonely
Planet gefunden, den wir am Vortag erworben haben. Eine hübsche kleine Straße
in der man kaum laufen kann, so voll ist es da und von links und rechts
schallen die Verkäufer einer kreativer und/oder lauter als der andere.
&lt;em&gt;Worlflowa, bunch for a pound!&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://lh4.googleusercontent.com/-jAbwoMHpgPk/UHyG2P8HBtI/AAAAAAAADFw/njTvZj3NHdA/s800/IMG_1995.jpg&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Dann zurück zum Old Spitalfields Market, bummeln und Falafel essen. Weiter auf
die Brick Lane, wo satt sein eine echt dumme Idee ist, weil es überall tolle
Sachen gibt. Naja. Irgendwann wieder London Bridge und dann ein langer
Spaziergang die Themse entlang, wenn ich mich richtig erinnere bis über die
Waterloo Bridge. In Soho probieren wir eine neue Pâtisserie aus, die sich als Filiale
einer Kette herausstellt und dementsprechend recht lieblos daherkommt, aber wir
(oder zumindest ich) sind zu fertig, um nochmal woanders hin umzuziehen.&lt;/p&gt;

&lt;p&gt;Den letzten Abend gehen wir zusammen mit meiner Freundin Alice, die ich von
Schulzeiten her kenne, im
&lt;a href=&quot;http://www.wahaca.co.uk/html/1_restaurant4.html&quot;&gt;Wahaca&lt;/a&gt; essen. Das gibt zwar
auch mehrmals in der Stadt, aber hier weiß ich, dass einen für recht günstige
Preise ein absolutes Fest an mexikanischem Street Food erwartet. Zum Reinlegen!
Wir probieren jede Menge Gerichte die alle in &lt;em&gt;hier-probier-mal!&lt;/em&gt;-freundlichen
Portionen angerichtet sind, zum Abschluss gibt es für die Fräuleins Mangosorbet
und für mich einen Tequila, den man hier wie einen Whisky auf der Zunge
verweilen lässt. Toller Abend!&lt;/p&gt;

&lt;p&gt;Am nächsten Tag fährt kurz nach Mittag der Bus zurück nach Hause, wir gehen
vorher in den Pub, Amrei wollte nochmal was traditionelles essen. Sheperd’s
Pie fetzt ihr dann aber doch nicht so richtig, ich überlasse ihr mein
gewaltiges Stück Kabeljau, ganz brüderlich. Dann muss sie los und ich verpasse
fast mein Meeting, wieder eine hastige Verabschiedung, ohne Küsschen.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;Gestern bin ich das erste Mal seit längerem wieder so richtig weg gewesen,
nach dem TGIF gemeinsam mit ein paar Bekannten unter anderem vom letzten Jahr
die Band eines Kollegen anhören. Die machen Afrobeat und das geht ziemlich ab.
Veranstaltungsort war eine gut gefüllte Bowlingbahn, in einer versteckten Ecke
entdecke ich dort eine lustige Referenz an den großen Lebowski, in Form eines
Spiegels mit der &lt;em&gt;TIME – Man of the Year&lt;/em&gt; Überschrift.&lt;/p&gt;

&lt;p&gt;Wir trinken Bitburger, was aus Stuarts Mund so klingt wie Fastfood für Nerds
und weil er später findet, das mehr Leute tanzen sollten—und ich an
&lt;em&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=fW8amMCVAJQ&quot;&gt;Leadership Lessons from a Dancing
Guy&lt;/a&gt;&lt;/em&gt; denke, &lt;em&gt;“one is a lone nut,
three is a crowd”&lt;/em&gt;—grooven wir uns in kleinen Schritten vor die Bühne, wo es
sich dann auch gut füllt.&lt;/p&gt;

&lt;p&gt;In Euston ist uns dann die letzte Bahn nach Victoria vor der Nase weggefahren.
Der erste Nachtbus in den wir steigen bleibt stehen, weil der Fahrer aus
irgendwelchen Gründen auf die Polizei wartet. Wir wollen lieber nicht wissen
warum und nehmen den nächsten. Der zuckelt an Waterloo vorbei und schließlich
nach Brixton, wo ich fast platze als ich endlich bei Ronald dem Clown auf’s Klo
gehen kann. Nach etwas Rumstehen in der Kälte dauert es nochmal knapp 40
Minuten mit der 250 raus nach Thornton Heath, dafür setzt die mich auch fast
vor der Tür ab und mit einer garantierten Aussicht auf’s heimische Bett ist die
Fahrt entspannt.&lt;/p&gt;

&lt;p&gt;In meiner Straße glotzen mich zwei Füchse an, die wie Katzen auf der Mauer
hocken. Schon etwas verrückt, soviel Wildlife bin ich aus Dresden nicht
gewöhnt. Gegen halb drei falle ich dann in die Federn und schlummere ein.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;Heute habe ich dann bis um eins geschlafen und auch danach war nicht furchtbar
viel mit mir los. Einen Happen für morgen werde ich noch einkaufen, eventuell
stecke ich mir auch die Pfeife an und gehe ein Runde spazieren.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Die erste Woche</title>
      <link>http://burnandtremble.com/2012/09/08/erste-woche.html</link>
      <pubDate>Sat, 08 Sep 2012 00:00:00 +0000</pubDate>
      <author>hermannloose@gmail.com (Hermann Loose)</author>
      <guid>http://burnandtremble.com/2012/09/08/erste-woche</guid>
      <description>&lt;p&gt;… ist ziemlich schnell vergangen. Da sich die meisten von euch ja schon ein
ganzes Jahr lang meine Lobhudelei im Bezug auf Google und das tolle Londoner
Büro anhören mussten, werde ich die betreffenden Teile auch eher kurz halten.&lt;/p&gt;

&lt;p&gt;Der Montag geht mit der üblichen Einführung los. Mit mir zusammen fängt noch
ein ganzer Haufen Leute an, darunter einige bekannte Gesichter aus dem letzten
Jahr, die gerade richtig einsteigen. Wir dürfen uns alle mal kennen lernen,
bekommen ein bisschen individuelle Googler-Lebensgeschichte erzählt und zur
Einstimmung ein paar Fotos von der sonnigen spanischen Küste, wo Firmenausflüge
halt so hingehen. Schockt mich nach Disneyland nicht mehr, füllt mich aber mit
Vorfreude.&lt;/p&gt;

&lt;p&gt;Ein dynamischer junger Typ vom Techstop erklärt uns dann, auf welche Art und
Weise wir bitte außerhalb der Firma keine Daten zu verlieren haben und verteilt
Laptops.  Ich sahne ziemlich ab, das MacBook Air was man mir in die Hand drückt
brauche ich aber tatsächlich für meine Arbeit, sonst wäre es sicher auch was
mit Pinguin geworden.&lt;/p&gt;

&lt;p&gt;Danach treffe ich zum ersten Mal mein Team zum Mittagessen. Fühle mich auf
Anhieb gut aufgehoben, sehr offene, lustige Leute, von ihrer Herkunft her
einmal rund um den Globus verteilt. Ich bekomme die schlechte Nachricht, dass
die Asiatheke mit dem fabelhaften Sushi leider zeitweilig zu ist, dafür hat
sich das Angebot etwas in die anderen Cafés verteilt, nur auf Sashimi muss ich
wohl verzichten. Auf scherzhafte Nachfrage beruhigt man mich jedoch: &lt;em&gt;full
English breakfast&lt;/em&gt; gibt es weiterhin täglich in der Pudding Lane.&lt;/p&gt;

&lt;p&gt;Dann ein paar motivierende Worte von einem Director, mit Platz für Fragen, wie
man denn am besten seine Zeit hier angehen sollte. Ich höre mir noch die
Präsentation zu &lt;em&gt;benefits&lt;/em&gt; an, die es neben dem Gehalt, Essen und Massagen so
gibt, obwohl mich das als Praktikant weniger betrifft. Bin ziemlich
überwältigt—wobei man sowas im Ernstfall sicher noch im Vergleich zu anderen
Firmen betrachten sollte—und Rebecca muss mich noch nicht mal dafür heiraten.
;)&lt;/p&gt;

&lt;p&gt;An dem Punkt juckt es mir aber in den Fingern und ich mache mich rüber ins
andere Gebäude, um endlich loslegen zu können. Die Workstation steht ja dieses
Jahr pünktlich bereit. Wir setzen uns aber zuerst mal mit einer Limo hin und
besprechen, in welche Richtung es überhaupt gehen soll. Was die Vorschläge von
Pieter, meinem Host wären und welche Vorstellungen ich mitbringe, was ich in
meiner Zeit hier gerne erreichen möchte.&lt;/p&gt;

&lt;p&gt;Wir sind uns schnell einig, wie der Hase laufen soll und das angestrebte
Projekt im Rahmen von
&lt;a href=&quot;https://www.google.com/doubleclick/studio/swiffy/&quot;&gt;Swiffy&lt;/a&gt; klingt definitiv
nach einer coolen Sache, auch weil es in sich relativ abgeschlossen ist und ich
die fünf Monate somit an etwas arbeite, auf das man am Ende vielleicht zeigen
kann. Außerdem hat Pieter vor zwei Jahren selbst den Schritt vom Intern zur
Festanstellung gemacht—sicher mit etwas mehr Effekt als der Durchschnitt,
Google strickt ja nicht um jedes Praktikantenprojekt nachher ein ganzes
Team—und kann mir also hilfreiche Ratschläge für den ganzen Prozess geben, den
ich für den Winter plane.&lt;/p&gt;

&lt;p&gt;Irgendwo da ist dann auch so langsam der Montag vorbei, ich genehmige mir noch
ein etwas einsames Abendbrot und fahre dann nach Hause. Schon doof, so ohne
Rebecca zum Knuddeln …&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;Die folgenden Tage verbringe ich damit, mich langsam in den existierenden Code
einzulesen und schon einen kleinen Teil beizusteuern, weil es sich am besten
lernt, wenn man sich gleich mit ein paar verschiedenen Bereichen auf einmal
auseinander setzen muss. Kaltes Wasser, weißte Bescheid.&lt;/p&gt;

&lt;p&gt;Im Gegensatz zum Vorjahr macht mich das auch nicht mehr völlig panisch—&lt;em&gt;oh mein
Gott, die merken bestimmt noch im Tagesverlauf, dass ich entgegen der
herrschenden Meinung nicht Superman bin!!&lt;/em&gt;—leicht entnervt bin allerdings
weiterhin, wenn es nicht so flott voran geht, wie ich mir das wünsche.&lt;/p&gt;

&lt;p&gt;Zeit bleibt trotzdem, mal mit dem alten Team Mittagessen zu gehen und sowohl
mit denen als auch meinen neuen Kollegen am Kickertisch zu wetteifern. Geht
nach reichlich einem Jahr doch ganz passabel.&lt;/p&gt;

&lt;p&gt;Ratzfatz ist dann die erste Woche um, am Freitag bekomme ich tatsächlich auch
noch Code eingecheckt, nachdem ich mich etwas mit unserer Testinfrastruktur
angefreundet habe und mit JavaScript warm geworden bin. Pünktlich um abends bei
Bier und Pizza auf der Dachterrasse den Sonnenuntergang zu genießen und den
angenehmen Gedanken, hier wieder zuhause zu sein, sinken zu lassen.&lt;/p&gt;

&lt;p&gt;Heute habe ich dann gepflegt und ganz antiklimatisch abgegammelt. Aber bevor
ich hier rumjammere fange ich lieber morgen nochmal mit richtigen Plänen früh
ganz flott an und verbringe den Rest des Tages mit Fotoapparat in der Stadt.&lt;/p&gt;

&lt;p&gt;Klingt doch nach was, oder?&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Angekommen in London</title>
      <link>http://burnandtremble.com/2012/09/01/angekommen-in-london.html</link>
      <pubDate>Sat, 01 Sep 2012 00:00:00 +0000</pubDate>
      <author>hermannloose@gmail.com (Hermann Loose)</author>
      <guid>http://burnandtremble.com/2012/09/01/angekommen-in-london</guid>
      <description>&lt;p&gt;Gestern bin ich also um fünf Uhr aufgestanden, bei ordentlich Regen draußen.
Rebecca hat sich mit aus dem Bett gequält, um mich später zum Flughafen zu
begleiten. So lieb ist sie, so lieb’ ich sie.&lt;/p&gt;

&lt;p&gt;In der Nacht vorher war ich lange mit Räumerei in meinem Zimmer—welches ich
jetzt glücklicherweise an einen alten Freund und Kommilitonen untervermiete,
den es nicht so arg stört wenn noch ein bisschen von meinem Ramsch dort
verstaut ist—und dem Packen meines Koffers beschäftigt, sodass am Ende nur
knappe vier Stunden Schlaf übrig geblieben sind; die obendrein äußerst unruhig
waren, weil ich im Traum permanent über meinen Habseligkeiten geschwebt bin und
mich etwa alle drei Sekunden gefragt habe, was ich gerade vergesse mitzunehmen.&lt;/p&gt;

&lt;p&gt;Verabschiedung am Flughafen, zwar ohne Tränen und so, aber mit nochmals
gehörigem nicht loslassen können auf beiden Seiten auf dem letzten Meter vor
der Sicherheitsschleuse. In zweieinhalb Wochen kommt sie zwar schon zu Besuch,
aber wir fehlen uns tatsächlich ziemlich schnell ziemlich dolle.&lt;/p&gt;

&lt;p&gt;Dicke Suppe über Dresden, insofern wird es bis Stuttgart nicht besonders
spannend. Dort muss ich dann irgendwie drei Stunden vergammeln bis der
Anschlussflug geht, was ohne Buch oder Internet gar nicht leicht ist.
Schließlich wieder in der Luft, es kommt auch die Sonne raus, mit vielen
kleinen Wölkchen über dem Kanal. Lange nur Landschaft vor dem Fenster, dann
dreht der Flieger und plötzlich ist Canary Wharf auf meiner, der falschen
Seite. Wir sind etwas zu früh oder es ist viel Verkehr, Hauptsache
Warteschleifen. Ich mag fast in die Hände klatschen, &lt;em&gt;so war das geplant!&lt;/em&gt; Sitz
7F belohnt mich dann auch mit einer gefühlten 30°-Kurve und bombastischer
Aussicht über die Innenstadt, die Shard kann ich fast anfassen, Central
Saint-Giles—da wo unter anderem ein Teil von Google seit einiger Zeit sitzt—ist
ein bunter Klecks mitten im restlichen hellgrau, vertraute Orte springen einem
ins Auge … mir kommen fast ein bisschen die Tränen. &lt;strong&gt;Pro-Tipp: der Anflug aus
dem Osten nach Heathrow wird nie alt, wenn man auf der rechten Seite sitzt.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;An der UK Border denke ich kurz, ich bin mal schlau, allerdings kommt dann die
normale Schlange durchgehend zügiger voran (jedenfalls was unseren Flug
betrifft, danach kommt noch eine Traube Menschen) als die vom ePass, in der ich
stehe. Diese brilliante Super-Duper-Anti-Terror-Hurra-Technik funktioniert eben
immer noch sterbenslangsam, wenigstens wird meine Visage diesmal akzeptiert.&lt;/p&gt;

&lt;p&gt;Als ich schließlich in der Piccadilly-Line sitze, überkommt mich nochmal ein
Gefühl von Vertrautheit, die Geräusche, Gerüche, alles schreit &lt;em&gt;zweite Heimat&lt;/em&gt;.
Dann von London Victoria aus wieder weiter in den Vorort, nach Thornton Heath,
wo ich jetzt die nächsten fünf Monate wohnen werde. Auch die Strecke kenne ich
schon.&lt;/p&gt;

&lt;p&gt;Das Haus liegt in einer schön ruhigen Straße. Als ich das Gartentor aufmache,
raschelt es hinter der Tür, meine Vermieterin und Mitbewohnerin wollte gerade
los und nach mir schauen, aber ich habe ja einen Zug eher bekommen. Wir
verstehen uns auf Anhieb, auch als sie beim Rundgang durch die Zimmer in der
Küche meint, &lt;em&gt;you know how it is with Googlers, we don’t have -anything- to
eat in the house&lt;/em&gt; …&lt;/p&gt;

&lt;p&gt;Ich stelle meine Sachen ab und düse dann auch gleich schon wieder los, zu
Michał auf die Arbeit, für Bier und Pizza, schließlich habe ich Hunger. Im
Belgrave House warte ich in der Lobby, fühlt sich alles an, als wäre ich nie
weg gewesen. Michał holt mich ab, wir fahren rauf in die Rezeption, ich pappe
mir ein Gästeschild auf die Brust, Michał hält die Tür zum Café Royle auf und
ich werde nochmals vom dem Gefühl erschlagen, gestern erst wäre meine letzte
Woche aus dem letzten Jahr gewesen.&lt;/p&gt;

&lt;p&gt;Ich freue mich, soviele Gesichter wieder zu erkennen &lt;strong&gt;und&lt;/strong&gt; von sovielen
Leuten selbst wiedererkannt zu werden, trotz Dunbar’s Number. Wir gesellen uns
zu ein paar anderen Praktikanten an den Tisch, stoßen an—Michał witzelt, dass
ich auch außerhalb der Heimat zu Budvar und Staropramen greife, &lt;em&gt;wo es doch
hier soviel Auswahl gibt&lt;/em&gt;, dabei trinkt er ein Cooper’s Ale, tzz—und der Abend
läuft.  Ich treffe zwischendrin die Hälfte meines alten Teams wieder, schwebe
auf einer Wolke aus Glückseligkeit.&lt;/p&gt;

&lt;p&gt;Als Michał seine Sachen holt, kriege ich noch eine kurze Tour von den zwei neu
gestalteten Etagen, in eine davon ziehe ich am Montag ein. Den roten
Doppeldeckerbus gibt es noch, ansonsten sieht jetzt alles &lt;a href=&quot;http://www.home-designing.com/2011/12/google%E2%80%99s-london-offices-revamped-level-%E2%80%98l4%E2%80%99&quot;&gt;seeehr
futuristisch&lt;/a&gt;
aus.&lt;/p&gt;

&lt;p&gt;Danach treffen wir in der Nähe der Liverpool Street Station noch einen Kumpel
von ihm und dessen Kollegen, trinken reichlich Bier, und tauschen uns lustig
darüber aus, was die Briten und &lt;em&gt;ze Germans&lt;/em&gt; so allgemein unterscheidet und
warum wir immer gleich einen Aufstand machen, wenn jemand erklärt, &lt;a href=&quot;http://www.youtube.com/watch?v=WwvYS_Svbis&quot;&gt;wie groß
Hitler war und wo er gewohnt hat&lt;/a&gt;.
Ich schlafe auf der Heimfahrt zwischen Clapham Junction und Norbury ständig
ein, löse zuhause noch kurz im Dusel die Alarmanlage aus—an alle die die Story
kennen: diesmal besitze ich tatsächlich den Code!—und falle erschöpft in mein
Bett.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;Am nächsten Morgen wache ich dann etwas einsam auf. Der Plan ist, in die Stadt
zu fahren, so Krams wie einen Handyvertrag zu organisieren und etwas
einzukaufen bzw. auch erstmal zu frühstücken. Ist ja wie gesagt nix im Haus.&lt;/p&gt;

&lt;p&gt;Der erste Teil klappt so nicht auf Anhieb, zusätzlich zur Kreditkarte brauche
ich noch meine eigentlichen Kontodaten, die ich natürlich nicht im Kopf habe.
Das Google WLAN reicht nur knapp bis auf die Straße, dafür ist das einer
anderen Firma greifbar und ich finde eine alte Mail, in der das Zeug steht.
Zweite Hürde, die Adresse die bei meiner Bank vorliegt, muss dieselbe sein, wie
die auf die der Vertrag laufen soll. Ist sie aber noch nicht wieder, da man mir
ja die letzten Monate dankenswerterweise meine Kontoauszüge immer kostenlos
nach Deutschland schickt.&lt;/p&gt;

&lt;p&gt;Ich stehe schließlich mit einer Prepaid-Karte wieder auf der Straße, die im
Land der &lt;strong&gt;nicht&lt;/strong&gt; bescheuerten Handytarife für £15 auch dralle 300 Minuten,
3000 SMS und &lt;em&gt;all-you-can-eat&lt;/em&gt; Internet bietet, für einen Monat. You heard me,
die volle Geschwindigkeit durchweg, theoretische Grenze 1000GB im Monat, so
muss das sein. &lt;em&gt;I’m looking at you, O2!&lt;/em&gt; (Tethering ist zwar nicht erlaubt,
habe ich gerade gelesen, aber bisher ist noch keine SMS gekommen, die mir
deswegen auf die Finger haut.)&lt;/p&gt;

&lt;p&gt;Dann wandere ich noch etwas ziellos unter anderem in den St James’s Park, setze
mich auf eine Bank und docke erstmal wieder an der Welt zuhause an, UMTS sei
Dank. Ein deutsches Päarchen lässt sich prompt neben mir nieder, diskutiert, ob
die grauen Eichhörnchen jetzt böse zu den roten Eichhörnchen sind oder nicht,
ich lausche belustigt.&lt;/p&gt;

&lt;p&gt;Zurück daheim mache ich mir Nudeln, höre ein bisschen Musik, vertreibe
beständig die Einsamkeit und tippe diese Zeilen.&lt;/p&gt;

&lt;p&gt;Und bei euch so?&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>LLVM passes, thou shalt preserve them!</title>
      <link>http://burnandtremble.com/2012/08/06/preserve-llvm-passes.html</link>
      <pubDate>Mon, 06 Aug 2012 00:00:00 +0000</pubDate>
      <author>hermannloose@gmail.com (Hermann Loose)</author>
      <guid>http://burnandtremble.com/2012/08/06/preserve-llvm-passes</guid>
      <description>&lt;p&gt;I am currently working on some LLVM passes for my intermediate thesis aka
&lt;em&gt;Großer Beleg&lt;/em&gt; at university and I came across an annoying problem this
morning, due to a somewhat misleading assertion message in LLVM’s PassManager.&lt;/p&gt;

&lt;p&gt;I have a large ModulePass, that does some inspection across functions, keeps
global state and can thus not comfortably be a FunctionPass. Within it
I require two FunctionPasses&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-cpp&quot; data-lang=&quot;cpp&quot;&gt;&lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;SomeModulePass&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;::&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;getAnalysisUsage&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;AnalysisUsage&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;AU&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;AU&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;addRequired&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;FirstFunctionPass&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;();&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;AU&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;addRequired&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;SecondFunctionPass&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;();&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;and later call them in &lt;code class=&quot;highlighter-rouge&quot;&gt;ModulePass::runOnModule(Module &amp;amp;M)&lt;/code&gt;:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-cpp&quot; data-lang=&quot;cpp&quot;&gt;&lt;span class=&quot;c1&quot;&gt;// function is a Module::iterator
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;FirstFunctionPass&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;FFP&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;getAnalysis&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;FirstFunctionPass&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;SecondFunctionPass&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;SFP&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;getAnalysis&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;SecondFunctionPass&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;This kept failing on me—precisely after executing both required passes on the
correct function just fine, mind you—with a rather cryptic&lt;/p&gt;

&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Assertion 'ResultPass &amp;amp;&amp;amp; &quot;Unable to find requested analysis info&quot;' failed.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Which after a lot of cursing and random debugging attempts turned out to be
simply due to the second function pass invalidating the first function pass,
because I did not add it to the second pass’s &lt;em&gt;preserved set&lt;/em&gt;, to inform the
PassManager that these two actually don’t care about each other.&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-cpp&quot; data-lang=&quot;cpp&quot;&gt;&lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;SecondFunctionPass&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;::&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;getAnalysisUsage&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;AnalysisUsage&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;AU&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;AU&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;addPreserved&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;FirstFunctionPass&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;();&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;I was aware of the performance implications of not specifying preserved passes,
just not the fact that it would produce weird results like this. Trivial
problem, lots of time wasted because the assertion wasn’t pointing me in the
right direction—&lt;em&gt;I know I’m whining on a pretty high level here, in general
LLVM does an awesome job at telling me where exactly I’m being stupid&lt;/em&gt;—and
there seems to be no runtime checking for “impossible” situations like this.&lt;/p&gt;

&lt;p&gt;(There might be just among FunctionPasses if I remember correctly, but it seems
that requiring things from within a ModulePass, you’re out of luck right now.
Also, when I request &lt;code class=&quot;highlighter-rouge&quot;&gt;--debug-pass=Structure&lt;/code&gt; it does not prefix “results known
to be dead” as &lt;a href=&quot;http://llvm.org/docs/WritingAnLLVMPass.html#interaction&quot;&gt;mentioned
here&lt;/a&gt;, unfortunately.
Was this taken out?)&lt;/p&gt;

&lt;p&gt;Hope this helps one or two people searching for answers to the same problem.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>How to fix VBR MP3s with borken track length</title>
      <link>http://burnandtremble.com/2012/05/06/fixing-vbr-mp3-files.html</link>
      <pubDate>Sun, 06 May 2012 00:00:00 +0000</pubDate>
      <author>hermannloose@gmail.com (Hermann Loose)</author>
      <guid>http://burnandtremble.com/2012/05/06/fixing-vbr-mp3-files</guid>
      <description>&lt;p&gt;I just came across &lt;a href=&quot;http://home.gna.org/vbrfix/&quot;&gt;vbrfix&lt;/a&gt;, a very handy tool to
fix MP3 track lengths that seem to be off, which according to &lt;a href=&quot;http://manpages.ubuntu.com/manpages/precise/man1/vbrfix.1.html&quot;&gt;the
manpage&lt;/a&gt; can be
caused by bad VBR encoders. Like ancient versions of Windows Media Player, as
I only ever had this problem with one album and I probably ripped that when
I was twelve. (Just kidding, I didn’t even have my own CD player back then,
much less MP3.)&lt;/p&gt;

&lt;p&gt;Usage is a no-brainer, messed up MP3 goes in, shiny new MP3 with correct track
length pops out. What I didn’t try yet is in-place corrections, but that
probably works fine as well.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Why would you want to do this, other than OCD?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Well, it appears to throw off Last.fm scrobblers quite a bit. Say Banshee sees
a track that’s 25 minutes long and finishes playing after three minutes: “less
than 50% played” = no scrobble. I know. This results in precious track plays
being lost for &lt;a href=&quot;http://www.last.fm/music/A+Subtle+Plague&quot;&gt;bands that deserve a lot more
exposure&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Which is still OCD, now that I think about it.&lt;/em&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Code Jam 2012 – Round 1A</title>
      <link>http://burnandtremble.com/2012/04/29/codejam-round1a.html</link>
      <pubDate>Sun, 29 Apr 2012 00:00:00 +0000</pubDate>
      <author>hermannloose@gmail.com (Hermann Loose)</author>
      <guid>http://burnandtremble.com/2012/04/29/codejam-round1a</guid>
      <description>&lt;p&gt;&lt;em&gt;In which the hero completely failed to place. Like, anywhere.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Beware of the sour grapes below!&lt;/p&gt;

&lt;p&gt;So I woke up at 2.30am CEST, after about four hours of sleep. Not a complete
zombie but still my eyes wouldn’t properly focus. Asked myself again why
exactly I was doing this. Got out of bed, made tea, sat down in front of the
machine in stylish 80s GDR bathrobe—feeling a bit Arthur Dent at this
point—totally not ready to do any heavy mental lifting.&lt;/p&gt;

&lt;p&gt;3am rolls around, the round starts. I read through Problem A, after about ten
seconds I think &lt;em&gt;ZOMG, floating pointsez!!1!&lt;/em&gt; (the familiar &lt;em&gt;panic!&lt;/em&gt; part)
further &lt;em&gt;I’ll completely mess up if I start with this&lt;/em&gt; (the &lt;em&gt;it’s 3am,
I should’ve known better&lt;/em&gt;-part) and decide to instead work on Problem B, which
sounds reasonable.&lt;/p&gt;

&lt;p&gt;I hack until about 40 minutes into the round, which by itself is already quite
unimpressive. I then fire up the algorithm for the first time and get precisely
&lt;strong&gt;zero&lt;/strong&gt; output. &lt;em&gt;Why, I’m loving this!&lt;/em&gt; One or two grave errors jump at me,
I make some corrections to those parts, add some debug output—&lt;em&gt;I should really
learn to use a command-line debugger efficiently&lt;/em&gt;—and still loop like I got
nothing better to do.&lt;/p&gt;

&lt;p&gt;Realizing that I’m starting to thoroughly mess up my approach to the whole
thing I decide to check the scoreboard. Something close to 1700 and very
obviously not improving. So, choose your own adventure? Carry on, yay/noez?&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;You go to bed at 5.30am.&lt;/p&gt;

    &lt;p&gt;You wake up totally knackered, having lost 20 health. &lt;em&gt;Roll the D10.&lt;/em&gt; You
will lose as many points of your ability to concentrate over the next 24
turns. &lt;em&gt;Roll the D10 again.&lt;/em&gt; If it’s less than eight, you will not gain
points for problem solving.&lt;/p&gt;

    &lt;p&gt;Also, definitely no cigar.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;You throw in the towel.&lt;/p&gt;

    &lt;p&gt;You gain +100 on your ability of &lt;em&gt;being a quitterWELLSOMETIMES&lt;/em&gt;. You wake up
semi-refreshed. Add &lt;em&gt;Potion of Self-Deception&lt;/em&gt; and &lt;em&gt;The Excuse of Having
Loads of Other Goals™&lt;/em&gt; to your inventory. The One Who Pushed On provides +5
encouraging words. (&lt;a href=&quot;https://plus.google.com/107980417360832836385/posts/WqpT1fD4M2M&quot;&gt;No,
really.&lt;/a&gt;)&lt;/p&gt;

    &lt;p&gt;You didn’t really want that cigar, right?&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;h2 id=&quot;conclusion&quot;&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;I’ll try again in Round 1C, as an upcoming Golden Jubilee conveniently keeps me
from competing in Round 1B. I will probably be facing the same situation, but
with the contest starting at 11am rather than in the middle of the night, I see
myself taking the time to hang in there, even if I clearly won’t make the cut
from early on.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Code Jam 2012 – Qualification Round</title>
      <link>http://burnandtremble.com/2012/04/15/codejam-qualification.html</link>
      <pubDate>Sun, 15 Apr 2012 00:00:00 +0000</pubDate>
      <author>hermannloose@gmail.com (Hermann Loose)</author>
      <guid>http://burnandtremble.com/2012/04/15/codejam-qualification</guid>
      <description>&lt;p&gt;I qualified for Google Code Jam 2012 yesterday.&lt;/p&gt;

&lt;p&gt;I began in the afternoon, well into the round, because I didn’t want to stay up
late, as the start of qualification was 12am in Germany. Having solved only one
practice problem before on Friday I didn’t exactly feel “limbered up” at that
point, but I had some basic Ruby stdin/stdout workflows memorized again.&lt;/p&gt;

&lt;p&gt;Upon reading the problems again, I just realized how ridiculously simple
&lt;a href=&quot;http://code.google.com/codejam/contest/1460488/dashboard#s=p0&quot;&gt;“Speaking in
Tongues”&lt;/a&gt;
must’ve really been (which is also what I was told on Google+ today) but back
then, I panicked—even without the requirement to do particularly well—and went
straight for the other problem descriptions.&lt;/p&gt;

&lt;p&gt;I settled on &lt;a href=&quot;http://code.google.com/codejam/contest/1460488/dashboard#s=p2&quot;&gt;“Recycled
Numbers”&lt;/a&gt; as the
first one to tackle. Brain partly locking up (I guess) it took me a short while
to figure out actually how to traverse the possibilities to check for, which
then turned into a straightforward implementation that was done rather swiftly.&lt;/p&gt;

&lt;p&gt;The authors’ statement on them being “sure about the output to Case #4” had me
hunting the last bug—my output being 288, one larger—for quite some time.
I realized that it had to be a duplicate pair of numbers somewhere, but at the
time it didn’t really occur to me how this should happen, so I took the
&lt;em&gt;not-so-clever&lt;/em&gt; approach—as in, I wouldn’t want to ressort to that in an
interview with the stakes being high—of manually going through the outputs of
case #4, until I stumbled upon &lt;code class=&quot;highlighter-rouge&quot;&gt;1212&lt;/code&gt; generating both &lt;code class=&quot;highlighter-rouge&quot;&gt;2121&lt;/code&gt; (in the form of
&lt;code class=&quot;highlighter-rouge&quot;&gt;212|1&lt;/code&gt;) and, well, &lt;code class=&quot;highlighter-rouge&quot;&gt;2121&lt;/code&gt; (in the form of &lt;code class=&quot;highlighter-rouge&quot;&gt;2|121&lt;/code&gt;). Which made a lot of sense.
Silly me.&lt;/p&gt;

&lt;p&gt;I fixed that rather bluntly by keeping track of the pairs generated, with the
overhead of object creation probably contributing to less than amazing running
time of the algorithm, but I wanted to be done with it and alas: first small
input went through correctly in about two or three seconds.&lt;/p&gt;

&lt;p&gt;Satisfaction I then promptly ruined with the large input. I fired it up, sat
back, figured it’d be running a little longer than three seconds—I only tried
one test case with the bounds being 1 and 2000000 before that, to get a sense
of the dimensions and whether my approach would be feasible at all, with using
Ruby etc.—and got the silly idea of &lt;code class=&quot;highlighter-rouge&quot;&gt;tail&lt;/code&gt;‘ing the output file to see progress
… of which there wasn’t any.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;At all.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Now, I’m not too sure about what &lt;em&gt;should&lt;/em&gt; have happened there—straightforward
suspicion being some buffering somewhere, as my test right now shows output
after 50 test cases but then hangs, even after the program has finished—but
after panicking and aborting the run two or three times (with maybe three
minutes left in the end) I realized that output was in fact being written. Just
not, you know, picked up by &lt;code class=&quot;highlighter-rouge&quot;&gt;tail&lt;/code&gt;. So I started it up one last time aaaaand
THERE WENT THE DEADLINE.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Really&lt;/em&gt; disappointing.&lt;/p&gt;

&lt;p&gt;Wall time now when trying it again says 2 minutes 49 seconds, with 2 minutes 46
seconds spent in userland crunching numbers. So it would’ve worked out, if
only. Oh well.&lt;/p&gt;

&lt;p&gt;The last problem—enough points for the small input to qualify, which is where
I stopped (after getting the large input correctly as well), because I wasn’t
feeling too frisky and wanted to do something else with the rest of the day—was
&lt;a href=&quot;http://code.google.com/codejam/contest/1460488/dashboard#s=p1&quot;&gt;“Dancing With The
Googlers”&lt;/a&gt;,
a nice, kind of real world one.&lt;/p&gt;

&lt;p&gt;Start with the total scores sorted, divide each by three, decide whether they
can reach the minimum best score in any way and decrement the allowed
“surprising cases” whenever one occurs. Easy enough.&lt;/p&gt;

&lt;p&gt;Except I made a stupid mistake. Plus another. And then some.&lt;/p&gt;

&lt;p&gt;So it took me &lt;em&gt;seven&lt;/em&gt; (!) incorrect small inputs until I finally got it right.
Lots of “fixing that small error over there” and not properly thinking the
whole thing through again. I’m not proud of that. Such performance in an
interview would likely have resulted in an epic fail. But then again, my mind
wasn’t too fresh yesterday.&lt;/p&gt;

&lt;h2 id=&quot;conclusion&quot;&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;I don’t think I will stand any chance against the masses of lightning-fast
coders with their razor-sharp minds from all over the world (though especially
China and Russia seem to rule) to advance in one of the next rounds. I panic
way too easily when faced with a clock almost audibly ticking, something I’ve
just barely managed to keep in check in the phone screens leading up to my
internship at Google in London last year. (I’m still a bit puzzled I got in
back then and get to go back for another one this year, but they seemed to like
my work.)&lt;/p&gt;

&lt;p&gt;But if anything, it will be a very good way of warming up to that pressure and
dealing with it, so I guess I’ll just keep at it.&lt;/p&gt;

</description>
    </item>
    
  </channel>
</rss>
