blog · git · desktop · images · contact & privacy · gopher


Alte Zöpfe abschneiden

Früher oder später kommt einfach dieser Zeitpunkt: Es hat sich Code angesammelt, der nicht mehr relevant ist. Da ich keine Firma bin, sondern das alles nur in meiner Freizeit mache, muss ich jetzt einfach mal ein paar Projekte in eine Kiste packen und in den Keller stellen.

Das betrifft:

Der jeweilige Code wird weiterhin auf GitHub bleiben, aber ich werde die Programme nicht mehr weiterentwickeln – es sei denn, ich brauche sie mal wieder.

slinp is not pdfpres

Machen wir’s kurz und schmerzlos. slinp löst nun pdfpres ab. slinp is not pdfpres.

Wieso?

pdfpres ist im Laufe der Zeit stark angewachsen und leidet heute in meinen Augen unter Featuritis, auch wenn es im Vergleich zu anderen Programmen immernoch „lightweight“ ist. Das liegt zum großen Teil auch daran, dass ich heute ein anderes Bild davon habe, wie gute Software aussehen sollte.

Wichtig ist aber auch dieser Punkt:

Wenn man Software für andere schreibt, dann wird sie eigentlich nie gut. Es wird nur Software gut, die man für sich selbst schreibt, weil nur man selbst wirklich weiß, was man braucht.

Das ist ein Zitat aus meillos Lightning Talk zum suckless-Projekt (ab 9:35). Gerade auf kleine Programme, die man in seiner Freizeit schreibt, trifft das zu. Und an der Stelle habe ich einen Fehler gemacht. pdfpres konnte einmal genau das, was ich brauchte, aber dann wollte ich es zu einem für die Allgemeinheit tauglichen Programm weiterentwickeln. Ergebnis: Die Features, die heute enthalten sind, gehen weit über das hinaus, was ich selbst überhaupt benötige und verwende. Es ist zu groß, zu unübersichtlich und die Code-Qualität hat stark gelitten. Die Wartbarkeit ist gering.

slinp verfolgt einen ganz anderen Ansatz. Es ist kein einzelnes Programm mehr, sondern eine Werkzeugkiste. Es obliegt dem User, wie er diese Tools kombinieren möchte. Jedes einzelne Tool erfüllt genau einen Zweck und ist möglichst klein und möglichst einfach. Quasi als Beispiel, wie man die Tools verknüpfen könnte, ist in slinp auch prescontrol enthalten: Das ist ein kleines Python-Skript, das die anderen Tools verknüpft und so meine eigenen Anforderungen (und nichts anderes) erfüllt.

slinp geht vom Funktionsumfang her etwa auf den Stand des ursprünglichen pdfpres zurück, ist aber trotzdem kleiner, einfacher und kann an einigen Stellen sogar mehr.

Insgesamt richtet sich slinp an erfahrene(re) User. Es ist kein Rundum-sorglos-Paket. Du kannst nicht mit einem Klick loslegen, sondern wirst ein paar Minuten investieren müssen, um es zu verstehen. Du musst bereit sein, im Zweifelsfall den Code an deine Bedürfnisse anzupassen, denn eine Konfiguration gibt es nicht.

Und ich glaube, dass dieser Ansatz für mich wesentlich sinnvoller ist. Let’s face it: Das Zeug ist Eigenbedarf und kein Projekt für einen Kunden. Ich möchte für mich ein Problem lösen. Sollten auch andere Menschen davon profitieren können, freut mich das natürlich. Deshalb ist es auf GitHub.

Mehr technische Details und Screenshots gibt es auf der schon oben verlinkten Projektseite.