Archive for the 'Och noe!' Category

Das Projektvermittler-Elend

Wenn man im IT-Umfeld als Freiberufler oder kleine Firma unterwegs ist, dann stellt man schnell fest, dass viele größere potentielle Kunden nur noch mit Projektvermittlungsfirmen arbeiten. Deren Aufgabe besteht darin, dem Kunden die Suche nach einem geeigneten Kandidaten für ein Projekt abzunehmen und ihm letztlich eine handverlesene Kandidatenliste vorzulegen, bei denen sicher ist, dass sie verfügbar sind und dass sie über die geeigneten Qualifikationen verfügen. Der letztlich ausgewählte Kandidat erhält einen (je nach Projekt) geringfügig bis deutlich geringeren Stundensatz, dafür aber die Gewähr, dass Stunden und Zahlungen korrekt und zeitnah abgewickelt werden, denn sein Vertragspartner ist die Projektvermittlung. Die Projektvermittlungsfirma lebt von der Differenz beim Stundensatz gegenüber Auftraggeber und Auftragnehmer. Eine durchaus komfortable Situation für alle Seiten also.

Die Probleme treten im Vorfeld vor dem Vertragsabschluss auf: Kunden beauftragen häufig mehr als eine Projektvermittlungsfirma, nach dem geeigneten Kandidaten zu suchen und die Projektvermittlungsfirmen erwarten vom potentiellen Auftragnehmer, dass der sich erstens exklusiv über die jeweilige Firma vermitteln lässt und zweitens während des Vermittlungsprozesses keine anderen Projektvermittlungen für sonstige Projekte wahr nimmt. Problematisch sind beide Dinge, da manche Kunden eine Entscheidung für oder wider einen Kandidaten vom Stundensatz abhängig machen, den die Projektvermittlung ihm gegenüber aufruft, was aber für den Kandidaten absolut intransparent ist und sich Kunden manchmal auch fünf, sechs Wochen Zeit für eine Entscheidungsfindung lassen und man – zumindest in Bezug auf Projektvermittlungen – in der Zeit letztlich unbezahlt herumsitzt und wartet, wenn man die geforderte Exklusivitätserklärung unterschrieben hat. Deshalb machen wir letzteres nicht mehr.

Das alles vorausgeschickt und erklärt, gab es gestern folgendes Szenario zu bestaunen:
Read more »

#Facepalm: Facebook-Hoax (#fb)

Nein, sowas gab es ja noch nieeeee, deshalb darf man da ruhig drauf reinfallen: Ein süßes kleines Hoaxchen macht die Runde, und Tausende, Hunderttausende oder Millionen leiten ihn geflissentlich weiter.

Folgender Text geht momentan um:

Facebook ist seit kurzem zu sehr überbevölkert, es gibt viele Mitglieder die darüber klagen, dass Facebook sehr langsam ist. Die Daten zeigen als Grund an, dass zu viele nicht-aktive Mitglieder auf der einen und viele neue Facebook-Mitglieder auf der anderen Seite sind.

Wir senden diese Nachricht, um zu sehen, wer die Mitglieder sind, die aktiv sind und wer nicht. Wenn Sie aktiv sind, schicken Sie bitte diese Nachricht an mindestens 15 andere Nutzer (copy + paste), um zu zeigen, dass Sie noch aktiv sind. * Diejenigen, die diese Nachricht nicht versenden, werdeninnerhalb von 2 Wochen entfernt, ohne zu zögern, um mehr Platz zu schaffen .*

Senden Sie diese Nachricht an alle ihre Freunde, um mir zu zeigen, dass Sie noch aktiv sind, und Sie werden nicht entfernt.

Gründer von Facebook,

Mark Zuckerberg

Und wer diesen Text liest, hat die offizielle Erlaubnis, seine Birne abzuschalten und selbstverständlich der Aufforderung Folge zu leisten.

Ich könnte vor soviel Blauäugigkeit manchmal einfach nur mit dem Kopf auf den Tisch schlagen – allein schon, weil Facebook inaktive (oder scheinbar inaktive) Mitglieder nicht löscht, nicht löschen will und auch nicht löschen wird, die sind schließlich Grundlage des Geschäftsmodells.

*Klatsch*

(das war der Kopf auf dem Tisch)

#How-To: Spaß auf dem #Bahnhof haben

Manchmal denke ich mir, dass irgendwo auf dem Bahnhof jemand sitzt und seinen ganzen Menschenhass einfach mal raus lässt. Das, was ich heute in Hamburg auf dem Hauptbahnhof erleben durfte, deckt sich jedenfalls perfekt mit dieser Vorstellung.

Wenn ich Menschenhasser wäre und die Möglichkeit hätte, das auszuleben und Bahnmitarbeiter wäre, ich würde es wahrscheinlich nicht besser machen können. Hier wäre mein Rezept, für den ultimativen Bahn-Kick:

1. Die Verspätungsansage

Man nehme einen ziemlich vollen, lauten und zugigen Bahnsteig, auf dem die Fahrgäste des ICEs nach Berlin zusammen mit den Fahrgästen des eigentlich bereits 30 Minuten verspäteten ICEs nach Dresden über Berlin warten. Man mache eine kurze Durchsage, dass der ICE nach Berlin eine geringfügige Verspätung habe. Man teile den Wartenden auf den ICE nach Dresden mit, dass ihr Zug eine deutlich größere Verspätung habe.

2. Die umgekehrte Wagenreihung

In die so entstehende freudige Stimmung platziere man die Ansage, dass der ICE nach Berlin (ein ICE1, gute 400m lang) jetzt Einfahrt habe, warte kurz, bis der ICE in Sichtweite ist und teile dann den Fahrgästen mit, dass der ICE in umgekehrter Wagenreihung verkehren würde.

3. Der fehlende Zugteil

Man lasse den Zug nun einfahren, verzichte aber auf die Ansage, dass es sich beim einfahrenden Zug nicht um einen ICE1, gute 400m lang, sondern einen ICE2, gute 200m lang handele, der nicht wie gewöhnlich als Doppelzug, gute 400m lang, sondern nur als ein Zugteil, gute 200m lang, verkehrt. Man sorge ebenfalls dafür, dass der einzige verkehrende Zugteil schon ordentlich mit Fahrgästen gefüllt ist.

4. Das Einsteige- und Drängelchaos

Nun lasse man die Passagiere selbst entscheiden: Möchten sie sich in einen halben Zug drängen oder warten sie auf den im Anschluss folgenden und bereits angekündigten ICE nach Dresden über Berlin. Man unterstütze die Entscheidungsfindung durch Ansagen, die zum zügigen Einsteigen des mehr als überfüllten Zuges auffordern. Nach etwa 15 Minuten lasse man den ICE die Türen schließen – wer nicht mitkommt, kommt halt nicht mit.

5. Der Bahnsteigspaß

In das Schließen der Türen platziere man nun die Meldung, dass der ICE nach Dresden kurzfristig leider, leider von einem anderen Bahnsteig fahren würde und erfreue sich – dank der gleichzeitigen Ansage, dass dieser Zug nun Einfahrt haben würde – am ausbrechenden Wettkampf um das schnellste Erreichen des angesagten Bahnsteigs.

6. Der kurze ICE

Der ICE nach Dresden über Berlin ist ein ICE-T. Der ist etwas kürzer als ein ICE2 und viel kürzer als ein ICE1 und auch schon mehr als gut durch die eigentlichen Fahrgäste gefüllt. Einige zusätzliche Fahrgäste können noch einsteigen, die anderen bleiben leider zurück.

Ich habe mich ab Punkt #4 aus der Angelegenheit ausgeklinkt und es nur noch beobachtet. Anschließend bin ich zu SIXT gegangen, habe mir ein Auto gemietet und bin vergleichsweise entspannt zu Hause angekommen. Wesentlich teurer als Zugfahren ist es auch nicht gewesen und seine Ruhe hatte man auch.

Ich bin noch nicht mal verärgert über das Chaos, das die Bahn anrichtet. Ich nehme das alles hin, als Bahnkunde kennt man das – die Bahn ist absolut zuverlässig, was Verspätungen und Zugausfälle anbelangt, denn diese passieren ständig. Es ist die absolute Ausnahme, dass im Fernverkehr einmal ein Zug pünktlich, in der richtigen Wagenreihung und vollständig fährt. Vom pünktlichen Ankommen will man ja gar nicht mehr reden.

Nein, verärgert bin ich nicht. Ich bin fassungslos, einfach nur fassungslos, über das, was die Bahn im Fern- und Regionalverkehr (Stichwort: “S-Bahn-Berlin”) abliefert. Gnade uns allen Gott, wenn die Bahn wirklich irgendwann an die Börse geht – dann gibt es noch mehr davon, denn dann geht es nur noch ums Geld.

Fassungslos.

#Medien: Klare Antwort: Ja!

Es gab vor einigen Jahren eine Webseite, die konnte man mit Fug und Recht als DIE deutsche Nachrichtenwebseite bezeichnen – die hatte Informationen rund um alle relevanten Themen, Sport, etwas Klatsch und eben einfach Nachrichten, alles durchaus kritisch und kritisierend betrachtet. Diese Nachrichtenwebseite gibt es leider nicht mehr.

An die Stelle der alten Webseite ist ein neues Angebot getreten – frecherweise unter der selben Adresse, mit dem gleichen Layout, aber eben anderen Inhalten. Hier werden C-Promis (wobei das Wort "Promi" für sich schon nicht zutreffend sind, die meisten dieser Menschen sind Öffentlichkeitsprostitutierte) ganz groß heraus gebracht. Hier bestimmen Yellow-Press-Themen den Inhalt. Hier wird nicht mehr recherchiert, sondern abgedruckt. Hier gibt es kilometerlange Klick-Strecken. Hier wird der breiten Masse nach dem Maul und dem Erkenntnissstand geredet. Quasi also eine Bild-Zeitung in etwas anderer Aufmachung, aber mit dem gleichen Habitus: Wir erklären Dir die Welt, wie unsere Anzeigenkunden und unsere Werbepartner sie sich wünschen. Wir sind unkritisch, weil es Geld kosten könnte. Wir machen Politik, wenn es unseren Interessen dient.

Die Rede ist vom ehemaligen Hamburger Nachrichtenmagazin DER SPIEGEL (dessen Print-Ausgabe schon seit mehreren Jahren kaum mehr lesbar ist) und seinem Online-Ableger: SPIEGEL ONLINE.

Für mich ist hier Feierabend. Ich habe keine Lust mehr auf diese drittklassige Imitation eines Nachrichtenmagazins. Ich mag nichts mehr über Kader Loth, Michael Jackson und von der schicken neuen Brille vom Wirtschaftsminister lesen. Ich will nicht mehr abgestandene und abgeschriebene Pseudo-Informationen als Nachrichten verkauft haben. SPIEGEL ONLINE fliegt hiermit aus meinem RSS-Reader heraus.

Confirmation

Die Antwortet lautet: "Ja". Einfach "Ja".

AUA: Mist, vergessen!

Mist, ich habs vergessen – es ist ja wirklich auch mein Fehler: Bestimmte Leute muss man einfach ins Killfile packen, bevor man Newsgroup-Beiträge abruft.

Damit ich es nicht wieder vergesse:



Ah. Jetzt ist Frieden.


ME TOO: Stöckchenweitwurf

Hmmm, eigentlich war ich ja ganz froh darüber, dass die Tradition des Stöckchenwerfens so ein wenig untraditionell geworden ist. Scheinbar habe ich mich geirrt – und wie es sich für ein gutes, echtes Me-Too-Posting gehört, mache ich natürlich mit!

Also, der Jürgen warf es an mich weiter, der Peter hat es erfunden, ich beantworte mal:

  1. Meine Lieblingszahl ist … *grübel* … 7.
  2. Ich fahre einen BMW 3er Compact, und zwar aus Überzeugung!
  3. Ich spiele eigentlich sehr selten, aber wenn, dann Civilization IV BtS und alle Sid Meyer-Spiele (aktuell noch Railroads!).
  4. Windows Server 2008 kommt mir nicht auf die Kiste, so lange es noch Support für Windows Server 2003 gibt.
  5. Musik höre ich eigentlich nicht – außer ich gehe Tanzen (ich bin Turniertänzer, und da höre ich wundervolle Standard- und Lateinmusik).
  6. Entwicklerische Evolution: C64-Basic –> C64 GEOS-Basic –> Amiga Basic –> Amiga Assembler –> Turbo-Pascal –> Delphi –> Visual Basic –> C –> C++ –> PERL –> PHP 3 / 4 / 5 –> VBScript –> VB.NET –> C# –> Java,

    Technologische Evolution: VB 4 –> VB 6 –> HTML –> ASP –> XML –> XSLT –> ASP.NET –> Windows Forms –> Struts –> JSF –> Seam –> WPF –> ASP.NET MVC

  7. Ich bin zufriedener iPhone / iPhone 3G / MacBook / MacBook Pro-Besitzer. Ich mag Äpfel, momentan fehlt mir allerdings ein Tablet-Apfel.
  8. Neben Programmierung und Spielen interessiere ich mich für Politik (da kommt was, versprochen!), Tanzen, meine Kinder, Geschichte, Medien und Kaffee.

So, damit niemand denkt, er käme davon: Das Stöckchen wird hiermit dem Kollegen Bandt, dem MoB und dem Herrn Ritter an den Kopf geschlagen.

AUA: Rechnung nicht bezahlt?

Hmmm, seltsam: Seit etwa 16 Uhr kann man im T-Mobile-Netz nicht mehr telefonieren (und auch nicht mehr surfen, btw). Zunächst dachte ich, dass das meine Schuld wäre (wobei ich allein ja schon für die Hälfte des Jahresgewinnes von T-Mobile aufkomme), aber weit gefehlt…

Es sieht so aus, als ob das ganze T-Mobile-Netz zusammengebrochen wäre. Deutschlandweit, fast ohne Ausnahme. Grund: Unbekannt. Dauer: Unbekannt.

Man könnte jetzt unken: Vielleicht ein Hacker-Angriff auf die Zentralrechner? Oder die Rechnung(en) wurden nicht bezahlt? Wie auch immer, ich bezweifle, dass wir den tatsächlichen Grund erfahren werden (wenn es ein Hacker-Angriff war) und stattdessen die Auskunft erhalten, dass ein Server defekt war und sich anschließend eine USV nicht einschaltete oder sowas ähnliches.

E-Plus und Vodafone funktionieren übrigens. Und geben – nur mal am Rande erwähnt – meine Verbindungs- und Kundendaten auch nicht im vorauseilenden Gehorsam an den BND, das BKA oder die private Adresshandelsindustrie weiter.

Könnte man ja mal drüber nachdenken.

AUA: Berlin – Wiesbaden für nur 292,– EUR

Ja, super sowas: Ich muss morgen nach Wiesbaden fahren – Kundentermin, ggf. ein neuer Auftrag. Macht man ja gerne, und am Liebsten per Bahn. So von wegen Preis und Leistung und Umwelt.

Ein wenig unpässlich ist, dass ich erst gestern die genaue Zeit erfahren habe. Also konnte ich auch keinen Sparpreis o.ä. in Anspruch nehmen und eher buchen. Als ich heute früh die Preise online überprüft habe (Berlin – Wiesbaden, 1. Klasse, Bahncard 25 First), bin ich fast rückwärts vom Stuhl gekippt: 292,00 EUR will die Bahn für Hin- und Rückfahrt. Zuzuglich entweder Parken am Bahnhof für irgendwas um die 20 EUR am Tag oder Taxi für 2x 20 EUR. Da bin ich also im Bereich von 310-330 EUR. Man möchte sich das mal auf der Zunge zergehen lassen: 310 EUR für 1.200 Kilometer.

Nun mag man sich denken, dass man mit dem Flugzeug fliegen könne – klar, geht auch. Ab 380,00 EUR bei AirBerlin. Lufthansa will gepflegte 550,00 EUR. Dazu kommt dann nochmal die Bahn und 2x Taxi. WTF?

Nein, es wird wohl doch wieder so laufen: Ich werde mich in mein Auto setzen, etwa 150,00 EUR Sprit einplanen (die gehen in bar weg) und vielleicht nochmal 100,00 EUR für Reparaturkosten zurücklegen (die kommen vielleicht irgendwann mal dazu) und dann in kürzerer Zeit und ohne nervende Mitfahrer zu meinem Meeting fahren. Umwelttechnisch ist es Mist, aber die Preisunterschiede sind ernsthaft unglaublich.

Tsssss… :-(

OCH NÖ: Eine Bahnfahrt…

…die ist nervend, speziell diese Bahnfahrt.

Ich fahre gerne und viel mit der Bahn. Aber die hier ist zum abgewöhnen. Das Szenario: 5.38 Uhr mit dem ICE nach Köln. Aufstehen um 4.15 Uhr, da ja Schneefälle angekündigt sind. Taxi kommt um 4.45 Uhr – und es hat logischerweise nicht geschneit. Also stehe ich frierend eine halbe Stunde auf dem Bahnhof, was ich aber gerne akzeptiere.

Der ICE, der dann kommt, ist ein unrestaurierter ICE 2. Der hat nur an den Tischen Steckdosen, und zwar genau eine einzige Steckdose. Also stecke ich meinen Stecker rein – schließlich muss ich ja arbeiten. Der Zug fährt ab, an der nächsten Station (noch in Berlin) steigt mein Gegenüber ein. Erste Frage: “Darf ich nachher den Strom mal haben, der Akku meines Notebooks hält nicht so lange”. Klar, ich bin ja stolzer MacBook Pro-Besitzer – mein Akku hält mindestens zweieinhalb Stunden unter Last.

Doof nur, dass der Akku meines Gegenübers schon seit sechs Uhr alle war. Langsam geht also mein Saft zur Neige, und der Kollege macht keinerlei Anstalten, seinen Stecker mal aus der Steckdose zu nehmen. Nicht weiter schlimm, ich bin ja um kurz nach zehn in Köln und es sind nur noch eineinhalb Stunden zu fahren. Ach neee, bin ich nicht: Direkt nach Berlin-Spandau (dort, wo der Kollege einstieg) hatten wir einen Bremsenschaden – und standen eine halbe Stunde. Also ist hier in zwanzig bis dreißig Minuten für mich Schluß und ich sitze dann etwa ein Stunde völlig unproduktiv rum (abgesehen davon, dass ich ohnehin nicht produktiv bin, wenn ich zu so nachtschlafender Zeit raus muss).

Auch das wäre alles halb so schlimm, hätte sich nicht in Hannover eine ungehobelte, unfreundliche, dicke Frau neben mich gesetzt. Grundsätzlich habe ich nichts gegen derartige Menschen, es sei denn, sie fangen an, streng zu riechen und essen komisches, ebenfalls streng riechendes Essen. Und fahren mit mir bis Köln. Und selbstverständlich tut mein Exemplar das, logisch.

In diesem Sinne freue ich mich schon auf die nächsten zwei Stunden. Juhu.

Update: Ja, der Rest der Bahnfahrt war prima: Die dicke Frau begann ein wenig später, eine Mitarbeiterin vor allen Mitfahrern zusammen zu sch***en. So richtig gründlich. Anschließend schlief sie ein. Ihr Kopf sackte dabei regelmäßig auf meine Schulter. Den Sabber erwähne ich besser nicht. Wenigstens muss man sagen, das sie die Zwiebeln, die sie gegessen hatte, wohl schon gestern zu sich genommen hat – es roch ein wenig abgestanden.

Mit nur knapp fünfzig Minuten Verspätung erreichten wir dann Köln. Ab hier lief alles bestens: Ich habe meine Fahrkarte für die Rückfahrt im Zug vergessen, der Taxifahrer hatte miese Laune und mein Meeting dauerte vielleicht eine Stunde.

Wenigstens habe ich jetzt einen neuen Fahrschein und sitze – noch – alleine am Tisch im ICE zurück nach Berlin.

Könnte mal jemand die Fahrpreise erhöhen, bitte?

SYSTEMMITTEILUNG: Schwein gehabt!

Da häte ich doch beinahe hunderte von Euro für eine Anti-SPAM-Lösung für meinen Exchange-Server ausgegeben, die ich letztlich überhaupt nicht benötigt habe. Glück gehabt.

Was passiert ist?

Seit heute früh habe ich keine E-Mails mehr bekommen. Und zwar noch nicht mal die üblichen zweihundert Junk-Mails, die hier bis zum späten Vormittag für gewöhnlich aufschlagen. Stutzig geworden, habe ich mir über diverse Accounts selbst E-Mails gesendet – die kamen auch nicht an.

Okay, wird wohl der ASSP-Proxy sein, dachte ich. Also hab ich den Dienst beendet und neu gestartet – nix. Es gab aber auch keine Fehlermeldungen, es kamen schlicht keine Mails durch. Ein kurzes Umstellen auf den Exchange-Server hat auch nur bestätigt, dass es Exchange nicht sein kann – binnen Minuten kamen Mails.

Der nächste Schritt war dann, per Telnet zu versuchen, mir Mails zukommen zu lassen. Hat funktioniert, es ist alles angekommen. Das war der Moment, in dem ich seeeehr nachdenklich wurde – wieso kommen Mails per Telnet durch, per externem Mailserver aber nicht? Also hab ich den Operator! angerufen – bei dem kamen dann nicht mal die Telnet-Mails durch. Er jedoch erhielt eine Fehlermeldung, die inhaltlich besagte, dass keine Ressourcen frei wären.

WTF? Auf dem Systemlaufwerk waren mehr als 1 GB frei, auf der Datenpartition sanfte 280 GB?! Unverständlich, aber auch durch das irritierte und nervöse Augenrollen änderte sich nix. Aus einem unerfindlichen Grund schien ASSP komplett zerschossen zu sein.

In dem Moment erinnerte ich mich an ein Posting des Kollegen Wille über eine Anti-SPAM-Lösung für den Exchange. Also hab ich mir die Testversion geladen, installiert und konfiguriert und wurde innerhalb von Sekunden mit E-Mails überschüttet. Und eine nette Administrationsoberfläche hatte das Teil! Herrlich! Nur SPAM- / Anti-SPAM-technisch ist es grauenvoll zu konfigurieren, was mich dann nicht wirklich in Ruhe ruhen ließ.

Also hab ich mir die neueste ASSP-Lösung geladen, über die scheinbar kaputte Lösung drüber installiert – und plötzlich lief auch mein gewohnter Anti-SPAM-Proxy wieder.

Hach, es sind die kleinen Dinge im Leben, die mich glücklich machen. :-)

ASP.NET: Handarbeit statt DataSource!

Achtung: Polemik, Zuspitzung, Gemeinheit!

Das ASP.NET-Framework bietet diverse datengebundene Controls an, die der Visualisierung von Listen dienen. Die bekanntesten sind Repeater, DataGrid und GridView, gefolgt von einigen Exoten, etwa der DataList. Dazu gibt es wundervolle DataSource-Steuerelemente, die es erlauben, komplett ohne eine einzige Zeile an .NET-Code, Datenbanken an diese Steuerelemente zu binden.

Wenn man sich nun den Spaß macht, mal durch die Foren zu hirschen, dann bekommt man das kalte Grausen, denn die Kombination DataSource-Steuerelement + GridView-Steuerelement beherrscht seit .NET 2.0 quasi die Programmierung im ASP.NET-Umfeld. Was auch letztlich kein Wunder ist, denn sie sind idiotensicher einzusetzen und bringen Ergebnisse in wenigen Sekunden. Mit dabei sind dann gleich Features, wie etwa Paging und Sorting. Geil.

Nur leider ist es totaler Mumpitz und absoluter Schwachsinn, diese Controls extensiv und in Kombination miteinander einzusetzen. Denn sie räumen gründlich auf mit allem, was gemeinhin als Schichtentrennung, Wartbarkeit, Skalierbarkeit oder Qualität bekannt ist.

Die Gründe liegen auf der Hand:

Schichtentrennung ist nicht mehr gegeben, da der Code zum Abrufen von Daten – samt SQL-Statements! – speziell bei Verwendung vom SqlDataSource-Steuerelement in der WebForm selbst liegt. Statt also eine dedizierte Geschäftslogik damit zu beauftragen, Daten zu laden (zu cachen, aufzubereiten, zu analysieren, …), wird hier direkt auf die Datenquelle zugegriffen. Die komplette Verarbeitungslogik wandert dann in irgendwelche Ereignisbehandlungsmethoden im Code-Bereich der WebForm, statt in einer eigenen Verarbeitungsschicht zu liegen, wo sie ggf. auch gegen andere Implementierungen, Weiterentwicklungen oder sonstwas ausgetauscht werden könnte. Einzige akzeptierbare Ausnahme hier: Das ObjectDataSource-Steuerelement, das es erlaubt, gegen statische Methoden von Geschäftsobjekten zu arbeiten. Doof nur, dass mir dann dabei quasi vorgegeben wird, dass ich eben eine statische Methode brauche. Was ist mit meiner Factory (Provider, Builder, Broker, …), die ich ggf. habe?

Wartbarkeit? Gibts nicht mehr. Wie auch? Ein Beispiel: Es gibt zwanzig WebForms in einer Applikation, die auf diese Art arbeiten – also GridView + DataSource-Steuerelement. Jetzt wird das Datenmodell geändert, was im Rahmen von Weiterentwicklungen durchaus vorkommen soll. Das Ergebnis? Ich darf an mindestens zwanzig WebForms Änderungen vornehmen, statt es an nur einer Stelle in meiner Geschäfts- oder Datenlogik zu haben. Klasse. Nicht zu reden von der quasi nicht mehr vorhandenen Lesbarkeit des Codes. Neee, Wartbarkeit gibt es damit nicht.

Die Skalierbarkeit verschwindet ebenfalls hinter dem Horizont, denn ich habe schlicht keine brauchbare Möglichkeit mehr, in Datenhaltungs- und Caching-Prozesse einzugreifen. Geht nicht, ist ja alles inline. Klar, die SqlDataSource kann auch cachen – aber das kann ich im Code über das Application Data Caching viel zielgerichteter und genauer umsetzen. Wie also soll es skalieren? Zumal ich ja nicht mal in der Lage bin, einfach per Konfiguration etwa auf eine Web-Service-basierende Lösung umzustellen – ich müsste es halt überall ändern, wo ich auf die Daten zugreife. Oder eben eine andere Implementierung der Geschäfts- oder Datenhaltungslogik zu verwenden. Klar, es gibt die ObjectDataSource, aber… siehe oben. Dazu kommt: DataGrid und GridView sind zwar mächtig, aber eben auch langsam, denn die ganzen Funktionalitäten müssen ja irgendwo eingebunden werden. Auch, wenn man sie unter Umständen nicht benötigt. Und Tschüss, Skalierbarkeit!

Qualität? ROTFL! Wie denn, wo denn? Wie soll denn mit solch einem Gewurschtel, mit nicht mehr vorhandenen anerkannten Entwurfs- und Design-Patterns noch sowas wie Qualität erzeugt werden? Wenn man auch nur einen kurzen Moment mal nicht nur an die persönliche Bequemlichkeit denkt, dann muss man eigentlich zwangsläufig erkennen, dass man so ganz sicher alles baut, aber keine qualitativ hochwertige Software.

Die Lösung?

Back to the roots! Wenn datengebundene Listensteuerelemente, dann einen Repeater, keine komplett überdimensionierten GridViews und DataGrids. Und aus dem Code heraus die Daten binden. Kontrolle zurück gewinnen! Weiß denn eigentlich überhaupt noch jemand, wie man händisch die Daten binden lässt? Nein? Na, dann hier ein wenig Beispielcode:

protected override void OnPreRender(EventArgs e)
{
   // Factory für den Business-Layer
   BusinessLayer bl = BusinessLayer.GetInstance();

   // Personen laden
   IList persons = bl.GetPersons();

   // Personen binden
   rptPersons.DataSource = persons;

   // Datenbindung
   DataBind();
}

Oh je, sieben Zeilen Code! Wie schrecklich!

Leute, seid mir nicht böse, aber von nix kommt auch nix. Sicher, ich spitze hier zu, aber Webseiten entwickeln hat eben tatsächlich was mit Entwicklung, mit Code, mit Abläufen, mit Architektur, mit Denken zu tun. Ihr müsst das nicht machen, keine Frage – aber genau so werden dann eure Ergebnisse aussehen: Zusammengestückelt, unprofessionell, langsam, nicht pflegbar. You get, what you pay for – kein Einsatz, kein Ergebnis.

Zu den Themen Paging, Sorting und Caching dann ein anderes Mal. Google hilft sicher bis dahin weiter – Stichworte: PagedDataSource, IComparer und Cache.

Update: Ihr wollt, dass man mal was über bestimmte Themen schreibt? Dann sagt es mir.

HOAX: Ericsson verschenkt Mobiltelefone

Ja, nee, ist klar. Das kam heute per Mail rein:

Hallo zusammen,

die Firma Ericsson verteilt Handys…. und das gratis übers Internet, um der Marke Nokia entgegen zu wirken, welche dasselbe macht. Ericsson will sich damit bekannter machen. Deshalb verteilt das Unternehmen jetzt gratis das neue WAP-Handy. Alles was zu tun ist, ist diese Mail an acht Leute zu schicken.

In etwa zwei Wochen erhält man dann ein Ericsson T 18. Wenn die Nachricht an 20 oder mehr Personen verschickt wird, erhält man sogar ein Ericsson R320 WAP-Phone.

Kleine Anmerkung am Rande: Die Mobiltelefonsparte von Ericsson ist bereits 2001 mit der von Sony verschmolzen worden. Das Unternehmen nennt sich seit fast sieben Jahren SonyEricsson. Aber egal, wollen wir uns die guten Stücke mal anschauen:

Ericsson T18

  • Vorgestellt 1999
  • GSM 900 / GSM 1800 Dualband
  • 105x49x24mm
  • 146g
  • Uhr mit Alarm
  • Rechner
  • Bis zu 4 Stunden Gesprächszeit
  • Bis zu 200 Stunden Stand-By
  • Monochrom-Display mit 3 Zeilen

Ericsson R320

  • Vorgestellt 2000
  • GSM 900 / GSM 1800 Dualband
  • 130x51x15mm
  • 99g
  • WAP
  • Infrarot
  • Bis zu 4:30 Stunden Gesprächszeit
  • Bis zu 100 Stunden Stand-By
  • Monochrom-Display mit 5 Zeilen

Die Dinger sind beide so alt, dass es sich fast schon wieder lohnen würde, die Mails weiter zu senden… :-)

OCH NÖ: Ich auch

Ich hab auch so ein blödes Paket bekommen. Bescheuert.

AUA: Das erklärt einiges…

Au weia, das erklärt dann doch so einiges:

Und sowas will über meine Daten entscheiden. :-(

Via Operator!

AUA: SMTP-Server als SPAM-Relay trotz brauchbarer Konfiguration

Der Operator und ich sitzen hier über dem SMTP-Server eines Kunden (MailEnable Standard 1.9.3), der trotz scheinbar sicherer Konfiguration als SPAM-Relay missbraucht wird. Auch nach dem Vier-Augen-Prinzip haben wir nix sehen können, was dem Server – laut seinen Einstellungen – gestatten würde, Mails von irgendwelchen taiwanesischen Accounts an irgendwelche anderen Hong-Konger-Accounts weiter zu leiten.

Irgendwie rätselhaft. Wir spielen jetzt alle passenden und unpassenden Updates ein (auch wenn die scheinbar nicht passen), löschen die Queue und hoffen das Beste.

Schweineserver.

AUA: EventID 1004 – Skype vs. IIS

Oh je, was für ein Mist: Bei mir hat der lokale IIS 7 öfter mal scheinbar den Dienst quittiert – lokale Webseiten waren nicht erreichbar, obwohl der Server an sich gestartet worden ist. Über den Kollegen Internetinformationsdienste-Manager ließen sich die Seiten auch nicht manuell starten – die Fehlermeldung lautete sinngemäß, dass auf die Datei nicht zugegriffen werden könne. In der Registry häuften sich Informationen mit der EventID 1004 (Quelle: IIS-W3SVC) und der EventID 15005 (Quelle: HttpEvent), die Fehlermeldungen lauteten:

  • Der WWW-Publishingdienst (WWW-Dienst) konnte das URL-Präfix “http://localhost:80/” für die Website “1″ nicht registrieren. Die Website wurde deaktiviert. Das Datenfeld enthält die Fehlernummer.
  • Der zugrunde liegende Transport für [: :]:80 kann nicht gebunden werden. Möglicherweise enthält die Liste nur zum Abhören von IP einen Verweis auf eine Schnittstelle, die gegebenenfalls auf diesem Computer nicht vorhanden ist. Das Datenfeld enthält die Fehlernummer.

In der KnowledgeBase von Microsoft fand sich ein Artikel, der nahelegte, mal ein netstat -ano zu machen, um festzustellen, ob zufällig etwas auf Port 80 lief. Jaha, das machte es:

Anhand der PID (die steht ganz rechts) lässt sich im TaskManager auch der verursachende Prozess lokalisieren (zuvor die Anzeige der PID via Ansicht > Spalten) aktivieren.

Und siehe da: Es handelte sich um Skype – nach dem unrühmlichen Ende der eBay-Telefoniesoftware per TaskManager ließ sich der Genosse IIS dann auch wieder starten und die Webseiten waren erreichbar.

Skype vs. IIS: 0:1

Nachtrag: Auch der Kollege Bucher hatte das Problem schon. Und auch gelöst. Aber das wusste ich gestern noch nicht. Schande über mich.

MIGRÄNE: Lieber Projektmanager…

…wenn ich Dich bitte, mir eine Liste der offenen Punkte eines Projektes fertig zu machen, was könnte ich dann damit wohl meinen:

  • Mache mir eine Liste mit einigen offenen Punkten fertig, warte zwei Wochen und schicke mir dann die restlichen Punkte am Freitag nachmittag vor Weihnachten zu?
  • Mache mir eine Liste mit allen offenen Punkten fertig?

Ich verstehe, dass es etwas zweideutig ist, wenn ich dich um sowas bitte, lieber Projektmanager. Bitte verzeihe mir meine Unbedarftheit.

OFF-TOPIC: Betroffenheitsgeseier im Fernsehen

Momentan läuft auf RTL der Spendenmarathon. Wie üblich ist das ja grundsätzlich eine gute Sache, wenn nicht dieses andauernde Betroffenheitsgeseier der versammelten A-, B-, C-, … Z-Promis wäre, die sich telegen vor irgendwelchen leidenden Kindern oder sonstigen Bedürftigen aufstellen, ein mitfühlendes Gesicht aufsetzen und uns animieren wollen, Geld zu spenden.

Total verlogen, dieses Getue: Wenn die Herrschaften wirklich helfen wollten, dann würden sie sich auch übers Jahr für Ärmere und Schwächere einsetzen.

Stattdessen wird so ein “Event” (die Begrifflichkeit muss zwingend in Anführungsstriche gesetzt werden, schließlich wird der Mist von RTL, dem offiziellen Sender für CallBoys Grimaze geistig ausgedörrte Zeitgenossen, veranstaltet) genutzt, um die eigene Fresse in die Kamera zu halten, das eigene Projekt zu promoten oder einfach den eigenen Marktwert zu steigern.

Zum Mitmeißeln: Spenden ist gut, sinnvoll, positiv, wichtig.

Der Rest ist zum Erbrechen.

MOBILES LEBEN: Aus und vorbei für den Treo 500v

So, ich gebe es auf. Ist mir bisher bei Windows Smartphones noch nie passiert, aber den Treo 500v ertrage ich nicht länger, denn das Gerät hat drei Eigenheiten, die mich persönlich einfach nur nerven:

  • Der Verbindungsmanager entspricht nicht dem bekannten HTC-Manager, bei dem man sehr bequem auch die Datendienste und ähnliches konfigurieren kann, sondern erlaubt es lediglich, Telefon und Bluetooth zu steuern. Ja, das ist der WM6-Standard, aber den muss ich mir nicht länger antun.
  • Die Tastensperre erwartet zum Entsperren die Eingabe der Geräte-PIN, wenn man eine Exchange-Synchronisation aktiviert hat.
  • Selbst bei ausgeschalteten Tönen und Benachrichtigungen vibriert das Gerät, wenn E-Mails eingehen. Das lässt sich nirgendwo deaktivieren und ist IMHO ein Bug.

Ich hab da keine Lust mehr drauf. Das Gerät, das so gut wie neuwertig ist, steht zum Verkauf. Wer es haben will, kann mir eine E-Mail schicken oder wartet, bis ich es bei eBay eingestellt habe. Preisvorstellung ist 150,– EUR ohne Vertrag.

Zusammenfassung: Der Treo 500v ist perfekt, wenn man sich im Vodafone-Netz bewegt und mit kleinen Einschränkungen leben kann. Positiv sind die Verarbeitungsqualität, das Aussehen und die neue Vodafone-Menüstruktur zu bewerten (auch wenn man sich an letztere ein wenig gewöhnen muss). Negativ sind die o.g. Einschränkungen und die neue Vodafone-Menüstruktur (da man sich an die erst gewöhnen muss) zu bewerten.

Privatanwender werden mit dem Gerät glücklich, Poweruser eher nicht. Ich bin letzteres und nutze ab sofort wieder meinen langsameren XDA Cosmo / HTC S620.

Und ja, Andreas, ich hätte auf Dich hören sollen. :-)

OFF-TOPIC: Werbung im Fernsehen

Boah, was bin ich momentan pissig auf die Werbung im Fernsehen zu sprechen (gut, bin ich eigentlich immer). Besonderes Lowlight: Die Werbung für die Sparkassen-Altersvorsorge. Die mit dem Baby – wo die Ex-Freundin vor der Tür steht und dem Ex-Freund das Baby in die Hand drückt (schonmal eine Frechheit). Dann kommt die aktuelle Freundin, sieht das Baby und bekommt einen Anfall (kinderfeindlich). Dann kommt der Vermieter und kündigt die Wohnung – wegen “Verheimlichung einer Familie” (familienfeindlich). Und zuletzt furzt das Kind den Ex-Freund an (wieder kinderfeindlich).

Für mich als Vater zweier Kinder ist damit die Sparkasse in Sachen Altersvorsorge gestorben. Hat sich erledigt – ist nicht witzig und greift mich auf der ganzen Linie an.

Und ab dafür.

Nächste Seite »