Friday, March 30, 2007

Excel, Hilfetexte, Kokolores

Vermutlich ist die englische Originalhilfe von Excel auch nicht einfach zu verstehen, ins Deutsche übersetzt ergibt es auf jeden Fall irgendwas zwischen bodenlos, lächerlich, fehlerhaft, ärgerlich und was weiß ich noch. Hier nur mal ein paar exemplarische Auszüge der Hilfetexte einiger Funktionen:
  • SQL.REQUEST
    Ein Teil des Inhalts dieses Themas gilt möglicherweise nicht für einige Sprachen.
    Gleich mal als erstes auf Einschränkungen hinweisen, aber natürlich nebulös: "möglicherweise", irgendein "Teil des Inhalts", "einige Sprachen".
  • VERGLEICH
    Sucht Werte innerhalb eines Bezugs oder einer Matrix. Verwenden Sie VERGLEICH immer dann statt einer der VERWEIS-Funktionen, wenn Sie die Position eines Elements in einem Bereich und nicht das Element selbst benötigen.
    Der feinsinnige Unterschied zwischen VERGLEICH und VERWEIS zwingt mich seit Jahren mich in der krampfigen Hilfe zu vertiefen! Ist diese Namensgebung auf Englisch genauso dämlich? VERGLEICH => MATCH, VERWEIS => LOOKUP?! Naja.
  • Warum Funktionen ausgerechnet FINDEN und SUCHEN heißen müssen, und der Hilfetext dann so anfangen muss:
    • FINDEN sucht eine Zeichenfolge (Suchtext) innerhalb einer anderen Zeichenfolge (Text)
    • SUCHEN gibt, beginnend mit Erstes_Zeichen, die Nummer des Zeichens zurück, an der das zu suchende Zeichen oder die zu suchende Textzeichenfolge erstmals gefunden wurde.
    • Aha, "Finden sucht" und "Suchen findet", oder wie?
  • BEREICH.VERSCHIEBEN
    Gibt einen Bezug zurück, der gegenüber dem angegebenen Bezug versetzt ist.
    Und etwas weiter unten:
    Durch die Funktion BEREICH.VERSCHIEBEN werden weder Zellen verschoben, noch...

    Warum man eine Funktion, die keine Zellen verschiebt, ausgerechnet Bereich.Verschieben nennt? Auf Englisch heißt sie Offset. Naja.

Sunday, March 25, 2007

Ruby-Beispiele adhoc ausführen

Ruby-Beispiele auf z.B. einer Webseite auszuführen, ist ja keine große Affäre (Code in den Scite Editor kopieren und ausführen), dann aber doch wieder so umständlich, dass ich meistens keine Lust dazu habe. Letztens habe ich mich dann wieder meiner Lieblings-"Mashup"-Werkzeuge erinnert:
  • PowerPro, eine Art Schweizer Messer (das früher Stiletto hieß (ja, ja, ein scharfes Werkzeug!)), das "lets you take control of how you use Windows 95/98/NT/2000/XP. Run commands and configure your system any way you want."
    Also, nur zum Beispiel (ich habe noch nie so viele Optionen auf einem Haufen gesehen) kann man sich selber Menus basteln, die beim Klicken von z.B. CTRL+RechteMaustaste erscheinen, und z.B. Programme ausführen, oder Fenster in den Vordergrund bringen, oder...
    und
  • AutoIt is a freeware Windows automation language. It can be used to script most simple Windows-based tasks.
    Mit simpler Basicsyntax Mausklicks, Tastatureingaben an Windows schicken, Fenster aktivieren, und, und....
Mein "Mini-Mashup" funktioniert jetzt so, dass ich ein Stück Ruby-Code markiere, und dann mit CTRL+RechteMaustaste (das macht PowerPro) folgendes kleine Autoit-Skript starte:
Send("^c")
$file = FileOpen("c:\temp\scratch.rb", 2)
FileWrite($file, clipget())
FileClose($file)
WinActivate("Windows PowerShell")
WinWaitActive("Windows PowerShell")
Send("ruby scratch.rb{ENTER}")

welches den selektierten Ruby-Code in die Zwischenablage kopiert, dann in eine Datei schreibt, das "Windows PowerShell"-Fenster (den Command-Shell-Nachfolger) aktiviert, dort "ruby scratch.rb" eintippt und mit ENTER abschickt.

Friday, March 23, 2007

Fundstück: "Fleck the Web!"

Beim "Kramen" im Internet wieder mal folgende Ideen beim Lesen einer hochinteressanten Seite (Eli Bendersky’s website » Blog Archive » Understanding Ruby blocks, Procs and methods) mit vielen Ruby-Beispielen gehabt:
  • Es wäre schön, die Ruby-Beispiele auf der Seite ohne großen Aufwand adhoc ausführen zu können (dazu evtl. mehr in einem späteren Beitrag).
  • Es wäre schön, irgendwie Notizen an die Beispiele "anheften" zu können.
Meine Idee des "Anheftens" hatten andere natürlich auch schon, dies wird u.a. Web annotation (Wikipedia) genannt, Diigo ist so ein Tool, das noch viel mehr kann (Social Annotation: Seamless Integration of Social Bookmarking, Web Highlighter, Sticky-Note & Clipping), aber auch einen markierten Text mit einer Bemerkung (Sticky-Note) versehen. Der Text wird unterstrichen dargestellt, und beim Überfahren erscheint die Notiz.

Ein anderes Tool ist Fleck.com - Fleck the Web!, das sich mehr auf die gelben Zettel konzentriert, und wahrhaftig, man kann "Notes oder Bullets", die wahrhaftig wie gelbe Zettel aussehen, an beliebige Stellen einer Seite "kleben" und sie entweder so lassen oder zu einem platzsparenden gelben Knubbel "collapsen".

Die eingangs erwähnte Seite habe ich gleich mal mit Kommentaren versehen, und so schaut sie dann aus: Eli Bendersky’s website » Blog Archive » Understanding Ruby blocks, Procs and methods

Nett, im Vergleich mit Diigo (das ich auch benutze, aber eher für's Bookmarking), ist:
Die Notizen können frei (z.B. neben einem Bild) plaziert werden (bei Diigo muss man einen Text markieren).
Die Notizen schauen wie "gelbe Zettel" aus (bei Diigo ist das nicht so prickelnd).
Die Notizen können "aufgeklappt" oder "geschlossen (gelber Knubbel)" gespeichert werden (bei Diigo werden sie beim Überfahren des markierten Textes angezeigt).
Das Plazieren und Ausfüllen der "gelben Zettel" "fühlt sich echt gut an" (Diigo ist ansonsten auch nicht schlecht, aber ein paar Kleinigkeiten scheint Fleck da besser hinzukriegen).

Tuesday, March 20, 2007

Überraschende Verbindungen: Tumblr!

Hier gelesen: Freeware/Open Source for Windows Weekly Summary - O'Reilly Windows DevCenter Blog, dass Tumblr in etwa sowas macht:
Tumblelogs are like blogs with less fuss. You might say, well any blog can be maintained with less fuss using any of the various blogging services. And, I tend to agree. But, Tumblr makes it easy to perform common blogging tasks in a single minded way: Add a photo (from desktop or phone), add a link to an interesting web site, add a video feed from some video website, etc.
Holla, klingt interessant, oder? Einer der "Featured Tumblelogs" ist
Projectionist: A tumblelog, der schreibt, dass er von Christian Neukirchen's Anarchaia: A tumblelog inspiriert sei, und Christian Neukirchen ist doch dieser unendlich begabte und brillante Schüler (13. Klasse?) aus Biberach, der bei der Ruby Konferenz Euruko 2005 in München einen ziemlich beeindruckenden Vortrag über "Dynamic Scope and Context-oriented Programming" (siehe Talks by Christian Neukirchen) hielt.

Und was sagt die Wikipedia (Tumblelog - Wikipedia, the free encyclopedia):
A tumblelog is a variation of a blog, that favors short-form, mixed-media posts over the longer editorial posts frequently associated with blogging. Common post formats found on tumblelogs include links, photos, quotes, dialogues, and video. Unlike blogs, this format is frequently used to share the author's creations, discoveries, or experiences without providing a commentary.
Und jetzt kommts:
The term "tumblelog" was coined by Why the lucky stiff in a blog post on April 12th, 2005, while describing Anarchaia
Ach, Why the lucky stiff ist da auch noch im Spiel? Hochinteressant! Und auf alle Fälle haben Davidville diese Website gemacht, bei der man sich einen kostenlosen Tumblelog einrichten kann. Hmm, will ich einen Tumblelog haben?

Saturday, March 17, 2007

Just how do most software developers work?

Frägt sich auch Albert D. Kallal (der, bei dem Microsoft Access nicht sucks):
Have you ever been stuck on a design for a few days? You will notice that those several days seem very frustrating and very unproductive. However once your mind "SEES" the design that is going to work...then you are able to produce code like a hungry snow blower working on a snow bank in January.
Kann ich absolut nachfühlen. Was soll ich programmieren, wenn ich "keinen Plan" habe? Wie soll ich anfangen, wenn ich nicht ein bestimmtes Bild vor Augen habe? (Wobei ich mich immer frage, wo die Grenze zur berüchtigten "Analysis Paralysis" liegt.)
That idea of "seeing" the design or having a mental picture of the design is required before one can really zone in. Without this mental conceptual view then no real high rate of development will occur. In fact, for some no development will occur until the mind "sees" the picture. My point here is that when you slow down the rate of development, then the mind has more time to get that "view". Once the mind has that view then writing code is like finally starting up the snow blower (or, for you southern people...the lawn mower).
"See the picture"! Nett! Und dafür muss man manchmal langsamer machen. Genau.
Slowing down the rate of development gives the mind more time to "think design".
Ja, ein weiteres Paradox also: Langsamer machen, um schneller zu sein!

Friday, March 16, 2007

Microsoft Access sucks?

Witzig, dass ich nur einen Tag nach meiner letzten Access-Sucks-Tirade, auf folgenden Artikel eines gewissen Albert D. Kallal stoße: Dialogs and prmopts in ms-access , der auf den ersten Blick nicht wirklich glänzend erschien (Seitentitel mit Tippfehler..., Seite mit grauem(!) Hintergrund, die Schrift etwas zu groß...), und dann noch mit folgendem Versprechen begann:
The following prompt form information is likely one of the BEST things you can learn to improve your UI in ms-access.
Aber was soll ich sagen? Der Mann hat völlig recht! Nach all dem unsäglichen Bullshit, den ich schon gelesen hatte, findet er genau die richtigen Worte, bringt den Sachverhalt klar auf den Punkt, und präsentiert ein Codebeispiel, das nicht 3 Seiten lang ist, sondern ca. 10 Zeilen, und genau das macht, was versprochen war.

Ach, und um was es eigentlich ging? Etwas ganz Simples eigentlich, das aber in Access nicht wirklich vorgesehen ist, nämlich von einer Form eine andere Form aufzurufen, und nach Schließen dieser Form einen Rückgabewert zu erhalten. Sowas wie eine selbstgebastelte modale Inputbox. Und genau das schafft sein Beispiel mit einem vertretbaren und verständlichen Workaround, auf den man im Leben nicht gekommen wäre...

Thursday, March 15, 2007

Microsoft Access sucks

Ich will mich ja gar nicht mehr aufregen, ich wollte es nur nochmal gesagt haben, und ganz ohne Aufregung: Microsoft Access sucks!

Ich habe einige Formulare gemacht, ich habe darauf Knöpfe plaziert, welche jeweils über das "Klicken"-Ereignis eine VBA-Prozedur aufrufen. Kein Thema. Was könnte simpler sein. Und plötzlich - alle anderen Buttons gehen noch - verursacht ein völlig genauso gestrickter Button die längliche Fehlermeldung:
Sie haben als Einstellung der Ereigniseigenschaft den Ausdruck Beim Klicken eingegeben. Dieser Ausdruck hat einen Fehler verursacht: Es trat ein Problem auf, während mit dem OLE-Server oder ActiveX-Steuerelement kommunizierte.
Gehts noch länger? Noch umständlicher? Noch gewundener? Aber klar (das war noch nicht alles), da werden noch ein paar hilflose Erklärungsversuche nachgeschoben:
Der Ausdruck gibt möglicherweise.... (den restlichen Schmarrn erspare ich hier)
Beim ...(weiterer Schmarrn)... trat möglicherweise ein Fehler auf.
Man beachte das nette "möglicherweise"! Früher gab es noch anständige Fehlermeldungen wie "unknown error", die auch nicht hilfreich, dafür aber zumindest kurz waren. Kanns noch schlimmer kommen? Klar, da ist noch dieser "Hilfe anzeigen >> " Knopf, und jetzt gehts erst richtig los, da wird munter drauflosgefaselt:
Blablabla.... es kann sich um eines der folgenden Probleme handeln:
Ein Bezug fehlt...
blablabla
Ein Ausdruck ist falsch buchstabiert....
blablabla
Insgesamt werden 8 potentielle Probleme genannt!
Und jetzt? Ach, zumindest kann man die "Hilfe" wieder mit dem Knopf "Hilfe ausblenden <<" ausblenden! Und jetzt? Ich bin so schlau wie zuvor. Die Fehlermeldungen früher waren doch besser, da war man hinterher auch so schlau wie zuvor, musste aber nicht so viel lesen.

Und jetzt? Jetzt habe ich ein neues Formular erzeugt und alle Controls, Textfelder, usw. vom Problemformular in das neue kopiert, und jetzt gehts! Was soll das!!!

Wednesday, March 07, 2007

Faszinierend!

Manchmal stolpert man von einem faszinierenden Thema zum nächsten, z.B. wird man auf ein ASP.NET 2.0 Commerce Starter Kit aufmerksam gemacht (mit PayPal Anbindung!), das "is powered by SubSonic, the Zero Code DAL. Code generators, Rails-esque scaffolds - you can't find an easier way to move data in in and out of your application.", was?, "Rails-esque scaffolds"?, was einen zu CodePlex - actionpack (= SubSonic, das Ding hieß mal ActionPack! Wie heißt das bei Rails? ActionPack! Aha.) und schaut gar nicht mal schlecht aus: "A Data Access Layer (DAL) builder that requires no code on your part, it builds itself at compile-time with a full object layer and strongly-typed collections..." (und es kann noch mehr!), dessen Autor Rob Conery (Blog Rob.Parse(Rob)) doch wahrhaftig auf Hawai lebt und zwar hier: Kauai, Hawaii mannmannmann (aber wie schreibt man eigentlich "Hawai"? Ah ja, Google meint "Meinten Sie: Hawaii?") , der also auf Hawaii lebt, und zwar mit Frau und Kind, und ich mich wieder mal frage, wann machen die das alles eigentlich? Aber egal, eigentlich hätten mich ja Google Maps interessiert und irgendein Mashup, Onlineapplikation, mit der ich auf einfache Art und Weise eine Spaziergangroute in eine Google Map hätte eintragen können und mit ein paar Kommentaren hätte versehen können (was weiß ich, sowas wie: "Hier gehts los.", "Man bemerke hier die schöne Aussicht!", "Bei schönem Wetter steht hier ein Italiener mit seinem Eiswagen.") und dann dem Rest der Welt zur Verfügung hätte stellen können. Und siehe da, sucht man nach "google maps walking" findet man schon Sachen wie Google Map Pedometer: Use This GMaps Pedometer to Draw Your ... , ja, nicht schlecht, aber etwas fitnesslastig, man bekommt Strecke und verbrauchte Kalorien angezeigt, oder wie MapMyRun.com -- Mapping your running routes has never been easier! , auch nicht schlecht, schaut noch schöner aus, aber auch etwas fitnesslastig, aber durchaus auch faszinierend. Aber da war ja auch noch
Ning - Create your own Social Networks! (Ning is the only online service where you can create, customize, and share your own Social Network for free in seconds.) Bitte? Mit Photosharing? Mit Discussion Forum? Mit Member Profile Pages & Blogs? Full Customization? Erstaunlich! Aber zurück zu meinen Spazierrouten, wenn es da nichts Gescheites gibt, müsste man sich vielleicht selber was basteln, mit Javascript und dem Google Maps API, scheint auch gar nicht so schwierig zu sein! Also, noch ein wenig gesucht, und siehe da, ach, wenn man eher nach "google maps bicycle" oder "google maps fahrradtour" sucht, da findet man ja ganz andere Mashups, und es gibt nicht nur die beiden, die ich mit "google maps walking" gefunden hatte. Jede Menge andere!! Auch sowas wie quikmaps.com :: maps for the masses , ach, da kann ich ganz verschiedene Marker auf die Google Map ziehen?! Und einen Linienzug einzeichnen?!! Und die Marker mit Kommentaren versehen?!!! Und mit einem winzigen Stück HTML alles woanders einbinden?!!!! Und das geht sogar hier bei Blogger?!!!!!!!




Ich werde verrückt..... Das gibts doch nicht! Ok, also demnächst hier: Ein schöner Spaziergang mit Kommentaren! Und wenn ich jetzt noch Ning dazu nähme.....????! Eine eigene Social Site? Mit Quick Maps Spaziergängen? Und Mitgliedern, die ihre schönsten Spaziergänge da eintragen und kommentieren und... und.. und... also wie gesagt, manchmal..., und da stolpert man von einem faszinierenden ... zum nächsten..., ach, und Sun Announces Ruby Support for NetBeans?!, also, jetzt ist erstmal genug....