Ich habe ein neues Tool in meinem Software-Werkzeugkasten: KeePass HotKey ist ein Wrapper-Programm zum Öffnen einer KeePass-DB oder zum Auslösen der Auto-Type-Funktion.

Dieses Tool ist sehr spezifisch für meinen Anwendungsfall:

  • Ich möchte eine Aktion über eine spezielle Hardware-Taste auf meiner Tastatur auslösen
  • Diese Aktion soll entweder eine bestimmte, vom Benutzer konfigurierte KeePass-Datenbankdatei öffnen oder
  • die „auto-type selected“-Funktion von KeePass auslösen, wenn eine KeePass-Instanz geöffnet ist, läuft und einen ausgewählten Eintrag hat.

Quellcode und releaste Binaries sind auf Github verfügbar.

Heute stelle ich euch das Tool Checkouts Overview vor.

https://github.com/sgrottel/checkouts-overview
https://go.grottel.net/checkouts-overview

Was? Warum? Weil mir dieses kleine Tool hilft.

In meinem privaten Setup habe ich eine Menge kleinerer Repos ausgecheckt, mit denen ich nur hin und wieder arbeite. Außerdem habe ich mehrere Repos, die einige Textdokumente und deren Historie verwalten. Manche dieser Repos werden mit Servern synchronisiert, die nur gelegentlich online sind, teils um Strom zu sparen, teils aufgrund von VPN- und Netzwerkverbindungsgeschichten. Und so verliere ich oft den Überblick über den Status der Synchronisierung dieser verschiedenen Repos.

Ist alles eingecheckt? — Meistens, ja. Wenn meine Änderungen schon vollständig war.

Ist alles gepusht? — vielleicht.

Sind Branches aktiv? — keine Ahnung.

Ihr braucht diese Anwendung vielleicht nicht, wenn Ihr einen besser strukturierten Arbeitsablauf habt als ich. Meiner ist chaotisch, also brauche ich die Hilfe eines Tools, dieses Tools.

Wenn Ihr interessiert seid, findet Ihr weitere Informationen im Github-Repository der App.

Hinweis: Und was das Icon der App angeht, es geht um (Repository-)Klone, richtig.

Redate ist ein weiteres Werkzeug in meinem wachsenden Werkzeugkasten. Die Idee ist einfach: Viele Programme erzeugen Dateien, schreiben Dateien, aktualisieren Dateien, mit genau demselben Inhalt wie zuvor. Das Datum des letzten Schreibzugriffs der Datei wird natürlich verändert. Der Inhalt bleibt derselbe. Andere Tools wiederum verwenden das Schreibdatum als Hinweis darauf, ob die Dateien geändert wurden. Was ja auch Sinn macht, oder?

Dieses kleine Werkzeug, „Redate“, speichert die MD5-Hashes der Dateien ab, zusammen mit ihrem ursprünglichen Schreibdaten. Wenn das Werkzeug dann erneut auf dieser Liste von Dateien ausgeführt wird, stellt es das ursprüngliche Schreibdatum für alle Dateien mit unveränderten MD5-Werten wieder her. Und das ist es.

Ich verwende es zum Beispiel für Vue.js-Projekte, um die Schreibdaten der Dateien in den dist-Ordnern beizubehalten. Dann kann ein einfacher FTP-Sync nur die geänderten Dateien für das endgültige Deployment übertragen. Dies hilft bei Projekten mit vielen Assets-Dateien die sich nicht verändern.

Ihr könnt Quellcode und Binär-Releases von Github herunterladen.

[:de]Einfache Computergraphik-Demos entwickeln wir gerne als Konsolenanwendungen. Das Konsolenfenster ist einfach praktisch für Debug-Ausgaben. Wenn wir die Programme dann aber auf unserer Stereo-Powerwall zeigen, dann stört das kurz aufblitzende Konsolenfenster massiv. Darum habe ich mal kurz ein kleines Tool zusammengesteckt, dass Konsolenanwendungen startet, die Konsole nicht anzeigt, ihren Inhalt aber abgreift, damit man im Notfall nachsehen kann warum es mal wieder nicht funktioniert.

Ich präsentiere die HiddenConsole:

HiddenConsole.zipHiddenConsole.zip Application starter hiding the console window
[55.3 KB; MD5: 848cbd8aa901fe38be8179d65b6d2162; Mehr Info]

Und weil ich es kann, der Quelltext ist frei verfügbar:

https://bitbucket.org/sgrottel-uni/hiddenconsole[:en]Simple computer graphics demos are often developed as console applications. Having the console window is simply convenient for debug output. However, if we then show these demos on our stereo powerwall, the console window flashing on program start is massively disturbing. That is why I take some time and wrote a little tool. It starts the console application, hides the console window, but captures the output. This way, we can still check what happened if something does not work.

I present the HiddenConsole:

HiddenConsole.zipHiddenConsole.zip Application starter hiding the console window
[55.3 KB; MD5: 848cbd8aa901fe38be8179d65b6d2162; Mehr Info]

And, because I can, the source is freely available:

https://bitbucket.org/sgrottel-uni/hiddenconsole[:]

[:de]Windows kommt mit vielen Funktionen die kaum einer kennt. Und bei einigen frage ich mich warum. Ein gutes Beispiel sind Links: Hardlinks, Junctions, etc., nicht die albernen Verknüpfungen. NTFS kann das alles, konnte es schon immer, und die meisten *nix-User wissen auch damit was anzufangen und dass das was Cooles ist. Wie gesagt, Windows kann das auch. Es ist nur nie offiziell in die GUI rausgeführt worden. Wahrscheinlich aufgrund einer politischen Entscheidung, da man Angst hatte, dass der Standard-Windows-Benutzer damit nur Unfug anfangen würde und alles noch viel viel Schlimmer werden würde als es sowieso schon war. Vermutlich hat man damit sogar Recht. Aber für uns Windows-Poweruser sind Links eine tolle Möglichkeit unsere Systeme zu optimieren. Was im Normalfall aber fehlt ist dann er Bedienungskomfort. Und genau hier kommt die Link Shell Extension von Schinagl. Damit funktioniert es gut und schön. Was will man mehr?[:en]Windows has a lot of nice features nobody knows about. And with some of them I am really wondering why. A good example are links: hard links, junctions, etc., not those silly shortcuts. NTFS has these things, it always had. And most *nix users know their way with these fellows to do cool stuff. Well, Windows has these too. They just never found their official way into the GUI. Most likely it was for political reasons, because the guys at Microsoft were afraid that the standard windows user would trap himself with these links and die. And most likely the guys are right on this. However, for us windows power users such links form great opportunities to optimize our systems. What is missing is usability. And this is where the Link Shell Extensions by Schinagl comes into the play. With this everything work great and nicely. What else could you want?[:]

[:de]In mancherlei Hinsicht bin ich vielleicht etwas altmodisch. Beispielsweise hab ich gerne meine Musik lokal auf den Geräten auf denen ich sie auch höre. So grabbe ich meine CDs und hab meine Sammlung als MP3s und Flacs auf meiner Platte liegen. Da ergibt sich natürlich immer das Problem der MP3-Tags, vor allem, dass diese vereinheitlicht werden müssen. Etwas, was man zugegebenermaßen nicht machen muss, wenn man einen Online-Dienst nutzt. Wie dem auch sei.

Nach einigem Ausprobieren verschiedener Tools bin ich nun bei Mp3tag gelandet. Es funktioniert und ist sehr angenehm bedienbar wenn man viele Dateien gleichzeitig bearbeitet.[:en]I may be in some aspects old fashioned. For example, I like to have my music locally on the devices I am going to play them at. So, I am grabbing my CDs and collecting everything as MP3s and Flacs on my hard disk. Then, of course, I have to deal with the MP3-tags, especially unifying them across the files. This is something, I wouldn’t need to bother if I would use an online service. Whatever.

After some try and error, I finally came across Mp3tag. It works and is nice to use when you are editing multiple files at once.[:]