LinuxTage Graz 2007

[LinuxTage Graz 2007-05-19]


Workshop - "Message Editing"

Sa 19.Mai 2007 in Graz - 10-14h

Sven Guckes - graz2007 (at) guckes (dot) net

Lizenz: CC-by-nc-nd

Let's Chat!

Lasst uns über den Event reden - am besten über IRC!

irc://irc.freenode.org/linuxtage-graz

oder:
/server  irc.freenode.org
/join    #linuxtage-graz

Freue mich aber auch über Meldungen per ICQ oder Jabber.
icq:38801898 guckes(at)jabber.com

Lineares Programm (Einzeiler) (Stand: 2007-05-16)
Programm kurz
Programm lang

Abstract - kurz

Emails sind schnell verfasst - und dann oftmals schwer zu lesen. Dieser Workshop soll helfen Nachrichten schnell zu beantworten, aber dennoch gut lesbar zu machen.

Inhalt: Begrüßung/Hallo, Attribution (Name+Adresse), nur das Nötigste zitieren - kein TOFU! (Text Oben, Fullquote Unten) Zeilenbreite kurz genug für Terminals, evtl erneutes Umbrechen von zitiertem Text, Signatur nur fallweise. Zusammenfassung, Anpassung des Subjects, evtl Anhängen einer Signatur.

Sowohl mutt als auch vim bieten hier einige Möglichkeiten, um Antworten schneller zu Verfassen und dennoch eine Nachricht zu versenden, die sich auch in einem Archiv gut lesen läßt.

Zielgruppe: Einsteiger + Fortgeschrittene.


Abstract - Lange Version

Jeden Tag verfassen wir Nachrichten - entweder als Email für einen privaten Empfänger oder auch für viele, zumeist für eine Mailingliste oder für eine Newsgruppe.

Gute Nachrichten sind vor allem gut *lesbare* Nachrichten. Das Ziel dieses Workshops ist es die Techniken kennenzulernen um die eigenen Nachrichten *lesbar* zu gestalten.

Leider werden oftmals viele Nachrichten wegen Eile in schlechter Form geschrieben - und die weiteren Leser müssen dann unter den Fehlern leiden, nicht nur beim Lesen, sondern vor allem beim *Beantworten* dieser Nachrichten. Denn es obliegt jedem selbst die eigene Nachricht für alle lesbar zu machen.

Motto: "Sei liberal in (dem) was du entgegennimmst - und konservativ in dem was du sendest."

Etwas konkreter gesagt: Der Leser soll daraus problemlos seinen Nutzen ziehen können und seine Antwort geben können ohne Reparaturen leisten zu müssen. Beim Beantworten sollte man daher das Zitierte ordnen, zusammenfassen, und möglichst im Kontext beantworten.

Diese Techniken zu lernen kann ein Leben lang dauern und um sie zu beherrschen kann es noch länger dauern. ;-) Wir werden zusammen aber ein paar einfach Kniffe lernen mit denen man schon eine ganze Menge an Fehlern vermeiden kann.

Natürlich muss man zum Umgang mit dem "beweglichem Text" die Anwendung eines Editors erlernen, insbesondere die Techniken zum effektiven Einfügen und Löschen, Verschieben von Text und das Umbrechen von zitiertem Text.

Diese Techniken will ich anhand von dem Mailer Mutt und dem Editor Vim zeigen. Natürlich darf jeder während des Kurses den Mailer und Editor seiner Wahl einsetzen. Aber das geht wahrscheinlich nur dann, wenn der Teilnehmer seinen eigenen Laptop mitbringt.

Jeder Teilnehmer soll Gelegenheit haben über einen Rechner sich auf dem Server einzuloggen und mithilfe von mutt+vim seine Emails über eine eingerichtete Mailingliste teilzunehmen. [Lokaler Verteiler über /etc/aliases]

Dabei sollte jeder seine Frage auf die Mailingliste senden - und ich werde sie für alle sichtbar beantworten.

Bemerkung zur Zielgruppe: Der Inhalt ist für alle gedacht - und vor allem für Einsteiger. Schliesslich sollte man nicht erst als Fortgeschrittener lernen, ordentliche Nachrichten verfassen zu können.

Aber es hilft doch, wenn die Teilnehmer bereits mutt und vim einsetzen, so daß wir möglichst keine Zeit mit der Einrichtung und der Benutzung der Programme verlieren.

Der Fokus des Workshops liegt auf dem eigentlichen Tun - und da ist es eben hilfreich, wenn die Teilnehmer schon ein wenig mit den Programmen umzugehen wissen.

Eventuell ist noch am Montag (21.Mai) Zeit für einen erweiterten Workshop - mal sehen wie sich das ausgeht.


Warum das ganze?

Ich schreibe *viele* Emails - und poste auch einige male in Newsgruppen. Und immer wieder ärgere ich mich darüber, dass so viele Leute ihr Wissen in so schlechter Form darbringen, dass man ihre Texte ständig überarbeiten muss, um die eigene Antwort in eine ordentliche Form zu bringen.

In diesem Workshop will ich aber nicht nur aufklären (das wäre der Inhalt eines Vortrages), sondern alle dazu auffordern mitzumachen, um zu *sehen* was man besser machen kann. Ich will dass jedermann sieht wieviel einfacher die Bearbeitung einer Nachricht werden kann, wenn man ein geeignetes Werkzeug benutzt.

Ich gehe nicht davon aus, dass jeder nach diesen drei Stunden in der Lage sein wird aus einer komplett verhunzten Nachricht eine Antwort zu geben, die für die Nachwelt in Stein gemeisselt werden wird. Aber ich erhoffe mir, dass ich mithilfe der Anschauung erreichen kann, dass jeder Teilnehmer dazu ermuntert wird, die Nachrichten anderer beim Beantworten zu verbessern und sich zu bemühen lesbare Nachrichten zu schreiben.

Ein kleiner Rückblick: In Jahre 1989 erhielt ich meinen ersten Zugang zu einem UNIX Rechner. Mit diesem hatte man zugleich eine Emailadresse. Und auf einmal war da dieses "Internet"... Email flogen hin und her zwischen den Kontinenten. Und weit entfernte Menschen erschienen plötzlich ganz nah. Seitdem war ich von diesem Medium begeistert.

Ein paar Jahre später (ungefähr Sommer 1991) kam dann das "Usenet" mit seinen "Newsgruppen" hinzu. Inzwischen gibt es im Usenet Archiv knapp 15,000 Nachrichten von mir - und ein Vielfaches davon habe ich als Email geschrieben.

Die aus den vielen gelesenen und geschriebenen Nachrichten resultierende Erfahrung möchte ich nun weitergeben und erhoffe mir davon, dass andere diese Erfahrungen nicht erst alle selber machen müssen bis sie auf den Wert von gut geschriebenen Nachrichten erkennen.


Struktur des Workshops


Neue Nachrichten - Kopfteil (header)

Wie verfaßt man *neue* Nachrichten?
Ziel:  Deutliche Unterscheidungen zu Spam geben

From:       - nie ohne Namen, möglichst mit dem eigenen Namen
Subject:    - niemals leer; sinnvolle Hauptworte, "Überschrift".
              gegebenenfalls nach dem Beeden der Mail anpassen.
Reply-To:   - ebenfalls mit Name+Adresse.  Redundanz vermeiden.
Message-ID: - Datum+Uhrzeit, Zufallszeichen, am Ende mit FQDN.
              also mit eigener Domain und Unterdomain.

Neue Nachrichten - Inhalt (body)

Guter Anfang:
Begrüssung + Unterschrift als Kennzeichung
für Anfang und Ende der Nachricht

Zitate:
- Nur den wichtigsten Teil zitieren.
- Eventuell selber zusammenfassen.
- Beim Wechseln des Themas eine
  Zwischenüberschrift einfügen.

Attachments:
große Attachments vermeiden.
Stattdessen die Daten auf einen Server
legen und nur die Adresse mitteilen -
insbesondere bei Verteilung über Listen.

Signatur nur fallweise und sparsam einsetzen.

Eventuell eine digitale Signatur verwenden.
(Probleme bei non-RFC Mailern.)
Verschlüsselung...

Vor dem Abschicken:
Inhalt überdenken.
Tippfehler korrigieren.
(Gross/klein + Interpunktion,
 Grammatik, Deppenapostroph..)
Zusammenfassung am Anfang
oder Ende hinzufügen.
Subject anpassen.

Exkurs: Problem+Lösung

Zusammenfassung am Anfang.  Grundfrage stellen.
Beschreibung des Problems in abstrakter Form.

Gib so viele Informationen wie möglich!
Was ist dein Ziel (ganz abstrakt gesehen)?
Was ist deine Situation? (Hardware, Software, Programme)
Gib ein Beispiel.

Treten Fehler auf?  Gibt es Fehlermeldungen?  Welche?
Kannst Du den Fehler wiederholen?

Tritt das Problem auch bei den Grundeinstellungen des Programms auf?
Oder tritt das Problem nur bei der Konfiguration aus?
Welche Einstellungen hast Du verändert bzw könnten damit zusammenhängen?

Alle grossen Daten (komplette Setupdatei, Logdateien, Screenshots)
*nicht* anhängen, sondern auf einen Webserver hochladen und nur
deren Adressen nennen.  Möglichst ein Verzeichnis für jedes Problem.

Wie gut kennst Du dich mit den Programmen aus?
Bist Du ein technischer Mensch?
Bist Du ein gelegentlicher Anwender?

Kennst Du FAQs+HOWTOS?
Kennst Du RFCs?
Kannst Du google benutzen?
(Suche nach Stichworten
 Suche einschränken)

Alle Fragen *deutlich* formulieren!

Wiederkehrende TextTeile -> Abkürzungen

Schnelles Einfügen von
- Emailadressen
- Webadressen (URLs, URIs)
- lange Worte
- Phrasen
- Standardtext (templates)
-> Abkürzungen und Dateien!

Vorgehensweise

Antworten schreiben

KOPF (head) der Nachricht:
- Adressen hinzufügen, eventuell über Aliase
  To: me, boss
  Cc: coworker
  Bcc: myself@home

- Subject anpassen:
  ,cs   change subject mit "X-Old-Subject: OLD"
  ,CS   Change Subject mit "Subject: NEW (was: OLD)"

- Folderkopie per Fcc:
  #C    "Fcc: +GRAZ"

KOERPER (body) der Nachricht:
- Zuordnung (Attribution):
  Name+Adresse - eventuell noch Datum+Uhrzeit.
  (das sollte man nur einmal einstellen müssen).

- evtl Zuordnungszeilen kürzen bzw reparieren.

- Löschen von Leerzeichen am Ende der Zeile.
  mit F9
  Ausnahme: nicht bei "format=flowed".

- Löschen von Begrüssung+Unterschrift+Signatur

- Löschen von unwichtigen Nebenschauplätzen.
  zB von ablenkenden und provokativen Bemerkungen.

- Konvertierung von TABs zu Leerzeichen.
  "A space is a space is a space is a space!"
  :set expandtab
  :retab
  Kurzversion: :se et|ret

- Öffentliche Nachricht:
  "Hallo, Zielgruppe!" -> blöd!
  Einfacher: Keine Begrüßung.

- Private Nachricht:
  ,hi   "Hi!"
  ,ha   "Hello, again!"
  ;;    "Hello, FIRSTNAME!"
  Begrüssung bei weiteren Nachrichte in
  einer "Unterhaltung" eventuell weglassen.

- Aufbrechen des Textes in Absätze
  mit zusammenhängendem Inhalt.
  Leerzeichen durch Newline ersetzen:
  (r[space])

- Umbrechen von zitierten Text:
  CTRL-J    auf aktuelle Textbreite umbrechen
  F5        Breite um zwei Zeichen verkleinern
  F6        Breite um zwei Zeichen vergrössern

- Zusammenfassen von "Whitespace"
  (dh Folgen von Leerzeichen und TABs)
  F10       Whitespace zu einem Leerzeichen

- Vor- und Nachteile der automatischen Behandlung
  des Textes beim Start des Editors.
  Problem: Keine Erkennung von Textblocks
  mit ASCII graphik oder Tabellen möglich.

Fertigkeiten des Editors

Folgende Kommandos sollte der Editor haben:

- Kommando "undo" ist eine unabdingbare Voraussetzung!
  Ein dazugehöriges "redo" sollte es eigentlich auch geben.
  ["Wiederherstellen von gelöschtem Text"]

  Achtung: Webmailer haben meist *kein* "undo"!
  Ausnahmen:
  Firefox: "undo" mit CTRL-Z + "redo" mit CTRL-SHIFT-Z
  Firefox + "It's all text" extension
  Mozilla + mozex.
  Opera.

- Schnelles Einfügen von langen Worten,
  Phrasen und Texten -> Abkürzungen
- Kopieren und Löschen von Textobjekten
  wie Wort+WORT, Satz bzw Absatz.
  Ersetzen des gelöschten Textes
  durch eine Auslassung/Ellipse (...).
- Einrücken eines Textblockes.
- Automatisches Einrücken (automatic indentation):
  Übernahme der aktuellen Einrückung durch Whitespace
  auf die nächste Zeile. (vi: "set ai")

- Umbrechen von Text auf aktuelle Textbreite
  unter Beibehaltung des Zitatlevels!

- Breite des Textes relativ verkleinern und vergrössern

- Text suchen und ersetzen - auch mit Mustern (regulären Ausdrücken)

- Operationen auf Spaltentext (rechteckiger Text).
   [zB zum Einfügen von leeren Spalten]

- Zitieren und Dezitieren von Text
  ,qp     quote paragraph
  ,dp   deqoote paragraph

- Einfügen von URLs aus einer Textdatei
  :r!grep http file

- Einfügen von Zitaten
  ,aq   :r!agrep

- Einfügen einer Signatur
  ,s    :r!agrep

- Löschen von Vollzitaten
  dG        aktuelle Zeile bis zur letzten Zeile löschen
  dip       aktuellen Absatz löschen
  d/foo     Löschen von aktueller Position bis zum nächsten Wort "foo"

(Externe) Filter:
- Box um Text machen und löschen
- Text rotieren (caesar cipher, rot13)
- Einfügen eines Spoiler-Textes in ROT13
- Sortieren (auch nach Nummern - (sort -n")

Verschiedenes:
- ASCII Bilder
- Smileys
- Zwischenüberschriften im Text ("[Thema]")

Und die Anwendung dieser Kommandos sollte man auch beherrschen. ;-)

Konzeptionelles: Aufteilen von Nachrichten in verschiedene Diskussionsteile. (Mithilfe von Vims Registern und Viminfo-Datei kein Problem!)


Mutt Konfiguration

Ein paar Optionen, die man unbedingt einstellen sollte:

Wer bin ich?
set from=user@domain
set realname="Vorname Nachname"
-> From: $realname <Vorname Nachname>

Immer eine Kopie behalten!
set copy

beim Antworten auch Zitieren!
set include

Gelesene Mails sollen beim quit
*nicht* automatisch Verwinden:
unset move

Kein lästiges Nachfragen bei Erstellen
von Foldern bzw beim Anhängen an Foldern:
set confirmcreate
set confirmappend

"schnell, schnell.."
keine Anfrage wegen To: und Subject:
set autoedit

Den Header der Nachricht
dem Editor mitgeben:
set edit_headers

Do NOT touch this!
indent_string

Zitatzuordnung mit
"Name <Adresse>":
set attribution="* %n <%a>:"
set attribution="* %n <%a> [%(%y%m%d %H:%M)]:"

Sparsam verwenden!
signature

Cool!
set reverse_alias
set reverse_name

antwort an alle -
aber nicht mich!
...

mit dem Subject aufraeumen:
"Antw: Re: Fwd:" ...
...

"ab in den Folder damit!"I
Verschieben das mails
mittels save-hook:
save-hook guckes +TEXTTOOLS

Pager:
Auswahl der Headerzeilen zum anguckes:
ignore *
unignore from: date: subject: to: cc: reply-to:

Pager:
'T' toggles display of quoted text.

Pager:
Attributionen kuerzen bzw reparieren,
Footer und Signatures verstecken,
TOFU entsorgen, zwischennachrichten
Typos korrigieren - all ds geht mit
display_filter

Kür:  Key Bindings:
bind index zt current-top
bind index zz current-middle
bind index zb current-bottom

Arbeitsmaterialien

Ein Rechner sollte für jeden Teilnehmer vorhanden sein.

Aber es ist natuerlich immer besser, wenn man
seinen eigenen Laptop dabei hat - dann kann man
mit den eigenen Daten herumspielen und die neue
Konfiguration gleich mit nach Hause nehmen.

Ich empfehle aber jedem einen Papier+Stift mitzubringen,
um Fragen zu notieren.

Eventuell kann ich notierte Fragen
zwischendurch noch beantworten.

Für die Benutze von IRC empfehle ich während des
Workshop die Verwendung des folgenden Kanals:
irc://irc.freenode.org/linuxtage-graz-workshop
Dann kann man Fragen jederzeit stellen, sich mit den anderen
austauschen - und man hat später ein log der ganzen Sache. :-)

Credits



Plugin Ideas:
Stefan Neufeind (2007-05-01)
for Firefox + Thunderbird:
http://www.fnxweb.com/software-mozilla
öffnet URLs im Browser - selbst dann,
wenn sie über mehrere Zeilen umbrochen sind.

http://mailredirect.mozdev.org/
mails umleiten per "bounce" statt "forward"

Andreas Gredler (2007-05-04):
Kommando für "lösche Text ab aktueller Position
bis zum Beginn der eigenen signature".
    map xy d/^-- $<cr>

Feedback!

Gibt es noch Fragen? Bitte schickt mir eure Fragen einfach per Email - ich freue mich über euren Feedback - sei es über Tippfehler, Ergänzungen, Hinweise, Ideen - wasauchimmer! Vielleicht kann ich das ja auch noch in meinen Workshop mit aufnehmen. :-) graz2007@guckes.net


Sven Guckes - Bio

[Sven Guckes]

Sven Guckes (*1967), Mathematik+Informatik, Freiberufler, lebt in Berlin.

Sven benutzt fast ausschließlich Tools in Terminals (sogenannte TextTools), weil sie klein, schnell, hochkonfigurabel und höchst effizient sind, sowie auch auf alter und kleiner Hardware funktionieren. Ab und zu hält er über die Benutzung auch ein paar Vorträge.

Er ist ein Verfechter von Freier Software und benutzt auf Windows nur noch Firefox und putty, um auf einem ordentlichen Betriebssystem[tm] arbeiten zu können.

Sein Traum ist es, irgendwann einmal einen Computer zu haben, der alle Programme hat, die er braucht, und so funktioniert, wie er es erwartet. Mit genügend Speicherplatz für alle Daten, die eventuell gebraucht werden könnten. Und der nicht abstürzt und transportabel ist. Und bezahlbar. Für jeden. ("Traum"!)

Und er reist gerne nach Österreich. :-)

Kontakt: email: graz2007(at)guckes(dot)net icq:38801898 guckes(at)jabber.com irc:SvenG


Links

www.guckes.net/graz2007/
Die offizielle Adresse dieser Seite.

www.linuxtage.at/115/
Die Ankündigung zu diesem Workshop.

learn.to/edit_messages
Ein weiterer Text zum Thema "Message Editing" - mit Beispielen.