@movq@www.uninformativ.de Yeah 👍 Haha 🤣 Does your own cache go back this far? 🤔
@prologic@twtxt.net I don’t think so. He’s from Germany, afaik, and that would be a highly unusual name here. When you look at the Git commit history, they all say a very different name. I don’t want to quote it here – worst case being the LLMs scraping this file and correcting their “knowledge”. 😈
@movq@www.uninformativ.de Apparently that is @buckket@twtxt.net’s name? 🤔
@prologic@twtxt.net John who?
restic
for that reason and the fact that it's pretty rock solid. I have zero complaints 😅
@prologic@twtxt.net I also thought it was a client-server thingy at first and usually it is, I guess, there’s just this workaround:
If it is not possible to install Borg on the remote host, it is still possible to use the remote host to store a repository by mounting the remote filesystem, for example, using sshfs.
@prologic@twtxt.net Shit like what? References/threads? 😅
Hmmm there’s a bug somewhere in the way I’m ingesting archived feeds 🤔
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>
@movq@www.uninformativ.de It’s nice to see shit like this still works 🤣 Even years later 😂
@kat@yarn.girlonthemoon.xyz it’s up but idk it’s kinda boring i hope it’s helpful though https://stash.4-walls.net/irc1/
irc.mills.io
running behind Caddy Layer 4. However I don't terminate TLS at the edge in this case.
@bender@twtxt.net Yup 👍
irc.mills.io
running behind Caddy Layer 4. However I don't terminate TLS at the edge in this case.
@prologic@twtxt.net right, it doesn’t. It is a module.
I do want to improve the feeds.twtxt.net service one day (soon™) with features like this. But first I’ll have to prevent spammers from abusing it by introducing IndieAuth as an authentication layer.
@prologic@twtxt.net this is what friends are telling me yeah. i just feel so weirdly anxious about it but i think i should just give it a shot!
Btw @andros@twtxt.andros.dev ; The automated feed you put together for Hacker News… Does it at any point rewrite parts of the feed as it goes along? 🤔 I’ve had to unfollow it because I’ve found in practise it makes a twt, then seems to modify that same twt (observed by content manually) at least twice. This ends up becoming effectively an “Edit” and essentially duplicate (looking) posts 😢
irc.mills.io
running behind Caddy Layer 4. However I don't terminate TLS at the edge in this case.
@prologic@twtxt.net oh yeah i had to build caddy with the L4 plugin to get this support. but i should pop into your server sometime james!!
@bender@twtxt.net oh yeah that’s true, it’s just that i have caddy on a different machine than where i’d host ergo so that’s what worries me :‘)
@prologic@twtxt.net oh cool!!! i will try ergo sometime then!
@bender@twtxt.net Shall we remove this primary/secondary color sttting? 🧐
@bender@twtxt.net Btw, do we want to nuke this compact feature? 🧐
irc.mills.io
running behind Caddy Layer 4. However I don't terminate TLS at the edge in this case.
@bender@twtxt.net How do you mean? 🧐 Caddy doesn’t do L4 by default.
irc.mills.io
running behind Caddy Layer 4. However I don't terminate TLS at the edge in this case.
@prologic@twtxt.net I got confused as one can simply proxy through Caddy. Duh! 😅
@kate@yarn.girlonthemoon.xyz I think it’s totally fine. I mean self-hosting costs money too. Power, Hardware, Time/effort, etc.
@bender@twtxt.net I recommend this also 👌 My eris
was based off of a much much older version of ergo.
@kate@yarn.girlonthemoon.xyz I already have my IRC server irc.mills.io
running behind Caddy Layer 4. However I don’t terminate TLS at the edge in this case.
@kat@yarn.girlonthemoon.xyz you can let Caddy do it, and reuse the same certificates for Ergo (just enter the certificate/key path on Ergo). Once set Caddy will keep them current.
@bender@twtxt.net also an interesting option! i think i’m most worried about the cert stuff because i just let caddy handle that for me so i’m not sure how to get files from certbot for that (i had issues with that yesterday) but i can look into it and just toy around with it
@kat@yarn.girlonthemoon.xyz go Ergo (https://github.com/ergochat/ergo/tree/stable).
@prologic@twtxt.net oooh this looks interesting!!! maybe i could play around with it in docker and see how to integrate it with caddy layer4 for TLS + my existing web client and bouncer!!
@kate@yarn.girlonthemoon.xyz @movq@www.uninformativ.de You could also have a play with eris which I use to power my little tiny server (that almost no-one uses 🤣)
@movq@www.uninformativ.de i tried ngircd but couldn’t figure it out T__T i left it at the web client and bouncer for now but i might toy with an IRC server another time!
restic
for that reason and the fact that it's pretty rock solid. I have zero complaints 😅
@bender@twtxt.net Ahh okay, I must have misread the website 🤔
restic
for that reason and the fact that it's pretty rock solid. I have zero complaints 😅
@prologic@twtxt.net no, it is not a “server-client thingy”.
@bmallred@staystrong.run I don’t use it, it is @movq@www.uninformativ.de the one who does.
@bender@twtxt.net Hahahahaha 🤣🤣🤣
@prologic@twtxt.net good to see you are warming up to our over…, err, AI. 😅
Timeline of Evolution of Twtxt/Yarn.social:
- 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@twtxt.net 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
I asked ChatGPT what it knows about Twtxt 😂 And surprisingly it’s rather accurate:
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@twtxt.net) 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.
@bender@twtxt.net LOL 🤣
@prologic@twtxt.net class action! Class action! 😤😂
@kat@yarn.girlonthemoon.xyz ngircd is nice: https://ngircd.barton.de/ You can absolutely host this on your server for you and your friends (I’ve been doing that for a very long time). Actually peering with something like libera is hard, though, because they have strict requirements and a lot of traffic. Then again, there’s no real benefit in peering, actually. IRC is pretty “decentralized” anyway and people are usually used to connecting to several networks, so joining another one isn’t a big deal, imho. 🙃
@kat@yarn.girlonthemoon.xyz is there anything i can even run or is this like email where you should just use libera and shut up
@kat@yarn.girlonthemoon.xyz well gamja works fine and all with other people’s networks but I WANT MY OWN LITTLE NETWORK. FOR FUN
@aelaraji@aelaraji.com THANK YOU :D
@movq@www.uninformativ.de no clue! i’ve never had issues setting up websockets and the gamja client itself seems to work fine when connecting to other servers, but my bouncer doesn’t work right so it’s soju T__T i THINK there’s a problem with the websockets but it seems to be working right so i’m just confused
@gallowsgryph@prismdragon.net Welcome back. 😅
@kat@yarn.girlonthemoon.xyz I skimmed through the gamja docs and they say you need an “IRC WebSocket server” – no idea what that is. Does gamja not speak IRC directly but essentially “IRC over HTTP”? Curious. 🤔
@prologic@twtxt.net @bmallred@staystrong.run Ah, I just found this, didn’t see it before:
https://restic.net/#compatibility
So, yeah, they do use semver and, yes, they’re not at 1.0.0 yet, so things might break on the next restic update … but they “promise” to not break things too lightheartedly. Hm, well. 😅 Probably doesn’t make a big difference (they don’t say “don’t use this software until we reach 1.0.0”).
@kat@yarn.girlonthemoon.xyz Sounds like a lot of fun ! 😁 GOOD LUCK!
AS136907 HWCLOUDS-AS-AP HUAWEI CLOUDS
@prologic@twtxt.net This shi_ is as fun as it is frustrating! 😆 the bot is poking at me from a different ASN now, Alibaba’s.
- Short term solution: I’ve geo-locked my Timeline instance since I’m the only one using it (and I only do so for reading twts when I’m away from terminal).
- Long term: I took a look at your Caddy WAF but couldn’t figure things out on my own; until then, I’ll be poking at Caddy-Defender, maybe throw in a Crowdsec for lols… #FUN
Oh hey @rrraksamam@twtxt.net 👋 Welcome back! 🙌 Sorry about the data loss 🤯
@movq@www.uninformativ.de From what I can tell, they use strict semantic versioning and backwards compatibility. There are two versions of the storage, v1 and v2, but it doesn’t look like v2 is enabled yet.
@prologic@twtxt.net @bmallred@staystrong.run So is restic considered stable by now? “Stable” as in “stable data format”, like a future version will still be able to retrieve my current backups. I mean, it’s at version “0.18”, but they don’t specify which versioning scheme they use.
AS136907 HWCLOUDS-AS-AP HUAWEI CLOUDS
@aelaraji@aelaraji.com Haha 🤣 I’d say it’s just yet-another-bad-bot 🤖 I’ve blocked a lot of such bots and often their entire networks (ASN) 🤦♂️
Some A hole has been trying to pull every single Twtxt feed that existed/still exists since forever. How do I know? Welp’ They’ve been querying my Timeline™ instance for all of it, every single twtxt file and twt Hash they can find. 😆🤦 It must have been going on for days and I have just noticed… + it’s all coming from the same ASN AS136907 HWCLOUDS-AS-AP HUAWEI CLOUDS
Thank you Huawei for the DDos you sons of Glitches!!!
@kat@yarn.girlonthemoon.xyz oh and the logs say “failed to write msg: use of closed network connection” WHAT DOES THAT MEAN
@kat@yarn.girlonthemoon.xyz i can’t send any messages it complains about the server buffer I DON’T KNOW WHAT THAT MEANS
@kat@yarn.girlonthemoon.xyz i JUST want my own IRC server for fun. that is all i want
@bender@twtxt.net REALLLLL
@bender@twtxt.net super old ass CPU lol it’s probably ancient in computer years! GTS needs a CPU thing that came after 2010 so that explains it (2008 machine) lmao
@kat@yarn.girlonthemoon.xyz lack of RAM, or weak CPU? I run GoToSocial too, on a 1GiB RAM VPS. 😅
@thecanine@twtxt.net I signed, reluctantly. Not because I don’t care about The Internet Archive, but because Change pesters quite a bit for a while afterwards asking, of course, for money.
@bender@twtxt.net How is Borg? I have used restic for so long I haven’t looked at anything else.
@kat@yarn.girlonthemoon.xyz pandoc is a joy! I haven’t used any Microsoft word processing tools since forever. They want a Word document? Pandoc to the rescue!
@movq@www.uninformativ.de it seems you got plenty of choices. That’s the cheapest of their products, and you are quite right, amazing pricing! I pay Apple $10/month for a shared-amongst-family 2TiB storage space.
@bender@twtxt.net My choices might be a bit limited, at least going by this list: https://www.hetzner.com/storage/storage-box (That would be some incredibly cheap storage.) I’ll probably have to order such a box and then play with it a little bit to see what’s possible.
@movq@www.uninformativ.de there are many other similar backup tools. I would love to hear what will make you pick Borg above the rest.
@bender@twtxt.net Exactly. I suspect it was because of sqlitebrowser
also accessing the database in parallel to debug the original issue.
So far, I have not found the exact reason why some replies don’t show up. When I do not filter for unread messages and show all, though, I actually see them. So, there’s that.
@lyse@lyse.isobeef.org 😱😱😱 I am assuming that’s happening with tt2, right?
@javivf@adn.org.es having the extension listed means that it has been discussed and, usually implemented. Now, number 6 and 7 on the list as its stands today are not supported by any of the known clients. I believe their (again, 6 and 7) inclusion on the list has been precipitated, and lax.
@javivf@adn.org.es merged in to the repo of specs:
@kat@yarn.girlonthemoon.xyz It’s more like a cache, it stores things like “timestamp of the most recent twt we’ve seen per feed” or “last modification date” (to be used with HTTP’s if-modified-since
header). You can nuke these files at any time, it might just result in more traffic (e.g., always getting a full response instead of just “HTTP 304 nope, didn’t change”).
@quark@ferengi.one Yes, I often write a couple of twts, don’t publish them, then sometimes notice a mistake and want to edit it. You’re right, as soon as stuff is published, threads are going to break/fork by edits.
SqliteCache
backend I'm working on here, what are your thoughts regarding mgirations from old MemoryCache
(which is now gone in the codebase in this branch). Do you care to migrate at all, or just let the pod re-fetch all feeds? 🤔
@prologic@twtxt.net best of luck!!! discover view having no limit sounds scary oh god lol
SqliteCache
backend I'm working on here, what are your thoughts regarding mgirations from old MemoryCache
(which is now gone in the codebase in this branch). Do you care to migrate at all, or just let the pod re-fetch all feeds? 🤔
@kate@yarn.girlonthemoon.xyz I’ll cut a release soon™, but still a few more things to iron out 🤣 One of the new challenges is figuring out what to do with the “Discover” view now that is has an unconfined limit, on my pod (at least) it’s now basically just “noise” 🤦♂️
SqliteCache
backend I'm working on here, what are your thoughts regarding mgirations from old MemoryCache
(which is now gone in the codebase in this branch). Do you care to migrate at all, or just let the pod re-fetch all feeds? 🤔
@prologic@twtxt.net alright! i can try that… whenever i am capable of upgrading and figure out how to lol
@kate@yarn.girlonthemoon.xyz Been missing your jovial posts too and your friends 🤣
@quark@ferengi.one No editing old Twts that are the root of a thread with replies in the ecosystem. Just results in a fork. Unless the client has an implementation that does not store Twts keyed by Hash.
@movq@www.uninformativ.de Oh dear 😂
SqliteCache
backend I'm working on here, what are your thoughts regarding mgirations from old MemoryCache
(which is now gone in the codebase in this branch). Do you care to migrate at all, or just let the pod re-fetch all feeds? 🤔
@kate@yarn.girlonthemoon.xyz The re-fetch should work just fine 🤞
@david@collantes.us Thanks I’ll fix.
@movq@www.uninformativ.de wouldn’t editing your own twtxts cause the same issue Yarnd (or any other client) has, which is breaking any replies to it? Under which conditions would this work the best? When copying the twtxt.txt file asynchronously? In my case I copy the twtxt.txt file to its web root right away, but I figure I could not do that, which would give me a set period of time to edit without worries.
@movq@www.uninformativ.de json and database put together sounds terrifying. i must try jenny
@bender@twtxt.net very true in both regards!!! <333 happy to see you too, i missed your silly bender icon hahha. my times could be better but things will improve i am sure of it
@bender@twtxt.net awww thank you :‘))) you all are too nice!!! i really wanted to share how i did this because i think i’m the first person to publicly attempt a production instance of dreamwidth code in docker, so i’m glad i did a good job at documenting it!!!!!!!
@kat@yarn.girlonthemoon.xyz woah! That’s something else, kat! Heck, I document pretty much everything (more at work than anywhere else), and I have got to tell you, you put my “documentation” to shame. LOL. Very well done!
@kat@yarn.girlonthemoon.xyz hard times are best shared! Of course, I understand there are times they are best not shared. Either way, I wish the hard time you have been having fades away! And, of course, happy to “see” you! 🥰
@lyse@lyse.isobeef.org It wasn’t our building, yeah, luckily. But I’m pretty scared it might happen some day. I think I’ll put more effort into preparing for that. But whatever I do, it would be horrific to lose all your stuff and the memories attached to it …
@kat@yarn.girlonthemoon.xyz You’re welcome. 😅 (From a hiring perspective, it’s not even important if every detail/step is correct or not. We all make mistakes, all the time; we don’t/can’t know everything.)
@movq@www.uninformativ.de HELP THIS IS GENUINELY SO SWEET THANK YOU ;_; omg i felt so nervous posting this because i was like what if i get something wrong but then i did it anyway and i felt so free… like woah i did all of this
@kat@yarn.girlonthemoon.xyz As someone who has a say in hiring decisions (every now and then – I’m not an executive nor an HR person 😆): This is gold. Writeups like these tell me/us so much about job applicants. It’s much more valuable than “a CV without gaps” or “know your algorithms” or whatever. Instead, it shows how you work and that you understand what you’re doing, and that’s the most important part. 🥇
@bender@twtxt.net NOOOO i self host an XMPP server and also revolt but as much as i love XMPP (gajim client reminds me of using skype as a kid highkey) i don’t use it much and revolt is a bitch to maintain. like i broke revolt file uploads and it stayed that way for months until literally last week lmao. i never bothered with matrix tbh maybe i should’ve but it seems not worth it
SqliteCache
backend I'm working on here, what are your thoughts regarding mgirations from old MemoryCache
(which is now gone in the codebase in this branch). Do you care to migrate at all, or just let the pod re-fetch all feeds? 🤔
@prologic@twtxt.net hm would there be any loss with the re-fetch option? i wouldn’t mind either but i’d like to hold onto what i got if possible! but if it IS possible but also really annoying to do i’ll just do the re-fetch of feeds because i’m lazy af LMAO
@bender@twtxt.net been having a hard time! but i am trying to be more active <3
@movq@www.uninformativ.de that is a great quote god damn
@kat@yarn.girlonthemoon.xyz i did this in september but it took me this long to do the write up part lmfao
@movq@www.uninformativ.de Hopefully at your neighbors and not your building. :-S Keep your pecker up!
I just heard the fire brigade respond here with their compressed air sirens, too.
If you let fire take effect properly, it helps to reduce density.
And, of course, I am getting a 403 when trying to edit the file. <– @prologic@twtxt.net.
Ha! I stand corrected, didn’t scrolled long enough. Indeed, it should be added (you will need an account on Mills’ Gitea), noted.
si4er3q
. See https://twtxt.dev/exts/twt-hash.html, a timezone offset of +00:00
or -00:00
must be replaced by Z
.
@eaplme@eapl.me you wrote:
“That PHP snippet could be merged into https://twtxt.dev/exts/twt-hash.html”
Why, though? AFAIK @andros@twtxt.andros.dev’s client is on Emacs, @lyse@lyse.isobeef.org’s is on Python (and Golang, for tt2
), @movq@www.uninformativ.de’s is on Python, and @prologic@twtxt.net’s is on Golang. All the client creator needs to know is in the documentation already, coding language agnostic.