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.

8

cross-posted from: https://programming.dev/post/55600767

Partying like it's 1977!

I recently stumbled on the finger protocol through happynetbox and thought it was pretty cool, so I wrote a finger server that reads user data from text files. It's a pretty simple protocol, but I think it's a fun way to enable a simple smolnet-style status page :)

7

cross-posted from: https://programming.dev/post/55600767

Partying like it's 1977!

I recently stumbled on the finger protocol through happynetbox and thought it was pretty cool, so I wrote a finger server that reads user data from text files. It's a pretty simple protocol, but I think it's a fun way to enable a simple smolnet-style status page :)

1

Partying like it's 1977!

I recently stumbled on the finger protocol through happynetbox and thought it was pretty cool, so I wrote a finger server that reads user data from text files. It's a pretty simple protocol, but I think it's a fun way to enable a simple smolnet-style status page :)

[-] absolutely_vivid@programming.dev 2 points 4 months ago

It's free cache space 😏

This is a really cool post, thanks! I should make a page with links to weird things people do with DNS.

[-] absolutely_vivid@programming.dev 1 points 4 months ago

Yoink! New project logo haha ;P

[-] absolutely_vivid@programming.dev 3 points 4 months ago

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

6

cross-posted from: https://programming.dev/post/49019468

Hey, I made a thing! It's called doink. Doink gives you dynamic git remotes by using DNS TXT records as pointers.

I wrote a bit about how it works and what it's useful for.

Anyway, do you ever thing about how DNS is a basically a decentralized key-value database? I think about it a lot :)

13

Hey, I made a thing! It's called doink. Doink gives you dynamic git remotes by using DNS TXT records as pointers.

I wrote a bit about how it works and what it's useful for.

Anyway, do you ever thing about how DNS is a basically a decentralized key-value database? I think about it a lot :)

[-] absolutely_vivid@programming.dev 2 points 8 months ago

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

5

cross-posted from: https://programming.dev/post/42508495

Issue and PR threads are invaluable documentation for a project, it's difficult to migrate to another code host when years of knowledge are locked into your old hosting service. So I built a couple of scripts to archive issues, pull requests, comments, and source code from github repositories, and to turn them into static sites! With the accelerating exodus away from github, I've heard from a lot of people that there aren't any good tools for archiving that knowledge in a human-readable format, so I thought this would be a useful tool to make. The initial release is ready, and just in time for github to start charging for self-hosted runners!

If you try it out, let me know what you think. There's definitely areas that can be improved on :)

16

Issue and PR threads are invaluable documentation for a project, it's difficult to migrate to another code host when years of knowledge are locked into your old hosting service. So I built a couple of scripts to archive issues, pull requests, comments, and source code from github repositories, and to turn them into static sites! With the accelerating exodus away from github, I've heard from a lot of people that there aren't any good tools for archiving that knowledge in a human-readable format, so I thought this would be a useful tool to make. The initial release is ready, and just in time for github to start charging for self-hosted runners!

If you try it out, let me know what you think. There's definitely areas that can be improved on :)

12
submitted 1 year ago* (last edited 1 year ago) by absolutely_vivid@programming.dev to c/rust@programming.dev

I built a library for working with a compression format used by Godot. It’s my first Rust library and I thought the little bit of reverse engineering I did for the format would make for an interesting blog post. Let me know what you think!

(Reposting because I still don't know understand the lemmy UI lol)

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.

22

I wrote a quick blog post about a pattern I discovered while building TUI applications in Rust. It's a bit unrefined, and I'm working on package to help make the pattern easier. Let me know what you think!

absolutely_vivid

0 post score
0 comment score
joined 2 years ago