30. November 2006, 23:05, by Silvan Mühlemann

PNG: Halbtransparenz dank Alphakanal

Glass of WaterDas tilllate-Logo kriegt anlässlich des Welt Aids Tag eine rote Schleife. Die Aufgabe wäre leicht gewesen – gäbe es keine IE 6 mehr im Cyberspace.

Der Grafiker liefert mir das Logo. Ich öffne es im Fireworks und setze den Hintergrund transparent. Schliesslich soll das Logo sowohl auf der Tages-Skin, als auch auf der dunklen Nacht-Skin von tilllate gut aussehen. Ich speichere das Logo als GIF. GIF unterstützt ja Transparenz.

Logo Weltaidstag tilllate Tag

Wow. Schön sieht das aus. Neckisch, wie sich die Schleife über den Rahmen hinausragt. Wie sieht’s in der Nachtvariante aus?
(more…)

Filed under: Uncategorized —
29. November 2006, 23:14, by Silvan Mühlemann

Teste häufig: Jede Stunde. Automatisch.

Acid Test for Browsers“Teste häufig”, predigt “Der Pragmatische Programmierer”, mein aktuelles Nachttischbuch. Häufiges Testen = automatisches Testen. Denn wer will schon die gleichen Testcases immer und immer wieder durchführen?

Funktionstests machen wir mit Selenium, wie früher schon berichtet. Im Normalfall öffnet man den TestRunner und startet den gewünschten Test per Mausklick.

Für das automatisch ausgelöste Testen kann dem TestRunner der Parameter auto=true übergeben werden: Die Testsuite wird geladen, die Tests werden sofort, ohne Zutun des Benutzers abgespult.
(more…)

Filed under: Programming,Web Development
28. November 2006, 07:20, by Silvan Mühlemann

Mehrsprachigkeit auf tilllate.com

Languages“wie löst ihr das mit den Sprachen?”, fragt mich Otti, ein Webtuesday Besucher.

Das tilllate-Framework unterstützt eine praktisch unbegrenzte Anzahl von Sprachen. Momentan sind wir bei sieben Sprachen: Deutsch, Französich, Englisch, Italienisch, Spanisch, Türkisch und Bulgarisch.

Die Textbausteine, welche wir auf der Seite sehen sind in einer Tabelle gespeichert. Pro Sprache hat diese Tabelle eine Spalte. Jeder Sprachbaustein ist mit einer ID versehen. So hat der Baustein “Fotoreport” die ID “243”. Wenn ich nun das Wort “Fotoreport” brauche, schreibe ich folgenden Code:

< ?=txt(243) ?>

Das System gibt mit dann das Wort “Fotoreport” in der Sprache der gerade aktuellen Session des Besuchers aus.
(more…)

Filed under: tilllate.com,Web Development
24. November 2006, 07:40, by Kevin

Input-Filtering mit der PHP DOM Extension

“Ersetze doch dieses TEXTAREA für dieses Forum mit einem Wysiwyg-Editor.” Wysiwyg, ein Wort, das allen farbengeilen, smileysliebenden Formatierfreunden sofort ein Lächeln auf das Gesicht zaubert. Anders beim Entwickler, die Sorgenfalten auf dem Gesicht sind unübersehbar: “Na danke, wieder 10 neue Dinge auf die ich im Bezug auf Sicherheit der Applikation und des Inhalts achten muss”.

WYSIWYG-Editor

User können eigene Bilder direkt in den Text einfügen? Deaktivieren wir dieses Feature doch gerade, damit können wir uns immerhin schon ein paar Scherereien (XSS!) vom Leib halten. Aber Moment, wir haben da ja einen iFrame mit dem Attribut designMode='on', das heisst dann soviel wie: “ja, man kann irgend ein Bild von irgend einer Seite nehmen, Ctrl-C,Ctrl-V und schwups ist man durch das Hintertürchen durch”. Clientseitige Überprüfung mit Javascript? Was ist nun, wenn jemand den Form-POST von Hand zusammenbastelt? Dann bringt diese Validierung nichts mehr

Folglich bleibt noch die serverseitige Überprüfung. Aber reicht es uns wirklich, etwaige Bilder oder Links mit strip_tags() oder ähnlichem herauszufiltern? Wohl kaum, schliesslich soll dem Member unter anderem die Möglichkeit gegeben werden über den Wysiwyg-Editor vorbereitete Smileys einzufügen. Wie unterscheidet man jetzt zwischen Memberbildern und Smileys? Den Smileys eine eindeutige Id zuordnen und über diesen Wert entscheiden ob es sich um ein Smiley handelt? Haha, der war gut. Die Lösung heisst in diesem Fall DOM:

(more…)

Filed under: Programming,Web Development
22. November 2006, 09:57, by Silvan Mühlemann

OOP in JavaScript

RhinozerosWeiterbildung ist ein Hauptthema bei den “IT-Team Meetings”, welche wir jede Woche durchführen. Gestern hat Ciprian uns eine Einführung in Objektorientierte JavaScript-Entwicklung gegeben.

Denn tausende Zeilen unstrukturierter Code ist bei komplexen RIA-Projekten ein Wartungs-Albtraum. Deshalb wird bei unseren nächsten Projekten Wert auf eine saubere Struktur gelegt.

Faszinierend an Javascript (offiziell ECMAScript genannt) ist das Objektkonzept. Bei PHP unterscheidet man zwischen Klassen und Objekten. Eine Klasse wird vor der Ausführung des Programms definiert und dann zur Laufzeit instanziert. Bei Javascript sind Klassen wie Objekte behandelt. Genau genommen instanziert man also ein Objekt und nicht eine Klasse, um sich ein Objekt zu erzeugen.
(more…)

Filed under: Programming
20. November 2006, 19:58, by Silvan Mühlemann

Stau in den Servern

Stau“Laaaangsam ist die Site”, haben sich die Regional Manager am Freitag bei mir beklagt. Langsam ist ein weiter Begriff. Um diese Aussage messbar zu machen, möchte ich als Ergänzung zum Nagios und Ganglia eine Messung der Antwortzeiten unserer Website einführen.

Die Integration einer derartigen Messung in Nagios oder Ganglia hat sich als schwierig erwiesen. Deshalb habe ich mich für eine “Roll-your-Own”-Lösung entschieden: Erfassung der Antwortzeiten (= Dauer eines vollständigen HTTP-Requests) mittels Curl und Cron-Job. Eintragen in ein RRD-File. Anzeige mittels rrdtool graph.

Die ersten Ergebnisse sind interessant:
Antwortzeiten Fotoübersichts-Seite

Dies ist eine Messung auf die Fotoübersichtsseite. Wenn die Server nicht belastet sind, sind die Zugriffszeiten bei <500ms. Also völlig im vertretbaren Rahmen. Schlimm wird es, sobald eine gewisse Schwelle überschritten wird. Dann explodieren die Zahlen: Gestern Sonntag dauerte es über acht Sekunden, um eine Indexseite abzurufen.
(more…)

Filed under: IT Infrastructure
18. November 2006, 18:16, by Silvan Mühlemann

Die tilllate-IT zeigt sich Europa

EuropaFull House bei uns im tilllate-Hauptquartier. Unser Internationales Management (Ländermanager & Regionalmanager) haben wir in die Schweiz eingeladen, um mit uns das Sechsjährige zu feiern.

Fünfzig tilllate-Mitarbeiter aus sieben Ländern beeinander: “Küsst ihr in Frankreich drei- oder viermal?” – “Ist das Clubbing in Sofia anders als hier?” – “Ein ganzer Monat arbeiten, um sich eine Fotokamera leisten zu können müsst ihr in Deutschland?”. Spannender Kultureller Austausch.

Zuerst die Arbeit, dann das feiern: Jede tilllate-Abteilung stellt sich vor. So auch die IT. Ein paar Ausschnitte aus der Präsentation:

Dynamische Webseiten
Für Euch etwas zu kompliziert. Ich weiss :-)
(more…)

Filed under: Uncategorized —
15. November 2006, 01:34, by Silvan Mühlemann

Besucheransturm am Webtuesday Zürich

HellraumprojektorZiemlich aufgeregt war ich schon, vor der Präsentation über die IT von tilllate.com am Webtuesday: Ein Raum vollgestopft von super-smarten Jungs (+1 Frau). Alle Open-Source-affin und dementsprechend kritisch eingestellt gegenüber kommerziellen Sites wie tilllate.com. “tilllate hät e IT? Da brucht’s doch eifach Gallery dezue”. Besonders gut geschlafen habe ich deshalb in der Nacht auf heute nicht…

Die Angst war unbegründet: Ein super Publikum. Gelacht an den richtigen Stellen. Die Fragen waren zu beantworten (auch jene von Urban). Und die Sätze kamen einigermassen korrekt raus. Man weiss ja nie, wie man bei Aufregung reagiert. (more…)

Filed under: tilllate.com
13. November 2006, 15:21, by S R

Linux Raid ganz einfach

Transtec Provigo 610Lange schon steht er bei mir unterm Büro Tisch und endlich hab ich am Freitag Zeit gefunden mit der Installation zu beginnen (es ist ca. 14:00).

Die Rede ist von unserem neuen Speichersystem von Transtec (Provigo 610), natürlich mit zugehörigem Server (Calleo 302L). FibreChannel, 80GB SATA Platten, 8GB RAM alles vom feinsten, ich freue mich auf die Installation.

Installation

Wir verwenden natürlich Gentoo. Der QuickInstall Guide von Gentoo sieht vielversprechend aus, gut gibt es auch noch einen zum konfigurieren von Software Raid auf dem Server. Ich gehe genau nach Anleitung vor, alles perfekt, Disks erkannt, der Kernel auf der LiveCD erkennt alle Hardware, keine Probleme aufgetreten. Das Raid soll aus der Boot und Root Partition bestehen, Disk Ausfälle sollen uns keinen Ärger machen. (more…)

, 00:15, by Silvan Mühlemann

tilllate.com vor sechs Jahren.

Für meine Präsentation am Webtuesday am kommenden Dienstag habe ich, von Nostalgie getrieben, in den tilllate.com Firmenarchiven gewühlt. Ueberraschend, was man da findet:

Das erste Foto

erstes Bild auf tilllate
Das erste Bild auf tilllate (fid=49, was wohl mit 1-48 geschehen ist?). Katastophale Qualität. Entlässt den Fotografen! (Hoppla, das war ja ich.)

Unbeholfen verfasste Werbetexte

tilllate.com hat für Veranstalter viel zu bieten. Mit unserem integrierten Konzept, bestehend aus Pre- und Afterparty-Bereich sowie tausenden von Pageviews täglich, stellen wir eine interessante Promotionsplattform dar.

Integriertes Konzept? Afterparty-Bereich. Und das bei nur mal tausenden von Pageviews täglich (heute sind wir bei >2Mio)? Da konnte mit wenig Leistung noch viel Schaum geschlagen werden :-)

Screenshots der ersten Version

tilllate.com Anno 2000
Titel rechtsbündig? Nur sieben Menüpunkte in der Navigation? Gerade mal acht Events pro Weekend? Aber dafür Rounded Corners: Web2.0 schon Anno 2000! Der First-Mover gewinnt!

Filed under: tilllate.com
Next Page »

© 2014 tilllate Schweiz AG - Powered by WordPress