April 26, 2020

Open (un)compressed file in Emacs

In Emacs, when you open a compressed file like foo.txt.gz, it will transparently decompress it (using gzip in the case above) and open as a regular file. However, what will happen if the above file is not compressed at all?

Here is my case. I'm using excellent rclone to open remote S3 drives by mounting them in the local folder. From there, Emacs and dired works much better than any TRAMP hack I tried.

However, an application that would ship logs to S3, would ship them with gzip extension attached (hence foo.txt.gz), but files would not be compressed. I'm not sure if this behavior is intentional or bug in the script, but this will cause Emacs to fail with this error:

Continue reading →

February 25, 2020

Log4j2 and Clojure quick setup

As we all know, java logging is a mess and I believe most developers are wondering how the output to terminal or file can be rocket science?

Those who want to save some sanity and keep things simple, I'm sure are already are using Timbre.

But, my use case was different - the application had to log as much as possible, but that had to be fast as possible and provide plenty of configurable options for the end-user, without touching source code.

Continue reading →

December 4, 2019

Handle Chromium & Firefox sessions with org-mode

I was big fan of Session Manager, small addon for Chrome and Chromium that will save all open tabs, assign the name to session and, when is needed, restore it.

Very useful, especially if you are like me, switching between multiple "mind sessions" during the day - research, development or maybe news reading. Or simply, you'd like to remember workflow (and tabs) you had few days ago.

After I decided to ditch all extensions from Chromium except uBlock Origin, it was time to look for alternative. My main goal was it to be browser agnostic and session links had to be stored in text file, so I can enjoy all the goodies of plain text file. What would be better for that than good old org-mode ;)

Continue reading →