2009-02-24 digital life Vor vier Jahren Entdeckung einer besseren Welt Heute vor vier Jahren, am 24.02.2005, habe ich mein erstes GNU/Linux auf meinem Rechner installiert. Heute vor drei Jahren, habe ich in diesem Artikel [0] das erste Jahr mit dem Gnu Revue passieren lassen. Heute vor zwei Jahren, habe ich in diesem Ar- tikel [1] die zwölf anschließenden Monate kompakt zusam- mengefasst. Heute vor einem Jahr, habe ich in diesem Artikel [2] auf das darauffolgende Jahr zurück geblickt. Seitdem sind aber- mals 365 Tage vergangen. Anlass einen Blick zurück zu werfen: Vier Jahre mit Unix ... die Zeit davor ist schon ganz blass geworden in meiner Erinnerung. Eigentlich kann ich mir mein Com- puterleben ohne Unix gar nicht mehr vorstelle, so sehr hat es alles verändert. Dieses Jahr hat mich erneut an vielen Punkten weitergebracht. Ich will nicht chronologisch vorgehen, sondern nach Themen- bereiche strukturiert. Der wohl offensichtlichste Bereicht betrifft die Programmierpra- chen. Hier bin ich sehr viel weiter gekommen, auch wenn ir das erstmal gar nicht so sehr bewusst ist. Nur wenn ich mir es ob- jektiv anschaue, dann stelle ich fest wie viel es war. Ich habe AWK gelernt (an einem Tag). AWK ist für mich von einer Sprache die man vielleicht gar nicht braucht zu einem unerlässlichen Helferlein geworden. Ich habe AWK in diesem Jahr an so vielen Stellen eingesetzt, so viele kleine Scripte damit geschrieben, so oft ein einfaches AWK-Script geschrieben wo an- dere Sprachen (sed, C) nur komplizierte Lösungen gebracht hätten. AWK ist eine richtige Lieblingssprache geworden ... die man an einem Tag lernen kann wenn man sed und C schon kann. Begonnen hat das vergangene Jahr mit Ruby, es endet dieser Tage mit Python. Zwei Sprachen die sich recht ähnlich sind, die beide aus meiner Sicht großartige Konzepte mitbringen, die aber beide auch ihre Probleme haben. Beide finde ich interessant und Wert ausprobiert zu werden, doch bei beiden komme ich auch zu dem Er- gebnis, das mit C, AWK, sh doch besser gefällt. Ruby ist zu kom- pliziert, bietet zu viele Wege, doch hat eine beeindruckende Ob- jektorientierung. Python beschränkt sich auf einen Weg, ist ein- facher, doch hat es so viele unschöne Stellen. Ich kann nicht behaupte, dass die die Sprachen gut genug kennen würde um fundi- ert zu urteilen, doch ich glaube ich kann gut einschätzen, dass sie keine Lieblingssprachen von mir werden werden. Die prägende Sprache dieses Jahres war natürlich C. Begonnen habe ich vor einem Jahr als C-Einsteiger. Ich hatte kleinere Programme geschrieben und kannte die wichtigsten Teile der Sprache. Im Laufe dieses Jahres programmierte ich größere Pro- gramme, veränderte Programme in größerem Umfang, und lernte C besser kennen. Inzwischen ist C für mich die Standardsprache geworden. Noch vor eineinhalb Jahren konnte ich quasi kein C, und nun sehe ich C als das grundlegende Handwerkszeug eines pro- grammierenden Unix-Benutzers an. C bedarf keinen Entscheidungen bei mir mehr, es ist ganz natürlich geworden. Was habe ich mit den erlernten Sprachen gemacht? Ich habe `baum' weiter ausgebaut und daran mein C-Wissen nochmals erweitert. Ich habe `dwm' exzessiver gepatched und schließlich sogar geforked um eine genau für mich passende Version zu er- langen. Ich habe das Shellscript `genwebgallery' geschrieben und das Hel- ferlein `resize-gd' in C dazu programmiert. Und ich habe erneut das Gartenspiel angepackt. Diesmal war es mit C und einer Datenbank (zuerst MySQL dann SQLite). Schließlich bin ich dann zu `masqmail' gekommen, einem aus- gewachsenen C-Programm dessen zukünftige Entwicklung ich nun be- treibe. Abseits der Anwendungsentwicklung habe ich mich stark mit Dokumentenerstellung beschäftigt. Ich habe `troff' gelernt und insbesondere auch `pic'. Ersteres ist durch Latex ja ziemlich ersetzt worden, wenn man von Manpages absieht, aber letzteres ist eine geniale und weitgehend kon- kurrenzlose Sprache die sich wunderbar auch in Verbindung mit La- tex eignet. `pic' hat für mich nun eine ähliche Stellung wie AWK -- ich bin super froh, dass ich es kann. Den Großteil meiner Dokumente habe ich aber mit Latex erstellt. Dabei habe ich auch `bibtex', `latexmk', und `aspell' verwendet. Dabei wurde in meinem Bewusstsein auch PostScript ins rechte Licht gerückt: Aus einem ``Dateiformat für Drucker'' wurde eine ``Interpretierte Seitenbeschreibungsprogrammiersprache'' die man durchaus mal mit dem Texteditor bearbeiten kann. Auch `gnuplot' sollte erwähnt sein. Besondern viel mehr als Ausprobieren um zu sehen wie es funktioniert und was es kann, tat ich aber nicht. Debian stand vor allem in der ersten Hälfte des letzten Jahres im Mittelpunkt. Ich paketierte `genwebgallery' mit Unterstützung eines erfahrenen Maintainers und schrieb dafür einen ITP. Ebenso ging ich bei `resize-gd' vor. Beide Programme schafften es nicht in die Distribution, was rückblickend auch nicht besonders wichtig ist. Gelernt habe ich dabei sehr viel. Insbesondere habe ich mir eine Paketierungsumgebung aufgesetzt mit `pbuilder' und `cowdancer' und bin schließlich auch auf unstable umges- tiegen. All dies ist wichtig für zukünftige Arbeiten an `masqmail' für das ich einen ITA abgesetzt habe, aber leider noch nicht genug weitere Arbeit rein gesteckt habe. Ich habe im Laufe des Jahres einige Bugs gemeldet und (für masqmail) auch einige gefixed. Das alles ist weniger besonders geworden, nun ist es mehr der Alltag eines Entwicklers. Meine Paketierungsumgebung hatte ich zuerst in `qemu' aufgesetzt und so diese Emulations-Software kennengelernt. OpenBSD instal- lierte ich auf Milk der als Community-Experimentier-Server an den Start ging. NetBSD kam auf Rogers Server drauf. Mit beiden BSDs habe ich aber nicht so sehr viel gearbeitet, was schade ist. Weil ich der Meinung bin, dass sich das unbedingt ändern muss und ich sowieso mit einem BSD arbeiten will, soll mein Primärrechner daheim demnächst auf NetBSD umgestellt werden. Aber das ist noch eine offene Aufgabe. In Verbindung mit dem Milk-Projekt hatte ich viel virtuellen Kon- takt mit Azerty, den ich nur aus einem Forum kenne. Aber auch in Real-Life suchte ich zum ersten Mal Kontakt zu Gleichgesinnten. Ich traf BeS in Stuttgart und hatte ein gutes Gespräch mit ihm. Auch nomeata einen Debian-Developer traf ich. Natürlich nutzten wir die Gelegenheiten unsere GPG-Keys zu signieren und so habe ich jetzt auch endlich eine Signatur eines DD. (Eine zweite kam im Dezember bei einem ChaosSeminar-Vortrag hinzu.) Deifl, ein weiterer Computer-Interessierter aus der Gegend, werde ich morgen treffen. Aber auch Email-Kontakt nahm ich zu einigen Personen auf und jedes Mal war es wertvoll. Keysigning hatte ich gerade schon angesprochen. Seit Anfang des Jahres signiere ich alle ausgehenden Mails standardmäßig. Im September war ich auf meiner ersten richtigen Keysigning-Party. Im November organisierte ich selbst eine kleine bei der Lugu zum 10-jährigen Jubiläum. Mein erlangtes Wissen über die Durchführung einer Keysigning- Party, die verwendete Software, und wie man WOT-Graphs generiert, habe ich in einem zweiseitigen Paper zusammengefasst und online gestellt. Das war die letzte Aktion meiner ``Öffentlichkeitsarbeit'' in diesem Jahr. Ich habe beim CCCS einen Lightning-Talk über das suckless-Projekt gehalten. Ich habe einen zweiteiligen Artikel über `at' in freiesMagazin veröffentlicht. Und ich habe nicht zuletzt auch meine Diplomar- beit geschrieben, über `masqmail'. Diese ist frei verfügbar und beschreibt die empfohlene Weiterentwicklung von `masqmail'. In zwei Wochen werde ich beim ChaosSeminar noch einen Vortrag zu dem Thema halten. Was meine Systeme anbelangt habe ich mich vor allem mit der Reor- ganisation meiner Mailinglisten und überhaupt dem Mailsetup beschäftigt. Dabei bin ich von `mlmmj' auf `minimalist' umges- tiegen. Ich habe mich mit`at' beschäftigt und setze es nun häufig ein. Da seit längerem schon keine Windows-Rechner mehr in meinem Heimnetz sind, habe ich Samba durch NFS ersetzt. Erwähnenswert ist auch dass ich mich sehr mit `ed' angefreundet habe und eine Editiersession mit dem kleinen Freund durchaus nicht scheue. Der Spieltrieb hat mich zwischendurch auch zweimal gepackt: Zuerst war es `kq' das mich ein paar Tage fesselte, später war es `warzone2100' das meine Zeit fraß. Auch meine Websites sind besser geworden. marmaro.de hat jetzt ein semanitisch besseres HTML und prog.marmaro.de ist seit weni- gen Tagen intern deutlich simpler. Zu den grundsätzlichen Fragen die mich in diesem Jahr beschäftigt haben. Die Browser-Frage: Schon im Jahr zuvor war das Thema aktuell, und es ist es noch immer. Iceweasel sucks. Opera, wie ich feststel- len musste, auch. Auch Galeon ist nicht wirklich besser. Andere Browser ebensowenig. So nutze ich nebenher immer wieder w3m, insbesondere wenn ich längere Texte schreibe, wie jetzt. Aber eine zufriedenstellenden Lösung habe ich bisher nicht gefunden. Das heißt ich surfe immer noch zum Großteil mit Iceweasel. OpenOffice.org: Diese Software hat mich vor kurzem schrecklich genervt und ich sollte sie nun einfach überhaupt nicht mehr verwenden. Doch die Gegenargumente sind sozialer Natur und somit lässt sich dieses Problem nicht so einfach lösen. Bisher bleibt's wie's ist. Die entscheidendste Erfahrung dieses Jahres berichte ich jetzt zum Schluss. Mit dem Umstieg auf Debian sid ist mir am Notebook irgendwie das Charset oder ähnliches kaputt gegangen. Jedenfalls kann ich seit einigen Monaten unter X bestimmte Sonderzeichen (geschweifte und eckige Klammern, At, Backslash, etc) nicht mehr eingeben. Das heißt ich kann unter X eigentlich nicht mehr programmieren und auch keine Latex-Dokumente erstellen. Das traf nun genau die Zeit in der ich meine Diplomarbeit (mit Latex) schrieb. Ich wich also auf die Konsole aus. Verfasste dort alles mit dem `vi', den ich ja sowieso verwendet hätte. Das kompilierte Resul- tat betrachtete ich dann mit `fbgs', das mit hierbei sehr wert- voll war. Wenn ich mal schnell war im Netz nachschauen wollte, um RFCs zu lesen, oder um Wörter im Online-Dictionary nachzuschlagen verwendet ich `w3m'. Lediglich um ausgiebiger zu browsen und um die PostScript-Dateien in hoher Qualität zu betra- chten arbeitete ich unter X (notfalls mit Hilfe von `ascii' und Copy'n'Paste). Es war eine gute Erfahrung (und ist es noch immer) die Konsole benutzen zu müssen. Und noch viel schöner ist es zu sehen, dass ich damit kein Problem habe. Seit Monaten arbeite ich nun schon so und mich drängt es nicht danach diesen Zustand zu ändern. Ja, so muss das sein! Ein kurzer Ausblick noch. Im nun beginnenden fünften Jahr reizen mich folgende Dinge: - Compiler-Design: yacc, lex - masqmail in jeder Hinsicht - NetBSD - das Gartenspiel (der wohl schon sechste Anlauf) - ein bisschen Perl - weitere Papers, Artikel, Vorträge, und der gleichen [0] http://marmaro.de/Apov/Artikel=80 [1] http://marmaro.de/Apov/Artikel=140 [2] http://marmaro.de/Apov/Artikel=182 http://marmaro.de/apov/ markus schnalke