Problems are Solved by Method\" π¦πΊπ¨βπ»π¨βπ¦―πΉβ πβ― π¨βπ©βπ§βπ§π₯ -- James Mills (operator of twtxt.net / creator of Yarn.social π§Ά)
@itsericwoodward Why are you skeptical of crowd-funded projects? π€ I was/am/maybe considering crowdfunding what I'm trying to get off the ground myself, but now you've got me rethinking that π
@JasonSanta That don't and are considered illegal, becuase cash is still legal tender in the US? π€
@zyak Fair warnings. zs is incredibly simple, deliberately so. LMK if you have any q's when trying it out, it probably has confusing docs π€£
@zyak yeah I think so. Btw, if you're looking for an SSG, I quite like the one I maintain over at https://zs.mills.io
It's basically what my own blob is too π -- The thing is though, if you see @lyse's posts, they get pretty long, there really isn't any limit to the length of posts you can make in your Twtxt feed in the first place Haha π€£
@itsericwoodward That was pretty fun and funny π
@david I use Poste.io internally Maddy at the edge -- I've also hears good things about Mail-in-box, Mailu and Mox
@zyak very nice! By the way, where are you from?
@david Ahh, I'm only confused then because I've never seen anything quite like this, nor have I played and role playing games on a table-top either.
@itsericwoodward I think so, what I was mostly confused about is the website itself. It has a lot of content and verbiage. Can the game be played on the website? Or is it table-top played? π€
@itsericwoodward Hmmm π€ What is this exaactly?
@jecxjo Yes please! See: https://git.mills.io/prologic/parley
@zyak it forks and creates a new sub thread, obviously π€£
@zyak sorry I just saw this, sounds like a good idea. I'll see if I can add this!
@zyak Hah π€£ The property of Twtxt / Yarn.social that we all enjoy is how slow that ecosystem is π
@zyak Nice! π let me know if there are any other improvements we can make π
@zyak Oh nice! π Are you using the Twtxt.spp with it too? π§
@david But it was on the side of the road!!! and she had her pants around her ankles, stark naked for all passing traffic to see ad she did a shit!!! π©
@david yea but it's very windy, uncomfortably so and very crowded π€―
@aelaraji Haha π€£ I've found the only effective defense is to make the request(s) cost you nothing or very little. Trying to defeat all this en-mass scraping/crawling and defective bots is such a PITA π€¦ββοΈ
@GabesArcade Pretty good thanks! π Went out last night to celebrate my birthday with my wife and my best mate and her wife. It was a lovely day/night out π -- How about you so far?
@athanasia The main problem is that I don't front mbox.blue with my Edge infra that I front the rest of my infra with. So mbox.blue is kind of independent if that makes sense. It has nothing in front of it to protect anything. So I would just put a simple Caddy PoW at it's reverse proxy and call it a day if that works for you? -- I think I'll make this per-box/per-user configurable too?
@athanasia I actally have my own PoW that I can put in front of mbox.blue if you like. It works very similarly to Anubis. I do have to warn you however, I don't really think these PoW techniques are very effective IMO. Also re Guestbook message, sure, one sec...
π Calling all decentralised enthusiasts that still remembers and use IRC π
Please come join us in a new, truely, decentralised IRC-based chat experience by standing up your own Parley instance on your own domain (bring your own OIDC auth or use the built-in).
Pick your favourite IRCv3-compatible client (there's heaps out there!).
And peer with either me james@mills.io or Admin -> Peers -> Add mills.io or @david via david@ratha.us or simply ratha.us (in Admin -> Peers -> Add).
See you online! π€ #decentralised #irc #chat
@david I just wanted some cheap USB disks to test with, nothing fancy LOL, serves me right π
@itsericwoodward you do not have to use Docker btw π€
@itsericwoodward Then by all means, follow the instructions at https://git.mills.io/prologic/parley and setup your own instance on your own domain. It's partly inspired by Twtxt/Yarn.social and Salty.im -- in at least the way teh DNS discovery and WKID works. Once your instance is up and running and you've gone through the /setup and created yourself an account (or seti it up with an appropraite ODIC IDP) try something like /msg james@mills.io Hey! at which point you should automatically start peering with my instance. You should then be able to /join <a href="?search=lobby1" class="tag">#lobby1</a> (a globally federated channel already across 2 instances so far). π€
@itsericwoodward Not really no π€£ Did you want to join us and setup your own instance and join the growing aprty? It's turning out to be quie neat actually π
For the curious, this is fully documented with roleplay Alice/Bob. I was going to test this with @david but we both got busy, but now I'm on holidays from work for a month so π€·ββοΈ π€£
Does anyone have time this weekend to manually test and validate and prove out this spec I'm calling Gitxt? A Twtxt-inspired purely decentralised Git federation/forge? π€ Hit me up! You need only git, curl and a web server of some kind.
@movq It's becoming a bit ludicrous to be frankly honest. I'm not sure I can continue to justify these kinds of prices. But at the same time, I'll probably stick with Apple regardless, even if I hate their exorbitant prices, and just buy their low-end stuff π€¦ββοΈ It is fucking crazy when you consider what these things are actually made for over in China or wherever they're manufactured.
@itsericwoodward Don't worry, we'll tell you rather loudly if your client is misbehaving or your feed is down π€£
@movq This is actually pretty cool! I like this one! βοΈ
@itsericwoodward Ahh it gets like tha sometimes π the Twixt ecosystem is on purpose, deliberately designed to be very slow at times π€£
@david ping me on IRC when you have a couple of spare hours π
@GabesArcade I plan to oj ly projects π
@movq I kind of do need a couple of folk to test things with π-- But i need to do some more testing myself first π
@GabesArcade DoingΒ okay π Looking forward to my month off!
@movq Ahh, no you can. Much like what we've built here with Twtxt / Yarn. I'm building a spec, clients can implement the spec, or you can ya know, just curl and git your way through. I'll link the spec soonβ’, just need to keep refining and testing and make sure this actually works properly π
@fossham I honestly think the most unique and interesting thing about doing this at all is that it is in fact inspired directly by Twtxt / Yarn.social itself -- That is to say, I am confident I can do this in such a way as to be "truly decentralised", no inter-networking like ActivityPub, no centraised forges like Github or Codeberg. You run your instance, I run mine, we just are able to collaborate. Think exchanging patches over Email, just without all the hard-to-learn ways to do that (enough though it's not hard for some of us, but still).
@movq So the way this works in my design/prototype is this. You fork my repo in the app, it clones it to your own forge, follows my instance and it's repo for updates and ping my instance to indicate "you've forked me". Then when you publish changes, I can see them by pulling your instance's feed. It all works on the same plain text principles of Tstxt itself. The feeds are "pull"-based with push-based "pings" on things like "someone forked your repo", "a new issue has been raised against your repo", etc.
@movq What if I told you there were in fact zero account(s) at all? And that you signed into your own instance or a multi-user instance with your own SSH key? π Hmmm? π§
@movq In the meantime tell me all your "wishes" and things you wish/want a good decent "pure" decentralised Git forge should do π
@movq I am seriously rethinking and re-contemplating building a new Git forge of some description that avoids all of these stupid problems that we're now seeing in the wild
@Sumomo if you're looking for a great static site generator/publishing tool by the way have a look at my project ZS
@thecanine some people in this world are just giant douche bags and complete sociopaths π€―
@movq Maybe I'm using the wrong term, ya know, silos and bubbles and all that π
@movq That depends. What do you mean by "The Internet"? π€ If you mean a bunch of large centralised sites where a majority of the world's Internet traffic goes, then yeah, it's boring as bat shitβ’ -- Largely because of the concept (I think) of "confirmation bias".
@Sumomo You should report the bug and hopefully get it fixed π€
@Sumomo Oh this is cool! π It supports all v2 specs, nice! π
@Sumomo I haven't heard of that client before? π€ Got a link to it? screenshtos? Should I add it to the Listed Clients? π€
@Sumomo Ahh if you're using the 'ol twtxt client from buckket, that thing isn't really maintained anymore. I recommend you check out one of the clients listed on https://twtxt.dev or even just https://twtxt.app
@fossham I hope you enjoy it π You might want to update your Avatar and Description at some point in your settings π
@jastas Out of curiosity, was it hard to figure that out, or just familiarity with the app? π€
@jastas That's me! π Haha π Welcome to Yarn.social / Twtxt π
@fossham Hey π Welcome to Yarn.social / Twtxt π
@smmbear Hey π Welcome to Yarn.social / Twtxt π Just in case you are not ware a) spam is not really tolerated by this community and b) doesn't work anyway, you'll just be ignored, and there are exactly zero ways to promote spam or advertise on this social system -- on purpose.
@klaxzy That set is the set of users that actually interact with one another. The "Twtxt" feed set is a bit larger, but mostly just "walls of posts" and little to no inteaction. So yeah, the real community is quite small sadly π
@GabesArcade You weren't/aren't able to fin dmore open, less privacy evading "smartthings" ?
@klaxzy This is a good idea. I do something very simialr.
@GabesArcade What kind of IoT devices are we talking about here?
@arg You actually can, but we highly discourage it and I haven't really built "Edit" / "Delete" functionality in the Twtxt App that I know you're using π Twtxt being purely decentralised, meaning that there are absolutely zero decentralised, with the exception of the twtpub.com service you're using to reduce as much friction as possible for newcomers to try things, makes supporting threads a bit of a controversial topic π -- In the end we are sticking with the Hash v2 extension, making threads use content addressing, so even if you did delete/edit a Twt, you have to be carefuly it hasn't already been replied to in the ecosystem π€£
@murad Welcome to Yarn.social / Twtxt π₯³ You might want to fiddle a bit with your settings, maybe a nice avatar, description, maybe a few links, etc π
@itsericwoodward Dropped you en Email π§
@itsericwoodward Can I count you in as a potential customer then? I'll find a way to DM and share details with you. But rest assured it'll have everything you could possibly want π
@creeper Hey ! π Welcome to Yarn.social / Twtxt π€
@brytboi I hope you're seeing my replies because you absolutely can scroll up in the app. Let me know if you've run into a bug though and report it to me so I can fix it immediately!
@brytboi no a subset of markdown is fully supported by the app!
@brytboi I mean you can, technically. But most clients won't render Javascript or HTML fragments at all. Only Markdown, Text, Images and Links.
@brytboi Hey! π Welcome to Yarn.social / Twtxt π€
@david Please report any logs from the Javascript console if you can. It's possible the one commit I made to the Swag framework might be the culprit here. Not sure.
@anth Where's the other side of this? Your side? π€
@lyse You are correct, π, however, not what I was thinking in this case. More of just a reminder/nudge.
@david Do you mind re-testing too with the updates i just pushed out? π
@GabesArcade Not sure if @mariam will ever see or respond to our welcomes tbh π’ I caught the new user trying out the Twtxt App 4 days too left π€¦ββοΈ -- I think I need to make some improvements to the app, some nudges, something to encourage users to stick around? Maybe some periodic push notifications? π€
@mariam Hey! π Welcome to Yarn.social / Twtxt π€
@david Also if you wouldn't mind writing up an Issue for the image/upload problem too, that would be great π I still haven't solved it properly, but I'll try to do so today. There's also an issue uploading images via the yarnd API path from the Twtxt App too, which I can replicate with basically any photo from my iPhone's Photo gallery hmm π€
@david Are you able to describe this bug as an Issue in the Gitea Issue Tracker such that it can be reproduced and fixed? π
@david No idea π€· We shall see! haha π
@david Ahhh so you had a WebP you downloaded from somewhere on your Phone and you're trying to uploaded it via the Twtxt.App? π€
@david Is this from your camera, or some other source of WebP somewhere? π€
@david Why not indeed π I'm taking nearly a whole month off from Sept 10 to Oct 6 Haha π€£
@itsericwoodward And... Are there basically a lot of "village idiots"? π€
@movq You will always have a welcome "virtual" home around here π€
@chrisgarrod Hello π Welcome to Yarn.social / Twtxt π
@david I don't believe in impossible! π€£
@movq Good question. Short answer, I don't know. But I'll look at this a bit more closely.
@movq No I haven't :/
Just out of curiosity, have you ever ran this on real hardware? π
Only QEMU. Would you like to help test it on real hardware? π I'm not sure I have anything worth testing it on!
@thecanine This is of course disgusting! I have first hand experience with my neighbors next door where I told them about one of their LG (older models) "spying" on what they were watching. I've of course since blocked that shitβ’ at the network level for them, But man, don't ever buy LG. In fact don't ever buy any of this "Smart" shitβ’. Period.
@bender probably just too busy with real life and work to interact with us plebs π€£
@david Cool! π Though I think this can be improved somewhat.
@david Might not have tested that path very well. Can you make a note of this on Gitea?
@david you're not missing anything. It is only set on grant / connection time. If you disconnect and reconnect, it should become an option. I haven't figured out how to refresh capabilities.
@david You're not missing anything. It is set on grant / connection time. So disconnecting and reconnecting will give you that option. I haven't figured out a way to refresh backend capabilities like this.
@GabesArcade twtd landed too π₯³ Hosted feeds (twtpub.com) and self-hosted twtd can publish # follow = now β the operator offers it with --allow-follows, then it's the same toggle in Settings. Off by default at both ends π
@GabesArcade Both π
Just shipped: Settings β Backup & restore. Export everything (or follows only) as a JSON file and import it back β or feed it any twtxt.txt and it'll harvest the # follow = lines. There's a copy-paste # follow = block in there too if you'd rather hand-edit π
@GabesArcade So we going with an Import/Export feature? Or would you also like optionally to write # follow = into the feed too? π€ Can do either/or or both.
@GabesArcade I think it would have to be specific to the App itself. So say you somehow didn't save a recovery key or some shitβ’ You could still get back up and running with ease if you had exported a config? π€
@GabesArcade Based on your description, I think it makes snse to have an Import/Export settings in the UI? RIght? π€
@david I mean we can probably do that I suppose. I'd make it an option in Settings though?
@david I see it now. Is this also a problem in the app too? Or just yarnd or both?
@GabesArcade Probably. How do you want this to work? An "Export" button to export all your settings in some form?
@david Sorry, I'm not seeing what you're saying? π€
@movq It's "shaping" up to where I think I want it to go π
@david Yes!
So, a hobby OS, just like Linux was for Linus?
Although this is really an exercise is self-hosting a lagnguage, then self-hosting the language to build a self-hosting OS. It's all meta-circular.
@david It's somewhat expected to have a fair bit of Assembly (machine code) to get some of the bits you need going. But I think I can reduce this a bit. Let's see...
@movq You know you could in theory use the Twtxt App and the Twtxt Feeds service as your "news reader" right? π
@eldersnake Login to https://feeds.twtxt.net/ with your Pod's account. Re-create whatever you like. In the end I had to start over, there was too much mess. As you can no doubt imagine, the reason for revamping the feeds service was to thwart SPAM and Junk.
@movq Oh I agree. Long-term the whole thing is completely "fucked". But it says more about "Cloud" and "X as a Service" than about "AI" itself. It's a bit like all these fucking entertainment subscription services you need to entertain one's self. How many subscriptions does one need to Hulu, Netflix, Disney+, Stan, etc, etc.
@GabesArcade this sort of tells me two things 1) that enterprises aren't really engaging with OpenAI and establishing lucrative enough contractual agreements and 2) users aren't willing to pay for ChatGPT or if they are aren't willing to pay much more than $20 a month
@dce Was it ever really empty on the Codeberg side in the Git repo? π€
@movq it's a shame we have to ruin such great technology that only depends a lot of this with crappy bullshit nonsense like advertising we've been into responses π€¦ββοΈ
@david Have you never seen or heard me say AI is basically Artificial Incompetence? π€£
@thoshi I wouldn't bother if I were you π They're both fairly outdated protocols and very much an "silo" IMO. THey don't make very good places to host your Twtxt feed either.
@thoshi Welcome to the Yarn.social / Twtxt ecosystem π
And @lyse is right. Not being on Github is a good thing IMO. Even when I was there with all my many projects, I basically got the same amount of "attention" as I do now. The only real way to gain more "attention" is to artificially play the "game". You know. The stupid "Stargazer" one, and whatever you can to get into the "Top 10 X" charts. -- But ultimately that doesn't buy you "quality" contributors or users or whatever. So it's all pointless.
@movq So I see it slightly differently... Over the years I have recieved great contributions from the likes of yourself and @lyse and the many forms of @bender and his friends π Hell even others along the way that have come and gone. Likewise I also think you have recieved many contributions to Jenny over the yeras in much the same way, perhaps not in patches, but user reports, feedback, etc.
So I think what I'm saying here is this... Ever since leaving Github (like you), I find that my desire to continue to build up the community we've built here and to contribute to grow and cultivate it is important to me. My desire to thwart and eliminate useless traffic like bots and ai even strongers.
I want to find a good balance.
@david OH no ! π My wife caught COVID some weeks ago, then we got sick again with a cold, it was awful π’
Oh god π€£ I mean I had this idea to re-invent "Git hosting", but failed. Maybe I'll try it again. I dunno. The thing is I hardly get "Issues" really, only when I ask nicely, of folks I know every well π€£ So think at much "smaller scale" we need a different solution, and I think @movq is on to something, but not to the extend implemented, somewhere in the middle I think? π€
@david Bah you π€£ Do you know how hardβ’ it is to write a compier, a self-hosted compiler that has two runtime engines? π
@aelaraji oh good was that the in app nudge?
Does this seem right to you so far @david ? π€
2026/07/18 02:55:52 sync-reaper: observe-only pass β 1145 namespaces, 3 anchored, 1089 undatable, 0 idle candidate(s), 0 reaped
So far only 3 users of the Twtxt App have achieved their device settings with a recovery key? π
@lyse Ahh ok! I was just wondering and curious whether it was a bug that I've caused anywhere along the way π§
and @david your rename shipped π it's "Generate recovery code" now (you were right β mints a fresh one each press), + it asks before replacing an existing code so you don't nuke the one you saved π
@ponderpoints Welcome to Yarn.social π Interesting video, I actually watched it all the way through, riverting stuff really and quite well put together. The idea of "subjective experience" is a rather complicated thing to describe and you're right, how do we even know we have them? π€
@balloon-fu-sen Huh? π§ This hasn't changed. What has is the default proxy used depending on your publishing backend.
@lyse Can you explain this like i'm five? π€£ Scgeenshot?
@dce Fixed! π₯³ That 403 was our bug β connect was checking your token via /api/v1/user (needs read:user), but your token's scoped to just the repo so it can't. Now it validates against the repo itself instead π
@david Oh yes blame me for you not having fun on the "Play Station" π Haha π€£
@GabesArcade I may be blocking that provider due to abuse from bots using VPN(s) -- What was your last IP?
@david I think it might be a bug i just fixed π€
@dce So let me get this straight... You want to store your feed on a Codeberg repo right? But you want to clone that repo down somewhere else to serve it on a different location. Right? And you'd like to use the Twtxt App (https://twtxt.app) to front all of this? Right?
@david Yes, but then I have to create and maintain an account I'll never use π€£
@dce Ahh! Let's fix the 403 error then? I don't have access to Codeberg, so I can't reasily test. Can you walk me through what you tried and any other details? I'll get this fixed.
@david Of course π€£ Incognito sessions store nothing once closed. π€£
@movq @lyse Are you clients remaining compatible with Hash v1 in case older clients are still well not upgraded? π€
@movq ha ha in this case I think I'm OK with a broken thread ha ha
@balloon-fu-sen yes I wouldn't go and change your feeds location the location a fourth time that's for sure! π€£
@david Found it. Some bugs in the "claim limiter". Fixing...
@david Please write an issue for this π I don't mind which way we go!
@lyse Ahh yes, but tt has a "draft" mode right? You didn't publish, then edit over and over did you? π
@david well I happen to agree because one of the fundamental problems is that you can't have a tax file specification and assume that you can edit it freely by hand as a human and then clients that deal with that specification in machine possible mechanisms the two kind of conflict because humans get things wrong machines don't
@movq please don't waste your time to bugging this. I'll figure out what's going on with these new clients.π
@eldersnake Ahh awesome! No worries mate! π
@itsericwoodward Well I clearly suck π€£ putt.day #62 β³ 22/12 +10 π‘π’π‘π‘π΄π΄π‘π’π’π’π‘π΄π΄π’π’π’π‘π’π’π’ +2 https://putt.day/s/b4UKsjw0olkS
@david heads up π that verification code never reached you β outbound email was broken on my end (my mail relay was rejecting twtxt.net senders π€¦ββοΈ). Fixed + deployed now π₯³ give the hosted feed another go, it'll land this time π€
@itsericwoodward Wrote it up π Single-user twtd API is now documented (plain JSON, one bearer token) β posting, uploads, profile, followers + WebFinger: https://git.mills.io/yarnsocial/twtd/src/branch/main/API.md π Shout if anything's unclear for TwtKpr π
@GabesArcade Anywhere I can find 'em π€£ Gitea Issues, here, there anywhere you want really π
@bender Pffft bender is never mean haha π
@balloon-fu-sen Thank you for reaching out π I had alraedy done so via Email too a few days back and she upgraded her Pod to yarnd/0.16.x π
@lyse None. I rejected ithe invite request π€£
@david Well... I can't! becuase the email supplied was nobody@invalid or some shitβ’ π©
@david I agree, the App (https://twtxt.app) really does work quite nicely π
@david that was literally one of the messages I got this morning with an invite request to join this pod π±
@kat Welcome back!!!! π Did you upgrade your yarnd? π€
@david Yeah the search engine/crawler has only found 28 active users in the ecosystem so far π
@david It's all fixed now, for good π
@balloon-fu-sen You don't really need to! The crawler will discover your feed on it's own π
Shipped a bunch of Twtxt App fixes & polish today π₯³ One-tap Refresh that actually refreshes, duplicate follows fixed, Reply/Fork buttons (with proper @-mentions), unread dots, Back keeps your spot, and it'll now guide you to install it as a proper app π± Reload https://twtxt.app and have a play! Thanks @quark and @balloon-fu-sen for all the reports π
@itsericwoodward Ill weirw it up and share it shortly π
@balloon-fu-sen Fixed! π₯³ The Avatar URL field now actually gets written to your feed's # avatar = metadata. Turned out it needed changes in both the app and twtd itself β so you'll want to update your twtd instance once the new build lands. Thanks for the report! π
@balloon-fu-sen Ahhh! That's a bug! Lemme fix that!
@lyse True. Although I _think) this isn't a problem and this thread is m00t π
@itsericwoodward I would have zero problems with that! If there's enough demand, I'll write up the APi spec for it? π€
π₯³ Finally! After nearly 4 years, yarnd v0.16.0 "Silver Sojourner" is out! π Twt Hash v2, SQLite FTS5 search, HTMX-powered UI, first-time setup wizard and literally hundreds of bug fixes π
Release notes: https://git.mills.io/yarnsocial/yarn/releases/tag/0.16.0
Upgrading is fully automatic β the Twt Hash v2 migration re-fetches all feeds on first start, so expect the first cycle to be a bit heavier. Images on Docker Hub as prologic/yarnd:0.16.0 π
cc @kat @abucci @shinyoukai @eldersnake π
Yeah to @david's point re Editing. It's only really safe to do so if you are sure that no-one has yet fetched your feed or replied to your Twt. But even then, you have to be quick π€£ Editing/fixing a Twt inside of an existing thread is "oaky", as long as it also doesn't get forked and becomes the root of a new conversation π
@balloonfu-sen Thank you for doing this π -- Just a thought... It might be possible for this to be fully automated from the Twtxt Search engine / crawler? Right? π€ It has all of the data... I also think it might be possible to distinguish between 1-way feedsa and "real folks" (ya know, 2-ways feeds) π€£
@balloonfu-sen Such tilde(s), etc, could in theory just run a twtd instance per user, or if I was convinced enough to make twtd also multi-user capable (optionally) that would also work. But many ~tilde(s) barely implement the Twtxt specs we continue to build and improve (albiet slowly and carefully).
We someone need to get @kat to update her pod hmmm π€
@balloonfu-sen Unfortunately I tried to support SFTP but ripped this out as Browsers (which the Swag framework uses under the hood as a framework to build PWA(s)) doesn't support raw TCP connections. So FTP / SFTP is not possible without hacks like a proxy. Which I don't really want to support. So only things that have some kind of HTTP API are possible viable publihsing backends right now. That is Github/Gitea, twtd, Yarn, etc.
@balloonfu-sen That should work. LMK if you run into any issues!
@bender @david Good debugging session π Sounds like the root cause is twtxt.app on mobile β +00:00 timestamps and quoted mentions. I'll dig into Yarnd's side of that π§
@bender Yeah, Yarnd's mention parser is pretty naive β if twtxt.app wraps the mention in quotes it probably strips them wrong. Worth fixing π€
@lyse No piccies of your camp site? π€
Fixed the broken hashes in the Twtxt App (https://twtxt.app) π₯³ It was hashing your twts with a client-side timestamp the server never used π€¦ββοΈ Now it keeps the canonical created/hash the pod (or twtd) returns, and the GitHub/Gitea backends write a # url = preamble so every client hashes your feed the same way. Thanks @fastidious for the report π
@GabesArcade Glad you like what we've nuilt up here over many years π₯°
@bender LoL down under we just pull a cover over the water at ground level. no famcy ass structure π€£
@aelaraji was it hard to set up for you?
@aelaraji At least your feed works as well your avatar π
@bender Wgt does your grass look so yellow?! π³
@movq I don't. but i do use IRC so hmmm π§
@balloonfu-sen LOL π€£ Too late! I already saw it and replied π
@balloonfu-sen That depends on the display configuration and preferences.
@david I agree! Let's get them back into the fold π€
@bender Please create an issue for this too! Probably against twtd right? We should validate new fetchers and see if they are real clients or not. I think yarnd already does ybis quite well? π§
@GabesArcade Thanks for reporting! I will fix this π Soon!
FYi π I'm aware of an optimist precomputed hashing bug on the new twtxt.app π€― Trying to work with @bender remotely on my vacation yo fix it π€£
@itsericwoodward Haha! I'm glad you like it! π€£ I ummed and arrred over the set of publishing backends it should support, and in the end decided to support Yarn, Github/Gitea and twtd. I hope that's enough and flexible enough for most folks π€
@itsericwoodward Ahh you're welcome bud! π
@GabesArcade Yes, because if you edit/delete a Twt after the ecosystem has ingested it, well there then are two versions π Just be aware of edits/deletes, especially if someone has already replied to said Twt π€£
@GabesArcade Did you by change edit or otherwise delete the Twt you replied to (2nd last in your feed) with the reply/thread id lleeypvkzbw2? That Twt was never ingested by twtxt.net (and likely the search engine) so umm hmmm threading breaks π€£
@javivf Heh! π I don't get it haha, but I just saw your post about supporting the v2 Hash ext, nice! π
@GabesArcade LOL All god! I just announced it just now π€£
Hello everyone ! π Behold I bring you (after many years) the launch of the Twtxt App π -- Ye, this is a Desktop and Mobile app built as a Progressive Web App (PWA) using a little framework (Swag) I put together iafter some experiments @xuu and I did in Go and HTMX and Service Workers.
The App is offline-first and supports installing to Desktop and Mobile (add to Home screen) and supports a number of publishing backends, including Yarn.social's yarnd Pod, Github, Codeberg/Gitea, and a little tiny twtd Twtxt server (See: https://git.mills.io/yarnsocial/twtd).
Please try it out, no need for any account(s) or such, works with your existing feed(s) (as long as the publishing backends work well enough for you!). Please give me feedback! π
Also, did you know the Twtxt Search Engine is back? π
@GabesArcade You mean the one I haven't quite announced yet? https://twtxt.app ? π€£
@GabesArcade I'm obviously Aussie, but happy 4th July to you too! π
@GabesArcade LOL You can Email me, hit me up on Signal, orc IRC. Take ya pick I'm around π
@fastidious Done and done β Should get an "Upgrade" banner and button soonβ’
@lyse Found it and fixed it! π The crawler's discovery spider was fetching every feed a second time, without any conditional headers (plus a couple of other politeness bugs: redirected feed URLs never stored their cache validators, and there was no floor between re-fetches). Now every feed is fetched at most once per crawl, always with If-Modified-Since / If-None-Match, and never more than once per 15m no matter what. Just deployed β please keep an eye on your access logs and let me know if you still see anything impolite from the crawler π
@lyse Thanks! I'll look into that! Could be a bug in the crawler.
@balloonfu-sen Do you mind git pull && make build and updating your yarnd instance so it's in-line with the new Hash v2 spec π
@GabesArcade by asking me nicely π€£ Which you just did! If you either provide me a desired username and password and secure medium to give this to you I can do that easily, or alternative a desired username and email address (never stored, only hashed), after which you can "Reset password".
@GabesArcade's Arcade@gabesarcade.com You will want to either build a client or use one of the ones listed here -- Either way you choose! π I just noticed as well in this Twt I'm replying to (threading is a thingβ’) that you @-mentioned @bender incorrectly π
@Gabe's's Arcade@gabesarcade.com Welcome to Twtxt / Yarn.social π
@arne if you see this reply threaded nicely then yes you did! π
@balloonfu-sen Oh! You're running Yarn.social's yarnd? π
That's why I was able to see your reply so quickly/easily ! Nice! And welcome! π
Belhod! I present Swag -- Build offline-first web apps in pure Go and HTML.
Got absolutely jack and sick of all the fucking useless bots, C&C and shitβ’ hitting my Git server tonight π€¬ So I sat down and built a lightweight version of Anubis, called caddy-pow. So now going forward, you'll have to (sorry) have a HS-enabled browser to hit git.mills.io which will hopefully make most (if not all) bots just go the fuck away π€¦ββοΈ #Hostile #Web
π Looking for other interested folks to continue to evolve the development of Salty.im π I've been hardβ’ at work on the v2 branch and @doesnm.p.psf.lt has been incredibly helpful so far. Be great ot have a few more folks to join us, some of the v2 highlights include:
- Double Ratchet by default.
- Group Chat (sender/client fan-out for now)
- Much better TUI with background agent.
- Mobile App coming soonβ’ (iOS in progress, Android next, same codebase)
I spent the day today integrating @xuu's double ratcheting work and [ratchet](Blank front page) library back into the reference client/broker implementation saltyim as a v2 branch. I completely redesigned and rewrite the salty-chat TUI client as well, which now includes proper notifications and a background agent that keeps running so you never miss any messages. It all "just works"β’ and I'm quite happy with the outcome! π€© #saltyim #revamp
Btw @movq you've inspired me to try and have a good 'ol crack at writing a bootloader, stage1 and customer microkernel (Β΅Kernel) that will eventually load up a Mu (Β΅) program and run it! π€£ I will teach Mu (Β΅) to have a ./bin/mu -B -o ... -p muos/amd64 ... target.
I have to say. A well designed Hypermedia Driven Web Application such as yarndβ using HTMX is just as good, i'd not better, than one written in React.
@aelaraji Thanks for the account! I figured out one thing at least so far, my WAF was blocking some of the AP requests. Fixed that. Anyway, holiday time π€£ Back in ~2 weeks.
Speaking of WAF(s) / Web Applicaiton Firewalls -- I actually had forgotten that not only have I designed a new WAF from scratch, but I've actually implemented it already, and done some local testing. I just haven't put it into production yet... What od you think @aelaraji ? π€ https://git.mills.io/prologic/caddy-waf
Tired to re-enable the Ege route to git.mills.io today (after finishing work) and this is what I found π€― Tehse asshole/cunts are still at it !!! π€¬ -- So let's instead see if this works:
$ host git.mills.io 1.1.1.1
Using domain server:
Name: 1.1.1.1
Address: 1.1.1.1#53
Aliases:
git.mills.io is an alias for fuckoff.mills.io.
fuckoff.mills.io has address 127.0.0.1
PS: Would anyone be interested if I started a massive global class action suit against companies that do this kind of abusive web crawling behavior, violate/disregards robots.txt and whatever else standards that are set in stone by the W3C? π€
Test (_did I fix this shitβ’-)?
Hey @manton π Why yes I believe I did!
Test @-mentioning an AP actor via the Bridge. Hey @manton π
For those curious, the new Twtxt <-> ActivityPub bridge I'm building (bidirectional) simply requires three things:
- You register your Twtxt feed to the bridge: https://bridge.twtxt.net
- You verify that you in fact own/control the feed by putting the verification code somewhere on/in your feed (doesn't matter where or how)
- You proxy/forward requests for
/.well-known/webfingerto the Bridgebridge.twtxt.net.
I'm still testing through and ironing out bugs π Please be patient! π
Thank you for the encouragement and love and kind words, @lyse @movq @bender @doesnm and others along the way I'm not sure of their feed uris π I'll keep at it, but for the time being I will keep my distance, mostly off IRC, because I don't have the energy to spare in that kind of engagement (what//if the worst happens, it's so draining). I need to remember what I ever did any of this for, it was back in ~2020 and I wanted really to build small interconnected communities that any non "tech savvy" person (more or less) could also benefit from ane enjoy. Even if there are aspects of the specs we've built/extended over time that aren't "perfect"β’, they're "good enough"β’ that they've last 5+ years (I believe this is 6 years running now). I want to spend a bit of time going back to why I did any of this in the the first place, and get a little micro-SaaS offering going (barely covering running costs) so encourage more folks to run pods, and thus twtxt feeds and grow the community ever so slightly. Other than that, I plan to get the specs "in order" to a point (with @movq and @lyse's help) where I hope they'll stand the test of time -- like SMTP.
Thank you all ! π
I'm building a service that lets you:
create and manage disposable, brandable email aliases so you can track leaks, forward important messages, and keep your real inbox clean.
I've just finishing building it for the most part, and have cut a v0.1.0 release. It's currently closed source (to be decided later) and now open to beta testers. cc @bender π I fully intend to monetize and offer this as a paid service in teh coming weeks/months, but beta/invite-only testers and early adopters/users first π€
Fixed following page template bug so cached feed counts render without errors. cc @bender
π€ π π§ What if, What if we built our own self-hosted / small-web / community-built/run Internet on top of the Internet using Wireguard as the underlying tech? What if we ran our own Root DNS servers? What if we set a zero tolerance policy on bots, spammers and other kind of abuse that should never have existed in the first place. Hmmmm
@itsericwoodward Also just a heads up, GIF(s) aren't supproted as an Avatar type on yarnd (what runs twtxt.net). I'd change this to something that's more supproted like PNG, JPEG, etc.
After many weeks and probably at least a hundred hours of research, discussions and in-person viewing, I think I've finally come up with my Final Choices (shortlist) of a Hybrid Camper / Caravan that I think will suit my family and that I'll enjoy (far less work for me to setup and teardown). The one at the top of the list I'm leaning towards os the SWAG SCT16 Family 4B
#Camping #Campers
How you can tell a "review post" on some random website was written by AI?
Ergonomically nicer than its binocular counterpart
How exactly is this a reason to avoid?! π€¦ββοΈ
@kat / @xuu Recommend you git checkout main && git pull, rebuild and redeploy: make build, and however you deploy. π Lots of fixes (no more stalling) and optimizations to the feed fetcher, smoother cpu usage, better internal metrics.
Hey @kat If you see this, I'm aware of a bug. I'm trying to figure it out and fix it. bare with me π€ It is what's causing things to "stall" and to have to "restart". Sorry π
Today I added support for Let's Encrypt to eris via DNS-01 challenge. Updated the gcore libdns package I wrote for Caddy, Maddy and now Eris. Add support for yarn's cache to support # type = bot and optionally # retention = N so that feeds like @tiktok work like they did before, and... Updated some internal metrics in yarnd to be IMO "better", with queue depth, queue time and last processing time for feeds.
@andros One thing I really liked about the hacker news rss feeds is the link to the comments. Reckon you can add that to the feed? π€
@xuu or @kat Do either of you have time this weekend to test upgrading your pod to the new cacher branch? π€ It is recommended you take a full backup of you pod beforehand, just in case. Keen to get this branch merged and to cut a new release finally after >2 years π€£
I guess mentions with .(s) / dot(s) like @eapl.me are valid? π€ Or nicks even? π€
@bender I noticed that although the Discover view (and your own Timeline) is much improved with a 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? π‘
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 = <a href="?search=37sjhla" class="tag">#37sjhla</a>
mentions = []
tags = []
links = []
sqlite> Btw @andros ; 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 π’
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) 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.
Oh hey @rrraksamam π Welcome back! π Sorry about the data loss π€―
@bender You will be pleased to know that yarnd now only consumes ~60-80MB of memory depending on load π€£ And bugger all CPU π
@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? π€
Timeline Sandbox
Testing image upload fixes π
