Range
requests, but opted instead to just archive/rotate our feeds periodically π
There really isn't much point in having a feed in reverse chronological order, except (_maybe?_) so a human read view the new twts at the top of the file?! π€£_
.
(s) / dot(s) like @eapl.me are valid? π€ Or nicks even? π€
----
Regex core subset (portable across languages):
Character sets
β’ a matches βaβ
β’ [a-z] any lowercase
β’ [a-zA-Z0-9] alphanumeric
β’ [^ab] any char but a or b
Repetition (applies to the preceding atom)
β’ ? zero or one
β’ * zero or more
β’ + one or more
Groups
β’ (ab)+ matches βabβ, βababβ, β¦
β’ Capture for extract/substitute via $1 or \1
Operators
β’ foo|bar = foo or bar
β’ ^ start anchor
β’ $ end anchor
Ignore nonβportable shortcuts: \w, ., {n}, *?, lookarounds.
#regex101=
> I am up to increase the length of a twtxt, though.
Recall what we had this set to for this pod? π§
@<kate https://yarn.girlonthemoon.xyz/user/kat/twtxt.txt> Glad you think so! π My goal with Yarn.social has always been to provide the best (_best that I can anyway!_) truly decentralised (_slow_) social experience that uses the Twtxt format under the hood π
Something is swallowing it.
- Sharing small posts
- Sharing links
- Sharing media
- Having long conversations
- Voting on topics, opinions or decisions
- RSVPing to virtual or physical events
yarnd
does for Youtube/Spotify/whatever embedding. Plus anyone can participate, even if they don't really have a client that understand it, it's just text with some "syntax" afterall.
- Gin
- Echo
- Chi
yarnd
UI/UX experience (_for those that use it_) and as "client" features (_not spec changes_). The two ideas are quite simple:- Voting -- a way to cast, collect a vote on a decision, topic or opinion.
- RSVP -- a way to "rsvp" to a virtual (_pr physical_) event.
Both would use "plain text" on top of the way we already use Twtxt today and clients would render an appropriate UI/UX._
# url
in your feed to be https://
π
{
...
# Layer 4 Reverse Proxy
layer4 {
# Gopher
0.0.0.0:70 {
route {
proxy <internal_ip>:70
}
}
# IRC (TLS)
0.0.0.0:6697 {
route {
proxy <internal_ip>:6697
}
}
}
}
url
is http://
but he actually hosts a https://
feed with redirects. so things get a bit weird π’
MaxAgeDays
configuration at the pod level, that now _some_ profiles are rather empty. This is only because well, they're a bit "inactive" so to speak π£οΈ Not sure what to do about this at the moment... Open to ideas? π‘
sqlite> select * from twts where content like 'The web is such garbage these days%';
hash = 37sjhla
feed_url = https://twtxt.net/user/prologic/twtxt.txt/1
content = The web is such garbage these days π Or is it the garbage search engines? π€
created = 2024-11-14T01:53:46Z
created_dt = 2024-11-14 01:53:46
subject = #37sjhla
mentions = []
tags = []
links = []
sqlite>
eris
was based off of a much much older version of ergo.
irc.mills.io
running behind Caddy Layer 4. However I don't terminate TLS at the edge in this case.
restic
for that reason and the fact that it's pretty rock solid. I have zero complaints π
- 2016 β Twtxt created by John Downey: plain text + HTTP = minimalist microblogging
- 2017β2019 β Community builds CLI tools, but adoption remains niche
- 2020 β Yarn.social launched by @prologic with federation, threading, UI
- 2021β2023 β Pods sync, user mentions, blocking, search, and media support added
- 2024+ β Yarn.social becomes the reference Twtxt platform, with active federated pods=
> Twtxt is a minimalist, decentralized microblogging format introduced by John Downey in 2016. It uses plain text files served over HTTPβno accounts, databases, or APIs.
In 2020, James Mills (@prologic) launched Yarn.social, an extended, federated implementation with user discovery, threads, mentions, and a full web UI.
Both share the same .twtxt.txt format but differ in complexity and social features.
#l4doaxa
$ bat https://twtxt.net/twt/yfv5kfq | jq '.text'
"!<dm-echo https://dm-echo.andros.dev/twtxt.txt> U2FsdGVkX1+QmwBNmk9Yu9jvazVRFPS2TGJRGle/BDDzFult6zCtxNhJrV0g+sx0EIKbjL2a9QpCT5C0Z2qWvw=="