Skip to content

25 Jahre Phrack

Die Phrack Ausgabe 67 markierte das 25-jährige Jubiläum des Magazins. Herzlichen Glückwunsch:

                                 \\\ ,
                                  \ `|
                                   ) (   .-“”-.
                                   | |  /_  {  ‘.
                                   | | (/ `\   } )
                                   | |  ^/ ^`}   {
                                   \  \ \=  ( {   )
                                    \  \ ‘-, {   {{
                                     \  \_.’  ) }  )
                                      \.-’   (     (
                                      /’-.’_. ) (  }
                                      \_(    {   _/\
                                       ) ‘--’ `-;\  \
                                   _.-’       /  / /
                            <\/>_.’         .’  / /
                        <\/></\>/.  '      /<\// /
                        </\>  _ |\`- _ . -/|<// (
                     <\/>    - _- `  _.-’`_/- |  \
                     </\>        -  - -  -     \\\
                      }`<\/>                <\/>`{
                      { </\>-<\/>_<\/>_<\/>-</\> }
                      }      </\> </\> </\>      {
                   <\/>.                         <\/>
                   </\>                          </\>
                    {`<\/>                     <\/>`}
                    } </\>-<\/>_<\/>_<\/>_<\/>-</\> {
                    {      </\> </\> </\> </\>      }
                    }                               }
                    {           H A P P Y           {
                    }                               }
                    {             25th              {
                 <\/>                               <\/>
                 </\>        B I R T H D A Y        </\>
                   `<\/>                          <\/>’
                jgs </\>-<\/>_<\/>_<\/>_<\/>_<\/>-</\>
                         </\> </\> </\> </\> </\>

Start des Wintersemesters

Heute startete das Wintersemester an der Uni. Für mich ist es das erste Mal, dass ich keine Vorlesungen höre, sondern selbst eine halte. Das Thema ist IT-Sicherheit. Dort bespreche ich die üblichen Schwerpunkte (Kryptografie, Sicherheitsmodelle, CC etc.). Zur ersten Veranstaltung kamen etwa 40 Personen. Ich bin gespannt, wie die Zahl am Ende des Semesters ist.

Heute habe ich als Einführungsbeispiel etwas zu Stuxnet erzählt. Der Wurm ist wegen seiner Komplexität sehr interessant. Es schien so, als ob der Großteil der Teilnehmer meinen Ausführungen folgen konnte. Immerhin gab es am Ende einige Fragen und zur Freude der Studenten war auch einige Minuten eher Schluss.

Am letzten Freitag des Monats startet dann ein Seminar zu Wikileaks. Hier erstaunt mich die Zahl der Teilnehmer. Im Friedolin steht nur der Titel des Seminars und es haben sich etwa 50 Personen angemeldet. Ich würde mich freuen, wenn sich alle für das Seminar entscheiden. Dann können wir vielleicht wirklich etwas auf die Beine stellen.

Natürlich will ich mich in die eine oder andere Vorlesung reinsetzen. In der Mathematik finde ich algebraische Zahlentheorie recht interessant und das passt bei mir gut rein. Andere Vorlesungen sind entweder zu lang oder ich schaffe es zu den Terminen nicht. Dann habe ich mir einige Jura-Veranstaltungen herausgesucht. Eine davon sollte heute beginnen. Als ich die Tür öffnete, stand ich vor einer Wand Menschen und habe den Saal gleich wieder verlassen. Mal sehen, ob die anderen Veranstaltungen genauso sind.

Ich wünsche allen Studenten ein erfolgreiches Semester. :-)

EasyPG Assistent für Emacs

Kürzlich hatte ich mit jemanden eine Diskussion über NNTP und Gnus. Dabei fiel mir auf, dass er die Datei, welche unter anderem Passworte enthält, verschlüsselt aufbewahrt. Im Verlauf des Gespräches kamen wir daher auf den EasyPG Assistent zu sprechen. Das ist ein Modus für den Emacs, der gute Unterstützung für GnuPG innerhalb des Editors bietet. Meine ersten Versuche damit liefen recht erfolgversprechend.

Bei Debian, Ubuntu und Co. muss einfach das Paket easypg installiert werden. Debian installiert in /etc/emacs/site-start.d/50easypg.el eine Datei, die den Start des Modus’ übernimmt. Falls das bei dir nicht der Fall ist, kannst du in deiner .emacs die Zeile (require ’(epa-setup)) eintragen. Danach steht dir der Easypg Assistent zur Verfügung.

Das oben angesprochene Verhalten lässt sich erzeugen, in dem man die Endung .gpg an die Datei anhängt. Beim erstmaligen Speichern der Datei fragt der Modus nach dem korrekten Schlüssel:

Select recipents for encryption.
If no one is selected, symmetric encryption will be performed.  
- `m’ to mark a key on the line
- `u’ to unmark a key on the line
[Cancel][OK]

  - E8CBC9EE886DDD89 User 1 <user1@example.org>
  - 3B9D09F31B30974B User 2 <user2@example.com>
  u 547EBEB15774924D Jens Kubieziel <jens.kubieziel@example.org>

Standardmäßig ist der Schlüssel markiert, zu dem es auch einen privaten Schlüssel gibt. Falls du einen anderen wählen willst, gehst du in die entsprechende Zeile und wählst den mit der Taste m aus. Nachdem diese Auswahl mit Enter bestätigt wurde, befindet sich eine verschlüsselte Datei auf deiner Festplatte. Beim späteren Öffnen der Datei wird der Emacs nach dem Passwort fragen und dir den Inhalt anzeigen.

Daneben arbeitet EasyPG sehr gut mit dem Dired-Mode zusammen. Mit zwei Tastendrücken lassen sich Dateien ver-/entschlüsseln, signieren etc. Laut Handbuch ist die Unterstützung für E-Mail ebenfalls gut. Das habe ich nicht getestet und kann dazu nichts sagen.

Insgesamt hat mich EasyPG sofort begeistert und gehört ab sofort zu den Emacs-Modi meiner Wahl.

Mammutaufgabe Nummer 2 für 2010

Vor einer Woche tagte das letzte Gremium und auch hier gab es einen eindeutigen Beschluss: Mein Lehrauftrag für das Wintersemester 2010/11 wird genehmigt. Also startet bald mein nächstes Großprojekt, die eigene Vorlesung. Ich werde zusammen mit einem weiteren Professor des Lehrstuhls für Informatik die Vorlesung IT-Sicherheit halten und bin sehr auf diese neue Erfahrung gespannt.

Die ursprüngliche Idee für diese Vorlesung kam aus der Studentenschaft. Während der Proteste anfangs des letzten Semesters monierten Studenten das fehlende Thema. Über diverse Iterationsstufen kam der Vorschlag schließlich bei mir an und der Stein ins Rollen. Ich halte schon seit vielen Jahren Seminare. Zu Beginn waren es hauptsächlich Finanzthemen, genauer Devisen- und Wertpapierhandel. Später schwenkte ich auf den Softwaresektor um. Anfangs war Java der Hauptinhalt, später erweiterte ich mein Angebot auf GNU/Linux (Zertifizierung, Administration etc.), IT-Sicherheit (BSI Grundschutz) und Datenschutzthemen. Die letzteren Felder beackere ich auch in praktischer Tätigkeit. Daher wurde mir das nötige Wissen und die Fähigkeit zur Schulung anerkannt. Die diversen zuständigen Gremien gaben ihre Zustimmung und nun kann es losgehen.

Wenn es soweit ist, berichte ich über die Inhalte und eventuell interessante Begebenheiten aus der Vorlesung. Seit gespannt!

AUCTeX mit GNU/Emacs

Preview
  eines LaTeX-Dokuments im Emacs

AUCTeX ist eine weitere Hilfe für die Berabeitung von LaTeX-Dokumenten. Die Software selbst ist kein Editor, sondern eine Art Erweiterung (Modus) für den GNU/Emacs oder XEmacs. Ich nutze den GNU/Emacs und werde daher im weiteren auch nur auf diesen eingehen.

Unter GNU/Linux ist der Modus meist in der Paketverwaltung der Distribution enthalten. Sucht dort einfach nach dem Wort auctex. Wahrscheinlich werdet ihr schnell fündig und könnt das Paket installieren. Wer es nicht findet oder lieber Software aus den Quellen baut, kann sich diese herunterladen und mit dem üblichen Dreisatz (./configure && make && make install) an den Start bringen.

Mit Microsoft Windows kenne ich mich nicht so gut aus. Die Webseite von AUCTeX hat jedoch eine gute Anleitung zur Installation. Als ich AUCTeX das letzte Mal unter Windows installierte, ging das ohne Probleme.

Nachdem AUCTeX seinen Weg auf euer System gefunden hat, muss der Emacs eventuell wissen, dass er den Modus bei LaTeX-Dokumenten aktivieren soll. Dazu muss die Zeile (load “auctex.el” nil t t) in die .emacs eingetragen werden. Der Schritt ist aber nicht in jedem Fall nötig. Diverse Distributionen haben globale Einstellungen, die den Schritt bereits vornehmen.

Des Weiteren ist es sehr nützlich, wenn AUCTeX das Dokument beim Öffnen scannt, um selbst definierte Befehle, eingebundene Pakete etc. zu finden. Hierfür müssen die unten stehenden Zeilen ihren Weg in die Konfigurationsdatei finden:

(setq TeX-auto-save t)
(setq TeX-parse-self t)

Ich schreibe naturgemäß viele mathematische Texte. Daher möchte ich den Mathemodus in AUCTeX aktiv haben und der RefTeX-Modus zum Verwalten von Referenzen soll aktiv sein. Daher habe ich meine .emacs um die folgenden Zeilen ergänzt.

(add-hook ‘LaTeX-mode-hook ‘LaTeX-math-mode)
(add-hook ‘LaTeX-mode-hook ‘turn-on-reftex)

AUCTeX behandelt Dateien mit den üblichen Endungen (.tex, .ltx, .sty etc.) als LaTeX-Dateien. Hin und wieder habe ich es mit der Endung .latex zu tun. Damit AUCTeX auch hier seine Stärken ausspielen kann, muss ich eine Zeile in der Konfiguration ergänzen.

(add-to-list ‘auto-mode-alist ‘(“\\.latex” . tex-mode))

Nach diesen Einstellungen könnt ihr mit der Bearbeitung der Texte loslegen. Einige finden es unter Umständen schöner, wenn bestimmte Schlüsselworte bunt sind (Syntax Highlighting) oder das der Text nach einer bestimmten Anzahl Zeichen umbrochen wird. Dies lässt sich in den allgemeinen Einstellungen des Editors festsetzen.

Wenn ihr eine leere Datei öffnet, bleibt diese zunächst leer. Mit der Tastenkombination Strg+c Strg+e öffnet sich im Minibuffer das Menü zum Einfügen einer neuen Umgebung. AUCTeX erkennt, dass das Dokument leer ist und bietet automatisch die document-Umgebung zum Einfügen an. Wenn das bestätigt ist, müsst ihr eine Dokumentklasse und eventuell Optionen angeben. Dann steht der Grundrahmen des Dokuments. Wahrscheinlich willst du nun weitere Pakete einfügen. Hierzu bewegst du den Cursor an die korrekte Stelle und kannst dann mittels Strg+c RET usepackage RET foopaket RET das foopaket einbauen. In der Regel reicht die Eingabe von usep+TAB und Paketnamen vervollständigt AUCTeX ebenfalls. Der jjm ist hier jedoch wesentlich besser. Dort genügt die Tastenkombination Strg+c p, um ein Paket von einer beliebigen Stelle im Dokument einzubauen. Weiterhin ergänzt der jjm automatisch fehlende Pakete. Wenn du einen Befehl nutzt, der zu einem bisher nicht eingebundenen Paket gehört, so fügt jjm automatisch das Paket ein. Einen derartigen Automatismus würde ich mir für AUCTeX ebenso wünschen.

Die Bearbeitung des Textes ist recht einfach. Überschriften können mittels Strg+c Strg+s sowie dem Namen der Überschriften (chapter, section etc.) eingefügt werden. Bei jeder neuen Überschrift schlägt AUCTeX das Level der zuletzt benutzten vor. Dies vereinfacht unter Umständen die Eingabe. Jedoch ist jjm wieder einen Schritt weiter. Wie ich schrieb, dient dort beispielsweise die Kombination Strg+c s s zum Einfügen einer neuen section. Das heißt, nach dem initialen Aufwand, die Kürzel für die Abschnittsebene zu lernen, ist eine Überschrift schneller gesetzt. Der Vorteil bei AUCTeX liegt wiederum beim autoamtischen Setzen eines Labels. Bei jeder Überschrift schlägt die Software vor, ein Label zu vergeben. Ich benötige jedoch nur recht selten einen Verweis auf bestimmte Kapitel. Daher stellt das für mich keinen besonderen Vorteil dar.

Bereits oben beschrieb ich, wie eine Umgebung einzufügen ist (Strg+c Strg+e). Für Befehle ist Strg-c RET nützlich. Im Minibuffer wird der Name eingegeben und eventuelle Parameter abgefragt. Eine weitere Möglichkeit wäre, den Backslash sowie einen Teil des Befehlsnamen einzugeben und mit Meta+TAB zu vervollständigen. Dabei fehlen die geschweiften Klammer und eventuelle Parameter muss der Nutzer selbst eingeben. Insofern finde ich die erste Variante angenehmer. Natürlich steht zur Bearbeitung des Textes die gesamte Palette an Emacs-Features zur Verfügung.

Eine der großen Stärken von AUCTeX bzw. korrekter preview-latex liegt in einer Art Dokumentvorschau. Das Bild oben zeigt einen Ausschnitt des GNU/Emacs mit aktiviertem AUCTeX und einer Vorschau. Die Vorschau zeigt dabei Überschriften, Mathetext sowie einige andere Onjekte an. Gerade bei mathematischen Texten ist die Vorschau ganz nützlich. Denn größere Formeln werden im Mathesatz schnell unübersichtlich. Mit preview-latex behält jeder den Überblick und kann eventuelle Fehler schnell erkennen.

Insgesamt ist AUCTeX mit preview-latex ein guter Modus zur Bearbeitung von LaTeX-Dateien. Gerade für Nutzer, die neu beginnen, ist er sicher eine große Hilfe.

Vorstellung diverser LaTeX-Editoren

Durch den Vortrag zu LaTeX und die damit aufgetretenen Fragen kam ich auf die Idee, mir mal einige Editoren für LaTeX anzuschauen. In den folgenden Beiträgen will ich euch daher mal meine Erfahrungen mit den verschiedenen Programmen schildern und darstellen, wo aus meiner Sicht die Stärken und Schwächen der Einzelnen liegen. Diese Schilderung ist natürlich subjektiv. Denn im Laufe der Zeit habe ich mir eine bestimmte Benutzung angelernt und werde die Programme daher aus dieser Sichtweise beurteilen.

In der Vergangenheit nutzte ich eine Vielzahl von Programmen, um LaTeX-Quelltexte zu erstellen. Angefangen hat es mit dem Standard-Editor von Microsoft Windows. Danach probierte ich WinEdt aus. Durch den Wechsel zu GNU/Linux kam ich dann mit vim, jed und dem GNU Emacs (mit dem XEmacs konnte ich mich nie anfreunden) in Verbindung. Alle diese Programme haben einen Modus für LaTeX-Dateien und kommen in die nähere Betrachtung. Weiterhin bewirbt Frank sein Baby namens Geany. Das Programm schaute ich mir also ebenfalls genauer an. Weitere Programme, wie beispielsweise Kile oder TeXmaker, kamen bisher noch nicht unter meine Finger. Gibt es unter meinen Lesern Nutzer dieser oder anderer Programme? Wie sind eure Erfahrungen damit?

Worauf kommt es mir nun an? In den meisten Fällen öffne ich ein bestehendes Dokument, um dort weiterzuarbeiten oder Verbesserungen vorzunehmen. Dabei sind viele Pakete eingebunden bzw. eigene Befehle und Umgebungen definiert. Innerhalb des Editors wie auch bei einer Shell ist die Vervollständigung eine wichtige Erleichterung. Deshalb sollte der Editor meine eigenen Erweiterungen und auch die der eingebundenen Pakete kennen.

Weiterhin sollte er Wörter expandieren können. Das heißt, ich will in einem Text nicht jedes Mal das Wort Gruppenhomomorphismus tippen. Stattdessen gebe ich die ersten Zeichen des Wortes ein und nach einer Tastenkombination wird das Wort ergänzt.

Wenn wir schon bei Vervollständigung sind, sollte der LaTeX-Editor möglichst die installierten LaTeX-Paket kennen und mir diese bei der Eingabe von \usepackage anbieten. Noch besser wäre es, wenn dem Editor Optionen zu einzelnen Paketen bekannt sind. Aber das ist nicht immer (einfach) möglich.

Beim Öffnen eines Dokumentes gehe ich davon aus, dass der Editor die definierten \labels erkennt und ich diese dann referenzieren kann, ohne mir selbst die Namen zu merken.

Wahrscheinlich gibt es noch weitere Merkmale, auf die ich implizit Wert lege. Sollten mir weitere einfallen, werde ich die hier ergänzen. Editoren müssen sich daran messen lassen. Ich werde in den Beiträgen immer etwas dazu schreibe.

Nun hätte ich gern von euch gehört, welche Editoren ihr gern nutzt, worauf ihr Wert legt etc. Bitte lasst euch bei den Kommentaren aus. ;-)

cronjob