A birb in engineering. Everything is a lisp if you try hard enough. The opinions are my own and do not represent the such of my employer.
Public Key
npub1wc5saxwyesuu3qpak2qq5asup0dgwhnsy3dfp9t66j8g32d6dl5sn2qzxm Profile Code
nprofile1qqs8v2gwn8zvcwwgsq7m9qq2wcwqhk58teczgk5sj4adfr5g4xaxl6gpp4mhxue69uhkummn9ekx7mqprpmhxue69uhhyetvv9ujuumwdae8gtnnda3kjctvqy28wumn8ghj7un9d3shjtnyv9kh2uewd9hsc83cqd
Show more details
Published at
2026-06-28T07:14:44Z Event JSON
{
"id": "c226900074e63c028bf9b0e1de27e858a1e18dc520278e5867fc691dedf83bd3" ,
"pubkey": "76290e99c4cc39c8803db2800a761c0bda875e70245a90957ad48e88a9ba6fe9" ,
"created_at": 1782630884 ,
"kind": 0 ,
"tags": [
[
"proxy",
"https://hdev.im/users/farcaller",
"activitypub"
],
[
"client",
"Mostr",
"31990:6be38f8c63df7dbf84db7ec4a6e6fbbd8d19dca3b980efad18585c46f04b26f9:mostr",
"wss://relay.ditto.pub"
]
],
"content": "{\"name\":\"farcaller\",\"about\":\"A birb in engineering. Everything is a lisp if you try hard enough.\\n\\nThe opinions are my own and do not represent the such of my employer.\",\"picture\":\"https://hdev.im/system/accounts/avatars/109/455/944/519/740/636/original/855bd495dabfa8dc.png\",\"banner\":\"https://hdev.im/system/accounts/headers/109/455/944/519/740/636/original/7735326bd5e52224.jpeg\",\"nip05\":\"[email protected] \",\"fields\":[[\"Website\",\"https://farcaller.net\"],[\"Github\",\"https://github.com/farcaller\"]]}" ,
"sig": "276713e0ab8f96d03f1eb47c36ab4998b31dc6541188cd596a01c8ad5a4f3628830dea1ed5852726a70cb8a0b9e25df355a543dcc118f698c79126bec9b4100f"
}
Last Notes npub1wc5saxwyesuu3qpak2qq5asup0dgwhnsy3dfp9t66j8g32d6dl5sn2qzxm farcaller So the bgp daemon is called BIRD because the bgp sessions are flapping?? https://hdev.im/system/media_attachments/files/116/822/566/474/072/294/original/5fec6271518d4efb.png npub1wc5saxwyesuu3qpak2qq5asup0dgwhnsy3dfp9t66j8g32d6dl5sn2qzxm farcaller @nprofile…v6fw the point of how it's different from the "regular internet" is that it's not the ISP's addresses, it's mine (technically rented) npub1wc5saxwyesuu3qpak2qq5asup0dgwhnsy3dfp9t66j8g32d6dl5sn2qzxm farcaller @nprofile…v6fw I went from "I can legally broadcast over radio frequencies with my own antenna from my house" to "I can legally send traffic with my own IP addresses from my house" :-) npub1wc5saxwyesuu3qpak2qq5asup0dgwhnsy3dfp9t66j8g32d6dl5sn2qzxm farcaller I not exactly sure how I went from a ham radio exam to owning ASN to doing anycast from various points of presence I have in Europe but I just caught myself checking the colo pieces with connections to US IXPs and it might be getting out of hand. A bit. npub1wc5saxwyesuu3qpak2qq5asup0dgwhnsy3dfp9t66j8g32d6dl5sn2qzxm farcaller It's me, your weekly #emacs rambling birb. Today I am going to rant about tree-sitter and emacs and consult and vertico and why the hell is my `consult-buffer` taking SIX seconds to go to the next file. So good news, if emacs is sluggish, you can `M-x profiler-start`, reproduce the problem, and `M-x profiler-report` to see where it's taking its sweet time. My problem is that the sweet time is in `treesit-auto--set-major-remap`. https://www.masteringemacs.org/article/how-to-get-started-tree-sitter highlights one solution: you can manually remap every major mode to a TS-compatible mode. I'm pretty sure that the culprit is somewhere in https://github.com/renzmann/treesit-auto, but the workaround from https://github.com/renzmann/treesit-auto/issues/84 doesn't seem to fix the problem for me. Oh well. I find it peculiar that I very much switched non-programming editing to emacs by now (org, md, yaml, all that stuff), but I still use nvim for code because nvim is just *fast*. It's like everything in it is just more efficient whereas emacs is fancy but takes its time (I'd say that my barebones emacs setup is on par with VSCode in slowness). With vim, I don't think if I need to do anything to open some extra random file type, it will most probably just work, and the only thing that gave me a headache recently was pkl support. npub1wc5saxwyesuu3qpak2qq5asup0dgwhnsy3dfp9t66j8g32d6dl5sn2qzxm farcaller @nprofile…m4ns I found that one (I actually use it to add emacs-specific binaries into its scope). My problem is that I need to have that effectively per-project. And yeah, that's a feature of Nix. Arguably a good feature. You don’t have random tooling versions scattered around and they are pinned to correct versions within the projects’ directories. npub1wc5saxwyesuu3qpak2qq5asup0dgwhnsy3dfp9t66j8g32d6dl5sn2qzxm farcaller My #emacs progress insofar. It looks ok. It mostly feels ok. M-x isn't exactly ergonomic in APTv3 layout, so I might be remapping more things (my keeb extras are highly Vim-focused still). Org mode is good. It is functioning better than Vim’s (which is expected). Vertico and Consult are ok. I am very used to Vim’s telescope, but I'm slowly getting used to Consult’s way of things. It's ok, and there are even some extra niceties in how ripgrep integrates. I'm still not sure how to fzf in the current directory. M-x project-find-file seems like the closest match, but it doesn't do file previews. The largest gripe so far is LSP. TypeScript was "mostly" easy: I only had to lsp-install-server for it to bundle some node bs deep into the config dir and I was *very* lucky to have a system-wide Node.js (usually all that goes into devenvs for me). The LSP mostly works (mostly, as in, the LSP actions are somehow widely unpredictable). Rust, though... Fucks sake. Why is it always Rust?.. My dev setup is relatively simple. I only use devenvs, I only pull language dependencies from there (which is, from Nix). It works ok with VSCode (with direnv hacks for the backend server), it works great with Vim spawned straight from the directory with correct paths. Emacs? I have no idea what emacs is getting wrong. The LSP starts up, it connects to rust-analyzer, and then... silence. I'm sure I just need to find some debug logs that will probably tell me rustc isn't on the path, and then I'll need to find a way to inject the current directory's environment into emacs too and then... Those client-server editors suck, don't they? At least I have easy times writing more notes into my Org files! npub1wc5saxwyesuu3qpak2qq5asup0dgwhnsy3dfp9t66j8g32d6dl5sn2qzxm farcaller @nprofile…x3yv *sobs in a sad secure VM with no TPM at all* npub1wc5saxwyesuu3qpak2qq5asup0dgwhnsy3dfp9t66j8g32d6dl5sn2qzxm farcaller @nprofile…x3yv oh, it looks like they finished the UI work? I might give it a second look then. Hopefully there's a data migration story. npub1wc5saxwyesuu3qpak2qq5asup0dgwhnsy3dfp9t66j8g32d6dl5sn2qzxm farcaller @nprofile…x3yv I considered openbao but I'm not there yet. OpenTofu was an easy switch, but I already have vault in my infra and it works and it's the piece of infra I don't want to modify much; too many things depend on it being rock-solid. npub1wc5saxwyesuu3qpak2qq5asup0dgwhnsy3dfp9t66j8g32d6dl5sn2qzxm farcaller With @nprofile…9wek ssh being randomly broken for days now I came to realize that it's such a great product because it blends into the background perfectly. The problem is, of course, when it breaks. So what do you all use for centralized ssh management with temporary credentials? npub1wc5saxwyesuu3qpak2qq5asup0dgwhnsy3dfp9t66j8g32d6dl5sn2qzxm farcaller @nprofile…x0kw @nprofile…l6za I don’t like when links work both ways, though :) my notes are a directed graph. npub1wc5saxwyesuu3qpak2qq5asup0dgwhnsy3dfp9t66j8g32d6dl5sn2qzxm farcaller @nprofile…x0kw @nprofile…l6za Lists is a relationship concept in tiddlywiki (https://tiddlywiki.com/#Introduction%20to%20Lists). Basically, instead of a child declaring who's its parent, the parent declares the list of its children. This allows for straightforward multi-parenting linking with custom sort order wherever required (tiddlywiki allows to change the sorting on query). It's a simple concept that's extremely useful in practice in TW specifically because the wiki is built around it and almost every relation is defined within the same framework of lists. npub1wc5saxwyesuu3qpak2qq5asup0dgwhnsy3dfp9t66j8g32d6dl5sn2qzxm farcaller @nprofile…x0kw @nprofile…l6za I find tag clouds and such too chaotic. Ideally, I'd want to have something like the list property of tiddlywiki in obsidian, but it might be non-trivial to port over. npub1wc5saxwyesuu3qpak2qq5asup0dgwhnsy3dfp9t66j8g32d6dl5sn2qzxm farcaller @nprofile…x0kw tags don’t answer the question "what was the next note in the series" which I tend to ask myself every once in a while. He only thing that came close to these IDs but automated was tiddlywiki's list field. npub1wc5saxwyesuu3qpak2qq5asup0dgwhnsy3dfp9t66j8g32d6dl5sn2qzxm farcaller @nprofile…x0kw https://zettelkasten.de/folgezettel/ will have all of them but tl;dr is that there's an ID to each note that defines the relationship between siblings (notes related by overarching subject) and children (notes expanding directly on the subject of a given note). You can mock that with e.g. parent relationships but I always found those a bit clunky. npub1wc5saxwyesuu3qpak2qq5asup0dgwhnsy3dfp9t66j8g32d6dl5sn2qzxm farcaller omg, I figured markdown #zettelkasten. The Folgezettel numbering just goes into an attribute, and this way it doesn’t fuck up referencing. It makes my OCD happy! /me runs around, panicking that note taking finally makes sense. npub1wc5saxwyesuu3qpak2qq5asup0dgwhnsy3dfp9t66j8g32d6dl5sn2qzxm farcaller Somehow I ended in a spot where nix store thinks I have a derivation cached while I don't. nix store repair --all says I'm totally screwed. Bummer. #nix https://hdev.im/system/media_attachments/files/113/962/812/742/135/457/original/b619b6de11351da3.png npub1wc5saxwyesuu3qpak2qq5asup0dgwhnsy3dfp9t66j8g32d6dl5sn2qzxm farcaller Let’s talk about #stalker2 On one hand, it’s a massive win for Ukraine. It’s all over the news, it’s breaking charts, it’s hugely popular. People around the world get to experience the truly amazing Ukrainian voiceover, some amazing songs. On the other hand, as a game, it’s... not really that good. Releasing the game in such dire circumstances is heroic in its own and that’s why I think the upvote on Steam is deserved. That said, it’s one of those games where I keep thinking: I am not having fun. When Cyberpunk 2077 came out, I rated it 6/10, playing it on launch. There were some technical issues (more for other people, less for me), but the game loop was solid. Stalker’s game loop is something they didn’t finish figuring out. The game is tough as nails and you will die a lot (there’s even a death counter). Yet, it’s not a roguelite. The game punishes you, but doesn’t have a mechanism for you to learn to get better other than pushing it through. Here’s one example: you get outfitted for a main quest and you, several hours into the game, know the reasonable amount of gear to carry. You keep in mind that the gear will require excessive repairs when you’re back, meaning you need to carry back some good loot to offset the expenses. During a sudden chain of missions that you cannot break, you realize that you are really REALLY underestimated it. You’re out of ammo, your main gun is broken, your armor is in shreds. You either keep bashing your head against the wall, or you load a save 3 something hours ago and do the same thing on repeat, now hoping you had enough to make it work. It’s like quest softlocking but only because it’s on you. The game, though, never teaches you how to prepare for a quest proper. After I had to enable the console to work around an actual softlocking, I had little restraint to not cheese my way around one boss fight. It was so tough it was actually dumb. I know people won it fair and square. I’ve seen numerous guides online. If stalker was advertised as soulslike I’d have just skipped it altogether. But it’s not a soulslike, it’s just widely unbalanced. The story is good, though. And visiting the locations from the first game brought a smile to my face, thinking back when I was waiting to pick up my very first preorder videogame ever being the first stalker. This game makes me feel so conflicted. I want to like it, I want to enjoy it. I just can't. It's too raw. Maybe, in a year's time, they will fix it enough for me to try again. As of now, I'll just finish the last two story quests with spawn ammo cheats and I am totally going to give up on the carry capacity and scarcity aspects. npub1wc5saxwyesuu3qpak2qq5asup0dgwhnsy3dfp9t66j8g32d6dl5sn2qzxm farcaller This is legit the best ever explanation of "curl google.com". Sound on https://www.youtube.com/watch?v=atcqMWqB3hw npub1wc5saxwyesuu3qpak2qq5asup0dgwhnsy3dfp9t66j8g32d6dl5sn2qzxm farcaller @npub1grh…dggd there's real life and there's my server which I want to reach without tunelling, NATs, or VPNs or paying E27/mo for a handful of IPv4s. npub1wc5saxwyesuu3qpak2qq5asup0dgwhnsy3dfp9t66j8g32d6dl5sn2qzxm farcaller Envoy gateway doesn't support ipv6. Right, who even cares about that obscure protocol in 2024 anyway? ipv4 is a solved problem. npub1wc5saxwyesuu3qpak2qq5asup0dgwhnsy3dfp9t66j8g32d6dl5sn2qzxm farcaller @npub1dsl…succ this is nuts. I really want to report some issues but when I see a non-github hosting with some login restrictions (we'll approve your account manually. Eventually) I just give up. npub1wc5saxwyesuu3qpak2qq5asup0dgwhnsy3dfp9t66j8g32d6dl5sn2qzxm farcaller @npub15xj…uzyr I just want guix with less libre :( npub1wc5saxwyesuu3qpak2qq5asup0dgwhnsy3dfp9t66j8g32d6dl5sn2qzxm farcaller @npub15xj…uzyr wait, someone forked nix, named it lix, and didn’t think that'd be confused with debian based lix linux?.. npub1wc5saxwyesuu3qpak2qq5asup0dgwhnsy3dfp9t66j8g32d6dl5sn2qzxm farcaller @npub1q0k…trsm why not k3s on nixos tho. npub1wc5saxwyesuu3qpak2qq5asup0dgwhnsy3dfp9t66j8g32d6dl5sn2qzxm farcaller It's a funny observation but ffs #nix (as a language, no the #nixos) feels so clunky, error prone, and annoying after the elegancy of #clojure. npub1wc5saxwyesuu3qpak2qq5asup0dgwhnsy3dfp9t66j8g32d6dl5sn2qzxm farcaller Wait, is #guix basically a #nixos but with lisp?.. npub1wc5saxwyesuu3qpak2qq5asup0dgwhnsy3dfp9t66j8g32d6dl5sn2qzxm farcaller killed the process and it came up at 69Mb RSS, similar VSZ. It seems like they do some insanely aggressive caching or something? Bleh, I can just limit it and let it OOM once in a while, but that is just so reminiscent of modern software development. npub1wc5saxwyesuu3qpak2qq5asup0dgwhnsy3dfp9t66j8g32d6dl5sn2qzxm farcaller conduit's RAM use is up to 712Mb RSS, 2.4Gb VSZ. That's 3 rooms in nixos.org and 2 more on matrix.org federated after another day. #matrix is sure web 3.0 scale https://hdev.im/system/media_attachments/files/112/292/804/493/986/231/original/5b81eff36936227b.png npub1wc5saxwyesuu3qpak2qq5asup0dgwhnsy3dfp9t66j8g32d6dl5sn2qzxm farcaller Can someone knowledgeable in #matrix explain to me how **some** clients can move a room into a space while others have no concept of that at all? npub1wc5saxwyesuu3qpak2qq5asup0dgwhnsy3dfp9t66j8g32d6dl5sn2qzxm farcaller Looking at my server's memory usage it's a bit insane that the top processes are basically the infrastructure that makes everything work (k8s and its CNI). And then the federated stuff. Wordpress is so low its usage is comparable to a DNS server, lol. https://hdev.im/system/media_attachments/files/112/286/124/418/949/329/original/b0e6167f2bbf61e0.png npub1wc5saxwyesuu3qpak2qq5asup0dgwhnsy3dfp9t66j8g32d6dl5sn2qzxm farcaller @npub10sm…hjqm I'm using what the docs told me to! But also, yay, unstable to the bleeding edge! npub1wc5saxwyesuu3qpak2qq5asup0dgwhnsy3dfp9t66j8g32d6dl5sn2qzxm farcaller @npub10sm…hjqm @npub1j6m…fsez I actually got it working with trial, error, and random copy-pasting! Thanks.