Category archive: Web-Development

Das Logo von Uberspace, vor einer Karikatur eines Asteroiden, um den eine Rakete kreist

Uberspace: Hosting on Asteroids

Anfang letzten Jahres bin ich durch Zufall auf Uberspace aufmerkam geworden. Einem Webhoster, der auf den ersten Blick zu gut erscheint, als dass er wirklich existieren könnte. Immerhin erfüllt Uberspace alle Gelüste eines Nerds wie mir, die ich mir bei einem Server auch nur halbwegs vorstellen kann und das zu einem Preis, den man selbst bestimmt.

Wie man sich also vorstellen kann war ich anfangs mehr als nur skeptisch wie und ob das Geschäftsmodell funktionieren kann. Und ob dann der Support nicht zu kurz kommt. Und ob die Server auch stabil sind? Und dauerhaft online? Und ob alles so funktioniert wie ich mir das vorstelle? Und überhaupt?

Ist Uberspace wirklich so gut?

Nachdem ich bereits mehrere Projekte auf den Servern von Uberspace laufen lasse und dementsprechend Erfahrungen mit dem Hoster sammeln konnte, kann ich das nur bejahen. Die Server sind ungewöhnlich stark für ein Shared-Hosting und man erhält 10 GB Speicher und 100 GB Traffic. Bei Bedarf und mit vorheriger Absprache auch mehr, ggf. gegen etwas höhere monatliche Gebühren. Was ebenfalls sehr sympathisch ist, ist die Tatsache, dass auf jeden Server nur so viele Kunden kommen wie der Server locker verkraften kann. Also nicht nach dem Motto „genau 500 Kunden pro Maschine“.

Man gelangt nur mit SSH oder SCP auf den Server, einen FTP-Zugang gibt es nicht. Auch keine sonstigen Administrations-Panels, abgesehen von phpMyAdmin. Allein diese Tatsache sorgt schon für eine gewisse Filterung der Kunden für Uberspace, da diejenigen ohne Unix-Kenntnisse direkt abgeschreckt werden. Auch Domains bietet Uberspace nur auf konkreten Wunsch hin an.

Eine Karikatur eines Servers auf einem Asteroiden

So stelle ich mir das vor. Perfekte Kühlung für die Server von Uberspace.

Was die Sicherheit angeht sind die Server auf dem neuesten Stand. Man kann lediglich in seinem eigenen Userverzeichnis arbeiten und Services, die nicht userabhängig konfiguriert werden können, werden nicht installiert. Trotzdem hat man alle Macht der Bash zur Verfügung und kann sogar eigene Services installieren, die dann nur von diesem Accout genutzt werden können. Der Apache läuft mit suEXEC, so dass auch hier kein ungewollter Zugriff auf die Daten anderer User erfolgen kann.

Wie bereits erwähnt bestimmt man selbst den Preis für seinen Uberspace. Anfangs dachte nicht nur ich, dass dieses Geschäftsmodell zum Scheitern verurteilt ist, aber inzwischen erkenne ich die Vorteile darin. Will man seinen Account aufgeben muss man lediglich aufhören zu bezahlen und schon wird er automatisch deaktiviert. Da diejenigen, die einen Account auf Uberspace nutzen, meist schon lange genug Erfahrungen mit Webhostern sammeln konnten, können diese auch gut abschätzen, welche monatlichen Kosten ein Projekt verursacht und stellen dementsprechend die Kostenschraube nach oben.

Der Support von Uberspace ist einmalig. Innerhalb weniger Minuten war mir bisher meist geholfen und das äußerst kompetent. Sehr schön ist, dass der Support auch über Twitter läuft. Hier sind die Reaktionszeiten nochmal besser. Um ganz ehrlich zu sein hatte ich bisher noch keinen Hoster, der so gezielt auf meine Fragen geantwortet hat und dabei noch freundlich war. Das „Du“ ist hier sehr angenehm. Dadurch fühlt man sich nicht wie ein weiteres Schaf in der großen Herde. Sehr umfangreich ist auch das Dokuwiki, welches die meisten Fragen schon im Vorfeld beantwortet.

Fazit

Uberspace ist der beste Webhoster, der mir bisher über den Weg gelaufen ist. Hier stimmt einfach alles. Die Leistung, der Support und natürlich der Preis. Wer also auf der Suche nach einem Wohnort für seine Projekte sucht, dem sei Uberspace ans Herz gelegt.

Digitale Zeichnung eines Aliens mit einer Energiewaffe hinter einem Felsen vor eine Horde Monster versteckt.

HTML ist tot, lang lebe HTML

Der Titel bezieht sich auf den Trend vor ein paar Jahren, als sich die Welt von HTML 4.01 abwandte und zu XHTML gewechselt ist. Doch nun geht der Wechsel wieder in die andere Richtung und somit wurde HTML wiederbelebt.

Auf der Klausurtagung meiner Firma im vor einiger Zeit hielt ich einen Vortrag zu diesem Thema, was bereits geht und was uns erwartet. Und genau diesen Vortrag will ich hiermit der Welt zur Verfügung stellen.

Ein mit Tautropfen übersätes Spinnennetz, welches zwischen diversen grünen Pflanzen hängt.

How many domains do you own?

Englischer Titel und deutscher Text. Ja, ich weiß, das ist seltsam und sollte so nicht sein. Doch wer weiß, vielleicht kann ich dadurch meine Umfrage etwas pushen und mehr Antworten erhalten, da schlichtweg weltweit jeder mit grundlegenden Englischkenntnissen daran teilnehmen kann.

Jeder Webworker hat eine Domain, ob genutzt oder nicht. Sogar Privatpersonen, die nur bedingt mit dem Internet arbeiten haben Domains. Und unter diesen Leuten gibt es natürlich auch welche, die mehrere Domains ihr Eigen nennen. Dazu gehöre beispielsweise auch ich. Momentan befinden sich allein in meinem Besitz neun Domains, die mir spontan einfallen. Ich habe aber garantiert welche vergessen, so dass ich auf über zehn Domains komme.

Doch jetzt genug von mir. Du bist dran. Sag mir wie viele Domains du dein Eigen nennst.

[twtpoll id=“6xhq4q“]

Eine alte, noch betriebsbereite Dampfmaschine auf einem Treffen für Liebhaber dieser Maschinen

Eine Engine sie zu knechten

Das Web entwickelt sich weiter. Websites werden immer mehr zu interaktiven Anwendungen, bei denen der Nutzer diverse Einstellungen tätigen oder mit anderen kommunizieren kann. Ein Browser jedoch stellt hier immer noch ein sehr großes Hindernis dar, nämlich der Internet Explorer 6. Nun ist es soweit und YouTube, eine der weltweit führenden Websites, stellt langsam die Unterstützung für dieses veraltete Stück Software ein.

Das ist ein großer Schritt und hoffentlich tun viele andere Websites es YouTube bald gleich, um diesem Browser endgültig den Garaus zu machen. Doch wie soll es danach weitergehen? HTML 5 kommt definitiv und die Browserhersteller entwickeln auch fleißig weiter, um das Internet mit jeder neuen Version noch besser zu machen.

Doch genau hier liegt, meines Erachtens nach, momentan das Problem. Jeder Hersteller bastelt fleißig weiter an seinen Engines. Mozilla an Gecko, Microsoft an Trident, Apple an WebKit, usw. Wäre es nicht viel schlauer, dass sich die großen Produzenten an einen großen runden Tisch setzen und die Gemeinsamkeiten in ihren Lösungen finden, diese evaluieren, konsolidieren und dann in die jeweiligen Browser einbauen?

Derzeit ist es zwar so, dass Websites in vielen Browsern nahezu gleich aussehen, doch noch immer gibt es, trotz der Unterstützung von Webstandards, diverse Unstimmigkeiten und ein Browser zeigt eine Seite etwas anders an als der vorherige. Man muss sich nur mal anschauen, wie unterschiedlich die Schriften z.B. im Internet Explorer und im Firefox gerendert werden. Oder aber man versucht ein paar Features von HTML 5 und/oder CSS 3 zu verwenden. Ein Browser kann es darstellen, der andere gar nicht und wieder ein anderer muss anders angesprochen werden.

Überall hier wäre es sehr hilfreich, wenn immer die gleiche Engine eingesetzt werden würde. Ich will damit nicht erreichen, dass die verschiedenen Browser vom Markt verschwinden und es nur noch einen einzigen gibt, der alles kann. Auf gar keinen Fall, denn das ist sehr wichtig. Ein Hersteller veröffentlicht ein neues Feature, der nächste übernimmt und verbessert es und wieder der nächste kann darauf verzichten, da es schlichtweg nicht zum Browser und dessen Ideologie passt.

Die Features der unterschiedlichen Browser sollen und müssen erhalten bleiben, aber ich denke, dass jeder Webdeveloper über eine gemeinsame Technik zum Rendern der Seiten extrem froh wäre. Es müssen keine besonderen Bugs mehr beachtet, keine speziellen Codes verwendet und keine Darstellungsprobleme mehr behoben werden. Durch die gemeinsame Engine könnte das Web um ein vielfaches standardisierter und die Entwicklung dafür enorm vereinfacht werden.

Was haltet ihr von dieser Idee? Wäre sowas zu schaffen oder sehr ihr Nachteile dabei? Ihr seid gerne dazu eingeladen einen Kommentar zu hinterlassen

Screenshot meines Lifestreams

maiksi.de – Mein Lifestream geht online

Seit heute ist mein neuestest Projekt online: maiksi.de, mein Lifestream. Ursprünglich ganz anders geplant, aber jetzt wesentlich besser und viel cooler.

Ursprünglich wollte ich meinen Lifestream mit Sweetcron umsetzen, einem wirklich schönen Stück Software, welches per Cronjob alle gepflegten Feeds einliest und chronologisch alle darin enthaltenen Artikel auflistet. Doch so sehr ich es auch versucht habe wollte kein anständiges Design dabei herauskommen.

Doch gestern kam mir die glorreiche Idee eines meiner alten Designs als Grundlage zu verwenden und damit mein Feed fressendes Monster selbst zu programmieren. Das Basisdesign war ja schon da, ich musste es nur noch an den neuen Einsatzzweck anpassen, weshalb die Entwicklung auch sehr schnell vonstatten gehen konnte.

Technik

Dass diese Website auf PHP basiert, brauche ich wohl niemandem zu erzählen, immerhin ist diese Sprache mein Steckenpferd. Doch dazu wollte ich anfangs noch HTML 5 verwenden, habe es aber sein lassen, da wirklich nahezu kein Browser das unterstützt, was ich nutzen wollte. Also bin ich beim guten alten XHTML geblieben. Abgesehen davon ist noch jQuery auf der Clientseite und Magpie RSS auf der Serverseite im Einsatz.

Wird die Seite aufgerufen wird für jede gelistete Website ein AJAX-Request abgesetzt, der mir im JSON-Format ein paar Basisdaten und die letzten 5 Einträge im Feed mitsamt URL und Titel zurückgibt. Aus diesen Daten werden kleine Fenster gebaut, die beim Klick auf den Titel einer Seite angezeigt werden und mittels jQuery UI verschoben werden können.

Antrieb

Als Internetjunkie bin ich nahezu den ganzen Tag im Netz unterwegs und hinterlasse hier und dort diverse Spuren. Mit einem Lifestream können diese Aktivitäten gesammelt und aggregiert werden. Da die Umsetzung mit Sweetcron jedoch nichts werden wollte habe ich einen neuen Antrieb gefunden, nämlich einen Lifestream zu schaffen, der ganz anders als alle anderen zuvor ist.

Ich denke, dass mir das mit dem schlichten Design und der interaktiven Umsetzung durchaus gelungen ist. Mittels eines kurzen Klicks ist man über jede meiner Aktivitäten informiert und deswegen ist auch der Name maiksi perfekt. Dieses Wort stammt aus der Sprache Tagalog und bedeutet „kurz“.

Und jetzt hoffe ich mal, dass euch diese Seite ebenso gut gefällt wie mir und bin gespannt auf Feedback

Ein Schild neen einer Straße mit der Aufscrhift Cache County.

WP Super Cache

Das WP Super Cache-Plugin von Donncha O Caoimh basiert auf dem Plugin WP-Cache von Ricardo Galli Granada. Letzteres ist schon eine sehr ausgereifte Erweiterung für WordPress, welche die Ladezeiten eines Blogs enorm beschleunigen kann. Doch das war Donncha O Caoimh noch nicht genug, da er es noch weiter optimiert hat.

Was bringt mir Caching?

Im Normalfall werden, wenn eine Seite eines Blogs aufgerufen wird ein paar wenige bis zu dutzende Datenbankanfragen produziert. Schafft man es diese wegfallen zu lassen kann eine Website sehr viel schneller generiert und ausgeliefert werden. Das hat dann nicht nur den Effekt des Geschwindigkeitsvorteils, sondern entlastet auch den Server, da weniger oft auf die Datenbank zugegriffen werden muss.

Will man dann noch weiter optimieren kann man versuchen die von WordPress gerenderten Seiten statisch zu cachen, was eine Seite nochmals enorm beschleunigt, da im Bestfall nicht einmal mehr PHP zur Auslieferung benötigt wird. Und das ist genau der Punkt an dem das von mir installierte Plugin zum Zuge kommt.

Was macht das Plugin?

Das WP-Cache-Plugin Versucht alle Seiten eines Blogs statisch zu speichern, so dass die Datenbankabfragen und auch einiges an Code nicht ausgeführt werden müssen. Dazu prüft es nach einer sehr kurzen Zeit ob die angeforderte Seite bereits gecached wurde und liefert dann diese Version davon aus. Jedoch werden hier noch diverse Dinge von PHP erledigt, was zwar zu einer verbesserten Serverlast und Ladezeit führt, aber noch nicht das Maximum des Möglichen ausreizt.

Hier setzt schließlich das Plugin WP Super Cache ein und speichert die generierten Seiten komplett statisch in einem Ordner ab. Dabei bildet es die Permalink-Struktur des Blogs nach. Eine paar Zeilen zusätzlicher Code in der .htaccess-Datei sorgen dann dafür, dass für eine URL die statische Datei ausgeliefert wird. Somit hat der Server nahezu keine Last mehr, da selbst PHP nicht mehr benötigt wird. Und schon hat man ein sehr schnelles Blog.

Vorteile und Nachteile

Der Vorteil dieses Plugins liegt klar auf der Hand. Der Server wird enorm entlastet und der Besucher bekommt die Seite schneller zu sehen. Ich denke soviel ist inzwischen klar geworden.

Aber natürlich gibt es auch Nachteile. Dynamische Anzeigen, z.B. die letzten Kommentare in der Sidebar oder auch mein letzter Tweet im Header, werden statisch gespeichert. Dadurch kann es zu Verzögerungen in der Anzeige kommen, je nachdem wann die statische Datei das letzte mal generiert wurde. Abgesehen davon gibt es auch ein paar Plugins, die nicht kompatibel zu diesem sind, aber das ist eine Minderheit.

Fazit

Nach der Installation war ich zuerst noch etwas skeptisch, bin inzwischen aber von diesem Plugin überzeugt. Es verrichtet seine Arbeit gut und die Ladezeiten haben sich gewaltig verkürzen lassen. Um welchen Faktor genau kann ich momentan noch nicht sagen, da ich das erst nächste Woche erfahre, wenn ich meinen Statusreport zur Uptime erhalte. Alles in allem ist diese Erweiterung jedoch sehr empfehlenswert.

Foto von vielen bunten Süßigkeiten

ColorBox

Und wieder bin ich bei der Entwicklung meines bereits zuvor erwähnten Projekts über etwas interessantes gestoßen.

Diesmal ist es ein noch sehr junges jQuery-Plugin: ColorBox. Jung deswegen, da die erste Version erst am 3. März diesen Jahres veröffentlicht wurde, also vor noch nicht mal zwei Wochen.

ColorBox ist ein weiterer Lightbox-Klon, der allerdings neben Bildern auch Inline-Content und andere Seiten anzeigen kann.

Continue reading

Ein Musiker, der auf der Toilette E-Gitarre spielt

jQuery macht Dich zum Rockstar

Passend zum Redesign der Website von jQuery kommt heute die Überschrift für diesen Beitrag. Leider hat der Claim auf der Startseite nicht einmal 24 Stunden überlebt, in dem es hieß „Be a Javascript Rock Star“. Bewundern kann man ihn aber noch, nämlich im offiziellen Blog.

Nun aber zum eigentlichen Thema. Ich arbeite momentan, wieder einmal, an einem Redesign dieses Blogs. Und im Zuge dessen habe ich mich dazu entschieden mal mit jQuery zu experimentieren und zu schauen, ob dieses Framework wirklich so mächtig ist wie von manchen behauptet wird.

Continue reading

Foto eines augestreckten Mittelfingers, der auf eine Website zeigt, die einen Datenbankfehler ausgibt.

Die besten Webhoster für WordPress

Die besten Webhoster für WordPress. So lautet eine Umfrage drüben im WordPress Magazin, zu der ich mit dieser Rezension eine Antwort geben will. Gewinnen kann man dabei auch etwas. Drei Bücher von Perun werden unter allen Teilnehmern verlost.

Logo von WebsoteOne

Das Logo von WebhostOne

Bei der Planung dieses Blogs war ich natürlich, wie viele andere auch, auf der Suche nach einem Hoster, der mir die Features bietet, die ich haben will und noch in einem halbwegs günstigen Rahmen liegt.

Continue reading