JSON-Validator und Formatierer

Der JavaScript Object Notation, kurz JSON, sind viele Entwickler sicherlich schon einmal über den Weg gelaufen. Bei der Arbeit mit JSON-Daten tritt ab und an der Fall auf das Daten für einen Test validiert oder sinnvoll formatiert werden sollen.

Der JSON Formatter & Validator von Curious Concept

Im Web existieren unterschiedlichste JSON-Validatoren und Formatierer, allerdings mit eher schwankender Qualität. Einer der Validatoren, welcher heraussticht ist der JSON Formatter & Validator von Curious Concept. Er kann JSON-Daten nach den unterschiedlichsten Standards (RFC 8259, RFC 7159, RFC 4627 und ECMA-404) validieren und anhand unterschiedlichster Templates formatieren. Zu finden ist der Validator unter jsonformatter.curiousconcept.com.

Mikrofone unter Windows 10 deaktivieren

Während eine Kamera in einem Laptop problemlos abgeklebt werden kann, sieht dies bei Mikrofonen etwas anders aus. Allerdings können Mikrofone unter Windows relativ einfach deaktiviert werden. Dazu muss die Systemsteuerung geöffnet werden.

Unter Audiogeräte verwalten können die Mikrofone deaktiviert werden

Dort sollte nach dem Begriff Audio gesucht werden. Anschließend sollte dem Nutzer in der Kategorie Sound der Punkt Audiogeräte verwalten angezeigt werden. Wurde der Punkt ausgewählt, so kann im sich öffnenden Dialog der Tab Aufnahme ausgewählt werden. Mit einem Rechtsklick auf die entsprechenden Mikrofone können diese nun deaktiviert werden.

Standardeditor für die Z shell einstellen

In der neuen macOS-Version Catalina wurde die Standardshell seitens Apple gewechselt. Statt der Bourne-again shell, kurz Bash, wird nun die Z shell, kurz zsh, genutzt. Grund hierfür ist, dass die Lizenz, welche von Bash genutzt wird, aus Sicht von Apple zu restriktiv ist. Aus diesem Grund wurde zur Z shell gewechselt. In dieser ist, unter macOS, standardmäßig vi als Editor eingestellt. Soll der Standardeditor geändert werden so muss die entsprechen Konfigurationsdatei der Z shell im Terminal bearbeitet werden:

nano ~/.zshrc

In diese Datei muss nun folgende Zeile eingetragen werden:

export EDITOR=nano

Damit wird, nachdem die Konfiguration gespeichert wurde und die Shell neu geöffnet wurde, nano als Standardeditor genutzt.

Convert2Markdown

Anfang des Jahres schrieb ich ein Tool, mit welchem WordPress-Dumps in Markdown umgewandelt werden können. In den letzten Tagen habe ich das Tool erweitert, sodass es nun auch mit MediaWiki-Dumps umgehen kann und diese ebenfalls nutzen und in Markdown konvertieren kann:

java -jar Convert2Markdown.jar -i mediawiki-dump.xml

Im Zuge dessen wurde das Tool umbenannt, statt WordPress2Markdown trägt es nun den Namen Convert2Markdown. Die Erkennung welche Art Dump genutzt wird, wird von Convert2Markdown automatisch vorgenommen und der entsprechende Konverter genutzt. Daneben wurden weitere Kleinigkeiten überarbeitet; so ist es nun unter anderem möglich Artikel nach Autorenschaft zu filtern. Zu finden ist das Werkzeug auf GitHub. Dort kann auch das Release bezogen werden. Convert2Markdown ist unter der GPL3 lizenziert und damit freie Software.

Bibliothek zum Einlesen von MediaWiki-Dump-Dateien

Für ein Projekt war ich auf der Suche nach einer Java-Bibliothek um die Dumps einer MediaWiki-Installation auszuwerten. Fündig geworden bin ich bei der Bibliothek WikiXMLJ, welche allerdings mittlerweile einige Jahre auf dem Buckel hat. Auf Basis dieser Bibliothek habe ich die Bibliothek mediawikixml erstellt. Um die Bibliothek zu nutzen, muss im ersten Schritt eine neue Paketquelle in der pom.xml definiert werden.

<repositories>
 <repository>
 	<id>github</id>
 	<url>https://maven.pkg.github.com/seeseekey/mediawikixml</url>
 </repository>
</repositories>

Anschließend kann die Abhängigkeit eingebunden werden:

<dependency>
    <groupId>net.seeseekey</groupId>
    <artifactId>mediawikixml</artifactId>
    <version>1.0.1</version>
</dependency>

Damit kann die Bibliothek zur Auswertung von MediaWiki-Dumps genutzt werden:

WikiXMLParser wikiXMLParser = WikiXMLParserFactory.getParser("dump-current.xml");

try {

    wikiXMLParser.setPageCallback(new PageCallbackHandler() {
        public void process(WikiPage page) {
            System.out.println(page.getId());
            System.out.println(page.getRevisionId());
            System.out.println(page.getTimestamp());
            System.out.println(page.getTitle());
            System.out.println(page.getWikiText());
        }
    });

    wikiXMLParser.parse();
} catch (Exception e) {
    e.printStackTrace();
}

Für jede MediaWiki-Seite wird unter anderem die ID, die Revision, der Timestamp, der Titel und der eigentliche Inhalt der Seite geparst. Die Bibliothek setzt mindestens Java 8 voraus. Zu finden ist das Repository mit der Bibliothek auf GitHub. Die Bibliothek ist unter der Apache License in Version 2 lizenziert und damit freie Software.