Too Cool for Internet Explorer

Archive for August 2005

Vorletzter Tag in Bayern

Tuesday, 30. August 2005
09:28:36 (+0200)

Nun rückt so langsam der Tag näher, an dem ich Bayern für ein halbes Jahr verlassen und in das schöne Baden-Württemberg ziehen werde. Heute ist auch mein vorletzter Tag bei Siemens A&D MC RD3 NCK, der Entwicklungsabteilung der Steuerungssoftware NCK. Ab Donnerstag fängt dann planmäßig mein von der Hochschule vorgeschriebenes Praktikum im Forschungs- und Entwicklungszentrum bei Porsche in Weissach an.

Ich hoffe, dass ich während des Praktikums – beispielsweise am Wochenende – ein wenig Zeit finden werde, um hier ein paar Photos und Erfahrungen niederzuschreiben. Meine Digitalkamera habe ich auf jedenfall schon mal gedanklich vorgemerkt, sie morgen einzupacken :-)

Am Samstag habe ich noch schnell bei unserer Gemeinde in Oberasbach Briefwahl für den 18. September 2005 beantragt, so dass ich auch aus der Nahen Umgebung von Stuttgart bei der 16. Bundestagswahl teilnehmen kann.

So long…

siggen v2.00 steht kurz vor der Veröffentlichung!

Thursday, 25. August 2005
15:49:24 (+0200)

Das Open Source Signatur-Projekt siggen steht kurz vor der Veröffentlichung. Es wird von der Version 1.27b auf der Version 2.00 (im Stable-Branch) upgedatet. Grund dafür ist eine neue Programmiersprache, mit der man seine Email-Signaturen verschlüsseln lassen kann: Die *NIX Shell!

Damit ist es mit dem neuen siggen Feature möglich, sogar sed mit einem core dump abstürzen zu lassen – man brauche gerade einmal eine Signatur mit gut 1500 Zeichen Länge generieren und ausführen zu lassen!

Um aber RFC-konforme Email Signaturen zu erstellen(!!!), empfehle ich eine max. unverschlüsselte Signaturlänge von max. 12 Zeichen!

Have much fun …

HACK #8: VIM Bookmarks & References

Wednesday, 24. August 2005
13:29:35 (+0200)

Heute habe ich mir einmal gedacht, dass es u.U. vielleicht sinnvoll sein könnte, Sie auf ein paar gute Bookmarks und Referenzen im Internet über den OSS-Editor VIM hinzuweisen.

Eins möchte ich vorab aber noch erwähnen! Die untere Liste ist keinesfalls vollständig und wahrscheinlich sind auch die Inhalte (von denen ich mich hier ausdrücklich disdanziert habe!!!) teilweise fehlerbehaftet. Da ich über so eine große Liste keineswegs den Überblick behalten kann, bitte ich dead Links zu entschuldigen und wäre über einen kurzen Hinweis/Kommentar sehr dankbar!

Hier ein paar gute Dokumente, die auf meiner Seite gehostet sind:

Ein freies, englisches Buch, dass sehr ausführlich auf über 500 Seiten den VIM vorstellt:
FILE: Vimbook (OPL) (3.7 M)

Das hier ist ein ASCII-Dokument, das einige sehr interessante Hacks darstellt. Die Beschreibung ist allerdings sehr :-) knapp gehalten:
FILE: VIM HACKS (34 K)

===== BOOKMARKS BEGIN =====

Der Editor Vi(m): Einführung, Tipps und Tricks
Bookmark: http://www.ostc.de/vi.pdf

Calmar’s Vim tips
Bookmark: http://www.calmar.ws/vim/index.php

Peter’s Vim Blogger
Bookmark: http://www.petersblog.org/taxonomy/term/10

Vim Color Editor HOW-TO (Vi Improved with syntax color highlighting)
Bookmark: http://dufo.tugraz.at/mirror/linux-html-howtos/Vim-HOWTO.html

Vim as XML Editor
Bookmark: http://www.pinkjuice.com/howto/vimxml/

The Docs
Bookmark: http://vimdoc.sourceforge.net/

The Vi IMproved Editor Web Ring
Bookmark: http://u.webring.com/hub?ring=vim

Vim Tips
Bookmark: http://vim.sourceforge.net/tips/

VI Lover’s Homepage
Bookmark: http://thomer.com/vi/vi.html

ausführliche Vim-Beschreibung bei Wikipedia (DE)
Bookmark: http://de.wikipedia.org/wiki/Vim

VIM (Vi IMproved) Tutorial
Bookmark: http://www.unb.ca/documentation/UNIX/tips/vim/

VIM Referenzkarte (DE)
Bookmark: http://www.linuxsource.de/download/vim_referenz.pdf

Vorteile des Vim
Bookmark: http://www.moolenaar.net/vim.html

Text Processing With Integrated Spell Checking and Paragraph Formatting in the Vim and Vi Editors
Bookmark: http://www.highley-recommended.com/text-processing.html

Vim und Reguläre Ausdrücke (sehr gut und umfangreich)
Bookmark: http://www.troubleshooters.com/linux/presentations/
leap_regex/toc.html

Vim for Beginners, with scripts, spell checkers, …
Bookmark: http://www.unb.ca/fredericton/science/chem/ajit/vim.htm

Another good Vim tutorial site
Bookmark: http://users.skynet.be/antoine.mechelynck/vim/

TVO: The Vim Outliner
Bookmark: http://bike-nomad.com/vim/vimoutliner.html

An Introduction to Display Editing with Vi
Bookmark: http://docs.freebsd.org/44doc/usd/12.vi/paper.html

Interview with Bill Joy
Bookmark: http://www.cs.pdx.edu/~kirkenda/joy84.html

Power Vim Usage: Tips & Tricks for Everyday Editing
Bookmark:
http://www.ukuug.org/events/linux2004/programme/paper-SMyers/
Linux_2004_slides/vim_tips/index.html

===== BOOKMARKS END =====

Viel Spaß beim Schmökern durch die VIM-Informationen!

HACK #7: VIM als Taschenrechner!

Tuesday, 23. August 2005
13:45:31 (+0200)

Hatten Sie schon einmal das Problem, dass Sie etwas geschrieben haben und dann schnell etwas rechnen mussten, dass Sie vielleicht nicht im Kopf machen wollten/konnten. In VIM ist das kein Problem, dann er kann rechnen (-:

Ein wieder ganz intuitives *fg* [STRG] + [r] + [=] im “insert mode” des VIM und Sie können z. B. folgendes ausrechnen lassen:

5*5+1-1*12/6+4*6-0*3

Aber im Kopf hätten Sie wahrscheinlich auch nichts anderes herausbekommen als 48!

VORSICHT: VIM zeigt nur ganzzahlige Werte an!

HACK #6: Fensterteilung im improved VI

Tuesday, 23. August 2005
13:08:26 (+0200)

Eine sehr gute Methode, wenn man unter Unix/Linux mehrere Konfigurationsdateien editieren muss, mehrere Emails quasi-gleichzeitig schreiben oder einfach nur mehrere Sourcecode Dateien nebeneinander offen haben will bietet VIM mit der integrierten Fensteraufteilung.

Nehmen Sie an, Sie hätten 2 Dateien “file1.txt” und “file2.txt” im Ordner /tmp/myfiles liegen. Nun möchten Sie aus “file2.txt” etwas lesen, dass Sie dann in “file1.txt” übernehmen möchten. Dazu öffnen wir zuerst einmal Beide:

# vim /tmp/myfiles/file{1,2}.txt
2 files to edit

Nun können Sie entweder mit

:file file2.txt

bzw. mit

:file file1.txt

zwischen den 2 Dateien hin- und herspringen, oder Sie splitten die 2 Dateien. Hierzu haben Sie 2 Möglichkeiten, die Fenster zu splitten! Endweder horizontal mit:

:split file1.txt

oder eben vertikal mit dem folgendem VIM-Command:

:vsplit file1.txt

Nun fragen Sie sich sicherlich, wie man zwischen den 2 gesplitteten Fenstern hin- und herschalten kann! Dies machen Sie ganz intuitiv (-; mit [STRG] + [w] + [w] (also 2 mal ein kleines ‘w’).

TIPP: Sie können das Fenster auch mehrmals splitten, nicht nur in 2 Fenster, wie das obige Beispiel zeigt!

Wenn Sie nun eins der Fenster schließen wollen, können Sie dies machen, indem Sie den Befehl

:close

in dem zu schließenden Fenster anwenden. Mit dem Schlüsselwort

:o nly

sagen Sie VIM, dass er nur das i. M. aktive Fenster offen behalten soll, alle anderen, offenen Fenster werden dann geschlossen.

Fehler in der Extension ee_blog

Tuesday, 23. August 2005
11:38:48 (+0200)

In der Typo3-Extension ee_blog gibt es einen Fehler in der Listenansicht. Ich setze hier die Version 0.1.7 ein, der Fehler existiert aber auch in der aktuellen Version 0.1.8, dass die Vorschau auch innerhalb von HTML-Tags umgebrochen wird und so manche Browser ins Schwanken geraten.

Die Extension zählt nämlich bei der Vorschau Zeichen (z. B. 3000) ab und hängt danach ein “…” an. Geschieht dies z. B. innerhalb eines offenen Link-Tags, gibt es Probleme bei der Darstellung der Seite im Browser!

HACK #5: Email in einer Zeile!

Monday, 22. August 2005
11:03:30 (+0200)

Es gibt immer wieder Menschen, die sich der in RFC1855 abgeleger Netiquette Guidelines widersetzen! Noch nicht einmal, dass sie HTML-Emails verschicken, sondern meistens fängt es bei der nicht wohlgeformten Signatur an und hört bei der Zeilenlänge auf! Die Signatur kann man noch ganz einfach mit dem Cursor am Anfang der Signatur und einem geschickten dG nach /dev/null wandern lassen.

Doch wie kann man (den Envolope ausgeschlossen) die Email im VIM im nachhinein auf max. 65 Zeichen pro Zeile reformatieren?

[CUT rfc1855.txt]
- Limit line length to fewer than 65 characters and end a line with a carriage return.
[/CUT]

Hier kann man sich dem Tool “fmt” – einem Textformatierungsprogramm (-; – bedienen. Ein einfaches

}!fmt -65

im Befehlsmodus dem VIM am Anfang der hässlichen Textzeile(n) und die Email des “Feindes” sieht schon besser aus!

HACK #4: Ein paar Shorties…

Monday, 22. August 2005
09:59:06 (+0200)

Häufig muss man zwischen mehreren bestimmten Textstellen hin- und herspringen. Dafür bietet der VIM eine schöne Lösung:

Strg-O: Zur vorherigen Cursorposition zurückspringen (mehrfach)
TAB: Zur neueren Cursorposition springen (mehrfach)

Des Öfteren editiert man Texte, in denen bestimmte Worte mehrfach vorkommen und evtl. aufgrund der Länge oder Buchstabenkombination schwer fehlerfrei einzutippen sind (z.B. Variablen- oder Funktionsnamen in Programmen). Dafür bietet der VIM folgende sehr schöne Lösung:

Strg-P: Wort mit vorherigem passenden vervollständigen (mehrfach)
Strg-N: Wort mit nächstem passenden vervollständigen (mehrfach)

Ein eher exotisches Feature des VIM ist die Möglichkeit, eine Zahl unter dem Cursor zu in- bzw. dekrementieren (auch oktale/hexadezimale Zahlen):

Strg-A: Zahl unter Cursor inkrementieren (mehrfach)
Strg-X: Zahl unter Cursor dekrementieren (mehrfach)

Have much fun…

HACK #3: VIM als integriertes Adressbuch nutzen

Monday, 22. August 2005
09:25:58 (+0200)

Wie Sie vorgestern *hoffentlich* im HACK #2 gelernt haben, kann man mutt ganz einfach dazu bringen, also Editor den VIM zu nutzen. Heute wollen wir uns anschauen, wie man den improved VI beim Emails Schreiben zusätzlich als integriertes Adressbuch verwenden kann.

Legen Sie dazu eine exemplarische ASCII-Datei an, in der Sie “$NAME < $EMAIL>” von ein paar Bekannten von Ihnen eintragen und speichern Sie diese dann auf ~/.addressbook ab.

Nun öffnen Sie den VIM und stellen sich ganz banal vor, Sie würden jetzt eine Email an Georg Merz schreiben wollen. Nur was machen, wenn Sie jetzt den Envelope-Teil “To:” ausfüllen wollen? Ganz einfach! Sie bewegen (-: den Cursor nach das “To:” und tippen nach einem [ESC] folgendes ein:

:r!cat ~/.addressbook | grep Georg

Danach brauchen Sie den als neue Zeile eingefügten Datensatz nur noch eine Zeile höher rutschen zu lassen – dies kann man z. B. im Befehlsmodus mit den Tasten kJ machen – und schon haben Sie einen wohlgeformten Empfänger-Envelope-Eintrag!

That’s it. Have much fun…

HACK #2: siggen Integration in Mutt/VIM

Saturday, 20. August 2005
18:15:17 (+0200)

Heute sehen wir uns einmal die Integration von siggen in das Email-Programm mutt, in Kombination mit VIM genauer an. siggen ist ein Signatur-Projekt, das ich letztes Jahr ins Leben gerufen habe. Es ist ein hoch integrierbares Tool zur kryptischen Verschlüsselung von Email-Signaturen in ANSI C89 oder Brainf*ck, dass sich ohne viel Mühe in viele Mail-Programme integrieren lässt, wie beispielsweise das gerade erwähnte Programm Mutt oder Pine in Kombination mit emacs, VIM, oder was auch immer (-;

Zunächst einmal wollen wir uns einen Überblick über siggen verschaffen, dazu schauen wir uns nach der Installation die Online-Hilfe an, die wir durch einfaches Aufrufen von siggen erhalten:

# siggen

TIPP: Ein `man siggen` oder `siggen -h` liefert noch mehr Informationen. Zur Installation von siggen darf ich noch darauf hinweisen, dass u. U. das Makefile vor dem Kompilieren der Sourcen angepasst werden muss (CC, Verzeichnisse) – aber ein Configure-Skript wäre hier zu konfortabel gewesen *fg*.

Gut, das (bzgl. der Online-Hilfe) ist doch relativ einfach zu bedienen – vorausgesetzt, Sie haben sich diese gerade durchgelesen! Angenommen wir wollen an jede Email folgende Signatur anhängen (nur “verschlüsselt” mit ANSI C89):


Max Mustermann

So versuchen wir es  doch einfach mal mit einem

# siggen -m -n “Max Mustermann”

und erhalten folgenden Output:


int main(){int O=0,s[]={0x9a,0xc2,0xf0,0100,0x9a,0xea,0xe6,0xe8\
,0xca,0xe4,0xda,0xc2,0xdc,0×0};while(O<14){(s[O]==0)?printf(“%c\
\n”,(110< <2)>>2):printf(“%c”,s[O]>>1);++O;}return s[--O];}

Evtl. könnte man mit der Flag “-c [COMMENT]” noch einen Kommentar einfügen, um den Quellcode blockweise formatiert zu bekommen. An dieser Stelle sei auch darauf hingewiesen, dass siggen nicht nur C “sprechen” kann, sondern auch

Brainf*ck, was Sie durch ein voranstellen von “-t bf” erreichen können.

Nun wollen wir noch

mutt so einstellen, dass man seinem Emails mit VIM verfassen (/lesen) kann. Dazu öffnet man die Datei ~/.muttrc in seinem Home-Directory:

# vim ~/.muttrc

Hier sucht man sich die folgende Zeile aus und modifiziert sie dementsprechend:

set editor=’vim -c “set t_Co=8″ -c “syntax on” -c “/^$” -c “set tw=65″‘

Also mehr als 65 Zeichen pro Zeile sind nicht RFC1855-konform und Syntax-Highlighting ist natürlich ein Muss :-)

Um dem Rest der Welt zu sagen, mit was für einem Editor man seine Emails verfasst bzw. liest, kann man noch einen Header-Eintrag in jeder Email mitschicken. Dazu muss man in ~/.muttrc noch folgendes ergänzen:

my_hdr X-editor: VIM – Vi IMproved 6.3 (http://www.vim.org)

So, nun kann man in Mutt seine Emails mit seinem Lieblings-Editor VIM schreiben ^^

Jetzt sehen wir uns doch einmal an, wie man siggen in mutt integrieren kann. Dazu ergänzen wir einfach noch die ~/.muttrc Datei in unserem Home-Verzeichnis um diese 2 Zeilen:

set signature=”siggen -c bar -l 65 foo”|
my_hdr X-siggen: siggen 1.27b (http://siggen.sf.net)

Und schon ist es eingebunden! Will man siggen etwas dynamischer gestalten, kann natürlich auch auf Variablen-Substitution zurückgreifen, wie z. B.

set signature=’siggen -c “current date/time” “`date`”‘|

um immer die aktuelle Zeit und das akutelle Datum zu “verschlüsseln”. Ein bisschen Ausprobieren ist hier allerdings angesagt…

Also, viel Spaß beim weiteren Ausprobieren…

Have much fun!