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.

MTP in Ubuntu 12.04 und 12.10

Bei neueren Androiden ist der Zugriff auf das Dateisystem mittels einer USB-Partition nicht mehr möglich. Google entschied sich, das von Microsoft und Canon vorgestellte MTP Protokoll einzubauen, das leider nicht bei allen Betriebssystemen einwandfrei Out-of-the-box unterstützt wird.

 

Abhilfe in Ubuntu 12.04 und 12.10

Dieser Workaround geht über ein Update des virtuellen Gnome Filesystems gvfs.

Eine direkte Implementierung ist erst in Ubuntu 13. 04 "Raring Ringtail". Bis dahin, und bis sich ein Umstieg lohnt steht jedoch ein PPA für 12.04+ zur Verfügung, in dem das ganze nachinstalliert werden kann. Folgende Befehle sollten das ganze nachinstallieren:

sudo add-apt-repository ppa:langdalepl/gvfs-mtp
sudo apt-get dist-upgrade
sudo apt-get upgrade

Abmelden und neu anmelden sollte das ganze aktivieren. Ein Neustart ist meistens nicht erforderlich.

Ich habe das Procedere auf meinem Lenovo x220 Tablet und einem Samsung Galaxy Note 2 Tab getestet. Funktioniert ohne Probleme

Zurücksetzen

Einfach das PPA wieder entfernen und das Dateisystem gtvfs downgraden:


sudo ppa-purge ppa:langdalepl/gvfs-mtp
sudo apt-get update

Fertig! 🙂

Achtung: Windows 8, NTFS-3G und Schnellstart

Achtung: Der Zugriff auf eine NTFS-Partition von Windows 8 kann zum Datenverlust führen, wenn das Schnellstart-Feature von Windows 8 aktiviert wurde.

Konkret: Ein Teil der Metadaten aller Partitionen wird nach dem erneuten Booten von Windows wiederhergestellt. Werden diese Metadaten wiederhergestellt, sind Änderungen die nach dem Herunterfahren von Windows gemacht wurden, nicht mehr sichtbar. Folglich könnten dadurch alle neu erstellten Datein, die in Linux erstellt/gelöscht/bearbeitet wurden, verloren gehen.

Einer der Entwickler des NTFS-3G Treibers spricht die Problematik auf seiner Homepage an.

Workaround

Schnellstar-Feature unter Windows deaktivieren. Als Administratur muss dazu folgender Befehl in einer Kommandozeile ausgeführt werden

powercfg /h off

 

http://www.heise.de/open/artikel/Die-Woche-Gefahren-beseitigen-nicht-ignorieren-1780899.html

 

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 😉