Category Archives: Praktisches

Im Go Fieber

Nachdem einige Zeit mein Go Brett geruht hat, spiele ich nun wieder Go. Go ist ein sehr altes Spiel, welches einfachere Regeln als Schach hat, aber dennoch viel komplexer ist. Wenn aus simplen Regeln komplexe Systeme entstehen, ist das immer etwas Spannendes (siehe z.Bsp.: Physik, Game of Life). Spieltheoretisch ist es ein Spiel mit voller Information ohne Glück.

Go hat auch noch einige weitere angenehme Vorteile: Kennt man seine und die Spielstärke des Gegners, so kann mittels eines Handicapsystems immer eine ausgewogene Partie gespielt werden. Der nächste Vorteil: Während es normalerweise auf einem Spielbrett mit 19×19 “Feldern” (hier Schnittpunkte) gespielt wird, so kann man auch schnelle Partien auf kleineren Brettern spielen. Typisch sind da 9×9 und 13×13.

Eine Webseite mit umfangreichen Go Wissen ist Sensei’s Library.

Da Go in unseren Breiten immer noch wenig verbreitet und die Zeit für ein richtiges Spiel rar oft ist, bleibt als Alternative das Online-Spielen. Von der Unmenge an Go Servern nütze ich Dragon Go und Online-Go. Alle Servern haben ein Bewertungssystem, wodurch man passende Gegner bekommt.

Auf dem Dragon Go Server kann man mehrere Partien gleichzeitig spielen, wobei man bei jeder Partie je nach Wunsch Stunden bis mehrere Tage Zeit für einen Zug hat. Dadurch dauern Partien zwar eher länger, aber der Zeitaufwand ist besser in einen geschäftigen Alltag einzubauen.
Es gibt auch eine brauchbare iOS App, welche mir bequem einen Zug erlaubt, während ich mal eine Minute Pause habe. Auch für Android gibt es mehrere Clients, zu welchen ich aber keine Erfahrung habe.

Der Online-Go Server hat ein wenig zeitgemäßeres Erscheinungsbild inklusive HMTL5 (bei Darstellungsproblemen hilft ein anderer Browser). Auch bei den Spieleinstellungen herrscht Vielfalt: So kann man Partien mit beliebiger Bedenkzeit spielen: von 1 Minute bis wieder Wochen. Man kann also entweder am Stück oder wieder je nach Gelegenheit spielen. Leider gibt es keine separate App.

Auch wenn ich das Spiel gegen einen Computer nicht so spannend finde (‘tschuldige AlphaGo), so gibt es für diesen Zweck Little Go für iOS und Goban für OSX und Android.

Es gibt natürlich Unmengen an Information zu Go, aber für iOS und Android sei noch kurz Tsumego Pro erwähnt, welches verschiedenste kleine Go Probleme als Kopfnüsse bereithält. Und hier noch mehr Links für iOS und Android.

Viel Spaß!

Count SMTP connections without TLS

As I manage my own mail server with postfix, I was curious to see how many connecting mail server do not use best practise and drop their mail without transport encryption. In the end I was possible to create my own list of shame of domains.

First it is important that postfix supports TLS encryption. There are a lot of good guides on the web.
Then you need to ensure that the correct logging is enabled in /etc/postfix/main.cf:

smtpd_tls_loglevel = 1

Now you can have a look at your logs for example with this cool tool: postfix-logwatch.
But for my list of shame I needed to write a new script:


#! /bin/bash

logpath="/var/log/messages*" # Adapt to your needs
ignoreDomain="test.org"      # for example your local domain

yesTLS=$(zegrep -A1 'smtpd.*: connect from' $logpath | grep -v 'smtpd.*: connect from' | grep -v '\-\-' | grep 'Anonymous TLS connection established' | wc -l)

noTLS=$(zegrep -A1 'smtpd.*: connect from' $logpath | grep -v 'smtpd.*: connect from' | grep -v '\-\-' | grep 'smtpd.*: client=' | wc -l)

NoTLSwoMe=$(zegrep -A1 'smtpd.*: connect from' $logpath | grep -v 'smtpd.*: connect from' | grep -v '\-\-' | grep 'smtpd.*: client=' | grep -v $ignoreDomain | wc -l)

echo "List of Shame:"
zegrep -A1 'smtpd.*: connect from' $logpath | grep -v 'smtpd.*: connect from' | grep -v '\-\-' | grep 'smtpd.*: client=' | grep -v $ignoreDomain | sed 's/.*client=\(.*\)\(\[.*\)/\1\t\t\2/' |sort | uniq -c |sort

echo "-----------------------------------------"
echo -e "Connections with TLS:\t\t\t" $yesTLS
echo -e "Connections wo TLS - incl. local:\t" $noTLS
echo -e "Connection wo TLS - remote:\t\t" $NoTLSwoMe
echo -e $(echo 100*$NoTLSwoMe/$yesTLS| bc)"% of the remote connections dont use TLS"

The script should work without to much modification on any postfix installation.

It is kind of depressing to see how many big domains ignore transport encryption. But with this script I found already two mail servers which just had configuration errors.

iPhone Wasserschaden repariert

Es soll ja des öfteren vorkommen, daß ein Telefon mal naß wird. So ist es auch mir mit meinem iPhone 3GS passiert. Ich war zwar ziemlich schnell beim Trocknen, aber dennoch kam schon Bauchweh auf. Sofort habe ich die Hardcover Hülle, die rund um das Telefon ist entfernt und alles gründlich abgetrocknet. Dann mit Tüchern alles abgewischt und auch die Kopfhörerbuchse getrocknet. Anschließend das äußerlich trockene Gerät in den Exsikkator gelegt, wo es 2 Tage innerlich trocknen durfte. Wichtig dabei ist dem Drang zu widerstehen, das Gerät zu verwenden, um nach zu schauen, “ob es eh noch geht”. Klar, nicht jeder hat einen Exsikkator zur Verfügung, dann sollte man wohl einen Backofen bei niedriger Temperatur oder Reis hernehmen.

Ich war optimistisch, da am Display noch Meldungen sichtbar waren, z.Bsp.: “Dieses Zubehör ist nicht authentisch”, etc. Nach den 2 Tagen heraus genommen, SIM Karte wieder eingelegt und das Telefon funktionierte wieder.

Allerdings nur bis zum nächsten Morgen. Während ich in Safari herumsurfte, startete es neu und zeigte nur noch an, daß es mit iTunes verbindet werden möchte. Nichts anderes konnte ich dem Telefon ab da entlocken. Neu herstellen, in den DFU Modus wechseln, nichts half, immer das selbe Bild. Wenn ich auf das i rechts unten klickte, so erfuhr ich, das die IMEI und die ICCID unbekannt wären. Eine kurze Internetsuche später wußte ich, daß dies unter dem Fehler 23 berüchtigt ist. So kann der Fehler auf einen Hardwaredefekt (oft nach Wasserschaden, ahja) hindeuten, wobei das Gerät nicht mehr mit dem Communicationsboard reden kann.

Also habe ich mich entschloßen, das Gerät zu öffnen. Dabei bin ich nach dieser und dieser (3G) Anleitung vorgegangen. Ich hatte keinen Saugnapf, um das Display hoch zu heben. Deswegen habe ich mit dem Skalpell so lange gespielt, bis sich das Display löste. Prompt war gleich beim ersten Kontakt grüne Korrosionsspuren zu sehen. Aber wenn ich es schon mal aufmache, dann baue ich es auch ganz auseinander. Hat riesigen Spaß gemacht. Allerdings waren sonst alle Kontakte in Ordnung. Nur einer der 2 Feuchtigkeitsindikatoren innerhalb des Gehäuses, sowie der beim Dock Connector haben sich verfärbt.

Die Korrosionsspuren habe ich vorsichtig weggekratzt und anschließend mit wenig Isopropanol gereinigt. Alles wieder verbunden und siehe da: zwar die selbe Anzeige, allerdings mit erkannter IMEI und ICCID. Das Backup lies sich ohne Probleme wieder herstellen und seither funktioniert das Telefon wieder so wie vorher.

Bevor man das Gerät für defekt erklärt und es in der Schublade verschwinden läßt, kann es sich durchaus auszahlen, den Schaden zu beheben.

Hummer und alte Weggefährten

Da ich gestern in den Genuß von allerlei Meeresgetier gekommen bin, gebe ich den Tipp gerne weiter: Im Lobster Dock, Karlsplatz 5 kann man sehr ausgezeichnet essen.

Facebook fasziniert mich derzeit, auch wenn es schon älter ist. Simpler Aufbau, typisch Web-2.0 (jetzt habe ich dieses Unwort doch geschrieben) mit allen dazugehörigen Datenschutzbedenken und dennoch benutze ich es. Weil es den einfachen Kontakt mit fast schon vergessenen Freunden ermöglicht.

—–

DRM? Es geht auch ohne.

Bin gestern auf folgende Seite gestoßen, auf der es freie und kostenlose Musik legal zum runterladen gibt: Jamendo. Vielfach noch unbekannte Künstler, jedoch findet man schnell gute Musik. Mit derzeit 2709 veröffentlichen Alben ist das schon ziemlich beachtlich. Wenn man will, kann man auch den Künstlern Geld zukommen lassen.

Wenn man genug in ein Album reingeschnuppert hat, kann man es per Bittorrent dann runterziehen. Je nach Wunsch als Ogg oder Mp3-Datei. Und das Ganze ging schnell, mit über 500 KB/s.

Und es kommt noch besser: für Rhythmbox gibt es ein Plugin, womit man die Jamendo Musikbibliothek so bequem durchsuchen kann wie die eigene. Inklusive Knopf zum Download starten.

Mein erstes Album von dort ist Too Much Distortion von 4Midges.
—–

Blogroll

Seit langem strebe ich danach, jetzt habe ich es endlich: meine Blogroll. Das sind einige Blogs und Feeds, die ich regelmäßig lese. Ich werde auch versuchen sie halbwegs aktuell zu halten. Für alle, die einen Feedreader verwenden, hier ist sie als OPML zum importieren.

Und wer mit RSS und Feeds wenig anfangen kann (trotzdem Blogleser?), empfehle ich für Linux Liferea, für OsX Vienna und für Win RSSOwl.

Was mich fast verzweifel ließ, ist daß es kein gescheites Prog gibt, um opml in html umzuwandeln, inklusiver erhaltener Ordnerstruktur. Wer was weiß, bitte melden.

—–

Mensa

Da ich zwecks besserer Planung heute schon wissen will, was es morgen in der Mensa gibt, habe ich diesen Link ausgegraben. Für alle, die nicht das Glück haben auf der TU zu studieren, hier könnt ihr das Menü für eure Mensa abrufen.

So, ich weiß zwar was es bei der Mensa gibt, aber noch nicht wo ich essen werde…

—–

Anleitung für Instant Messaging (IM)

Ich habe mich entschieden zwei Posts zu schreiben. Es wird hier nichts wahnsinnig neues drinnen stehen, sondern diese Serie faßt bestehende Informationen im Internet zusammen in, wie ich hoffe, verständlicher Art. Das schreibe ich hauptsächlich für Freunde, Bekannte und Verwandte, die nicht alle Neuigkeiten und Trends des großen Internets verfolgen. Immer wieder tauchen dabei die selben Probleme und Schwierigkeiten auf.

Des weiteren geht es darum, daß ich das Internet nutze, um mit allen die ich kenne in Kontakt zu bleiben. Das geht natürlich nur, wenn die anderen ebenfalls das Internet und diese Services benutzen.

Nun genug des Vorwortes und zum ersten Thema: Instant-Messaging auch kurz IM genannt.

Wofür ist IM gut?

Emails sind sehr nützlich. Man schreibt eine Nachricht und schickt sie über weite Distanzen und sie kommt sehr schnell an, besonders im Vergleich zur Post. Wenn der Empfänger sie bekommen und gelesen hat, so kann er recht einfach und schnell antworten. Dieses System ist ideal für Briefe, formal Texte und ähnliches.

Instant Messaging (instantanes Senden von Nachrichten) hingegen funktioniert folgendermaßen: Während man den Rechner eingeschalten hat und mit dem Internet verbunden ist, nützt man ein Programm, welches, vorausgesetzt der andere ist auch verbunden und hat selbiges Programm offen, die Anwesenheit des anderen erkennt und anzeigt. Im Unterschied zu Emails müßen beide also verbunden sein. Dann jedoch kann man eine Nachricht schreiben, die sofort beim anderen angezeigt wird. Und man kann sofort antworten. Während der Emailverkehr meistens einige Tage dauert, wird hier die Möglichkeit gegeben miteinander zu tratschen und gatschen. Es entwickelt sich also ein Dialog im Gegensatz zur monologartigen Natur von Emails.

Die Theorie dahinter

Um das Abstrakte von vorher zu Konkretisieren: Man muß mit dem Internet verbunden sein und ein Programm installiert und offen haben, daß auch IM-Client genannt wird. Dieses Programm nützt ein Protokoll, das von alle beteiligten verstanden werden muß. Es verbindet sich mit einem Wirtsrechner im Internet, der dafür sorgt, daß die Nachricht das Programm der Gegenstelle erreicht.

Fazit: Man braucht ein Programm welches ein bestimmtes Protokoll unterstützt und einen Benutzernamen und Passwort für den Wirtsrechener. Also einen Client und einen Account.

Klingt genial, wie mache ich das jetzt?

Nun, das ist wirklich toll, erfordert aber ein wenig Einsatz. Zuerst muß das Programm installiert werden. Hierzu empfehle ich Gaim (aus vielen Gründen, die allerdings zu weit führen würden).

Hier kann man das Programm für Windows herunterladen.

Das Programm muß nun installiert werden. Beim ersten Mal muß das Programm noch konfiguriert werden und nun ist es an der Zeit ein Konto (Account) zu erstellen. Durch Hinzufügen sollte sich ein Fenster Konto hinzufügen öffnen. So soll das dann ausschauen:

Das Protokoll auf Jabber setzen, bei Benutzernamen kann man sich etwas aussuchen, es kann jedoch sein, das er schon vergeben ist. Bei Server gibt man am Besten jabber.org ein, als Alias empfiehlt sich der Benutzername. Und zu guter Letzt noch ein sich zu merkendes Passwort eingeben und die restlichen Optionen aktivieren.

Wenn man jetzt auf Anmelden klickt sollte sich das Programm nun einloggen und man sollte startklar sein. Falls Probleme auftreten, nochmal ausloggen und einloggen. Die eigene Benutzer ID lautet nun: meinname@jabber.org. Die kann man jetzt den Freunden und Bekannten mitteilen.

Freunde hinzufügen

Noch ist die Kontaktliste leer und wartet darauf gefüllt zu werden. Wenn man die Benutzer ID des anderen kennt, klickt man auf Buddies und dann auf Buddy hinzufügen. Im sich öffnenden Fenster gibt man dann den Benutzername (in der Form name@jabber.org) ein.

Sobald der andere auch sein Programm offen hat, sieht man das in der Kontaktliste und durch anklicken seines Namens kann man ein Gespräch mit ihm anfangen.

Viel Spaß!

—–