Schatten der Vergangenheit (2)

Heute habe ich mein Auto in die Werkstatt nach Zell u. A. gebracht, und während die dran gearbeitet haben, bin ich ein Bisschen durch den Ort gelaufen. Da bin ich auch am Friedhof vorbeigekommen.

Dort liegt, so ist mir wieder bewusst geworden, mein Schulkollege Marc Propach begraben.


Grab von Marc Propach

Er starb 1991 (glaube ich) als er mit Papas Mercedes gegen einen Baum gefahren ist. Naja, selber schuld sage ich heute, wieder ein Raser weniger. Damals allerdings war das für lange Zeit ein ziemlicher Schock für mich gewesen. Kommt ja auch immer sehr überraschend so was.

„Der Marc, ausgerechnet der!“ haben sich viele (so auch ich) gedacht. Der stand mitten im Leben, war beliebt, sah recht gut aus, hatte reiche Eltern, eine hübsche Freundin. Dass dem so was passiert war irgendwie unbegreiflich.

Heute, 15 Jahre später wirkt das alles etwas seltsam, wenn ich zurückdenke. Nicht mehr groß traurig, aber irgendwie seltsam. Das Grab z.B. ist völlig verwildert (siehe Foto). Damals waren wir glaube ich alle ziemlich mitgenommen gewesen. Aber heute denke ich eher, was jemand, der „in der Vergangenheit zurückgelassen“ wurde so alles verpasst hat; Handies, Internet, vernünftige Mode ;-), Linux, schnelle PCs, Navigationssysteme im Auto, usw.

Mir ist aufgefallen, dass ich oft unbewusst beim Tod von Leuten zu rechnen anfange. Z. B. starb mein Papa 1978. Da war ich 5. Und heute bin ich (unidirektional, leider) in Frauen verliebt, die teilweise damals noch gar nicht auf der Welt waren. Das verwirrt mich alles.

Zeichenketten in C# formatieren

Dieser Artikel hier soll im Laufe der Zeit für mich (und ggf. andere) eine schnell zu findende Kurzreferenz für Zeichenkettenformatierung in C# werden.

In C/C++ gibt es printf() und verwandte Funktionen um verschiedene Datentypen formatiert in Zeichenfolgen umzuwandeln. In .NET/C# sind es string.Format(), object.ToString() und verwandte Funktionen, die verwendet werden um dies zu erreichen.

Tipps

1.) Nachkommastellen festlegen

Um die Nachkommastellen beim Umwandeln von Fließkommazahlen (decimal, double, float) zu beeinflussen, einfach das Präfix „:F“ gefolgt von der Anzahl der Nachkommastellen angeben.

Beispiel:

decimal x = 0.00m;
double y = 1.38;

// Variablen x und y auf jeweils
// 2 Nachkommastellen formatieren.
string s1 = string.Format( "{0:F2}", x );
string s2 = string.Format( "{0:F2}", y );

2.) Vorkommastellen festlegen und mit Nullen auffüllen

Um die Vorkommastellen beim Umwandeln von Ganzzahlen (z.B. int, long) zu beeinflussen und auf eine feste Anzahl stellen zu bringen, einfach das Präfix „:“ gefolgt von der gewünschten Anzahl als Nullen („0“) verwenden.

Beispiel:

int i = 19;

// Variable i auf 5 Stellen formatieren,
// fehlende Stellen mit "0" auffüllen.
string s1 = string.Format( "{0:00000}", i );

3.) Integerzahlen hexadezimal mit führenden Nullen darstellen

Um ganze Zahlen hexadezimal mit einer festen Anzahl Stellen zu formatieren einfach ein „X“ gefolgt von der gewünschten Anzahl der Nullen (z.B. „4“) schreiben.

Beispiel:

int i = 234;

// Schreibt "00EA" in s1.
string s1 = i.ToString( "X4" );

Beispiel (alternativ zum vorherigen Beispiel, gleiches Ergebnis):

int i = 234;

// Schreibt "00EA" in s1.
string s1 = string.Format( "{0:X4}", i );

Internet-Ressourcen

Folgende Artikel/Seiten sind hilfreich:

Ich hasse Katzen!

Ich hasse Katzen

Hiermit möchte ich offiziell bekanntgeben, dass ich anscheinend der einzige Weblog-Autor auf der ganzen Welt bin, der keine Katzen besitzt, nie eine Katze besessen hat, sich nie eine Katze zulegen wird und auch sonst Katzen abgrundtief hasst.

So, jetzt ist es raus!

Hunde hingegen, ja Hunde sind die tollsten Tiere der Welt.

Größenverhältnisse Wasserhahn-zu-Waschbecken

Seit Ewigkeiten wundere ich mich über folgendes Phänomen bei BadezimmerWaschbecken mit Wasserhahn:

Das Waschbecken selbst ist meist so breit und tief, daß darin mühelos ein Baby Platz drin findet. Somit könnte auch die Aufgabe, nämlich primär das Waschen der Hände, gut erfüllt werden.

Jedoch – der Wasserhahn selbst ist fast immer so nahe am hinteren Ausguss montiert, dass ein Hände(ab-)waschen unter fließendem Wasser nur mit ständigem Anstoßen am hinteren Ende des Beckens möglich ist. Selbst bei voll aufgedrehtem Wasser trifft der Strahl meist nicht genug in die Mitte um sich einfach die Hände zu säubern.

Nun ist meine Frage:

Warum ist der Wasserhahn so weit hinten und nicht weiter zum Benutzer hin montiert?

Folgende Gründe fallen mir ein:

  • Die Planer haben primär ein anderes Ziel als das des Händewaschens verfolgt.
  • Es sollen wirklich Babys oder Wäsche im Becken ohne störenden Hahn gewaschen werden können.
  • Es ist ein Planungsfehler.
  • Es ist ästhetischer.

In meiner vorherigen Wohnung habe ich einige Jahre lang tatsächlich mal einen (weit herausragenden) Küchenwasserhahn montiert gehabt. Es war eine wahre Freude, mir damit die Finger zu waschen!


Prinzipskizze (von oben). Links zu nahe am Rand, rechts OK.

Falls Ihr also a) meinen gewohnt ungewohnten Gedanken überhaupt folgen könnt und b) eine Antwort wisst, so lasst es mich bitte in Form von zahlreichen Kommentaren hier wissen. Danke!

Alkohol

Als ich 15 war, war ich das erste mal so „ein Bisschen“ betrunken. Während einem Grillabend mit Eltern und deren Bekannten. Es war Wein, und er hat komisch geschmeckt, aber neue Erfahrungen, naja.

Dann habe ich, bis ich so 20-22 Jahre war, immer mal wieder bei Festen (die ich, wie meine Freunde wissen, eher sehr selten besuche), etwas zu viel getrunken. Als ich dann einmal nach einem halben Bier Auto gefahren bin, und erst danach gemerkt habe, dass ich was getrunken hatte, habe ich mir gesagt: „Nie wieder Alkohol!“ (wie gesagt, schon damals habe ich das eher selten gemacht).

Schon immer habe ich Alkohol eigentlich aus nicht erklärbaren Gründen getrunken: Er schmeckt mir überhaupt nicht, wenn ich was getrunken habe werde ich nervös und hippelig, und höre subjektiv schlechter. Der einzige Grund war wohl ein unterbewusster Gruppenzwang.

Seit dem (also so 10 bis 12 Jahre) kann ich wirklich an einer halben Hand abzählen, wie oft ich Alkohol getrunken habe. Und die Mengen waren jeweils homöopatisch. Die Gründe waren mal ein Versprechen dem Klaus Hannes gegenüber, ein anderes Mal ein Abend mit einem Mädel (hat aber nix genutzt ;-)).

Nachdem heute mal wieder Bekannte untereinander geredet haben wie gerne und in welchen (für mich) häufigen Intervallen sie Alkohol konsumieren, und ich dabei natürlich völlig abseits stand, da habe ich mich mal wieder gefragt:

Uwe, bist Du normal?

Es ist scheinbar völlig üblich, Alkohol zu konsumieren. Und somit völlig unüblich, keinen Alkohol zu konsumieren. Und außer zwei nicht repräsentativen Einzelfällen (M. und A.), kenne ich auch niemanden, der keinen Alkohol trinkt.

Ich weiß somit auch keine Antwort auf meine Frage, aber ich finde das alles schon recht seltsam.

(Ende der philosophischen Sonntagsgedanken, danke fürs Lesen)

„Mission Enigma“

Im Jahre 1997 habe ich neben dem Studium ein Computerspiel im Stile von Boulder Dash entwickelt.

„Mission Enigma“ nennt sich das Spiel. Es ist ein DirectX-Spiel das unter Windows läuft und kommt samt 30 Spielebenen, eigenem Editor für neue Spielebenen und kleiner HTML-Hilfe daher. Und natürlich mit recht ansehnlicher (2D-)Grafik und Soundeffekten sowie Hintergrundmusik.

Ihr könnt unter „MissionEnigma.zip“ (ca. 20 MB) die kompletten Programmdateien völlig kostenlos herunterladen.

Zum Installieren einfach das ZIP-Archiv in einem beliebigen Ordner entpacken und dann die Datei „AUTORUN.EXE“ starten.

Ich veröffentlich das Ganze hier in der Hoffnung, daß jemand von Euch ggf. eine kleine Freude damit hat. Ich habe seinerzeit Boulder Dash auf dem Commodore 64 heiß und innig geliebt. Vor allem selber Spielebenen entwerfen hat großen Spaß gemacht.

Ich freue mich schon über Feedback von Euch :-).

Übrigens: Falls Ihr Interesse an den Quelltexten habt, krame ich die gerne mal von alten Sicherungs-CDs hervor. Habe ich mit MFC und DirectX entwickelt.

Update Mai 2018

Ich habe noch ein Cheat-Sheet gefunden, das ich seinerzeit mal gemacht habe.

Hier könnt Ihr es als PDF anschauen: Mission-Enigma-Cheat-Sheet

Traum, echt, gedacht oder gemacht?

Kennt Ihr folgendes Phänomen auch? Ab und an geht es mir so, daß ich mich an eine Begebenheit die mir mal passiert ist erinnere und mich dann aber sogleich frage:

„Hast Du das wirklich erlebt, oder hast Du vielleicht nur geträumt, daß das passiert ist?“

Ein Traum?

Meist sagt mir dann mein Verstand, die korrekte Antwort. Aber manchmal weiß ich es echt nicht mehr.

Genauso wenn ich etwas tun möchte (z.B. Person A ein Buch schenken), dann frage ich mich manchmal, ob ich das in der Vergangenheit ggf. schon gemacht habe.

Vielleicht ist ja das Gehirn mit jeder erlebten Lebensminute die dazukommt und Eindrücke und Erfahrungen liefert, mehr damit beschäftigt diese zu verarbeiten. Und manchmal verhaspelt es sich halt :-). Oder ich bin da etwas anders als die anderen Leute auf dieser Welt.

Aber so lange ich mir am Morgen noch selbst die Schuhe binden kann, kann ich glaube ich ganz beruhigt sein.

System.Drawing.Color-Elemente

Weil mir die vielen Namen der Farben des Namensraums System.Drawing.Color des .NET Framework nichts sagen, habe ich mal flott via Reflection eine ASP.NET-Seite zusammengestupfelt die die Farbnamen visualisiert.

System.Drawing.Color

Vermutlich gibt’s da schon was Fertiges, ich habe aber leider nichts gefunden. Deshalb die Seite :-). Wenn Ihr den Quelltext haben wollt; einfach runterladen.