Thomas Wölfers Baustatik-Blog

Thomas Wölfers Baustatik Blog

Warum C# kein 'const' hat


Die kurze Begründung gibts bei Eric Gunnerson, die etwas längere bei Stan Lippman.

Im Wesentlichen läuft es darauf hinaus: Die CLR (die .NET Common Language Runtime) unterstützt 'const' nicht - und C# darum auch nicht.

Wieso die CLR das nicht unterstützt kommt nicht ganz raus; offenbar gibt es aber Probleme mit einige Sprachen bei denen 'const' nicht ohne weiteres eingebaut werden kann, mit denen aber auch für die CLR programmiert werden können soll.

Update: Daraus hat sich eine interessante Diskussion mit Raymond Chen ergeben. Es läuft darauf hinaus, das die CLR kein 'const' hat, weil das zu Problemen mit Visual Basic führen würde, was wiederum dazu führt das die interoperabilität von Code aus verschiedenen Sprache gestört wäre.

Ich halte das für ein ziemlich dürftiges Argument.


Google-Magie


Heute morgen war der Google Page Rank meines Blogs bei 0. Zero. Nothing. Eigentlich kein Wunder - das Ding ist ja gerade mal einen Monat und ein paar Tage alt.

Heute mittag (etwa um 12:00) sprang er auf drei. 3 von 10 (das Maximum) - gar nicht schlecht, dachte ich mir.

Jetzt (15:00) steht er bereits bei 5. Wow. 

Irgendwann muss ich einmal herausfinden, wie die das eigentlich ausrechnen. Herausfinden welchen Page-Rank man hat, kann man mit dem Google-Toolbar. Wer also fürs eigene Büro auch eine Website betreibt, für den kann das installieren des Toolbars schon interessant sein: Je höher der Page-Rank, um so weiter oben landet man in den Suchergebnissen bei Google - und bei allen Diensten die Google verwenden. Wie zum Beispiel a9.com.

Bei der Gelegenheit: Mir ist aufgefallen das es eine ganze Menge von D.I.E. Anwendern gibt die eine eigene Webseite betreiben - aber im Auszug aus unserer Kundenreferenz nicht auftauchen. Wer dort gern stehen möchte und verlinkt sein will: Einfach melden.


Der Nutzen von Raubkopien


Mit genug Geduld findet man im Internet Raubkopien von allem. Auch von unserer Statiksoftware. Kostet 66 Dollar wenn man sich die Sache selbst von einem FTP-Server runterlädt, ansonsten kommen noch Kosten für den Courier-Dienst dazu.

Ich frage mich für wen so ein Angebot gedacht ist und wer es nutzt.

Für einen Studenten mag es nach einem richtig gutem Deal aussehen: Zugriff auf ein komplettes Paket aus Baustatik-Programmen, alles was man fürs Studium braucht (und noch eine ganze Menge mehr) - und das für nur 66 Dollar. Der Deal sieht aber schon viel schlechter aus wenn man berücksichtigt, das man als Student unsere Vollversionen kostenlos einsetzen kann, und zwar so lange wie man will. Ohne irgend welche Einschränkungen. Die Studentenversion ist einfach der bessere Deal, meiner Ansicht nach. :-)

Wer professionell mit unserern Statikprogrammen arbeitet hat da unter Umstäden schon einen größeren finanziellen Vorteil: Statt eines Work & Cash Vertrages den es ab 450 Euro gibt, nur 66 Dollar (plus Courier-Dienst-Kosten): Das mag verlockend klingen.

Dummerweise gibt es dann natürlich keinen Support. Und vor allem: Auch keine Updates. Davon gab es in diesem Jahr (je nachdem wie man das zählt) schon etwa 40 Stück. Teilweise behoben die Updates Fehler, teilweise fügten sie neue Funktionalität hinzu. Dazu gehört unter anderem auch der zunehmende Support für die neue DIN. Kann ja nicht schaden wenn man sowas hat; spätestens in einigen Monaten ist das Pflicht.

Will man nun beim Raubkopierer seines Vertrauens an die neuen Versionen kommen wird das schnell lästig, denn der will natürlich jedesmal seine 66 Dollar sehen. Mit der Summe die ein kleiner Work&Cash Vertrag kostet schafft man es also auf etwa 7 Updates im Jahr: Das geht also schneller ins Geld als man meinen möchte.

Achso: Support bietet der freundliche Raubkopierer übrigens auch nicht. Auch nicht per eMail. Macht nichts, denn der spricht eh' kein deutsch, sondern nur so eine Art englisch... ;-)


Windows-Fehlercodes: Finden und verstehen


Moderne Windows-Versionen (und Windows-Anwendungen) protokollieren Fehlerbedingungen in Event-Log. Der Event-Log ist ein Log der allen Anwendungen und auch Windows selbst zur Verfügung steht: Dort landen nicht nur Fehler, sondern auch Warnungen und informative Hinweise.

Ansehen kann man sich das Log mit dem Ereignisbetrachter. Das Programm findet sich bei Windows XP zum Beispiel bei den administrativen Tools.

Dummerweise ist die Information im Ereignisbetrachter immer etwas dürftig. Das liegt nicht zuletzt daran, das immer nur eine Zeile pro Ereignis zur Verfügung steht. Allerdings: Jedes Ereignis hat einen Fehlercode und eine Angabe namens 'Quelle'.

Das ist schon seit den Zeiten von Windows NT 3.1 so - nur hat man noch nie viel damit anfangen können. Bis jetzt.


Hilfe - der Durchlaufträger kann keinen Kragarm


Wir scheinen ganz gut darin zu sein ein paar Dinge zu verstecken.... - aber wirklich ganz ohne Absicht. Folgendes passiert:

Man gibt einen Durchlaufträger ein. Das erste Feld, das zweite Feld, das dritte Feld - fertig. Dabei hat man schon alle Querschnitte und Materialien eingegeben. Und auch die Lagerungsbedingungen. Jetzt ist man fertig, und will noch rechts einen Kragarm dranhängen. Also - ganz einfach - noch ein Feld erzeugt..... und - verdammt !

Das Ding hat nämlich eine Lagerung am Ende. Etwas ungünstig für einen Kragarm. :-)

Der Grund dafür ist der: Wir versuchen es ihnen einfach zu machen, unsere Baustatik Programme zu verwenden. Wirklich. Letztlich gibt es nur zwei Arten in denen ein Durchlaufträger aufhören kann: Entweder er ist am Ende gelagert, oder er hat am Ende einen Kragarm. Für den Fall das er am Ende gelagert ist, ist es aber sehr wahrscheinlich das dort die gleiche Lagerungsbedingung vorliegt, wie am Anfang. Und genau den Fall verwendet das Durchlaufträger-Programm als Vorgabe. Ergebnis: In etwa 50 % aller Fälle hat man am Ende ein magisch erscheinendes, richtiges Lager - in den anderen 50% ist man am fluchen weil man das Auflager nicht will.

Ich hoffe Sie verstehen das Problem: Egal was wir tun - in der Hälfte der Fälle ist es das falsche. Sorry dafür. ;-)

Man wird das Auflager aber natürlich los. Wie das steht in der FAQ.... - was es wirklich tut; aber ich schreibe es hier natürlich auch nochmals hin: Sie müssen einfach nur über den Menüpunkt zum Einstellen der Optionen auf dem Reiter 'Allgemeines' den richtigen Schalter ausmachen - dann ist auch das Lager am Ende weg. (Natürlich fluchen Sie dann beim nächsten mal wenn Sie eben keinen Kragarm wollen - Sorry auch dafür :-) )


Windows, Timeserver und Work&Cash


Aus den Referrer-Logs meines Blogs kann ich ersehen das viele Personen dieses Blog besuchen weil sie offenbar ein Problem mit einem Timeserver unter Windows haben.

Der Timeserver um den es hier aber geht ist kein NTP Timeserver, sondern der Zeitserver den wir bei unseren Statikprogrammen im Work&Cash Verfahren zur Abrechnung verwenden.

Trotzdem ist das Thema NTP Zeitserver eigentlich ganz interessant: Hier darum ein kurzer Exkurs zum Thema NTP und synchronisierte Uhrzeiten bei Windows (XP und 2003).

Wenn man einen Rechner betreibt, dann ist es schön wenn dieser Rechner immer die richtige Uhrzeit kennt. Das wird dann besonders wichtig wenn man mehrere Rechner in einem LAN unterhält.

Genau dafür gibt es das Network Time Protocol (NTP). Dabei gibt es einen Zeitserver der (hoffentlich) die richtige Uhrzeit kennt und Clients die ihre Uhrzeit mit diesem Server synchronisieren.

Wenn die eigenen Rechner in einer Domäne untergebracht sind, dann synchronisieren diese Rechner ihre Zeit vermutlich mit dem Domänen-Server. Dazu hat der Windows 2003 Server beispielsweise eine Timeserver-Software. Der Domänen-Server seinerseits synchronisiert seine Zeit dann mit einem Rechner von dem bekannt ist, das er die richtige Uhrzeit kennt.

Hat man nur einen einzelnen Rechner oder keinen Domänen-Server kann man seine Uhrzeit aber natürlich auch synchronisieren. Damit die Sache bei einem Client aber überhaupt geht, muss man den Zeitgeber Dienst starten. Das kann man zum Beispiel über das Applet 'Dienste' aus der Systemsteuerung tun, oder man verwendet den folgenden Befehl auf der Kommandozeile: net start w32time

Dann kann man überprüfen mit welchem Rechner die eigene Uhrzeit synchronisiert wird. Das geht mit dem Kommando: net time /querysntp

Dabei wird dann bei Ihnen in den meisten Fällen rauskommen, das die eigenen Zeit mit einem Timeserver von Microsoft synchronisiert wird: time.microsoft.com

Man kann aber natürlich auch andere Zeitserver einstellen. Das mit dem Befehl net /setsntp:Server1,Server2

Stellt sich die Frage woher man nun die Zeitserver nimmt. Das ist aber eigentlich ganz einfach: Man verwendet die von der Physikalisch-Technischen Bundesanstalt zur Verfügung gestellt Atomzeit. Die sollte eigentlich genau genug sein. Die PTB stellt zwei Server zur Verfügung: ptbtime1.ptb.de und ptbtime2.ptb.de.

Die PTB hat dankbarerweise auch einige technischen Hinweise veröffentlicht. Die finden Sie hier.

Der Windows Zeitgeberdienst gibt übrigens auch ein paar Informationen aus - zum Beispiel wenn er die Uhrzeit synchronisiert hat. Diese Informationen finden Sie in Form von Einträgen im Bereich 'System' der Ereignisanzeige.