Multiple Joins in Access

Ja, das fällt auf jeden Fall in eine Rubrik „Thinks I’ve learned“. Access kann auch in der neuen 2007er Version keine zusammenhängende/aneinandergereihte JOINs – auf diese Eigenart muss man aber erstmal kommen, wenn einem die „Fehlender Operator“-Meldung um die Ohren gehauen wird. Abhilfe schafft ein Konstrukt, das mehr als ärmlich ist: Einfach eine Verschachtelung der einzelnen Teilausdrücke, will heißen (X steht für die unterschiedlichen Join-Arten, die ON Klausel habe ich der Übersicht weggelassen): aus TabelleA X JOIN TabelleB JOIN TabelleC wird ein ((TabelleA) JOIN TabelleB) JOIN TabelleC.

Java: Nativer Dateidialog unter MacOS X

Definitiv in der Kategorie: „Was ich schon immer mal wissen wollte..“

Wenn man mit Java Swing ein JFileChooser verwendet, so sieht der unter MacOS X alles andere als schön aus – und nativ ist er sowieso nicht. Was ich nicht wusste: Apple hat das AWT-Pendant FileDialog nativ implementiert (oder nachgebaut?). Gewusst wie – darauf gekommen bin ich auch nur, weil ich einfach mal gesucht habe.

Edit: Wie es aussieht, sieht der FileDialog auch unter Windows besser als sein Swing-Pendant aus. Wie sieht das mit den anderen System aus?

Yes! Neues Mini-Feature in iTunes8.

Wer Hörbücher nicht bei Apple oder Audible kauft, sondern CDs einliest, kann diese Werke nun ohne Zusatzsoftware als Hörbücher deklarieren, iTunes 8 zeigt sie dann in der richtigen Kategorie und nicht unter „Musik“ an. In den Informationen zu jeder Audio- und Videodatei findet sich die Medienart im Reiter Optionen.

[Quelle: macnews.de]

Das funktioniert – besser als „Make Bookmarkable“.

GoogleMail unterstützt E-Mail-Plus-Adressierung

Aus der Rubrik „Wussten Sie schon..“

Jeder Anwender kann mit einem GoogleMail-Account (GMail…) Wegwerf- bzw. Alternativadressen einrichten. Dazu unterstützt der Dienst das so genannte E-Mail-Plus-Adressierungsformat. Lautet also die E-Mail-Adresse username@googlemail.com, so kann man für den Newsletter bei Dienst XY mit der E-Mail-Adresse username+newsletterxy@googlemail.com registrieren. Gerät die Adresse dann in die Hände von Spammern – schmeißt man sie einfach mit einem Filter raus.

Was will man mehr 🙂

Logitech LCC Scroller deaktiviert Growl

Boah, das ist doch nicht wahr. Ich wunderte mich in letzter Zeit, wieso Growl nicht mehr funktionierte (hatte aber nie Lust, das Problem zu beheben). Jetzt hab ich herausgefunden.. Growl funktioniert – nur ein „LCC Scroller“ verhindert die korrekte Anzeige. Schöne Scheiße..

Abhilfe: Einfach das betreffende Minitool (inkl. Ordner) löschen (Umbennen reicht scheinbar nicht).

Siehe auch.

Apple Mail: Mailthreads wie in GMail [link inside]

Guter Tipp von „A New Mac Tip Every Day“: Die Threaddarstellung, die man von GMail kennt, läßt sich auch für Mail aktivieren. Das ist nochmal eine Spur besser als das ohnehin aktivierte Highlighten der verwandten Nachrichten.

A New Mac Tip Every Day: Organizing threads in Mail!

PHP/zlib: Wie ermittelt man die unkomprimierte Dateigröße einer .gz-Datei?

Problem: Mit $fh = gzopen($fileName, 'r'); erhält man einen Filepointer auf die Datei, aber für gzread() benötigt man neben dem Filepointer auch eine Leseinheit (und in den meisten Fällen dürfte das der Inhalt sein). Allerdings kommen wir mit filesize($fileName) nicht weiter, denn damit erhalten wir nur die Größe der komprimierten Datei zurück.

Antwort: Nach einem Beitrag von zaotong auf php.net/gzread wird die Originaldatengröße in den letzten 4 Bytes der Datei gespeichert; alles was man machen muss, ist also die letzten 4 Bytes auslesen und als Buffergröße nutzen.

Snippet:

$fileName = 'compressed.gz';
// normal öffnen, windows-binärmode
$fh = fopen($fileName, "rb");
// springe zum 4. vorletzen byte
fseek($fh, -4, SEEK_END);
//lese die nächsten 4 bytes (also die letzten)
$readBuf = fread($fh, 4);
// binärdaten lesen, ist integer (4 Byte)
$gzSize = end(unpack("V", $readBuf));
// pointer wieder schliesen
fclose($fh);
// nun entkomprimieren, windows-binärmode
$fh = gzopen($fileName, "rb");
// nun können wir angeben, wieviel wirkliche daten wir lesen wollen
$content = gzread($fh, $gzSize);
// und brav wieder schließen
gzclose($fh);

Jetzt klar: Innere Uhr des Menschen ist vererbt

Mit den Hühnern in die Federn, mit den Hühnern wieder raus: Berliner Forscher haben ein Frühaufsteher-Gen entschlüsselt, das für diese Störung der inneren Uhr verantwortlich ist. „Das ist das erste Beispiel, in dem die Regulation eines komplexen menschlichen Verhaltens wirklich auf eine einzige genetische Basis und einen molekularen Mechanismus festzunageln ist“, sagte Achim Kramer vom Institut für Immunologie der Berliner Charité zu den Ergebnissen, die in der jüngsten Ausgabe des Journals „Genes & Development“ veröffentlicht werden.

Tja, meine Uhr ist eher spät – und nun kann ich endlich sagen, dass ich dafür nichts kann 🙂

Quelle: Chronobiologie – Frühaufsteher-Gen entschlüsselt (stern.de)