Handy verloren, was tun? Ein Survival-Guide für Android-Besitzer.

Am Freitag ist es mir passiert. Ich nahm nachts von der Weihnachtsfeier unseres Büros ein Taxi nach Hause. Als es ans bezahlen ging legte ich mein Handy kurz zur Seite um meinen Geldbeutel rauszuholen. Ich bezahlte, nahm meinen Rucksack und stieg aus. Keine 10 Sekunden später stellte ich dann fest, dass mein Handy nicht mehr in meiner Tasche war. AH! Ich rannte zwar dem Taxi noch hinterher, aber es sah mich wohl in der Dunkelheit nicht winken.

Die Rettung meines Handys

Zum Glück hatte ich mir vor langer Zeit mal genau für einen solchen Fall eine App auf meinem Android installiert: die App Android Lost. Diese ist recht einfach einzurichten und bietet einem später über das Online-Portal www.androidlost.com sehr viele Möglichkeiten zur Rettung seines geliebten Handys.

Weiterlesen →

Server Downtimes und keine Erklärung in Sicht

Am Freitag habe ich auf meinem Server nach Rootkits suchen lassen. Die beiden Skripte dazu stelle ich euch hier demnächst mal kurz vor. Es sah danach alles sehr gut aus. Leider war ich dann eine Weile nicht am Rechner und in dieser Zeit stürzte der Apache-Server aus bisher ungeklärten Gründen ab und war über 3 Stunden nicht erreichbar. Nach Analyse der Logfiles fand ich viele Angriffe, die auf die Sicherheitslücke in der TimThumb hindeutete. Ein Angreifer versuchte bei mir die Funktion im Plugin UberMenu zu attackieren. Es ist aber schon schlimm, dass ein “Premium Theme” eine solche Sicherheitslücke aufweist. Zum Glück setze ich dieses Plugin nicht ein. Ich habe auch ansonsten alle Plugins und Themes gelöscht, die TimThmub einsetzen.

Heute musste ich dann leider feststellen, dass der Server erneut down war. Da das Monitoring über Pingdom mir leider keine Nachricht auf mein Handy schickte, bemerkte ich es erst nach über 7 Stunden! Hiermit möchte ich mich auch bei allen Entschuldigen, die in dieser Zeit vergeblich versucht haben meinen Blog zu erreichen.

Ich weiß leider noch immer nicht, was genau zu den beiden Ausfällen geführt hat. Die einzige größere Änderung der letzten Tage war die Installation des WP Super Cache Plugins. Falls jemand von euch weiß, ob es damit zu Abstürzen des Apache Prozesses kommen kann, dann wäre ich ihm für einen Kommentar sehr dankbar.

Ich werde jetzt meinen Server ein bisschen besser im Auge behalten. Sobald ich den Fehler gefunden habe, werde ich euch natürlich sofort berichten, woran es lag. In diesem Sinne noch ein schönes Wochenende!

Pflege des Backend Localization Plugins

Ich habe mir am Wochenende mal mein Backend Localization Plugin vorgenommen und dieses etwas aktualisiert. Zum einen sah die Sprach-Auswahl im Login-Formular nicht mehr besonders schön aus, da mit WordPress 3 das CSS dazu geändert wurde. Zusätzlich kamen einige neue Sprachen dazu, in die WordPress mittlerweile übersetzt ist (bzw. noch übersetzt wird). Hier mal eine Liste der neu hinzugekommenen Sprachen:

ISO 639 Name
es_CL Spanisch (Chile)
es_PE Spanisch (Peru)
es_VE Spanisch (Venezuela)
fa_AF Persisch (Afghanistan)
fy Westfriesisch
gd Schottisch-Gälisch
haw_US Hawaiisch
hy Armenisch
is_IS Isländisch
jv_ID Javanisch
kea Kabuverdianu
kk Kasachisch
kn Kannada
li Limburgisch
me_ME ???
mg_MG Malagasy
mn Mongolisch
ne_NP Nepali
nl_BE Niederländisch (Belgien)
pa_IN Panjabi
sa_IN Sanskrit
so_SO Somali
srd Sardisch
ta_LK Tamilisch (Sri Lanka)
zh_TW Chinesisch (Taiwan)

Es ist immer sehr aufwändig diese Liste zu pflegen, da ich erst einmal feststellen muss, was sich hinter dem ISO 639 Code verbirgt. Ich konnte aber bis auf einen Code alle finden. Wenn also jemand von euch weiß, welche Sprache sich hinter me_ME verbirgt, dann würde ich mich über einen Kommentar dazu sehr freuen.

Was man aber auch sehr gut an dieser Liste sehen kann ist die schnelle Verbreitung von WordPress in viele Regionen der Welt. Insgesamt enthält das offizielle Sprachdateien-Repository von WordPress mittlerweile 94 Sprachcodes. Hier ist aber z.B. für Deutschland nur die “Du-Version” enthalten. Die eigentliche Anzahl an unterschiedlichen “Sprachen” liegt also vermutlich noch um einiges höher.

Plugins und Sicherheit: Sicherheitslücke in Filedownload Plugin geschlossen

Aus gegebenem Anlass kommt heute mal ein Artikel zu einem sehr heiklen Thema: Plugins und Sicherheit. Ein mir bekannter Blog wurde letzte Woche gehackt. Anschließend konnte man auf diesem nur noch Space Invaders spielen. Glücklicherweise war es ein sehr netter Hacker, der seine Tat zugab und auch gleich erklärte, was falsch gemacht wurde und wie er damit ohne Probleme den Blog hacken konnte.

Funktion des Plugins

Die Sicherheitslücke steckte in dem Plugin Filedownload. Dieses Plugin wird eingesetzt um eine in WordPress hochgeladene Datei direkt zum Download anzubieten. In der Regel öffnet ein Browser ja eine Datei, die er direkt anzeigen kann, wie z.B. ein Bild oder eine PDF-Datei. Dieses Plugin gibt aber nun die angeforderte Datei so an den Browser zurück, dass dieser das Download-Dialogfenster öffnet und den Benutzer zum Download der Datei auffordert.

Weiterlesen →

Valides XHTML mit dem Google Analytics for WordPress Plugin

Gestern Abend hatte ich mir mal wieder die Zeit genommen meine Startseite auf invaliden Quellcode hin zu untersuchen. Da meine Seite noch XHTML als Doctype verwendet, gab es einige Fehler bzgl. Der “target” Attribute in der Blogroll. Nach langer Recherche konnte ich das sehr beliebte Google Analytics for WordPress Plugin von Joost de Valk als Fehlerquelle ausmachen.

Das Problem

Man kann nun aber dem Plugin nicht wirklich einen Vorwurf machen. Nachdem ich den Quellcode des Plugin sowie die Ausgabe der Blogroll im WordPress Core untersucht habe, konnte ich auch keine bessere Einbindung finden als die im Plugin verwendete. Es fehlt leider ein Filter, mit dem man den Link Tags zusätzliche Attribute anhängen kann. Da aber bei aktivierten Outlink-Tracking noch ein “onclick” Attribut notwendig ist, wurde es vom Plugin-Entwickler eben an das “target” Attribut angehängt. Damit war denn der Inhalt des selbigen nicht mehr leer und es wurde ausgegeben, auch wenn der Link für die Blogroll im Backend auf “none” gestellt war.

Die Lösung

Es gibt glücklicherweise eine recht einfache Lösung für das Problem. Da es einen Filter für die gesamte Ausgabe der Blogroll gibt, können wir hier ansetzen. Wir entfernen einfach sämtliche leere “target” Attribute im Ausgabestring mit folgendem Snippet:

function remove_empty_target($content){
        return str_replace('target="" ', '', $content);
} add_action('wp_list_bookmarks', 'remove_empty_target');

Das Snippet fügt ihr einfach in die functions.php Datei eures Themes an einer beliebigen Stelle ein. Wer für seine Seite ein Theme verwendet, das als Doctpye HTML5 nutzt, der kann diesen Tipp getrost ignorieren. Denn in HTML5 ist das “target” Attribut wieder enthalten. Trotzdem halte ich noch immer die Angewohnheit externe Links mit einem target="_blank" in einem neuen Tab/Fenster zu öffnen für eine Todsünde der Usabilty. Aber im Zusammenhang mit Formularen und JavaScript kann ein “target” Attribut durchaus Sinn machen und notwendig sein.

Die Welt hat einen großen Visionär verloren: Steve Jobs

Wer mich persönlich kennt, der weiß, dass ich kein Apple-Fanboy bin. Das einzige iGadget, dass ich mein eigenen nennen kann ist ein iPod Shuffle und es war ein Geschenk. Das liegt nicht daran, dass ich nicht von der Qualität der Produkte überzeugt bin, sondern an meiner Ablehnung der Firmenpolitik von Apple.

Dennoch habe ich Steve Jobs für seine Arbeit und seine Visionen sehr geschätzt. Nicht nur Apple Fans weltweit verlieren mit seinem Tod einen wichtigen Vordenker unserer Zeit. Es wird schwierig die Lücke, die er hinterlässt zu füllen.

“Your time is limited, so don’t waste it living someone else’s life.” (Steve Jobs)

Das WordCamp 2011 in Köln – Mein Rückblick

Um es kurz und knapp auf den Punkt zu bringen: Es hat sich gelohnt. Angefangen hat es schon am Freitag mit einer Zugfahrt von Berlin nach Köln, die so einiges zu bieten hatte. Das Highlight war wohl der Stopp in Hannover, wo ein Wagon aus der Mitte unseres Zugverbands rausgenommen werden musste. Insgesamt hatte ich dann fast zwei Stunden Verspätung bis Köln. Nur gut, dass ich am Freitag und nicht erst Samstagmorgen angereist bin.

Ankunft und Location

Nachdem ich endlich das richtige Gebäude gefunden hatte und mich angemeldet hatte, gab es wie auch im letzten Jahr ein sehr tolles T-Shirt. Vor der ersten Session wollte ich mich noch schnell mit einem Cappuccino stärken. Das hätte ich lieber gelassen, denn er war ein löslicher, der mit viel zu wenig Wasser aufgegossen eigentlich ungenießbar war und mir noch 5 Stunden später einen unangenehmen Nachgeschmack bescherte. Die Räume der Uni, die für das WordCamp gebucht waren, hatten eine recht gute Einrichtung. Nur an die wippenden Stühle konnten sich so manche Teilnehmer nicht gewöhnen. Ich fand sie super bequem.

Weiterlesen →

Auf zum WordCamp 2011 am 24.09.2011 in Köln

WordCamp 2011 Köln

Es ist wieder soweit. Morgen findet das diesjährige WordCamp Deutschland in Köln statt. Eigentlich wäre ich dieses Jahr nicht mit dabei gewesen, aber glücklicherweise hat sich dann gestern doch noch die Gelegenheit ergeben. Es waren zwar schon alle Plätze weg, aber fragen kostet ja bekanntlich nichts und so konnte ich den Platz eines Teilnehmers einnehmen, der kurzfristig abgesagt hatte.


WordCamp 2011 Köln

Dann ging es nur noch darum eine günstige Verbindung nach Köln zu bekommen. Und nun sitze ich im Zug Richtung Köln und freue mich schon auf viele spannende Themen rund um WordPress.

Sollte wie auch im letzten Jahr der ein oder andere von euch auch mit dabei sein, dann treffen wir uns ja morgen wieder. Alle anderen kann ich nur damit vertrösten, dass ich auch dieses Mal wieder meine Eindrücke mit euch teilen und die besten Tipps nochmals hier vorstellen werde.

Lokalisierung für Child Themes am Beispiel von Thematic

In einem der Blogs, die ich betreue wird Thematic eingesetzt. Vor kurzem wollte ich das Thematic Theme selbst aktualisieren, da es bereits einige Versionen alt war. Wir hatten aber damals den “Core” von Thematic verändert, genauer gesagt die deutsche Überstetzungsdatei. Das war natürlich nicht sehr elegant und es rächt sich, weil man dann nicht gefahrlos ein Update installieren kann. Zuerst sah ich aber keine andere Lösung, als die Übersetzung zu sichern und nach einem Update auf die neue Thematic-Version die geänderte Übersetzungsdatei wieder in die neue Version zu kopieren.

Aber ich war mit dieser Lösung überhaupt nicht zufrieden. Bei meiner Arbeit mit WordPress arbeite ich NIE im Core. Sollte es zu einem Problem mal wirklich keinen HOOK geben, dann versuche ich nach Möglichkeit die Funktionalität aus dem Core zu kopieren um bei einem Update ohne Gefahr dieses einspielen zu können. Bei der Anpassung von Übersetzungen eines Themes ist das aber wieder eine andere Sache. Das geht leider nicht ohne weiteres. Verwendet man allerdings ein Theme-Framework wie Thematic, für das man ein Child-Theme erstellen kann, dann gibt es dazu eine recht einfache Lösung.

Weiterlesen →

Versteckte Screenshot-Funktion in Android 2.3.4 auf HTC Sensation

Dies ist mein erster Artikel, den ich direkt über mein neues Android mit der WordPress App schreibe. Darin geht es heute auch um Android und das letzte Update.

Ich hatte mein schönes neues HTC Sensation noch keine Woche so richtig in Betrieb, da wurde mir schon per Benachrichtigung ein Update auf Android 2.3.4 angeboten. Das ging super einfach direkt per WLAN und war in wenigen Minuten runtergeladen und installiert. Ich könnte aber selbst keine großen Änderungen feststellen.

Heute habe ich dann in einer alten Nachricht auf Golem.de gelesen, dass eine wirklichsehr nützliche Funktion mit den Update mitgeliefert wurde: Systemweite Screenshots.

Um einen Screenshot anzufertigen muss der Ein/Aus-Taster und die Home-Taste gleichzeitig gedrückt werden. Dabei zuerst den Ein/Aus-Taster gedrückt halten und dann die Home-Taste drücken. Der Screenshot wird dann im Album “Kameraaufnahmen” gespeichert.

Ich finde diese Funktion wirklich sehr nützlich. Vor allem bei Fehlern kann es sehr hilfreich sein einen Screenshots zu machen um ihn dann dem Entwickler der App zu schicken oder in einem Forum zu posten.

Kennt ihr vielleicht auch noch tolle versteckte Funktionen oder Shortcuts in Android? Ich entdecke erst so langsam die vielen Funktionen und würde mich über den ein oder anderen Tipp in einem Kommentar sehr freuen.

Nachtrag

Da mein Artikel anscheinend sehr interessant für viele Android-Nutzer ist, habe ich mich mal schlau gemacht, ob es diese Screenshot Funktoin auch für andere Android Smartphones gibt. Leider gab es bisher nur wenige Möglichkeiten überhaupt Screenshots zu erstellen. Ein Möglichkeit ist wohl das Android SDK, wobei hier wohl nur von dem Android Emulator Screenshots gemacht werden konnten, nicht aber von eurem eigenen Smartphone. Die zweite Möglichkeit bietet die Software MyPhoneExplorer. Aber ich habe kein gutes Gefühl dabei einer App so viele Rechte auf mein Smartphone zu geben. Daher habe ich den Einsatz dieser Software bisher vermieden. Die dritte Möglichkeit, die ich gefunden habe, ist die App ShootME, die aber anscheindend nicht mehr offiziell verfügbar ist. Um sie einsetzen zu können muss dass Smartphone aber “gerootet” werden. Danach lassen sich dann aber sogar Screencats (also Videos) aufnehmen. Das wäre auch eine geniale Standard-Funktion für Android.

Da es mit Gingerbread nun anscheindend möglich ist, dass Apps direkt auf den Bildschirminhalt zugreifen können (die Berechtigung durch den Benutzer vorausgesetzt), könnte es in Zukunft von weiteren Herstellern eine Funktion für Screenshots geben. Denkbar ist aber auch eine Standard-Funktion in einer der nächsten Android Versionen. Oder es gibt dann Apps wie ShootME, die ohne Root-Rechte funktionieren.