Hugo 雨果
mastodon 4.7.3Techsmith, interested in #SelfHosting, #OpenSource, #Sustainability, #DigitalRights.
#AlpineLinux Developer, #Nura TC and #OpenBSD enjoyer.
xmpp://hugo@whynothugo.nl or #whynothugo on irc.libera.chat
With #neovim 0.12, the nvim-treesitter plugin is no longer required for tree-sitter usage. In fact, it's no longer maintained and archived. Support is built into neovim. Custom tree-sitter parsers can simply by installed by your favourite package manager, e.g.: `doas apk add tree-sitter-python`.
Summarised different approaches feasible for creating an XDG_RUNTIME_DIR: https://whynothugo.nl/journal/2026/04/02/creating-an-xdg_runtime_dir/
Short reflection looking back at pacman now that it's not part of my daily workflow: https://whynothugo.nl/journal/2026/03/26/pacman-syndrome/
Must resist the temptation to write a clone of Notepad (the old-school version) for Wayland.
@niccolove@fosstodon.org Re: https://www.youtube.com/watch?v=WlgrCqgnk-M
Pretty neat and promising presentation, looking forward to seeing what comes out of this endeavour!
PLASMA STUDIO DEVLOG #0
The README says that one of the motivations for this markdown parser was the need for a parser that "preserves source position of nodes".
But the parser doesn't preserve source positions, in favour of performance? 🤪
Delivery has failed to these recipients or groups:
notifications@github.com
The recipient's mailbox is full and can't accept messages now.
With technology being omnipresent, digital rights have become essential rights. The debate is no longer whether the government can install cameras in your house and cars. The hot topic is about how the private sector gets away with it. Eventually, in the age of computing, opting out of the all-seeing technocracy won't be an option.
Got some spam issues on GitHub. Reporting it requires solving a captcha which took 7 attempts. After that, GitHub form submission just fails.
"Always on top" is such a terrible name of a feature that keep a window always in front.
Why is it that sometimes I can't run `doas eject /dev/sdb` (I get `eject: unable to eject`) on an SD card? I see the light blinking on it, so I want a synchronous command when I can be CERTAIN that it's done writing and flushing.
"How hard could it be?"
Common words spoken before diving into a 5 minute task or a 5 month nightmare of pure pain.
Not sure if a troll, or just a very confused soul.
@ska@social.treehouse.systems @navi@social.vlhl.dev @hipsterelectron@circumstances.run
Take this sequence:
- Read file
- Determine that we want to replace it
- Write content into a separate file, preparing the replace the original
- (race, some other process has replaced the file!)
- Replace the file
This cannot be prevented with renameat2. If nothing goes wrong, you can detect the problem (it's already too late tho). If your luck continues, you can revert it, and pray that no other process has read the bogus file in the meantime.
How would you connect wires to this UART (GND/TX/RX) if you don't have a solder at hand?
An interesting aspect of git-based projects is that you can work on them studying commits and understanding history within a given scope, without really having to comprehend all rest of the codebase.
I.e.: I can have a _temporal_ understanding of a portion of the codebase (how it progressed over time and the constraints of those changes) rather than a _spatial_ understanding (how it interacts with its surroundings).