Das Entwickeln von Anwendungen, bzw. das Füttern eines Rechners mit Anweisungen, scheint für viele Leute Hexenwerk zu sein. Das dies nicht so bleiben muss zeigt die Webseite http://tomskript.webevangelisten.de/. Dort kann man in einer einfachen, auf deutsch gehaltenen Programmiersprache, seine ersten Versuche machen.
Der Tomskript Editor
Im Editor schreibt man dabei einen Quelltext um eine Schildkröte über ein zweidimensionales Feld zu lotsen. Neben dem Browser werden keine zusätzlichen Komponenten benötigt. Ergänzt wird das ganze durch kleinere Beispiele und eine Beschreibung der Programmiersprache.
Manchmal möchte aus einer Desktopanwendung heraus eine Mail verschicken. Das ist insofern problematisch, da man die Zugangsdaten für einen Mailaccount nicht in einer Anwendung hinterlegen sollte. Aus Webanwendungen heraus ist das Senden von Mails dagegen eine einfache Sache. Also was liegt näher als diesen Vorteil für das Senden von Mails aus Desktopanwendungen heraus zu nutzen.
Ein kleines PHP Skript mit dem Namen „mailer.php“ sorgt dafür das die Mail bzw. der Text der Mail in Empfang genommen wird. Anschließend wird nachgeschaut ob die Mail an einen validen Sender adressiert ist. In diesem Beispiel werden nur Mails an @example.org weitergeleitet. Schließlich möchte man keine Spamschleuder betreiben. Nun müssen die Parameter in der Anwendung noch per POST-Request übergeben werden. Unter C# könnte das ganze so aussehen:
System.Net.ServicePointManager.Expect100Continue=false;
string url="http://example.org/mailer.php";
using(var wb=new WebClient())
{
var data=new NameValueCollection();
data["sendername"]="Mailer";
data["sender"]="";
data["reciever"]="";
data["subject"]="Mail from Application";
data["message"]="Message";
var response=wb.UploadValues(url, "POST", data);
}
Der Quellcode ist dabei auf GitHub zu finden und steht unter der AGPL.
Unter Git möchte man manchmal ein Verzeichnis von einem Repository zu einem anderen verschieben. Natürlich soll dabei die Revisionsgeschichte nicht verloren gehen. In diesem Fall hilft folgendes Bashskript:
#!/bin/sh
# moves a folder from one git repository to another
# moveFolder <absolute repository one path> <repository one folder> <absolute repository two path>
# prepare repository one
cd $1
git clean -f -d -x
git checkout -b tmpBranch
git filter-branch --subdirectory-filter $2 HEAD
mkdir $2
mv * $2
git add .
git commit -a -m "Move files into folder"
#import in repository two
cd $3
git remote add repositoryOne $1
git pull repositoryOne tmpBranch
git remote rm repositoryOne
#cleanup
cd $1
git checkout master
git branch -D tmpBranch
#remove folder with history from repository one
cd $1
git filter-branch -f --index-filter "git rm -rf --cached --ignore-unmatch $2" HEAD
Nachdem das Verzeichnis in das neue Repository mitsamt der Revisionsgeschichte übertragen wurde, wird es aus dem alten Repository entfernt. Das Skript funktioniert dabei unter Windows, Linux und Mac OS X. Die jeweils aktuellste Version ist auf GitHub zu finden.
Wie ich im letzten Artikel beschrieben hatte, funktioniert PGP unter iOS nur mit Komforteinbußen. Bei Messengern mit Off-the-Record Messaging sieht es unter iOS leider ähnlich aus. Die einzige App die solche Funktion bietet ist ChatSecure:
Neben XMPP werden auch der Facebook Chat, Google Talk und OSCAR unterstützt. Problematisch an der App ist, das sie sich nach 10-Minuten Inaktivität wieder ausloggt, was andere Messenger-Apps besser gelöst haben. ChatSecure ist dabei freie Software (GPLv3), dessen Quelltext auf GitHub eingesehen werden kann. Die offizielle Seite der App ist unter https://chatsecure.org/ zu finden.