In-reply-to » I'm experimenting with SQLite and trees. It's going good so far with only my own 439 messages long main feed from a few days ago in the cache. Fetching these 632 rows took 20ms:

@prologic@twtxt.net Ta! Somehow, my unit tests break, though. Running the same query manually looks like itā€™s producing a plausible looking result, though. I do not understand it.

ā¤‹ Read More
In-reply-to » @aelaraji I think all replies are missing the fact that your auto-completion isn't working. LOL. Or did I misunderstood?

@david@collantes.us As far as I understand it, auto-completion is working, thatā€™s the issue. :-D Instead of spamming the terminal with bucketloads of possibilities, zshā€™s auto-complete is nice enough to ask whether to proceed or not.

ā¤‹ Read More
In-reply-to » @lyse that -P is a life saver when running rsync over spotty connections. In my very illiterate opinion, it should always be a default.

@david@collantes.us Weird, I always thought that rsync automatically resumes the up- or download when aborted. But the manual indicates otherwise with --partial (-P is --partial --progress).

ā¤‹ Read More

Hmm this question has a leading ā€œYesā€ in favor of so far with 13 votes:

Should we formally support edit and deletion requests?

Thanks yā€™all for voting (itā€™s all anonymous so I have no idea whoā€™s voted for what!)

If you havenā€™t already had your say, please do so here: http://polljunkie.com/poll/xdgjib/twtxt-v2 ā€“ This is my feeble attempt at trying to ascertain the voice of the greater community with ideas of a Twtxt v2 specification (which Iā€™m hoping will just be an improved specification of what we largely have already built to date with some small but important improvements šŸ¤ž)

ā¤‹ Read More
In-reply-to » I'm experimenting with SQLite and trees. It's going good so far with only my own 439 messages long main feed from a few days ago in the cache. Fetching these 632 rows took 20ms:

Three feeds (prologic, movq and mine) and my database is already 1.3Ā MiB in size. Hmm. I actually got the read filter working. More on that later after polishing it.

ā¤‹ Read More

Starting a couple of new projects (geez where do I find the time?!):

HomeTunnel:

HomeTunnel is a self-hosted solution that combines secure tunneling, proxying, and automation to create your own private cloud. Utilizing Wireguard for VPN, Caddy for reverse proxying, and Traefik for service routing, HomeTunnel allows you to securely expose your home network services (such as Gitea, Poste.io, etc.) to the Internet. With seamless automation and on-demand TLS, HomeTunnel gives you the power to manage your own cloud-like environment with the control and privacy of self-hosting.

CraneOps:

craneops is an open-source operator framework, written in Go, that allows self-hosters to automate the deployment and management of infrastructure and applications. Inspired by Kubernetes operators, CraneOps uses declarative YAML Custom Resource Definitions (CRDs) to manage Docker Swarm deployments on Proxmox VE clusters.

ā¤‹ Read More
In-reply-to » Location-based addressing is vulnerable to the content changing. If the content changes the "location" is no longer valid. This is a problem if you build systems that rely on this.

I think thatā€™s one of the worst aspects of the proposed idea of location-based addressing or identity. The fact that Alice reads Twt A and Bob reads Twt A at the same location, but Alice and Bob could have in fact read very different content entirely. It is no longer possible to have consistency in a decentralised way that works properly.

One could argue this is fine, because weā€™re so small and nothing matters, but itā€™s a properly I rely on fairly heavily in yarnd, a properly that if lost would have significant impact on how yarnd works I think. šŸ¤”

ā¤‹ Read More
In-reply-to » Location-based addressing is vulnerable to the content changing. If the content changes the "location" is no longer valid. This is a problem if you build systems that rely on this.

Unless Iā€m missing something here šŸ¤” But a <url> <timestamp> does not for me identify an individual Twt, it only identifies its location, which may or may not have changed since I last saw a version of it hmmm šŸ§

ā¤‹ Read More
In-reply-to » Location-based addressing is vulnerable to the content changing. If the content changes the "location" is no longer valid. This is a problem if you build systems that rely on this.

Also Iā€™m not even sure I can validly cache, let alone index feeds anymore if we do this, because if the structure of a Twt is cuh that I can no longer trust that an individual Twtā€™s content hasnā€™t been changed at the source, whatā€™s the point of caching or indexing individual twts at all? This makes the implementations of yarnd and yarns (the search engine, crawlers and indexer) kind of hard to reason about.

ā¤‹ Read More
In-reply-to » Location-based addressing is vulnerable to the content changing. If the content changes the "location" is no longer valid. This is a problem if you build systems that rely on this.

Also youā€™re right I guess. But still that also requires the author not to change the timestamp too. Hmmm

ā¤‹ Read More
In-reply-to » Location-based addressing is vulnerable to the content changing. If the content changes the "location" is no longer valid. This is a problem if you build systems that rely on this.

@movq@www.uninformativ.de I donā€™t think thereā€™s any misunderstand at all. I just treat every lines in a feed as an individual entity. These are stored on their own.

ā¤‹ Read More
In-reply-to » @prologic When I first started using twtxt, I was fascinated by the fact that itā€™s just a simple text file. This is already undermined a lot today by us using multiline replies and Markdown and what not. Still, I would love to retain this property of it being just a file that needs very few external tools to maintain. (Jenny is quite bloated, one might argue. One of the reasons for even starting the jenny project was the calculation of hashes ā€“ I was using a smaller, simpler toolchest before.)

@movq@www.uninformativ.de So I obviously happen to agree with you as well. However in so saying, one of my goals was also to bring the simplicity of Twtxt to the Web and for the general ā€œlay personā€ (of sorts). So I eventually found myself building yarnd. Has it been successful, well sort of, somewhat (but that doesnā€™t matter, I like that itā€™s small and niche anyway).

I agree that the goal of simplicity is a good goal to strive for, which is why Iā€™m actually suggesting we change the Twt identifiers to be a simple SHA256 hash, something that everyone understand and has readily available tools for. I really donā€™t think we should be doing any of this by hand to be honest. But part of the beauty of Twt Subject and Twt Hash(es) in the first place is replying by hand is much much easier because you only have a short 7 or 11 character thing to copy/paste in your reply. Switching to something like <url> <timestamp> with a space in it is going to become a lot harder to copy/paste, because you canā€™t ā€œdouble clickā€ (or is it triple click for some?) to copy/paste to your clipboard/buffer now šŸ¤£

Anyway I digressā€¦ On the whole edit thing, Iā€™m actually find if we donā€™t support it at all and donā€™t build a protocol around that. I have zero issues with dropping that as an idea. Why? Because I actually think that clients should be auto-detecting edits anyway. They already can, Iā€™ve PoCā€™d this myself, I think it can be done. I havenā€™t (yet), and one of the reasons Iā€™ve not spent much effort in it is it isnā€™t something that comes up frequently anyway.

Who cares if a thread breaks every now ā€˜n again anyway?

ā¤‹ Read More
In-reply-to » So really your argument is just that switching to a location-based addressing "just makes sense". Why? Without concrete pros/cons of each approach this isn't really a strong argument I'm afraid. In fact I probably need to just sit down and detail the properties of both approaches and the pros/cons of both.

@prologic@twtxt.net When I first started using twtxt, I was fascinated by the fact that itā€™s just a simple text file. This is already undermined a lot today by us using multiline replies and Markdown and what not. Still, I would love to retain this property of it being just a file that needs very few external tools to maintain. (Jenny is quite bloated, one might argue. One of the reasons for even starting the jenny project was the calculation of hashes ā€“ I was using a smaller, simpler toolchest before.)

If we were to use (replyto:ā€¦), I could just copy and paste the required info into my text editor. With echo ā€¦ | sha256sum | base64 (+ the truncation step), I have to open a new terminal, make sure the tab gets copied verbatim, make sure that thereā€™s no trailing whitespace in the content, little details like that. It is more effort.

This probably isnā€™t the best argument for (replyto:ā€¦), but it is an argument.

Would people do all this manually? I donā€™t know. Probably not. But part of the fascination with twtxt is that you could do it.

Iā€™m speaking from a point of extreme minimalism here and all this isnā€™t strictly only related to (reply:ā€¦). It just reflects my general view on twtxt. The more additional things we build on top, the less interesting twtxt becomes (for me). My goal would be to find solutions that require less. Like, donā€™t solve edits breaking threads by adding another protocol, but by rethinking the whole thing, finding the root cause, and maybe come up with something that doesnā€™t need another building block on top.

This is all I have to say for now. šŸ˜ƒ Iā€™m gonna let things cool off for a while.

ā¤‹ Read More
In-reply-to » Location-based addressing is vulnerable to the content changing. If the content changes the "location" is no longer valid. This is a problem if you build systems that rely on this.

@prologic@twtxt.net

Location-based addressing is vulnerable to the content changing. If the content changes the ā€œlocationā€ is no longer valid. This is a problem if you build systems that rely on this.

What youā€™re mentioning is the primary reason, imho, for location-based addressing. Youā€™re referencing a certain entry in a feed by its timestamp and the author is free to edit it. This solves the problem of broken threads after edits. And editing ā€œrawā€ twtxt files is a very natural thing to do in the twtxt world (just not in *Yarn*ā€™s world). Itā€™s one of the core aspects and main selling points: You just have a file that you can edit with vi or whatever, done.

If you think changing content is a vulnerability of location-based addressing, then I get the feeling that thereā€™s some kind of big misunderstanding going on here. šŸ¤” Either on your end or on mine/ours. šŸ¤”

ā¤‹ Read More
In-reply-to » Someone recommended a nice (German) talk:

@lyse@lyse.isobeef.org Yeah, itā€™s different for everone. šŸ˜… I, for one, am not particularly interested (yet) in the underlying hardware. Logic gates and stuff like that, thatā€™s not my kind of thing. Maybe in the future, but thereā€™s still more than enough to explore in the world of software. šŸ˜ƒ

ā¤‹ Read More
In-reply-to » And finally the legibility of feeds when viewing them in their raw form are worsened as you go from a Twt Subject of (#abcdefg12345) to something like (https://twtxt.net/user/prologic/twtxt.txt 2024-09-22T07:51:16Z).

@doesnm@doesnm.p.psf.lt I donā€™t even advocate for reading Twtxt in its raw form in the first place, which is why Iā€™m in favor of continuing to use content-based addressing (hashes) and incremental improve what we already have. IMO the only reason to read a Twtxt file in itā€™s raw form is a) if youā€™re a developer b) new feed author or c) debugging a client issue.

ā¤‹ Read More
In-reply-to » And finally the legibility of feeds when viewing them in their raw form are worsened as you go from a Twt Subject of (#abcdefg12345) to something like (https://twtxt.net/user/prologic/twtxt.txt 2024-09-22T07:51:16Z).

Aggred. But reading twtxt in raw form soundsā€¦ I canā€™t do this

ā¤‹ Read More
In-reply-to » Some more arguments for a local-based treading model over a content-based one:

And finally the legibility of feeds when viewing them in their raw form are worsened as you go from a Twt Subject of (#abcdefg12345) to something like (https://twtxt.net/user/prologic/twtxt.txt 2024-09-22T07:51:16Z).

ā¤‹ Read More
In-reply-to » Some more arguments for a local-based treading model over a content-based one:

There is also a ~5x increase cost in memory utilization for any implementations or implementors that use or wish to use in-memory storage (yarnd does for example) and equally a 5x increase in on-disk storage as well. This is based on the Twt Hash going from a 13 bytes (content-addressing) to 63 bytes (on average for location-based addressing). There is roughly a ~20-150% increase in the size of individual feeds as well that needs to be taken into consideration (on the average case).

ā¤‹ Read More
In-reply-to » Some more arguments for a local-based treading model over a content-based one:

With Location-based addressing there is no way to verify that a single Twt actaully came from that feed without actually fetching the feed and checking. That has the effect of always having to rely on fetching the feed and storing a copy of feeds you fetch (which is okay), but youā€™re force to do this. You cannot really share individual Twts anymore really like yarnd does (as peering) because there is no ā€œintegrityā€ to the Twt identified by itā€™s <url> <timestamp>. The identify is meaningless and is only valid as long as you can trust the location and that the location at that point hasnā€™t changed its content.

ā¤‹ Read More
In-reply-to » Some more arguments for a local-based treading model over a content-based one:

Location-based addressing is vulnerable to the content changing. If the content changes the ā€œlocationā€ is no longer valid. This is a problem if you build systems that rely on this.

ā¤‹ Read More
In-reply-to » Some more arguments for a local-based treading model over a content-based one:

So really your argument is just that switching to a location-based addressing ā€œjust makes senseā€. Why? Without concrete pros/cons of each approach this isnā€™t really a strong argument Iā€™m afraid. In fact I probably need to just sit down and detail the properties of both approaches and the pros/cons of both.

I also donā€™t really buy the argument of simplicity either personally, because I donā€™t technically see it much more difficult to take a echo -e "<url>\t<timestamp>\t<content>" | sha256sum | base64 as the Twt Subject or concatenating the <url> <timestamp> ā€“ The ā€œeffortā€ is the same. If weā€™re going to argue that SHA256 or cryptographic hashes are ā€œtoo complicatedā€ then Iā€™m not really sure how to support that argument.

ā¤‹ Read More
In-reply-to » Some more arguments for a local-based treading model over a content-based one:

@sorenpeter@darch.dk Points 2 & 3 arenā€™t really applicable here in the discussion of the threading model really Iā€™m afraid. WebMentions is completely orthogonal to the discussion. Further, no-one that uses Twtxt really uses WebMentions, whilst yarnd supports the use of WebMentions, itā€™s very rarely used in practise (if ever) ā€“ In fact I should just drop the feature entirely.

The use of WebSub OTOH is far more useful and is used by every single yarnd pod everywhere (no that thereā€™s that many around these days) to subscribe to feed updates in ~near real-time without having the poll constantly.

ā¤‹ Read More

Some more arguments for a local-based treading model over a content-based one:

  1. The format: (#<DATE URL>) or (@<DATE URL>) both makes sense: # as prefix is for a hashtag like we allredy got with the (#twthash) and @ as prefix denotes that this is mention of a specific post in a feed, and not just the feed in general. Using either can make implementation easier, since most clients already got this kind of filtering.

  2. Having something like (#<DATE URL>) will also make mentions via webmetions for twtxt easier to implement, since there is no need for looking up the #twthash. This will also make it possible to make 3th part twt-mentions services.

  3. Supporting twt/webmentions will also increase discoverability as a way to know about both replies and feed mentions from feeds that you donā€™t follow.

ā¤‹ Read More
In-reply-to » Been trying to get acquainted with rsync(1) but, whenever I Tab for completion and get this:

@aelaraji@aelaraji.com Rsync has a ton of options and I probably still havenā€™t scratched the surface, but I was able to memorize the options I actually need for day-to-day work in a relatively short time. I guess Iā€™m the opposite of you, because I donā€™t know any scp(1) options.

ā¤‹ Read More

Been trying to get acquainted with rsync(1) but, whenever I Tab for completion and get this:

Ī» ~/ rsync ā€“
zsh: do you wish to see all 484 possibilities (162 lines)?

Iā€™m like: Nope! a scp -rpCq ... or whatever option salad will do just fine. šŸ˜… [Insert: ā€œAinā€™t nobody got time foā€™that!ā€ Meme.]

ā¤‹ Read More
In-reply-to » Iā€™m not writing on 'twtxt' as much as I did in 2021-2022. While it has many advantages, I couldn't get my close circle to join.

@eapl.me@eapl.me All the best, see you next life around. :-) On Twtxt I only meet my online friends. Iā€™m staying in touch with some of my real life mates on IRC or e-mail. But thatā€™s fine. Thatā€™s just how it goes.

Thanks, @bender@twtxt.net. :-)

ā¤‹ Read More
In-reply-to » Iā€™m not writing on 'twtxt' as much as I did in 2021-2022. While it has many advantages, I couldn't get my close circle to join.

I know what keeps me coming back to twtxt. It is the little group of people with whom I interact. I donā€™t need a big audience. More often than not I have nothing interesting to write, but I enjoy the small interactions: bugging prologic, reading abucci, browsing Lyseā€™s clicks. I enjoy movq commentaries (I imagine him as a professor of some kind, donā€™t ask me why).

Anywayā€¦ cheers!

ā¤‹ Read More
In-reply-to » Iā€™m not writing on 'twtxt' as much as I did in 2021-2022. While it has many advantages, I couldn't get my close circle to join.

@eapl.me@eapl.me are you sure X will bring joy, and value? Will you have clear conscience knowing you are contributing to such despicable platform? It is your decision to make, sure.

Joy starts at you, not the platform you use. When you get bored, disgusted, offended, and leave X, come and let us know. I will be interested to read all about your experiment then. For now, ā€œĀ”hasta pronto!ā€

ā¤‹ Read More