In-reply-to » (#3lokkza) Seem like it's a server-client thingy? šŸ¤” I much prefer tools in this case and defer the responsibility of storage to something else. I really like 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 šŸ¤”

⤋ Read More
In-reply-to » (#3lokkza) Seem like it's a server-client thingy? šŸ¤” I much prefer tools in this case and defer the responsibility of storage to something else. I really like 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ā€.

⤋ Read More

Seem like it’s a server-client thingy? šŸ¤” I much prefer tools in this case and defer the responsibility of storage to something else. I really like restic for that reason and the fact that it’s pretty rock solid. I have zero complaints šŸ˜…

⤋ Read More
In-reply-to » I asked ChatGPT what it knows about Twtxt šŸ˜‚ And surprisingly it's rather accurate:

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

⤋ Read More

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.

⤋ Read More
In-reply-to » guys i may be stupid. i confused IRC bouncer with IRC server

@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. šŸ™ƒ

⤋ Read More

That was a wild ride:

https://www.youtube.com/watch?v=QSMDb1CWD6Y

Notice how old all these people sound. They started playing this game like 10, 15, 20 years ago, most of them left, but some are still there. I love that level of commitment. 😃

Also interesting from a technical point of view. Creating that virtual world and keeping it running consistently for so long … 🤯

⤋ Read More
In-reply-to » hey everyone i've spent my whole day trying to set up soju + gamja in docker and now i am down a rabbit hole of building caddy with layer4 support and trying to get TLS for my IRC server and NOTHING IS WORKING

@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

⤋ Read More
In-reply-to » hey everyone i've spent my whole day trying to set up soju + gamja in docker and now i am down a rabbit hole of building caddy with layer4 support and trying to get TLS for my IRC server and NOTHING IS WORKING

@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. šŸ¤”

⤋ Read More
In-reply-to » @lyse 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 …

@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ā€).

⤋ Read More
In-reply-to » 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

@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.

  1. 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).
  2. 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

⤋ Read More
In-reply-to » @lyse 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 …

@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.

⤋ Read More
In-reply-to » @lyse 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 …

@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.

⤋ Read More
In-reply-to » 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

@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) šŸ¤¦ā€ā™‚ļø

⤋ Read More

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!!!

⤋ Read More
In-reply-to » hey everyone i've spent my whole day trying to set up soju + gamja in docker and now i am down a rabbit hole of building caddy with layer4 support and trying to get TLS for my IRC server and NOTHING IS WORKING

@kat@yarn.girlonthemoon.xyz oh and the logs say ā€œfailed to write msg: use of closed network connectionā€ WHAT DOES THAT MEAN

⤋ Read More
In-reply-to » hey everyone i've spent my whole day trying to set up soju + gamja in docker and now i am down a rabbit hole of building caddy with layer4 support and trying to get TLS for my IRC server and NOTHING IS WORKING

@kat@yarn.girlonthemoon.xyz i can’t send any messages it complains about the server buffer I DON’T KNOW WHAT THAT MEANS

⤋ Read More

hey everyone i’ve spent my whole day trying to set up soju + gamja in docker and now i am down a rabbit hole of building caddy with layer4 support and trying to get TLS for my IRC server and NOTHING IS WORKING

⤋ Read More
In-reply-to » @lyse 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 …

I use restic and Backblaze B2 for offline backup storage at a cost of $6/TB/month. I don’t backup my entire ~20TB NAS and its datasets however, so I’m only paying about ~$2/month right now. I only backup the most important things I cannot afford to lose or annot re-created.

⤋ Read More
In-reply-to » I do not agree with every decision the Internet Archive makes, but I consider it a very important tool, for Internet archival and preservation - to the point, it even influenced what licence I chose, for my media and websites.

@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.

⤋ Read More

I do not agree with every decision the Internet Archive makes, but I consider it a very important tool, for Internet archival and preservation - to the point, it even influenced what licence I chose, for my media and websites.

Sadly they’re now facing another threat, in the form of litigious music labels, that they’re now trying to convince to stop, by collecting signatures here.

⤋ Read More
In-reply-to » i feel so powerful i wrote a 3 line script that takes an inputted markdown filename from the current working directory and then spits out a nicely formatted html page. pandoc does all the work i did nothing

@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!

⤋ Read More

CAN MY FEDI INSTANCE STOP CRASHING

(it is running gotosocial which is like one of the lightest fedi servers out there. the machine it runs on is as old as a high schooler. guess the root problem)

⤋ Read More

i feel so powerful i wrote a 3 line script that takes an inputted markdown filename from the current working directory and then spits out a nicely formatted html page. pandoc does all the work i did nothing

⤋ Read More

In dieser Woche ist ein kleiner Home-Server bei uns eingezogen.
Meinen fakeTuner für das Sagem Küchenradio habe ich schon dorthin portiert. Gerade spiele ich mit icecast2 und ezstream herum. Die MP3-Sammlung ist bereits im Küchenradio angekommen. Jetzt fehlt nur noch ein kleines Webinterface für die einfache Steuerung.

⤋ Read More
In-reply-to » @lyse 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 …

@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.

⤋ Read More
In-reply-to » @lyse 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 …

@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.

⤋ Read More
In-reply-to » @lyse 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 …

@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.

⤋ Read More
In-reply-to » I just noticed that my unread messages counter was off by quite a bit. It showed 8, but I only saw one unread message. Even after restarting my client, which recalculates the number of unread messages, it remained at eight. Weird. Looking in the database revealed that this is indeed correct.

@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.

⤋ Read More
In-reply-to » @lyse 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 …

On top of my usual backups (which are already offsite, but it requires me carrying a hard disk to that other site), I think I might rent a storage server and use Borg. šŸ¤” Hoping that their encryption is good enough. Maybe that’ll also finally convince me to get a faster internet connection. šŸ˜‚

⤋ Read More
In-reply-to » I just noticed that my unread messages counter was off by quite a bit. It showed 8, but I only saw one unread message. Even after restarting my client, which recalculates the number of unread messages, it remained at eight. Weird. Looking in the database revealed that this is indeed correct.

@lyse@lyse.isobeef.org 😱😱😱 I am assuming that’s happening with tt2, right?

⤋ Read More

@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.

⤋ Read More
In-reply-to » I just noticed that my unread messages counter was off by quite a bit. It showed 8, but I only saw one unread message. Even after restarting my client, which recalculates the number of unread messages, it remained at eight. Weird. Looking in the database revealed that this is indeed correct.

Today is the day where everything is falling apart. Suddenly, I get: SQL logic error: cannot start a transaction within a transaction

⤋ Read More
In-reply-to » (#eetsbtq) @javivf Generally speaking if it has been reviewed, discussed and merged, then we accept it as a standard to the set of specs we support. However we might want to document this process and set some guidelines about this to be clear 🤣 We've been fairly lax/lose here and I think that's okay given teh size of our community šŸ‘Œ

Yes

⤋ Read More
In-reply-to » (#eetsbtq) @javivf Generally speaking if it has been reviewed, discussed and merged, then we accept it as a standard to the set of specs we support. However we might want to document this process and set some guidelines about this to be clear 🤣 We've been fairly lax/lose here and I think that's okay given teh size of our community šŸ‘Œ

@javivf@adn.org.es merged in to the repo of specs:

⤋ Read More
In-reply-to » I just noticed that my unread messages counter was off by quite a bit. It showed 8, but I only saw one unread message. Even after restarting my client, which recalculates the number of unread messages, it remained at eight. Weird. Looking in the database revealed that this is indeed correct.

Aha, they all had to do with a dropped feed. I suspect the internal bookkeeping with root paths couldn’t keep up.

⤋ Read More

I just noticed that my unread messages counter was off by quite a bit. It showed 8, but I only saw one unread message. Even after restarting my client, which recalculates the number of unread messages, it remained at eight. Weird. Looking in the database revealed that this is indeed correct.

Apparently, my query to build up the message tree must be incorrect. It somehow misses seven messages. They all are orphaned, maybe that’s a clue. However, generating missing root messages (and thereby including the replies) typically works just fine. Hmm.

⤋ Read More
In-reply-to » jenny really isn’t well equipped to handle edits of my own twts.

@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.

⤋ Read More

so i had the idea of adding a page to my otherwise single page girl on the moon personal site that featured my more notable projects, but it’s been hours and i CAN’T THINK OF ANYTHING TO ADD THAT I HAVEN’T ALREADY MENTIONED. i just host other people’s stuff!!!

⤋ Read More
In-reply-to » @kate @eldersnake @abucci -- I've already spoken to @xuu on IRC about this, but the new 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

⤋ Read More
In-reply-to » @kate @eldersnake @abucci -- I've already spoken to @xuu on IRC about this, but the new 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ā€ šŸ¤¦ā€ā™‚ļø

⤋ Read More
In-reply-to » @kate @eldersnake @abucci -- I've already spoken to @xuu on IRC about this, but the new 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

⤋ Read More
In-reply-to » jenny really isn’t well equipped to handle edits of my own twts.

@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.

⤋ Read More
In-reply-to » jenny really isn’t well equipped to handle edits of my own twts.

@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.

⤋ Read More
In-reply-to » 7k words of docs on deploying a livejournal folk. you absolutely want to read 7 thousand words of me forcing dreamwidth into production shape in docker https://stash.4-walls.net/selfhostdw/

@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!!!!!!!

⤋ Read More
In-reply-to » 7k words of docs on deploying a livejournal folk. you absolutely want to read 7 thousand words of me forcing dreamwidth into production shape in docker https://stash.4-walls.net/selfhostdw/

@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!

⤋ Read More

jenny really isn’t well equipped to handle edits of my own twts.

For example, in 2021, this change got introduced:

https://www.uninformativ.de/git/jenny/commit/6b5b25a542c2dd46c002ec5a422137275febc5a1.html

This means that jenny will always ignore my own edits unless I also manually edit its internal ā€œjson databaseā€. Annoying.

That change was requested by a user who had the habit of deleting twts or moving them to another mailbox or something. I think that person is long gone and I might revert that change. šŸ¤”

⤋ Read More
In-reply-to » I should quit IT and start a career as a fortune teller.

@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 …

⤋ Read More
In-reply-to » 7k words of docs on deploying a livejournal folk. you absolutely want to read 7 thousand words of me forcing dreamwidth into production shape in docker https://stash.4-walls.net/selfhostdw/

@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.)

⤋ Read More
In-reply-to » 7k words of docs on deploying a livejournal folk. you absolutely want to read 7 thousand words of me forcing dreamwidth into production shape in docker https://stash.4-walls.net/selfhostdw/

@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

⤋ Read More
In-reply-to » 7k words of docs on deploying a livejournal folk. you absolutely want to read 7 thousand words of me forcing dreamwidth into production shape in docker https://stash.4-walls.net/selfhostdw/

@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. šŸ„‡

⤋ Read More
In-reply-to » Conduwit is set to archive on GitHub. It was my favourite Matrix server, which I still self host. I think I am going to get off Matrix altogether now.

@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

⤋ Read More
In-reply-to » @kate @eldersnake @abucci -- I've already spoken to @xuu on IRC about this, but the new 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

⤋ Read More
In-reply-to » @david @andros The correct hash would be 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.

⤋ Read More