Nun also spiele ich wegen gehäuften Anfragen für Kollege Darud den Verlautbarer, da ausser mir niemand über seine berufliche „Neuorientierung“ informiert worden zu sein scheint:
Ob er nun von Weiss-Blau zu den olympischen Ringen wechseln wird, konnte er mir im persönlichen Gespräch am Montag-Abend, 27. Februar 2006, (noch) nicht sagen. Viel Erfolg!
Der Zufall will es, dass auf meinen letzten Partyguide-Artikel von gestern Nacht gleich noch mal einer folgt. Keine Angst! Da kein Mensch ein zweifaches Bashing pro Tag erträgt, hier für einmal ein Lob. Aber begründet.
Nach dem Motto: „Und sie dreht sich doch!“ kommt Bewegung in die Sache. In meinem Artikel Effiziente Web-Projekte anhand von Partyguide, Teil 2 habe ich die performance-intensive Generierung des „Pie Charts“ kritisert. Das Kuchendiagramm, das bei jedem Seitenaufruf serverseitig mit PHP/GDlib neu generiert wird, war mir ein Dorn im Auge:
Abgesehen von zu langen Fliesskommazahlen stellt sich mir die viel brennendere Frage, ob man diese Kuchendiagramme wirklich bei jedem Aufruf dynamisch generieren sollte? Wäre es performance-mässig nicht deutlich intelligenter, auf eine statische Grafik zu verweisen?
Dies ist ohne weiteres machbar – und würde den Web-Server entlasten. Anstelle ein PHP-Script aufzurufen, dies durch den PHP-Parser zu jagen, die GDlib (oder was für eine Grafik-Bibliothek auch immer bei Partyguide im Einsatz steht) zu starten, das Bild zusammenzusetzen und die Binärdaten zum Client zu senden, würde es ausreichen, wenn Apache ein im Filesystem liegendes GIF oder PNG an den Browser zurücksenden zu lassen.
In – sagen wir – 80% der Fälle ist es nämlich gar nicht nötig, das Bild neu zu berechnen, weil das Profil keine neuen Bewertungen erhalten hat. Zudem verändern sich die Diagramme von Accounts mit sehr vielen Bewertungen auch weniger rasch – wenn zu 1000 Bewertungen eine weitere dazu kommt, bedeutet dies Änderungen im Promillebereich, die bei einer derart kleinen Grafik kaum zu erkennen wäre.
Heute nun habe ich per Zufall bemerkt, dass das Diagramm ausgewechselt wurde:
Zwar nicht wie von mir vorgeschlagen durch eine statische Version (s. Zitat aus meinem früheren Artikel), sondern durch ein Flash-Kuchendiagramm. Heureka! Es tut sich was.
Es freut mich natürlich primär einmal, dass man die grauen Hirnzellen angestrengt hat und eine einfallsreiche Lösung entwickelt hat, die mich positiv überrascht! Obwohl ich kein Freund von Flash bin, muss ich den Entwicklern attestieren: Ziel erfüllt. Die Prozessoren der Server werden es euch danken. Denn neu wird die Grafik rein clientseitig generiert, also nur noch die CPUs der Benutzer in Anspruch genommen.
Ich freue mich, in nächster Zeit weitere Detailverbesserungen entdecken zu dürfen. Nun scheint ein Profi am Werk zu sein, der sein Handwerk versteht.
Um auf meine früheren Partyguide-Bashings zurückzukommen: Ein weiterer Hinweis, wie schitter die PHP-Programmierung wirklich ist, liefert mein klitzekleiner Hack, den ich letzten Samstag per Zufall entdeckt habe.
Anscheinend unterscheiden die Entwickler dort nicht zwischen POST- und GET-Variablen. Deshalb ist es mir möglich, die (ursprüngliche) mittels POST-getätigte Suche auch mit GET-Variablen zu tunen. Ich befürchte fast, dass die Partyguide-Devs sogar noch Register Globals aktiviert haben … *pfffrt*
Der Stein des Anstosses: Die Personen-Suche, mit der man Mitglieder der Community nach bestimmten Kriterien (Geschlecht, Alter, Wohnort, Kanton …) suchen kann.
Komischerweise kann man als „Land“ nur CH, D, A, F und LI auswählen, obwohl bei Profilen auch unzählige andere Herkunftsländer erfasst werden. Ist der Programmierer da aus dem Code nicht mehr schlau geworden? Hatte er durch die Überstunden, die für die Wartung des chaotischen Codes daraufgehen, schlicht keine Zeit mehr, weitere Länder in die Liste einzufügen? Wir wissen es nicht. Aber zum Glück gibt es ja mich:
Wer in einem anderen Kanton suchen will, ersetzt das Kürzel der GET-Variable ‚kanton‘ mit dem entsprechenden Kantons-Kennzeichen. Wer gesamtschweizerisch suchen will, löscht die GET-Variable ‚kanton‘ einfach. Für das Länderkürzel schaut man am Besten in eines der Profile hinein – oder zieht die Liste der Country Data Codes als Merkhilfe bei.
Gratulation, Jungs! Anstatt neuer Server solltet ihr euch wirklich mal hinter ein Re-Design und Re-Code setzen. Als Coder empfehle ich euch Bitflux und bytezh (Macher von Slug). Gerade letzterer zeigt tagtäglich, wie man performante Applikationen (Abchecken/Einsammeln von unzähligen Blogs aus der Schweiz im Minutentakt) effizient löst. Und das Design ist schlicht, aber genial – und funktionell.
Mit dem An- und Abflauen der Vogelgrippe hat auch der Vater meiner Freundin immer wieder periodisch Einsätze für die Medien zu bestreiten. So gab er letzte Woche nach vier Monaten Funkstille wieder einmal Auskunft. Dieses Mal für das Publikum des Rendez-Vous am Mittag auf DRS1, wo auch endlich einmal sein (temporär verschnupfter) St. Galler-Dialekt zum Tragen kam (in Presse-Erzeugnissen ist das ja schlecht möglich):
Mario Aeby, geboren am 25. September 1980 in Bern, Schweiz
Ein Weblog über IT (Linux, OSS, Apple), Heim-Automation; mein mittlerweile abgeschlossenes Geschichtsstudium; Erkenntnisse aus meiner aktuellen Tätigkeit in der Informationssicherheit, meine Erfahrungen als IT-Berater, IT-Auditor, Web-Developer und IT-Supporter; die Schweiz, den Kanton Bern, meine ursprüngliche und auch wieder aktuelle Wohngemeinde Neuenegg, meine vorherige Wohngemeinde Bern, über lokale, regionale und globale Politik; meine Reisetätigkeit und Erfahrungen mit anderen Kulturen; und zu Guter letzt auch das Älter werden.
Alle in diesem Blog gemachten Aussagen und Meinungen sind persönlich und nicht als Ansichten meines aktuellen und/oder meiner bisherigen Arbeitgeber zu verstehen.