Wednesday, 19. February 2025 Week 8

MapCanvas

MapCanvas creates beautiful map portraits.
You can enter any city and have it generate minimal custom maps.
And if inclined also order them as printouts and framed posters.

MapCanvas of Zweisimmen

(via)

Tuesday, 18. February 2025 Week 8
Sunday, 16. February 2025 Week 7
Saturday, 15. February 2025 Week 7

Notice

“I urge you to please notice when you are happy, and exclaim or murmur or think at some point, ‘If this isn’t nice, I don’t know what is.’”
— Kurt Vonnegut

(via)

It’s a simple two-step process:

  1. First, notice. Notice that things are good. Notice the feeling of pleasure. Notice today’s perfect temperature. Notice the art project your child is sharing with you.
  2. Then, say thank you. To the person you’re with, for the life you live, to the reality you’ve been blessed with, to the God you feel must be there.

And if none of those feel like the right objects of gratitude, that’s okay too. Simply murmur to yourself, ‘If this isn’t nice, I don’t know what is.’

(via)

Friday, 14. February 2025 Week 7

terminal survey

Ruben Schade published a post with answers to the terminal survey that Julia Evans recently conducted.
Inspired by this, below are my answers to these questions.

How long have you been using the terminal?

Since 2002.

Which shells do you use?

zsh (on my laptop/workstation), bash (on servers).

Do you use your system’s default shell?

No and yes (was using zsh before macOS made it the default).

What OS do you use a Unix terminal on?

macOS, Linux.

What Terminal emulators do you use?

Terminal.app, GNOME Terminal.

Do you use a terminal-based editor?

Yes, vim.

Do you customise your terminal’s colour scheme?

Yes, my current scheme evolved from the 2003 Gentoo default scheme.

If your terminal get messed up, what do you do?

Run reset.

What terminal settings do you customise?

PATH, environment variables, alias, the prompt, custom functions, history, syntax-highlighting.

Do you use job control?

No. Tried it sporadically, but not really my thing, rather using a terminal multiplexer.

Do you manage your files using the terminal, or a GUI file manager?

Basic local operations mostly in the GUI. Anything advanced, automated, remote or mass-operations in the terminal.

Which of these environment variables have you set intentionally?

PATH, EDITOR, and some others:

% grep export zshrc/zshrc|sed -e 's/=.*//'
export GIT_AUTHOR_NAME
export GIT_COMMITTER_NAME
export TZ
export PERL5LIB
export GOPATH
export LOCKPRG
export SAM_CLI_TELEMETRY
export JAVA_HOME
export RSYNC_RSH
export CVS_RSH
export EDITOR
export USE_EDITOR
export CVSEDITOR
export BROWSER
export LESS
export HOMEBREW_NO_ANALYTICS
export WWW_BROWSER
Do you use vi mode in your shell?

Yes.

How do you navigate files in less?

/ to search, then mostly spacebar to scroll and the occasional j/k.

How do you use pipes?

sort, uniq, tr, sed, find with xargs to parallelise, and awk.

Do you use a terminal multiplexer?

screen (still trying to migrate to tmux, eventually).

What’s the most frustrating thing about using the terminal for you?

Scripts assuming GNU specific parameters/tools on macOS.

Wednesday, 12. February 2025 Week 7
Tuesday, 11. February 2025 Week 7

Git commit templating

In the Conventional Commits article, Mike Perham explains how git commit templating can be used to support commit message consistency.

The key part is the template statement in the ~/.gitconfig:

[commit]
	template = ~/.gitmessage

This references the ~/.gitmessage file which is used as template for every new commit message.
For Conventional Commits, the following can be useful:

# type(subsystem): short description
### Types
# feat: A new feature
# fix: A bug fix
# docs: Documentation only changes
# build: Changes that affect the build system or external dependencies
# ci: Changes to our CI configuration files and scripts
# perf: A code change that improves performance
# refactor: A code change that neither fixes a bug nor adds a feature
# style: Changes that do not affect the meaning of the code
# test: Adding missing tests or correcting existing tests
Sunday, 9. February 2025 Week 6
Friday, 31. January 2025 Week 5

The beauty of goofy diagrams

In The beauty of goofy diagrams Einenlum explains how a diagram drawn in a more casual style, can support conveying information easier to the audience.

The thing is, I’m more and more convinced that the style of a presentation matters. Even before looking at the content itself, the style puts you in a particular mood.
[...] To me, although they convey the same content, the first one creates a sense of seriousness and gravity. It feels like only clever people can understand it. I’m already a bit tense and I feel like I need to focus. I almost take a deep breath and say to myself “okay, you can do it”. I feel dumb but I feel that with enough curiosity and hard work I can understand the content.

The second one, on the other hand, makes me feel more relaxed and probably more curious. The topic seems easier to grasp and I’m quite confident I can understand it. It doesn’t mean it brings more clarity: the first diagram is actually probably clearer but the content has more chance of reaching my brain with the second one because I’m more open to it.

(via)

Tuesday, 28. January 2025 Week 5

Upgrade to Jekyll 4.4.0 - google-protobuf workaround

I upgraded the blog to the newest Jekyll 4.4.0 which was released yesterday.
Unfortunately this first resulted in the following segfault while running jekyll build 🙈

/usr/gem/gems/sass-embedded-1.83.4/ext/sass/embedded_sass_pb.rb:11: [BUG] Segmentation fault at 0x0000000000004410
ruby 3.1.1p18 (2022-02-18 revision 53f5fc4236) [x86_64-linux-musl]

Turns out that this is a known problem of the google-protobuf gem (which is used by jekyll-sass-converter which is part of the default Jekyll).
Luckily there is a workaround.
Adding the following to my Gemfile fixed it 🎉

gem 'google-protobuf', force_ruby_platform: true if RUBY_PLATFORM.include?('linux-musl')