toscho.design

Designlinks 12

Wird mal wieder Zeit. Aber zuerst entspannen wir uns ein bißchen:


Quelle: CollegeHumor.

Do not use PHP references‹, empfiehlt Johannes Schlüter, denn Referenzen kosten Tempo, Übersicht und Flexibilität. Ob seiner klaren und verständlichen Darstellung dieses kniffligen Themas möchte ich den Artikel jetzt schon in die Liste der zehn besten dieses Jahres rücken.

Nicholas C. Zakas: History of the user-agent string. Warum die UA-Strings heute oft so sonderbar aussehen. Die neue Kennung des IE 9 lautet:

Mozilla/5.0 (compatible, MSIE 9.0; Windows NT 6.1; Trident/5.0)

Anhängsel irgendwelcher Zusatzsoftware werden nicht mehr eingebaut; damit schrumpft die Liste der möglichen Kennungen gewaltig – was es Proxys erheblich erleichtert, gespeicherte Versionen einer Webseite auszuliefern. Das erklärt Billy Hoffman gut in: ›The Big Performance Improvement in IE9 No One is Talking About‹. Er rät auch dazu, die gzip-komprimierte Version nur noch anhand des Accept-Headers zu versenden und den User-Agent zu ignorieren, damit beispielsweise ein Safari-Nutzer die Version bekommt, die der Firefox-Nutzer zuvor in den Proxy gehievt hat.

Man kann dezimale Zeichenreferenzen mit beliebig vielen führenden Nullen versehen. So läßt sich das A als A schreiben oder als &#000000000000000000000000000000065;
›hakre‹ hat mal ausprobiert, wie weit man damit gehen kann: ›HTML Entity Boundaries – Zero Padding‹.
Ein Experiment, dessen praktischer Nutzen sicher weit unter seinem Unterhaltungswert liegt. Doch zeigt es, wie weit die Entwickler vorausdenken und wo sie die Grenze ziehen zwischen ›das versuche ich noch‹ und ›das wird zu langsam‹. Wenig überraschend frißt Firefox die meisten Nullen – bis zum Erstickungstod.

Anne van Kesteren hat auch ein Experiment mit gewaltigem Geekpotential hingestellt: Live style sheet editing!
Und da muß ich einfach mal den Quelltext zitieren:

<!doctype html>
<html>
 <head>
  <title>Live style sheet editing!</title>
  <style style="white-space:pre /* hack for Opera */" contenteditable="">
html { 
margin:.2em; 
font-size:2em; 
color:lime; 
background:purple 
}
head, title, style
{ 
display:block 
}
body { 
display:none 
}
  </style>
 </head>
 <body><!-- nothing is needed here --></body>
</html>

Zum Schluß noch ein Link für die Freunde der Maus: Harmony, ein Zeichenprogramm in Javascript und Canvas. Das macht wirklich Freude.

Harmony. Ein Experiment.

6 Kommentare

  1. GwenDragon am 28.04.2010 · 17:58

    Tach Thomas,

    wenn du hinten an den UA des IE 9 noch eine Klammer anhängst, dann stimmt er.

  2. Thomas Scholz am 28.04.2010 · 18:02

    @GwenDragon: Beim Barte meines Katers – irgendwas entgeht mir immer.

  3. GwenDragon am 03.05.2010 · 12:42

    ›Do not use PHP references (en)‹, empfiehlt Johannes Schlüter, denn Referenzen kosten Tempo, Übersicht und Flexibilität.

    Ich vermisste in dem Artikel Vergleichswerte wie stark der Geschwindigkeitseinbruch ist mitsamt ein paar Praxisbeispielen. So ist das Ganze nur diffus.

    Dass PHP viel als Objekte handhabt, viel vereinfacht, um Programmierern die Arbeit abzunehmen, ist doch eigentlich ein Vorteil. Sicher hat die Verwendung solcher Objekte einen Overhead.
    Allerdings gibt es doch PEAR:Benchmark & Co um zu testen, wann was langsam ist.
    Manchmal müssen Programmierer eben doch wissen wie es unter dem Mantel PHP aussieht und wie intern Objekte und Variablen gehandhabt werden.
    Und dass PHPs scoping böse Fallen haben und ebenso in einem Programmierdisaster enden kann, wenn niemand weiß, was Referenzen und Aliase in Symboltabellen sind, kann ich mir schon denken.

    Ich als Querleserin hätte gern nicht nur einen Artikel mit "Don't do this!" gelesen, sondern auch ein mehr ausgeführtes Why nebst erleuchtenden Interna.

    Aber vielleicht weiß eineR hier noch mehr zu dem Thema.

  4. Thomas Scholz am 03.05.2010 · 18:23

    @GwenDragon: Ich finde das Argument des schwer vorhersagbaren Codes viel wichtiger. Insbesondere die Erklärung zum vermeintlich vorwärtskompatiblen Kopieren von Objekten in PHP 4 samt Demonstration der Fallen hat mir gefallen.
    Wieviel langsamer genau Referenzen nun arbeiten, interessiert mich eigentlich weniger. Das wird sich ohnehin von einem System zum nächsten sehr unterscheiden.

  5. Romy am 10.06.2010 · 09:18

    Das Zeichenprogramm ist wirklich Klasse :-)

  6. Terence am 01.09.2010 · 07:32

    Ich konnte mich aufgrund der Dusch-Katze garnicht so recht auf den Text konzentrieren :D Finde ich ja fürchterlich knuffig wie sie sich da vorsichtig ran wagt und dann irgendwann den ganzen Kopf fürne halbe Minute drunter hält

    Bezüglich des Texts hätten mich Grafiken interessiert, wie stark php tatsächlich verlangsamt. Für mich als Halb-Laie ist das jetzt nicht direkt ersichtlich