@GabesArcade You weren't/aren't able to fin dmore open, less privacy evading "smartthings" ?
Problems are Solved by Method\" π¦πΊπ¨βπ»π¨βπ¦―πΉβ πβ― π¨βπ©βπ§βπ§π₯ -- James Mills (operator of twtxt.net / creator of Yarn.social π§Ά)
@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 π
@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.
@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 π€£
I really do find it difficult to follow anyone that basically posts to a wall, or doesn't follow back. It's utterly pointless not being able to have a conversation, like basically, at all. Maybe it's not even anyone's fault? Maybe just a sucky client that doesn't understand how User-Agent works in Twtxt Discovery? π‘
@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? π€
Okay I'm fixing this in lextwt, yarnd and twtxt.app (takes a different path). Soon you'll be able to write shitβ’ like <this>) and it'll get escaped and rendered correctly on the page. Basically you are really writing HTML here, but not intending to do so, Twtxt never supported HTML, and I don't think it ever should. We extended the format to support basic Markdown, and I think that's where it should end.
Probably time we wrote a Spec for this really.
@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 π
π£ ACTION REQUIRED: Hey folks π For those of you whom are using the Twtxt App either via the Hosted option or on your own twtd instnace or via Github/Gitea or any other publishing backend (doesn't amtter). Please read.
Please open the app and you should be prompted to save your recovery code for your device. This basically is all of your settings, follows, etc in the app itself. This is synced to the Origin everytime you make a change, and also stored on-device. This is what makes it possible to sync your setting across services, move to another device, etc.
Please save a copy of the recovery code somewhere. This is only your only way to recover your settings.
Thank you π
@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?
To retest: reload the app, reconnect Codeberg/Gitea with the same token, fill in the new Owner field (dce), repo twtxt, and Feed URL https://hashnix.club/~dce/twtxt.txt. Publish to Codeberg, serve from Hashnix β exactly what you wanted π€ lemme know!
@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? π
The only place where this would be an issue is the Twtxt Search Engine -- But as the GDPR also points out:
Art. 17
The one place the "it propagated and I can't recall it" problem is legally acknowledged is Art. 17(2), and it explicitly scales to what's technically feasible:
"β¦the controller, taking account of available technology and the cost of implementation, shall take reasonable steps, including technical measures, to inform controllers which are processing the personal data that the data subject has requested the erasureβ¦"
Best-effort, given the technology. A decentralised, append-only, content-addressed feed is the available technology, and its limits are baked into the standard the law applies. Nobody β not the user, not you β is obliged to guarantee every cached copy vanishes.
@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
had to clean a lot of gunk off the top of the van I have to wake up back from our holiday! π±
@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 π
New in the Twtxt App π₯³ a Hosted feed backend β claim a nick, one tap, no account, no server, nothing to run. Your feed lives at https://twtpub.com/u/yournick and you're posting from the app straight away π
@GabesArcade Anywhere I can find 'em π€£ Gitea Issues, here, there anywhere you want really π
@bender Pffft bender is never mean haha π
Some further ideas/enhancements for Twtxt App ...
- On the "Followers" tab, new followers should appear at the top I thnik.
- On the Following/Followers, each feed should be clickable/tappable.
- Maybe also tidy it up a bit, displaying the full raw Feed URI is messy.
@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 π
Yeah this is my fault sorry! In this case i've axtually found yarns to be soex non-compliant π± Twtxt.app is doing yhe right thingπ€£ As is Jammy π
@balloon-fu-sen You don't really need to! The crawler will discover your feed on it's own π
π This pod, twtxt.net is now open to the general public again to join. However it is invite-only with admin review and approval/rejection. Welcome ! π
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? π€
Say hello to the Twtxt Social Graph π
#Twtxt #social #Graph
π₯³ 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!
π definitely using the Twtxt App as my daily-driver now for Twtxt/Yarn. Not using twtd however, as I just pair the app with my already existing yarnd powered profile on twtxt.net
So... Quick count. Hands up those who are using the Twtxt App? π€ -- And who's also pairing this with the twtd publishing backend?
Looks like twtxt.app on mobile emits +00:00 UTC timestamps instead of Z -- Yarnd should handle both, but doesn't π€¦ββοΈ On the list π€
@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 π€
I'm starting to use the twtxt.app as my daily driver now as opposed to yarnd and my pod twtxt.met π₯³
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 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? π§
And if we can compile a list and file issues for feeds, twtxt.app and anything else as issues for when i get back π feature requests, bug reports. etc π€
@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 π€£
Hmmm the Twtxt App isn't grouping threads correctly π§
@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! π
Adding support for forking, forked conversations and navigating back to the root of a thread for the Twtxt App π€
Oh if we're talking about the twtxt.app client, that's a different story. I still consider that alpha/beta quality. Lemme look into that. It has it's own cache of course (using IndexDB) and it's entirely possible some behaviours are still not quite right yet...
@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".
Hey folks π Today I announce the re-release of the Twtxt Search Engine now live and running and actively re-crawling and re-indexing. π Please report bugs or any useability issues to me! π #Twtxt #Search
@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! π
On the weekend just gone we also visited Twin Falls, which was absolutely magnificent!

495 turns and about ~4hrs alter I won! π Small map, 2-players, myself and an AI player. π
-- It took forever to beach the island the AI player was on and get enough Galley's and Swordsmen just to push back and eventually slowly destroy all enemy units and capture all cities! π€£
Just a couple of shots from our trip to Bald Rockβfinally got reception so I can share them!

π 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)
Well it's ~2am and I finally defeated the AI player in a game of Frontier Crown π
-- On that note I'm now going to bed, I've made so many improvements to the aesthetics (UX) of the game, the mechanics, and it's now quite nicely playable π G'night! π΄
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.
Mu (Β΅) is coming along really nicely π€£ Few things left to do (in order):
- Finish the concurrency support.
- Add support for sockets
- Add support for
linux/amd64 - Rewrite the heap allocator
- Rewrite Mu (Β΅) in well umm Mu (Β΅) π
Here's a screenshot showing off the builtin help(): 
We'll all my posts are making it to the "Fediverse" https://bridge.twtxt.net/users/c350a5e5fb9d9457
I don't know what this fruit is called! The waiter at breakfast told me the Vietnamese name but I've since forgotten π 
Found this place in Hanoi in Vietnam π₯³ Amazinf beer!!! πΊ 
Hmmmm the AoC site is not mobile friendly π’
Can someone post the puzzles as Twts? π€£
this is apparently a famous lake in Hanoi city in Vietnam. Don't know what it's called though. 
We have arrived at our first hotel. but check-in isn't till 2PM π€£ We arrived at 12:45PM π 
One of the advantages of being vegetarian. you get served your in-flight meal first. before everyone else π€£ 
fark'n hell! why are there so many actors on the bridge?! π€― (shadow twtxt feeds)
@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.
Good to see so many folks starting to come back to our little non-social social ecosystem π Good to also see twtxt.net starting to peer with 7 other pods in the greater network too! π₯³
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
Sometimes, (just sometimes) my ability to pattern match and remember how to play perfect games of chess is awesome π 
Anyone on my pod (twtxt.net) finding the new Filter(s) useful at all? π€ 
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? π€
Oh fuck me! I had basically turned off the route to git.mills.io last night and went ot bed at ~2AM after unsuccessfully trying to control the attacks (bad bots) that were behaving like a DDoS attack. Tried to re-enable the route this monring and *BOOM, they're back! As-if they never stopped?! what da actual fuq?!
Anyone have any clever ideas of what I can do here to allows normal users, like you nice folk and block ths obnoxious traffic?!
Fark me again with the bots. This time DDoS-style crawling from hundreds of IPs and dozens of ASN(s) wtf?!
I've had to disale the Ingress to my Git instance for the time being,
i need to sleep and I can't fight this :/
Fark me π€¦ββοΈ I woke up quite late today (after a long night helping/assisting with a Mainframe migration last night fork work) to abusive traffic and my alerts going off. The impact? My pod (twtxt.net) was being hammered by something at a request rate of 30 req/s (there are global rate limits in place, but still...). The culprit? Turned out to be a particular IP 43.134.51.191 and after looking into who own s that IP I discovered it was yet-another-bad-customer-or-whatever from Tencent, so that entire network (ASN) is now blocked from my Edge:
+# Who: Tentcent
+# Why: Bad Bots
+132203
Total damage?
$ caddy-log-formatter twtxt.net.log | cut -f 1 -d ' ' | sort | uniq -c | sort -r -n -k 1 | head -n 5
61371 43.134.51.191
402 159.196.9.199
121 45.77.238.240
8 106.200.1.116
6 104.250.53.138
61k reqs over an hour or so (before I noticed), bunch of CPU time burned, and useless waste of my fucking time.
Test (_did I fix this shitβ’-)?
Hey @manton π Why yes I believe I did!
Anyone run a Mastodon serve rI can have an account on to help test the Twtxt <-> Activity Pub bridge? π
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! π
Testing new design, architecture and implementation of a Twtxt bridge I'm working on...
verification-token: ee9bc4da3356f4990671
Please ignore.
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 ! π
PR to clean up some unwanted specs and cleanup some invalid/bad references. π
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 π€
Wow! π€© Are folks actually using Gatherly already? π€ 
Fixed following page template bug so cached feed counts render without errors. cc @bender
@ionores Love the new Avatar dude π Very nice! π
@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.
Been mucking around with designing my own camper (floor plan). 
Feeling a bit bad for the folks and Coffs Harbor and on the coast of Sydney right now π€― 
As promised, here's some photos of love you!! camping trip to Canarcon George in QLD, Australia.

I'm finding this very interesting... An evolved neural network that plays the game of tic-tac-toe and so far is a pretty decent player. Here is a visualization of it's evolved "brain" that underwent GA (genetic algorithm) training with classification learning + self-play. 
@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 π
After yarnd v0.16 is released and the next round of specification updates are done and dusted, who wants me to have another crack at building Twtxt and activity pub integration support?
Finally I propose that we increase the Twt Hash length from 7 to 12 and use the first 12 characters of the base32 encoded blake2b hash. This will solve two problems, the fact that all hashes today either end in q or a (oops) π
And increasing the Twt Hash size will ensure that we never run into the chance of collision for ions to come. Chances of a 50% collision with 64 bits / 12 characters is roughly ~12.44B Twts. That ought to be enough! -- I also propose that we modify all our clients and make this change from the 1st July 2025, which will be Yarn.social's 5th birthday and 5 years since I started this whole project and endeavour! π± #Twtxt #Update
And speaking of Twtxt (See: #xushlda, feeds should be treated as append-only. Your client(s) should be appending Twts to the bottom of the file. Edits should never modify the timestamp of the Twt being edited, nor should a Twt that was edited by deleted, unless you actually intended to delete it (but that's more complicated as it's very hard to control or tell clients what to do in a truely decentralised ecosystem for the deletion case). #Twtxt #Client #Recommendations
Just like we don't write emails by hand anymore (See: #a3adoka), we donβt manually write Twts or update our twtxt.txt feeds. Instead, we use modern Twtxt clients that conform to the specifications at Twtxt.dev for a seamless, automated experience. #Twtxt #Twt #UserExperience
I have a great idea for fixing the US economy. Get rid of all the nuclear weapons π€£
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.
$ bat https://twtxt.net/twt/edgwjcq | jq '.subject'
""
hahahahaha π€£ Does your client allow you to do this or what? π€
A visual flow chart diagram that illustrates how two different but very related concepts can lead to system accidents π 
- asynchronous evolution
- drift into failure
@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 π€£
My pod twtxt.net feels very clear of late hmmm π§ This is good right? π
Responded to a bunch of Twtxt open issues across multiple repositories today π
π‘ I had this crazy idea (or is it?) last night while thinking about Twtxt and Yarn.social π
There are two things I think that could be really useful additions to the yarnd UI/UX experience (for those that use it) and as "client" features (not spec changes). The two ideas are quite simple:
- Voting -- a way to cast, collect a vote on a decision, topic or opinion.
- RSVP -- a way to "rsvp" to a virtual (pr physical) event.
Both would use "plain text" on top of the way we already use Twtxt today and clients would render an appropriate UI/UX.
@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? π€
FYI: I've re-opened up search for anonymous use. So things like this now work without having to have an account on this pod or login. π #search #twtxt
Timeline Sandbox
Testinf image upload fixes...
Testing image upload fixes π






Our first test over night trip π€








