osmpng

English version below

Für mein SEGeo-Projekt habe ich gerade an einem neuen Tool gebastelt: osmpng

osmpng erstellt große PNG-Karten basierend auf den Kartenmaterial von OpenStreetMap (OSM).
Im Grunde lädt es kleine Kartenausschnitte von OSM-Servern herunter und erstellt aus diesen Teilausschnitten ("tiles") dann eine große Karte.

osmpng lädt einen Kartenausschnitt herunter
osmpng lädt einen Kartenausschnitt herunter

Getestet habe ich das Tool mit einem recht großen Kartenausschnitt von Innsbruck. Resultat ist eine tadellose PNG-Datei von etwa 50MB. Straßennamen und Häusernummer sind klar ersichtlich, lediglich das Laden der Datei ist etwas mühsam 🙂

Das Tool ist ein eigenes Repository auf GitHub und auf der osmpng-Seite des Blogs.

 

English version

My SEGeo-Project is growing. Today I've written a new tool for the project: osmpng.

osmpng is a simple C++ program that creates arbitrary huge PNG maps based on the data of OpenStreetMap (OSM).
In particular it downloads small map pieces ("tiles") from OSM servers and merges them to a single, possibly giant map.

The test osmpng was a ~50MB big PNG map of Innsbruck (Austria). Street names and house numbers are clear visible, only the loading of the PNG file was a bit annoying.

osmpng is found as a repository on GitHub and at the osmpng page of the blog.

SEGeo - Erste Screenshots

SEGeo, mein Projekt zur Erfassung von strategischen geografischen Punkten für den Zivil- und Katastrophenschutz liefert nun erste Screenshots.

SEGeo Screenshot vom 8. November 2013
SEGeo Screenshot vom 8. November 2013

Details zum Projekt findet ihr entweder auf der Projektseite des Blogs oder auf GitHub.

Ich bin im moment sehr zufrieden damit, da die Entwicklung zur Zeit sehr gut voranschreitet. Ich plane bis Weihnachten eine funktionsfähige Beta zum Laufen zu kriegen 🙂

Eclipse Java .gitignore

Wer viel mit GIT und Eclipse arbeitet, weiss wie mühsam es ist, keine anständige .gitignore zu haben.

Das folgende Template soll dem Abhilfe schaffen

# Build directories #
/build/
/bin
# Binary and temp files #
*.class
.DS_Store
# Package Files #
*.jar
*.war
*.ear
*.db
######################
# Windows
######################
# Windows image file caches
Thumbs.db
# Folder config file
Desktop.ini
######################
# Eclipse
######################
*.pydevproject
.project
.metadata
bin/**
tmp/**
tmp/**/*
*.tmp
*.bak
*.swp
*~.nib
local.properties
.classpath
.settings/
.loadpath
/src/main/resources/rebel.xml
# External tool builders
.externalToolBuilders/
# Locally stored "Eclipse launch configurations"
*.launch
# CDT-specific
.cproject
# PDT-specific
.buildpath

Gefunden auf
http://bmchild.blogspot.co.at/2012/06/git-ignore-for-java-eclipse-project.html

Hijacked

Frisch gebacken: Hijacked. [Direktlink zum GitHub]
Ein kleiner simpler in Java gehackter TomCat-"Ersatz". Minimalistisch. Spartanisch. Buggy. Very very ugly.

Perfekt für meinen Blog 😉

hijacked-01
Hijacked Webserver in der Eclipse Console

Der Webserver itself umfasst eine Klasse (Plus zwei Subklassen) und funktioniert für ganz simple GET-Requests recht gut. Es ist Multi-Threaded und somit für kleine Web-Anwendungen lauffähig. Naja ... Vielleicht sobald das Teil fertig getestet wurde 😉

GET-Request mit diversen Links in Firefox
GET-Request mit diversen Links in Firefox

Ihr findet Hijacked auf meinem GitHub-Repo: https://github.com/grisu48/Hijacked

Entwicklungsgeschichte

Ich brauchte für ein anderes Projekt einen kleinen minimalistischen Webserver. Hijacked wurde komplett per Reverse-Engineering zusammengebacken. Nicht gut. Nicht empfehlenswert. Very ugly.

Viel Spass damit!! 🙂

GitHub: Astro-tools-Repo erstellt

Ich habe soeben auf GitHub ein neues Repository eröffnet: Astro-Tools. Auch auf dem Blog habe ich unter 'Kleinprojekte' eine kleine Seite dazu verfasst.
Aktuell umfasst das Repo nur das Program 'redshift'. Es soll mir helfen, meine zukünftigen Tools auf allen meinen Rechnern aktuell zu halten.

Screenshot von GitHub
Screenshot von GitHub

Als Lizenz habe ich die GPLv3 gewählt. Da das Repo aber lediglich academical/educational purposes dient (Sorry for the English :-p), ist mir die lizenzierung in diesem Fall nicht so wichtig.

Zudem wurde das Program 'redshift' verbessert: Es finden sich nun einige Kommentare mehr drinnen(eben educational) und die Hubble-Konstante wurde auf den Stand von 21. März 2013 gesetzt:

Download

Am einfachsten geht das mit einem git clone in das Verzeichnis, wohin astro-tools kopiert werden soll. Beispiel:

cd ~/git
git clone https://github.com/grisu48/astro-tools.git

Fertig! 🙂

Redshift program

Ich habe ein kleines Programm in C++ geschrieben, mit dem der kosmologische Redshift berechnet werden kann. Das Programm findet ihr hier und kann (unter Linux) mit dem folgenden Befehl ganz einfach kompiliert werden:

g++ -Wall -Werror -pedantic -O3 redshift.cpp -o redshift

Das Programm hat des Weiteren Einzug im (neuen) Feldspaten-Repo gefunden.

Redshift-Programm in Action
Redshift-Programm in Action

 Hintergrund

Der kosmologische Redshift in ein Maß für die Distanz eines Objektes und benutzt dazu die Beobachtungen von Hubble. Hubble stellte fest, dass sich weit entfernte Objekte schneller von uns weg bewegen als nahe Objekte. Interessant dabei ist, dass der Raum isometrisch beschleunigt wird, sprich, die Expansion des Universiums ist überall gleich.

Zusammengefasst lässt sich dieser Sachverhalt in Hubble's law festhalten:


Der Redshift z lässt sich wie folgt darstellen:


Zusammengefasst also

Eine simple Ein- und Ausgabe dieses Sachverhalts mit mehereren Eingabemöglichkeiten für die Distanz (m, ly, pc oder Mpc) ist im Programm beinhaltet.

Trivialimplementierung: MySQL in C++

Ich habe eine sehr einfache Implementierung einer Zugriffsklasse auf MySQL in C++ geschrieben. Dient mehr als Schulungsmaterial und als Vorlage für eigene Implementierungen denn für den produktiven Einsatz.

Download

Im übrigen denke ich ernsthaft darüber nach, die Repository für diverses umzustellen und handlicher zu machen. Das Nackte Apache-Directory Listing ist mir mittlerweile zu einfach geworden 😉

Tool des Tages: Detexify

Tool des Tages ist detexify.

Detexify ist ein handliches Tool, das euer Gekritzle gegn LaTeX-Ausdrücke parst. Einfacher ausgedrückt: Du weisst nicht mehr wie man ein bestimmten Symbol in LaTeX schreibt? Kritzle es hin, und detexify sucht nach bekannten Ausdrücken.

IMHO ein sehr cooles Tool für alle die mehr mit LaTeX zu tun haben - Am besten gleich allen Freunden mailen. 😉

Link: http://detexify.kirelabs.org/classify.html