Fzf has a lot of applications, but because the windows are one-off windows, doing extended repeat queries can be tedious. This post shows how quickfix windows can be used to mitigate this, as well as how the methods used to do so can be used for general bulk action use of fzf.
The comment archive is one of the recent victims of Stack Exchange, Inc.'s short-sighted decisions that disregard community tooling. Here's what happened.
The internet has gotten a lot worse with the release of genAI, which seems to be widely developed and used in spite of major problems. Where do we go from here?
For those out of the loop, shit hit the fan last year after Stack Overflow, Inc. (hereby referred to as "the company") decided to overrule a community consensus regarding AI-generated content. Following the initial event, a long series of poorly thought-through features and changes (both related and unrelated to AI) have been announced by the company. Meanwhile, the community has been asking for the same things we have for longer than I've been a member. Let's talk about some of those things, as well as my last take on the problem.
In the previous post in this series, I briefly described the general system I use for dotfile and system management, based on makefiles. This post dives into the technical details, including everything you need to set up your own makefile-based automation system.
Also note that the full make code in this article can be found in this GitHub repository. You can also see my implementation here.
If you want a system that only manages your dotfiles, and doesn't deal with dependencies, I recommend either using a very simple makefile (i.e. you don't need anything more than a single target), or if you need something more fancy, using a dotfile manager. The makefile framework used here is primarily intended for a broader use-case, where dotfiles, the dependencies of the dotfiles, and potentially other software is at the very least installed by the makefile.
I've been messing around with NAS solutions for a couple weeks now, because why not?
After a while of initially fucking around with various solutions, I settled on samba, because it's a major standard. It's easily supported, and supports integration with Linux Mint's integrated file explorer. That was actually a major factor when deciding on the protocol; if I can avoid messing with fstab and avoid manual mounting, I'd be really happy. That's not where I ended up, unfortunately.
So I decided to give Neovim another try (and specifically nvim-qt). Here's what happened. Note that I'm not looking for a "solution to my problem" or any crap like that. This is purely based on my observations and experience with Neovim.
Also, obligatory disclaimer that this ended up being a stream of consciousness, and may therefore lack a bit of structure.
I decided to give Neovim a try after reading up on Vim 9, specifically surrounding compatibility with neovim. I went to the Vim9 README for the performance stats as well (purely for the pointless trivia). This is largely because I'm diving deeper into the realm of plugin development (I have no idea why). This was largely while looking into which language to use for a plugin, for stdlib availability. There's bits I don't feel like reimplementing for the plugin I was looking into. I also got side-tracked into performance stats, because I do that some times.
There's already a number of cheat sheets out there for Vim and Vimscript, but I rarely find one that works. Or at the very least an easily searchable list with specific keywords describing what a function does. So I made one. (Or at least made a reference that I'll add stuff to when I find neat tricks).
This is largely meant to cover "lesser known" functions, but will cover others that may not be lesser known, purely because I felt like including it, or because it took embarassingly long for me to become aware of its existence.
In all fairness, it has been more than a week, but due to messing around with logging and accidentally clearing it a few times (whoops!), I didn't have a week worth of data until yesterday.
For the past week, I've been tinkering a bit with Pi-hole, including working with stuff there's no official guides for. There's quite a few things I noticed while messing around with Pi-hole, so I figured I'd write a post about it.
This post aims to present an alternative way to generate SSL certificates for your pihole web interface. This is specifically targeted at people without a FQDN (Fully Qualified Domain Name), regardless of whether pihole is hosted locally or on a VPS. Note that this has only tested on a locally hosted pihole instance, running on a Raspberry Pi 3B+. As usual, apply common sense before running commands from strangers on the internet - just because it worked on my system, doesn't necessarily mean it'll work in general. While we're at it, if this is properly configured, it shouldn't cause any problems. Even an invalid SSL certificate would just affect your connection, and not something like SSH or pihole in general.
The Raspbian package repos are, in my experience, extremely slow with updates. Ninja pre-dates version one, Python3 is still stuck on 3.5.2, and a lot of other packages are outdated. Installing from source isn't always easy, because they get new dependencies, and suddenly you have accidentally missing packages and compiling fails. So here's a list of some install guides for various tools.
This is currently targeting a version of Raspbian that doesn't support 64 bit. When I get the updates that add support for 64 bit, I will be updating with 64 bit, and that'll likely be the only variant that gets updates. Especially for cases where specific binaries are necessary (for an instance with Clang), this will mean 32 bit won't be maintained by me.