Dirk Ollmetzer | Wednesday, 27 February 2013 |
Unterwegs
Freiburg. Leider noch vor dem Frühling. Obwohl das Bächle trocken ist und der Himmel grau, ist das Städtchen trotzdem sehr nett und angenehm. Als überzeugter Norddeutscher muss ich ja schon zugeben, dass das Essen super ist, die Stadt irgendwie kuschelig und traditionell und trotzdem auch modern. Bin immer wieder gerne hier.

Freiburger Altstadt bei Nacht

Solarturm vor grauem Himmel

Rundblick vom Schlossbergturm
Dirk Ollmetzer | Saturday, 23 February 2013 |
Development
Wer das Privileg hat, an einer Oxid-Schulung teilzunehmen, der muss einen Laptop mit einer lauffähigen Oxid-Version mitbringen.
Oxid selber stellt dazu ein vorbereitetetes VMWare Image zur Verfügung, bei dem bereits Varnish/Apache/PHP/MySQL in einem Ubuntu Linux vorkonfiguriert sind. Die Anleitung dazu findet sich hier:
http://wiki.oxidforge.org/Downloads/VMware
Wenn man – wie vermutlich nicht allzuwenige Webentwickler – mit einem Apple arbeitet, muss man allerdings einiges ein wenig anders machen, als von Oxid beschrieben, um zu einer lauffähigen Umgebung zu kommen.
1. VirtualBox anstatt VMWare
Es fängt schon mal damit an, dass man VirtualBox als Virtualisierungsumgebung nutzen muss, da der VMWare Player nicht für Apple verfügbar ist. Die Software bekommt man hier:
https://www.virtualbox.org/wiki/Downloads
Die Installation läuft wie üblich bei Mac OS X.
2. Die Oxid VM installieren
Nun startet man VirtualBox und erzeugt eine neue VM, indem man unter Maschine/Hinzufügen die VMK Datei aus dem Oxid Package auswählt. Nach kurzer Zeit kann man dann die VM starten. Der User heisst oxid und das Passwort ist ebenfalls oxid.
3. Die VB Guest Additions installieren
Nicht unbdingt notwendig, aber für später eventuell sinnvoll ist es, in der VM die VB Guest Additions zu installieren. Damit kann man z.B. Shared Folders nutzen, um Dateien zwischen Host und VM tauschen zu können.

VB Guestadditions installieren
4. Host Only Netzwerk Adapter einrichten
Auf jeden Fall notwendig ist es, eine echte Netzwerkverbindung zwischen Host und VM herzustellen. Der Server läuft ja in der VM, aber der Zugriff per Browser, SSH und SFTP soll ja vom Mac aus geschehen, um die eigenen Tools verwenden zu können. Dazu muss unter VirtualBox/Einstellungen Netzwerk ein Host-Only Netzwerk hinzugefügt werden. Es wird vermutlich vboxnet0 heissen.

VB Network Host-Only-Adapter
5. VM Netzwerk Adapter einrichten
In den Netwerkeinstellungen für die VM (VM auswählen, ‘ändern’ und das Netzwerk Symbol anklicken) müssen nun für den Adapter 1 die folgenden Einstellungen vorgenommen werden:

VB Network Adapter
Nun müsste sich der Webserver vom Mac aus aufrufen lassen. Auf dem Desktop der VM liegt ein kleines Shellscript namens getip.sh. Wenn man dieses startet, zeigt es einem die IP an, unter der das System erreichbar ist. In meinem Fall ist das die 192.168.56.101. Im Mac-Browser müsste sich nun PHPMyAdmin mit der URL http://192.168.56.101/phpmyadmin/ aufrufen lassen.
6. Shared Folder – lieber nicht
Oxid empfiehlt, im Host (hier also im Mac) einen Ordner anzulegen und diesen als Shared Folder dem Webserver in der VM zur Verfügung zu stellen. An dieser Stelle weichen wir von den Empfehlungen von Oxid ab, weil es zu einem ziemlichen durcheinander der Dateirechte käme: Die Dateirechte aus Sicht des Mac und aus Sicht der Linux VM passen nicht übereinander, so dass es hier ständige Konflikte gibt.
Stattdessen installieren wir Oxid vollständig innerhalb der VM und greifen von unserer IDE per SFTP auf die Files zu.
7. Oxid installieren
Nun haben wir die Umgebung eingerichtet. Es fehlt noch Oxid selbst. Die Community Edition bekommt man hier:
http://www.oxid-esales.com/de/community/oxid-eshop-herunterladen/ce-download.html
Das Archiv speichern wir in der VM in /var/www und enpacken es dort. Ich habe das Verzeichnis anschliessend in oxid umbenannt, um eine einfachere URL zu erhalten. Die Oxid installation lasst sich nun mit der URL http://192.168.56.101/oxid starten.
Es sollten alle Dateirechte korrekt gesetzt sein. Ansonsten lassen sich hier Details finden, wie die Einstellungen zu sein haben:
http://wiki.oxidforge.org/Installation#Files_.26_Folder_Permission_Setup
Der Rest der Installation sollte wie gewohnt und ohne Probleme verlaufen. Die Datenbank läuft auf localhost, als name bietet sich oxid an, User und Passwort sind jeweils root. Im Anschluss haben wir eine lauffähige Oxid Installation.
8. IDE einrichten
Ich nutze auf Arbeit PhpStorm und privat Netbeans als IDE. Mit beiden ist das folgende Vorgehen problemlos möglich: Um an der VM Installation entwickeln zu können, muss man seine IDE so einrichten, dass sie die Dateien zwar lokal auf dem Mac vorhält, aber stets mit der VM per SFTP (User oxid, Password oxid) synchronisiert. Auch Eclipse oder andere Editoren sollten solch ein Vorgehen unterstützen.
9. Der Spass kann beginnen
…und nun geht’s los… ;-)
Am Freitagabend hörte ich mir in der Akademie der Künste die Veranstaltung “Grand Opening E Studio” an. Die Karten hatte ich schon zwei Wochen vorher besorgt, was sich als goldrichtig herausstellte, weil die Veranstaltung vollständig ausverkauft war. Ich freute mich auf experimentellen Lärm und ganz besonders auf Blixa Bargeld und Caspar Brötzmann. Beim Eintritt in den Saal wurden freundlicherweise Ohrstöpsel verteilt, was mich zunächst erwartungsfroh stimmte.

Akademie der Künste mit Schnee
Doch der erste Teil der Veranstaltung traf meine Erwartungen dann leider in keinster Weise. Es wurden mehrere Stücke zum besten gegeben, die nach folgendem Schema abliefen: Ein Musiker spielt “gegen” Soundfragmente, die aus dem Computer kamen. Zuerst ein Stück am Schlagzeug, dann ein Stück bei dem überhaupt niemand auf der Bühne war(!), dann ein Stück am Klavier, dann eines mit Cello, bei dem es auch noch zu einer technischen Panne kam und zum Schluss ein Textvortrag mit Soundcollage und Hintergrundvideo. **grmpf**

Sinnvolle Dreingabe: Ohrstöpsel in geschmackvoller Farbgebung
Der zweite Teil des Abends verlief dann jedoch genau so, wie ich es erhofft hatte: Beginnend mit einem mehrminütigen Feedback Festival aus Brötzmanns Gitarre in das später Blixa Bargeld mit einstieg und gesanglich auf die Gitarrenfeedbacks “antwortete”. Bargeld kommentierte das nach dem Stück zwar, dass das “eine Scheissidee” war, aber er stand ohnehin recht angepisst auf der Bühne.
Mr egal – die Performance stimmte. Streng genommen gab es nur drei (lange) Stücke und eine Zugabe zu hören. Aber die hatten es in sich. Ein Stück begann mit einem Subsonic Bass, der durch Mark und Bein ging und tatsächlich dafür sorgte, dass kleinere Teile von der Decke rieselten. Brötzmann schaffte es übrigens tatsächlich, erst im dritten Stück einen Riff zu spielen. Bis dahin erzeugte er den Sound nur dadurch, wie er die Gitarre hielt, an welcher Stelle er vor den Verstärkertürmen (natürlich Marshall) stand, durch klopfen und ähnliche Techniken.
Bemerkenswert und inspirierend!
Nachdem im letzten Jahr bereits die Oxid User Group NRW gegründet wurde und recht interessante Themen behandelt hat, trafen sich in der letzten Woche auch in Berlin Vertreter der Oxid-Szene in den Räumen von SysEleven.
Die Teilnehmer kamen überwiegend aus den Bereichen Agentur, Software und Hosting. Es waren leider nur Vertreter eines einzigen – allerdings bekannten grossen – Shopbetreibers anwesend. Für zukünftige Treffen wäre es schön, wenn mehr Vertreter von der Anwenderseite teilnehmen würden, aber für den Auftakt war die Mischung schon recht gut, wie sich im Verlauf der Diskussionen herausstellte. Ganz überraschend war das nicht, da sich die meisten ohnehin schon kannten.

eCommerce im Umspannwerk
Von Oxid nahmen Eric Kort (technischer Entwicklungsleiter) und Marco Steinhäuser den Weg nach Berlin auf sich um sich über die Stimmung und Interessen der Teilnehmer zu informieren. Dieses erste Treffen diente vor allem dazu, herauszufinden, ob es überhaupt Bedarf gibt und was interessante Themen wären. Gesprochen und diskutiert wurde dann über:
- Sinn und Unsinn von verschlüsseltem Quellcode
- Erfahrungen mit automatisierten Tests und Continuous Integration
- Vor- und Nachteile von Modulzertifizierungen
- Methoden zum Deployment großer, heterogener Installationen
Ich selbst habe einen Prototypen für Content-Workflow vorgestellt, an dem ich seit einiger Zeit nebenher arbeite. Das positive Feedback vermittelte mir den Eindruck, dass an einem einfachen, flexiblen Tool durchaus Bedarf besteht.
Nach den fachlichen Teil blieb man nach geraume Zeit zum Plausch beisammen, was ein schönes Zeichen ist. Ich würde mich jedenfalls sehr freuen, wenn diess Treffen eine regelmässige Einrichtung wird.
Dirk Ollmetzer | Sunday, 3 February 2013 |
Gizmos
Im Oktober hatte ich meinem Smartphone ein Betriebssystem Upgrade verpasst – das original HTC Upgrade von Android 3.6 auf 4.0.4. Mit dem Ergebnis war ich aber seinerzeit überhaupt nicht zufrieden, wie ich im Artikel “Update für HTC Desire S – leider ungeil!” beschrieben hatte.
Seitdem ärgerte ich mich über allerlei fiese Hakeleien. Insbesondere der Browser zickte ziemlich rum. Ganz schlimm war das bei Websites, die mit unnötig kompliziertem Firlefanz erstellt wurden, wie Facebook, Twitter und Handelsblatt, um mal meine Top 3 “Worst ever mobile Websites” zu nennen. Und genau das, was mich auch schon vorher an dem Telefon gestört hatte ist eher noch schimmer georden: Die Zwangsverdongelung mit Apps von Facebook, Titter und Dropbox, die einen ausspionieren und die Adressen abfragen oder sogar komplett durcheinanderwürfeln.
Beim Versuch, auf dem Telefon das Cyanogenmod Betriebssystem zu installieren, bin ich seinerzeit gnadenlos gescheitert, weil alle Anleitungen davon ausgingen, dass noch der ursprüngliche Bootloader installiert ist – was nach dem Update natürlich nicht der Fall war.
Wie es doch geht, wird in dem Blogbeitrag “Die Befreiung meines HTC Desire S” hervorragend beschrieben. Der dortigen Anleitung bin ich am Wochenende gefolgt und habe nun CM7.2 auf dem Telefon. Leider gibt es für das Gerät keine neuere Version – aber neuer bedeutet ja nicht unbedingt besser, wie ich gerade gelernt hatte.
Nach der Instalation des Betriebssystems hatte ich zunächst etwas gezögert, dann aber doch die Google Apps nachinstalliert, weil ich sonst einfach keine einigermaßen sinnvolle Möglichkeit gesehen habe, meine Kontaktdaten und Kalendereinträge zu synchronisieren.

Lockscreen

Homescreen
Bis auf einen ziemlich blöden Bug bin ich auf den ersten Blick sehr zufrieden mit dem Ergebnis meiner Bemühungen. Im Einzelnen bedeutet das:
Positiv:
- Der Browser läuft wieder flüssig. Auch problematische Websites funktionieren wieder.
- Keine unnötigen Schrottapps verpesten das Phone.
- Das Mailprogramm ist geschmeidiger, als das von HTC ausgelieferte und lädt nicht ungefragt Bilder nach.
- Die Oberfläche ist irgendwie “snappy”.
- Ein Telefon, mit eingebauter Unix Shell hat auch mal was … ;-)
Negativ:
- Die Kamera hat jetzt leider eine schwere Macke: Das Vorschaubild friert nach einer halben Sekunde ein. Man sieht also nicht, was man gerade fotografiert.
- Der USSD-Security Bug mit den Link-Handlern ist leider wieder an Bord – lässt sich aber patchen (siehe Anleitung bei Heise).
- Das ganze Prozedere ist schon recht aufwändig und sicherlich nichts für Normale Nutzer.
Am nächsten Dienstag (05.02.2013) findet das erste Treffen der Oxid-User Group Berlin statt. Das Treffen wird von der OXID eSales AG initiiert und findet in den Räumen von Syseleven statt, einem Hostingunternehmen, das einen Schwepunkt im Bereich High Performance eCommerce hat.
Die Ankündigung der Oxid eSales AG.
Die Ankündigung der Syselven GmbH.
Interessierte sind herzlich eingeladen, um Anmeldung wird gebeten.
Wir wollten heute die Ausstellung von François Morellet im Marie-Elisabeth-Lüders-Haus ansehen. Auf der Website des Bundestages wird mit seiner “wandelbaren Wand” geworben. Schönes Ding. Also auf nach Mitte.
Der Eingang ist von der Spreeseite und man muss – weil das Gebäude ja zum Bundestag gehört – durch eine lästige Sicherheitsschleuse. Dann steht man in einem kreisrunden Raum aus Glas und Sichtbeton mit dem Mauermahnmal. Wer es nicht kennt: Das sind ein paar Betonelemente der alten DDR Mauer, die geschwärzt sind. Auf jedem Element sind eine Jahreszahl und die Anzahl der Mauertoten des entsprechenden Jahres gemalt.
Dem Morellets wandelbare Wand gegenüberzustellen ist eine wunderbare Idee – die aber leider nicht umgesetzt wurde. Das Kunstwerk ist nämlich gar nicht vorhanden. Es steht dort nur eine billige Nachbildung in Form einer Fotowand !
Ich muss schon sagen, dass ich das für eine bodenlose Frechheit halte.
Vielleicht habe ich das Ganze auch nicht verstanden. Ist das vielleicht eine Anspielung auf die gegenwärtige Politik? Sich mit fremden Federn schmücken – es wird schon keiner genau hinschauen? Viel Brimborium um etwas veranstalten, das überhaupt nicht wirklich vorhanden ist – echte Demokratie zum Beispiel?
Aber bevor ich mich hier in wilden Spekulationen verreite hier noch der Hinweis, dass ein paar Meter weiter ein unscheinbarer Eingang unter der grossen Treppe tatsächlich eine kleine, feine Ausstellung zu sehen ist. Man muss allerdings auch hier wieder durch eine Sicherheitsschluse. Von Morellet sind dort einige schöne Neonarbeiten zu sehen. Zusätzlich kann man wunderschöne Arbeiten von Gunda Förster betrachten, die mit Licht und Glasmurmeln tolle Effekte bieten.
Das hat mich zwar durchaus erfreut, aber die Art der Präsentation finde ich ehrlich gesagt ziemlich daneben. Ich habe einfach keine Lust mich einer Sicherheitsprüfung zu unterziehen, bloss weil ich Spass an Kunst habe.
Dass die Präsentation von Kunst wesentlich besser geht, haben wir nach einem kurzen Fussmarschdurch die Winterkälte rüber zum Haus der Kulturen der Welt (A.K.A “schwangere Auster”) erfahren dürfen. Einfach reigehen. Normal also.
Im Foyer und im grossen Ausstellungsraum liefen bereits die Aufbauarbeiten für die Transmediale. Etwas versteckt neben dem Shop fanden wir die ebenfalls recht kleine Ausstellung “Labor Berlin 12: Drifting”, die heute auslief. Nicht uninteressant, teilweise sogar etwas fies.
Unter dem Strich also doch ein gelungener Sonntag-Kunstnachmittag.
Dirk Ollmetzer | Sunday, 20 January 2013 |
Misc
Tee- und Kaffeeränder in Porzellantassen entfernen
Man gebe eine Prise Backpulver in die Tasse und fülle die Tasse mit heissem Wasser auf. Eine Minute einwirken lassen, ausspülen, fertig.
Flecken in Edelstahltöpfen entfernen
Etwas Zitronensäure ansetzen und kurz aufkochen lassen. Gut ausspülen. Fertig.
HINWEIS: Der Artikel bezieht sich auf eine Version von Virtual Box, die im Januar 2013 aktuell war. Änderungen, die seitdem an dem Produkt vorgenommen wurden, finden sich hier nicht wieder, da ich es seit damals nicht mehr benutzt habe.
Ich bin frustriert. Heute habe ich meinen kompletten Tag weggeworfen. Anstatt am Rechner zu tun, was ich zu tun habe, habe ich mich den kompletten Tag mit den Zickigkeiten von VirtualBox rumgeärgert. Mit VirtualBox kann man einen kompletten Rechner in einem anderen Rechner emulieren. Der Sinn darin kann – wie im vorliegenden Fall – darin liegen, eine fertig eingerichtete Entwicklungsumgebung für eine komplexe Webapplikation (also einen Webserver) auf seinem Arbeitsplatzrechner zu installieren.
Normalerweise geht das recht schmerzfrei. Heute hätte ich aber schreien können, so sehr hat mich der Mist geärgert. Da ich dabei durchaus einiges gerlernt habe, möchte ich mein frisch erworbenes Wissen der Allgemeinheit zur Verfügung stellen.
Vorgestern habe ich eine (fast) fertig konfigurierte VM (Virtuelle Maschine) zur Verfügung gestellt bekommen. Es ist ein Debian Linux mit einer komplexen Webapplikation und vier Netzwerkschnittstellen. Es war schon etwas hakelig, das Ding so zum Laufen zu bekommen, dass man von aussen – also vom Gastsystem, einem Apple Mac – den Webserver, den Datenbankserver und den SFTP Server ansprechen kann. Aber es lief dann irgendwann zufriedenstellend.
Bis heute Morgen.
Da hat sich die komplette VM zerlegt. Weshalb auch immer. War nicht wieder in Gang zu bringen. Ganz klarer Fall – neu installieren. Beim zweiten Mal weiss man ja, worauf man zu achten hat.
Denkste!
Neu installieren gerne – aber die Netzwerkadapter liefen trotzdem nicht. Selbst die radikale Variante, VirtualBox neu zu installieren und dann die VM darauf neu aufzuspielen brachte keine Besserung. Um ein paar Stunden suchen und Fluchen abzukürzen: VirtualBox lässt sich nicht komplett deinstallieren sondern behält tonnenweise Mist auf der Festplatte, der bei der nächsten Neuinstallation “freundlicherweise” wieder eingelesen wird. Das führt direkt zu der Frage:
Wie kann man VirtualBox denn nun vollständig deinstallieren?
- Zunächst löscht man die alle Maschinen in dem Programm
- Dann fährt man VirtualBox herunter
- Dann löscht man tatsächlich die ganzen VM-Dateien auf der Platte
- Jetzt öffnet man das DMG Installationsimage aus dem man die Software dereinst installiert hatte. Aber bitte exakt dieselber Version. Das habt Ihr doch sicherlich gut aufgehoben, oder? ;-)
- In dem Image liegt ein Deinstallationsskript – aber draufklicken nützt nicht. Stattdessen öffnet man jetzt ein Terminalfenster und begibt sich auf der Kommandozeile in das Installationsimage:
cd /Volumes/VirtualBox/
Nun muss man das Uninstall Skript mit Administratorrechten starten. Dazu gibt man ein:
sudo ./VirtualBox_Uninstall.tool
Pukt und Slash müssen vor den Skriptname, weil die Shell das Skript sonst in allen möglichen Verzeichnissen sucht, ausser im aktuellen.
- Nun muss man noch eine Frage mit ‘yes’ beantworten und schon geht die Löschorgie los.
Wer nun aber glaubt, damit sei alles erledigt liegt falsch. Jetzt kommt noch ziemlich viel Handarbeit. Innerhalb des eigenen Homeverzeichnisses (~/ bzw. /Users/username/) muss noch in den folgenden Verzeichnissen nach Überresten gesucht werden, die zu entfernen sind (alles in dem virtualbox vorkommt):
- ~/Library/
- ~/Library/Application Support/
- ~/Library/Caches/
- ~/Library/LaunchAgents/
- ~/Library/PreferencesPanes/
- ~/Library/Preferences/
Es kann natürlich auch nichts schaden, dieselben Verzeichnisse noch mal auf Systemebene zu durchsuchen:
- /Library/Extensions/
- /Library/StartupItems/
Ist doch alles fast selbsterklärend, oder? Nein, nicht wirklich. Ich könnte ausrasten. Wenn man schon ein Skript zur Deinstalltion schreibt, wieso vergisst das Ding dann 50% der Arbeit?
Die Erkenntnis hat mich mit dem vielen hin- und herprobieren, suchen usw. fast einen kompletten Tag gekostet. Ich hoffe, dass ich jemand anderem mit dem Beitrag das Leben ein bischen erleichtern kann.
Ich hatte seit längerem ein Arduino und das “Nokia 6100” LCD Shield von Sparkfun (eine Platine mit 128x128Pixel Farbdisplay zum Aufstecken) in einer Kiste rumliegen, hatte aber nie etwas damit gemacht. Da ich auf dem 29c3 auch ein bischen rumgelötet habe, dachte ich mir, dass ich jetzt auch mal das LCD Shield fertigbauen könnte.
Gesagt, getan, gelötet
Um das Shield auf den Arduino aufstecken zu können, müssen zunächst einmal Stiftleisten angelötet werden. Das st mir trotz meiner beiden linken Daumen auf Anhieb gelungen. LCD aufgesteckt, Arduino an Strom angeschlossen und das Display ist beleuchtet, zeigt aber natürlich noch nichts an. Soweit ist erst einmal alles toll!

Bastelstunde
Nun wollte ich das Display gleich mal mit den Beispielen (siehe Sparkfun Produktseite) testen. Also zunächst die Treiber und Beispiele runtergeladen und installiert. Meine Arduino IDE läuft auf einem Netbook mit Linuxmint 12 – also quasi Ubuntu. Das komplette Verzeichnis ColorLCDShield wird unter
~/sketchbook/libraries/
abgelegt. Danach können die Beispiele in der IDE unter
Datei/Sketchbook/libraries/ColorLCDShield/Examples/
geladen werden.
Troubleshooting – Arduino.h und bunter Schnee
Bei mir ließen sich die Beispiele natürlich erst einmal nicht übersetzen, sondern brachen mit der Fehlermedung “Fatal error : Arduino.h not found” ab. Diese Headerdatei sollte eingentlich im Verzeichnis
/usr/share/arduino/hardware/arduino/cores/arduino/
zu finden sein. Das war bei mir nicht der Fall. Nach längerem Hin- und Her habe ich die Arduino Software, die ich über die Softwareverwaltung installiert hatte, gelöscht und durch ein aktuelles Paket von Google ersetzt. Danach funktionierte die Übersetzung.
Leider zeigte das Display nach dem Hochladen der Beispiele nur bunten Schnee an. Mein erster Verdacht (Lötbrücken oder so) bestätigte sich nicht. Die Ursache lag am falschen Displaytyp. Sparkfun schrieb auf der Produktseite, dass zwei verschiedene Displaytypen verbaut werden: Bei einem roten Aufkleber von Epson und bei einem blauen Aufkleber von Phillips. Mein Display hatte einen roten Aufkleber und war trotzdem von Phillips. Nachdem ich im Programmcode die initialisierung von
lcd.init(EPSON);
auf
lcd.init(PHILLIPS);
geändert hatte, lief alles wie gewünscht.

Letztlich doch Erfolg
Und jetzt schauen wir mal, was man tatsächlich mit dem Teil anfangen kann…
« Previous Page — Next Page »