Tools

Dropbox + BoxCryptor - Der kostenlose und verschlüsselte Onlinespeicher für Windows, Mac, Iphone, Ipad, Android

in

Die Möglichkeit seine Dateien über das Internet, oder neudeutsch "die Cloud", zu synchronisieren, sollte inzwischen jedem bekannt sein. Dass man seine Dateien dabei aber immer in die Hände eines fremden Anbieters gibt, sollte auch jedem klar sein, deshalb ist diese Art der Datenspeicherung für sensible Daten, wie persönliche Dokumente oder auch arbeitsrelevante Daten eigentlich nicht geeignet.

Anders sieht es aus, wenn man seine Dateien schon clientseitig verschlüsselt, und sie erst danach in den Cloudspeicher überträgt.

Ohne das richtige Passwort kann nun niemand mehr etwas mit den Daten anfangen, wobei hier natürlich wie immer gilt: Das Passwort muss sicher gewählt werden!

Um nun die eigenen Dateien zu verschlüsseln, gibts es Unterstützung von unterschiedlichsten Anbietern und Tools, um nur ein paar zu nennen - TrueCrypt, DataLocker oder auch CloudFogger - aber BoxCryptor bietet Unterstützung für die meisten Zielplattformen, so dass man von allen seinen Devices aus, auf die verschlüsselten Daten zugreifen kann.

Hier also eine kurze Anleitung zu Dropbox und BoxCryptor

Dropbox Dropbox

Zuerst ist ein Dropbox Account notwendig, den es kostenlos gibt und der in der Basisversion 2 GB Speicher bietet.

Wenn ihr diesen Link nutzt, um euch anzumelden, bekommt ihr gleich 2,5 GB Speicher:

Kostenloser Dropbox Account  mit 2,5 GB Speicher

Die Installation von Dropbox ist selbsterklärend - nach der Anmeldung einfach die Dropbox herunterladen und installieren, den passenden Ordner auswählen und fertig.

Alle Dateien, die in diesem Dropbox-Ordner landen, werden ab sofort automatisch synchronisiert.

Firefox Addons für sicheres und anonymes Surfen

Hier mal eine Kurzvorstellung der Firefox Addons, die für mich zu jeder Firefox-Installation dazugehören, um das Surfen sicherer zu machen.

Eine hundertprozentige Sicherheit liefern natürlich auch diese Addons nicht, aber sie machen einem besser bewußt, welche Scripte auf den besuchten Seiten eingebaut sind, um das eigene Surfverhalten zu tracken oder im schlimmsten Fall Schaden anzurichten.

 

Lithium PHP - Linksammlung

in


Seit Anfang des Jahres arbeite ich in einem Projekt, in dem wir das Backend eines grossen Webportals komplett neu bauen.

Als Basis für diese Neuentwicklung nutzen wir das
PHP 5.3+ Framework "Lithium PHP".

Ich habe dieses Framework erst in meinem aktuellen Projekt kennen und auch inzwischen schätzen gelernt.

Dieser Artikel soll einen ersten Einstieg in die Lithium Welt geben und dient vor allem als Linksammlung mit vielen verschiedenen Links zu Seiten rund um Lithium PHP.

Hervorgegangen ist Lithium PHP aus dem allseit bekannten und beliebten PHP Framework Cake PHP, wo es zuerst als PHP 5.3 Variante von Cake entstanden ist. (Cake 3).

Einige einführende Worte zur Entstehungsgeschichte sowie einige weiterführende Links gibts bei Wikipedia.

Dieser Artikel ist weniger eine technische Einleitung, als vielmehr eine Linkliste mit verschiedensten Einstiegspunkten in die Lithium PHP Welt.

Lithium PHP Framework - Linksammlung

Eclipse - "General Project" in "PHP Project" umwandeln

in

Hat man in Eclipse ein Project als General Project angelegt, und merkt im Laufe des Projektes, dass der Anteil an PHP im eigenen Projekt immer mehr überwiegt, dann liegt es nahe, das Projekt in ein PHP Project umzuwandeln.

Die Vorteile, die man durch die Umwandlung erhält, sind u.a. die Möglichkeit der Nutzung des PHP Explorers, in dem z.B. der gesamte PHP Core durchsucht werden kann oder in dem auch Fremdbibliotheken, wie PEAR durchsucht werden können.

Außerdem ist neben Code Assist für PHP nach der Umwandlung in ein PHP Projekt auch das Anzeigen der Outline einer PHP Datei möglich.

Diese Umwandlung eines "General Projects" in ein "PHP Project" ist in Eclipse über folgenden Weg möglich:

1. .project Datei im jeweiligen Projekt

Zeile mit "nature-Tag" suchen und folgendes einfügen:

Vorher

<natures>
</natures>

Nachher

<natures>
<nature>
org.eclipse.php.core.PHPNature
</nature>
</natures>

 

2. .buildpath Datei im jeweiligen Projekt

Vorher

<?xml version="1.0" encoding="UTF-8"?>
<buildpath>	 	
<buildpathentry kind="src" path=""/> </buildpath>
</buildpath>

Nachher

<?xml version="1.0" encoding="UTF-8"?>
<buildpath>
<buildpathentry kind="con" path="org.eclipse.php.core.LANGUAGE"/>
<buildpathentry kind="con" path="org.eclipse.dltk.USER_LIBRARY/PEAR"/>
<buildpathentry kind="src" path=""/>
</buildpath>

Fazit

Eigentlich wird hier nur die "Nature" des eigenen Projektes in der .project-Datei auf PHP umgeändert und zusätzlich in der .buildpath-Datei die PHP Core Library und in diesem Fall auch die PEAR Library mit ins Projekt eingefügt.

Durch diese kleinen Änderungen wird dann schnell aus einem "General Project" ein "PHP Project".

Zusatz

Diese Änderungen können natürlich auch für jede andere Sprache gemacht werden.

Für die Umwandlung in ein Java Project muss z.B. nur diese Zeile im "Nature-Tag" der .project-Datei eingefügt werden:

<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>

 

Android SSL Problem mit Baltimore CyberTrust Root Zertifikat / oder wie man in Android Apps eigene SSL-Zertifikate verwendet

Schon wieder einen guten Monat her, dass ich hier geschrieben habe, aber wenn man sich auch mit solchen, wie den folgenden Problemen rumschlagen muss, ist es ja kein Wunder, dass man nicht mehr zum Schreiben von Blogbeiträgen kommt. :)

Folgende Problematik:

In unserer neuen Android App benutzen wir einen REST-Webservice, der über SSL angesprochen wird. Soweit für Android auch kein Problem, nur benutzen wir auf Serverseite  ein SSL-Zertifikat von Telesec welches als Root Zertifikat auf Baltimore Cybertrust verweist.

Jetzt würde man denken, na und, ist doch egal, Baltimore ist doch, neben zB. Verisign (was von Google selbst benutzt wird) eine bekannte Zertifizierungsstelle und ein von dort abgesichertes Zertifikat wird jawohl als Standard in jedem Betriebssystem enthalten sein ...

Tja, dieser gemeldete Bug beim Android-Tem aus dem Juni 2010 sagt darüber etwas ganz anderes:

http://code.google.com/p/android/issues/detail?id=9269

So also auch in unserem Fall. Unsere Android-Anwendung hängte sich immer wieder mit einer internen Android Fehlermeldung über ein ungültiges Zertifikat auf Serverseite auf.

Wenn man mit dem HandyBrowser direkt auf die Seite unseres Webservice gesurrft ist, kam natürlich auch eine SSL-Fehlermeldung, diese kann man im Browser aber wegklicken, und die entsprechende Seite trotzdem besuchen.

Innerhalb einer eigenen Anwendung gibt es diese Möglichkeit so nicht, und da die Antwort auf das Baltimore Root CA Problem von Seiten Google erst ein Jahr später kam (siehe Issue oben) und die Antwort darin bestand, doch bitte Android 2.3 zu nutzen, da erst dort das Root CA von Baltimore eingebaut wurde, war für uns, die wir auch noch Handys mit Android 2.1 unterstützen wollen, erstmal guter Rat teuer.

Zum Glück hat sich ein findiger Entwickler aus Lichtenstein diesem Problem angenommen und dafür eine Lösung entwickelt, um das Problem zu umgehen.

Hier der Blogbeitrag, der beschreibt, wie man sich ein eigenes Zertifikat in einem selbst erstellten Keystore im Ressourcen Verzeichnis seiner Android-Anwendung ablegt, und wie man dieses Zertifikat dann benutzt, um über einen eigenen WebserviceClient seinen SSL-gesicherten Webservice zu benutzen.

http://blog.antoine.li/index.php/2010/10/android-trusting-ssl-certificates/

Ich werde im Folgenden unsere Umsetzung beschreiben und mich dabei stark an den hier genannten Artikel anlehnen, da dieser auch mir bei der Impementierung als Vorlage geholfen hat.

#################

Tutorial zur Erstellung eines eigenen Keystores und
Nutzung dieses Keystores innerhalb eines eigenen Android Webservice-Clients

IPC - International PHP 2011 Conference in Mainz #ipc11 #wtc11

Ich bin die nächsten 3 Tage auf der IPC in Mainz unterwegs und werde mir verschiedenste Vorträge über aktuelle Themen in der Webentwicklung anhören.

Die Webtechconferenz findet parallel zur IPC im gleichen Kongresszentrum statt und bietet auch einige interessante Vorträge.

Ob über die Zukunft von PHP (5.4), über Git, Testing, Sicherheit in der Softwareentwicklung, Frontendsachen wie HTML 5, Javascript und CSS 3, NoSQL-DBs, Frameworks bis hin zu DevOpsGeschichten wie Continious Integration oder auch der Entwicklung von mobilen Apps ist einiges dabei, was mich interessiert.

Ich werde zu den Vorträgen die ich besuche, versuchen zeitnah jeweils etwas zu schreiben.
Außerdem schau ich mal, dass ich die Slides der Vorträge, die mich interessieren hier zusammentrage.

Hier vorab schonmal die Links beider Veranstaltungen:

http://phpconference.com/

http://webtechcon.de/

Geschwindigkeit der Android Virtual Devices

in

Wie ihr sicher bemerkt habt bin ich momentan stark im Thema Mobile Apps drin und da kommt man natürlich an Android nicht vorbei.

Eine Sache, die sofort auffällt und auch ziemlich nervt, ist die Geschwindigkeit innerhalb der emulierten Geräte des Android SDK.

Egal welche Ausstattung mein Rechner hat und egal wieviel Ressourcen ich dem neuen Device zuweise (zB. ein Testdevice mit Android 3.2 und 1GB RAM), das erstellte Device ist einfach immer sehr langsam und dadurch extrem schlecht zu bedienen.

Das macht das Entwickeln und Testen zu einer nervigen Angelegenheit.

Abhilfe schafft hier der Einsatz einer Virtuellen Maschine, in die man dann eine Android-x86 Portierung installiert.

Ein guter Artikel inkl. Anleitung und was es zu beachten gibt, findet sich hier:

http://swe.fin-sn.de/blog/android-x86-virtual-box

Android SDK Installer für Windows erkennt JDK nicht.

in

Was für ein verrückter Bug.

Versucht man das Android SDK für Windows über die installer...exe zu installieren  (installer_r12-windows.exe) erkennt der Installer das auf meinem System vorhandene Java Development Kit nicht.

PATH zu JDK ist gesetzt und ich habe das JDK auch für andere Sachen schon erfolgreich im Einsatz. (zB. Eclipse).

 

Etwas Recherche förderte dann die mehr als merkwürdige Lösung zu Tage.

Einfach in oben gezeigter Maske nochmal einen Schritt zurück über (< Back), dann im vorherigen Schritt über (Next >) die Erkennung des JDK noch einmal durchführen und Siehe da:

Das JDK wird erfolgreich erkannt.

Also wie diese Magic funktioniert muss mir Google mal genauer erklären :).

 

Trac installieren (Debian, Apache, modwsgi, Digest-Auth)

in

Nachdem ich hier schon darüber geschrieben habe, wie man die Organisation von Softwareprojekten mit Hilfe der Ticket basierten Projektmanagementsoftware Trac verbessern kann, und wie man, bevor man dies tut, erstmal Trac und auch ein zugehöriges Versionierungssystem (in meinem Fall SVN) konfiguriert, soll es heute darum gehen, wie man denn Trac installiert.

Diese Reihenfolge ist reichlich merkwürdig, da natürlich die Installation als erstes kommt, aber irgendwie hat es sich ergeben, dass ich bei meinen ersten Trac-Installationen recht wenig dokumentiert hatte, nun aber wiedermal Trac neu auf unserem Server installiert werden mußte und ich im Zuge dessen auch endlich die Konsole mitgeloggt habe, um später die Installationsschritte besser nachvollziehen zu können.

Eines vorweg, mein oben verlinkter Artikel, in dem ich die Konfiguratioin von Trac schonmal beschrieben habe, basiert auf einer Trac-Installation, die einen Apache mit mod_python als Basis nutzt.

Hier dagegen soll es um eine Trac-Installation mit Apache und mod_wsgi gehen, d.h. ich beschreibe die Installation von modwsgi, anschließend gehts weiter mit Setuptools, danach kommt Trac (inkl. anlegen einer ersten Instanz) und anschließend zeige ich noch eine Basiskonfiguration eines Apache-VHosts für unsere erste Trac-Instanz, die dann auch gleich mit HTTP-Digest-Auth abgesichert wird.

Ich werde auch gar nicht so viel Worte verlieren, sondern die Konsole sprechen lassen, und nur kurz die einzelnen Schritte erläutern. Das heißt, ihr seht immer die jeweils notwendigen Befehle fett markiert und könnt diese einfach selbst ausführen. Ein gewisses Basiswissen im Umgang mit Linux setze ich hier aber voraus.

Also, auf gehts ...

Tail für Windows

in

Ja ja, das täglich Brot als Webentwickler, die lieben Logfiles.

Ich kann gar nicht mehr zählen wie oft und auf wievielen Servern ich schon:

tail -f /var/log/apache/access.log  oder  .../error.log  oder .../php.log eingegeben habe.

Und auch in der Windows-Welt beim lokalen Entwickeln will ich ziemlich oft wissen, was der Apache oder andere Tools gerade so an Logfiles ausspucken. Tail für Windows gibt es viele verschiedene und dies soll keine Liste mit unterschiedlichen Alternativen werden, sonder einfach nur ein Hinweis auf das Tool, mit dem ich am Besten klarkomme.

Tail for Win32 (http://tailforwin32.sourceforge.net/)

Gutes Tool, einfach zu bedienen und für meine Zwecke völlig ausreichend.

Inhalt abgleichen