absolutely_vivid

u/absolutely_vivid@programming.dev
10 posts · 10 comments

Recent posts

Recent comments

That's really cool! Unfortunately I have ethical issues with systemd, so I'd rather not support it as a first-class option in documentation or out of the box configs. Thankfully something taking over port 79 isn't a concern on any of my threat models for the software. I still require root for low ports on all my systems (to stop takeovers of 80, 443, 22, etc) but something listening on the finger port is going to be pretty harmless. Just don't try to finger hunter2@example.com :p

sourcehut is almost everything I want from a git forge! the ability for people to contribute or file bug reports without an account is great, and it's not tied to a horrible corporation. it's right up my alley, when I'm not making silly things like fingies, I'm working on stuff like doink and gah to make it easier for people to leave corporate git forges :)

I mean, you can if you want. But the finger spec doesnโ€™t actually specify a format for the returned data, so anything can be in there. Fingies just reads data from a text file and returns that. So finger foo@server would just have fingies read the file named <data_dir>/foo and respond with whatever is in that file. It could be a real name, address, and phone number, or just a silly greeting.

Great question! I considered that, it's what lead me to the idea to use DNS in the first place. The problem I had with that is that the ultimate URL path might change, not just the hostname. What happens if a repo has to move from github.com/org/repo to mycoolforge.net/repo?

But there's also another reason that I realized as I was working out the details of git-remote-helpers: What happens if your remote needs to change protocols? With doink you can swap from http(s) to ftp with an ip address instead of a hostname, or perhaps even some (future) git-over-whatever-p2p-network.

So yeah if you're swapping from a github-style forge to another github-style forge and you don't need the flexibility, you definitely could just CNAME it! And that would probably be more robust, but it would also give you less future flexibility :P

It is now lol

I'm bad at naming things, so it was originally GHA (for github archiver, changed to good helpful archiver because trademark), but I kept misspelling it as GAH so it was just easier to change the name.

But the reference is way better :P

Yeah, microsoft has owned github since 2018. I made this to help people and organizations move off of github, onto something like forgejo or sourcehut. But even after moving, all of those old issues, pull requests, comments, those need to live somewhere. A lot of people seem to use a script to recreate all their issues on their new code host, but that loses a lot of metadata and can only work if there's a script for your new chosen host. Everyone else just archives the repo and leaves all that info there, which is great until people forget its there, or microsoft decides to start charging for issue hosting.

So now, with GAH!, people can more easily move away from github, they don't need to worry about what happens to their issues and PRs. It's one less barrier to leaving github :)

Oh hi, I forgot to reply to this!

My reasoning was mostly "I read it somewhere when I started coding and then didn't do much with threads" to be honest. Not great reasoning there. But modeling the interactions between a user, UI thread, and work thread made it a lot easier to organize my code and create a good separation of concerns; the UI thread handles interface updates and dispatching events, and the worker thread works. Honestly that code organization was the biggest advantage I got out of doing things this way, and I wish I'd emphasized that more in the blog post.