Under the desk

Der geneigte Webcam-Besucher mag sich ggf. schon gefragt haben, wie die untere Hälfte zur Webcam aussieht.

Die liebe Jana ist dieser brennenden Frage nun investigativ nachgegangen und konnte mit folgender Aufnahme aufwarten:

Ich bitte um Beachtung, dass normalerweise deutlich elegantere orange Crocs meine edlen Füße zieren.

„RIGHT“-Funktion in Oracle

Um die letzten n Zeichen einer Zeichenfolge zu ermitteln gibt es in Basic z.B. die Right-Funktion.

Große Dateien sendenHomepage erstellenSharepoint StuttgartTest Management Software

In Oracle gibt es dazu SUBSTR-Funktion. Wird diese mit einer negativen Zahl aufgerufen, so wird vom Ende der Zeichenfolge gezählt, was einer Right-Funktion entspricht.

Beispiele:

substr(‚This is a test‘, 6, 2)Liefert ‚is‘ als Ergebnis
substr(‚This is a test‘, 6)Liefert ‚is a test‘ als Ergebnis
substr(‚TechOnTheNet‘, 1, 4)Liefert ‚Tech‘ als Ergebnis
substr(‚TechOnTheNet‘, -3, 3)Liefert ‚Net‘ als Ergebnis
substr(‚TechOnTheNet‘, -3)Liefert ebenfalls ‚Net‘ als Ergebnis
substr(‚TechOnTheNet‘, -6, 3)Liefert ‚The‘ als Ergebnis
substr(‚TechOnTheNet‘, -8, 2)Liefert ‚On‘ als Ergebnis

(Via Tech on the Net)

Data binding – Good or evil?

For years and years I’m trying to convince myself to like and love „Data binding„.

The term „Data binding“ (or „UI data binding„) in software development refers to a technique that binds two data/information sources together and maintains them in sync, usually UI controls and underlying (database) objects.

While the theory outlines many benefits like automatic storing/loading of form content and automatic data validation, my own experiences (primarily with Windows Forms in .NET) always lead me to complicated, unreadable code that took much longer and was much harder to debug than manual setting/reading of control values.

I even developed an clean and simple test application where I tried to use databinding in an insolated environment. I was not convinced either.

For a new project I am planning to try again to go with data binding.

After doing some Google search, I decided to sum up negative/critical articles about data binding in this article, since there are many positive postings about data binding (which seem to be mostly done by marketing guys of software companies).

So here are some postings:

Databinding is EVIL

Blog posting dated 2006 by a professional software developer who worked several times with data binding in the past and now decided to not use it anymore.

Quotes:

„Ok, I am officially done with databinding….“

„…Databinding works fine if you have very simple UI that does nothing but display data in a primitive way. Soon as you introduce complex and rich UI, databinding makes things much harder. If databinding is so easy to use, why is Brian Noyes‘ book „Data Binding with Windows Forms 2.0″ 696 pages?…“

„…Maybe I am old fashioned, but manually populating the controls will be much easier and more understandable. On top of that, the code will be more testable. Less magic is a good thing…“

This guy really speaks out what I feel 🙂

Is data binding a bad idea?

Posting on Stack Overflow about the pros and cons of data binding.

Quotes:

„…Also I would like to point out the databinding shouldn’t be taken as an all or nothing approch. Many times I use databinding when i have a simple and easy UI requirment to map to my object model. However, when there is special functionality needed I might put some code in the presenter to build up the view as I need it rather than using databinding…“

Benefits of DataBinding over Manually Querying / Adding to Control

Another discussion about data binding on Stack Overflow.

Quotes:

„…It can be useful to manually bind if you’ve got a complex input scenario. With databound input controls you can find that you only know you’ve got bad data when it hits the DB and throws an exception (badly formatted date/time, integer out of correct range etc). You can obviously handle this with the various validation / pre-commit events on the data controls but it can be easier (and more obviously readable) to just manually validate your input and post it when you know it’s correct…“

UI Databinding: alternatives and future

Yet another discussion on Stack Overflow.

Quotes:

„…The WPF binding although good is too complex, it combines features of XPath with normal .Net binding and is super flexible, but very difficult to debug when it gets complex, and also very longwinded – how many IValueConverter’s does one piece of code need?…“

Other resources

  • „Why Data Binding and the like are evil“ – Old VB6 article about data binding.
  • Why Databinding Sucks“ – Blog posting about data binding.

Of cource you’ll find many more resources on Google by querying for the appropriate search terms.

As a summary for my blog posting, I would love to get tons of comments about why I am right or, of course, why I am wrong.

Result codes for GetLastError()

Just for reference purposes, all System Error Codes are listed on MSDN:

To actually translate numeric error codes to user-readable error codes, use the FormatMessage function.

In .NET, use the following code snippet as a replacement for the FormatMessage function:

var errorMessage = 
    new Win32Exception(Marshal.GetLastWin32Error()).Message;

(Tip via pinvoke.net)

Gegenwind

Gerade sind Jana und ich mit den Fahrrädern in die Göppinger City und haben uns mit Freund und Ex-TeamViewer-Praktikant Jonas getroffen um uns im Café Berner auf einen leckern Kuchen zu treffen.

Da es so windig war, kam mir das folgende Erlebnis aus meiner Grundschulzeit in den Sinn:

Der Schulweg

Während meiner Grundschulzeit (ca. 1980 bis 1984) habe ich in Gammelshausen gewohnt und bin in Dürnau in die Grundschule gegangen.

Der Schulweg war zirka einen Kilometer lang und führte ein Stück weit auch über freie Felder, ohne Bäume und Sträucher.

Nun war es oft so, dass es morgens windig war (zumindest in meiner Erinnerung; vermutlich war es in Wirklichkeit kaum windig).

Das Komische daran war, dass wir auf dem Hinweg morgens mit den Fahrrädern fast immer Gegenwind hatten. Im Gegenzug war beim Heimweg mittags nach Schulschluss dann auch fast immer so, dass wir wieder Gegenwind hatten.

Als hätte sich der Wind gegen uns verschworen; morgens Gegenwind, mittags Gegenwind. Das hat mich und meine Schulkollegen aus Gammelshausen oft geärgert. Wir dachten der Wind dreht im Laufe des Vormittags.

Vermutlich war der Wind in Wirklichkeit stets gleich geblieben und hat von der Seite geblasen, so dass wir nur das Gefühl hatten, dass er stets von vorne kam.

Ich werd’s wohl nie erfahren… 🙂

Ggf. hat ja jemand der hier mit liest Kinder die auch denselben Schulweg haben und kann das mal empirisch ermitteln.

Epilog

Einen Epilog gibt’s ned. Stattdessen hier ein Foto von der leckeren, selbstgemachten Soße die mir der Jonas vorher geschenkt hat:

Der Jonas ist passionierter Chili-Züchter und Soßenkocher und macht weltklasse Soßen. Vielen Dank dafür!

Private „Putzete“

Im Schwäbischen gibt’s einen Begriff namens „Putzete“ oder „Dorfputzete„.

Mit diesem Begriff wird das (meist gemeinschaftliche) Aufsammeln von Müll und Unrat am Straßenrand, auf Wiesen, im Wald, usw. bezeichnet.

Da ich oft mit meiner Hündin Jara im Stauferpark Göppingen unterwegs bin und dort immer viiiiiiiiiel Müll herumliegt, habe ich seit ein paar Wochen angefangen, in unregelmäßigen Abständen diesen einzusammeln:

Meist mache ich das während Hundespaziergängen, da bin ich ja eh unterwegs.

Eine leere Mülltüte ausm Büro mitgenommen ist meistens gegen Ende immer randvoll. Auf obigem Bild habe ich eine Tüte die ich unterwegs gefunden habe mit Unrat gefüllt.

Warum ich das mache?

Schlicht weil mich der Müll stört und meckern/jammern ist einfach, praktisch und nutzlos.

Deswegen habe ich die für mich einzig sinnvolle Konsequenz gezogen und sammle das Zeugs halt ein und werfe es in den Mülleimer.

(Bin mal gespannt ob ich das hier auch wegbekomme ;-))

Badematte in der Küche

„Frage nicht für was etwas gedacht ist, sondern was Du damit machen kannst“.

Dieser altbekannte Spruch, den ich mir gerade ausgedacht habe, ist die Einleitung zu diesem Weblog-Posting.

Da ich oft mit kalten, nackten Füßen in der Küche beim Kochen stand, und gerade keine Hausschuhe zur Abhilfe da waren, habe ich eine noch übrige Badematte von IKEA aus dem Schrank geholt und in die Küche gelegt:

Sieht hübsch aus, gelle?

Dieser von mir erfundene Tipp steht unter einer CC-Lizenz. Ihr dürft das also kostenlos nachmachen und mir Eure Erfahrungen mitteilen. Ggf. gibt’s noch einiges zum Optimieren.

Das hier ist übrigens die Matte in groß:

Und um den Medienmix komplett zu machen, nachfolgend noch ein kleines Video, mit dem iPhone geschossen:

Viel Spaß beim Nachbasteln!

Web-2.0-Ausstattung für meine Hündin

So. Jetzt habe ich meiner Hündin Jara, neben ihrer höchst erfolgreichen Webcam auch eine Grundausstattung in „Web 2.0“ verpasst.



Es gibt ab sofort:

Ich (also eigentlich Jara, logisch) hoffe auf viele Freunde und Kontakte.

Und ggf. können sich ja die Hunde Jonas und Jasper auch zu so was Tollem durchringen. 😉

Geschirrtuch aufhängen

Dies ist ein Hass-Posting. Ich hasse, hasse, hasse es, wenn Geschirrtücher über Schrankgriffen oder Backofengriffen aufgehängt werden.

So z.B.:

Ich hasse es!

Der Sinn ist wohl, dass das Geschirrtuch dort gut trocknen kann oder die Griffe doch „ideal zum Aufhängen sind“.

So ein Quatsch!

Es ist unpraktisch, schwer zu benutzen, schwer wieder aufzuhängen.

Noch schlimmer ist obige Kombination, bei der jedes Öffnen und anschließende Schließen der darunterliegenden Schranktür mit einem eingeklemmten Geschirrtuch quittiert wird.

Lösung

Deshalb die Bitte an alle hier mitlesenden Hausfrauen und -männer, Geschirrtücher entweder an einen extra Haken zu hängen oder schlicht auf die Arbeitsplatte zu legen.

Danke!