Google App Engine Servlet im Jetty neuladen

Wenn man mit Eclipse ein Google App Engine Projekt bearbeitet und Änderungen an Servlets vornimmt und danach die Änderungen im Browser lokal testen möchte ist das Problem, dass der Jetty-Server immer noch die alte Version des Servlets ausliefert. Um das neuladen anzustoßen kann man im Terminal im Verzeichnis war/WEB-INF folgenden Befehl ausführen:

touch appengine-web.xml

Damit wird der TimeStamp der Datei aktualisiert und der Jetty-Server lädt das Servlet (bzw. den Container der das Servlet enthält) neu.

Diese Lösung habe ich auf StackOverflow in diesem Thread gefunden.

Nicht erkannte Android-Geräte nutzen

Gerade über folgendes Problem gestolpert:

Habe hier ein Tolino 7″ Android Tablet das unter Mac OS X beim anschließen über USB nicht erkannt wurde.

Lösung war dann im System-Profiler die Geräte ID zu kopieren und in die adb_usb.ini Datei einzutragen. Das genaue Vorgehen für verschiedene Betriebssysteme ist in diesem Artikel beschrieben:

How to get working ADB drivers for unrecognized Android devices

Länge von UTF-8 Zeichenketten in Lua ermitteln

Aktuell schreibe ich gerade ein kleines Programm in Lua um Dateien im CSV-Format in Tabellen für MarkDown umzuwandeln (dazu später mehr).

Ein Problem auf das ich dabei gestoßen bin war dass sobald ein Umlaut in einer Zeichenkette war, dieser zwar als ein Zeichen korrekt angezeigt wird,  jedoch intern wenn ich die Länge der Zeichenkette ermitteln wollte mit 2 Zeichen gezählt wurde (weil die Umlaut Zeichen halt 2 Byte brauchen).

Hier habe ich eine Zeichentabelle mit den UTF-8 Zeichen und deren dezimale Werte gefunden. Es fällt auf dass alle Zeichen, die mehr als ein Byte benötigen als ersten Wert immer eine Zahl haben, die größer/gleich 194 ist.

Meine Lösung sieht nun so aus, dass ich zuerst die (fehlerhafte) Länge ohne Berücksichtigung der UTF-8 Zeichen ermitteln. Im Anschluss daran zähle ich wieviele Zeichen einen dezimalen Wert größer/gleich 194 haben. Diese Zahl kann ich dann von der zuvor ermittelten Länge abziehen und habe somit die korrekte Länge die ich benötige.