maybe

Das Terminal ist geöffnet und ein Befehl wie:

rm -rf img*

soll abgesetzt werden. Nun stellt sich die Frage ob man diesen Befehl wirklich so ausführen möchte. Natürlich könnte es sein, das der Befehl zu weit greift, was dazu führt das man mehr löscht als einem lieb ist. Einen Ausweg aus dieser Misere bietet das in Python geschriebene Tool maybe. Installiert werden kann dieses auf der Konsole mittels:

pip install maybe

Führt man nun ein Skript mittels maybe aus:

maybe test.sh

so ermittelt maybe, welche Operationen das Skript vornehmen möchte und zeigt diese an. Nach einer Bestätigung kann der Befehl anschließend ausgeführt werden. Technisch funktioniert das ganze dabei indem der Prozess unter der Kontrolle von ptrace ausgeführt wird. Hierbei werden allerdings nur einige Systemaufrufe blockiert, so das man maybe nur mit Skripten nutzen sollte, welchen man vertraut. Der Quelltext von maybe ist auf GitHub zu finden. Lizenziert ist das Tool unter der GPL in Version 3 und damit freie Software.

Alle Python-Pakete mit pip aktualisieren

Auf einem System auf welchem Python installiert ist, ist meist auch der Paketmanager pip installiert. Über diesen können neue Python-Pakete installiert werden:

pip install jinja2

Möchte man nun mittels pip alle Python-Pakete aktualisieren, so kann man sich mit folgender Befehlskette behelfen:

pip freeze --local | grep -v '^\-e' | cut -d = -f 1  | xargs -n1 pip install -U

Der entsprechende Artikel mit weiteren Hinweisen zu dieser Befehlskette befindet sich auf Stack Overflow.

Build fehlgeschlagen: Planeten falsch ausgerichtet

Kreativität treibt manchmal seltsamem Blüten – wie sonst würde man auf die Idee kommen ein Skript zu schreiben, welches Buildvorgänge nur dann erlaubt, wenn Planeten im Sonnensystem nicht in einer Reihe stehen.

INFO [dfe36319] Running /usr/bin/env python astro_build.py as lhartikk@188.166.5.240
DEBUG [dfe36319] Command: python astro_build.py
DEBUG [dfe36319]BUILD FAILED
DEBUG [dfe36319]PLANETS ALIGNED: ['Mercury', 'Jupiter']
DEBUG [dfe36319]ALIGNMENT: 149 degrees
(Backtrace restricted to imported tasks)
cap aborted!

Genau für diesen Zweck wurde das Python-Skript AstroBuild geschrieben, welches auf GitHub zu finden ist. Lizenziert ist es unter der Apache Lizenz und damit freie Software.

Tweepy unter Mac OS X installieren

Bei Tweepy handelt es sich um eine freie unter der MIT-Lizenz lizenzierte Twitterbibliothek für Python, deren offizielle Webseite unter tweepy.org zu finden ist. Unter anderem wird diese Bibliothek für den Twitter Radiergummi genutzt. Im Gegensatz zu früher hat sich die Installation der Bibliothek etwas verändert. Hierfür sollte man jetzt pip nutzen. Dabei handelt es sich um ein Tool zur Paketverwaltung unter Python. Zur Installation gibt man im Terminal folgendes ein:

curl -O https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py

Damit ist pip installiert und kann genutzt werden:

sudo pip install tweepy

Pip installiert hiermit die Bibliothek Tweety und löst alle Abhängigkeiten auf, so das diese anschließend systemweit genutzt werden kann.

Jasper

Wenn eine Software auf den Namen Jasper hört, dann klingt das irgendwie ein bisschen nach Jarvis aus dem Film Iron Man. Und genau dies bietet die Jasper. Die Steuerung des Rechners mittels der Stimme. Dabei bietet Jasper die Möglichkeit auf Kommandos zu reagieren oder informiert den Nutzer wenn bestimmte Ereignisse eingetreten sind.

Aktivieren Sie JavaScript um das Video zu sehen.
Video-Link: https://www.youtube.com/watch?v=UzaqNF6NlBA

Technisch setzt Jasper dabei unter anderem auf die Projekte Pocketsphinx und Phonetisaurus auf. Bevorzugt entwickelt wurde Jasper dabei für Rechner wie den Raspberry Pi, wie man im Video sehen kann. Die Autoren der Software sind die Priceton-Studenten Shubhro Saha und Charlie Marsh. Als Programmiersprache kam Python zum Einsatz. Jasper verfügt eine API mit welcher man eigene Erweiterungen für das System schreiben kann.

Jasper ist freie Software und unter der MIT-Lizenz lizenziert. Die offizielle Webseite ist unter jasperproject.github.io zu finden. Auch der Quelltext ist auf GitHub verfügbar.