🧮 USERS:1 FEEDS:2 TWTS:1202 ARCHIVED:83145 CACHE:2701 FOLLOWERS:17 FOLLOWING:14
Shi… I forgot to pull my twtxt file before twtin’ … let me see if I can recover them lost timeline twts.
🧮 USERS:1 FEEDS:2 TWTS:1201 ARCHIVED:83066 CACHE:2647 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1200 ARCHIVED:83048 CACHE:2630 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1199 ARCHIVED:83034 CACHE:2626 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1198 ARCHIVED:82999 CACHE:2604 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1197 ARCHIVED:82971 CACHE:2593 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1196 ARCHIVED:82957 CACHE:2587 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1195 ARCHIVED:82947 CACHE:2593 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1194 ARCHIVED:82940 CACHE:2600 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1193 ARCHIVED:82927 CACHE:2592 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1192 ARCHIVED:82886 CACHE:2562 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1191 ARCHIVED:82846 CACHE:2546 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1190 ARCHIVED:82843 CACHE:2552 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1189 ARCHIVED:82836 CACHE:2551 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1188 ARCHIVED:82821 CACHE:2541 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1187 ARCHIVED:82790 CACHE:2523 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1186 ARCHIVED:82783 CACHE:2539 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1185 ARCHIVED:82771 CACHE:2535 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1184 ARCHIVED:82750 CACHE:2548 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1183 ARCHIVED:82747 CACHE:2561 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1182 ARCHIVED:82725 CACHE:2585 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1181 ARCHIVED:82695 CACHE:2586 FOLLOWERS:17 FOLLOWING:14
well, the extension helps to know the file format as in .txt
and .html
, perhaps .twt
, he!
🧮 USERS:1 FEEDS:2 TWTS:1180 ARCHIVED:82677 CACHE:2596 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1179 ARCHIVED:82669 CACHE:2598 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1178 ARCHIVED:82661 CACHE:2609 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1177 ARCHIVED:82651 CACHE:2611 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1176 ARCHIVED:82646 CACHE:2621 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1175 ARCHIVED:82637 CACHE:2646 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1174 ARCHIVED:82617 CACHE:2644 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1173 ARCHIVED:82598 CACHE:2635 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1172 ARCHIVED:82511 CACHE:2595 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1171 ARCHIVED:82487 CACHE:2591 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1170 ARCHIVED:82459 CACHE:2573 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1169 ARCHIVED:82451 CACHE:2575 FOLLOWERS:17 FOLLOWING:14
@quark@ferengi.one What would happen if I replayed to this twt from the future, when I’m still in it’s relative past? 🤔
🧮 USERS:1 FEEDS:2 TWTS:1168 ARCHIVED:82432 CACHE:2565 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1167 ARCHIVED:82419 CACHE:2558 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1166 ARCHIVED:82408 CACHE:2578 FOLLOWERS:17 FOLLOWING:14
@
in your adverised nick in your feed. This is not supported 🤣
I wish I could view source twts like this to know if the root was not found and this was actually in reply to something i cant see.
🧮 USERS:1 FEEDS:2 TWTS:1165 ARCHIVED:82367 CACHE:2563 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1164 ARCHIVED:81038 CACHE:2566 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1163 ARCHIVED:81006 CACHE:2562 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1162 ARCHIVED:80992 CACHE:2550 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1161 ARCHIVED:80975 CACHE:2542 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1160 ARCHIVED:80963 CACHE:2541 FOLLOWERS:17 FOLLOWING:14
My bad! My editor was set to use 4 spaces instead of a tab… Making twts by hand is hard =P
🧮 USERS:1 FEEDS:2 TWTS:1159 ARCHIVED:80771 CACHE:2557 FOLLOWERS:17 FOLLOWING:14
@bender@twtxt.net So turns out something is setting my HashingURI to the value {{ .Profile.URI }}
and that is making my hashes wrong so it cannot delete or edit twts.
🧮 USERS:1 FEEDS:2 TWTS:1158 ARCHIVED:80759 CACHE:2552 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1157 ARCHIVED:80751 CACHE:2550 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1156 ARCHIVED:80715 CACHE:2527 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1155 ARCHIVED:80531 CACHE:2518 FOLLOWERS:17 FOLLOWING:14
Can I edit this twt?
🧮 USERS:1 FEEDS:2 TWTS:1154 ARCHIVED:80495 CACHE:2515 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1153 ARCHIVED:80482 CACHE:2520 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1152 ARCHIVED:80475 CACHE:2518 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1151 ARCHIVED:80389 CACHE:2498 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1150 ARCHIVED:80371 CACHE:2512 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1149 ARCHIVED:80357 CACHE:2530 FOLLOWERS:17 FOLLOWING:14
@eapl.me@eapl.me Neat.
So for twt metadata the lextwt parser currently supports values in the form [key=value]
https://git.mills.io/yarnsocial/go-lextwt/src/branch/main/parser_test.go#L692-L698
🧮 USERS:1 FEEDS:2 TWTS:1148 ARCHIVED:80344 CACHE:2539 FOLLOWERS:17 FOLLOWING:14
@eapl.me@eapl.me here are my replies (somewhat similar to Lyse’s and James’)
Metadata in twts: Key=value is too complicated for non-hackers and hard to write by hand. So if there is a need then we should just use #NSFS or the alt-text file in markdown image syntax

if something is NSFWIDs besides datetime. When you edit a twt then you should preserve the datetime if location-based addressing should have any advantages over content-based addressing. If you change the timestamp the its a new post. Just like any other blog cms.
Caching, Yes all good ideas, but that is more a task for the clients not the serving of the twtxt.txt files.
Discovery: User-agent for discovery can become better. I’m working on a wrapper script in PHP, so you don’t need to go to Apaches log-files to see who fetches your feed. But for other Gemini and gopher you need to relay on something else. That could be using my webmentions for twtxt suggestion, or simply defining an email metadata field for letting a person know you follow their feed. Interesting read about why WebMetions might be a bad idea. Twtxt being much simple that a full featured IndieWeb sites, then a lot of the concerns does not apply here. But that’s the issue with any open inbox. This is hard to solve without some form of (centralized or community) spam moderation.
Support more protocols besides http/s. Yes why not, if we can make clients that merge or diffident between the same feed server by multiples URLs
Languages: If the need is big then make a separate feed. I don’t mind seeing stuff in other langues as it is low. You got translating tool if you need to know whats going on. And again when there is a need for easier switching between posting to several feeds, then it’s about building clients with a UI that makes it easy. No something that should takes up space in the format/protocol.
Emojis: I’m not sure what this is about. Do you want to use emojis as avatar in CLI clients or it just about rendering emojis?
🧮 USERS:1 FEEDS:2 TWTS:1147 ARCHIVED:80339 CACHE:2544 FOLLOWERS:17 FOLLOWING:14
Righto, @eapl.me@eapl.me, ta for the writeup. Here we go. :-)
Metadata on individual twts are too much for me. I do like the simplicity of the current spec. But I understand where you’re coming from.
Numbering twts in a feed is basically the attempt of generating message IDs. It’s an interesting idea, but I reckon it is not even needed. I’d simply use location based addressing (feed URL + ‘#’ + timestamp) instead of content addressing. If one really wanted to, one could hash the feed URL and timestamp, but the raw form would actually improve disoverability and would not even require a richer client. But the majority of twtxt users in the last poll wanted to stick with content addressing.
yarnd actually sends If-Modified-Since
request headers. Not only can I observe heaps of 304 responses for yarnds in my access log, but in Cache.FetchFeeds(…)
we can actually see If-Modified-Since
being deployed when the feed has been retrieved with a Last-Modified
response header before: https://git.mills.io/yarnsocial/yarn/src/commit/98eee5124ae425deb825fb5f8788a0773ec5bdd0/internal/cache.go#L1278
Turns out etags with If-None-Match
are only supported when yarnd serves avatars (https://git.mills.io/yarnsocial/yarn/src/commit/98eee5124ae425deb825fb5f8788a0773ec5bdd0/internal/handlers.go#L158) and media uploads (https://git.mills.io/yarnsocial/yarn/src/commit/98eee5124ae425deb825fb5f8788a0773ec5bdd0/internal/media_handlers.go#L71). However, it ignores possible etags when fetching feeds.
I don’t understand how the discovery URLs should work to replace the User-Agent
header in HTTP(S) requests. Do you mind to elaborate?
Different protocols are basically just a client thing.
I reckon it’s best to just avoid mixing several languages in one feed in the first place. Personally, I find it okay to occasionally write messages in other languages, but if that happens on a more regularly basis, I’d definitely create a different feed for other languages.
Isn’t the emoji thing “just” a client feature? So, feed do not even have to state any emojis. As a user I’d configure my client to use a certain symbol for feed ABC. Currently, I can do a similar thing in tt
where I assign colors to feeds. On the other hand, what if a user wants to control what symbol should be displayed, similar to the feed’s nick? Hmm. But still, my terminal font doesn’t even render most of emojis. So, Unicode boxes everywhere. This makes me think it should actually be a only client feature.
🧮 USERS:1 FEEDS:2 TWTS:1146 ARCHIVED:80323 CACHE:2540 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1145 ARCHIVED:80310 CACHE:2546 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1144 ARCHIVED:80292 CACHE:2571 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1143 ARCHIVED:80280 CACHE:2583 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1142 ARCHIVED:80274 CACHE:2580 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1141 ARCHIVED:80263 CACHE:2576 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1140 ARCHIVED:80224 CACHE:2551 FOLLOWERS:17 FOLLOWING:14
@Codebuzz@www.codebuzz.nl I use Jenny to add to a local copy of my twtxt.txt file, and then manually push it to my web servers. I prefer timestamps to end with “Z” rather than “+00:00” so I modified Jenny to use that format. I mostly follow conversations using Jenny, but sometimes I check twtxt.net, which could catch twts I missed.
🧮 USERS:1 FEEDS:2 TWTS:1139 ARCHIVED:80175 CACHE:2521 FOLLOWERS:17 FOLLOWING:14
1/4
to mean "first out of four".
@bender@twtxt.net I try to avoid editing. I guess I would write 5/4, 6/4, etc, and hopefully my audience would be sympathetic to my failing.
Anyway, I don’t think my eccentric decision to number my twts in the style of other social media platforms is the only context where someone might write ¼ not meaning a quarter. E.g. January 4, to Americans.
I’m happy to keep overthinking this for as long as you are :-P
@bender@twtxt.net @prologic@twtxt.net I’m not exactly asking yarnd to change. If you are okay with the way it displayed my twts, then by all means, leave it as is. I hope you won’t mind if I continue to write things like 1/4
to mean “first out of four”.
What has text/markdown
got to do with this? I don’t think Markdown says anything about replacing 1/4
with ¼, or other similar transformations. It’s not needed, because ¼ is already a unicode character that can simply be directly inserted into the text file.
What’s wrong with my original suggestion of doing the transformation before the text hits the twtxt.txt file? @prologic@twtxt.net, I think it would achieve what you are trying to achieve with this content-type thing: if someone writes 1/4
on a yarnd instance or any other client that wants to do this, it would get transformed, and other clients simply wouldn’t do the transformation. Every client that supports displaying unicode characters, including Jenny, would then display ¼ as ¼.
Alternatively, if you prefer yarnd to pretty-print all twts nicely, even ones from simpler clients, that’s fine too and you don’t need to change anything. My 1/4
-> ¼ thing is nothing more than a minor irritation which probably isn’t worth overthinking.
🧮 USERS:1 FEEDS:2 TWTS:1138 ARCHIVED:80157 CACHE:2518 FOLLOWERS:17 FOLLOWING:14
@prologic@twtxt.net I’m not a yarnd user, so it doesn’t matter a whole lot to me, but FWIW I’m not especially keen on changing how I format my twts to work around yarnd’s quirks.
I wonder if this kind of postprocessing would fit better between composing (via yarnd’s UI) and publishing. So, if a yarnd user types ¼, it could get changed to ¼ in the twtxt.txt file for everyone to see, not just people reading through yarnd. But when I type ¼, meaning first out of four, as a non-yarnd user, the meaning wouldn’t get corrupted. I can always type ¼ directly if that’s what I really intend.
(This twt might be easier to understand if you read it without any transformations :-P)
Anyway, again, I’m not a yarnd user, so do what you will, just know you might not be seeing exactly what I meant.
🧮 USERS:1 FEEDS:2 TWTS:1137 ARCHIVED:80132 CACHE:2498 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1136 ARCHIVED:80122 CACHE:2500 FOLLOWERS:17 FOLLOWING:14
@prologic@twtxt.net I wrote ¼ (one slash four) by which I meant “the first out of four”. twtxt.net is showing it as ¼, a single character that IMO doesn’t have that same meaning (it means 0.25). Similarly, ¾ got replaced with ¾ in another twt. It’s not a big deal. It just looks a little wrong, especially beside the 2/4 and 4/4 in my other two twts.
🧮 USERS:1 FEEDS:2 TWTS:1135 ARCHIVED:80101 CACHE:2486 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1134 ARCHIVED:80066 CACHE:2463 FOLLOWERS:17 FOLLOWING:14
@movq@www.uninformativ.de, having an issue fetching a twtxt context. I am getting:
Trying to fetch "#mowsvgq" from Yarn pod https://txt.sour.is ...
Trying to fetch "#mowsvgq" from Yarn pod https://twtxt.net ...
Twt could not be found
Yet, the twtxt is there: https://twtxt.net/twt/mowsvgq. Bug, or something else?
🧮 USERS:1 FEEDS:2 TWTS:1133 ARCHIVED:80031 CACHE:2456 FOLLOWERS:17 FOLLOWING:14
@Codebuzz@www.codebuzz.nl Welcome to the twt’verse 👋
🧮 USERS:1 FEEDS:2 TWTS:1132 ARCHIVED:80026 CACHE:2464 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1131 ARCHIVED:80025 CACHE:2464 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1130 ARCHIVED:80010 CACHE:2452 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1129 ARCHIVED:79995 CACHE:2445 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1128 ARCHIVED:79980 CACHE:2440 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1127 ARCHIVED:79975 CACHE:2439 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1126 ARCHIVED:79966 CACHE:2438 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1125 ARCHIVED:79957 CACHE:2442 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1124 ARCHIVED:79952 CACHE:2438 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1123 ARCHIVED:79935 CACHE:2429 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1122 ARCHIVED:79922 CACHE:2466 FOLLOWERS:17 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:1121 ARCHIVED:79914 CACHE:2472 FOLLOWERS:17 FOLLOWING:14