Skip to content

Bitte ein Happy Meal mit Pommes

Ich finde ja, dass jeder ein paar ausgedruckte Kernelquellen zur Abendlektüre mit ins Bett nehmen sollte. Falls man kein C kann, so finden sich in den Kommentaren immer wieder sehr interessante Sachen. Derartiges hat auch Jörn aufgetrieben:

static void happy_meal_tcvr_write(struct happy_meal *hp,
                                  void __iomem *tregs, int reg,
                                  unsigned short value)
{
        int tries = TCVR_WRITE_TRIES;
        ASD((“happy_meal_tcvr_write: reg=0x%02x value=%04x\n”, reg, value));
        /* Welcome to Sun Microsystems, can I take your order please? */
        if (!(hp->happy_flags & HFLAG_FENABLE)) {
                happy_meal_bb_write(hp, tregs, reg, value);
                return;
        }
        /* Would you like fries with that? */
        hme_write32(hp, tregs + TCVR_FRAME,
                    (FRAME_WRITE | (hp->paddr << 23) |
                     ((reg & 0xff) << 18) | (value & 0xffff)));
        while (!(hme_read32(hp, tregs + TCVR_FRAME) & 0x10000) && --tries)
                udelay(20);
        /* Anything else? */
        if (!tries)
                printk(KERN_ERR "happy meal: Aieee, transceiver MIF write bolixed\n");
        /* Fifty-two cents is your change, have a nice day. */
}

Log vom zsh-Workshop

Wer ein wenig zsh lernen wollte, konnte vor kurzem ins IRC kommen. Dort gab es einen Workshop zur zsh. Wie auch Mika habe ich das nicht geschafft, mit hin zu kommen. Zum Glück gibt es ein IRC-Log vom Workshop (auch lokal) zum Nachlesen. Bei Gelegenheit werde ich mir das zu Gemüte führen und vielleicht den einen oder anderen nützlichen Tip draus basteln.

Die sechs dümmsten Ideen in der Computersicherheit

Bruce Schneier verweist heute auf einen Artikel von Markus Ranum. Dieser beschreibt die sechs dümmsten Ideen in der Computersicherheit. Ich stimme hier nicht mit allen Punkten überein. Doch finde ich den Artikel durchaus lesenswert.

Nachtrag: Ranum kam mir doch gleich merkwürdig bekannt vor und bei Technorati wurde ich auch fündig: Ranum war der clevere Typ, der auf einer USENIX-Konferenz seine E-Mails checkte, Webseite auf den aktuellsten Stand brachte etc. Irgendwann bekam er dann eine E-Mail von Bill Cheswick und im Text der Nachricht stand: Ranums Passwort! (Originalartikel) Soviel zu den dümmsten Sicherheitsideen ...

Auch Captchas funktionieren

Heute bekam ich eine E-Mail von Jörg Sommer, dass keine Captchas angezeigt werden. Nachdem ich ein wenig in der entsprechenden Datei herumgestöbert habe, fand ich auch den Fehler:
Die Funktion mt_rand() muss laut Handbuch mit Minimum und Maximum aufgerufen werden. S9Y machte es genau anders herum. Ich habe den Fehler lokal hier gefixt und jetzt solltet ihr auch Captchas sehen und Kommentare schreiben können. Und ich bin froh, mal wieder einen Bug gefunden und gefixt zu haben. :-)

Ach ja, die Zeile im Quellcode ist in der richtigen Version:

$strings   = array_rand($this->chars, mt_rand($min_char, $max_char));

Rubber

Die besten Ergebnisse bringt bekanntlich der Zufall. So stiess ich kürzlich per Zufall auf Rubber.

Wer desöfteren LaTeX-Dokumente schreibt, wird immer wieder auf das Problem stossen, wie oft denn das Dokument durch den Interpreter geschickt werden muss. Da muss man eventuell BibTeX aufrufen und makeindex oder xindy. Schnell landet man bei drei oder mehr Durchläufen. Einerseits kann man sich hier mit Makefiles behelfen. Oder aber man nutzt eben Rubber.

Rubber ist ein Satz von Pythonskripten, die automagisch erkennen, wie oft das Dokument durch LaTeX durch muss und es ebensooft macht. Am Ende hat man nur durch den Aufruf rubber $DATEI eine fertige DVI-Datei. Ebenso einfach lassen sich auch PostScript- oder PDF-Dateien erzeugen. Ich fand das Programm nach kurzer Zeit sehr nützlich und kann es nur wärmstens ans Herz legen.

cronjob