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.
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.
On one laptop I encountered a strange slowdown in zsh: loading any completion
script from a custom fpath, even an empty file, adds ~500 ms to the
startup time. I’ve heard many good things about fish, so I decided that this
might be good opportunity to give it a proper testing.(sidenote: I had
tried it few times in the past, but not for long.)
After few days,
and this is incredibly fast for me, I think that I’ll stick with it. Few minor
annoyances for me are:
I have some scripts which do something like ssh $SHELL -c ..., which fails
if there’s no fish on remote system (there usually isn’t). I had to switch to
SHELL=sh ssh $SHELL -c ...
I can’t get used to replacing oldschool backticks (for invoking subshell) with
parentheses
ctrl-c doesn’t produce an empty prompt - this makes sense, but I have a muscle
memory of doing it to produce a few empty lines of visual separation between
commands.
I kinda love everything else (including startup speed), so it’s a win I guess.
We agreed to our kids’ request to buy mice (2-3 females). Turns out, it’s super
hard to find them in our area (at least when you care to not buy snake food). I
found a single nearby breeder but to get in touch I had to… create a Facebook
account. And this makes me a little sad, a little angry and a little
disappointed. Screw this, we should have agreed for a dog.
Huh, it seems I missed that few months ago Brandon published his 5th secret
project, “Isles of the Emberdark”. Instant buy, but now I’m torn, because I’m
deep in the first volume of his “Alcatraz” series and at the same time I want to
read “Isles” so badly… Maybe I’ll read a chapter from Isles and then a chapter
from Alcatraz?
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.