Thomas Woelfers Baustatik Blog

Baustatik-Software und was sonst des Weges kommt

Ersatz für die CheckedListbox

Die Listbox mit den Checkmarks ist m.A.n. nicht besonders gut zu gebrauchen: Die Art und Weise wie die Checkmarks auf Klicks reagieren ist bestenfalls unbrauchbar. Dankbarerweise gibt es eine ganz einfache Methode, eine "gute" Listbox mit Checkmarks zu bekommen: Man nimmt einfach eine TreeView und setzt diese Eigenschaften: CheckBoxes = true, ShowPlusMinus = false, ShowRootLines = false. Pronto: Brauchbare CheckedListbox.

Faltwerk: Platzsparende Fenster

Beim Faltwerkprogramm gibt es jede Menge Fenster - einige sind wichtiger als andere. Eines der Fenster ist das Fenster, mit dem der oder die anzuzeigenden Lastfälle ausgewählt werden können. Das Fenster enthält im wesentlichen eine Liste mit allen Lastfällen, wobei jeder Lastfall ein- oder ausgeschaltet werden kann. Damit kann man dann praktischerweise auch direkt sehen, welche Lastfälle momentan angezeigt werden.

Das ganze sieht also so wie im folgenden Bild aus.

transparenz1.png

Dummerweise verdeckt die "Lastfallauswahl" einen Teil der Arbeitsfläche - und je mehr Lastfälle man hat, und umso größer man dieses Fenster deshalb aufzieht, umso mehr Arbeitsfläche wird verdeckt. Darum haben wir eine nette Funktion in dieses Fenster eingebaut. Ist das Fenster nicht mehr aktiv - klickt man also irgendwo anders hin, dann bleibt die Lastfallauswahl zwar offen, wird aber transparent. Das sieht dann so aus wie im folgenden Bild: Man muss also nicht auf die Übersicht der Lastfälle verzichten, um die komplette Arbeitsfläche zur Verfügung zu haben.

transparenz2.png

Gmail - Mailbox für immer?

Bei Google und einigen anderen Web-basierten Maildiensten gibt es seit einiger Zeit recht große Inboxen: Bei Google haben die zunächst 2 GB Speicherplatz und wachsen dann langsam. Meine hat beispielsweise zur Zeit ein Volumen von etwa 2.8 GB. Google wirbt damit, das man darum nie wieder eine Mail löschen muss.

you'll never need to delete another message

Das scheint aber nicht für jeden zu gelten: Mein alte Freundin Andrea brauchte etwa 5 Monate bis ihr Postfach voll war. Und dann kam ein "lustiges" Erlebnis: Man kann die Mails zwar löschen, aber nur "blockweise", in Blöcken von maximal 100 Stück. Das ist eher unhandlich, wenn man zigtausend von den Dingern hat. Trotzdem hat sie sich die Mühe gemacht, mit viel Handarbeit wieder "Platz" zu schaffen.

Das brachte aber leider nichts: Auch nachdem ein paar tausend Mails gelöscht waren beharrte Google darauf, keine weiteren mehr anzunehmen. Scheint mir ein Bug zu sein - da war man wohl so überzeugt davon, das nie jemand seinen Plattenplatz voll ausschöpfen würde, das nie jemand ausprobiert hat, was passiert, wenn das doch passiert.

Lösung: Das alte Postfach vergammelt und Andrea nimmt einfach einen anderen GMail-Account: Man braucht also nie wieder ein Mail zu löschen, muss aber alle paar Monate einen anderen Account verwenden. Ich verzichte da lieber auf GMail und lösche hin und wieder was... :-)

Windows Vista und schwerwiegende Fehler

Beim Performance Monitor (perfmon, "Leistungsdiagnosekonsole") von Windows hat sich bei Vista einiges getan - unter anderem sind die verwendeten Begriffe beim deutschen Beta übersetzt worden. Zumindest bei meinem XP sind die Erklärungen noch in englischer Sprache...

Wie das bei Übersetzungen so ist, sind dabei auch ein paar lustige Konstruktionen entstanden - so gibt es plötzlich eine Statistik über "Schwerwiegende Fehler pro Minute" beim Speicher. Der Speicher ist aber natürlich nicht kaputt und hat Ausfallerscheinungen, es geht eigentlich um etwas ganz anderes: Das Problem der Übersetzer ist wohl in erster Linie die Tatsache, das sie etwas übersetzen sollten, für das es eigentlich kein deutsches Wort gibt. Und darum gehts:

Aus Sicht des Prozessors - und auch aus Sicht des Betriebssystems - ist der Speicher in so genannten Seiten "Pages" eingeteilt. Die Größe einer Seite ist im Wesentlichen von der CPU abhängig, gängigerweise aber 4KB gross. Sinn der Sache ist die virtuelle Speicherverwaltung: Jede Speicheradresse befindet sich in einer Seite - muss die CPU auf eine Speicherzelle zugreifen, dann muss die entsprechende Seite im Zugriff der CPU liegen. Seiten auf die gerade nicht zugegriffen werden muss, können ausgelagert werden. Zum Beispiel auf die Festplatte, oder in andere Bereiche des RAMs.

Muss die CPU auf eine Seite zugreifen die sie nicht im unmittelbaren Zugriff hat, dann tritt ein "Page Fault" (Seiten[zugriffs]fehler) ein. In abhängigkeit davon wo sich die Seite befindet, haben diese Page Fault unterschiedliche Bezeichnungen. Befindet sich die Seite im RAM, so nennt man das einen "Soft Fault", befindet sich die Seite hingegen auf der Festplatte, dann nennt man das "Hard Fault". Und diese "Hard Faults" sind eben auch die "Schwerwiegenden Fehler" beim "Speicher" von Vista.

Es handelt sich also einfach um Speicherzugriffe, die aufgrund der virtuellen Speicherverwaltung einen Festplattenzugriff erfordern.

Probleme mit dem neuen Timeserver unter Windows XP64

Seit einigen Tagen liegt im Download-Bereich für unsere Statikprogramme ja auch die Datei wc.zip, die den neuen Timeserver enthält. Um genau zu sein: Ursprünglich enthielt sie den TimeServer, aktuell enthält sie ein Installationsprogramm, das den neuen Timeserver installiert. Nur leider nicht immer: Wer versuchte den Installer unter der 64bit Version von Windows XP zu installieren, der wurde enttäuscht. Statt des neuen Timeservers gab es nur einen lapidaren Hinweis, das das vorliegende Setup fürs vorliegende System "nicht geeignet" sei.

Das ist eigentlich kein Wunder wenn man bedenkt das dieses Setup eigentlich aus einer Zeit stammt, als es noch gar kein XP gab - erst recht keins in der 64bit Geschmacksrichtung. :-)

Das ist aber nun beseitigt. Die aktuelle Variante lässt sich nun auch unter Windows XP64bit installieren.

Das neue und das alte Forum...

Im Zuge des Webserver-Umzuges gab es eine kleine, aber doch eher wichtige Änderung: Das Diskussions-Forum funktioniert nun völlig anders als früher.

Bisher war es so, das es für Diskussionen rund um unsere Statiksoftware eine eigene Mailing-Liste gab. Schrieb man eine eMail an diese (Forums) Liste, dann verteilte unser Mailserver diese Mail an alle Listenteilnehmer. Jeder Teilnehmer konnte auf die eMail anworten - und die Antwort wurde dann ebenfalls an alle Teilnehmer verteilt.

Das funktioniert ab sofort anders - denn jetzt gibt es das Web-basierte Forum. Statt also eine Mail an die Mailing-Liste schreiben zu müssen (was von Haus aus weniger einleuchtend und daher komplizierter ist), kann man nun einfach eine Nachricht im Forum hinterlassen.

Gäbe es nur diese Nachricht auf einer Webseite, wäre das aber natürlich ein bisschen umständlich, denn alle Listemitglieder müssten dann das Forum regelmäßig besuchen - nur um herauszufinden, ob ein andere Anwender "was neues" geschrieben hat.

Darum versenden wir im Forum hinterlassene Nachrichten weiterhin über die "Forums" Mailing-Liste: Listenmitglieder bekommen also auch ohne einen Besuch im Web alle neuen Nachrichten mit. Allerdings: Antworten kann man auf diese Mail nicht mehr - wer antworten möchte, der muss das auch übers Web tun. Damit das möglichst einfach geht enthält die eMail nicht nur den Inhalt der Nachricht - sondern auch einen Link zu der Stelle auf unserem Webserver, an der man die Antwort verfassen kann.

Wer keine Mail mag und statt dessen lieber RSS hätte - geht auch: Es gibt einen neuen RSS-Feed auf www.die.de, über den die jeweils neuesten Forums-Beiträge ausgeliefert werden. Die URL des Feeds kann von allen gängigen Feedreadern auf www.die.de entdeckt werden. (IE 7 und Firefox blenden das RSS Icon in der Werkzeugleiste auf, wenn man mit diesen Browsern die Site besucht.)

Probleme mit dasBlog 1.8.5x

Bei der Umstellung des Servers haben wir auch gleich eine Aktualisierung der Blog-Software vorgenommen. Momentan läuft daher dasBlog 1.8.5x. Dabei gab es aber nach der Umstellung ein Problem: Die Administrator-Werkzeugleiste war nicht mehr dazu zu bewegen, angezeigt zu werden. Mit anderen Worten: Man konnte sich zwar anmelden - aber es gab keinerlei Zugriff auf die Werkzeuge zum schreiben von Einträgen mehr. Ärgerlich.

Offenbar ist das auch noch ein bisher "unbekanntes" Problem: Scott konnte jedenfalls nicht besonders viel dazu sagen. Also habe ich in den saueren Apfel gebissen, VS 2005 auf dem Server installiert, ein eigenes Build gemacht und gesucht...

Den Grund fürs Problem konnte ich allerdings nicht auffinden - es gibt aber einen Workaround, und der geht so: Der Kern des Problem hängt irgendwie mit dem einigermassen neue "Rollen" System zusammen. Beim neuen dasBlog kann es mehrere Autoren in einem Blog geben, und obendrein einen "admin". Die Autoren sind Teil der Rolle "contributor", der Administrator ist in der Rolle "admin". Im Code sieht das dann so aus, das es eigentlich zwei Stufen der anmeldung gibt: Zunächst einmal wird das Passwort verifiziert, beim Zugriff auf die einzelnen Funktionen von dasBlog wird dann jedesmal nachgesehen, ob der momentan angemeldete User zu einer Rolle gehört, die Zugriff auf diese Funktion hat. Auf diese Weise bekommt dann der Admin Zugriff auf alles (da er in der Rolle "admin" ist), die Contributors aber nur Zugriff auf den Posting-Editor.

Zumindest in der Theorie. In der Praxis war es zumindest bei mir so, das ich mich zwar authentifizieren konnte - mich danach aber in überhaupt keiner Rolle befand, und damit auf gar nichts Zugriff bekam. Wer weiss woran das liegen kann: Bin für Vorschläge offen. Bis dahin habe ich in mein Build folgendes Workaround eingebaut: In SiteSecurity.cs gibt es die Funktion IsInRole() - und die habe ich mehr oder minder entfernt. Statt wie bisher nachzusehen, ob die Rolle "passt", schaut die Methode nur noch nach, ob man authentifiziert ist - und liefert dann "true". Wenigstens kann ich seit dem wieder Einträge schreiben... :-)

Work&Cash: Zeit per Browser abholen

Wenn Sie unsere Statikprogramme mit dem Work&Cash Verfahren verwenden, dann hatten Sie bisher zwei Möglichkeiten, Ihre Zeiteinheiten auf den lokalen Rechner zu bekommen:

1. Telefonisch und
2. Per "Internet"

Die "Internet" Lösung funktioniert prima mit der Windows Firewall und auch mit dem geteilten Internetzugang von Windows. Wer aber etwas anderes einsetzt, zum Beispiel die bei der "Fritz" Karte mitgelieferte Software, der kam nicht "ran", an unseren Zeitserver im Internet.

Für solche Fälle steht nun auf der neuen Webseite eine dritte Methode zur Verfügung: Zeitübertragung per Web-Browser. Nachdem man auch mit einer noch-so-merkwürdigen Software per Browser auf Webseiten zugreifen kann, sollte diese Möglichkeit ausreichen, das wirklich jeder auf den Telefonate zum abholen der Zeit verzichten kann. Das ganze geht so:

Zunächst öffnen Sie wie gewohnt das Menü Ihres lokalen Zeitservers. Dort finden Sie neben den beiden bereits bekannten Befehlen zum abholen von Zeit nun einen dritten "Zeit per Browser abholen". Da klicken Sie drauf.

Daraufhin wird eine Dialogbox angezeigt, und auf der wird ein Code in der ebenfalls bereits gewohnten Form angezeigt.

Die Dialogbox lassen Sie auf, und öffnen dann zusätzlich einen Browser. Damit navigieren Sie nach www.die.de und klicken links im Menü auf "Zeitverwaltung". Damit kommen Sie auf eine Anmeldeseite: Hier geben Sie Ihre Anmeldedaten ein. (Dabei handelt es sich um die gleichen Daten, die Sie auch für den Zugang zu den Downloads benötigen.)

Daraufhin erscheint die Zeitverwaltungs-Seite. Auf der können Sie alle Ihre Transaktionen einsehen, und eben auch Zeitkontingente abholen. Dabei werden Ihnen in einer Liste alle zur verfügung stehenden Zeitblöcke angezeigt. (Meistens steht dort nur ein einzelner Block in der Liste.) Neben dem Ablaufdatum des Blocks wird auch sein Umfang (in Stunden) angezeigt. Und neben dieser Anzeige gibt es ein Textfeld: Dort geben Sie die Menge an Stunden ein, die Sie transferieren möchten und klicken dann auf den Button zum transferieren.

Daraufhin wird auf der Webseite ebenfalls ein Code angezeigt - und den geben Sie nun in der Dialogbox ein und klicken dann auf OK. Das wars dann auch schon - die Zeiteinheiten befinden sich nun auf Ihrem lokalen System.

Kleine Änderung bei den Downloads

Ich hatte am Freitag auf die Datei wc.zip hingewiesen - darin enthalten ist der "neue" Timeserver, den Sie seit unserer Serverumstellung am Wochenende benötigen. Darin enthalten waren bisher eine "readme" Datei und zwei Dateien mit den neuen Versionen des Timeservers.

Das hat sich aber nun noch einmal geändert: Statt dessen enthält die "wc.zip" nun ein "echtes" Installationsprogramm, das die neue Version automatisiert installiert. Die Installation des Updates dürfte damit deutlich einfacher sein, als mit der "händischen" Methode zuvor...

Macht Sinn: Hin und wieder defragmentieren

Mein "neuer" Rechner ist jetzt etwa 7 Monate alt - und das anmelden am System, zu Anfang eine Sache von 1-2 Sekunden, dauerte mitlerweile fast eine Minute. Das war aber tatsächlich extrem einfach zu korrigieren: Ich habe einfach einmal den in Windows eingebauten Defragmentierer angeworfen - jetzt dauert die Anmeldung wieder nur eine Sekunde.

Kann also nur empfehlen, das eigene System tatsächlich hin- und wieder mal zu defragmentieren. Den Defragmentierer finden Sie unter

Start -> Systemsteuerung -> Verwaltung -> Computerverwaltung -> Datenspeicher -> Defragmentierung

Neuhigkeiten auf www.die.de

Das Wochenende bringt nicht nur neue Webserver-Hardware sondern auch eine ganze Reihe an anderen Neuhigkeiten:

  • Alle Hauptseiten werden nun (endlich) als sauberes XHTML ausgeliefert und sollten sowohl im IE als auch im Firefox gleich angezeigt werden.
  • Die Anbindung des Webservers erfolgt nicht mehr mit 2 MBit sondern über eine 100 MBit-Strecke. Wer über entsprechende DSL-Bandbreite verfügt, der sollte das vor allem beim Download des CD-Images deutlich merken.
  • Es gibt nun ein Diskussionsforum. Das Forum finden Sie über die Startseite unter dem Punkt "Forum". Das Forum steht jedermann für Fragen und Diskussionen offen - man braucht aber einen (kostenlosen) Account, den man über den entsprechenden Link auf der Forums-Seite bekommt.
  • Weil es nun das Web-basierte Forum gibt, ist die alte "Forums" Mailing-Liste ein wenig runtergestuft worden. Wir versenden über diese Liste noch Mitteilungen über neue Nachrichten im Forum - nehmen aber keine Anfragen darüber mehr an. Wenn Sie eine Frage stellen wollen: Bitte verwenden Sie das Web-basierte Diskussionsforum. (Natürlich stehen die anderen bisherigen Support-Kanäle weiterhin zur Verfügung.)
  • Die Suche auf der Webseite wurde ganz erheblich verbessert. Wir liefern nun alle Suchergebnisse auf einer einzigen Resultat-Seite aus, und klassifizieren die Ergebnisse auch nach dem Fundort. So werden Resultate z.b. mit "Dokumentation" markiert, wenn sie aus der Programm-Dokumentation stammen, oder mit "Tutor" wenn sie aus den Tutorials stammen.
  • Es gibt zwei neue RSS-Feeds. RSS-Leser wie der RSS-Bandit oder Browser mit eingebautem RSS-Leser wie der Firefox oder der IE7 zeigen die Feeds in ihren Toolbars an. Zu den beiden bisherigen Feeds für die Blogs gibt es nun noch ein Feed für neue Forums-Beiträge aus dem Web-basierten Forum, sowie einen weiteren Feed für die Upates. Immer wenn also ein neuer Beitrag im Forum geschrieben wird, oder aber, wenn ein neues Update erscheint, erhalten Sie diese Information von selbst im Reader.
  • Es gibt einen neuen Menüpunkt "Zeitverwaltung" im Hauptmenü auf der Startseite. Damit gelangen Sie zu einem Web-Formular, mit dem Sie Zeit per Browser aus dem Internet abholen können. Einen zugehörigen Menüpunkt finden Sie auch im neuen TimeServer, der zur Zeit in der Datei "wc.zip" im Download-Bereich zur Verfügung steht.
  • Durch den Server-Umzug müssen Sie allerdings auch Ihre TimeServer update: Die neuen gibts wie gesagt im Download-Bereich.

Nachdem es sich um einen recht umfangreichen Umbau gehandelt hat gehe ich davon aus, das es noch die ein- oder andere Ecke gibt, die man aufpolieren muss: Wenn Sie was finden, das nervt: Bitte einfach Bescheid geben...