KW33 – Youtube must see

Waymo – Robotaxis halten Anwohner mit Hupkonzert wach

Wie ein Kabel die Welter veränderte – Die Geschichte der Tiefseekabelverbindung Europa – Amerika

Und hier nochmal was lokales – die deutschen mit ihren Verbrennern – Lobbyismus im Verkehrsministerium

Cursor bewegen in iOS

Mit iOS 13 hat Apple das Feature zum Bewegen des Cursors in Eingabefeldern und Textboxen geändert. In älteren Versionen konnte man mit dem Finger über den Cursor fahren, drauf bleiben und anschließend hat sich eine Lupe über dem Finger geöffnet die einem die aktuelle Position des Cursors angezeigt hat.

Ab iOS 13 ist dieses Feature verschwunden (vermutlich durch die Force-Touch Funktion) und das hat der iOS Community einige Fragezeichen bescheert. Vor kurzem hab ich durch Zufall in einem Artikel entdeckt, dass man statt dieser Lupe ein anderes Feature hinzugefügt hat. Wenn man mit dem Finger auf der Leertaste bleibt dann verwandelt sich die iOS Tastatur in eine Art Mauspad und man kann mit diesem nun den Cursor frei in der Textzeile oder im Textfeld bewegen.

Achtung: Zuverlässig funktioniert das nur, wenn man dies auf der Leertaste macht, startet man dieses Feature auf einer der anderen Tasten darüber gerät man oft in den Swype Mode der Tastatur.

Sichere Passwörter mit PHP 5.5

Beinahe jeder Web-Entwickler der sich schon mal selbst mit dem Abspeichern von Nutzerdaten und vor allem deren Passwörtern beschäftigt hat, kämpft mit dem Problem wie man Passwörter möglichst sicher in einer Datenbank ablegt.

In PHP 5.5 führen die PHP Entwickler nun neue API Funktionen zum Generieren und überprüfen eines Passwort Hashs ein. Eine Funktion die längst überfällig ist!

Diese API ist denkbar einfach und basiert auf dem BCrypt Algorithmus.

Wie diese API funktioniert und welche neuen Funktionen zur Verfügung stehen findet ihr im  PHP-Wiki.

iPhone verloren – was passiert mit den Daten?

Als ich gestern mit meinem Kleinmotorrad den Heimweg antrat und nach ca. 150m bemerkte dass mein iPhone nicht mehr in meiner Tasche steckt, blieb mir sprichwörtlich kurz das Herz stehen. Auf einem Schlag wurde mir bewusst wie schnell ich das ca. 800€ teure Mobiltelefon irgendwo auf dem Weg verlor, wer jetzt aller an meine Daten rankommt, mit meiner Nummer telefonieren, SMS schreiben und im Internet sein konnte und dass ich zugleich mein 80€ teures Navi verloren hab.

Klarerweise wird einem das erst bewusst wenn dieses Gerät mal wirklich nicht mehr auffindbar ist. Es ist klar dass die Vollintegration verschiedenster Dienste auf einem so kleinen Gerät einige Vorteile bringt doch zugleich und das ist einem vorerst nicht bewusst. Genau für solche Fälle haben die heutigen Mobiltelefone spezielle Funktionen eingebaut mit denen man die Daten bei Verlust zumindest etwas sicherer hinter Verschluss halten kann.

Beim iPhone wäre die erste Variante der „Passcode Lock“ sobald das Handy im gesperrten Modus (Tastatursperre) ist kann mittels dieser Funktion bei Unlocken ein PIN abgefragt werden. Dieser ist zwar nur Vierstellig doch auch hier gibt es dann 9999 mögliche Kombinationen. Zusätzlich kann im selben Menü in dem man diesen Passcode Lock aktiviert eine „Erase all Data“ Funktion nach 10 ungültigen Eingabeversuchen aktivieren.

Eine weitere Variante besteht beim iPhone mittels Fernzugriff über MobileMe. Über die Weboberfläche kann dann die Löschung aller Daten veranlasst werden, was natürlich wiederum voraussetzt dass das Gerät Empfang hat. Leider ist auch der MobileMe Account nicht Gratis.

In meinem Fall habe ich die 150m lange Strecke mitten in der Nacht mit einer Taschenlampe bestückt abgesucht und dann nach vier Stunden aufgegeben. Als ich nach Hause kam, wurde mir per E-Mail mitgeteilt dass mein iPhone bei der Polizei abgegeben wurde.

Heute hab ich mein Gerät wieder, zwar leicht zerkratzt, aber das kann ich verkraften. Meine erste Aktion nach Abholen des Gerätes war die Aktivierung des Passcode Locks.

iPhone Wiederherstellung nach crash

Nachdem ich von meinem Knebelvertrag bei T-Mobile zu Bob gewechselt bin, ist es für mich essentiell dass mein Telefon keinen SimLock mehr hat, bzw auch keinen mehr bekommt. Deswegen habe ich mein Telefon mit Hilfe von BlackRa1n gejailbreaked und auch den SimLock entfernt. Dies funktioniert, solange bis Apple ein Firmware Update rausbringt bei dem der Unlock nicht mehr funktioniert! Ohne neuere Firmware kann ich im Falle einer Wiederherstellung offiziell (wie in meinem Fall) die Firmware 3.1.2 zum Wiederherstellen verwenden und diese ja wieder über Blackra1n freischalten.

Folgendes passierte:

Mein Telefon ist auf dem Firmware Stand 3.1.2 und es gibt bereits die Firmware 3.1.3. Eines netten morgens funktionierte bei meinem iPhone das Internet nicht mehr richtig, also hab ich die Netzwerkeinstellungen zurückgesetzt. Zu diesem Vorgang gehört auch ein Neustart des Geräts, doch dieser funktionierte nicht mehr. Das Telefon startete => wurde schwarz und startete von neuem.

Wenn ich jetzt über iTunes die Wiederherstellung starte, mit der ich das Telefon wieder neu aufsetzen kann und so auch wieder funktionstüchtig wird, habe ich nun die 3.1.3 Firmware auf dem Telefon und somit kein freigeschaltetes Gerät mehr. Ein Einspielen der alten Firmware 3.1.2 unterlässt iTunes mittels Gegenprüfung mit dem Signaturserver von Apple, da es nicht die aktuelle Firmware Version ist => es erscheint eine Fehlermeldung wie „diese Firmwareversion ist für dieses iPhone nicht gültig“ oder so ähnlich.

Nach etlichen Foreneinträgen und langem suchen im Internet, stieß ich schließlich auf die Seite von Saurik (dem Programmierer hinter Cydia) auf der eine Anleitung und genaue Erklärung des Wiederherstellungsvorgangs war. Mit dieser gelang es mir iTunes auszutricksen und wieder die alte Firmware zu installieren. Wichtig für diese Wiederherstellung ist allerdings dass die ECID auf Sauriks Server gesichert wurde. (dies wird in Cydia erledigt)

  1. Firmware Paket für 3.1.2 (*.ipsw File) von einer Website runterladen (Bsp.: https://www.benm.at)
  2. in der hosts Datei (unter Windows: C:\Windows\system32\drivers\etc\hosts) muss nun folgender Eintrag rein: 74.208.10.249 gs.apple.com
  3. Nun iTunes starten und mittels Shift+“Linke Maustaste“ auf „Wiederherstellen“ drücken; Jetzt die zuvor runtergeladene Firmware auswählen und den Wiederherstellungsvorgang starten!

Nun kontaktiert Apple den Signatur Server auf gs.apple.com, um zu überprüfen welche Firmware eingespielt wird und ob dies erlaubt ist. Durch unsere eingerichtete Umleitung passiert diese Kontaktaufnahme nicht zu Apples Server sondern zu Sauriks Server mit den gecachten ECIDs. Dieser meldet zurück, dass jede Firmware eingespielt werden kann und die Wiederherstellung läuft auch mit einer älteren Firmware als 3.1.3.

ACHTUNG: Diese Anleitung funktioniert nur für eine Wiederherstellung mit einer Firmware welche die gleiche Versionsnummer besitzt die auf dem Gerät vorher installiert war! Ein Downgrade funktioniert meines Wissens so nicht!

Hier ist auch gleich der Link zu Saurik’s Artikel (https://www.saurik.com/id/12/)=> Dort gibt es auch einen Link zu einer Anleitung falls ihr euer iPhone Downgraden müsst und welche Dinge zu beachten sind!

Aptana Studio, ein Auf und Ab

Wer täglich in diversen Programmiersprachen Programme, Websites oder sonstige Software entwickelt, kommt um die Wahl einer geeigneten IDE (integrated development environment) nicht herum!

Aptana:

Bis vor wenigen Monaten war Aptana Studio noch meine erste Wahl, wenn es um eine IDE für PHP, JavaScript allgemein gesagt um Web Programmierung geht. Der PHP Editor war anfangs noch recht lahm. Die Autovervollständigung wollte nicht so funktionieren, das Erkennen von PHP Anweisungen eingebettet in HTML funktionierte auch nicht 100%ig. Doch spätestens mit Version 1.5.x waren die meisten Mängel ausgebessert und Aptana war richtig angenehm zu verwenden.

Jetzt gibt es mittlerweile Version 2.0 und Aptana kümmert sich so wie es scheint nur noch um Ruby on Rails und um deren Hosting Service Aptana Cloud. Zugegeben Aptana Rad Rails habe ich noch nie verwendet da ich zum Programmieren von dynamischen Websites hauptsächlich PHP verwende doch den Hosting Service habe ich bereits getestet.

Aptana Cloud:

Aptana Cloud ist vom Aufbau her so ähnlich wie Amazon’s Web Services. Man kann sich in Aptanas Cloud einen Bereich reservieren und auf diesem seine Website publishen. Es kann zwischen verschiedenen Leistungsstufen gewählt werden, nach denen sich auch der Preis richtet. Die Leistungsstufe kann nach belieben gesteigert oder gesenkt werden.

Es gibt für das Aptana Studio eine Oberfläche mit der die Cloud verwaltet werden kann. Von Statistiken bis automatischen Deploy Service, also der Möglichkeit paralell zum Produktivsystem eine Website zu testen und per einem Klick die Testversion ins Produktivsystem zu migrieren ist alles vorhanden! Alles in allem ein schönes Tool.

Das Problem bei Aptana Cloud ist, dass es für europäische Nutzer ziemlich langsam ist. Bei Amazon’s Web Services  wird sichergestellt dass die Website quer über den Globus sehr schnell erreichbar ist. Aptana scheint die Server alle in ihrem Heimatland der USA platziert zu haben und ich vermute dass deshalb die Zugriffszeiten auf die Server teilweise bis zu 200ms reichen (Leider waren sie innerhalb des Testzeitraums nie wirklich besser).

Aptana PHP Support 2.0:

In der neuesten Studio Version wird als PHP Editor auf den PDT Editor von Zend der unter der Open Source Lizenz verfügbar ist. Doch leider kann dieser PDT Editor dem alten Aptana PHP Editor bei weitem nicht das Wasser reichen. Bei größeren Files (also mit vielen Zeilen) kommt der Editor ordentlich ins stocken, die Autovervollständigung ist elendiglich lahm und außerdem wirkt das ganze nicht in das gesamte Studio integriert wie es bei dem Aptana PHP Editor der Fall war.

Fazit für mich:

Leider hat sich Aptana mit der Entscheidung auf das PDT zu setzen sich selbst aus meiner Hitliste der PHP Editoren katapultiert. Wenn man bei Aptana in den Foren ein wenig schmöckert gibt es einige Meldungen von frustrierten Nutzern die ebenfalls überlegen das Studio zu wechseln.

WordPress 2.8.2 Update

Nach mehreren Anläufen hab ich es endlich geschafft meine WordPress Installation upzugraden. Der einzige Weg war alle Plugins zu deaktivieren, Daten über die bisherige Installation drüberkopieren, ins wp-admin einsteigen und die Datenbank updaten. Anschließend musste ich noch das bisherige Theme und die Plugins wieder aktivieren.

Ich hoffe alles funktioniert wieder so, wie es soll…