Zsh and Home/End/Delete buttons

I've notices that in Zsh under Mate, the HOME/END/DELETE buttons are for some reasons not working as I expected them to work. I use vim keybindings, and am still accustomed to sometimes hit the end button to reach the end of the line. So far it has never been a problem, but zsh just reacts weirdly here. Before triggering a rage quit, I found a solution of how to deal with it. Put the following lines in your .zshrc and you're good

I found this solution here and mirror it on my blog, in case the original solution gets lost or something.

I also link oh-my-zsh here, in case someone just hopped on zsh as well and wants to make it as fancy as possible ­čÖé

Kurzeintrag: Imagemagick und Collagen

Kurzeintrag: Mit dem Imagemagick-Programm montage kann man sehr einfach Collagen erstellen.

Um beispielsweise aus den viert Dateien Plot1.png - Plot4.png eine Collage mit den Namen Collage.png zu erstellen gen├╝gt der folgende Befehl:

Um die Dateien auf eine Gr├Â├če von 320x320 zu bringen, und eine 2x2 Collage zu erstellen

Fertig! Gefunden im Montage User Manual

Patch erzeugen (diff, patch)

Dev corner | Patch, diff | Eine kurze Einf├╝hrung

"Einen Patch einspielen". "Eine Datei patchen". Diese Phrasen h├Ârt man h├Ąufig wenn es um Software geht, vor allem bei solcher, an der mehrere Personen beteiligt sind.
Ein Patch in diesem Kontext ist nichts anderes als eine Datei, welche die Änderungen einer anderen Datei beschreibt. Also soetwas wie "Ersetze Zeile 3 mit einer leeren Zeile".
Beispiel:
Ich arbeite an einem sehr gro├čen Code (sagen wir mal so um die 10 MB) und entdecke einen Bug, den ich beheben kann. Die ├änderung ist ein Einzeiler. Ich m├Âchte die ├änderung an den Programm-Entwickler schicken.
Nun kann ich entweder die rie├čige Code-Datei┬á(10 MB) an den Maintainer schicken, oder ich erstelle eine Datei, welche genau sagt, an welcher Stelle welche ├änderungen zu erledigen sind (< 1 kByte).
Nun, Computerentwickler sind faul. Es w├Ąre doch sch├Ân, wenn es ein Programm gibt, das eine solche Datei automatisch generiert und anwenden kann.
Hanau hier kommen diff und patch ins Spiel.

Anleitung

Beispielannahmen:

Originaldatei: original.c
Ge├Ąnderte Datei: original_new.c

Patch erstellen

Die Datei original.c.patch beinhaltet nun alle Änderungen relativ zu original.c.

Patch einspielen

Der Maintainer hat sich den Patch angeschaut und ist mit den Änderungen einverstanden. Nun kann er seine Datei original.c mit der Datei original.c.patch patchen:

Patch und Diff im Einsatz in der Konsole
Patch und Diff im Einsatz in der Konsole

N├╝tzliche Optionen

Notiz f├╝r Eclipse

In Eclipse ist es bei GIT oder SVN-Projekten sehr einfach Patches zu erstellen oder einzuspielen:

Rechtsklick auf die Datei -> Team -> Create / Apply patch

Patchen und Patches anwenden in Eclipse
Patchen und Patches anwenden in Eclipse

nanoHttp Binary

F├╝r nanoHttp steht ab sofort ein Binary zur Verf├╝gung (ARMv7). Die Installation muss per Hand erledigt werden und richtet sich eher an fortgeschrittene Benutzer. Kentnisse mit ADB, einer Shell und root sind erforderlich.
Eine Installationsanleitung in Englisch findet sich im Paket.

[Paket downloaden]

Mit der aktuellen Version ist auch das Problem, dass das Program bei einem abgebrochenen Transfer abschmiert behoben worden.

Exact Riemann Solver

Astro-Tools hat ein neues Tool erhalten: qt-ExactRiemann.

Es ist eine C++ Implementierung eines Exakten Riemann Solvers mit eingebauter Plot-Funktion.

qt-ExactRiemann in Aktion
qt-ExactRiemann in Aktion

Hier ist ein Zip-File mit kompilierten Program (Linux-x64) und Source code.

Empfohlen wird jedoch, sich an das GitHub-Repository zu halten, um auch laufend Aktualisierungen mit einzuspielen.

 

nanoHttp

nanoHttp - Ein extrem einfacher Web-Server, geschrieben in C.

Prim├Ąrer Einsatzzweck ist es einen einfachen Webserver auf meinem Android-Tablet zu haben, ohne einen Riesen wie kWS oder ├Ąhnliche zu installieren.

Cross-Compile f├╝r Android (arm-linux-androideabi-gcc)

Erforderliche Pakete:

  • gcc-arm-linux-androideabi

Standartm├Ą├čig wird gcc zum kompilieren verwendet. Das entstehende Binary ist dadurch f├╝r dein System geschaffen.
Um nanoHttp f├╝r Android zu kompilieren muss nun ein anderer Compiler gew├Ąhlt werden. Dazu kann einfach das Makefile editiert werden: Kommentar der folgenden Zeile entfernen und die CC=gcc-Zeile auskommentieren:

Nun ein einfaches make ausf├╝hren

Und fertig ­čÖé

Installationspacket

Mitlerweile steht ein fertig kompiliertes Binary zum Download bereit. Die Installation muss per Hand erledigt werden, Anleitungen liegen jedoch im Packet.

Die Installation richtet sich eher an fortgeschrittene Benutzer, die sich mit ADB auskennen.

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 ­čÖé

Flex enters new area: Python

Hey, ich habe drei Sachen anzuk├╝ndigen:

  1. Italien ist im Fu├čball-Finale ^^
  2. Der Blog wird fortan auf deutsch gef├╝hrt ­čÖé
  3. Wir betreten Neuland: Python

Python

Damit soll eine Messprotokollierung automatisiert werden - Soll uns aber hier nicht weiter interessieren.

Ich bin begeistert: Python ist sehr einfach, dynamisch typisiert, einfach, flexibel und einfach ­čśë

Ich bin noch am basteln, und werde diesen Artikel bei Gelegenheit um das eine oder andere Tutorial erweitern, der Ersteindruck ist schonmal sehr gut

 

Buchtipp: Galileo Openbook dazu findet ihr hier