Planet Ka-Clique

March 16, 2010

Joachim

kexec saved my day

Yesterday evening, when returning from a two-day trip with no connectivity, I found my server to be broken. I still reacted on ping, but no service would respond. I tried to restart it using my hoster’s web interface, but it would not come back up.

I booted into the recovery system and checked the hard disk, but could not find any issues. File system checks went through without a hitch. But it would still not boot. Unfortunately, my hoster does not provide access to the system console, so I had no idea what was going wrong.

I never did anything with kexec, (a relatively new feature of the Linux kernel to act as a bootloader to load another system) and I was very positively surprised to find that it works out-of-the-box and flawlessly: I was able to load my system’s kernel and initrd from the recovery system and successfully booted it. I then ran lilo and rebooted right again, which now worked. I’m not sure if running lilo fixed it, or the clean shut-down, nor do I know what caused the problem in the first place, but kexec saved my day here.

by mail@joachim-breitner.de (nomeata) at March 16, 2010 10:38 AM

March 02, 2010

Joachim

Talking at CeBIT tomorrow

Today, I arrived at the CeBIT conference in Hannover, and had a first look around. I find trade fairs like that quickly boring, and I was glad to meet some some other Debian folk and listen to some of the talks at the CeBIT Open Source Forum in hall 2, including tolimar’s talk about Debian GNU/kFreeBSD.

Tomorrow (Wednesday), I will talk at the same place at 13:45, explaining some basic stuff about patches and bug tracker. The target audience are users of Free Software who modify it for their private or company-wide use and would like to see their changes included in the official project. There will be a live stream of the talk, which I am officially holding as an employee of the ITOMIG GmbH.

by mail@joachim-breitner.de (nomeata) at March 02, 2010 08:02 PM

Mareike

Suchen in Windows - Diplomarbeit

Jaa, ihr lest ganz richtig, ich darf mich mal wieder mit Windows beschäftigen. Nun aber nicht nur mit einem einfachen Windows 98 (mein guter alter Rechner - erste Aldi Generation) oder Windows XP (derzeit mit Ubuntu parallel auf meinen Laptop), nein, es musste ja Windows 7 sein.
Nun war ich eben auf der Suche nach einer Möglichkeit unter Windows Dateien bzw. Ordner zu vergleichen. Google ergab mir ein paar Möglichkeiten, ich wollte aber auch schauen, was mir die Windows Hilfe so anbietet....
Kleiner Tipp dazu: lasst einfach die Finger davon!

Man gibt in der Suche ein: "Windows Commander".
-> Welche Suchergebnisse werden geliefert? Alles zu "Windows" natürlich!

Man gibt ein: "Dateien vergleichen" und erfährt alles zu "Dateieigenschaften", "Dateien speichern", "Dateien umbenennen"... sind wir hier im Kindergarten?

"Vergleichen von Ordnern" liefert schließlich was man wissen sollte und alles was man nicht wissen will zu Ordner. Das Wörtchen "Vergleichen" wird schlicht und einfach verschluckt.

Mannmann, das ist ne Suchtechnik. Schon oberpeinlich wenn jede Google-suche mehr und bessere Treffer liefert als die eigene Hilfe. Aber gut... Windows halt.

Wieso ich mich damit überhaupt abgeben muss? Für meine Diplomarbeit sind einige Softwareprodukte an diesem schönen Rechner lizenzmäßig gebunden. Dumm nur, dass in den Installationszetteln eigentlich steht, dass die Softwareprodukte nur für Windows XP oder Vista laufen (und meistens auch nur 32-bit) aber die Diplomarbeit soll ja auch ein wenig experimentell sein (nur leider am falschen Ende).

Ihr habt noch nicht genug spaßiges Zeugs gelesen? Dann weiterlesen:

Richtig Spaß hat man nämlich auch wenn man irgendwelche Fehlermeldungen kriegt, in den Lösungen steht dann (falls es welche gibt): Ändere die "Preferences" und zeigt auch schöne Bildchen wo sie sind... und dann... leider, leider ist es ja eine neue Version und wer will denn bitteschön erwarten, dass eine neue Version auch eine angepasste Hilfe hat? Das wäre ja zu leicht! ;-)
Aber gut, besser als die erste Software, bei der der Installationsprozess schon mächtig ins Schlingern kam und erst nach ca. 20 Fehlerausbesserungen lief und dann, genau rechtzeitig zu Weihnachten lag eine neue Version mit funktionierendem Installationsskript unterm Weihnachtsbaum. Schade nur, dass ich die 2-3 Wochen davor noch mit der alten verbracht hatte.

Kinners ich sags euch, es wäre doch echt langweilig bei der DA, wenn es nicht "hin und wieder" (derzeit ein Synonym für "andauernd") ein paar Problemchen gäbe :-)

by nospam@example.com (Mareike) at March 02, 2010 10:59 AM

March 01, 2010

Joachim

Teeth fashion

Has anyone ever considered wearing his teeth consistent with the rest of ones cloths?

by mail@joachim-breitner.de (nomeata) at March 01, 2010 11:49 AM

February 28, 2010

Joachim

Exploiting sharing in arbtt

My automatic rule-based time tracker (arbtt), which is written in Haskell, collects every minute a data sample consisting mainly of the list of currently open windows (window title and program name). Naturally, this log grows rather large. Since October of last year, I collected 70,000 samples. I already went from a text-based file format to a binary format using Data.Binary, which gave a big performance boost.

But by now, I was afraid that this is not enough. My log file is now 30MB large. Looking at the memory graph of gnome-panel, it is taking up more than half of my memory. When running arbtt-stats, the Haskell run time system reports 569 MB total memory in use and the command finishes after 28.5 seconds.

Naturally, the log file is highly redundant: Compressing it with bzip2 shrinks it to 1.6MB. But as I would like to preserve the ability to just append samples at the end, without having to read the file, I chose not just to add bzip2 or gzip compression. Rather, I am now exploiting a very obvious redundancy: Two adjacent samples usually list exactly the same windows, and a focus change only changes a flag. So now, when storing a string that is part of a sample, it will check if this string was already present in the previous sample and, in this case, just store the number of that string (one byte). Only if the string was not present it will write a zero byte and then the string. When reading the sample, the process is reversed.

This greatly reduces the file size: It is down to 6.2MB. It also improves the memory consumption, due to Haskell’s abilities with regard to sharing: When a reference to a string in a previous sample is read, then only one instance of this string is in memory, even if it occurs several times in the log. This brings the memory consumption down to 264 MB and the runtime to 17 seconds.

I released the changes as version 0.4.5.1 to Hackage, Debian and as a Windows installer. The log file is not automatically converted, but new samples will be written in the compressed format. If you want to convert your whole file, you have to stop arbtt-capture, run arbtt-recover, and then move the hopefully noticeable smaller ~/.arbtt/capture.log.recovered  to ~/.arbtt/capture.log.

The required code changes were not too big. I somewhat isolated the relevant code in the Data.Binary.StringRef module. Unfortunately, I have to use OverlappingInstances to be able to provide the special instance for String – is there a cleaner way (besides the trick used for the Show class)?

by mail@joachim-breitner.de (nomeata) at February 28, 2010 10:04 PM

February 15, 2010

Wenzel

Aufhol-Blogeintrag (Teil 2): Tokyo, Yokohama und Zürich

Kurz vor Weihnachten war ich für etwa 10 Tage in Japan, um in Yokohama ein Paper zu präsentieren. Eigentlich eine tolle Reise -- nur leider vereinnahmen einen diese Konferenzen immer so, dass man ansonsten eigentlich nicht viel machen kann. Deshalb war ich noch ein paar Tage in Tokyo, um wenigstens ein bisschen rumspazieren zu können. All das brachte noch einige Komplikationen mit sich: Pascal hat mich letztes Semester davon überzeugt, eine Vorlesung über Stochastische Prozesse zu hören (danke Pascal :-)), die eigentlich auch super war. Nur musste ich am Klausurtag gleichzeitig in Ithaca und Yokohama sein, was mir immer sehr schwer fällt. Der Prof. wollte mir zunächst ein "Incomplete" geben (oh my! - nicht gut), nach längerem Einreden ließ er sich dazu bewegen, mir die Klausur in Yokohama abzunehmen. Und das war dann vielleicht was! In der Nacht vor der Klausur schlief ich mit einem Kommilitonen in einer Jugendherberge in Tokyo, als plötzlich zwei stockbetrunkene Australier in unserem Zimmer erschienen, die uns für den Rest der Nacht keine Ruhe ließen. Es fing an mit Brüllen und Gegenstände werfen, bis hin zu so Sachen wie den Schlafenden bis auf ein paar Zentimeter ans Gesicht kommen und mit einer unglaublichen Fahne plötzlich irgendwas losbrabbeln. Einfach unglaublich -- am nächsten Abend war ich so kaputt, dass ich beim Ab-TeXen meiner Klausurlösungen noch massenhaft Fehler eingebaut habe, danach bin ich sofort eingeschlafen.

    
Hostel und Umgebung in Asakusa, Tokyo

Der Rest der Reise war zum Glück erfreulicher. Japan ist ein irre faszinierendes und von der Globalisierung scheinbar weitgehend verschontes Land -- wo man auch hinschaut, sieht man verblüffendes und oft einfach unbegreifliches. Ein Stadtbummel ist das reinste Kino, und so sind wir die meiste Zeit nur herumgelaufen. Besonders bemerkenswert fand ich die enorme Gastfreundschaft: praktisch von der ersten Minute auf japanischem Boden an wurde ich angesprochen, sobald jemand meine hilflose Suche nach Schildern mit lateinischen Buchstaben erkannte. Und selbst falls mein Retter kaum Englisch sprach, lief ich doch mindestens mit einem Zettel voller japanischen Schriftzeichen weiter, nach denen ich Ausschau halten sollte.

Auf der Suche nach einem japanischen Schlafanzug für Olesya gelangte ich an einem Tag in ein größeres Einkaufszentrum. Eine Angestellte erklärte mir den Weg zur passenden Abteilung, der sich als längere Geschichte entpuppte - 5 Stockwerke runter, aus dem Gebäude raus und auf der anderen Straßenseite ins sechste Stockwerk. Dort angekommen war die Auswahl nicht wirklich beeindruckend, doch als ich schon weitergehen wollte, stand dieselbe Angstellte plötzlich vor mir. Vollkommen außer Atem (sie war mir eine Minute später in vollem Tempo hinterhergerannt) meinte sie, dass es in einer anderen Etage auch noch Schlafanzüge gibt. Spätestens da muss einem klar werden, dass man sich in einem wirklich fremden Land befindet.

  
Ein traditionelles japanisches Restaurant

Die Japanische Küche hat mich auch schwer beeindruckt. Ehrlichgesagt kann das bei vielen Gerichten gar nicht "kochen" nennen - "mischen" wäre passender, denn die Zubereitung ist wirklich simpel. Aber das Ergebnis spricht für sich! Allein was man alles aus einer Schale Reis und etwas Brühe machen kann, hätte ich niemals gedacht. Kurz vor Ende hatte ich einen noch halbvollen Koffer, der dann folglich mit Supermarkt-Einkäufen bis zum Bersten aufgefüllt wurde :-).

 
Schilder - hmm..?

Die penible Sauberkeit war auch sehr auffällig. In Yokohama hatten die U-Bahn-Stationen z.B. einen weißen Boden. Ich meine wirklich weiß - wenn man da mit schmutzigen Schuhe durchläuft, hinterlässt man eine Spur vom Eingang bis zum Zug. Und mit an Sicherheit grenzender Wahrscheinlichkeit ist die Spur ein paar Minuten später wieder weggeputzt, von jemandem dessen Job genau darin besteht.

 
Cosplayer und eine Hochzeit

Die restlichen Japan-Fotos habe ich hier hochgeladen.

Ab ca. Ende Juli werde ich mit Steve (meinem Advisor) für ein Jahr von Cornell zum Disney Research Lab an der ETH Zürich wechseln. Aus Neugier waren meine Eltern, Olesya und ich nach Weihnachten deshalb noch einen Tag lang dort. Die Stadt ist sehr schön, allerdings bereitet mir die Wohnungssituation etwas Sorgen .. (vor allem je mehr Geschichten ich höre!)


Zürich

Für Studenten scheint es nur schwer möglich zu sein, etwas in akzeptabler Nähe zur Stadt zu finden. Von Computergrafik-Kollegen höre ich, dass sie zur Wohnungssuche Empfehlungsschreiben der Uni bekommen, die sie als "weltweit renommierte Forscher" ausweisen. Als Qualifikation für eine Wohnung. Irgendwas mache ich falsch - ich versuche mir das zu merken, die nächste WG-Mitbewohner-Suche kommt bestimmt :-).

by nospam@example.com (Wenzel Jakob) at February 15, 2010 10:37 PM