RSSAmplifier

Blog

blog of axlefublr

axlefublr.github.ioRSS feed ↗41 posts

Latest posts

timer system

In one of my recent blog posts , it would be too overwhelming to show you the entire code at once, so I introduced all of the moving parts piece by piece, as I explained emerging usecases. This worked pretty well, but was an annoying pain to actually write — jumping back and forth between what I'm showing you and what I have made things confusing. So this time, I think I'm just gonna…

the fish function meta

In other shells, when you want to add a custom function, you add it to your config. Obviously. Maybe you put your functions in a separate file and then source it, but same difference. Bash, zsh; even nushell works this way. Of course, instantiating functions takes some startup time off of you. It's silly to put every niche functionality you wrote, as a function into your config — better to…

the mouse is an accessory

Over the years, I've tried a bunch of different approaches to emulate the mouse from the keyboard. A lot of them end up falling into this unfortunate category, where they end up more so a gimmick than something that's comfortable to use over the real mouse. Finally, this is not the case with my latest mouse mode. You could literally steal my mouse right now and pose me no inconvenience.…

task scheduler

I've been using this neat task scheduling program called pueue for a while. With it, you can queue up shell commands to be executed in sequence, and/or in parallel, without “living” in a terminal window. After my recent niri ricing improvements , the no-terminal-required benefit isn't as large anymore. If I want some terminals out of my way, I can just throw them onto a workspace…

nirism

I've been using niri for a bit over a year now, and yet still I have a soft cap of windows I'm able to open before I'm completely lost. Almost assuredly a skill issue on my part — I know people who have around a HUNDRED windows open at a single time, so there must be some way for me to gain the power too, right? Recently I made some pushes on configuring my workflow to allow me to…

rust for... scripting? pt. 2

In my previous blog post , I arrived at a rust “scripting” system that I was quite satisfied with :D But since then, I took upon a journey to learn nushell, and therefore was using it for a lot of my new needs. For some of them, nushell isn't even the most appropriate tool, but finding reasons to use the language so that I could learn it better is a technique I make use of all the time. One…

erotic meta feet

I just figured out a longterm annoyance I've been having with how kanata does layers, and I want to share my findings with you. Sequences of key presses and releases are really hard to mentally parse when in word form, so I will establish a syntax for expressing those. e↓f — hold down e , and while still holding it down, press and release (i.e. tap) f . e↓f↓j — hold down e , and while still…

smooth scrolling

I tried out Zen Browser recently, and one of the many good things about it that I noticed, is how smooth the scrolling feels. I thought: “surely it's not zen-specific!” and turns out that its smoothness is due to about:config settings you can set in any firefox :D The biggest / most important change, that will make your scrolling a lot smoother, is setting…

i overuse anki

No, I have not burned out on anki. All the advice I share in my how to anki blog post still works… A little too well, actually?? A very common issue anki users face is that your workload creeps up on you over time, constantly increasing and eventually burning you out. My system, however, is designed specifically to not allow that! What is “it only seems free!!” for others, is quite free for me.…

blammo

I use the yazi file manager, and like it a lot! Most of my file operations, including even cd ing sometimes, is done directly from yazi. Which is why I add a couple of powerful special hotkeys to it! For example, I quite often need to cut videos; Unlike a normal person, I refuse to use an actual editing app, and instead I do it with ffmpeg . I wrote some interactive ffmpeg fish functions , and…

proxy things

I'm unfortunately in russia. Since the start of the war, most services have left the country, now requiring a vpn to use. But funny thing — so did the vpns ! First, some now required a vpn to access them (the another vpn). Sounds pretty useless, but I could conceivably use some bad free vpn to then enable the good one, disconnect the free one and continue using the good one until I reboot. So…

harp

Travelling to files in text editors is very slow at best. There are four main ways to travel to a file from your text editor. Let's discuss them. fuzzy picker Your telescope, or snacks file picker; your helix file picker. Your vscode ctrl+p fuzzy file picker, even. The classic. You search through a list of all files in the current directory, using a fuzzy search algorithm — you can type aaa…

zoxide misbehavior

I just found a very surprising behavior zoxide gives fish users, that might be part of the reason why zoxide always felt so useless to me in the past. I noticed that one of my directories spiked up in its weight every so often; consistently it would get to the maximum, 9999, while I for sure didn't zoxide to it nearly that often. The reason why this is an issue, is because of how zoxide…

optimizing paths

The default paths that you start with, and the paths you might end up creating naturally, can be quite inconvenient to work with. In your home directory, you probably have Documents , Downloads , Pictures , Videos , etc. To follow the semantic, you might create directories like Programming , Notes , and the like. All of them are pretty long words, and annoyingly they all start with an uppercase…

autocurling

Often times, various programs don't provide you a way to look at the default config file locally, but do provide one in the github repo. Having to 1. need internet and 2. use my browser to get to some default config is quite meh. The documentation being the readme falls into a similar issue. Cloning the repo so that you have it locally is overkill, too. Let me explain the idea of how I solve…

consider sorting

I'm almost certain you have a problem that you either don't realize, or don't have a good solution for. Sometimes in code, you need to place many things in some sort of order. And sometimes, there's no one order that is logically significant. An example of this is configuration options. There isn't really an "order" to them, within each section: you are setting all of…

change wallpaper on wake

I managed to do something really neat. I wake up at almost random times, and so simply changing my wallpaper every day at 5am will be wonky. Sure, often times that does match up to be before I wake up, but other times it's in the middle of the day for me. change wallpaper First, we start by having a script that will actually do the wallpaper change. swww img -t any --transition-fps 255…

every row modifiers

An AI hallucinated, and god am I thankful that it did. I've been trying to find reasons to finally switch to kanata : I've tried it before in the past, and while it was really cool, ultimately it didn't feel worth the effort. But ! If I collect enough significant advantages over xremap , I'll be able to power through the magnitudional task of reading through the docs, and…

bye bye firefox

You might reasonably expect me to have switched off from firefox due to the recent privacy concerns drama. But it was me, Dio! But I actually could not care less about my privacy. Matter of fact, I think it's strange and silly to expect your browser to be private about your data. The web is so huge that I can't get how this can ever be an expectation or even a hope. The actual reasons…

randomization sucks

You might instantly think that I'm going to be talking about how there's almost no real randomness in computers, and instead mostly pseudo randomization. Interestingly, I have the exact opposite issue: randomization feels too random! Say you want to pick 5 random numbers in a range of 1 to 10. A fairly human sequence is something like this: [7, 5, 1, 8, 3] I simply put in random numbers…

the journey of noise

I'm autistic! Noise affects me more than the average person. I often fantasize about going deaf. After always having laptops, recently I finally got my first pc! Little did I know how LOUD it can be... Let me take you on a journey of how I dealt with the devil that is noise . first impression I plug in the computer and start going through the motions of initial setup. Despite being distracted…

wayland screen recording

I recently switched to wayland, and now my ffmpeg screen recording script no longer works, as it depends on x11. To my surprise, screen recording on wayland is easier ! Thanks to wf-recorder , this is all you need: wf-recorder -Dyf ~/output.mkv -y skips the confirmation check to overwrite the file, -D only grabs more frames if anything changed on the screen, in theory reducing filesize. Pass…

stop picking on files

When using linux, over time you might naturally arrive at hating guis and preferring a more terminal-centric workflow. One thing that always stood out to me as unescapable though, is picking files . Say you wanna send a file on a messenging app, or maybe blammo an image over another one in krita. You will most likely need to open a file picker to pick the file that you want, or a gui file manager…

fish shell 4.0.0

New fish shell major version is coming out! I want to share with you all the changes that caught my attention. Incidentally, this blog is my excuse to read the release notes to begin with c: First of all, fish shell got rewritten from c++ to rust. This is big because it reduces the barrier of entry for contribution and probably makes fish faster. fish_should_add_to_history function lets you decide…

finally, a good pager

Some time ago, I tried looking for a pager, and found... nothing? How are we content with less ? bat comes up a lot, but it still uses less under the hood as far as I know. It gives you syntax highlighting, which is nice, but that's the last nice thing about bat that I encountered. That syntax highlighting? Automatically uses a custom theme, instead of trying to use your terminal theme.…

how to anki

Anki is honestly a very hard to approach program. If you feel like it isn't, you're using it wrong /hj In this post, I'm assuming that you already want anki and know why you want anki, so I won't be inspiring you; just sharing what I think is the optimal way to use anki. In the next few sections related to settings, here's what you can expect: If I don't mention…

rust for... scripting?

If the title of this blog post is a genuine question you have, and you want to just skip to the most reasonable solution: use cargo-script why I recently realized that the two languages I like using, fish shell and rust, are ridiculously far apart. I wanted to find myself a language I could use for scripting that is non-viable to do in fish shell, but too annoying in rust. Turns out, there are not…

stray from defaults

Vim has made a stupid design decision, and we're still eating shit many years later. It prioritised mnemonics, rather than ergonomics. The issue is pretty apparent: mnemonics are helpful for the first, like, week while you're learning vim for the first time. And then many years later you still end up using the same non-optimal mappings. One of the most frequent things you do in a text…

suspend is actually neat

Part of why I still use kitty is because its window manipulation is goated. You can create windows (panes), tabs, overlay windows (panes) and os windows using hotkeys. That's cool enough on its own, but you can do all of that from a script too! This lets you integrate window manipulation into a bunch of places, so it's quite workflow-building. Say I'm in helix, and want to run some…

safety razors slap

Shaving is a massive hassle. Because I'm trans, it's even hassler for me than to the average person. Elecric shavers are pretty low effort, but they also don't cut that close to the skin, so it's a good strategy to use when you have a lot of hair, but pretty ass if you don't. To get a pretty ass though, you need the power of an actual razor. But those have their own…

best find & replace tool I found

I used to do magic with the quickfix list back in neovim, that gave me a pretty good find & replace experience. However as you may know, I switched to helix. It can be very barebones at times, compared to the shenanigans I wrote for myself in neovim. My find and replace now is mostly just the “find” part — I use helix's searcher, and then visit each place individually to modify it how I want.…

helix is ridiculously consistent

In helix, these two actions exist: copy_selection_on_next_line copy_selection_on_prev_line The default hotkeys for both of them are shift+c and shift+alt+c , respectively. From the name I instantly assumed: "ah, it's the usual "add multicursor on the next line" and "add multicursor on the previous line"", like practically every multicursor implementation has. I've talked about the…

newest helix master features

As you may know , I maintain my own helix fork . Recently I noticed a huuuuuuuge burst of new commits, and here's what new features I found! cd improvement The :change-current-directory ( :cd ) command now more closely mimics the useful behavior of cd in the shell: With no arguments ( :cd ), it now changes directory to ~ ( $HOME ). :cd - changes directory to the most recent one. So, if you…

my usb drive experience

I hate buffering, so I download practically every youtube video I watch using yt-dlp. That's all fun and great, however my 256gb laptop is slowly running out of space! Well... that's a bit of an overestimation: I have hours upon hours of content downloaded and am still at only 71% usage, but that number freaks me out regardless! You may reasonably suggest to upgrade my SSD to something…

magazines

I came up with a concept that completely revolutionized a lot of my workflow. I introduce to you: magazines™! the basics Each magazine is just a normal file that has a one letter file name, from a to z, from A to Z, and from 1 to 9. All magazines are located in a single directory called magazines . The name doesn't really have meaning, I just happened to be obsessed with guns at the time of…

elegant fish shell booleans

I recently finally figured out how booleans work in fish shell, and turns out they're very elegant! You can use set to set variables to values; you can set them to true or false too. If your editor supports fish shell as a language, it will probably highlight them as booleans. What are they? Some special types, or special syntax introduced by the shell? Not at all actually, they're just…

why even helix?

I've been using neovim for around two years. I've rewritten my config three times: for the first time, when I switched to astronvim, and when I switched back from astronvim. At the most recent point, my config was 5000 lines long. I've gotten into the habit of reading nvim help pages in their entirety, for fun. I have also written s e v e n ! ! plugins. And usually spent multiple…

helix master vs stable

When considering switching to helix master, I went through all the commits after stable. Here are the new features I discovered. pickers columns There's a picker refactor: most pickers now have columns, that you can search directly. Here's how the bindings picker looks like now: shorthands And thanks to columns, it's much nicer to use! You can type in %column_name to start searching…

why I hate kitty

I say "god I hate kitty" a lot, but I usually can't think of examples for why on the spot. I just encountered yet another "god I hate" about kitty, so I'm gonna write it down while it's hot to transfer why I hate this terminal emulator so much. I wanted a certain feature: in the tab bar, usually I want tabs to just have their number displayed, and nothing else. But optionally, I…

a neat helix multicursor trick

You may sometimes want to set a bunch of multicursors on a lot of lines, where just holding C and letting key repeat do the job is a bit bothersome. So you mip to select inside paragraph, and use s to set cursors how you usually would with C , but with far less keystrokes Doing this feels illegal fwiw, but it's actually super valid for this usecase, where you want to act on a certain column,…

why I hate lua

What I value most in a language is functionality — what and how easily the language lets me do things. No wonder! That's what programming is kinda for: doing cool things more easily . And here's lua, that doesn't even have an abstraction over something as simple as .split() . Ridiculous. Lua has a very weak standard library. You'll find yourself reimplementing functionality…