jQuery Ajax Abfrage synchron durchführen

Zwar steht AJAX für Asynchronous JavaScript, aber trotzdem kann man solche Abfragen auch synchron durchführen. Mit jQuery kann man das ganze dabei wie folgt bewerkstelligen:

$.ajax({url: "getName.php", 
	type: "get",
	data:{lang:"american"},
	success: function(result){
		name=result;
}, async: false});

Wichtig ist, das der Schlüssel async auf false gesetzt ist – das Verhalten ist in neueren Versionen von jQuery als veraltet gekennzeichnet, kann aber noch genutzt werden.

OpenStreetMap Karten drucken

Bei der freien OpenStreetMap-Karte handelt es sich in erster Linie um einen Online-Dienst. Allerdings hat Papier im Kartenbereich noch nicht ausgedient und so gibt es immer Anwendungsfälle für eine gedruckte Karte.

Eine druckbare Karte wird erzeugt

Eine druckbare Karte wird erzeugt

Möchte man eine solche gedruckte Karte erzeugen, so kann man dies mit dem Dienst MapOSMatic bewerkstelligen. Bei MapOSMatic wählt man im ersten Schritt den gewünschten Bereich aus und arbeitet sich anschließend durch die gewünschten Darstellungsoptionen. Im letzten Schritt wird dann die Karte gerendert und in unterschiedlichen Formaten (PDF, SVGZ, PNG) zum Download angeboten. Weitere Dienste zum Drucken von OpenStreetMap-Karten, mit teilweise anderen Herangehensweisen, sind im OpenStreet Wiki zu finden.

Primärschlüssel unter MySQL neu durchnummerieren

In einer Datenbanktabelle verfügt man im Normalfall über ein Feld, welches als Primärschlüssel fungiert. Dieses Feld ist dabei in den meisten Fällen als Integer mit einer Autoinkrement-Funktion ausgelegt. Unter Umständen kann es passieren, das man diese ID neu von 1 an vergeben möchten, also ein sogenanntes Renumbering durchführen möchte. Mittels SQL kann man das ganze dabei wie folgt erreichen:

SET @a = 0;
UPDATE tabellenName SET ID = (@a := @a +1);
ALTER TABLE tabellenName  AUTO_INCREMENT = 1;

Bei der Ausführung dieser Befehle wird das Feld ID ab 1 neu durchnummeriert und der Autoinkrement-Index auf den entsprechenden Wert gesetzt.

Build fehlgeschlagen: Planeten falsch ausgerichtet

Kreativität treibt manchmal seltsamem Blüten – wie sonst würde man auf die Idee kommen ein Skript zu schreiben, welches Buildvorgänge nur dann erlaubt, wenn Planeten im Sonnensystem nicht in einer Reihe stehen.

INFO [dfe36319] Running /usr/bin/env python astro_build.py as lhartikk@188.166.5.240
DEBUG [dfe36319] Command: python astro_build.py
DEBUG [dfe36319]BUILD FAILED
DEBUG [dfe36319]PLANETS ALIGNED: ['Mercury', 'Jupiter']
DEBUG [dfe36319]ALIGNMENT: 149 degrees
(Backtrace restricted to imported tasks)
cap aborted!

Genau für diesen Zweck wurde das Python-Skript AstroBuild geschrieben, welches auf GitHub zu finden ist. Lizenziert ist es unter der Apache Lizenz und damit freie Software.

Vegetarisches OpenStreetMap

OpenStreetMap enthält eine Menge Daten, wie z.B. Informationen über Restaurants und Gaststätten. Mit Hilfe dieser Information ist es möglich sich eigene personalisierte OpenStreetMap-Karte zu rendern.

Die Veggiekarte

Die Veggiekarte

Ein schönes Beispiel, für eine solche personalisierte Karte ist die Veggiekarte welche unter veggiekarte.de zu finden ist. Auf der Karte sind vegetarische und vegane Restaurant hervorgehoben, so das man solche in seiner Umgebung schnell findet. Der Quelltext zur Erzeugung der Karte ist auf GitHub zu finden.