[Musik]
Hallo und herzlich willkommen zum 21. Türchen des Focus-Unitungs Adventskalenders.
Und wir nähern uns thematisch so langsam dem Ende des Kalenders und haben aber heute noch mal ein paar
ASCII Produktivitätstools rausgesucht, die wir euch gerne vorstellen möchten.
Und mit dabei ist da wieder der Jan.
Moin moin!
Ja und wir haben hier so ein paar Tools zusammengestellt
und von denen wir denken, dass die auf der Konsole doch mal ganz nett sein könnten.
Manchmal ist man ja wirklich auf einem Server per SSH und hat halt eben keine GUI zur Hand oder
man möchte einfach keine GUI benutzen, kann ja auch sein.
Es gibt ja Enthusiast*innen, die versuchen gerne alles auf der Kommando-Seite zu tun.
Und ein Tool, was in dem Kontext sehr nützlich sein könnte, ist der VIFM.
Ja und das ist ein Curses-basierter Dateimanager
und der wird mit VI-Kommandos bedient, wie der Name ja schon verlauten lässt.
Das heißt, man hat dann so ein bisschen eine Oberfläche, die an den
Mid-Hat-Kommandos auch erinnern kann, geht nach GUI und kann dann eben mit den berühmten
HJKL-Kommandos und anderen Shortcuts entsprechend durch diesen Dateimanager browsen und Dinge tun.
Habe ich mal neulich irgendwo gesehen, ich glaube,
das war ein Tipp vom Philipp vom Click-Lack-Hack-Podcast, Grüße gehen raus.
Und das fand ich nett, habe mir das mal angeschaut und dachte, das können wir hier auf jeden Fall mal empfehlen.
Vielleicht gibt es ja auch den Nano FM irgendwann, Jan.
Ich habe tatsächlich gerade gegoogelt, währenddessen, weil ich dachte, ich kann hier so einen Gag reinbringen.
Ich habe aber tatsächlich nur Informationen vom FM-Transmitter das iPod Nano gefunden.
So richtig ausgiebig war diese Suche noch nicht.
Ja.
Genau. Aber du hast uns auch ein Tool mitgebracht, wenn ich mich recht entsinne.
Genau. Ich habe dabei RIPGRAP. Das ist so ein bisschen wie GRAP, aber es ist für Programmierer gedacht.
Na gut, also wenn wir mal ganz ehrlich sind, ist GRAP auch für Programmierer gedacht.
Aber zum Beispiel RIPGRAP ignoriert automatisch den Node-Modules-Ordner, wenn man in einem JavaScript-Projekt ist.
Oder was haben wir da noch, den VNF-Ordner, wenn man in einer Virtual-NF ist von Python.
Also das ignoriert quasi Smart-Dateien-Namen.
Also es ignoriert Smart-Dateien. Man kann mit Patterns arbeiten, die dann bestimmte Klassen suchen.
Also es ist quasi ein GRAP, das weiß, dass es benutzt wird, um nach Code zu suchen.
Und gerade wenn man irgendwie, ich habe das relativ häufig, wenn ich eine bestimmte Software deployt,
dann kommt es durchaus mal vor, dass ich kein offizielles Troubleshooting dafür finde,
sondern dass ich dann halt Code lesen muss.
Und gerade wenn man dann irgendwo auf dem Terminal unterwegs ist und die Fehlermeldung eben GRAPen will
und sehen will, woher das kommt, dann ist RIPGRAP schon echt praktisch.
Ja, auf jeden Fall.
Also geht mir auch oft so, wenn man in irgendeinem Code unterwegs ist, den man nicht selbst geschrieben hat
und man will mal gucken, was da zum Einsatz kommt, dann ja.
Oder man sucht dann eine Fehlermeldung, dann kriegt man immer so temporäre Dateien und anderen Kram vorgeschlagen,
die man ja gar nicht sehen will, wenn man mit einem normalen FGRAP dran geht.
Ja.
Und es ist ein Rust geschrieben. Das ist nur noch ein Bonus.
Also das... und das ist auch wahnsinnig schnell.
Also ich habe hier gerade mal die Benchmarks auf.
Im Vergleich zu RIPGRAP, was ist GITGRAP, ist dreimal so schnell.
Also braucht nur ein Drittel der Zeit.
Und teilweise bis zu, also je nach Pattern und Include und allem,
bis zu zehnmal so schnell wie GNUGGRAP.
Okay, das ist natürlich beachtlich.
Ist schon eine Hausnummer.
Ja.
Ich habe noch einen zweiten Dateimanger mitgebracht und zwar MC, der Midnight Commander.
Das ist quasi eine GNU-Implementation des Norton Commanders.
Ja.
User der 90er werden sich daran erinnern.
Das Tool ist 94 erstmalig vorgestellt worden, hat dieses ikonische Design aus zwei Spalten,
das man schon vom Norton Commander kennt.
Und man hat links eben Ordnerstrukturen und Dateien und rechts kann man das gleiche
noch mal auf einer anderen Quelle tun.
Und man kann sich Dateien anschauen, in Ordner navigieren, die umbenennen, löschen,
kann die editieren und man hat unten so eine schöne Fußleiste, wo auch die Funktionstasten
angezeigt werden.
Also man kann mit den einzelnen F-Tasten dann eben Dinge tun, wie Dateien umbenennen oder öffnen.
Und einer der Use Cases, warum ich dieses Tool benutze, ist, wenn man so eine RPM-Datei hat
und man will da mal reingucken, dann ist das schöne, dass der Midnight Commander damit umgehen kann.
Ich kann dann einfach diese RPM-Datei öffnen wie einen ganz normalen Ordner oder wie ein Archiv.
Wenn ich das manuell auf der Kommando-Seite machen müsste, dann müsste ich halt mit CPIO
hantieren und das sind irgendwie Parameter, die kann ich mir nicht merken und da ist irgendwie
der Midnight Commander für mich viel eleganter.
Dann gehe ich da einfach rein und gucke mir dann die Skripte oder was auch immer in dem
Paket drin ist, was ich mir angucken will, an und beende das Programm wieder.
Das ist so für mich so ein Hitten-Jam.
Musstest du dich damit schon mal rumärgern mit RPM-Dateien, die man dann nachträglich
nochmal angucken oder anpassen will?
Tatsächlich, dadurch, dass ich immer aus dem Deviant-Space komme, bin ich noch nie dazu
gekommen.
Ich hatte mal so ein, zwei Cursed-Erfahrungen, wo ich dann RPMs auf Deviant installiert habe.
Und sonst hatte ich damit noch nicht viel zu tun.
Und .deb-Dateien, die entpacke ich immer mit ZIP, das ist ja nur ZIP-Dateien.
Kann man einfach anzippen und dann kannst du reingucken.
So fancy ist es bei mir nie geworden.
Aber sollten die Zeiten, wo man RPM-Dateien auf Deviant-Betriebssystem installieren, muss
eigentlich nicht schon längst vorbei sein.
Das war bei mir irgendwie so mit Alien 2006 oder so rum für irgendeinen kuriosen Codec,
den ich aus welchen Gründen auch immer woanders nicht bekommen habe.
Also ist bei dir auch länger her oder hast du da einen Use-Case aus der nahen Vergangenheit?
Puh, das muss also nahe Vergangenheit, das ist bestimmt schon fünf Jahre her, sechs
Jahre.
Ich erinnere mich auch nicht mehr genau.
Ich weiß nur, dass ich RPM auf Deviant installiert habe.
Und ich glaube, die Software gab es nur verpackt in einem Deviant-Repository, als RPM zum Unterladen
und als uraltes Launchpad PPA für Ubuntu.
Und da musste ich dann irgendwie mich entscheiden, welches ich jetzt nehme.
Und ich glaube, da ist die Wahl dann auf RPM gefallen.
Ja, verstehe.
Wie machst du eigentlich deine Planung von Kalendereinträgen und Aufgaben?
Machst du das mit einer GUI?
Ich mache das tatsächlich mit einer GUI.
Ich setze mir selber Teams-Meetings und lasse mich dann davon erinnern.
Das ist dann auch immer ganz gut, weil dann sehen meine Kollegen, dass ich irgendwie da
was zu tun habe und dass sie mich da nicht anschreiben.
Aber da hast du uns, glaube ich, was mitgebracht, oder?
Genau, ich habe zwei Tools mitgebracht, deswegen auch die ketzerische Frage.
Und ein Tool davon ist CalCurse.
Und das ist so ein kleiner Personal Planner, der auch wieder die Curses-Oberfläche benutzt.
Das ist auch so Fenster in ASCII-Format auf der Kommandozeile.
Und da kann man eben Kalendereinträge anlegen oder auch Aufgaben.
Also so wie man es auch von so einem klassischen Pimm, wie jetzt Carmail oder Evolution oder
so kennt.
Und das habe ich früher sehr lange benutzt.
Also ich habe früher mal so eine Art Jump-Post gehabt zu Hause, wo ich so einen ASCII-Chat-Kline
drauf hatte.
Das war damals Finch, also Pitchin, nur halt mit Curses.
Und dann habe ich halt immer einen SSH-Connect nach Hause gemacht von der Berufsschule aus.
In Zeiten vor WhatsApp und Signal-Umterhalt während der Berufsschule, wenn ich gar nichts
zu tun hatte, ein bisschen zu chatten.
Und da habe ich halt auch einen Mail-Kline drauf gehabt mit Mut.
Und im nächsten Reiter in meinem Knus-Screen, Terminal-Multiplexer, hatte ich dann CalCurse,
wo ich dann halt eben auch Kalendereinträge und Aufgaben dann reingeschrieben und priorisiert
habe.
Also das ist echt ein cooles Tool, das gibt es auch schon eine Weile.
Und das hat jetzt mittlerweile sogar experimentellen CalDAV-Support.
Das heißt, wenn man irgendwo eine Nextcloud oder sowas hat, dann kann man das auch damit
verbinden und hat dann quasi das, was man in der Kommando-Seite anlegt, sieht man auch
auf dem Smartphone und umgekehrt.
Das finde ich ist ein sehr cooles kleines Tool.
Oha.
Das klingt tatsächlich ganz spannend.
Also ich bin beim Work-Vorgreif ganz zufrieden und wenn überhaupt muss ich an mir selber arbeiten,
dass ich mir selber eher noch ein paar Minutensätze.
Ja, ja das kenne ich.
Vielleicht kannst du da ja Do-it benutzen, also Do mit 2o.
Und das ist auch wieder eine Kommando-Seite-Anwendung, die ist in Python geschrieben und ist halt
nur für die Verwaltung von Aufgaben.
Also so ein reiner To-Do-Manager hat so eine schicke kleine Oberfläche, wo man auch im
interaktiven Menü sich die Hilfe anzeigen lassen kann und dann durch die einzelnen Aufgaben
durchbrowsen kann.
Und ja, man kann die dann halt eben anlegen, kann die auch mit Unteraufgaben versehen,
dass den einzelnen Prioritäten und Gruppen zuordnen.
Das sieht auch ganz nett aus.
Ich habe es vor kurzem entdeckt und mal kurz reingeschaut.
Das wäre, wenn man jetzt sagt, Calcurses ist einem zu mächtig, weil man sagt, man wird
jetzt nicht unbedingt CalDAV-Support und hast nicht gesehen und man mag vielleicht auch
Curses nicht, kann ja auch sein, ist ja schon eine relativ alte Bibliothek, dann wäre vielleicht
Do-it auch mal ein Blick wert, weil das benutzt eine etwas neuere Library, hat dann auch unten
so Funktions-Widgets, wo man Uhrzeitdatum und Shortcuts und so weiter sieht.
Das sieht alles ein bisschen moderner aus.
Von daher wäre das vielleicht auch was, wenn du sagst, du möchtest deinen Workflow besser
dokumentieren, könnte vielleicht Do-it auch was für dich sein.
Ich schaue mir das mal an, ich sehe gerade, das installiert man irgendwie als globales
Python-Modul, da bin ich noch nicht so ganz überzeugt.
Vielleicht bleibe ich einfach bei Obsidian.
Ja, stimmt.
Das ist ja eh das Problem.
Es gibt so viele Tools, die ähnliche Use-Cases haben und dann die Schnittmenge ist da ja auch
irgendwie relativ ähnlich.
So viele Tools, so wenig Zeit, ja, schwierig.
Du hast uns noch ein Tool mitgebracht bzw. wir haben hier so ein Tool, das steht schon
länger in der Liste, FZF, das hat mir mal ein ehemaliger Kollege der Johannes empfohlen,
Grüße gehen raus und du hast dich, glaube ich, damit intensiv mal beschäftigt, ne?
Genau, das haben wir, glaube ich, auch schon in einer Folge drin.
Ich glaube bei den Terminal-Tricks bei Steuerung R, das ist eigentlich der Hauptweg, wie ich
damit interagiere und zwar ist das für Steuerung R, das ist ja immer so ein bisschen archaisch
und das basiert irgendwie auch auf der Reihenfolge, welches Ergebnis jetzt am nächsten dran ist.
Und also das ist alles, es funktioniert sehr gut, wenn man genau weiß, was man eingeben
muss, aber wenn man irgendwie halt nicht mehr ganz genau weiß, wie der Befehl ging oder
man möchte sich alle letzten SSH-Verhandlungen angeben, anzeigen lassen, dann ist Fuzzy
Find, also FZF ganz cool.
Das gibt ja quasi so eine Liste und ist nicht, also die ersten Ergebnisse sind genau das
Ergebnis, also wenn man nach SSH sucht, dann sind die ersten Einträge alle SSH-Commandos,
die man mal gemacht hat und danach erhöhen die Ergebnisse nicht sofort aus, sondern dann
fangen Ergebnisse an, wo ein Buchstabe anders ist oder zwei Buchstaben anders sind, also
dann findet man zum Beispiel auch alle SCP-Befehle, die man mal gemacht hat.
Und das hilft mir total gut, also es hilft mir total, Commandos wieder zu finden.
Vielleicht nicht ganz so cool für meine Kollegen, wenn die möchten, dass ich denen Dokumentation
liefere, weil ich dann eigentlich nur meine Dokumentation ist, meine Bash History.
Aber das müssen wir jetzt hier im Podcast nicht besprechen.
Von daher kann ich sehr empfehlen, ist eigentlich eins der Tools, die ich, wenn ich einen neuen
Rechner kriege, werden die mit sofort, also mit am schnellsten installiert.
Gibt es auch in allen geläufigen Paketmanagern, ich sehe gerade APK für Alpine, APT, DNF hat
es drin, bei Arches ist es auch dabei, also das findet man eigentlich überall.
Finde ich gut, ja.
Sagt dir das Tool Moa was?
Also die Moa, das sagt mir was.
Ich habe aber noch nie den Unterschied zwischen Less und Moa verstanden, also das habe ich
einfach immer so hingenommen.
Moa ist das ältere Tool, das gibt es schon seit Unix Zeiten und ja, Less ist quasi eine
modernere Variante davon, wo du auch mit File-Tasten navigieren kannst und auch, ich glaube das
eine oder andere Feature ist jetzt noch mehr mit drin.
Ich glaube die Such-Funktionalität haben sie ein bisschen optimiert, also zumindest habe
ich das so bei mir abgehäftet.
Also Less hast du halt auf Linux-Systemen und Moa hast du nicht unbedingt auf jedem Unix-System.
Also ich habe früher mal so als HAP UX Admin gearbeitet und da war halt Moa der Standard
und das war gar nicht mal so geil, wenn man File-Tasten und so ein paar Such-Funktionen
gewöhnt ist, die es da noch nicht gab.
Genau und da reiht sich halt auch Moa ein, also M-O-A-R geschrieben, ja so ein bisschen
Internet-Slang und das ist im Prinzip Less oder Moa, on steroids könnte man sagen, denn
das Tool hat Syntax-Highlighting und das ist halt echt gut, weil Less hat das halt eben
nicht und wenn man jetzt mal so lang Quellcode hat, den man sich anschaut und dann ist das
ganz schön schwer da zu erkennen, wo möglicherweise da wichtige Elemente anfangen und enden.
Das ist ein Feature, das ich sehr gut finde, das Ding ist in Go geschrieben, kann man also
dann auch einfach in eigene Applikationen integrieren, da gibt es einen Package, das
man einfach nur importiert und das Teil hat auch Support für reguläre Ausdrücke.
Ich weiß jetzt nicht, ob wenn ich jetzt hier schnell mal was suche, ich da spontan mal
eben einen funktionalen, regulären Ausdruck ins Terminal rein döngel, aber prinzipiell
gäbe es die Option, die Suche ist inkrementell und vollständiger UTF-8-Support für Input
und Output gibt es eben und wenn man mit dem File direkt so einen gzip, bzip2 oder xz-File
aufmacht, dann wird das dann on the fly automatisch entpackt beispielsweise, das finde ich auch
ganz nett, dann kann man sich das schenken, das so entpacken, anzugucken und wieder zu
löcheln oder so, das geht ein bisschen einfacher.
Finde ich ganz nett und gibt es auch für verschiedene Betriebssysteme, das ist in Home
Pro und in Mac Ports mit drin und in dem Git Repository, das wir auch verlinkt haben, da
gibt es halt eben dann auch noch verschiedene Releases und Pakete, die man runterladen kann,
also das ist ja einer der Vorteile von Go, dass man das super einfach cross-compilen
kann, vorkompliziert ist das Ganze erstmal nur für x86 und x86 64-bit, aber man kann
es natürlich auch auf x anderen Plattformen bereitstellen.
Ja und damit haben wir euch ein paar Produktivitätstools an die Hand gegeben und uns würde natürlich
wieder interessieren, ob wir dabei irgendwas vergessen haben, gibt es noch irgendeinen
hidden gem, wo ihr sagt, das habt ihr leider übersehen, das solltet ihr euch mal angucken,
dann freuen wir uns natürlich immer über Tipps, gerne auch Feedback beispielsweise
per E-Mail an podcast@sva.de und dann freue ich mich schon darauf, dass wir morgen über
ein anderes Thema sprechen können.
[Musik]
[Sie sind in der Tat nicht mehr in der Tat]
[Sieh' ich nicht, dass ich das nicht weiß?]