Text unter MySQL ersetzen

In einer MySQL-Datenbank ändert man selten viele Daten auf einmal. Allerdings kommt dies trotz allem ab und an vor. Ein solcher Anwendungsfall wäre z.B. die Änderung einer Zeichenkette innerhalb einer Tabelle. Für MySQL gibt es hierfür die SQL-Funktion REPLACE, welche dies ermöglicht. Im Beispiel könnte das so aussehen:

UPDATE names SET forename = REPLACE(forename, 'Anja', 'Anne')

In diesem Beispiel wird in der Tabelle names das Feld forename bearbeitet. Dabei wird jedes Auftreten von Anja durch Anne ersetzt.

Festplatte mit dd löschen

Mit Hilfe des Befehls dd ist es unter Linux und vielen anderen unixoiden Systemen möglich, eine Festplatte mit Nullen zu überschreiben. Ist die Festplatte dabei z.B. als sda im System registriert, so funktioniert das Überschreiben mit folgendem Befehl:

dd if=/dev/zero of=/dev/sda

Je nach Festplattengröße kann der Vorgang dabei durchaus einige Stunden in Anspruch nehmen.

To the Moon

Die letzten Stunden habe ich damit verbracht das Spiel To the Moon von Freebird Games zu spielen. Es handelt sich dabei um eine Art Rollenspiel, wobei es mehr interaktive Geschichte als Rollenspiel ist. Die Geschichte spielt im Amerika der Zukunft und handelt von einer Firma bzw. einer Agentur, welche die Erinnerungen von Menschen manipuliert. In dem Spiel wird die Agentur von einem sterbenskranken Mann beauftragt seine Erinnerungen so zu manipulieren, das dieser zum Mond geflogen ist. Der Mann weiß allerdings nicht warum er das Bedürfnis hat zum Mond zu fliegen und so versuchen die beiden Mitarbeiter der Agentur Dr. Rosalene und Dr. Watts herauszufinden, was es mit dem Wunsch auf sich hat. Sie reisen dabei von jüngeren zu immer älteren Erinnerungen auf dem Weg zur Lösung des Rätsels.

To the Moon

To the Moon

Das Spiel wirft dabei philosophische Fragen zum Wesen von Erinnerungen und der Frage ob man diese verändern darf auf. Dies wird besonders im letzten Drittel des Spieles mehr als deutlich. Trotz des teilweise doch recht ernstens Themas verliert das Spiel seinen Humor nicht, was an den beiden Hauptcharakteren – Mitarbeitern der Sigmund Corp. – liegt. So werden an vielen Stellen Anspielungen auf Serien, Filme und ähnliches untergebracht – unter anderem wird der Frage nachgegangen wie man einen Flügel in die TARDIS bekommt.

Die Spielzeit von To the Moon beträgt etwa vier bis sechs Stunden. Neben dem eigentlichen Hauptspiel, existieren noch zwei kleinere DLCs mit einer Dauer von je zwanzig Minuten. Im Gegensatz zum Hauptspiel, welches in mehreren Sprachen, darunter auch Deutsch vorliegt, sind die DLC leider nur in Englisch (zumindest in der Steam-Variante, es gibt Übersetzungen zum herunterladen) vorhanden. Technisch wurde das Spiel mit dem RPG Maker XP realisiert. Das Spiel ist dabei für Mac OS X, Linux und Windows verfügbar. Mittlerweile befindet sich ein Nachfolger – genannt Episode 2 – in der Entwicklung welcher Ende 2016 bzw. Anfang 2017 erscheinen soll – in diesem soll es um einen neuen Patienten gehen.

Swagger – REST API goes Framework

Ein REST-API von Hand entwickelt, benötigt eine Dokumentation, ein entsprechenden Server und eventuell einige Clients als Referenz. Einfacher wird es mit einem Framework wie Swagger. Unter Zuhilfenahme der Beschreibungssprache YAML können mit Hilfe des Frameworks REST-APIs, Dokumentation, Server und Clients generiert werden.

Der Swagger Editor

Der Swagger Editor

Doch Swagger versteht sich nicht nur als Framework, sondern auch als Spezifikation. Begonnen wurde mit der Entwicklung bereits im 2010; die Swagger Specification trägt seit Anfang Januar 2012 offiziell den Namen OpenAPI Specification und beschreibt eine maschinenlesbare Interfacedefinitionen einer REST-API. Ähnliches wurde unter anderem schon mit WSDL und WADL versucht – alles Konzepte bzw. Beschreibungsprachen welche an ihren eigenen Limitationen gescheitert sind und wenn überhaupt nur noch sporadisch genutzt werden.

Betreut und weiterentwickelt wird die Spezifikation nun von der Open API Initiative, zu der namenhafte Firmen wie Google, PayPal, IBM, Atlassian und Microsoft gehören. Die Spezifikation als solche ist freie Software und auf GitHub zu finden. Sie ist unter der Apache Lizenz lizenziert. Aktuell ist die Spezifikation in der Version 2.0 veröffentlicht.

Auf der offiziellen Webseite von Swagger findet sich ein Editor, mit welchem APIs definiert werden können und anschließend exportiert werden können. Der Editor kann dabei Server unter anderem in den Sprachen bzw. für die Framworks Haskel, Jax-RS, Node.js, Python, Rails und PHP erzeugen. Bei den Clients ist die Auswahl noch größer. Diese können in C#, HTML, Dart, Go, Groovy, Java, Javascript, Objective C, Perl, PHP, Ruby, Scala, Swift und vielen weiteren Sprachen erzeugt werden.

Neben dem Editor kann für die Erzeugung von Clients auch der Swagger Codegen genutzt werden. Dabei handelt es sich um eine Java-Anwendung um die Clients lokal auf dem eigenen Rechner zu erzeugen. Der Editor und viele weitere Tools rund um Swagger sind ebenfalls auf GitHub zu finden. – auch diese sind freie Software, welche unter der Apache Lizenz stehen.