Globales @Before in JUnit

Wenn man unter JUnit für mehrere Tests einige vorbereitende Schritte benötigt, so kann man dafür die @Before Annotation nutzen:

@Before
public void setup() {
    // Prepare something
}

Das Problem an dieser Methode ist, das dass ganze auf eine Klasse beschränkt ist. Benötigt man die vorbereitenden Schritte in mehreren Klassen, so muss man sich unter JUnit 4 anders behelfen. Dort führt die Lösung über eine abstrakte Klasse:

public abstract class TestBase {
    @Before
    public void setup() {
        // Prepare something
    }
}

Von dieser Klasse können die Klassen mit den Testfällen abgeleitet werden. Allerdings muss man beachten, das es hierbei zu doppelter Initialisierung kommen kann. Unter JUnit 5 kann man dies nun wesentlich einfacher lösen. Dort gibt es die neue Annotation @BeforeAll:

@BeforeAll
public void setup() {
    // Prepare something
}

Mit diese Annotation wird die Initialisierung vor der Ausführung der Tests durchgeführt.

Minecraft-Namenshistorie anschauen

Wenn man Minecraft spielt, so macht man dies mit einem bestimmten Namen. Diesen Namen kann man über das Mojang-Profil ändern. Allerdings ist es von Mojang gewünscht das man dieses Namenshistorie nachvollziehen kann. Als passendes Tool hat sich die Webseite NameMC herauskristallisiert.

namemc.com

NameMC, welches unter namemc.com zu finden ist, ermöglicht das Durchforsten der Namensdatenbank. Daneben können auf der Webseite Skins gesucht und direkt über das Mojang-Profil auf den Minecraft-Charakter angewendet werden.

Größe des Flashspeichers beim NodeMCU ermitteln

Das auf dem ESP8266 basierendem Entwicklungsboard NodeMCU gibt es unterschiedlichen Varianten, die sich unter anderem durch die Größe des Flashspeichers unterscheiden. Möchte man nun ermitteln welche Größe der Speicher beim eigenen NodeMCU-Board hat kann man dies mit einem Programm aus einem der ESP8266-Repositories sehr unkompliziert ermittelt.

Die Größe des Flashspeichers wird über die serielle Schnittstelle ausgegeben

Nachdem die Arduino IDE mit dem Programm geöffnet wurde und das Programm auf das NodeMCU-Board geflasht wurde, kann die Ausgabe über die serielle Schnittstelle ausgelesen werden. Dazu muss der serielle Monitor, im Menü unter Werkzeuge -> Serieller Monitor zu finden, aktiviert werden. Wichtig ist es, dass hier die korrekte Baudrate eingestellt wird.

Schlaf mit der Apple Watch tracken

Wer eine Apple Watch sein Eigen nennt, wird sich unter Umständen darüber wundern, das etwas was selbst günstige Fitnesstracker wie das Mi Band 2 beherrschen bei der Apple Watch nicht Out of the Box funktioniert. Die Rede ist vom Tracking und der Aufzeichnung des Schlafverhaltens.

Die App bei einer Auswertung

Dank der App AutoSleep kann man diese Funktionalität nachrüsten. Anhand der Bewegungsaktivität der Apple Watch und des iPhones versucht die App zu erkennen, wann der Träger der Apple Watch im Bett liegt und schläft.

AutoSleep - Schlaftracker
Preis: 8,99 €

Dabei kennt die App zwei unterschiedliche Modi. Beim ersten Modi trägt man die Apple Watch während der Nacht; AutoSleep erkennt anhand der Bewegungsmuster ob der Nutzer schläft. Da die Apple Watch ab und an auch geladen werden muss, gibt es den zweiten Modus. In diesem nimmt die App an dass man, während die Smartwatch nachts lädt, schläft. Damit die Ergebnisse möglichst nah an der Realität sind, gibt es eine Reihe von Einstellungsmöglichkeiten innerhalb der App. So kann man mit der Apple Watch mit etwas softwareseitiger Hilfe den Schlaf tracken.

Minecraft-Bahnhof mit automatischer Fortsetzung der Fahrt

Für ein U-Bahn-System welches ich auf meinem Minecraft-Server bauen wollte, war ich auf der Suche nach einem System um in einen Bahnhof einzufahren und nach einer gewissen Wartezeit wieder in die Richtung Fahrrichtung zu fahren, falls der Spieler nicht vorher aus der Lore aussteigt.

Das System von oben

Herausgekommen ist ein System, bei welchem der Zug einfährt und ein Redstone-Signal mit einer Aktivierungsschiene auslöst. Dieses Signal aktiviert eine Trichter-Clock. Über die Größe der Trichter-Clock kann die Zeitdauer des Stopps auf dem Bahnhof bestimmt werden. Sobald die Trichter-Clock einmal im Kreis gelaufen ist, löst sie ein Signal aus und schießt den Zug ab. Damit das Signal lang genug ist, wird eine Schaltung zur Verlängerung des Signals genutzt. Ansonsten würde der Zug während der Anfahrt stecken bleiben.

Die Signalverlängerung

Das Problem, das der Zug in die richtige Richtung fährt, wurde dadurch gelöst das er vor dem Stopp eine Erhöhung befahren muss und in der Erhöhung zum Stehen kommt. Bekommen die Schienen wieder das Redstone-Signal erledigt die Schwerkraft den Rest. Damit sind manuelle Abschüsse ebenfalls möglich.