Wassereis

Leute, ich sag’s Euch! Das waren die best investierten 1,29 Euro meines Lebens:

Foto von 6 Wassereis-Packungen

Für 10 Wassereis nur 1,29 Euro, das sind 12,9 Eurocent pro Eis. 4 davon habe ich bereits verspeist gehabt, die restlichen 6 sind in obigem Bild zu sehen.

Mantis Bug Tracker

Eine Software die wir schon seit mehreren Jahren verwenden um Fehlerberichte zu erfassen ist die Open-Source-Software namens Mantis Bug Tracker, kurz MantisBT oder Mantis genannt.

Bildschirmfoto von Mantis Bugtracker

Seinerzeit hat unser damaliger Auszubildender Rainer (heute selbstständig mit eigener Firma) die Software eingeführt und konfiguriert.

Mit Mantis ist es möglich, komplett Web basiert Fehler und Feature-Requests zu erfassen, zu verwalten und zu dokumentieren.

Wir verwenden das bei quasi allen internen Projekten um Fehler („Bugs“) und Featurewünsche („Feature Requests“) zu protokollieren, außerdem setzen wir es auch bei Kundenprojekten ein.

Zunächst ist es für den Kunden oft lästig, gefundene Issues und Wünsche anstatt per Telefon oder E-Mail, über den Bugtracker zu erfassen und zwar so, dass sie auch gut vorqualifiziert sind; nach einer Weile sind fast alle Kunden zufrieden, weil sie durch die Verwendung einer Fehlerdatenbank auch für sich Vorteile haben:

  • Alle berichteten Fehler sind für immer dokumentiert. Das hilft beim späteren Nachvollziehen.
  • Änderungen (z.B. Fehler wurde vom Entwickler beseitigt) werden in Mantis ebenfalls protokolliert und dokumentiert; der Kunde wird hierdurch automatisch per E-Mail benachrichtigt, also aktiv informiert, ohne dass er etwas machen muss.

In unserem Test-Management-System Zeta Test gibt es ebenfalls eine Schnittstelle zu Mantis (neben OnTime, Bugzilla und anderen Bugtrackern), Tester können so automatisch fehlgeschlagene Tests als Bugs berichten, diese werden dann in Mantis automatisiert angelegt.

Fazit

Mantis Bugtracker

Mantis ist kostenlos und flexibel. Die Benutzeroberfläche würde ich als tendenziell „hässlich“ oder „unübersichtlich“ bezeichnen, die Features machen das wiederum deutlich wett.

Falls Ihr also auf der Suche nach einem Fehler-Tracking-System seid, schaut Euch Mantis mal an.

Quickie

Es folgt (mal wieder) eine kleine Anekdote von „Früher“.

Währen meiner Schulzeit, bis kurz vorm Abitur (1992) habe ich einige Jahre in den Ferien und nebenher im Kaufhof Göppingen gearbeitet.

Oft habe ich an der Warenannahme gearbeitet und 2-3 mal täglich den LKW mit den Waren aus dem Zwischenlager in Ludwigsburg ausladen, Postpakete annehmen, Warenlieferungen annehmen. Manchmal habe ich auch in der Hausverwaltung gearbeitet und geholfen beim Umbauen von Abteilungen oder des öfteren die Leuchtstoffröhren auf ganzen Etagen gewechselt.

Was man halt als 15-bis-19-Jähriger so alles macht.

Dabei wurde mir von einem Verkäufer (Werner S. aus der Computerabteilung) folgende Geschichte erzählt. Ich fand sie witzig, deshalb erzähle ich sie Euch:

Die Geschichte vom Quickie

Eine junger Verkäuferin aus der Spielzeugabteilung (ich glaube Sie hieß Vivien oder so) hatte Besuch von einem Außendienst-Mitarbeiter („Vertreter“) eines Spielzeugherstellers.

Sie wollte noch das eine oder andere als Incentive umsonst oder günstiger haben.

Das Gespräch fand wohl im Warenlager statt und es waren keine anderen Personen anwesend. Als sie dann ihren Wunsch äußerte, hat der Vertreter Sie zur Seite genommen und zu ihr gesagt: „Für ’nen Quickie kannst die Sachen alle umsonst haben„.

Scheinbar war das zu viel für die Zartbesaitete.

Sie ist dann recht zügig und höchst erbost aus dem Lager gelaufen, hat den Außendienstler stehen gelassen, und hat sich bei Ihrer Kollegin ausgeheult.

Epilog

Die Geschichte hat sich dann recht schnell herum gesprochen und für Schmunzeln gesorgt. Wie es genau ausgegangen ist für den Vertreter weiß ich nicht mehr, ich stelle mir vor, er fand die Reaktion auch recht lustig.

Jaja, so war das damals Anfang der 90er-Jahre.

Gebackener Camembert im Bierteig

Heute möchte ich Euch eines meiner All-Time-Favorites in Sachen „Lecker Essen“ vorstellen:

Den gebackenen Camembert im Bierteig aus der Zachersmühle bei Adelberg:

Gebackener Camembert im Bierteig auf einem Teller
Gebackener Camembert im Bierteig auf einem Teller

Der leckerste Camembert der Welt. Und von normalem Lidl-Supermarkt-Camembert ungefähr so weit entfernt wie Visual Basic von echtem Programmieren 😉

Das Ergebnis kann sich doch sehen lassen:

Leer gegessener Teller auf dem bis vor kurzem ein Gebackener Camembert im Bierteig lag

Hiermit also meine explizite Empfehlung, mal die Zachersmühle in Adelberg zu besuchen und einen gebackenen Camembert im Bierteig zu konsumieren.

Als Vorspeise empfehle ich Euch einen Flammkuchen mit Spinat und Gorgonzola, als Getränk unbedingt ein naturtrübes Apfelsaftschorle.

Lecker lecker!

Repair broken TortoiseSVN Explorer Overlay Icons on Windows 7 64-bit

Symptom

The cute litte Windows Explorer Shell Overlay Icons of TortoiseSVN (you know those red, green, blue, etc. icons) that indicate the SVN state of your files or folders are missing.

Your are using a 64-bit version of Microsoft Windows 7.

Cause

The 64-bit versions of Windows 7 can only handle a total of 15 overlay icon handler.

Resolution

The resolution to edit the registry, as described in this article on Stack Overflow did not work on my machine.

What actually helped was that I updated to the latest version of TortoiseSVN and then used Autoruns from Sysinternals to remove all the Shell overlay icon identifiers except those of TortoiseSVN:

In my case there were lots of those ugly Groove entries (installed by Microsoft Office 2010) and some Dropbox entries.

After unchecking and rebooting my machine, the TortoiseSVN icons appeared again.

You can get Autoruns directly from the URL http://live.sysinternals.com/autoruns.exe without the need to install anything.

Resolving the Oracle ODAC .NET error message „Attempted to divide by zero“

Issue

If you are executing a simple SQL query like

SELECT * FROM Articles

against an Oracle database from within a .NET application and you are getting an exception like

System.DivideByZeroException: Attempted to divide by zero.

In German:

System.DivideByZeroException: Es wurde versucht, durch 0 (null) zu teilen.

Cause

Probably a bug in the ODAC .NET drivers/layers. One user in the Oracle forums faced the same issue.

Resolution

In my case it was as simple as replacing the asterisk („*“) with an explicit list of columns I wanted to query for.

E.g.

SELECT Name1, Price, Description FROM Articles

After that modification, I was successfully able to run the query and get results.

Micky-Maus-Anekdoten

Heute zwei kleine Anekdoten mit Micky Maus (also über die Zeitschrift), von der ich als Kind und Jugendlicher ein großer Fan war.

Die Geschichten fielen mir vorher ein, als ich mit Jana an entsprechenden Schauplätzen vorbei gefahren bin. Und jetzt geht’s los.

Anekdote 1 – Der Flohmarkt

Ich hatte früher, so mit 10-12 Jahren, relativ viele Micky-Maus-Hefte.

Zu der Zeit kam gerade der Commodore C-64 groß in Mode. Mein Freund Dean Martin (ja, der hieß wirklich so), hatte natürlich schon einen. Ich wollte unbedingt auch einen.

Mama konnte und wollte sich das damals nicht leisten, das Ding hat einige 100 DM gekostet. Also musste eine Idee her.

Die Idee kam dann in Form eines Flohmarkts auf dem Aktivspielplatz in Ursenwang, einer Nachbargemeinde, daher.

Mein Freund Dean und ich sammelten einige Sachen zusammen, unter anderem auch schweren Herzens meine sämtlichen Micky-Maus-Hefte, und machten uns auf dem Weg zum Flohmarkt.

Wir bauten unseren Stand auf und bereits ganz kurz nach Eröffnung zog ich das große Los: Ein einzelner Kunde kaufte mir sämtliche Micky-Maus-Hefte auf einmal ab!

Es war in meinen Augen ein sehr guter Preis, mit dem ich die Letzte Hürde zum C-64 nehmen konnte.

Schweren Herzens trennte ich mich also von den Magazinen, und wir verkauften den Vormittag hinweg noch ein paar andere Kleinigkeiten die alle aber nicht mehr so viel brachten wie die Micky-Mäuse.

Als wir zusammenpackten und irgendwann dann gingen hat mich fast der Schlag getroffen:

Der Kunde, der meine sämtlichen Hefte gekauft hatte war immer noch auf dem Flohmarkt. Und was machte er? Er verweilte quasi direkt am Eingang/Ausgang, also in bester Lage, und verkaufte meine Micky-Maus-Hefte zu einem höheren Preis weiter.

Der absolute Hammer! Ich war geschockt, dass ich scheinbar doch zu wenig von ihm verlangt hatte.

Meinen C-64 hatte ich zwar finanziert, trotzdem blieb ein irritiertes Gefühl zurück, dass ich irgendwie verarscht worden bin.

Anekdote  2 – Der Urlaub

(Diese Geschichte spielt zeitlich vor Anekdote 1)

Mit meiner Mama und einer befreundeten Familie (Frau mit Tochter) fuhren Anfang der 1980er-Jahre, ich war ggf. so 10 Jahre, ein Wochenende lang ins Allgäu auf einen Bauernhof.

Wir wollten dort im kommenden Sommer „Urlaub auf dem Bauernhof“ machen, also so eine Woche im Allgäu verbringen, mit Stall und Kühen und so.

Das eine Wochenende war so zur Probe, um zu schauen ob uns die Gegen und die Gastfamilie dort zusagen.

Wir haben uns also in ein Auto gesetzt, Uwe hatte natürlich seine Micky-Maus-Hefte dabei; war eine lange Fahrt und iPhone/iPad waren noch nicht erfunden.

Als wir dann ankamen haben wir uns recht schnell mit den Kindern der Gastfamilie angefreundet und sind Spielen gegangen, während die Erwachsenen zusammen mit der Gastfamilie im Wohnzimmer saßen und sich unterhielten.

Also wir so spielten äußerte sich die Tochter der Gastfamilie sehr positiv über meine Micky-Maus-Hefte, die ich natürlich ebenfalls aus dem Auto mitgebracht hatte.

„Ha, der leihe ich einfach ein paar davon aus“ dachte ich mir, „Wir sind ja in ein paar Wochen zum richtigen Urlaub wieder dort, dann kann sie mir die Hefte wieder zurückgeben“.

Also habe ich ihr einige meiner Hefte (so 10-20 Stück) ausgeliehen.

Kurze Zeit später sind wir dann aufgebrochen, es kam mir irgendwie hektisch vor.

Ich habe mich von allen verabschiedet und freute mich schon, dass wir bald wieder zu diesen netten Leuten in die schöne Umgebung fahren würden und ich dann auch meine Micky-Maus-Hefte zurück bekommen würde.

Während der Heimfahrt war die Stimmung irgendwie seltsam.

Zu hause angekommen, habe ich dann mit der Mama gesprochen und sie gefragt, warum sie so komisch drauf war. Sie war völlig verärgert und hat mir gesagt „Der Kerl ist ein Busengrabscher, ekelhaft, da fahren wir auf keine Fall mehr hin!“.

Ich war geschockt!

Weniger ob das „Busengrabschers“, das konnte ich nur erahnen, was sie gemeint hat (damals gab’s ja auch noch kein Internet und 4fuckr.com z.B.), sondern vielmehr weil ich nur meine heißgeliebten Micky-Maus-Magazine nie nie nie mehr zurückbekommen würde.

Eine Katastrophe!

Ich habe dann zwar immer mal wieder versucht die Mama zu motivieren, doch hinzufahren oder dass wir die Hefte noch per Post anfordern könnten, leider waren Mamas Prioritäten deutlich anders gelagert als meine.

So musste ich also die Hefte für immer abschreiben…

Epilog

Ihr seht, Micky Maus hat mir eine schöne Kindheit beschert, aber auch ein bisschen Leid verursacht.

Irgendwann bin ich dann auf MAD und Bravo umgestiegen, man entwickelt sich ja weiter 😉

Zone-30-Geschwindigkeitsmessung

Juhu!

Nach nur einem knappen Jahr, hat die Polizei bzw. die Stadt Göppingen so eine mobile Geschwindigkeits-Messanlage bei uns im Stauferpark montiert:

Ich hatte seinerzeit angefragt, was ich tun könne, damit die Leute hier im Stauferpark Göppingen neben unserem Büro nicht so durch die Straßen rasen; ich war in (berechtigter) Sorge um die Gesundheit meines Hundes.

Diese Messung war wohl das einzig Machbare.

Kollege Mario hat erzählt, dass er die Montage mitbekommen hat („…die zwei dümmsten Bauhof-Mitarbeiter die ich je gesehen habe…“); scheinbar sind die ohne Rücksicht auf (vorhandene) Fußgänger im ersten Gang auf und abgerast um zu testen ob das Gerät auch ordentlich misst.

Mal gucken ob das Gerät nun ein Bisschen hilft und zur Langsamkeit motiviert.

Verhalten von BOF und EOF in ADO

Zurzeit habe ich die Aufgabe ein Microsoft-Access-VBScript-Projekt in eine moderne Ajax-ASP.NET-4.0-C#-Anwendung zu migrieren.

Dabei stoße ich auf zahlreiche „seltsame“ Sachen die mit VBScript so möglich sind.

Recordset.BOF und Recordset.EOF

Eines davon ist die Logik der Eigenschaften „BOF“ und „EOF“ eines Recordsets.

Laut Dokumentation gilt:

BOF: Indicates that the current record position is before the first record in a Recordset object.
EOF: Indicates that the current record position is after the last record in a Recordset object.

Der Programmcode durch den ich mich arbeite verwendet die BOF-Eigenschaft häufig zum Prüfen ob Datensätze vorhanden sind oder nicht.

Selbsttest

Leider widersprechen sich Programmlogik und Kommentare manchmal, deshalb habe ich eine kleine Access-Datenbank mit einem Modul erstellt, das die verschiedenen Fälle durchspielt.

Das Ergebnis ist wie folgt:

=========================
Test-Beginn

—————
SQL-Abfrage die einen Datensatz liefert (Count: 1)
BOF: Falsch
EOF: Falsch

—————
SQL-Abfrage die mehrere Datensätze liefert (Count: 2)
BOF: Falsch
EOF: Falsch

—————
SQL-Abfrage die keine Datensätze liefert (Count: 0)
BOF: Wahr
EOF: Wahr

Test-Ende
=========================

D.h. sobald ein Datensatz vorhanden ist, sind sowohl BOF als auch EOF „false“, sonst jeweils „true“.

Somit bedeuten folgende Prüfungen:

If Recordset.BOF = False then –> Daten sind vorhanden
If Recordset.BOF = True then –> Daten sind nicht vorhanden

Download

Damit Ihr es bei Interesse selbst mal ausprobieren könnt, gibt es hier die Access-Datei zum Download.