seeseekey.net - Invictus Deus Ex Machina

In WordPress gibt es einige vordefinierte Nutzer, wie den Abonnenten oder den Redakteur. Möchte man weitere Nutzergruppen erstellen um die Rechte feiner zu granulieren wird dies mit WordPress Bordmitteln schwierig. Abhilfe schafft hier das Plugin Members.

Vergabe der Capabilities mittels Members

Mit Hilfe des Plugins können neue Nutzerrollen angelegt werden und diese über die entsprechenden Capabilities mit Rechten versehen werden. Die neu angelegten Nutzergruppen können anschließend den jeweiligen Nutzern zugewiesen werden. Das Plugin ist dabei freie Software und steht unter der GPLv2. Der Quelltext ist auf GitHub zu finden.

Wer mit dem Gedanken spielt ein WordPress Plugin zu entwickeln der muss nicht bei null anfangen. Mit der WordPress Plugin Boilerplate hat man ein Grundgerüst, in welches man seine gewünschten Plugin-Eigenschaften einbringen kann. Die Boilerplate bietet dabei neben dem Grundgerüst, eine Unterstützung für Internationalisierung, dokumentierte Parameter und einen nach einem Schema (Trennung von administrativen und öffentlichem Quellcode) geordneten Quellcode. Zu finden ist die Boilerplate auf GitHub. Der Quellcode steht unter der GPL2 (und höher) und ist somit freie Software.

Möchte man ein Betriebssystem auf einem USB-Stick aufspielen, so kann man dies je nach Betriebssystem mit unterschiedlichen Mitteln wie z.B. „dd“ bewerkstelligen. Mit UNetbootin gibt es ein Werkzeug für Linux, Mac OS X und Windows, mit welchem sich dies über eine grafische Oberfläche erledigen lässt.

Das Dialogfenster von UNetbootin

Neben der Möglichkeit eine ISO-Datei auf einen USB-Stick zu spielen, ist es auch möglich aus einer Liste von Systemen zu wählen. Das gewählte System wird heruntergeladen und anschließend auf dem USB-Stick installiert. Bei UNetbootin handelt es sich um freie Software welche unter GPL in der Version 2 und höher lizenziert ist. Es kann auf der offiziellen Seite heruntergeladen werden.

Wie man OpenVPN unter Windows betreibt, hatte ich vor einigen Jahren beschrieben. Auch unter Mac OS X lässt sich das ganze einrichten. Als grafischer Client bietet sich der quelloffende und unter GPLv2 stehende Client Tunnelblick an, dessen offizielle Seite auf Google Code zu finden ist. Nach der Installation der aktuellen (stabilen) Version 3.3, kann Tunnelblick auch gleich ausgeführt werden. Für die Konfiguration des Clients benötigt man eine Datei mit den benötigten Parametern, welche die Endung „ovpn“ oder „conf“ trägt. Tunnelblick kann dabei bei Bedarf eine Beispielkonfiguration anlegen. In dieser Konfigurationsdatei werden nur folgende Werte geändert:

remote vpn.example.org 1194

# SSL/TLS parms.
# See the server config file for more
# description.  It's best to use
# a separate .crt/.key file pair
# for each client.  A single ca
# file can be used for all clients.
ca ca.crt
cert client.crt
key client.key

Die ovpn Datei wird mit der ca.crt Datei und der client.crt sowie der client.key Datei (beide erhält man vom VPN Anbieter) in einen Ordner gepackt und dieser Ordner mit der Erweiterung „.tblk“ versehen. Anschließend wie der Ordner im Finder geöffnet und somit der Tunnelblick-Konfiguration hinzugefügt. Danach kann die Verbindung im Kontextmenü aktiviert werden. Nach einigen Sekunden ist die Initialisierung beendet und die VPN Verbindung kann genutzt werden.

Es muss nicht immer Powerpoint oder LibreOffice Impress sein. Es geht auch einfacher (und schöner) wie impress.js beweist. Dabei handelt es sich um ein Framework basierend auf CSS3 Transforms welches sich für Präsentationen im Browser eignet.

Das impress.js Demo

Einen Eindruck der Fähigkeiten von impress.js kann man sich auf der entsprechenden Demoseite verschaffen. Das ganze ist dabei freie Software und unter der GPL sowie der MIT-Lizenz lizenziert. Der Quellcode ist auf Github unter https://github.com/bartaz/impress.js zu finden.

Manchmal ergibt es Sinn Quellcode der in Visual Basic vorliegt nach C# zu konvertieren. Ein freies Tool, welches auch große Mengen konvertieren kann ist dabei „Econ NetVert“. Neben der Möglichkeit Visual Basic nach C# zu konvertieren, steht auch der umgekehrte Weg offen.

NetVert in Aktion

Auch das Konvertieren von mehreren Dateien ist kein Problem, genauso wie die Umwandlung ganzer Projekte. Bei „Econ NetVert“ handelt es sich um freie Software welche unter der GPLv2 steht. Bezogen werden kann die Anwendung und der Quelltext unter http://econnetvert.codeplex.com .

Nachdem die Remotedesktop Software Version von Microsoft bei neueren Mac OS X Versionen gerne mal die Hufe hoch reißt wenn man sie beendet, wurde es Zeit sich nach etwas neuem umzuschauen. Die Wahl fiel dabei auf CoRD. Dabei handelt es sich um eine freie, GPLv2 lizenzierte, Remote Desktop Software welche mittlerweile in der Version 0.5.7 verfügbar ist.

Die Startoberfläche von CoRD

Etwas gewöhnungsbedürftig ist das Anlegen eines neuen Servers (wenn es nicht über „Quick Connect“ erfolgt). Nachdem man in dem Dialog alle Einstellungen vorgenommen hat, muss man Cmd + S drücken um die Einstellungen in einer RDP Datei zu speichern. Schließt man den Dialog einfach, so sind die Einstellungen verloren. Anschließend kann man die RDP Datei öffnen und wird mit dem entsprechenden Server verbunden. Bezogen werden kann CoRD unter http://cord.sourceforge.net.

LucasArts wurde vor einigen Wochen von Disney geschlossen. Mittlerweile stellt sich raus, das das ganze auch gute Seiten hat. So wurden die Quelltexte der Spiele „Jedi Knight 2 — Jedi Outcast“ und „Jedi Knight — Jedi Academy“ von Raven Software unter der GPLv2 veröffentlicht. Raven Software entwickelte diese damals für Lucas Arts.

Allerdings ist der Quelltext nicht mehr an der ursprünglichen Quelle auf Sourceforge (Jedi Outcast, Jedi Academy) zu finden. Der Grund dafür ist, das es noch einige proprietäre Bestandteile im Quelltext gibt, welche noch entfernt werden müssen, bevor das ganze wieder auf Sourceforge veröffentlicht wird.

Allerdings ist der Quelltext mittlerweile gespiegelt auf Github zu finden. So ist Jedi Outcast unter https://github.com/dpiers/Jedi-Outcast und Jedi Academy unter https://github.com/dpiers/Jedi-Academy zu finden.

Besonders witzig sind auch die Kommentare in den Quelltexten:

void NPC_CheckPlayerAim( void )
{
    //FIXME: need appropriate dialogue
    /*
    gentity_t *player = &g_entities[0];

    if ( player && player->client && player->client->ps.weapon > (int)(WP_NONE) && player->client->ps.weapon < (int)(WP_TRICORDER) )
    {//player has a weapon ready
        if ( g_crosshairEntNum == NPC->s.number && level.time - g_crosshairEntTime < 200 
            && g_crosshairSameEntTime >= 3000 && g_crosshairEntDist < 256 )
        {//if the player holds the crosshair on you for a few seconds
            //ask them what the fuck they're doing
            G_AddVoiceEvent( NPC, Q_irand( EV_FF_1A, EV_FF_1C ), 0 );
        }
    }
    */
}

Mittlerweile wird auch an einer Linuxumsetzung von Jedi Outcast gearbeitet, welche sich ebenfalls auf Github befindet.

Weitere Informationen gibt es unter:
http://www.reddit.com/r/programming/comments/1bnezw/jedi_outcastjedi_academy_source_code_released/
http://news.softpedia.com/news/Raven-Software-Asked-SourceForge-to-Remove-Jedi-Academy-and-Jedi-Outcast-344896.shtml
http://news.softpedia.com/news/Jedi-Academy-and-Jedi-Outcast-Projects-Mysteriously-Disappear-from-SourceForge-344571.shtml

Da der Google Reader ja bald eingestellt wird, sollte man sich langsam darüber Gedanken machen, wie es weitergeht. Natürlich kann man auf fremde Dienste wie Feedly wechseln. Allerdings behagt dieser Gedanke nicht jedem, da man wieder an einen bestimmten Anbieter gebunden ist. Eine Abhilfe schafft hier die Software „Tiny Tiny RSS“ welcher auf PHP und MySQL (wahlweise auch PostgreSQL aufsetzt). Die Software selbst steht dabei unter der GPLv2.

Probleme bei der Installation

Nachdem man die Software heruntergeladen hat und auf seinen Webspace kopiert hat, kann es auf einigen Systemen beim Test der Konfiguration zu Problemen mit der Einstellung „open_basedir“ kommen. Hat man hier keine Möglichkeit dies umzustellen oder möchte dies nicht, so muss man einige kleinere Anpassungen am Quelltext von „Tiny Tiny RSS“ vornehmen. Dazu wird in den Dateien „include/sanity_check.php“ und „install/index.php“ der Absatz:

if (ini_get("open_basedir")) {
  array_push($errors, "PHP configuration option open_basedir is not supported. Please disable this in PHP settings file (php.ini).");
}

auskommentiert. Danach sollte die Installation gelingen. Nach der Installation kann man sich mit den Standardnutzerdaten „admin“ und „password“ anmelden. Das Passwort sollte man anschließend sofort ändern. In den Einstellungen wird unter Benutzer ein neuer Nutzer angelegt, damit man nicht mit einem administrativen Account arbeiten muss.

Wenn man seine Daten mittels Google Takeout exportiert hat, kann man die „subscriptions.xml“ aus dem Export in „Tiny Tiny RSS“ importieren. Dazu geht man in den Einstellungen auf den Tab „Feed“ und dort auf „OPML“. Dann kann man die entsprechende Datei importieren.

Tiny Tiny RSS in Aktion

Danach kann man seine Feeds in der Oberfläche bewundern. Die erste (manuelle) Aktualisierung kann dabei durchaus einige Zeit in Anspruch nehmen. Nun gilt es die automatische Aktualisierung der Feeds mittels eines Cronjobs in Angriff zu nehmen. Dazu wird ein Cronjob erstellt welcher alle 15 Minuten die URL:

http://example.org/ttrss/backend.php?op=globalUpdateFeeds&daemon=1

aufruft, wobei der Teil „http://example.org/tsrss/“ natürlich durch die eigene URL ersetzt werden muss. Die Webapplikation stellt auf Wunsch (in den Einstellungen konfigurierbar), eine API zur Verfügung, so das man auch Apps mit ihr betreiben kann. So gibt es für Android einen Client mit dem selben Namen.

Für iOS scheint es da noch keine adäquate Lösung zu geben wobei ich mir wünschen würde, das Mr.Reader das ganze in eine neue Version integrieren würde.

Die Mobilansicht von Tiny Tiny RSS

Die Mobilansicht auf entsprechenden Geräten ist leider etwas fummelig, wobei es sich nicht um die richtige Mobilansicht handelt, sondern um die normale Ansicht. Die mobile Ansicht kann über das System Plugin „mobile“ aktiviert werden. Allerdings wird sie nicht mehr gewartet und ist wohl auch nicht der Weisheit letzter Schluss.

Abhilfe schafft hier ttrss-mobile welches über die API mit dem Hauptsystem kommuniziert. Nachdem man die Software auf seinen Webspace hochgeladen hat, muss man noch die Pfade in der „conf.js“ anpassen. Anschließend kann man sich mit seinen Zugangsdaten einloggen.

In den Einstellungen gibt es auch einige interessante Nutzerplugins wie z.B. „mail“ mit welchem man Artikel per Mail versenden kann. Alles in allem ist „Tiny Tiny RSS“ ein robustes Stück Software, welches nach der Installation genau das macht was es soll. Die offizielle Seite der Software ist dabei unter http://tt-rss.org zu finden.

Weitere Informationen gibt es unter:
http://michaelsonntag.net/tiny-tiny-rss-tutorial-1-installation-konfiguration/
http://michaelsonntag.net/tiny-tiny-rss-tutorial-2-optische-anpassungen-und-plugins/
http://michaelsonntag.net/tiny-tiny-rss-tutorial-3-artikel-feiner-strukturieren/
http://michaelsonntag.net/tiny-tiny-rss-tutorial-4-noch-ein-paar-kleinigkeiten/
http://www.linux.com/learn/tutorials/322446-weekend-project-replacing-google-reader-with-tiny-tiny-rss

Wer auf der Suche nach einer quelloffenen Bankingsoftware für Mac OS X ist, der sollte einmal einen Blick auf Pecunia werfen. Pecunia steht dabei unter der GPLv2 und ist mittlerweile in der Version 1.0 erhältlich, auch wenn es sich bei dieser noch um eine Betaversion handelt. Benutzt man bereits eine ältere Version von Pecunia, so sollte man einige Dinge bei der Migration beachten. Entwickelt wurde Pecunia in großen Teilen von Mike Lischke.

Pecunia in der Überweisungsansicht

Neben iTAN unterstützt die Software auch mobileTAN, chipTAN in der normalen als auch in der optischen Fassung. Auch Überweisungen, Daueraufträge und ähnliches sind kein Problem. Weitere Features werden auf der Webseite des Projektes beschrieben, welche unter http://www.pecuniabanking.de zu finden ist.