14 Regeln für schnelle Webseiten

27 July 2007

Auf der Seite Rules for High Performance Web Sites werden zehn Regeln vorgestellt, um schnelle Webseiten zu erstellen. Besonders vor dem Hintergrund, dass 80% der Performance einer Webseite durch das Frontend bestimmt wird, ist ein Blick nicht verkehrt.
Die Regeln im Einzelnen:

  1. Weniger HTTP Requests machen (z.B. zu wenige externe Javascripts)
  2. Content-Delivery Netzwerk verwenden (wie z.B. Akamai)
  3. Expires-Header setzen (damit Proxys und Useragents cachen können)
  4. Gzip Kompression verwenden (weniger Datentransfer nötig)
  5. CSS am Anfang einer Seite einbinden
  6. Scripts am Ende einer Seite einbidnen
  7. Keine CSS Ausdrücke/Berechnungen verwenden
  8. JavaScript und CSS extern nachladen
  9. Wenige DNS Lookups (möglichst keine Objekte von anderen Hosts einbinden)
  10. JavaScript komprimieren / minify (schlanker)
  11. Redirects vermeiden (Latenz/Round-Trip Overhead)
  12. Doppelte Scripts entfernen (logisch - auch weniger Traffik)
  13. Etags ausschalten
  14. Ajax cachebar machen, und kleine Datentransfers

Yahoo und Hadoop

27 July 2007

Im Yahoo Developer Blog berichtet Jeremy Zawodny im Yahoo's Hadoop Support über den Fortgang der Hadoop Entwicklung seit Doug Cutting von Yahoo angestellt wurde, um Hadoop auszubauen.
Hadoop dient als Grundlage für im großen Stil auf lokale Cluster verteilte Applikationen, wie Nutch, Google-Search und Yahoo-Search, die auf tausenden Rechnern Petabytes von Daten analysieren.
Ein schönes Beispiel wie sowohl Firmen als auch OpenSource Software voneinander profitieren können.

Frankfurter Allgemeine Zeitung vs. Westfälische Nachrichten

27 July 2007

Von der Frankfurter Allgemeine Zeitung, oder kurz FAZ mag man als Zeitung halten, was man möchte. Genauso von der Westfälische Nachrichten, oder WN.
Jedoch wenn man durch die Stadt läuft, und einen trotz eingestöpselter Musik ein freundlicher, gut gekleideter FAZ Vertreter von der Qualität der Zeitung überzeugen möchte, während einige Meter später ein WN Stand ist, an dem der WN Verchecker absolut in die eigene Zeitung vertieft ist, und desinteressiert an der Umwelt ist, könnte sich schon ein erster Eindruck der beiden Zeitungen bilden.

Ich habe jetzt übrigens ein 2 Wochen Probeabo der FAZ.

Dicke Freunde

26 July 2007

Dick? Fett? Selbst schuld?
Nach einer neuen Studie ist dicksein anstecken. Wer fette Freunde hat, hat ein erhöhtes Risiko selber zu verfetten. Ob das umgekehrt auch geht?
Einfach mal den Freundeskreis durchwechseln und abwarten...

Einfach schön - oder Inspiration

24 July 2007

Etwas Inspiration, der "wow" Effekt oder auch einfach nur schauen:
Auf FAVEUP gibt es CSS-Designs, Logos und Visitenkarten zu bestaunen. Und selbst wenn man mit Design nicht viel am Hut hat, früher oder später kommt der Zeitpunkt wo man doch mal etwas braucht. Und wenn man es nicht selber macht, kommt die Frage: "Wie stellen Sie sich das denn vor..."

Gatineau - Microsoft reagiert auf Google Analytics

24 July 2007

DaveN hat mit seinem Blogposting Microsoft Gatineau natürlich einen rockigen Linkbait - aber auch Informationen für alle, die wissen wollen, wie die Antwort von Microsoft auf Google Analytics aussehen könnte.
Dort finden sich neben Screenshots auch interessante Aspekte des noch im Beta Stadium befindlichen Produkts. So wird Microsoft als erster Anbieter demographische Daten (Alter, Geschlecht der Besucher) in den Statistiken anbieten.
Woher die kommen? Von Microsoft Live, ehemals Passport.
Datenschutz wird aber bestimmt ganz groß geschrieben.

Canonical Landscape: Der Ubuntu Business Case

23 July 2007

Canonical arbeitet derzeit schwer an Landscape, einem Dienst um Ubuntu im Unternehmenseinsatz besser wartbar zu machen.
Die Idee des Produktes Landscape ist dabei, Administratoren Arbeit zu ersparen. So werden Updates, Softwareinstallationen, aber auch Logging und Auditing realisiert.

Das Abo für Landscape gibts ab 250 Dollar im Jahr.

Guter Ansatz, hoffentlich lohnt es sich für Canonical, so dass auch zukünftig die Ubuntu Weiterentwicklung gesichert ist. Auch für den freien Teil :)

Lizenz zum Gelddrucken

23 July 2007

Das ZaR Münster (Zentrum für ambulante Rehabilitation) hat eine aufregende Terminvergabepolitik. Die Termine beim Zar Münster für die nächste Woche sind am Freitag Mittag abzurufen.
Hat man da keine Zeit, ruft in der Regel jemand vom Zar Münster an, und teilt einem netterweise die Termine mit. Im Notfall auf den Anrufbeantworter.
Freitag habe ich wieder einmal gearbeitet, und kam um eine Gelegenheit beim ZAR anzurufen herum. Leider fand sich auf meiner Voicebox auch keine Nachricht.
So rief ich heute morgen beim Zar an, wo mir mitgeteilt wurde, dass meine Termine bereits alle heute Morgen ab halb acht stattgefunden hätten. Und die müßten entsprechend auch berechnet werden.

Gut, nur weil ich davon nichts wußte hätte ich natürlich trotzdem da sein können. Einen guten Tip bekam ich aber noch: Mein Anrufbeantworter sei wohl kaputt, den solle ich mal überprüfen lassen.

HDR Fotographie

22 July 2007

HDR Fotographie beschäftigt sich, grob gesagt, damit in einem Foto einen hohen Dynamikumfang unterzubringen. Das menschliche Auge kann, vor allem dadurch dass das endgültige Bild im Kopf erst entsteht, einen wesentlich höheren Dynamikumfang an Belichtung wahrnehmen, als aktuelle Kameras dies festhalten können.
(Vor allem auch das oft verwendetet JPG Dateiformat ist da deutlich beschränkt)
Die Idee bei HDR Fotographie ist nun, mehrere Belichtungen einer Szene zu einem Foto zusammenzumontieren.
Dabei kommen z.T. erstaunliche Resultate heraus, wie man bei dieser Flickr Gruppe feststellen kann. Wer mag kann sich auch die Slideshow der zehntausenden von Fotos in der HDR Gruppe anschauen.

Ich hab mir fest vorgenommen auch mal etwas zu experimentieren...

Weitere Infos zu HDR Fotographie: Wikipedia

Heiße Server

22 July 2007

Heiße Server sind eine coole Sache - nur zu heiß sollte es dann doch nicht hergehen, vor allem nicht im Rechenzentrum.
So siehts dann nämlich aus, wenn die Klimaanlage ausfällt - zum Glück ist von meinen Systemen nichts gestorben.

Congster Zugangsprobleme

21 July 2007

Congster, oder wie es jetzt wohl heißt "Congstar" ist billig. Billig bedeutet wohl auch, dass man mit oeberraschungen leben muss.
Ich kann mir meine Congster Rechnung z.B. nicht herunterladen, denn

Wegen mehrerer fehlerhafter Loginversuche wurde Ihr Zugang gesperrt. Bitte wenden Sie sich an unser Call-Center.

Gut, ganz sicher ist das bei mir NICHT der Fall. Und dafür muss ich jetzt eine 01805 "shared cost" Rufnummer bei Congster anrufen....
Ich rechne einfach mal damit, dass Congster zu viel Kundenandrang wegen der aktuellen Werbeoffensive von "Congstar" hat. Stars sind eben beliebt.

Vielleicht gehts ja Montag wieder.

Sehr geehrte Herr/ Frau!

19 July 2007

Derzeit rennen mir potentielle Kunden die Tür ein - ob das an der Hitze liegt? Hier z.B. eine der vielen Anfragen aus dem näheren Ausland.

Sehr geehrte Herr/ Frau!
Ich heisse Wiktor Kozlov, Geschaeftsfuerender Gesellschafter (AM-soft Co). Meine Gesellschaft  spezialisiert sich  uns auf angewandte Entwicklung, Systemintegration,unsere Spezialisten arbeiten korporativen Netze, Finanzprogrammen und andere Software fuer verschiedenen Loesungen der Geschaefts - und Finanzproblemen aus, wir verkaufen auch Internet-Projekten, IT-Loesungen. Die Gesellschaft wurde in Ukraine gegruendet, dort gibt es unseres Hauptbuero. Jetzt oeffnen wir eines neue Buero im Lettland. Wir haben mit vielen europaeschen und nordamerikanischen Gesellschaften im Softwarebereich zusammengearbeitet, Unsere Gesellschaft steht in einem guten Ruf. Wir bekommen viele Vorschlaege, Programme fuer auslaendische Maerkte zu schaffen. Wir planen unseren Business  im Weltmarkt anzufangen.
Leider haben wir einige Schwierigkeiten mit Zahlungserhalten fuer unseren Service. Gewoehnlich bekommen wir die Zahlungen in 10-30 Tagen. Es ist zu langsam und unbequem fuer uns. Wir haben keine Zeit, um jede Postanweisung anzunehmen, auch koennen wir keine Bankschecks und Ueberweisungen annehmen. Deswegen suchen wir Partner in Ihrem Land, die uns helfen koennen und diese Bezahlungen bearbeiten koennen. Natuerlich verstehen wir, dass das Zeit braucht, und wir sind bereit Ihere Hilfe verdient bezahlen. Wenn Sie unseren Vertreter in Ihrem Land werden, als unser Partner Sie bekommen 8% von jede ausfuerenden Bezahlung. Unsere Partner muessen Postanweisungen, Ueberweisungen und Banksscheks kriegen und bearbeiten und uns schicken ( ohne entsprechende 8%) Unsere Vertreter haben freien Arbeitsablauf-plan und einen gute Nebenverdienst.
Das stoert ihre Hauptarbeit nicht!

Wir sind immer froh ueber neue Partner und Ideen! Wenn unser Vorschlag
interessant fuer Ihnen, setzen Sie sich bitte in Verbindung mit mir fuer
zusaetzliche Information.

mail : bla AT aim.com

Emailen Sie bitte folgende Information fuer uns:
Vorname, Name; Alter; Bildung; Ihre Adresse; Kontaktstelefonnummer/ Fax;
Ihre Beschaeftigung momentan.

Antworten Sie bitte uns, und wir gewaehren zusaetzliche  Information ueber
unsere Gesellschaft, wie wir arbeiten und wie man unseren Vertreter sein
kann.

Schreiben Sie uns, und wir antworten sehr gerne auf ihren Fragen

Mit freundlichen Gruessen!
Wiktor Kozlov

Ich verstehe garnicht, wie es da zu Zahlungsproblemen kommen kann. Es gibt doch aus der Gegend spezialisierte Inkassodienstleister...

Buildr - maven drop-in Ersatz?

16 July 2007

In diesem Blogeintrag beschreibt Jim Alateras seine Erfahrungen mit Buildr als Maven/Maven2 Ersatz.
Versprechen wie:
- drop-in Ersatz für Maven, keine "nderungen am Repository oder pom
- höhere Build-Geschwindigkeit
- Abhängigkeitsprüfungen bei Builds
- und nicht zuletzt einfache Erweiterung für spezielle Tasks

versprechen natürlich einiges.
Vielleicht ist JRuby doch den einen oder anderen Blick wert - und sei es nur hinter den Kulissen.

Sicherheitsproblem Rullstuhlfahrer

12 July 2007

Hinweis:

Aus Sicherheitsgründen
ist der Zugang für Behinderte,
die auf den Rollstuhl angewiesen sind, nicht möglich: Berliner Fernsehturm

Da hat jemand die Zeichen der Zeit echt erkannt!

Brent's theorem

11 July 2007

Brent's theorem habe ich wirklich lange anschauen müssen, bis ich es einigermaßen verstanden habe. Ich werde daher für alle anderen, denen es mit Brent's theorem vielleicht ähnlich geht, versuchen eine anschauliche Erklärung zu liefern.
Wie viele andere Erkenntnisse aus dem Bereich parallel computing ist das Theorem von Brent noch nicht sehr alt - 1974 stellt er es auf.
Die Aussage selber ist sehr kurz:

Ein beliebiger Parallelalgorithmus mit der Berechnungszeit t, der m Operationen ausführt, kann auf p Prozessoren in der Zeit t + (m-t)/p ausgeführt werden.

Immer gut, wenn man wichtige Aussagen knapp formulieren kann - aber was bedeutet Brents theorem nun?
Wichtig für das Verständnis des Satzes ist zum einen das Wissen, dass die Ausführung von einer PRAM Maschine, also einem Parallelrechner durchgeführt wird, und zum anderen die Erklärung der Berechnungszeit t.
Die Berechnungszeit wird dabei allgemein in Zeitschritte eingeteilt. In jedem Zeitschritt werden alle Befehle ausgeführt, die von keinen anderen Befehlen abhängig sind.
t ist dabei dann die längste Befehlsfolge, die von anderen Befehlen abhängig ist. (Alle kürzeren Befehlsfolgen sind ja bereits parallel bearbeitet und beendet worden)
Beispiel:
Wir haben ein Array mit 10 Werten, die aufsummiert werden sollen.
Jetzt könnte man so vorgehen:
position = start; while (position < 10) { ergebnis = ergebnis + array(position); position = position+1;}
Dabei hängt nun jede Berechnung von dem Ergebnis der vorigen Berechnung ab!
t ist damit also 10.
Die Gesamtzahl der Operationen ist auch 10, also ist auch m = 10.

Mit Brent's Theorem berechnen wir also:
T = 10 + 0/p, es ist also möglich auf einer Parallelmaschine in 10 Zeiteinheiten das Array aufzusummieren. Wäre auch schrecklich wenn es nicht ginge, man kann von der Parallelmaschine ja einfach nur einen Prozessor nutzen, und sequentiell arbeiten.

Brents theorem besagt nicht:

  1. Es gibt keinen besseren Algorithmus für das Problem
  2. Es gibt keine bessere Implementierung für den Algorithmus
  3. Eine entsprechende Implementierung ist leicht zu finden

Aber mit dem Theorem von Brent kann man zeigen, dass eine entsprechende Implementierung existiert!

Jetzt versuchen wir mal die Array-Summe anders zu bilden, da Addieren assoziativ ist, könnte man die Summenbildung parallelisieren.
Wir zerteilen das Array in Summen aus je zwei Elementen:
1+2, 3+4, 5+6, 7+8, 9+10
Das geht - auf der Parallelmaschine - in einem Zeitschritt!
Die Ergebnisse bearbeiten wir nochmals so:
3+7, 11+15, 19
Wieder ein Zeitschritt. Und nochmal:
10 + 26, 19
36 + 19 = 55
Und das in nur 4 Zeitschritten! Durch die Parallelisierung ist das wesentlich schneller.

Etwas formaler: Dieser Algorithmus hat für ein Array mit n Elementen log(n) Schritte, also t= log(n). m - die "Gesamtarbeit" - ist wieder n.
Die Zeit nach Brent's Theorem ist somit  T = log(n) + (n - log(n) ) /p.

Wichtig in diesem Zusammenhang ist noch die Frage nach der Kosteneffizient oder Kostenoptimalität:

  • Egal wie viele Prozessoren wir parallel arbeiten lassen, es geht nicht schneller als O (log n)
  • Bei n Prozessoren benötigen wir log(n) Zeit
  • Bei log(n) Prozessoren benötigen wir log(n) + log(n) Zeit - das ist aber wieder O (log n)
  • Mit einem Prozessor benötigen wir n Zeitschritte

Die Arbeitsleistung wird jetzt so ausgerechnet:
Anzahl der Prozessoren mal der geleisteten Arbeit, also

  • Ein Prozessor: 1 * n
  • log(n) Prozessoren: log(n) * n
  • n Prozessoren: n*n

Kostenoptimal ist ein Algorithmus, wenn er nicht mehr Kosten verursacht als ein äquivalenter sequentieller Algorithmus. Mit n Prozessoren ist man somit nicht mehr Kosteneffizient!


/
Copyright © 2007, 2008 everflux. Alle Rechte vorbehalten. All rights reserved.