Hi! My name is Michał Góral, I am software developer (currently at Nokia) and
this is my personal website. You can read more about me on a separate
page if you’re curious.
I noticed that in git log I’m always interested in commit date, not author
date. The difference is that author date shows when author finished their work
and commit date shows when it actually landed (was merged by someone else, like
CI bot). Commit dates are arguably more useful because they preserve the
chronology of git log. As there’s no built-in log formatting which would give me
a combination of author (not committer) + commit date, I had to become a little
bit creative:
# This goes e.g. to ~/.gitconfig[pretty]# format:/tformat: controls spaces between commitscommitdetails="format:\%C(yellow)commit %H%C(auto)%d%Creset%n\Author: %an <%ae>%n\CommitDate: %cd%n%n\%w(0,4,4)%B"[format]pretty=commitdetails
Reading hurts because people (me included) don’t know how to write. We don’t
cross out the wrong words.(sidenote: Mark Twain reference, at least
according to Civilization 6.)
If you don’t know how to keep
attention of your readers, do everyone a favor, yourself included, and be
concise. Go straight to the point and write 3-4 sentences instead of 3-4
paragraphs, because this is the most that people bear before losing interest.(sidenote: Too bad that schools teach the exact opposite of this idea.)
Yesterday I installed paperless-ngx for
management of my family documents. It is very good. It took me some time to
re-categorize everything, because I had hoped that its neural network would do
most of the grunt work, but it didn’t. After some learning it tagged some of the
documents (incorrectly) and didn’t touch most of them, so I had to resort to the
ordinary word- and regex-based rules. I actually had fun writing these and they
now do 90% of work for new documents.
I don’t have a scanner which can output to the network share, but I added the
consume directory(sidenote: Paperless-ngx automatically fetches all
new documents from it.)
to Syncthing and it’s great!
It’s refreshing to use completion system in fish. Instead of gazillion scattered
completion functions (like in Bash or ZSH), obscure manuals and unsearchable
documents that only lead you to reverse engineering some online examples, fish
has one command: complete. Just call it repeatedly for all possible
arguments and you’re done. complete -h gives all the necessary details and online
tutorial has many useful examples on top of it.
Formatting is one of these parts of TWC which I disliked the most. This has
finally changed with release of TWC 0.9 and complete rewrite of formatting
strings syntax.
With markorapp, a script which I wrote, it's easy to create "singletons" in i3. Singletons are applications which should have only one instance, like a particular terminal.
Xsession is a default way of starting X sessions in Debian, but for some
reason it remains a mystery for many people. Here I try to shed some light on
it.
Structured Bindings is a new way to decompose values returned from functions. It's similar to some other programming languages and greatly simplifies the code.