Regelwerk zu FUK – The System

Vor knapp zwei Jahren schrieb ich über ein Pen & Paper-System mit dem Namen FUK – The System. Wer heute die offizielle Seite des Projektes unter fuk-the-system.de besucht, wird leider feststellen das dort nichts mehr zu finden ist.

Die offizielle Seite des Projektes in früheren Tagen

Da die Seite nicht mehr verfügbar ist, stelle ich das Regelwerk, in der aktuellsten Version 1.2.0, zum Download zur Verfügung. Das Regelwerk ist unter der Creative Commons-Lizenz CC-BY lizenziert. Entwickelt wurde das Regelwerk ursprünglich vom Goldenen Kamel. Neben dem Regelwerk gibt es weitere Tools rund um FUK, wie z.B. einen Heldengenerator.

Blankensee in Mecklenburg

Ich wohne bereits seit einigen Jahren in der Gemeinde Blankensee in Mecklenburg. Was ich in dieser Zeit ein wenig vermisst habe ist eine zentrale Anlaufstelle, in welcher Informationen zur Gemeinde gefunden werden können. Aus diesem Grund habe ich mich selber daran gemacht und eine solche Seite erstellt. Herausgekommen ist eine Seite über Blankensee in Mecklenburg, welche Informationen rund um die Gemeinde bietet.

Die Webseite blankensee.net

Neben Informationen und Nachrichten, finden sich weitere Dinge wie z.B. frei verwendbare Karten, basierend auf OpenStreetMap-Daten, auf der Seite. Ziel ist es die Seite im Laufe der Zeit weiter auszubauen, um einen größtmöglichen Mehrwert zu liefern. Zu finden ist die Seite über Blankensee in Mecklenburg unter blankensee.net.

Unicode-Tabelle im Web

Unicode besteht mittlerweile aus über 137.000 Zeichen. Während ASCII mit seinen 128 Zeichen noch übersichtlich daherkam, ist dies bei Unicode etwas komplexer. Abhilfe schafft hier das Webprojekt der Unicode-Zeichentabelle. In dieser Tabelle lassen sich Unicode-Zeichen betrachten, kopieren und einzeln aufrufen. In der Einzelansicht werden verschiedene technische Angaben zu dem jeweiligen Zeichen dargestellt.

Die Unicode-Tabelle stellt die Unicode-Zeichen übersichtlich da

Zu finden ist das Projekt unter unicode-table.com. Die Seite steht in unterschiedlichen Sprachen, unter anderem Russisch, Englisch, Polnisch und Deutsch zur Verfügung. Die Daten, welche vom Projekt genutzt werden, sind auf GitHub zu finden.

Wireless Geographic Logging Engine

Bei der Wireless Geographic Logging Engine, kurz WiGLE, handelt es sich um eine Datenbank in welcher WLAN-Netzwerke aufgezeichnet werden. Neben der Position und dem Namen werden anderen Dinge wie die genutzte Verschlüsslung hinterlegt. Mittlerweile sind in der Datenbank über 530 Millionen Netzwerke aufgeführt. Neben dem Fokus auf WLAN, werden ebenfalls Bluetooth-Geräte in der Datenbank aufgeführt.

Die Webseite des Projektes

Eigene Netzwerke können mithilfe der WiGLE-Android-App hinzugefügt werden.

Wigle Wifi Wardriving
Preis: Kostenlos

Für iOS existiert keine WiGLE-App. Allerdings gibt es noch weitere Möglichkeiten Daten zur Datenbank beizutragen. Die Daten selber sind dabei leider nicht unter einer freien Lizenz lizenziert. Zu finden ist das Projekt unter wigle.net.

Ausführbare jar-Datei mittels Maven generieren

Für bestimmte Java-Projekte ist es durchaus praktisch als Ergebnis eine jar-Datei inklusive der benötigten Abhängigkeiten zu generieren. So kann das Projekt in Form einer einzelnen Datei unkompliziert ausgeliefert werden. Mittels Maven lässt sich dies relativ einfach bewerkstelligen. Dabei wird eine Basis-POM (pom.xml) benötigt, in welcher das Plugin maven-assembly-plugin konfiguriert wird:

<plugin>
	<artifactId>maven-assembly-plugin</artifactId>
	<version>3.1.0</version>
	<configuration>
		<archive>
			<manifest>
				<mainClass>com.example.webservice.Webservice</mainClass>
			</manifest>
		</archive>
		<descriptorRefs>
			<descriptorRef>jar-with-dependencies</descriptorRef>
		</descriptorRefs>
	</configuration>
</plugin>

Soll nach erfolgter Entwicklung die jar-Datei mit den Abhängigkeiten erzeugt werden, muss das Kommando:

mvn clean compile assembly:single

genutzt werden. Damit das Ganze auch beim gewöhnlichen:

mvn package

funktioniert, muss die pom.xml angepasst werden. Dabei wird zur Plugin-Definition ein executions-Block hinzugefügt, welcher dafür sorgt das dass Ziel single auch während der Phase package ausgeführt wird. Die komplette pom.xml sieht dann wie folgt aus:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example</groupId>
    <artifactId>webservice</artifactId>
    <version>1.0.0</version>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    </properties>

    <dependencies>
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.8.5</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.7.0</version>
                <configuration>
                    <source>8</source>
                    <target>8</target>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>3.1.0</version>
                <configuration>
                    <archive>
                        <manifest>
                            <mainClass>com.example.webservice.Webservice</mainClass>
                        </manifest>
                    </archive>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                </configuration>
                <executions>
                    <execution>
                        <id>make-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>

Alle im dependencies-Block verwendeten Abhängigkeiten, werden somit in die jar-Datei übernommen.