madcats[welt]

Bye, Bye, Web-Entwicklung

Wie vielen wohl aufgefallen ist, sind meine Blog-Beiträge in den letzten Jahren sehr code-lastig geworden. Damit dürfte ich auch den ein oder anderen Leser vergrätzt haben, denn früher war hier definitiv mehr los. Ich habe mich daher entschlossen, für das Thema Web-Entwicklung ein eigenes Weblog einzurichten und madcats[welt] ab sofort zur quelltext-freien Zone zu erklären.

Introducing WebCodr

Meine ursprüngliche Namensidee war ohne “Web”. Blöderweiser war “Codr” in keiner relvanten Top Level Domain mehr frei. Im Nachhinein war WebCodr die bessere Entscheidung, da es einfach treffender ist.

Im Gegensatz zu madcats[welt] setzt WebCodr nicht mehr auf WordPress auf. Ich wollte eine schnelle, schlanke Blog-Software, die alles nötige für ein Entwickler-Weblog mitbringt. Eher durch Zufall bin ich auf Schnitzelpress gestoßen und siehe da, das Ding passt wie eine Maßanfertigung. Da es mit Ruby on Rails und mongoDB arbeitet, war ich erst etwas skeptisch, ob ich es überhaupt lauffähig bekomme — ich habe schlicht keine Ahnung davon. Noch.

Zu meinem Glück lässt sich Schnitzelpress aber nahezu idiotensicher bei Heroku aufsetzen. Da Schnitzelpress mit einem Heroku-Prozess auskommst, ist der Spaß sogar kostenlos. Da das ganze leistungstechnisch natürlich keine Bäume ausreißt, habe ich CloudFlare als CDN und Caching-Provider im Einsatz. Damit ist WebCodr fast so schnell, als wäre es statisches HTML.

Was passiert dann hier überhaupt noch?

Ich betrachte madcats[welt] als mein privates Blog und das soll es nun auch wieder werden. Wie oben schon erwähnt, werde ich weiterhin über Technik schreiben. Der Entwickler-Teil samt Quelltexten landet ausschließlich bei WebCodr. Das gilt auch Beiträge zur Weiterentwicklung des hier aktiven WordPress-Themes mcw[blue]. Allerdings werde ich die entsprechende Artikel hier verlinken. Eigenwerbung ftw!

Weitere Themen für madcats[welt] sind natürlich meine Fotos und eine Rückkehr zu den Wurzeln, also Lästereien, Kommentare, Satire oder einfach nur etwas zum Lachen. Letzteres dürfte aber zum Großteil auf Facebook und Twitter stattfinden. Evtl. mache ich eine wöchentliche Sammlung.

Als nächstes geplant habe ich Artikel zum Ende von Mass Effect 3 und einen Generationenvergleich des ersten MacBook-Pro-Generation mit Unibody-Gehäuse bzw. eines aktuellen Modells.

Schnellere Websites mit RequireJS

Mit diesem Eintrag beginnt meine kleine Serie über schnellere Websites. Im Rahmen dieser Reihe werde ich Strategien und praktische Maßnahmen vorstellen, um die Ladegeschwindigkeiten zu analysieren, Schwachpunkte zu finden und zu vermeiden.

Warum RequireJS?

In den meisten Programmiersprachen existieren Funktionen wie require(), #include oder import, um weitere Bestandteile eines Programms aus einer Datei bzw. eines Namespaces zu laden. In JavaScript gibt es solche Möglichkeiten bislang nicht. RequireJS beseitigt dieses Problem. JavaScript-Dateien werden durch RequireJS asynchron nachgeladen, so dass mehrere Dateien parallel abgeholt werden können. Gleichzeitig ist es dadurch möglich, auf script-Element im Quelltext zu verzichten und damit das Rendern der Seite zu beschleunigen.

Script-Elemente sind Blocker im Rendering-Prozess. Browser arbeiten den Quelltext einer Seite von oben nach unten durch. Wenn ein script-Element auftaucht, muss es erst ausgeführt werden, bevor der Browser sich um den nachfolgenden Quelltext kümmern kann. Externe JavaScripts können aus diesem Grund massiven Einfluss auf die Ladegeschwindigkeit einer Seite haben, auch wenn die eigentliche Website schon längst vom Web-Server an den Browser ausgeliefert wurde.

Falls ein externes Script auf einem langsamen Server liegt, muss der Browser warten, bis er es komplett abgerufen und ausgeführt hat. Sollte das aufgerufene Script gar nicht mehr vorhanden sein, wartet der Browser seine Timeout-Einstellung ab, bis er weitermacht. Sicherlich hat jeder schon mal gesehen, dass eine Website nur bis einem gewissen Teil angezeigt wird und erst nach ein paar Sekunden der Rest dargestellt wird. Mit sehr hoher Wahrscheinlichkeit, war dies ein nicht mehr vorhandenes oder nur sehr langsam ladendes JavaScript.

Asynchrones Abholen findet erst nach dem Rendern der Seite statt und blockiert daher nichts. Dazu lässt sich bei konsequentem Nutzen von RequireJS der Einsatz von script-Elementen weitgehend vermeiden. Im Idealfall gibt es nur noch ein script-Element, das RequireJS lädt und ein weiteres Script startet, um die gesamte JavaScript-Funktionalität einer Seite zu initialisieren.

(weiterlesen …)

Wordpress³

Es ist vollbracht: madcats[welt] läuft mit Wordpress.

Angekündigt war dieser Schritt bereits für September, aber wie das halt so ist, kam immer etwas dazwischen. Dabei war eigentlich alles in ein paar Stunden fertig. Der technische Teil war schnell erledigt, aber ein passendes Design zu finden, war ob dieser Riesenauswahl gar nicht so einfach.

Am Ende fiel meine Entscheidung auf zBench, das ich aber zu einer aufpolierten Version von mcw[ruby] umgebaut habe — vom Original-Design ist eigentlich nicht mehr viel übrig. Die Anpassungen sind noch nicht ganz fertig. Bei den Kommentaren und der Tag Cloud wird sich in den nächsten Tagen noch etwas tun.

Um endlich von den Einschränkungen der immer selben Schriftarten für Websites wegzukommen, nutze ich jetzt den Dienst typekit. Typekit bietet professionelle (und daher meist kostenpflichtige) Schriften als Web-Fonts an. Man stellt sich einfach ein Schriftpaket für seine Seite zusammen, fügt zwei Zeilen JavaScript in den head-Bereich ein und kann die Schriften wie gewohnt im Stylesheet angeben. Den Rest erledigt typekit.

Wer das ausprobieren möchte, kann einen kostenlosen Trial-Account mit maximal zwei Schriften und 5 GB/Monat Traffic (für die Schriften) nutzen. Für die meisten Blogs sollte das sogar ausreichen, ansonsten dürfte der “Personal Plan” für 24,99 $ im Jahr die richtige Wahl sein. In Anbetracht der Auswahl und sich ergebenden neuen Möglichkeiten, finde ich das nicht sonderlich teuer. Aktuell verwende ich für Überschriften “Adelle” und im Fließtext “Droid Sans”.

Zum Schluss noch etwas Werbung bzw. die Erklärung für die Überschrift:

Ich kümmere mich ja bereits seit Jahren um die technische Seite von Pias Weblog. Bisher lief alles über die FTP-Veröffentlichung von Blogger. Anfang des Jahres kündigte Google an, diese Funktion zum 1. Mai 2010 einzustellen. Betroffenen wird ein Umzug auf Blogspot mit eigener Domain empfohlen. An sich eine brauchbare Lösung, wenn man dafür nicht die DNS-Einträge der Domain in einem Umfang ändern müsste, den kaum ein großer Hosting-Anbieter erlaubt. Daher haben wir uns für einen Umzug auf Wordpress entschieden.

Da Pia gerne und viel fotografiert, haben wir gleich noch ein zweites Wordpress als Foto-Blog eingerichtet. Momentan sind noch nicht so viele Bilder online, aber ein Blick lohnt sich definitiv jetzt schon!

Google Analytics

Dank einer neuen Rechtslage verzichte ich vorerst auf den Einsatz Google Analytics und ich rate jedem, der es einsetzt das gleiche zu tun – das gilt auch für ähnliche Tracking-Systeme. Hier droht sonst eine neue Abmahnwelle gegen Blogger.

Unsere obersten Datenschutzbehörden hatten den tollen Einfall, dass Tracking-Systeme, die sich auf IP-Adressen beziehen, personenbezogene Daten sammeln und daher erst eine Einwilligung des Nutzers vorliegen muss, bevor seine Nutzungsdaten erfasst werden dürfen. Für mich als Privatnutzer von Analytics hat das keine großen Konsequenzen, auch wenn es recht interessant ist, welche Beiträge am meisten gelesen werden, wie die meist genutzen Keywords aussehen oder woher die Besucher kommen.

Ich arbeite in der E-Commerce-Branche und hier hat es große Auswirkungen, wenn solche Tools nicht mehr verwendet werden dürfen. Tracker wie Econda erleichtern es Shop-Betreibern erheblich Schwachstellen in ihrer Seite zu finden oder gezielt Aktionen wie Newsletter, Werbung, Einträge in Preissuchmaschinen etc. auszuwerten. Mal wieder wird es hier hauptsächlich die kleineren Shop-Betreiber treffen und u.U. viel Geld kosten.

Es ist wirklich eine Sauerei. Sicher wird die IP-Adresse für die Auswertung benutzt, aber es gibt keinen legalen Weg die Daten einer bestimmen Person nur anhand der IP-Adresse zuzuordnen. Das geht nur in Notfällen oder bei Straftaten über die Polizei bzw. Staatsanwaltschaft. Ich sehe daher kein Problem für den Datenschutz, aber das müssen wohl erst die Gerichte klären.

mehr zum Thema bei it-recht-kanzlei.de

Keyword-Wahnsinn

  1. »macbook air nachfolger«
    Nö.
  2. »netbeans c#«
    Wie wär’s mit Visual Studio?
  3. »›frak you‹ übersetzung«
    Mal ehrlich, wer dafür eine Übersetzung braucht, sollte sich Battlestar Galactica nicht auf Englisch anschauen.
  4. ».json mit apple öffnen«
    Äh, ja …
  5. »auf die schnelle mehr sperma herstellen«
    Hmm, weniger onanieren?
  6. »bastelvorlage s-bahn münchen«
    Das war sicher einer von denen, die immer abends am Hauptbahnhof Regionalzüge fotografieren – und sei es auch der größte Schrott, den die Bahn noch einsetzt.
  7. »e8400 kern freilegen«
    Perversling, lass die arme CPU in Ruhe!
  8. »erfahrungsbericht monika gruber«
    Ist zwar klar, was gemeint ist, aber die Formulierung klingt doch sehr zweideutig.
  9. »formular mit jquery abschicken«
    $(‘form’).submit();
  10. »illegale pornoseiten kostenlos«
  11. »kann man am mac book programmieren«
    Nein, MacOS und die Apps sind alle in der CPU fest verdrahtet.
  12. »sacred gold torrent installiert final fantasy«
    Wtf?
  13. »verwenden smarty unter ubuntu«
    Junge, lass es. Wenn man zu doof bist, einen Apache mit PHP unter Ubuntu zu installieren, was will man dann mit Smarty?
  14. »wie erstellt man eine datingseite«
    Voodoo!

Alle bekloppt …