Friday, 26. December 2025 Week 52
A long time ago I learned about the gf command in Vim.
It goes to the file whose name is under the cursor.
This can be pretty handy if you have a bunch of Markdown files that reference each-other.
But I never knew to go back to the previous file again.
So this week I took the time to find out how to do it.
And it turns out that there are multiple ways :-)
The most straightforward one is: CTRL-6
And there is also CTRL-o (back to the 'outer' file) with its companion CTRL-i (go forward to the 'inner' file).
CTRL-o and CTRL-i can be used to jump back and forth on the list of files opened via gf.
Saturday, 13. December 2025 Week 50
Infomaniak released Euria, a free, privacy-respecting, swiss-hosted AI assistant.
I briefly tried their web version, and it gives a good impression so far.
Good to have this available as a local alternative. 🇨đź‡
(via)
Wednesday, 10. December 2025 Week 50
I have a little framework that I often use when I want feedback/when I give feedback on a blog post, a tutorial, a project, a product, etc. to get as much clarity as possible, quickly.
- what’s Awesome?
- what’s Boring?
- what’s Confusing?
- what Didn’t you believe?
These “ABCD” questions are basic, but they get to the meat of the good and the bad (and the in between) of what you’re producing.
(via)
Sunday, 7. December 2025 Week 49
This article about Building a multi stage timetable with modern CSS using grid, subgrid, round(), and mod(), could become handy the next time you need to build a timetable on a website for a conference or festival.
Timetables are one of those components that look simple but contain a surprising amount of layout logic. For a project in 2026 I needed a version that supports multiple stages, adapts to the tallest session, and stays aligned across the entire timeline — all built in CSS.
(via)
Saturday, 6. December 2025 Week 49
Cassidy Williams wrote a post explaining the what, how and why of CSS clamp().
In a sentence, clamp() lets you assign a value to a CSS property between a minimum and a maximum range, and uses a preferred value in that range. It’s really helpful for responsive layouts and typography!
(via)
Susam Pal shows how to solve Fizz Buzz in CSS:
li { counter-increment: n }
li:not(:nth-child(5n))::before { content: counter(n) }
li:nth-child(3n)::before { content: "Fizz" }
li:nth-child(5n)::after { content: "Buzz" }
(via)
Adrian Roselli compiled a list of 2025 Webdesign Advent Calendars.
Sunday, 30. November 2025 Week 48
By inserting an empty string, Liquid's whitespace control can be used to remove newlines in templates while keeping them readable:
<p class="title">
{{- article.title -}}
</p>
{{- "" -}}
<p class="summary">
{{- article.summary | strip -}}
</p>
(via)
Saturday, 22. November 2025 Week 47
ItaloBrothers - Loud & Wild (Narcotic)
🥳
Thursday, 6. November 2025 Week 45
Today I got greeted by the following error when I was trying to scp some file.
# scp a.txt user@somehost:/tmp/b.txt
subsystem request failed on channel 0
scp: Connection closed
This cryptic error message comes from a default config change that OpenSSH introduced in version 9.
By default it now uses the sftp protocol for transfering files and no longer the original scp protocol.
Thus for hosts which do not support the sftp subsystem, but only the original scp, the file transfer fails with the above error.
Luckily there is the -O parameter which can be used to select the original scp protocol, and the transfer then succeeds:
# scp -O a.txt user@somehost:/tmp/b.txt