Artikel

Was ich diese Woche gelernt habe

  • Am Mac innerhalb eines »Öffnen«-Dialogs Cmd+Shift+. drücken, um auch versteckte Dateien im anzuzeigen.
  • Aus »Weniger schlecht programmieren« (O’Reilly, 2014, Kathrin Passig & Johannes Jander):
    1. Der Dunning-Kruger-Effekt
      Kurz gesagt: inkompetente Menschen tendieren dazu ihre und fremde Leistungen nicht (kompetent) einschätzen zu können. Daher überschätzen sie sich selbst meist, während sie andere unterschätzen.
      An den eigenen Fähigkeiten zu zweifeln bedeutet also unter Umständen, dass man durchaus Kompetenz darin aufweist (vgl. auch das Imposter-Phänomen).
    2. Larry Wall, der Erfinder von Perl, hält Faulheit, Ungeduld und Selbstüberschätzung durchaus für Tugenden beim Programmieren:
      Faulheit motiviert (Oxymoron?) dazu bei Programmierung, Dokumentation und Tool-Auswahl möglichst effizient zu arbeiten.
      Ungeduld soll dazu führen, dass man nicht nur das Benötigte erarbeitet, sondern zukünftige Anforderungen auch schon berücksichtigt.
      Selbstüberschätzung nimmt die Angst davor, große Projekte überhaupt in Angriff zu nehmen.
      Passig und Jander sehen noch in weiteren Untugenden Vorteile:
      Dummheit sorgt dafür, dass der Code leichter (für Fremde) verständlich ist. Spaghetticode kann nur schreiben, wer sich viel im Kopf behalten kann.
      Unwissenheit hilft bei einem Paradigmenwechsel (z.B. damals hin zur objektorientierten Programmierung) flexibel zu bleiben. Wer nicht in erlernten Denkmustern verhaftet ist, tut sich leichter beim Umsteigen.
      Vergesslichkeit sorgt dafür, dass Code besser kommentiert und dokumentiert wird. Vielleicht erstmal nur für sich selber, aber das hilft Fremden dann wiederum den Code zu verstehen.
      Fehlendes Durchhaltevermögen: Code der in einer Nachtschicht zusammen geschustert wird, wird höchstwahrscheinlich eh am nächsten Tag verworfen. Eine gute/kreative Lösungsidee sollte besser reifen, bevor Code dafür geschrieben wird.
      Prokrastination hat den angenehmen Nebeneffekt, dass in der Zwischenzeit andere die Entwicklung voran treiben und das Problem des prokrastinierenden Programmierers von einem Kollegen oder der Community bereits gelöst ist. Auch entwickeln sich die Tools und man selber weiter, so dass am ende vielleicht eine schnellere und bessere Lösung herauskommt (vgl. TED-Talk von Adam Grant und meine Anmerkungen dazu).
      Ekel vor dem eigenen Code ist gut, weil man ihn bereitwilliger verwirft, wenn sie entweder die Anforderungen ändern, oder andere (erfahrenere/bessere) Kollegen ins Boot kommen. »Wer seinen Code für perfekt hält, lernt zu wenig dazu. Die Zusammenarbeit mit anderen ist produktiver, wenn die Beteiligten nicht in ihren eigenen Code verliebt sind.«
      Ehrgeizlosigkeit: sogenannte Maximizer, also Programmierer die nach dem besten streben, sind laut Glückforschung nicht so glücklich wie Satifsicer, die sich auch mit weniger zufrieden geben.
      Trägheit kann man umkehren, und so kann sie helfen guten Code zu schreiben. Als Beispiel: globale Variablen (Warum die nicht so gut sind). Wenn immer nur lokale Variablen genutzt werden, verhindert die Trägheit, dass globale eingeführt werden.
Artikel

Was ich diese Woche gelernt habe

  • Wenn man ein Mashups auflegt: es funktionieren die am besten, die nur Text von einem Song enthalten. Ansonsten scheint das Publikum verwirrt zu werden und wird »vorsichtig« beim Mitsingen/grölen/feiern.
  • Halli Galli Drecksound macht unheimlich Spaß (bis auf den MC). Schade dass ich es erst nach sieben Jahren entdeckt habe!
  • Bei einem Konzert auf der Waldbühne lohnt es sich am Bahnhof Charlottenburg zu parken, und dann mit der S5 bis Pichelsberg zu fahren.
  • Es gibt Pils das mir schmeckt (oh nein, ich werde doch nicht etwa erwachsen!?!): Just Pils von Von Freude. Ausserdem fange ich an, Hopfensorten nicht nur am Namen, sondern auch am Geschmack zu wiederzuerkennen. Zur Zeit stehe ich voll auf Amarillo und Cascade.
Artikel

Was ich diese Woche gelernt habe

Artikel

Was ich diese Woche gelernt habe

  • Dank ihrer App kennt Uber den aktuellen Akkustand. Sie behaupten zwar, sie würden das nicht in ihr dynamisches Preisgestaltungs-Modell einfließen lassen, aber es ist anscheinend so, dass man sich mit einem leeren Akku eher für eine teure Fahrt entscheidet (Podcast, bei ca. Minute 18)

    (Hidden Brain, Episode 31, Direktdownload)
  • Der Trick mit text-indent:-9999px ist zweifelhaft. Mit display:none ist der Inhalt auch für Suchmaschinen und Screenreader nicht sichtbar. Eine schicke Methode haben die FE-Menschen der Welt gefunden:
    .visually-hidden {
        position: absolute;
        height:1px;
        width:1px;
        clip: rect(0 0 0 0);
        overflow:hidden;  
        border: 0;
        margin: -1px;
        padding: 0;
    }
  • Manchmal, aber nur manchmal, haben Programmierer !important gern.
  • Coole Hacks um die CSS Spezifität zu erhöhen oder zu verringern (ohne dass man viele Selektoren oder IDs stylen muss):
    Spezifität erhöhen durch das mehrfaches anwenden derselben Klasse:
    .class.class {…}
    Spezifität einer ID verringern, bzw. eine ID stylen, ohne Verwendung eines ID-Selektor:
    [id='example'] {…}
Artikel

Was ich diese Woche gelernt habe

Artikel

Was ich diese Woche gelernt habe

  • Vielleicht suchen wir an der falschen Stelle nach ausserirdischem Leben:
  • SVG kann das!
    Aber nicht wenn es um SMIL geht, das wird nicht weiter unterstützt. Vielleicht muss ich auf meine alten Freunde aus ActionScript-Zeiten zurückgreifen.
  • Sehr erschreckend, aber wir waren schon oft am Rande einer Atombomben-Katastrophe. Noch erschreckender: der wahrscheinlichste Fall für einen Atomkrieg ist: »aus Versehen«. WFT?!?
Artikel

Was ich diese Woche gelernt habe

  • Dieter Rams nochmal: »Having small touches of colour makes it more colourful than having the whole thing in colour.«
  • Vor Jahren schenkte mir mein damaliger Chef die Parabel »Who moved my Cheese?«. Es geht um Mäuse in einem Labyrinth und wie sie mit Veränderungen umgehen. Seitdem versuche ich immer Veränderungen positiv zu begegnen (wobei ich gleichzeitig versuche, z.B. Technikwandel kritisch zu hinterfragen). Harvey Mackay hat noch einen Tipp dazu, wie man sich auf Veränderungen vorbereitet: »Even when change is elective, it will disorient you. You may go through anxiety. You will miss aspects of your former life. It doesn’t matter. The trick is to know in advance of making any big change that you’re going to be thrown off your feet by it. So you prepare for this inevitable disorientation and steady yourself to get through it. Then you take the challenge, make the change, and achieve your dream.«
  • Der überaus amüsante TED-Talk von Adam Grant steckt voll toller Einsichten, Zahlen und Zitate.

    Er sagt der First Mover Advantage wäre ein Mythos: Von den Firstmovers fallen 47% auf die Nase, von den Improvers nur 8% – man muss also nicht der Erste sein, lieber besser und auf den User abgestimmt (das Gegenteil habe ich aber mal in Positioning gelesen).
    Dieser Gedanke des »lieber etwas Zeit zum Nachdenken« zieht sich durch, frei nach Aaron Sorkin »Die einen nennen es Prokrastination, die anderen ›darüber nachdenken‹«.
    Wer viele Ideen hat, hat zwar auch mehr Ideen die nichts werden, aber überhaupt Ideen zu haben, überhaupt mit etwas zu beginnen, ist die Voraussetzung für jeglichen Erfolg (hey, juhu).
    Auch das »schnell etwas neues anfangen, aber dann nicht schnell zu Ende bringen« (etwas das mich bisher an mir eher gestört hat) fällt auch in dieses Denkschema: so hat man nach dem schnellen Beginn Zeit (während des Prokrastinierens, s.o.) auf kreative Ideen und Lösungen zu kommen.
    Lustige Entdeckung: Menschen die Chrome oder Firefox nutzen (also diejenigen die nicht einfach IE oder Safari als Default akzeptieren und zu faul sind, eine Alternative zu installieren) sind im Job performanter und engagierter 😉
Zitat

Zehn Thesen für gutes Design

Gutes Design ist innovativ.
Gutes Design macht ein Produkt brauchbar.
Gutes Design ist ästhetisch.
Gutes Design macht ein Produkt verständlich.
Gutes Design ist unaufdringlich.
Gutes Design ist ehrlich.
Gutes Design ist langlebig.
Gutes Design ist konsequent bis ins letzte Detail.
Gutes Design ist umweltfreundlich.
Gutes Design ist so wenig Design wie möglich.

Dieter Rams

Artikel

Was ich diese Woche gelernt habe

  • Als ich das erste Mal die Definition von Prokrastination gelesen habe, war ich überglücklich eine »Diagnose« zu haben 😉
    Jetzt ist das schon wieder passiert: Ich glaube ich tendiere zum Impostor-Phänomen.
    Danke @agobojko für die Grafik, die mich darauf aufmerksam gemacht hat:
    Grafik Impostor Phänomen erklärt
    (Quelle)
  • Ein „leeres Feld“ ist ein starker optischer Hinweis für ein auszufüllendes Feld. Gutes Tipps, was man dafür nutzen kann, und was nicht funktionier, vom UX Movement.
  • Bei vielen Diensten und Sites kann man sich (immer noch) nicht mit einer Emailadresse mit .email anmelden.
  • Letzte Woche habe ich meine The Dash von Bragi bekommen. Das Packaging ist wirklich wirklich schön gemacht (dicker, schwarz kaschierter Karton, partieller UV-Lack, beim Umblättern der letzten Seite blinken einen die Dinger an), aber das OnBoarding haut einen um: Wenn man The Dash zum ersten mal anlegt, leiten sie einen mittels Stimme durch die Installation. Dadurch entwickelt man gleich einen persönlichen Bezug, und die Kopfhörer sprechen ja auch im alltäglichen Gebrauch mit dem Nutzer.
    (Das Produkt selber hat mich leider nicht so überzeugt: ich empfinde die Bluetooth-Verbindung als viel zu unstabil. Leider zurückgegeben)
    Mehr Tipps zum User Onboarding wurden hier gesammelt veröffentlicht.
  • Der alte Trick »parent element auf display:none« für Responsive Images funktioniert nicht (mehr). Dadurch sollte eignetlich ein <img src /> nicht geladen werden, was aber in keinem modernen Browser (mehr) funktioniert.