Pencil für Mac OS X und Windows

Bei Pencil handelt es sich um eine freie 2D-Animationsoftware. Während die Software früher nur unter Linux lief, sind mittlerweile auch Versionen für Mac OS X und Windows erhältlich.

Pencil unter Mac OS X

Pencil unter Mac OS X

Pencil bietet dabei Funktionen für die Animation, das Zeichnen und den Export. Es ist nicht so mächtig wie das ebenfalls freie Synfig, lässt sich dafür aber wesentlich einfacher bedienen. Der unter der GPL2 lizenzierte Quelltext kann auf GitHub bezogen werden. Zu finden ist Pencil unter pencil-animation.org.

Cronjob-Ausgabe in eine Datei umleiten

Manchmal möchte die Ausgabe eines Cronjobs in eine Datei umleiten. Dazu sollte man im ersten Schritt die Crontab-Datei mittels:

crontab -e

öffnen. Die entsprechende Datei sieht dabei in etwa so aus:

# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').#
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h  dom mon dow   command
00 14    * * *   /home/test/test.sh

Möchte man nun die Ausgabe umleiten, so geschieht das indem man den Cronjob wie folgt ändert:

00 14    * * *   /home/test/test.sh > /home/test/test.log 2>&1

Das 2>&1 am Ende sorgt dafür das nicht nur die Standardausgabe in der Datei landet, sondern auch die Ausgaben welche sonst in der Fehlerkonsole landen würde.

Passwort-Authentifikation per SSH deaktivieren

Wenn man sich für seinen SSH Zugang nur noch mit einem entsprechenden Schlüsselpaar anmeldet, kann man die Authentifikation per Passwort deaktivieren. Dazu wird die „/etc/ssh/sshd_config“-Datei in einem Editor geöffnet:

nano /etc/ssh/sshd_config

Dort wird die Option:

# Change to no to disable tunnelled clear text passwords
#PasswordAuthentication yes

gesucht und in:

# Change to no to disable tunnelled clear text passwords
PasswordAuthentication no

geändert. Anschließend muss der SSH Server mittels:

service ssh restart

neugestartet werden. Damit ist die Anmeldung per Passwort nicht mehr möglich und der Server ein Stück sicherer.

Postfix Version ermitteln

Um die Versionsnummer eines installierten Postfix zu ermitteln, reicht es im Terminal folgendes einzugeben:

postconf -d mail_version

Anschließend erhält man eine Ausgabe nach dem Schema:

mail_version = 2.11.0

Da die Parameter aus der main.cf ausgelesen werden, ist es wichtig den Parameter -d anzugeben. So werden nicht die überschriebenen Werte zurückgegeben, sondern die Standardwerte, in diesem Fall die korrekte Versionsnummer.

AVI Dateien unter C# schreiben

Wenn man eine AVI Datei unter C# schreiben möchte, wird man feststellen das es zwar viele Wege gibt, aber keiner dieser Wege führt nach Rom. Jede vorgeschlagende Variante hat meist Abhängigkeiten, welche man nicht haben möchte. So wird bei vielen Varianten FFMPEG als DLL genutzt, bei anderen werden Windows DLLs genutzt, was dazu führt das der Quellcode nicht unabhängig von der Plattform ist. Abhilfe schafft hier die freie unter der MIT-Lizenz lizenzierte Bibliothek SharpAvi. Um eine AVI-Datei zu schreiben sind mit Hilfe der Bibliothek nur einige Zeilen Quelltext nötig:

//AviWriter anlegen
AviWriter writer=new AviWriter("test.avi");
writer.FramesPerSecond=25;

//Videostream anlegen
IAviVideoStream stream=writer.AddVideoStream();
stream.Width=1920;
stream.Height=1080;
stream.Codec=KnownFourCCs.Codecs.Uncompressed;
stream.BitsPerPixel=BitsPerPixel.Bpp24;

//Encode für Kompression anlegen
//Ohne Encoder wird die Datei unkomprimiert gepsiechert (stream.WriteFrame)
var encoder=new MotionJpegVideoEncoderWpf(stream.Width, stream.Height, 100);
var encodingStream=new EncodingVideoStreamWrapper(stream, encoder);

//Schwarzen Frame anlegen
byte[] frameData=new byte[stream.Width*stream.Height*3];

//Frames schreiben
for(int i=0;i<25; i++)
{
    encodingStream.WriteFrame(frameData, 0);
}

//Writer schließen
writer.Close();

In diesem Beispiel wird eine AVI Datei mit 25 schwarzen Frames erzeugt, was bei der angegebenen Framerate exakt einer Sekunde entspricht. Zu finden ist SharpAvi auf der offiziellen Webseite. Alternativ kann der Spiegel auf GitHub genutzt werden.