nose: Testing for Exceptions #
Mit dem Python-Testframework nose und dessen raises-Decorator lässt es sich sehr elegant auf Exceptions testen:
# super.py
def superfunc():
raise Exception("Ooops! Super!")
# test_super.py
from nose.tools import raises
@raises(Exception)
def test_superfunc():
superfunc()
Log-Files mit less überwachen #
less +F /path/to/log.message macht im Prinzip genau das Gleiche wie tail -f /path/to/log.message: nämlich den Schwanz einer Datei anzeigen. Im Gegensatz zu tail lässt sich bei less mit einem <CTRL-C> in den Pager-Mode wechseln und in der Datei herumscrollen (und bei Bedarf auch gleich mit <V> bearbeiten), ein <SHIFT-F> führt wieder zurück in den Überwachungsmode.
Klass! (Via [shell-fu]$.)
rEFIt Boot-Reihenfolge ändern #
In der Konfiguration /efi/refit/refit.conf die Zeile mit legacyfirst entkommentieren (z.B. mit sed: sed -e ’s/#(legacyfirst)/\1/’ -i~ /efi/refit/refit.conf), schon steht beim nächsten Boot-Vorgang Linux an vorderster Stelle.
Mac OS X, iPython und Tab #
Manche Dinge nerven unter Mac OS 10.5 sehr. Zu allererst sei hier auf das Fehlen
eines einigermaßen brauchbaren Terminals verwiesen – besonders die Kombination von Backspace, Vim und iTerm ist eine leidige.
Weiters schmerzen kleine Abstecher nach iPython, da irgendwelche readline
Konflikte die Tab-Taste – in Python nicht ganz unwichtig ;) – außer Kraft
setzen. Hierfür gibt es allerdings Abhilfe:
easy_install -f http://ipython.scipy.org/dist/ readline
(via Brian Berliner)
vim: :read #
Im `command-line-mode’ :read /path/to/filename (bzw :r /path/to/filename) eingeben und schon findet sich der Inhalt von /path/to/filename unterhalb der Cursorposition im Editor wieder.
Mit :read !cmd wird die Ausgabe des Kommandos cmd eingefügt. So fügt etwa ein :r !date das aktuelle Datum ein.
Autocompletion für Twyt 0.9.0 #
Twyt ist ein in Python geschriebener Kommandozeilen-Client für Twitter. Ein Freund.
Noch freundlicher, wenn mit autocompletion ausgestattet: twytcompletion.sh downloaden und mit source /path/to/twytcompletions.sh (zB. in ~/.bashrc) aktivieren (oder falls Verzeichnis und Rechte vorhanden nach /etc/bash_completion.d/ kopieren).
Danach kann ich mir zB. mit
$ twyt <tab>
block directdel friendstl show user
delete directsent publictl tweet usertl
direct directtl replies unblock
$ twyt dir<tab>
direct directdel directsent directtl
alle zur Verfügung stehenden Kommandos anzeigen und vervollständingen lassen.
Oder mir mit
$ twyt user -u enodyt set
$ twyt direct <tab>
enodyt timpo
$ twyt direct enodyt 'Geheime Nachricht'
eine ganz
persönliche Nachricht zuschicken.
Erste Photos meines neuen MacBooks #

Fullscreen iTerm with screen running ;)

MacBook in echt
vim: Wordpress mit Vimpress befüllen #
Vimpress in ein Plugin-Verzeichnis (zB. ~/.vim/plugins) entpacken, Settings anpassen und mit :BlogNew loslegen und einem finalen :BlogSend übermitteln.

Wie war das nochmals mit dem Betriebssystem im Betriebssystem … !
Winter’s coming … #
Jetzt - wo der Sommer vorüber ist, der Winter quasi vor der Tür steht - habe ich herzerwärmenderweise den Wordpress aktualisiert.
Weil ich auf das Schlimmste eingestellt war, den Gedanken mein selbst gebasteltes Theme zu aktualisieren nicht einmal andachte, den Plugin-Wahn verabschiedete, lief das Upgrade erwartet unproblematisch ab.
Temporär (sicherlich?) kleidet sich http://enodyt.zapzarap.net minimalistisch mit barecity!
vim: control C control V #
vmap <C-C> "+y
nmap <C-V> "+gP
imap <C-V> <ESC><C-V>i