Mozilla Thunderbird 1.5 Released

Gestern wurde nun auch das Mailprogramm Thunderbird in der Version 1.5 released. Informationen zu den Neuerungen und Bugfixes findet man in den Release Notes.

Reanimierter Windows Desktop

Meine anstehende Diplomarbeit brachte mich dazu, die von einer dicken Staubschicht bedeckten Windowspartion zu reanimieren. Nachdem die wichtigsten Programme installiert waren, musste natürlich die jungfräuliche Lunaoberfläche erstmal in eine für mich gewohnten Arbeitsumgebung umgewandelt werden. Aber keine Sorge FreeBSD wird mein MainOS bleiben.

OS: Windows XP
Thema: Noire
Wallpaper: Fractal Mac Beasty (grey)
Size: 1280x960

Der verschwundene Tag

confused … Eben hatte ich nicht schlecht geschaut, als es in meinem Kalenderprojekt keinen 26.03.2006 mehr gab, welcher vor ein paar Stunden aber noch vorhanden war. Dies brachte natürlich alle darauf folgenden Tage um eins durch einander und verwirrte mich doch etwas, da ich keinen Fehler an den betreffenden Quellcodestellen finden konnte und er nur in der Stunde von 23:00 Uhr auftrat.

Für mein Projekt hatte ich die aktuelle Zeit, welche ich als Ausgangspunkt für zukünftige und vergange Tage benutzte, wie folgt ausgelesen:

// get timestamp from now (today)
time_t t_today;
time (&t_today);

// set today's tm structur
tm *tm_today;
tm_today = localtime (&t_today);

Mein Fehler war die Nichtbeachtung der Umstellung der Sommerzeit, welche natürlich genau am 26.03.2006 statt findet. Ich hatte einfach angenommen, dass ein Tag immer 86400 Sekunden hat. Das bedeutete für mein Programm, es wird aus heutiger Sicht keinen 26.03.2006 23:00 Uhr geben, da die Uhrzeit an diesem Tag ja um eine Stunde vorgestellt wird und der Tag um 3600 Sekunden kürzer ist und es somit schon der 27.03.2006 00:00 wäre. Ebenso fehlerhaft würde die Zeitumstellung im Oktober sich mit einem doppelten Tag bemerkbar machen, da es statt 00:15 Uhr, doch erst 23:15 Uhr wäre.

Eine einfache aber wirkungsvolle Lösung war das manuelle Setzen des Zeitstempels vom aktuellen Tag auf 12:00 Uhr Mittags, womit ich die kritischen Zeitabschnitte umgehen konnte:

// get timestamp from now (today)
time_t t_today;
time (&t_today);

// set today's tm structur
tm *tm_today;
tm_today = localtime (&t_today);

// set today's tm structur time to 12:00:00,
// because summer time
// fix the problem with 23:00-23:59 and 00:00-00:59
tm_today->tm_hour = 12;
tm_today->tm_min = 0;
tm_today->tm_sec = 0;

Danke an die Engel für den zündenden Tipp und wieder was gelernt :D

Januar 2006 Desktop

Keine grossen änderungen bis auf ein neues Wallpaper und nicht zu vergessen ein neues Jahr 2006.

OS: FreeBSD 6.0
WM: Gnome 2.12
Thema: Clearlooks
Iconthema: Crystal for GNOME
Wallpaper: Quarter Past Midnight Session1
HDD Icons: BSD Harddisc Icons
Panelicons (unteres): Diverse
Size: 1280x960

NetBSD 3.0 released

„… The NetBSD Project is pleased to announce that release 3.0 of the NetBSD operating system is now available …“ (NetBSD)

Heute wurde NetBSD 3.0 released. Ausführliche Informationen zum neuen Release findet man unter Announcing NetBSD 3.0 und Information about NetBSD 3.x. Na wenn das kein vorweihnachtliches Geschenk ist :)

Frohe Weihnachten 2005

… und schöne Feiertage, sowie einen guten Rutsch ins neue Jahr 2006 wünsche ich allen. Denkt daran … Freude ist eines der wenigen Dinge, welche sich vergrössert, wenn man sie teilt.