tiny little gizmos

Ganz was Neues: Zeitungen auf dem Computer (1981!)

Es kann wirklich niemand guten Gewissens sagen, er hätte die heutige Situation auf dem Zeitungsmarkt nicht kommen sehen, ohne gleichzeitig zuzugeben, fast 30 Jahre im geistigen Tiefschlaf gelegen zu haben. Hier ist der Beweis: Eine Reportage aus dem Jahr 1981 über ein Experiment des San Francisco Examiner.

Im direkten Vergleich die heutige Website des SF Examiner.

PHP Applikationen entwickeln – das Entwicklungssystem einrichten

In dieser Folge der Reihe “PHP Applikationen entwickeln” beschäftigen wir uns damit, wie das Entwicklungsystem auf unserem Rechner eingerichtet wird. Zunächst besorgen wir uns die im letzten Artikel beschriebenen Werkzeuge und installieren sie. Das XAMPP-Paket sollte hierbei in das Wurzelverzeichnis installiert werden (also c:\xampp wie vom Installer vorgeschlagen). Alle anderen Pakete gehören ganz normal in das Programme-Verzeichnis. Das beschriebene Procedere gilt für Windows Rechner, ist aber auf Apple OS X oder Linux prinzipiell ähnlich.

Den Server installieren und einrichten
Die Installation ist denkbar einfach: Das Paket mit dem Installer herunterladen und starten. Nun ist eine lauffähige Installation auf dem eigenen Rechner vorhanden. Wenn man das Controlpanel öffnet lassen sich die Server einzeln starten und stoppen. Zuvor sollte man sich noch versichern, daß Skype nicht läuft, weil sonst der Port 80 für HTTP bereits blockiert ist. Starten wir nun den Webserver und den Datenbankserver.

XAMPP Control Panel

Das XAMPP Control Panel

Beim ersten Start erscheint ein Popup mit der Frage, ob die Firewall MySQL und Apache blockieren soll. Die Firewall soll natürlich entsprechende Anfragen niemals blockieren.

Wenn nun im Controlpanel für Apache und MySQL ‘running’ angezeigt wird, läuft unser Entwicklungsserver bereits. Davon können wir uns ganz einfach überzeugen, indem wir den Browser öffnen und in der Adresszeile http://localhost eingeben. Localhost ist immer der eigene Rechner. Der Computer fragt also sozusagen sich selbst, ob er eine Website anbietet. Der Browser sollte nun die folgende Seite anzeigen:

XAMPP Startseite

XAMPP Startseite

Der Webserver funktioniert. Nun müssen wir ihn noch ein wenig an unsere Bedürfnisse anpassen.

PHP Einstellungen
Die PHP Einstellungen stehen in der Datei c:\xampp\apache\bin\php.ini. Grundsätzlich sind die voreingestellten Werte für ein Entwicklungssystem bereits sehr gut geeignet. Ich möchte jedoch einige Erweiterungen aktivieren, die im Grundzustand deaktiviert sind, z.B. CURL. Dazu öffne ich die Datei und suche nach extension=php_curl.dll. Zum Aktivieren dieser Erweiterung muß das Semikolon am Zeilenanfang entfernt werden. Dasselbe mache ich mit extension=php_json.dll. Die Änderungen werden nach den Neustart des Webservers übernommen.

Projekte sauber trennen mit VHosts
Schnell kommt man an den Punkt, an dem man mehr als ein Projekt auf dem Rechner hat. Wir benötigen noch ein paar Änderungen, um verschiedene Projekte auf dem eigenen Entwicklungssystem unabhängig voneinander lauffähig zu halten – am Besten unter ihrem jeweiligen Namen. Wenn ich also am Projekt ‘Homepage’ entwickele, möchte ich das im Browser auch unter http://homepage aufrufen können. Dazu muss man dem Computer zunächst beibringen, daß er selbst gemeint ist, wenn der Browser (oder ein anderes Programm) nach dem Rechner namens ‘homepage’ fragt.

Dazu müssen wir die Datei hosts etwas erweitern, in der der Computer immer zuerst nachsieht, wenn er wissen will, welcher Rechner (besser gesagt: welche IP Adresse) sich hinter einem Namen verbirgt. Bei Unix-Systemen (also auch Linux und Mac OS X) ist diese Datei /etc/hosts. Bei Windows ist das c:\windows\system32\drivers\etc\hosts. Öffnen wir nun also diese Datei mit einem einfachen Texteditor. Vermutlich ist der einzige Eintrag, der unter den Kommentaren steht, der folgende:

127.0.0.1        localhost

Am Anfang eines Eintrags steht die IP-Adresse und dahinter der dazugehörige Hostname.
Die Zahlenfolge 127.0.0.1 ist die IP-Adresse des sogenannten loopback-devices. Jede Anfrage an diese IP-Adresse geht immer an den eigenen Rechner, egal wieviele andere Rechner noch im Netz sind. Danach folgt der Hostname ‘localhost’. Jede Anfrage an localhost wird also aufgrund dieses Eintrags an den eigenen Rechner gestellt. Wenn wir nun möchten, daß auch der Aufruf des Rechners mit den Namen ‘homepage’ an den eigenen Rechner gestellt wird, müssen wir diese Datei erweitern. Dazu fügen wir die folgende Zeile hinzu und speichern die Datei.

127.0.0.1        homepage

Wenn wir nun im Browser http://homepage eingeben, sehen wir die bereits bekannte Startseite von XAMPP.

Nun müssen wir noch dem Apache beibringen, daß ein Aufruf mit diesem Namen andere Inhalte liefern soll. Dazu müssen wir namensbasierte virtuelle Hosts einrichten. Dazu öffnen wir die Datei c:\xampp\apache\conf\extra\httpd-vhosts.conf.
Zuerst werden die Kommentarzeichen vor dem Eintrag NameVirtualHost \*:80 entfernt.
Nun wird am Ende der Datei der folgende Eintrag gemacht:

ServerAdmin webmaster@localhost
DocumentRoot /xampp/htdocs/
ServerName localhost

Dadurch bleibt der bisherige localhost auch mit weiteren Vhosts weiterhin ansprechbar. Jetzt machen wir den Eintrag für unser Projekt ‘Homepage’:

ServerAdmin webmaster@localhost
DocumentRoot /xampp/htdocs/homepage/htdocs/
ServerName homepage
ErrorLog /xampp/htdocs/homepage/logs/error.log
CustomLog /xampp/htdocs/homepage/logs/access.log common

Bevor der Webserver neu gestartet wird, müssen die Verzeichnisse für den Vhost angelegt werden, weil sonst der Neustart mit einem Fehler abgebrochen wird. Zunächst also der Projektordner c:\xampp\htdocs\homepage\ und in diesem dann die beiden Unterverzeichnisse htdocs\ und logs\.

Das Vorgehen um weitere Vhosts anzulegen ist entsprechend.

Sprechende URLs
Um das ‘verbiegen’ oder umschreiben, von URLs zu ermöglichen, wie es heutzutage viele Webanwendungen voraussetzen, öffnen wir die Datei c:\xampp\apache\conf\httpd.conf und suchen die folgende Zeile:

LoadModule rewrite_module modules/mod_rewrite.so

Die Zeile darf nicht auskommentiert sein, damit das Modul mod_rewrite geladen wird. Jetzt müssen wir noch dafür sorgen, daß die Rewrite-Regeln in einer .htaccess Datei geändert werden können. Dafür suchen wir im Abschnitt ‘Main Server Configuration’ die Default-Einstellungen, die mit beginnen. In dem Abschnitt ändern wir nun AllowOverride None in AllowOverride All.

Den Editor einrichten
Das eclipse-Archiv entpacken wir an eine sinnvolle Stelle (z.B. nach c:\Programme\eclipse\) und starten das Programm. Den Workspace legen wir nach c:\xampp\htdocs\ – also das webroot-Verzeichnis unseres lokalen Webservers. Dort werden nun die einzelnen Projekte angelegt. Jetzt legen wir ein neues PHP-Projekt mit dem Namen ‘homepage’ an. Eclipse nutzt das bereits vorhandene Verzeichnis c:\xampp\htdocs\homepage\ und legt dort einige Projektdateien an.

Feintuning
Der Übersicht halber benenne ich die Datei c:\xampp\htdocs\index.php in index_old.php um und erzeuge eine einfache index.html mit allen Links zu den lokalen Ressourcen (Projekte, Tools und Dokumentation). So habe ich mit einem einfachen http://localhost immer die aktuelle Übersicht.

Nun ist die lokale Arbeitsumgebung eingerichtet und die Projektarbeit kann beginnen.

Bisherige Folgen:
1. PHP Applikationen entwickeln
2. PHP Applikationen entwickeln – Werkzeuge

MBC09 – Tag zwei

Der zweite Tag der mbc09 ist für mich nun auch vorbei. Ich schreibe diesen Artikel während ich wieder im ICE nach Berlin sitze. Die Veranstaltung war klasse. Das Catering ebenso. Großes Lob an den Organisator Cem Basmann.
Hier ist eine Zusammenfassung des heutigen Tages:

Journalismus und Twitter
Im heutigen Eröffnungspanel zeigten sich Zeitungsmenschen hin- und hergerissen zwischen dem Zwang zur Geschwindigkeit und der Notwendigkeit zu journalistischer Recherche. Durchaus interessant, auch wenn man selber wenig mit der Branche zu tun hat. Der Kommentar auf der Twitterwand (sinngemäß) “…das Problem ist, daß sich die Zeitungsleute immer noch als Gatekeeper verstehen – das sind sie aber nicht mehr” greift meines Erachtens nach zu kurz. Gatekeeper sind sie vielleicht nicht mehr, aber ich denke, daß es dennoch weiterhin wichtige Gründe für Journalismus gibt.

Spam
Sehr interessant fand ich auch eine Session zum Thema Twitter-Spam. In meinen Augen schien das Thema nicht so richtig wichtig zu sein, aber das Panel begann mit der Vorstellung einer Twitter-Spam-Aktion, die von dem Vortragenden kürzlich zu Demonstrationszwecken durchgeführt wurde: Der virtuelle MdB Jacob Mierscheidt, der mir vor Tagen angebeblich auch auf twitter folgte. Ich fands ja eher lustig. Die Frage, ob man das wirklich noch als Spam werten kann, ist aber nachrangig, weil mit dieser Methode natürlich erfolgreich Aufmerksamkeit erzeugt wurde. E-Mail Spam hatte mich ganz zu Beginn auch nicht sehr gestört.

Spielzeuge
Lustig war die “Mobile Gadget Show” im ersten Stock, die Nicole Simon initiierte. Ein Netbook war da noch das größte und klobigste Gerät. An diese UMPC Klötzchen glaube ich aber nicht so recht. Damit sitzt man m.E. zwischen den Stühlen. Sie sind wesentlich unhandlicher als ein Smartphone, laufen meist mit Windows, was wiederum bedeutet, daß die Software mit Tastatur und Maus bedient werden will. Genau dafür sind die Teile dann aber wieder zu klein.

Wo ist die Kohle?
Etwas später sammelte der bekannte Herr mit dem roten Iro eine Schaar Menschen mit der Frage “Wie kann man Microblogging monetarisieren?” um sich. Ich hatte wenig Lust, mich mit in die Besenkammer die Sprinklerzentrale den kleinen Konferenzraum zu quetschen.

Mehr Idealismus
Stattdessen habe ich ein interessantes Gespräch mit Evan Prodromou, dem Entwickler von laconi.ca/identi.ca zum Thema Open-Source Microbloggingsysteme geführt. Wir waren uns beide darin einig, daß es – zumindest zur Zeit – noch keinen Markt für viele unterschiedliche Systeme gibt, sondern daß es in erster Linie darum geht, eine freie Alternative zu twitter zu etablieren. Das Ziel ist “so etwas wie WordPress” für Microblogging zu entwickeln.

Laconi.ca hat da schon mächtig was auf dem Kasten, wobei ich für mich selbst immer noch wichtige Features vermisse. Als ich Evan dann die Features von zzap gezeigt habe, meinte er, “wow, this looks really advanced”.

Cool – das geht runter Öl.

Mal sehen, vielleicht ist da ja irgend eine Zusammenarbeit möglich. Dann wäre meine Arbeit der letzten Jahre wenigstens nicht völlig umsonst gewesen. Beiderseitiges Interesse schien jedenfalls vorhanden zu sein.

Alleine das war für mich Reise wert. Aber ich habe auch wichtige Anregungen für den Einsatz von Microblogging gehört. Wichtig ist die Erkenntnis, daß Microblogging im kommerziellen Einsatz vor allem in zwei Bereichen sinnvoll zu sein scheint:

  • In der internen Kommunikation als Ergänzung zu Wikis und sonstigen Knowledge Management Tools.
  • In der Aussenkommunikation vor allem als Medium zum Zuhören (“Märkte sind Gespräche”) und gezielten Antworten.

So und jetzt hör ich mal auf zu schreiben und genieße den Rest vom Wochenende.

MBC09 – Der erste Tag

Der erste Tag der MBC09 ist nun vorbei. Nach einem leckeren Abendessen und einer angeregten Unterhaltung sitze ich in der Wohnung von einem Freund und habe etwas Muße, den Tag noch einmal Revue passieren zu lassen.

Nach einem eher verhaltenen Start gewann die Veranstaltung im Laufe des Tages deutlich an Schwung. Die Anzahl der Teilnehmer (ca. 200) stellt sich als goldrichtig heraus. Es sind viele Teilnehmer mit unterschiedliche Interessen und Sichtweisen vertreten, und es ist überschaubar genug, daß man wirklich zwanglos interessante Gespräche führen kann.

In meinen Augen erwähnenswert war die Produktvorstellung von Communote. Das Tool sprengt zwar einerseits recht deutlich den Rahmen von Microblogging, andererseits ist es mehr als einen Blick wert, wenn man sich mit Fragen von Knowledge Management in Firmen beschäftigt.

Von dem Vortrag von bleeper.de hatte ich mir eigentlich nichts versprochen. Es ist eine Firma in Deutschland, die einen Microbloggingdienst auf der Basis der Open Source Microbloggingsoftware laconi.ca anbietet. Es war jedoch insofern nicht uninteressant, als sowohl die technischen, als auch die Marketing Herausforderungen beim Start eines solchen Dienstes erwähnt wurden. Auch das anschließende Gespräch in kleinem Rahmen, an dem auch ein Entwickler von Seesmic und der Business Development Managerin von Twingly war recht inspirierend.

Zu einer etwas anderen Sichtweise auf Microblogging verleitete der Vortrag “The power of weak ties”. Viele Leute fragen sich genau wie ich, warum man (auf Twitter, oder generell) Leuten zuhören sollte, die man nicht gut kennt. Die etwas uncharmante Antwort lautet: Weil Freunde langweilig sind – in dem Sinne, daß man ungefähr weiss, wie sie ticken. Anregungen und Neues erfährt man eher von entfernten Bekannten. So hat sich herausgestellt, daß 4/5 aller Jobempfehlungen nicht etwa von guten Freunden, sondern von entfernten Bekannten kommen.

Nebenbei wurde von t-mobile übrigens das Android-Telefon demonstriert. Mein oberflächlicher Eindruck: Von der gebotenen Leistung scheint es mir mit gehobenen Serie60-Handies von Nokia vergleichbar zu sein. Von der Effizienz der Bedienung kommt es aber nicht an die wirklich smarte Oberfläche des iPhone heran – welches hier übrigens geschätzte 80% der Teilnehmer zu nutzen scheinen.

Gut war auch das abschliessende Panel, das von Don Dahlmann moderiert wurde. Die Teilnehmer Evan Prodromou (laconi.ca/identi.ca), Nico Lumma (seit kurzem bei Scholz & Friends) und Marco Kaiser (twhirl/seesmic) beschäftigten sich mit Ausblicken in die Zukunft von Microblogging.

Wie versprochen, gibt es auch einige Bilder von heute:

Lichthof

Die beeindruckende Kulisse

Equipment vom Tagesschau Team

Equipment vom Tagesschau Team

Leckeres Buffet

Im Vordergrund: Leckeres Buffet. Im Hintergrund: Sascha Lobo

MBC09 – Erste Eindrücke von der Microblogging Conference

Heute ist der erste Tag der MBC09 in Hamburg. Zeit, um zwischen zwei Sessions mal eben die ersten Eindrücke zu beschreiben. Die Konferenz findet im beeindruckenden Foyer der Staatsbibliothek statt. Die Akustik ist so-lala. Die Vorträge fingen eher lau an, das Niveau scheint aber jetzt deutlich besser zu werden. Es gibt genügend Gelegenheiten zu interessanten Gesprächen.

Microblogging scheint sich langsam zu emanzipieren. Hier geht es längst nicht mehr nur um Twitter, auch wenn die Meisten diesen Dienst nutzen. Aber auch laconi.ca, open microblogging und Enterprise Microblogging scheinen heisse Themen zu sein. mbc09 ist zur Zeit der zweitmeist genutzte Hashtag auf twitter und es gibt einen Beitrag in der Tagesschau – wow!

Das Buffet war übrigens überraschend lecker. Respekt! Das hätte ich bei dem moderaten Eintrittspreis gar nicht zu hoffen gewagt.

Mehr Details und Fotos gibt es dann später. Ich konzentriere mich jetzt erstmal auf den nächsten Vortrag. Etwas soziologisches. Kann ja nicht schaden ;-)

PHP Applikationen entwickeln – Werkzeuge

Die Frage, wie eine vernünftige Entwicklungsumgebung einzurichten ist kommt einem Religionsstreit gleich. Jeder hat da so seine eigenen Ansichten und Vorlieben. Passend zum Jahresbeginn richtete ich mir ein PHP Entwicklungssystem neu ein. Ich möchte nicht nur erläutern was ich dabei gemacht habe, sondern vor allem auch warum ich es genau so gemacht habe.
Grundsätzlich mag ich Standards – bei Vorgehensweisen, Tools und Coding. Einige meiner Leser sind ja selber gestandene Entwickler und sehen das Eine oder Andere vielleicht anders, aber möglicherweise kann der Artikel den weniger Erfahrenen Anregungen geben.

Der komplette Entwicklungsprozess

Bevor man sich eine Entwicklungsumgebung einrichtet, sollte man sich darüber im Klaren sein, wie der komplette Entwicklungsprozess der PHP Anwendungen aussehen soll. Die eigene Entwicklungsumgebung soll sich natürlich möglichst nahtlos einfügen und den Prozess optimal unterstützen. Das folgende, dreistufige Grundprinzip hat sich bewährt:

Dev -> Stage -> Live

Das Livesystem – also das eigentliche Ziel – wird genau so eingerichtet, wie es zum Betrieb notwendig ist. Das Stagingsystem für die finale Qualitätssicherung und Abnahme durch den Kunden ist nicht öffentlich zugänglich, aber ansonsten identisch eingerichtet.

Die eigentliche Entwicklung findet dezentral auf den lokalen Rechnern der Programmierer statt. So ist gewährleistet, daß sich die Entwickler nicht mit den laufenden Änderungen gegenseitig in die Quere kommen. Die Zusammenführung des Codes findet über das Versionskontrollsystem statt. Zu beachten ist, daß sich alle Programmierer auf gemeinsame Standards zu Codingstyle und Benamung von Klassen, Methoden und Variablen einigen.

Im Folgenden betrachte ich ausschließlich die lokalen Entwicklungssysteme und klammere die Frage nach Live und Stagingserver aus, um den Umfang des Artikels nicht völlig zu sprengen.

Werkzeuge

Als Betriebssystem verwende ich Windows XP. Unter Mac OS oder Linux ist das Setup aber ähnlich. In der Tat habe ich auch meinen Apple vergleichbar eingerichtet. Ich nutze ausschließlich Open-Source Werkzeuge, von denen der größte Teil auf allen wichtigen Betriebssystemen laufen. Es werden folgende Werkzeuge benötigt:

  • Die Serverumgebung
    Die Basis eines PHP Entwicklungssystems ist natürlich der Webserver mit PHP. Meistens gehört auch eine Datenbank dazu. Im Regelfall wird man zur Kombination aus Apache Webserver, PHP und MySQL greifen, obwohl aus besonderen Gründen natürlich auch andere Kombinationen, wie z.B. LightHTTPD, PHP und PostgreSQL sinnvoll sein können. Für ersteres spricht, daß es eine Standardkombination bei fast allen Hostern ist und es einfache, vorkonfigurierte Pakete für Windows, Mac und Linux gibt. Für mich hat sich der Einsatz von XAMPP bewährt. Es enthält so ziemlich alles, was man auf einem Webserver so alles brauchen kann. So sind z.B. in der Windows Version auch PERL, ein FTP- und ein Mailserver enthalten. Ebenso weitere Tools wie PHPMyAdmin, Webalizer und eAccelrator. Neben der einfachen Installation war für mich auch wichtig, daß sich alles ebenso einfach wieder entfernen lässt. Das Paket ist hier zu bekommen:
    http://www.apachefriends.org/de/xampp.html
  • Webbrowser mit Entwicklerunterstützung
    Um Websites und Webanwendungen entwickeln zu können, benötigt man auf jeden Fall auch einen bunten Strauß an verschiedenen Webbrowsern. Ein absolutes Muß ist der Mozilla Firefox, weil er für alle wichtigen Betriebssysteme verfügbar ist, einen recht hohen Marktanteil hat, sich im Gegensatz zum Internet Explorer recht standardkonform verhält und einige wichtige Erweiterungen existieren, die das Entwicklerleben vereinfachen. Ich habe mindestens den HTML-Validator von Marc Gueury, die Web Developer Toolbar und Firebug installiert. Zusätzliche Browser zum Testen können natürlich auch nicht schaden. Firefox ist hier erhältlich:
    http://www.mozilla.com
  • Editor zu Codeeingabe
    PHP-Skripte kann man prinzipiell mit jedem beliebigen Texteditor entwickeln, der reinen Text in ASCII und UTF-8 Codierung speichern kann. Für mittlere und größere Projekte nutze ich aber gerne eine IDE, die Komfortfunktionen, wie Projektverwaltung, Code-Vervollständigung, Autoformat und Weiteres bietet. Richtig toll ist es zum Beispiel, wenn man seinen Code vernünftig kommentiert und die IDE beim Schreiben eines Funktionsaufrufs automatisch die Parameter mit Erläuterung bereithält. Der einzige Nachteil ist, daß man mit einer IDE nicht ‘mal eben’ eine einzelne Datei bearbeiten kann, die nicht im Projektkontext steht. Also benötigt man einen einfachen Editor (z.B. Notepad++ oder UltraEdit) für kleine schnelle Änderungen und eine IDE für das Projekt.Mittlerweile bin ich ein richtiger Fan von Eclipse geworden. Eclipse läuft auf allen wichtigen Betriebssystemen, ist mächtig, erweiterbar und kostenlos. Es wurde zwar ursprünglich für die JAVA-Entwicklung programmiert, aber mittlerweile gibt es eine gut an PHP angepasste Version. Diese ist hier zu bekommen:

    http://www.eclipse.org/pdt/


    http://notepad-plus.sourceforge.net/de/site.htm
  • Versionskontrolle
    Als Versionskontrollsystem bietet sich Subversion an. Hier soll es nicht darum gehen, wie man sich einen Server und ein Repository anlegt. Falls man ein Open Source Projekt beginnt, kann man sich ein entsprechendes Repository z.B. bei Sourceforge oder Freshmeat anlegen. Man benötigt auf seinem Entwicklungssystem jedoch noch einen entsprechenden Client um auf das Repository zugreifen zu können. Es gibt entsprechende Plugins für Eclipse. Auf Windows-Maschinen verwende ich jedoch lieber TortoiseSVN, das sich als Erweiterung in den Dateiexplorer integriert. Somit kann ich Subversion auch ausserhalb meiner PHP Projekte verwenden. Tortoise SVN gibt es hier:

    http://tortoisesvn.tigris.org
  • Grafikwerkzeuge
    Ein Grafikprogramm sollte man immer zur Hand haben. Sei es, um Fotos anzupassen, Hintergrundgrafiken zu bearbeiten oder Icons zu erstellen. Man muss dazu nicht unbedingt die teuren Werkzeuge Photoshop und Illustrator aus dem Hause Adobe nutzen. Ich benutze seit Jahren gerne das wesentlich günstigere PainShopPro. Es sind natürlich auch gute Open-Source-Werkzeuge, wie GIMP für Bildbearbeitung und Inkscape für Vektorgrafiken erhältlich.
    http://www.gimp.org
    http://www.inkscape.org
  • Serverzugriff
    Nun benötigen wir noch zwei kleinere Programme um unsere Projektdateien auch auf den Staging- und den Liveserver übertragen zu können und dort ggf. kleinere Anpassungen vornehmen zu können. Zur Übertragung von Dateien nutze ich WinSCP, das sowohl das normale FTP, als auch das verschlüsselte SCP beherrscht. Um den Server auf der Kommandozeile steuern zu können nutze ich das bewährte PuTTY, das sowohl telnet als auch verschlüsselte SSH-Verbindungen ermöglicht.
    http://winscp.net/eng/docs/lang:de
    http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
  • Dokumentation
    Um das eigene Entwicklungssystem zu vervollständigen, ist es sinnvoll, die Dokumentation griffbereit zu haben, falls man schnell mal etwas nachsehen will und gerade nicht online ist. Ich habe mindestens die folgende Dokumentation auf dem Rechner:
    SelfHTML, nicht mehr ganz frisch, aber immer noch sehr nützlich für Fragen zu XHTML, CSS und Javascript.
    http://aktuell.de.selfhtml.org/extras/download.shtml
    http://www.php.net/download-docs.php
    http://dev.mysql.com/doc/#refman

Die wichtigsten Werkzeuge zur Entwicklung von Webanwendungen haben wir nun zusammen. Je nach Projekt kommen natürlich noch weitere dazu, auf die ich hier aber nicht weiter eingehen möchte. In der nächsten Folge wird es darum gehen, wie man die Software einrichtet um mehrere Projekte nebeneinander bearbeiten zu können.


Bisherige Folgen:
1. PHP Applikationen entwickeln

PHP Applikationen entwickeln

In letzter Zeit waren meine Artikel in diesem Blog überwiegend persönlicher, wirtschaftlicher oder politischer Natur. Ursprünglich sollte dieser Blog aber einen eher technischen Schwerpunkt haben. Daher ist es an der Zeit, wieder ein bischen aus dem Nähkästchen zu plaudern. Zur Zeit verdiene ich meine Brötchen mit der Entwicklung von Webapplikationen in PHP. Daher ist es naheliegend und durchaus sinnvoll, wenn ich mit einigen Artikeln einen kleinen Einblick in meine persönlichen Präferenzen zu diesem Thema gebe.

Man kann mit PHP genausogut kleine, nützliche Skripte, aber auch großen Dienste, wie Flickr bauen. PHP ist toll, weil man schnell Ergebnisse erzielen kann und alle Freiräume hat. Genau deshalb ist PHP aber auch ein Alptraum. Man kann auch ohne große Vorkenntnisse eben schnell mal was zusammenpfriemeln. Daher gibt es so viele unsichere und schlecht zu pflegende Software in PHP.

Weil es eine Million mögliche Wege gibt, wie man ein Problem lösen kann, hat auch jeder erfahrene PHP-Entwickler seine eigenen Methoden und Techniken entwickelt. Daher ist es mitunter recht schwierig, ein gut harmonierendes Entwicklerteam zusammenzustellen.

Dies ist der erste Artikel einer kleinen Serie an deren Ende ein eigenes Framework für eigene Webapplikationen stehen wird. Ich bin mir natürlich durchaus darüber im Klaren, daß man vieles erheblich anders bewerten und auch sehr deutlich anders machen kann. Meine Meinung ist jedoch nicht aus der Luft gegriffen, sondern basiert auf Erfahrungen, die ich mir bei verschiedensten Web-Projekten in den letzten 14 Jahren erarbeitet habe. Am besten versteht der geneigte Leser das Folgende als Anregung oder Diskussionsbeitrag.

Beginnen werde ich im nächsten Artikel mit den Grundlagen: Dem Einrichten einer PHP Entwicklungsumgebung.

Perfektes Winterwochenende

Klirrend kalt und sonniger, wolkenloser Himmel. Perfektes Wetter für einen Sonntagnachmittagsspaziergang. Der ursprüngliche Plan, an den Summter See zu fahren erwies sich leider als nicht durchführbar. Summt und Umgebung war völlig zugeparkt, weil halb Berlin zum Schlittschuhlaufen hierhergekommen war. Es folgte eine Fahrt durch den Wintermärchenwald nach Lehnitz bei Oranienburg.

Selbst die Fahrrinne des Oder-Havel-Kanals, der mitten durch den Lehnitzsee führt war zugefroren. Hier sind ein paar schöne Bilder.

Lehnitz, Oder-Havel-Kanal

Lehnitz, Oder-Havel-Kanal

Lehnitzsee - Wintervergnügen am Strandbad

Lehnitzsee - Wintervergnügen am Strandbad

Lehnitzsee

Lehnitzsee

500! …und zzap umsonst für alle!

Heute feiere ich ein kleines Jubiläum: meinen 500. Blogartikel. WOW! Das hätte ich mir nicht träumen lassen, als ich Mitte 2006 mit dem Bloggen angefangen habe. Eigentlich wollte ich damals nur ein paar Freunde und Komilitonen auf dem Laufenden halten, während ich meine Diplomarbeit vorbereitet habe. Es sollte “irgendwas mit Handies oder so” werden. Daher auch der Untertitel “tiny little gizmos”. Wir sind doch alle in unsere kleinen elektronischen Spielzeuge vernarrt, oder? Diesen Artikel schreibe ich ja auch gerade auf meinem Mini-Notebook während ich im Zug sitze.

Das Diplom habe ich Anfang 2007 dann auch problemlos bekommen. Da mir das Bloggen tatsächlich richtig Spass gemacht hat, wollte ich danach nicht einfach so sang- und klanglos wieder damit aufhören. Der thematische Schwerpunkt hat sich zwar ein bischen verschoben, aber es ist ein reines Hobbyprojekt geblieben. Mehrere Angebote für Werbung auf meiner Seite habe ich abgelehnt. Ich schreibe nur über Sachen, die mich bewegen und zwar genau so, wie mir der Schnabel gewachsen ist. Auf die geschätzten €2,45 pro Monat kann ich da getrost verzichten. Aber genug der Vorrede.

Freibier! Oder noch besser: freie Software!

Zur Feier des Tages gebe ich heute einen aus – und zwar einen Download ;-)
Mein Diplomthema war “mobile community” und seit Anfang 2006 entwickle ich auch an einer dementsprechenden Software: zzap. Mittlerweile ist die Software in der 4. Version angekommen und ich habe mich dazu entschlossen, zzap als Open Source unter der GPL freizugeben. Seit heute gibt es die Version 0.4.148 zum Download. Eine kurze Aufzählung der Features von zzap:

  • Multichannel – Unterstützung von Web, iPhone und normalen Handies.
  • Multilanguage – Deutsch und Englisch sind serienmäßig. Weitere Sprachen sind leicht hinzuzufügen.
  • Connectivity – Einbindung in Blog und twitter möglich.
  • Enhanced Content – Kurznachrichten plus Links plus Fotos.
  • Easy Setup – Ein Installationsscript hilft beim Einrichten der Software.
  • Extendable – Erweiterungsfähig durch Plug-in Architektur.
  • Multitier, Schichtentrennung, MVC oder wie das jetzt gerade heisst. Bei meiner Software ist Ablaufsteuerung, Datenzugriff und Ausgabe jedenfalls ordentlich getrennt.

Würde mich freuen, wenn der Eine oder Andere die Software mal ausprobiert. Feedback ist allerherzlichst willkommen. Bei Interesse lasse ich mich auch gerne in Gespräche auf der MBC09 (Micro Blogging Conference) verwickeln.

Download: zzap V0.4.148 (376 KB)

Bahn – Chaos – Homeoffice

Heute Nacht waren in Brandenburg Temperaturen bis zu -20 Grad. Wie ich auf die Idee kommen konnte, daß ich heute morgen einfach so in den Zug steigen und nach Hamburg zur Arbeit fahren kann, ist mir im Nachhinein unklar. Die Bahn bekommt ja schon den normalen Betriebsablauf nur mit Ach und Krach einigermaßen auf die Reihe.

Selbstverständlich war dann heute morgen komplettes Chaos – oder eigentlich auch wieder nicht. Streng genommen war es sogar ganz ruhig. Es fuhr nämlich schlichtweg nichts in Richtung Hamburg. Es kamen zwar im Minutentakt sinnlose Durchsagen, welcher Zug nun wieder wieviel Verspätung hat (Mindestens 45 – meist ab 60 Minuten aufwärts), daß Waggons fehlen, Reservierungen teils in anderen Waggons sind und Teile des Zuges unbeheizt sind. Aber das war unter dem Strich alles total egal – weil ohnehin kein Zug fuhr.

Bahnchaos

Geringfügige Differenz zwischen Ist- und Soll

Ich habe mir das bis 9:00 angesehen (bis dahin waren bereits 3 Züge fällig und nicht gefahren) und bin dann wieder nach Hause gefahren um von dort zu arbeiten. Was für ein Glück, daß ich den Laptop nicht in Hamburg hatte. Warum ist die Bahn eigentlich nicht so ehrlich und sagt folgendes durch:

Wir bekommen heute überhaupt nichts auf die Reihe, gehen Sie bitte einfach wieder nach Hause“?

Das wäre wohl zu ehrlich, oder? Super Einstand für 2009 übrigens…

« Previous PageNext Page »