Archiv der Kategorie: Linux Tool der Woche

Linux Tool der Woche: Moleskine Notizbuch

Moleskine

Moleskine Notizbuch

Wir alle kennen das Phänomen: da suchen wir nach der Lösung eines Problemes, vielleicht nach einem passenden Reim für ein Gedicht. Nach der richtigen Formel für eine mathematische Aufgabe. Oder ganz allgemein nach einer kreativen Eingebung. Allein der erhellende Gedanke will sich einfach nicht einstellen, der erhoffte Geistesblitz will sich trotz aller Anstrengung nicht einstellen. Doch irgendwann, in einem völlig unerwarteten Moment und ohne bewusstes Nachdenken fliegt uns die Lösung zu, gerade wie ein frischer Wind am Morgen eines jungen Tages, Wie gut ist es, wenn in so einem Moment etwas zum Schreiben im Griffweite ist, damit die spontane Eingebung rasch festgehalten werden kann. Denn der erhellende Einfall kann so rasch wieder verschwinden, wie er in unseren Gedanken Form angenommen hat.

Heute gibt es allerlei praktische Geräte, wie Tablets, Netbooks oder auch Smartphones, die uns in so einem Moment helfen können. Rasch können auf der Tastatur oder per Mikrophon einige Stichworte und Sentenzen festgehalten werden. Später kann das Notierte auf dem PC weiter verarbeitet werden. Nur: die Tücken der Technik können hier einen Strich durch die Rechnung machen. So kann es einen Moment dauern, bis das Gerät schreibbereit ist. Die verschiedenen Elemente auf dem Bildschirm können und ablenken, oder – der schlimmste Fall – im alles entscheidenden Moment versagt der Akku!

Mit dem guten alten Notizbuch kann dies alles nicht passieren. Zusammen mit einem Bleistift oder Kugelschreiber ist es in jedem Moment bereit, einen Text, eine Skizze oder auch ein paar Takte Musiknoten auf Papier festzuhalten. Einfach und schnell und so, wie es Menschen schon vor Jahrhunderten gemacht haben. Aus diesem Grund ist das Moleskine Notizbuch das Linux Tool der Woche. Moleskine’s sind Notizbücher mit einigen Besonderheiten, die ihnen rund um dem Globus eine grosse Fangemeinde eingebracht haben. Moleskine’s sind den Notizbüchern bekannter Künstler wie Pablo Picasso, Vincent van Gogh oder Ernest Hemingway nachempfunden: sie sind sehr robust, sorgfältig mit beschichtetem Karton eingebunden und mit einem genähten Rücken versehen. Dieser erlaubt das flache Aufschlagen des Buches, ohne dass es sich zurückbiegt. Ein elastisches Gummiband hält das Buch geschlossen und ein Lesezeichen hilft beim Wiederfinden einer bestimmten Seite. Im Rückendeckel befindet sich ausserdem eine Falttasche für Notizblätter, Visitenkarten oder was sonst gerade hineinpasst. Das Moleskine Notizbuch fühlt sich angenehm an in der Hand und das cremefarbene Papier mit abgerundeten Ecken lädt zum Schreiben ein. Notizbücher wie das Moleskine erfreuen sich gerade in der modernen und schnelllebigen Zeit wieder grosser Beliebheit. Sie sind für viele Menschen ein persönliches Accessoire geworden, das sie immer bei sich tragen. Könnte es sein, dass gerade die digitalen «Gadgets» dazu geführt haben, dass viele Menschen wider das einfache und «währschafte» bevorzugen?

Aber eigentlich haben Notizbücher mit Linux/UNIX nichts zu tun! Erst beim genaueren Hinsehen lassen sich einige Gemeinsamkeiten entdecken. Ein Notizbuch ist ja nichts anderes ale ein erprobtes, praktisches und leicht zu bedienendes Hilfsmittel im Alltag. Genau so so wie ein Linux Tool. Ferner weist es alle Eigenschaften auf, die für UNIX Programme typisch sind. Es erfüllt nämlich genau eine Aufgabe, diese aber sehr gut. Und schliesslich ist das Moleskine Notizbuch genau so zuverlässig wie UNIX, es bewahrt unsere Notizen sicher und dauerhaft auf (das Papier ist alterungsbeständig).

Alle bisher in dieser Rubrik vorgestellten Programme sind nach einer Vorstellung kurz in ihrer Funktionsweise vorgestellt worden. Das soll auch beim Moleskine Notizbuch nicht anders sein. Natürlich wissen wir alle, wie ein Notizbuch benutzt wird. Dennoch möchte ich an dieser Stelle einige Tipps geben, die mir selbst immer wieder helfen, das Notizbuch gewinnbringend einzusetzen.
Wichtig ist natürlich, dass neben dem Notizbuch immer auch ein guter Stift bereit liegt, Dieser kann bei Bedarf in das Moleskine geklemmt werden, damit er nicht verloren geht. Zusammen mit dem «Schrybi» ist das das Buch idealerweise jeden Moment griffbereit, wie ein persönlicher Begleiter, der das aufnehmen kann, was uns in einem ganz bestimmten Moment in den Sinn kommt! Natürlich ist es von Vorteil, wenn die das Geschriebene deutlich lesbar ist, also auch nach Wochen oder vielleicht auch Jahren von uns noch gelesen werden kann.

Bei einem Notizblock können im Gegensatz zum Buch Seiten abgetrennt und weiterverwendet werden. Dies hat den Vorteil, dass einzelne Seiten weitergegeben oder für später beiseite gelegt werden können. Aber: hier droht die berüchtigte «Zettelwirtschaft». Auch beim Moleskine können natürlich einzelne Seiten herausgetrennt werden. Besser ist es aber, die gewünschte Notiz auf einen Zettel abzuschreiben. So bleibt die Information im Moleskine gespeichert. Der «Datenverlust» ist abgewendet…

Linux Tool der Woche: Cone

Mit meinem ersten Internetzugang im Jahr 1993 war das Senden und Empfangen von E-Mails nicht nur die einzige Internet-Anwendung – das World Wide Web gab es noch nicht. E-Mail war längst nicht so einfach und schnell wie heute. Ausgerüstet mit einem 9600bps Modem musste ich mich mit einer Telnet Sitzung bei einem Provider in Bern anmelden, was nicht immer auf Anhieb klappte. Und hin und wieder wurde die Verbindung im alles entscheidenden Moment unterbrochen. Murphy lässt grüssen…

Elm Einstellungen

Sobald die Verbindung aufgebaut war und die LED’s am Modem flackerten, wurde ich freundlich von einem Shell-Prompt begrüsst ($>) und konnte mit dem Kommando «elm» das E-Mail Programm starten. Elm (Electronic Mail) war eines der ersten Mailprogramme, das durchgehend menugesteuert war. So musste man die bei den «Vorfahren» von Elm üblichen Kommandos nicht lernen – damals galt das als klarer Vorteil! Mit Elm können ganz einfach und interaktiv Mails ausgewählt, gelesen, beantwortet und archiviert werden. Der Ahne von Thunderbird und Evolution verfügt sogar über eine Seite, auf der alle wichtigen Einstellungen des Programmes angezeigt und verändert werden können. Darüber hinaus bietet Elm einige Features, die bereits an moderne MUA (Mail User Agents) erinnern: etwa das Einbinden einer Kalender-Datei.

Warum spreche ich nun über Elm, obwohl doch ein anderes Programm Linux Tool der Woche ist? Ganz einfach, Elm stand in direkter Linie Pate für mehrere textbasierte MUA’s, die sich auch heute noch grosser Beliebtheit erfreuen. Und zu diesen zählt neben PINE (heute: ALPINE) und Mutt auch Cone. Alle drei wurden in den vergangenen Jahren kontinuierlich weiterentwickelt, sie untestützen POP3 und IMAP, können mit MIME-Mails umgehen und zeigen – mit Einschränkungen – auch HTML formatierte Nachrichten an. Warum aber gerade Cone? Weil Cone in bezug auf Umfang und Bedienung der einfachste Vertreter der Gattung ist. Cone kann mit wenigen Schritten zu einem vollwertigen IMAP-Client gemacht werden. Die dafür erforderlichen Einstellungen lassen sich bequem und sehr einfach über Dialoge erfassen. Und wer trotzdem nicht weiterkommt, findet in der Mailbox «Help» detaillierte Hilfeseiten.

Cone Ordnerliste

Wer auf eine Bedienung ohne Maus wert legt, wird an Cone seine Freude haben. Das programm kennt mehrere, geschickt gewählte Tastenkombinationen, die ausserdem in allen Teilen des Programmes ihre Funktion beibehalten. Wird Cone in eine Farbterminal gestartet, zeigt es sich zudem fröhlich bunt. Wem die Farben nicht zusagen, der kann sie im Hauptmenu verändern.

Welches sind nach der Installation die ersten Schritte mit Cone? Zu Beginn geht es darum, auf eine POP3 oder – besser – auf eine IMAP Mailbox zuzugreifen. Dazu wird im Hauptmenu die Option «N – NEW ACCOUNT» gewählt und dann der Typ der neuen Mailbox bestimmt:

Im dritten und letzten Schritt fragt Cone nach den Parametern für die Mailbox: Server, Login, Passwort und Verschlüsselung. Sind alle Parameter eingetragen, werden diese von Cone durch ein Test-Login geprüft. Das ist praktisch, da man so den Dialog bei fehlerhaften Daten nicht mehrfach aufrufen muss! Sofort nach dem erfolgreichen Login wechselt Cone in die Übersicht der neuen Mailbox. Angezeigt werden die Anzahl der neuen und gelesenen Mails, die zum Konto gehörenden Ordner und der Typ der Mailbox. Nach alter Väter Sitte wird nun der Cursor auf den gewünschten Eintrag positioniert und mit der Zeilenschaltung wechselt die Ansicht zur Liste der Mails. Zu jeder Nachricht werden Absender, Datum, Grösse und Betreff angezeigt. Flags in Form einzelner Buchstaben zeigen ausserdem den Status der Nachricht: N steht für Neu, R für beantwortet, x für Gelöscht, usw.

Am unteren Rand zeigt Cone ein Menu mit den verfügbaren Funktionen. Meist haben nicht alle auf dem Bildschirm Platz, deshalb wurden sie in zwei oder mehr Seiten aufgeteilt, zwischen denen mit Ctrl+O umgeschaltet werden kann. Natürlich sind auch die die Kürzel der englischen Sprache angepasst: [R]eply, [C]opy, [D]elete, [T]ake Address, etc. Das mag im ersten Moment etwas verstaubt wirken. aber wer sich an das Konzept gewöhnt hat, arbeitet mit Cone rasend schnell. Selbst Linus Torwalds schätzt bis heute die textbasierten Programme, er verwendet PINE.

Anzeige einer Nachricht

Apropos Adressen: Ähnlich wie bei PINE können E-Mail Adressen sehr einfach aus einer Nachricht im Adressbuch gespeichert werden. Und das geht so: In der Nachricht oder Übersicht Take Address wählen, die Adresse und das zu verwendenden Adressbuch wählen, einen Kurznamen bestimmen – fertig.

Beim Verfassen einer Nachricht fallen einige Besonderheiten in’s Auge: Cone bietet einen integrierten Editor, der auch Blockoperationen und eine Funktion zum Formatieren des Textes kennt! Auch PGP wird unterstützt, Cone kann neben Verschlüsseln und Signieren auch verschiedene Public Keys in die Nachricht einfügen. Die PGP Integration in Cone verdient das Prädikat wertvoll.

Mit «Full Headers» können während dem Verfassen alle Headerzeilen der Nachricht angezeigt und – ungewöhlich – bearbeitet werden. Wird eine Zeile im Header verändert, fragt Cone nach dem Senden, ob die Aenderung im Header für neue Mails beibehalten werden soll. Ist die Nachricht fertig verfassst, kann sie mit Ctrl-X versandt oder mit Ctrl+O zwischengespeichert werden. Im Gegensatz zu PINE geht Cone per Vorgabe davon aus, dass versandte Mail zusätzlich in einem IMAP Ordner gespeichert werden sollen.

Was gibt es noch zu sagen zu diesem kleinen, aber sehr praktischen Tool? Natürlich kann mit lokalen Mail Ordner gearbeitet werden. Cone steht hier voll und ganz in der Tradition der alten UNIX-Mailer. Und natürlich darf nicht unerwähnt bleiben, dass Cone alle Dateien und Einstellungen in einem eigenen Ordner ablegt. Wer will. kann die Einestellungen des Programmes auch mit einem Texteditor bearbeiten. UNIX eben.

Linux Tool der Woche: byobu

byobu & Midnight Commander

Ein «byobu» ist eine leichte japanische Faltwand, mit der ein Raum unterteilt werden kann. So ist es auf Wikipedia zu lesen. Meist sind die ursprünglich aus China stammenden Faltschirme kunstvoll mit Pflanzen, Blumen oder Schriftzeichen bemalt. Faltschirme waren früher als Windschutz gedacht, heute dienen sie vorwiegend dazu, einen Raum behaglicher und gemütlicher zu machen.

Der byobu hat nun einen Entwickler dazu inspiriert, auch für die Linux Konsole so einen Faltschirm zu entwickeln. Ein Tool also, das die Arbeit auf einem Linux Terminal vereinfacht, resp. behaglicher macht. Herausgekommen ist dabei eine gelungene Erweiterung für das screen Tool, das auf diesem Blog bereits vorgestellt worden ist. byobu ist eine Sammlung von Scripts, die das Arbeiten mit screen erleichtert. Zu diesen Erleichterungen gehören beispielsweise «Sensoren» – verschiedene Statusanzeigen, die in der Fusszeile über den Zustand des Systems informieren. Sehr einfach können per Menu rund 30 verschiedene Sensoren aktiviert werden: CPU Last, Netz Traffic, IP Adresse, Mailbox-Status, Zeit/Datum, etc. Ebenfalls via Menu können verschiedene Farbkombinationen gewählt werden. Alle Einstellungen werde gespeichert und sind beim nächsten Start von byobu sofort wieder aktiv!

Apropos Start: byobu kann auch als Shell aktiviert werden. Alle neuen Terminals verwenden dann automatisch byobu statt bash oder tcsh.

Linux Tool der Woche: file-roller

Viele Linux Tools werden ganz bewusst genutzt, wie etwa der Midnight Commander, der als eigenständige Applikation gestartet und für die verschiedensten Dateioperationen verwendet wird. Bei anderen Tools ist das nicht so: sie verrichten ihre Arbeit still im Hintergrund und werden kaum als eigenständige Applikationen wahrgenommen. Einer dieser nützlichen Helfer soll diese Woche vorgestellt werden: das Archivierungsprogramm file-roller. file-roller kommt meist nur dann zum Einsatz, wenn mit dem Webbrowser komprimierte Dateien oder Ordner aus dem Internet heruntergeladen werden. Vor der Verwendung müssen diese Archivdateien «entpackt» werden. Unter Ubuntu Linux wird für diese Aufgabe üblicherweise file-roller verwendet. Das Programm bleibt bei diesem Prozess bescheiden im Hintergrund, so dass der Eindruck entsteht, dass der Entpack-Prozess vom Browser erledigt wird. Beim Dekomprimieren fragt file-roller nämlich schlicht nach einem Ordner, in dem die unkomprimierten Dateien abgelegt werden sollen.

Bevor das Programm etwas genauer vorgestellt wird, folgt auch diesmal ein kurzer Abstecher in die Geschichte. Programme zum Komprimieren von Dateien entstanden in der PC-Welt in der Mitte 80er Jahre. Das war die Zeit, als die Ansprüche in der MS-DOS Welt stiegen und in der Folge die damals gebräuchlichen 5 1/4 Zoll Disketten nicht mehr ausreichend Platz boten. Natürlich gab es bereits Festplatten, aber diese waren teuer! In einer Ausgabe des P.M Computerheftes aus dem Jahre 1986 wird eine externe Festplatte getestet, die bis zu 5 Megabyte Platz bot. Leider war sie für Privatanwender viel zu teuer und auch die Anzahl der Dateien war limitiert. Die alternative Lösung des Platzproblemes bestand darin, grosse Dateien mit geeigneten Komprimier-Algorithmen zu verkleinern. Ein Hilfsprogramm, das diese Aufgabe schnell und sicher erledigte, entstand 1989 und wurde in kürzester Zeit zu einem Standard für PC’s: PKZIP. PKZIP konnte in kürzester Zeit einzeile Dateien oder auch ganze Ordner in eine einzelne Archivdatei zusammenpacken. Bestehende Archive konnten durch das Anfügen neuer Dateien vergrössert werden und es gab verschiedene weitere wichtige Operationen: Integritätscheck, Passwortverschlüsselung, Aufteilen eines Archives auf mehrere Disketten. etc. Kurz: ein wundervolles Werkzeug in einer Welt mit limitiertem Speicherplatz.

file-roller tut genau dasselbe wie PKZIP, nur dass noch viele weitere Funktionen dazukommen. Ausserdem bietet file-roller eine hübsche und benutzerfreundliche Fensterumgebung. Ferner kennt das Tool neben dem ZIP Format zahlreiche weitere Komprimierformate wie GZIP, ARJ oder ARC. Der Inhalt eines Archives kann wie folgt angezeigt werden:

file-roller archiv.zip

file-roller liest nun das Inhaltsverzeichnis des Archives und zeigt den Inhalt in einem Fenster an. Zu sehen sind in einer Liste die einzelnen Dateien des Archives, ergänzt mit weiteren Attributen wie der Grösse und dem Typ der Datei. Wenn das Archiv Ordner enthält, so sind diese links im Fenster zu sehen. Um den Inhalt einer Datei im Archiv anzuzeigen, genügt ein Klick mit der rechten Maustaste. Aus dem Kontextmenu wird die Option Datei anzeigen gewählt, worauf file-roller die gewählte Datei (und nur diese) in einem temporären Ordner entpackt und die passende Applikation aufruft. Analog ist zu verfahren, wenn einzelne Dateien aus dem Archiv extrahiert werden sollen. Soll das ganze Archiv entpackt werden, wird einfach der Button Entpacken angeglickt. Nun zeigt file-roller wieder das vertraute Dialog-Feld an, in dem der Zielordner gewählt werden kann. Ferner ist es möglich, nur die markierten Objekte oder das gesamte Archiv zu entpacken.


File-Roller Hauptfenster

Nun kann file-roller nicht nur Archive entpacken. Es geht auch umgekehrt. Das Programm erlaubt sehr einfach das Anlegen neuer Archive. Dazu muss lediglich die Option Archiv/Neu gewählt werden. Nun muss für das neue Archiv ein Ordner und ein Dateiname bestimmt werden. Zusätzlich kann der Typ des Archives angegeben werden. file-roller kennt mehr als 10 Formate, die gebräuchlichsten sind ZIP, BZ2 und GNU-ZIP. Wichtig: einige Formate unterstützen nur einzelne Dateien, in diesem Tall sollte das Archiv mit TAR kombinert werden.
Sobald das neue Archiv angelegt ist, können neue Dateien oder ganze Ordner in das Archiv kopiert werden. Dies geht über die Schaltflächen Dateien/Ordner hinzufügen oder auch mittels Drag&Drop aus einem Dateimanager wie Nautilus. Das neue Archiv braucht nicht geschlossen zu werden. Sind alle Dateien kopiert, kann file-roller verlassen werden, das neu erstellte Archiv ist einsatzbereit.

Aber – wozu so ein Archiv erstellen? Platz hat es doch heute genug. Mindestens zwei Gründe sprechen dafür. Erstens: mehrere Dateien oder Ordner lassen sich viel einfacher verwalten und austauschen, das Archiv stellt sicher, dass nichts verloren geht oder aus Versehen verändert wird. Und zweitens: wenn es eine Möglichkeit gibt, Platz zu sparen, warum solle man es nicht tun?

Linux Tool der Woche: apg

Das Thema dieses LTW-Beitrages sind sichere Passwörter. Das mag im ersten Moment wenig aufregend klingen. Wenn man sich aber einen Moment Zeit nimmt und das Thema «chüschtiget», dann könnte sich dieser erste Eindruck rasch in eine andere Richtung wenden. Denn unsichere Passwörter sorgen regelmässig für Schlagzeilen. Nämlich dann, wenn es jemandem gelingt, mit Hilfe von entschlüsselten Passwörtern Zugriff auf fremde Daten zu erhalten. Freilich, meistens ist es nicht das schwache Passwort, das dafür sorgt, dass ungebetene Gäste auf eine Mailbox oder auf ein Twitter Konto zugreifen. Auch eine Schwachstelle im System oder ein simples Postit am Arbeitsplatz können den Zugriff auf die persönlichen Informationen freigeben.

Dennoch muss die Forderung nach sicheren Passwörtern aufrecht erhalten werden. Selbst dann, wenn es um Informationen geht, die als unwichtig erachtet oder nur für eine kurze Zeit benötigt werden.

Ein «Feind» von sicheren Passwörtern ist – wie so oft – die Bequemlichkeit. Einfach Passwörter wie eine Automarke oder der Name der Hauskatze lassen sich leicht merken. Ebenso können sie aber auch erraten werden. Als sicher gilt ein Passwort dann, wenn es mindestens 8 Zeichen enthält und sich aus einer zufälligen Reihe von Zahlen, Buchstaben und Sonderzeichen zusammensetzt. So ist es nicht mehr möglich, ein Passwort ganz oder teilweise mit einer Wörterbuchsuche zu entschlüsseln. Hier ist so ein Passwort: xhvY1,fp6D1.

Dieses Passwort ist sicher. Aber es schwierig, es auswendig zu lernen. Es geht also darum, Passwörter zu finden, die den zuvor aufgestellten Kriterien entsprechen und dennoch gut memorisierbar sind. Diese Aufgabe über nimmt das Linux Tool dieser Woche: apg – Automated Password Generator. apg ist in vielen Linux Distributionen enthalten, wer es im Paketverwaltung nicht findet, kann es auf der Homepage von Adel I. Mirzazhanov herunterladen.

Obwohl apg eine Vielzahl an Optionen bietet, ist es in der Anwendung denkbar einfach. Es genügt, apg auf der Kommandozeile aufzurufen, um mehrere Passwortvorschläge zu erhalten. apg-Passwörter setzen sich stets aus englischen Silben und Silbenkombinationen zusammen, so dass sie aussprechbar und somit leichter auswendig gelernt werden können:

# apg
JejubMepuf
marcecOjin
sorcopciHa
ryHunnEsk

Wer Hilfe bei der Aussprache benötigt, verwendet die Option -t. Nun zeigt apg die Passwörter an und gibt zusätzlich Hinweise, wie die Wörter ausgesprochen werden können:

# apg -t
vacsakjo (vacs-ak-jo)
OnEvEwnusp (On-Ev-Ewn-usp)
vukewtim (vu-kewt-im)
Liejfowgog (Liej-fowg-og)

apg kennt wie bereits erwähnt viele Optionen, mit denen nebst anderen Einstellungen die Stärke der Passwörter verändert werden kann. Wer beispielsweise der Meinung ist, acht Zeichen seien zu kurz, kann mit der Option -s die Mindestlänge festlegen. Und um wirklich sicher zu sein, dass die Passwörter zufällig sind, kann die Option -m mitgegeben werden. apg fragt nun nach einer zufälligen Zeichenfolge, die zur Initialisierung des Generators verwendet wird.

Linux Tool der Woche: bwBASIC

Das Linux Tool dieser Woche ist bwBASIC, ein Interpreter für die Programmiersprache BASIC (Beginner’s All-purpose Symbolic Instruction Code). BASIC zählt zu den ältesten Computer-Programmiersprachen, es gibt sie seit 1964, also seit mehr als 45 Jahren. Seine Popularität in den späten 70er und 80er Jahren verdankt diese Sprache nicht nur ihrer einfachen Erlernbarkeit, sondern auch (und vor allem) dem Aufkommen der Homecomputer zu Beginn der 80er Jahre. Viele Computer-Begeisterte (zu denen auch der Verfasser gehört), leisteten sich damals einen Commodore VC20, C64 oder einen Texas TI 994A. Alle diese Rechner teilten einige wichtige Eigenschaften:

Commodore 64 (Quelle: Anders/Wikipedia)

Sie verfügten aus heutiger Sicht über sehr wenig Ressourcen, zur Grundausstattung gehörten meist weniger als 64 KB RAM, ein 8-Bit Mikroprozessor und ein Bandlaufwerk, auf dem die Programme gespeichert werden konnten. Erst etwas später folgten die deutlich schnelleren 5.25 Floppy Disks. Abgerundet wurde die Ausstattung durch Farbgrafik und einen mehrstimmigen Soundchip.

Das Betriebssystem passte auf einen 64 Kilobyte ROM Chip, war in Assembler geschrieben und enthielt nebst den elementaren Ein-/Ausgabe Routinen einen BASIC Interpreter. Nach dem Einschalten konnte also sofort mit dem Laden oder Abtippen von BASIC Anweisungen begonnen werden. Für BASIC-Programme standen meist zwischen 16 und 64 Kilobyte RAM zur Verfügung. Wem das nicht genügte, oder wem BASIC zu langsam wurde, der wich auf Assembler aus (direktes Programmieren des Microprozessors). Assembler Anweisungen konnten mit einem sogenannten Maschinenmonitor direkt in den Speicher des Computers geschrieben und dort ausgeführt werden!

Homcomputer der damaligen Zeit wurden zum Spielen benutzt, das war nicht anders als heute. Sie waren aber auch faszinierende Werzeuge zu Lernen und kreativ werden. Die Homecomputer waren ja die ersten programmierbaren Computer überhaupt, die zu einem erschwinglichen Preis angeboten wurden und sich auch für den Heimgebrauch eigneten, da sie am Farbfernseher angeschlossen werden konnten. Mit einen C64 oder ZX Sinclair wurde es erstmals möglich, zuhause im eigenen Wohnzimmer autodidaktisch eine Programmiersprache zu erlernen. Und eigene Software zu entwickeln.

Gewiss, mit weniger als 64 KB RAM und einem langsamen 8-Bit Prozessor waren den Möglichkeiten enge Grenzen gesetzt. Sobald ein Programm eine gewisse Komplexität erreichte, wurden die Ressourcen knapp. Aber genau darin lag ja auch der Reiz der Sache; die Herausforderung, eine gestellte Aufgabe trotz der einengenden Ausstattung lösen zu können. Das Ergebnis davon wer eine verblüffende Kreativität, die von den Programmieren entwickelt wurde. Durch immer neue Techniken, in Verbindung mit selbstgeschriebenen Assemblerteilen und direktem Zugriff auf die Hardwarefunktionen, wurde plötzlich möglich, was kurz zuvor noch unrealisierbar galt. Auf dem C64 etwa hielt sich lange das Dogma, dass eine grafische Benutzeroferfläche wie GEM oder Windows nicht machbar sei. Bis eine Firma Berkeley Softworks mit GEOS das Gegenteil bewies.

Zurück aber zu BASIC. Zur damaligen Zeit war BASIC eine recht schlichte Sprache, die kaum mehr als 50 Sprachbefehle (Statements) kannte. Ausserdem mussten die einzelnen Anweisungen mit Zeilennummern durchnummeriert werden. Das konnte zu einer mühseligen Geduldsprobe werden, sobald das Programm wuchs und modifiziert werden sollte. Blockanweisungen, so wie sie jede moderne Sprache kennt, gab es noch nicht. Und auch keine Funktionen, Prozeduren, Module oder Objekte. Kurz: strukturiertes oder gar objektorientiertes Programmieren war nicht möglich. Dies führte dazu, dass BASIC schon bald einen ziemlich schlechten Ruf bekam, BASIC-Programme wurden verächtlich Spaghetti-Code genannt und der Ruf nach strukturierten Sprachen, wie Pascal oder C wurden laut.

Damit stellt sich natürlich die Frage: warum ist ein BASIC-Interpreter das Linux Tool der Woche? Ganz einfach: weil es einen spannenden Blick in die Anfänge der Heimcomputer und PC’s ermöglicht. Und weil viele alte Programmierer mit BASIC gerne die zuvor erwähnte Tugend verbinden: limitierte Systemressourcen nicht als gegebenen Grenzen zu sehen, sondern als Herausforderung, einen Weg zu finden, um diese zu überwinden.

bwBASIC gehört zum Lieferumfang der meisten Linux Distributionen, wer es in der Paketverwaltung nicht findet, kann es direkt auf der Homepage herunterladen. In bezug auf den Funktionsumfang ist bwBASIC an GWBASIC angelehnt, an den Interpreter also, der während fast 20 Jahren mit MS-DOS mitgeliefert wurde. Ein einfaches BASIC-Programm, das mit bwBASIC ausgeführt werden kann, mag so aussehen:

Es könnte als Lernbeispiel der ersten Stunde dienen, da er bereits alle drei elementaren Teile eines Programmes erfüllt: die Eingabe von Daten (INPUT), die Verarbeitung (prüfen, ob Eingabe leer ist) und die davon abhängige Ausgabe (PRINT). Das Fehlen von Zeilennummern zeigt, dass bwBASIC diese zwar erlaubt, aber nicht erfordert. Dies macht die Sache etwas leichter und erlaubt in diesem Fall bereits Blockanweisungen.

Linux Tool der Woche: fortune

Einige Tools, die in dieser Rubrik bereits vorgestellt worden sind, gibt es schon seit vielen Jahren, etwa den Midnight Commander. Auch der Kandidat dieser Woche existiert seit gut 30 Jahren; das Tool tauchte erstmals in der Seventh Edition Unix aus dem Jahre 1979 auf: fortune, ein Programm zum Anzeigen von Zitaten, Anekdoten, Tipps, Sprüchen, berühmten letzten Worten und vielen anderen Meldungen. Oder anders: ein kleines Tool, das für das Bunte im Leben steht.

Und da wir es also mit einem alten Utility zu tun haben, bleiben wir noch einen Moment in der Vergangenheit. Leider hat fortune heute nicht mehr die Popularität wie vor 10 oder 20 Jahren. Damals wurde auf UNIX Systemen vorwiegend mit einer Textkonsole gearbeitet. Die Methode also, für die Puristen auch heute noch uneingeschränkt einstehen. Auf vielen Systemen war es üblich, dass nach den Einloggen verschiedene Mitteilungen angezeigt wurden. Etwa das Tagesmotto, das in der der Datei /etc/motd gespeichert ist. Oder Meldungen, die das System selbst betrafen, sie waren in der Datei /etc/issue abgelegt. Um an dieser Stelle auch etwas Spannung und Abwechslung zu bieten, wurde häufig fortune in die Startscripts aufgenommen. So konnte die Routine mit einem kleinen Spass aufgelockert werden. Mit dem Aufkommen grafischer Benutzeroberflächen auf UNIX Systemen verblasste die Popularität von fortune zunehmend. Und das ist schade, deshalb soll ihm dieser LTW-Beitrag gewidmet sein.

Auf den meisten Linux Systemen ist fortune vorinstalliert, oder es kann aus der Paketverwaltung nachinstalliert werden. Meist sind die Meldungen, die das sympathische Tool dann ausgibt englisch. Deutsche Meldungen gibt es aber fast immer in entsprechenden Zusatzpaketen. Bei Ubuntu Linux etwa muss das Paket fortune-german nachinstalliert werden. Nun kann fortune ohne Argumente in in einer Shell aufgerufen werden, um eine zufällige Meldung anzuzeigen. Bei Ubuntu Linux sind es rund 12.000 fortune-Meldungen, die in verschiedenen Dateien gruppiert sind:

# fortune
Die Freiheit besteht darin, daß man alles tun kann, was einem anderen nicht schadet.
    — Arthur Schopenhauer

Bei jedem Aufruf ist ein anderes Bonmot zu sehen, in ganz unterschiedlicher Qualität…! Wer also etwas auf die viel diskutierte «Political correctness» hält, sollte fortune mit Vorsicht geniessen. Und wer nur «Glückskekse» aus bestimmten Kategorien sehen möchte, gibt den Namen der Kategorie als Argument an, zum Beispiel:

# fortune sprueche
Das Geheimnis des Könnens liegt im Wollen.

Aber welche Kategorien gibt es? Eine Antwort auf diese Frage gibt es mit fortune -f. fortune kennt verschiedene Argumente, die in der Manpage sehr gut dokumentiert sind. Mit -c etwa wird jeweils angezeigt, aus welcher Kategorie ein Spruch stammt. Wer gerne kurze fortunes haben möchte, kann mit -n die maximale Länge festlegen. Und wer ein Bewunderer von Goethe ist, kann mit -m Goethe alle Zitate und Anekdoten des berühmten deutschen Dichters anzeigen.

Wem fortune nach dieser kleinen Einführung gefällt, kann das Programm bei jedem Login auf der Konsole aufrufen. Da bei Linux meistens die Bourne Again Shell (bash) verwendet wird, wird das gewünschte fortune Kommando einfach in die Datei ~/.bashrc geschrieben:

~/.bashrc:
fortune zitate

fortune gibt es nicht nur für die Kommandozeile. Es kann auch in Webseiten oder in jedes beliebige Programm integriert werden. Wie das geht, kann auf der englischen Wikipedia-Seite nachgelesen werden. Der Verfasser wünscht viele kleine Momente des Ausbrechens aus der alltäglichen Routine. mit fortune oder auch auf anderen Wegen. Schliesslich muss nicht alles mit dem Computer gemacht werden.

Linux Tool der Woche: mp3tag

Eines seiner Flötenkonzerte hat Antonio Vivaldi mit «Il Gardellino» überschrieben – der Distelfink. Das wunderschöne, dreiteilige Werk ist ein Wechselspiel zwischen lebhaften, fröhlichen, aber auch zarten Flötenklängen, bei denen wir den Fink vor unserem geistigen Auge sehen können, wie er von Ast zu Ast springt und seine Melodie singt. Und dann wechselt der Rhythmus und der berühmte Italiener entführt uns in eine zauberhafte Landschaft, die uns träumen lässt, uns Ruhe und Entspannung schenkt. Der Gardellino ist wie alle Melodien von Antionio Vivaldi erfüllt von einem eigenen Zauber und einem tiefen Frieden, der einlädt zum Verweilen und Stille schenkt, aus der wir neue Kraft schöpfen können. Kurz: Ein echtes und unverwechselbares musikalisches Kkeinod.
Es ist kein Zufall, dass in der Londoner U-Bahn seit einigen Jahren klassische Musik zu hören ist. Ihre wohltuende Wirkung auf unser Gemüt ist längst bewiesen.

Aber eigentlich geht es diesmal nicht um klassische Musik, sondern um ein weiteres praktisches Linux Tool, dem gleich noch eine kurze Einleitung vorangehen soll. Vielleicht erging es Ihnen ja wie mir, als Sie das erste Mal MP3 Dateien mit einen Musikplayer wie Winamp oder XMMS abgespielt haben und dann folgendes bemerkten: beim Abspielen werden im Player verschiedene Informationen zum Titel angezeigt:

audacious

Komponist, Album, Titel des aktuellen Stückes und mehr sind zu sehen. Doch woher kommen diese Informationen? Aus dem Dateinamen gewiss nicht, denn der besteht manchmal einfach nur aus der Nummer des Stückes, z.B. 12.mp3. Also müssen die Infos aus der Musikdatei selbst stammen. Und so ist es in der Tat. Am Beginn jeder MP3 können sogenannte Tags gespeichert werden. Zeichenketten also, die Auskunft über die Musikdatei geben. Das gute daran ist, dass diese Werte auch nachträglich beliebig oft verändert werden können. So wird es beispielsweise möglich, eine selbst erzeugte MP3 Datei zu dokumentieren. Wie aber können diese Tags konkret manipuliert werden? Unter Linux gibt es (wie erwartet) eine Vielzahl an guter Tools, MP3 Diags zum Beispiel. Damit lassen sich sehr leicht MP3 Dateien analysieren und mit Tags versehen. Hier aber soll – ganz im Sinne der Rubrik – ein kleines Kommandozeilentool vorgestellt werden, mit dem schnell und einfach MP3 Tags angezeigt, erstellt und vmanipuliert werden können. Da das Tool zu 100% mit Kommandozeilenargumenten genutzt wird, eignet es sich hervorragend für den Aufruf aus Scripts: mp3tag von Bram Avontuur. Das praktische Tool ist Teil des MP3 Blaster, der in dieser Rubrik bereits vorgestellt worden ist.

mp3tag

mp3tag in Aktion

mp3tag funktioniert denkbar einfach: wird das Tool zusammen mit einer MP3 Datei aufgerufen, werden Titel, Album, Komponist und einige weitere Angaben zur Datei übersichtlich aufgelistet (siehe Screenshot). Wer etwas verändern will, benutzt eines oder mehrere der folgenden Argumente beim Aufruf. Wichtig: Änderungen sollten stets mit der Option -r (Merge) kombiniert werden. Wird diese Option weggelassen, müssen alle Felder der Datei explizit gesetzt werden, sonst gehen sie verloren:

-a Komponist/Künstler
-s Titel des Stückes
-l Album
-y Jahr der Veröffentlichung
-e Kommentar
-g Genre
-k Nummer des Stückes
-r Merge (siehe oben)

Um beispielsweise den Kommentar einer Datei zu verändern, kann folgendes Kommando verwendet werden. Damit der Text mit Leerzeichen von der Shell korrekt interpretiert werden kann, muss er in doppelte Hochkommas gesetzt werden:

mp3tag -e “Kommentar zu diesem Titel” -r datei.mp3

Damit ist das Wesentliche zu diesem nützlichen Tool bereits gesagt. Details und Hinweise gibt es wie gewohnt in der Manpage. Fazit: mp3tag ist ein kleines Tool, über das man sich in wenigen Minuten einen Überblick verschaffen kann. Deshalb beende ich dein Beitrag an dieser Stelle, um die Stereoanlage wieder einzuschalten und um ein paar klassische Klängen zu hören. Und wer weiss, vielleicht kommt der eine oder andere Leser hier vorbei und wird durch den Beitrag neugierig auf die Klassiker. Es würde mich freuen!

Linux Tool der Woche: bluefish

Das Bluefish-Logo

Um das Linux Tool dieser Woche besser verstehen zu können, müssen wir – wie so oft – um einige Jahre zurückblenden. Genau genommen in die Mitte der 90er Jahre. Also in die Zeit, in der das World Wide Web explosionsartig zu wachsen begann! Es war die Zeit, als eine Internet-Präsenz für Firmen unerlässlich wurde, als immer mehr Privathaushalte mit einem Internetanschluss ausgestattet waren, die Zeit, als auch auf Firmenautos und Lastwagen-Blachen E-Mail Adresse aufgedruckt wurden. Gewiss, viele surften damals noch mit einen Analogmodem, also mit kaum mehr als 50 KBits pro Sekunde. Aber das reichte vollauf, um E-Mails und Webseiten in akzeptabler Zeit abzurufen. Denn die Webdeveloper waren sich über die limitierte Bandbreite voll bewusst und achteten genau darauf, dass die einzelnen Seiten einer Präsenz nicht mehr als je 100-200 Kilobyte Speicherplatz benötigten.

Das Internet war in der vorletzten Dekade noch wesentlich einfacher und überschaubarer als heute. Es gab kein Youtube, kein Facebook, kein Twitter und auch keine Blogs. Dafür wurde viel Energie in Webverzeichnisse investiert und in Stanford hatten zwei Studenten eine Idee, wie die Suche im Internet revolutioniert werden könnte.

Wie wurden Webseiten zu dieser Zeit erstellt? WYSIWYG-Editoren waren rar – und teuer. Folglich griffen viele Webentwickler auf bestehende Editoren zurück, etwa auf Emacs oder auf NoteTab. Damit konnten HTML Dateien recht komfortabel erstellt werden und dank Textblöcken und Makros war es auch möglich, wenigstens gewisse Schritte zu automatisieren. Schon bald kamen aber Tools auf, die weitergehende Hilfen für den Webdeveloper anboten: etwa das automatische Einfügen und Vervollständigen von HTML Tags, farbliches Auszeichnen der verschiedenen Elemente (Syntax Highlighting), Projektverwaltung, Voransicht der Webseite, FTP-Support und vieles mehr. Einer der ersten bekannten und sehr erfolgreichen Vertreter dieser neuen Softwaregattung war HoTMeTaL. HoTMeTaL bot alles, was das Herz eines Webentwicklers begehrte. Es gab sogar einen einfachen WYSIWYG-Modus, in dem HTML-Tags als kleine grafische Symbole angezeigt werden konnten.

Bluefish

Bluefish Editor

Hier beginnt nun die Geschichte von Bluefish, einem extrem soliden und zuverlässigen HTML-Editor für Linux. Ich verwende Bluefish selbst seit mehreren Jahren. Es macht einfach Spass, mit diesem sehr schnellen und kompakten Programm zu arbeiten. Bluefish ist kein Werkzeug, das alles können will. Die Funktionen, die Bluefish kennt, sind gut auf die Bedürfnisse der Entwickler abgestimmt. Und sie sind sehr sorgfältig und gewissenhaft implementiert. Auch bei mehreren, grossen Dateien und wildem Herumeditieren ist Bluefish nicht aus dem Takt zu bringen!

Was aber kann Bluefish alles? Eine ganze Menge! Es beginnt bei einem Editor, der Syntax Highlighting nicht nur für HTML und CSS bietet, sondern auch für mehrere bekannte Programmiersprachen. Das funktioniert sogar bei eingebetteten PHP Scripts. Bluefish kann in Tabs bis zu 10000 (!) Dokumente gleichzeitig öffnen und verfügt über alle Funktionen eines ausgereiften Editors. Speziellen Support gibt es für das Erstellen von HTML- und CSS-Fragmenten. Dazu bietet Bluefish Dialoge an, die das Einfügen dieser Elemente erleichtern. Zu HTML, PHP und CSS gibt es eine Referenz. Wer sich genauer über den Funktionsumfang ein Bild machen will, sei auf die Funktionsübersicht oder die Online-Dokumentation verwiesen. Es sollen an dieser Stelle nur zwei Funktionen etwas genauer vorgestellt werden:

Projekte. Webentwickler kennen das Problem: zu einer Webseite gehören zahlreiche Dateien, die sich möglicherweise verstreut in verschiedenen Ordnern befinden, die aber eine logische Einheit bilden. Bluefish bietet dazu eine einfache Projektverwaltung:

Alle Dateien, die im Editor geöffnet sind, können als Projekt gespeichert werden. Wird das Projekte zu einem späteren Zeitpunkt wieder geladen, werden damit alle Dateien geöffnet, die zum Projekt gehören. Ferner kann eine Webadresse und ein Basisordner für das Projekt bestimmt werden. Das Bearbeiten einer Webseite wird damit deutlich erleichtert: es kann schnell auf die einzelnen Seiten zugegriffen werden, für neue Dateien gibt es ein Template und auf Knopfdruck kann das Ergebnis in einem Webbrowser angezeigt werden.

Remote Edit. Bluefish kann Dateien direkt auf einem Server öffnen und auch wieder abspeichern. Das hat den Vorteil, dass ein Upload von geänderten Files entfällt, ist aber mit dem Risiko verbunden, dass Änderungen nicht mehr rückgängig gemacht werden, wenn keine lokale Kopie existiert. Bluefish kennt verschiedene Protokolle wie FTP, SFTP oder WebDAV mit denen das direkte Editieren auf dem Webserver möglich wird. Zusätzlich gibt es einen Filebrowser, der auch die Dateien und Verzeichnishierarchien auf dem Server anzeigen kann.

Bluefish ist ein ideales Tool für alle, die ihre Webseiten noch ohne grafische Hilfsmittel erstellen wollen oder ganz allgemein auf der Suche nach einem Editor für gängige Programmiersprachen sind.

Update: Vor wenigen Tage ist Bluefish 2.0 erschienen. Zu den zahlreichen Neuerungen gehören das automatische Vervollständigen von HTML und PHP Scripts, das Synchronisieren von geänderten Dateien auf einem Server und ein Crash-Recovery.

Linux Tool der Woche: PyRoom

Wir alle kennen das Problem nur zu gut: wer sich auf das Lösen einer Aufgabe konzentriert oder sich in einem kreativen Denkprozess befindet, wird nicht gerne unterbrochen. Unterbrechungen aller Art stören diesen Prozess schmerzlich. Ja treffen uns nicht selten gerade dann, wenn wir einen Gedankenfaden spinnen, den wir hinterher nicht wieder aufnehmen können. Oder wenigstens Zeit brauchen, um den Gedanken wieder aufnehmen zu können. Nicht umsonst wurde die Regel «Du sollst nicht unterbrechen» in breiten Kreisen zum elften Gebot erhoben. Und Schopenhauer, der grosse deutsche Denker, äussert sich in einer eigenen Schrift zu diesem Thema und findet deutliche Worte: «Der Lerm aber ist die impertinenteste aller Unterbrechungen, da er sogar unsere eigenen Gedanken unterbricht, ja, zerbricht.»

Nun ist es nicht nur der Lärm, der unsere Gedanken hindert und zerstreut. Es können auch visuelle Effekte sein. Wir können das selbst beobachten, wenn wir uns in einem Raum befinden, in dem ein Fernseher läuft: auch wenn die Lautstärke ganz zurückgedreht ist, lassen wir uns immer wieder von den bewegten Bildern ablenken, sehen zum Bildschirm, obwohl wir dies gar nicht wollen! Der Grund: hier wird eine archaische Schutzfunktion aktiv, jede Bewegung ist in einer natürlichen Umgebung eine potentielle Bedrohung. Hinter dem Gebüsch, das sich bewegt, könnte ein Säbelzahntiger auf der Lauer liegen und sich zum Sprung auf uns bereit machen.

Ganz so gefährlich wird es beim Arbeiten am Bildschirm erfreulicherweise nicht. Dennoch gibt es auch hier immer wieder Affekte, die beim Arbeiten stören können. Microsoft Windows Anwender werden immer wieder mit kleinen gelben Popups am unteren rechten Bildschirmrand beglückt, die auf eine Softwareupdate hinweisen. Das ist eine durchaus gute und sinnvolle Einrichtung, aber eben: sie kommt gerne zur Unzeit. So wie ein administrativer Hinweis vom Virenscanner oder ein Popup, das sich öffnet weil jemand mit uns chatten will. Und da ist noch etwas, das uns nun zum Thema dieses Beitrages bringt: die meisten Desktops sind angereichert mit den verschiedensten Bedienelementen: Fenster, Taskbars, Menubars usw. Auch diese Objekte können ablenken, wenn wir gerade dabei sind, einen Text zu schreiben. Es würde vollauf genügen. wenn auf dem Display nur der Text zu sehen wäre, der sich gerade in Arbeit befindet.

PyRoom in Aktion

Genau dies tut unser Linux Tool der Woche: pyRoom. Es ermöglicht das störungsfreie Texten am PC. PyRoom erzeugt eine Atmosphäre der visuellen Stille, sobald es gestartet wird: es füllt den ganzen (!) Bildschirm mit einer frei wählbaren Hintergrundfarbe. Zu sehen sind keinerlei Bedienelemente. Weder Menus, noch Symbolleisten, noch Statuszeilen – nur der Text, der gerade geschrieben wird. So wird die Aufmerksamkeit auf das Wesentliche gelenkt. Und dies ist nicht der einzige Vorteil. Wer viel schreibt, ermüdet bei einem schlichten Bild mit einheitlicher Farbgebung weniger schnell.

PyRoom bietet alle Funktionen einer einfachen Textverarbeitung. Es liest und schreibt unformatierte Textdateien, bietet eine Autosave-Funktion und kann auch mit mehreren Texten umgehen, zwischen denen hin und hergeschaltet werden kann (Textpuffer). Damit ist der Funktionsumfang im wesentlichen bereits vorgestellt – mehr muss das Programm nicht können, denn alles weitere soll mit der Software erledigt werden, mit der der Text schlussendlich verarbeitet wird: Textverarbeitung, HTML Editor, Blog, etc. Ergänzt wird der Funktionsumfang lediglich durch einen Dialog für verschiedene Programmeinstellungen: Autosave, verwendete Farben und Schriften, etc.

Bei den meisten Distributionen gehört PyRoom nicht zum Standardumfang. Deshalb folgen hier noch ein paar Hinweise zur Installation. Zuerst sollte eine aktuelle Version der Programmiersprache Python installiert werden, falls dies nicht bereits geschehen ist. Zudem sollten die GTK- und XDG-Bindings mitinstalliert werden. Sind diese Voraussetzungen erfüllt, kann PyRoom heruntergeladen und entpackt werden. Im neu erzeugten Ordner pyroom-n-n-n kann nun das Python script pyroom ausgeführt werden:

# python pyroom

Soll PyRoom für das ganze System installiert werden, muss als root Benutzer das Setup Script setup.py ausgeführt werden. nun lässt sich PyRoom – je nach Distribution – auch via Menu oder Desktop Icon starten. Der Verfasser wünscht viel Freude beim ungestörten Texten :-)