HTTP requests aus Javascript auf der Entwicklermaschine

Ein Problem, das vermutlich mehrere Entwickler haben, die in einer Web-Applikation mit Javascript auf ein backend zugreifen: Entwicklet wird auf der lokalen Maschine, das backend liegt (zum Entwickeln) auf einem anderen Server. Browser lassen HTTP-Requests in Javascript von localhost auf eine andere Domain nicht zu (hier gilt die same origin policy). Auf den Seiten des Mozilla Developer Network wird sehr übersichtlich erklärt, wie man diese Einschränkung sicher umgehen kann. Da wir im content der requests json verschicken müssten unsere Zugriffe recht aufwändig als preflighted requests behandelt werden. [Weiterlesen]

OSMAnd-App

OSMAnd-App
Die tolle OSMAnd-App für Android bietet ein reichhaltiges Set von Funktionen für mobile Kartenanwendungen. Unter anderem ist es auch möglich, eigene Tile-Layer einzubinden. Hier die einfache Variante für Tiles vom mapnik Server: Im Verzeichnis /sdcard/osmand/tiles einen Ordner anlegen (hier snowhow). In diesem Ordner die Datei .metainfo mit folgendem Inhalt erzeugen: shell@android:/sdcard/osmand/tiles/snowhow $ cat .metainfo [url_template] http://mein.tileserver.com/osm/{0}/{1}/{2}.png [ext] .png [min_zoom] 1 [max_zoom] 17 [tile_size] 256 [img_density] 8 [avg_img_size] 18000 Und wenn die Tiles im TMS-Format vorliegen (also mit umgedrehter y-Achse), auch kein Problem: [Weiterlesen]

Server-backup mit duplicity auf Amazon S3

Das Backup für PCs und Laptops macht Backuppc sehr fein, aber für die Root-Server braucht es eine andere Lösung. Duplicity macht gpg-verschlüsselte Backups und unterstützt die unterschiedlichsten Endpunkte wie ftp, rsync, scp, ssh, webdav[s] und auch Amazon S3. Hier mein Mini-Bash-Skript mit dem ich meine Server dorthin sichere: Das Skript entstand in Anlehnung an ein Backup-Skript von Hetzner, wobei ich es noch weiter vereinfacht und auf S3 umgestellt habe. Backups werden 60 Tage aufbewahrt, wobei alle 30 Tage ein volles Backup gemacht wird. [Weiterlesen]

No space left on device?

Nachdem der Server eigenartige Verhaltensweisen an den Tag legte und im syslog die Meldung „No space left on device“ erschien, war ich einigermaßen verwundert: Immerhin zeigte df an, dass alle relevanten Partitionen mehr als 50% freien Speicher haben. Ein Lesefehler auf der (virtuellen) Festplatte? Glücklicherweise nicht. Das Kommando tune2fs -l /dev/mapper/vg0-var brachte die entscheidende Information ans Licht: ... Filesystem OS type: Linux Inode count: 10076160 Block count: 40296448 Reserved block count: 2014822 Free blocks: 12087119 Free inodes: 9 First block: 0 Block size: 4096 . [Weiterlesen]
df  inodes  linux 

SSD – Super Speed Disk

Ja, ich weiß, das ist inzwischen ein alter Hut, aber auch mir hing die Kinnlade herunter und die Augen starrten ungläubig auf den Laptop: Boot in 5 Sekunden (mit Apache/MongoDB/MySQL) und Firefox-Start in unter einer Sekunde. Hardware-Upgrade Nach langem Zögern wurde jetzt doch investiert: Der Dell-Laptop L502x (Core i5-2410M) mit 4GB Ram bekommt eine Samsung-SSD und wird auf den maximalen Arbeitsspeicher von 8GB aufgerüstet. Rund 150 EUR kostet die Hardware dafür und der Unterschied ist wie eingangs beschrieben, unbeschreiblich. [Weiterlesen]
hdparm  SSD 

Von jqplot Diagrammen zu einer PDF Datei

Von jqplot Diagrammen zu einer PDF Datei
ich sags gleich, ein steiniger Weg. Die Anforderung Zum Zweck der analogen Archivierung musste ich für ein aktuelles Projekt (CHES) eine moderne HTML-Seite (mit mehreren Canvas-Elementen) in eine druckbare Form bringen. Mit CSS-Anweisungen ist es mir nicht gelungen, nur in zwei modernen Browsern ein halbwegs vergleichbares Layout zu Papier zu bringen. Mit viel Javascript ging es eher in diese Richtung, aber im dritten Browser war dann auch da wieder alles anders. [Weiterlesen]

Datentransfer mit rsync, openssh und cyanogenmod am Galaxy Nexus

Datentransfer Um unter Linux Dateien auf das Galaxy Nexus zu kopieren gibt es leider keine einfache und performante Lösung. Mit Airdroid kann man wunderbar ein, zwei Dateien hin und her kopieren, der Transfer läuft über das Wlan, was von haus aus schon eine Geschwindigkeitsbeschränkung mit sich bringt. Alle meine Versuche mit mtp (auch unter Ubuntu 13.04) brachen regelmäßig ab und waren auch nicht von hohen Geschwindigkeiten gekennzeichnet. cyanogenmod, openssh, rsync Ganz anders verhält es sich mit rsync über ssh, getunnelt durch adb via USB. [Weiterlesen]

Leaflet Vektor Layer mit PostGIS

In der Karte im Viel-Falter Projekt sollte zu den gekachelten Rasterlayern ein weiterer Layer mit der Biotop-Kartierung von Tirol dazukommen. Da die gesamte Vektor-Geometrie mit über 200 MB im GeoJSON Format zu Buche schlägt, muss der Datensatz auf die Ausmaße aktuellen Ansicht (BoundingBox) eingeschränkt werden. Einigermaßen überrascht stellte ich fest, dass es hierzu (fast) keine fertige Lösung gibt. Hier mein Weg: PostGIS Da der Vektordatensatz aus vielen kleinen Polygonen besteht eignet er sich wunderbar für Einschränkungen anhand der aktuellen BoundingBox. [Weiterlesen]

Das Galaxy Nexus will nicht schlafen

Das GN Das Galaxy Nexus ist das coolste Smartphone das ich bisher hatte, was bei meinem zweijährigen Neukaufzyklus nicht weiter verwunderlich ist. Seit fast einem Jahr verwende ich es jetzt schon und bin immer noch sehr zufrieden: Es ist superdünn, hat ein großes Display und einen schnellen Prozessor. Mit cyanogenmod 10.1 experimental ist man auch mit der nicht mehr ganz akutellen Hardware softwaremäßig immer noch am Puls der Zeit. Schlaflosigkeit Doch seit einigen Tagen schaltete sich das Display des tollen Geräts immer wieder ungefragt ein und leerte so den Akku in weniger als der halben Zeit als gewohnt. [Weiterlesen]

Unity Application switcher

Nach langem hin und her bin ich jetzt (Ubuntu 13.04 beta) doch auch bei der Ubuntu Unity Oberfläche gelandet, denn unter xfce (xubuntu) gab es auch so manches Problemchen (ich sag nur Sound, Netzwerkmanager, …). Einige Sachen sind gewöhnungsbedürftig, aber was gar nicht geht ist der Unity-application-switcher. Die ALT-TAB Kombination wurde in ihrem Verhalten verändert, worauf ich mich trotz gutem Willen nicht umstellen kann. Glücklicherweise kann das relativ einfach geändert werden (siehe askubuntu ). [Weiterlesen]