seeseekey.net - Invictus Deus Ex Machina

Wer auf der Suche nach einem Verwaltungswerkzeug für SQLite-Datenbanken ist, sollte sich den freien Database Browser for SQLite anschauen. Mit Hilfe der Anwendung können die Datenbanken gelesen und bearbeitet werden.

Die Oberfläche mit geöffneter Oberfläche

Die Oberfläche mit geöffneter Oberfläche

Verfügbar ist der SQLite Browser für Linux, Mac OS X und Windows. Die freie Software ist unter der GPL in der Version 2 und höher lizenziert. Der Quelltext ist auf GitHub zu finden. Die Kompilate können über die offizielle Webseite unter sqlitebrowser.org bezogen werden.

Microsoft kauft Mojang und damit Minecraft. Wenn man sich andere Akquisitionen von Microsoft im Spielebereich anschaut, bekommt man bei dieser Vorstellung ein mulmiges Gefühl. Entweder Sie fahren das Spiel gegen die Wand, oder es läuft demnächst nur noch auf Microsoft-Betriebssystemen. Natürlich kann auch alles funktionierten und unsere Befürchtungen erweisen sich als gegenstandslos. Allerdings zeigt der Aufkauf von Mojang eine Abhängigkeit auf. So haben viele Menschen riesige Bauwerke geschaffen, welche unter Umständen bald nicht mehr verfügbar sind. Minecraft ist nicht nur ein Spiel, es ist ein Kreativbetriebssystem. In einem solchem Fall spielt freie Software ihre Vorteile aus. Bei einer solchen Software, kann man das ganze einfach forken und in seinem Sinne weiterentwickeln. Bei proprietärer Software wird dies schwierig.

Eine von vielen Minecraft-Welten

Eine von vielen Minecraft-Welten

Mit Minetest gibt es einen durch Minecraft inspirierten Clone, welcher für Mac OS X, Linux und Windows verfügbar ist. Das Spiel ist im Gegensatz zur aktuellen Minecraft-Version etwas rudimentär, was Dinge wie verfügbare Blöcke und ähnliches angeht. Allerdings relativiert sich das ganze wenn man sich die API-Schnittstelle anschaut. Mit Hilfe der API, kann man alle möglichen Erweiterungen wie Loren, TNT, Mobs oder Pyramiden ins Spiel holen. Die maximale Weltgröße ist auf −30912 zu 30927 in allen Dimensionen (auch Z) beschränkt. Etwas seltsam erscheint mir allerdings die Speicherung der Map in einer SQLite-Datenbank – dort muss sich zeigen ob dies bei großen Welten wirklich performant ist. Auch für Server-Backups ist dieses Verfahren nicht wirklich gut geeignet. Minetest ist in C++ entwickelt, was sich positiv auf die allgemeine Performance auswirkt, so das es auch auf schwächeren Rechnern genutzt werden kann – so gibt es schon Versuche das ganze auch auf dem Raspberry Pi zum laufen zu bringen.

Minetest in Aktion

Minetest in Aktion

Die Entwicklung von Minetest sieht dabei vielversprechend aus, so das man in Zukunft viele Verbesserungen und neue Features erwarten darf. Neben dem Client ist auch ein Server für den Mehrspieler-Betrieb verfügbar. Der unter der LGPL lizenzierte Quellcode kann über GitHub bezogen werden. Die offizielle Seite von Minetest ist unter minetest.net zu finden.

Wenn man Ports unter MacPorts entfernt kann es passieren das Bibliotheken, welche von dem Port genutzt werden, im System verbleiben. Mit dem Umstieg von MacPorts auf eine SQL-Datenbank zur Haltung der Paketinformationen ist es möglich geworden diese ungenutzten Bibliotheken zu entfernen. Dazu muss im Terminal:

sudo port uninstall leaves

eingegeben werden. Anschließend werden die ungenutzten Bibliotheken entfernt und damit Plattenplatz freigegeben. Die Funktionalität der installierten Ports wird dadurch nicht beeinträchtigt.

In den letzten Jahren sind sie aus dem Boden geschossen, sogenannte „Read it later“-Dienste. Diese Dienste speichern dabei Artikel welche man erst später lesen möchte. Möglich wird dies durch Bookmarklets, Add-Ons und Apps welche die jeweiligen Artikel zum entsprechenden „Read it later“-Dienst schieben. Mit der freien Software wallabag, welche früher unter dem Namen poche bekannt war, kann man einen solchen Dienst selber hosten.

Die Login-Seite von wallabag

Die Login-Seite von wallabag

wallabag setzt auf PHP auf und ist unter der „DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE“ lizensiert, und damit freie Software, wie man dem Lizenztext entnehmen kann:

            DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
                    Version 2, December 2004

 Copyright (C) 2004 Sam Hocevar 

 Everyone is permitted to copy and distribute verbatim or modified
 copies of this license document, and changing it is allowed as long
 as the name is changed.

            DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

  0. You just DO WHAT THE FUCK YOU WANT TO.

Wichtig ist nur das der Name der Applikation geändert wird, wenn man diese forken möchte. wallabag kann auf der offiziellen Seite des Projektes unter www.wallabag.org bezogen werden.

Die Daten in einer SQLite Datenbank sind im Normalfall unverschlüsselt. Natürlich kann man die Daten von Hand verschlüsseln, was aber auf Dauer wahrscheinlich etwas anstrengend wird. Anhilfe schafft hier die Bibliothek SQLCipher mit welcher SQLite Datenbanken verschlüsselt werden können. Die Bibliothek ist dabei Open Source und steht unter der BSD Lizenz. Zu finden ist die Bibliothek unter http://sqlcipher.net/.

Weitere Informationen gibt es unter:
http://de.wikipedia.org/wiki/Sqlite

Auf der Suche nach der Antwort auf die Frage wie man die Struktur eine Tabelle unter Sqlite ermitteln kann, bin ich über die Seite http://sqlzoo.net/ gestolpert. Dabei handelt es sich um eine Seite welche erklärt wie SQL sowie bestimmte andere Sachen (z.B. die Abfrage von Metadaten) funktionieren. Und das nicht nur für ein Datenbanksystem sondern für SQL Server, Oracle, MySQL, DB2, Mimer, PostgreSQL, SQLite und Access. Ein Fall für die Lesezeichen 🙂

Möchte man SQLite unter Visual Studio kompilieren, ist das nicht so einfach wenn man die falsche Version wählt 🙂 Unter http://www.sqlite.org/download.html sollte man sich die sqlite-amalgamation-*_*_*.zip herunterladen.

In dieser Datei befindet sich der Sourcecode von SQLite. Im Gegensatz zum normalen Sourcecode ist die Amalgamation bereits preprozessiert. Wenn man die Datei entpackt findet man folgende Dateien vor:

– sqlite3.c
– sqlite3.h
– sqlite3ext.h

Möchte man SQLite mit einer Shell kompilieren so benötigt man die shell.c welcche unter http://www.sqlite.org/cvstrac/rlog?f=sqlite/src/shell.c zu finden ist. Danach hat man alle Dateien beisammen.

Nun legt man im Visual Studio ein neues Projekt an. Man wählt die Win32 Console Application und bestätigt das ganze. Anschließend öffnet sich ein Assistent. Dort wählen wir Console Application und Empty Project aus.

Nun müssen wie die Dateien zum Projekt hinzufügen. Dazu gehen wir im Projekt auf den Ordner Source Files und fügen die sqlite3.c sowie die shell.c hinzu. Das gleiche muss dann mit den Headedateien gemacht werden. Dazu gehen wir auf den Ordner Header Files und fügen die Dateien sqlite3.h und sqlite3ext.h hinzu.

Nun muss das ganze noch kompiliert werden und fertig ist die SQLite Bibliothek.

Weitere Informationen gibt es unter:
http://www.sqlite.org/
http://de.wikipedia.org/wiki/SQLite