@andros@twtxt.andros.dev @eapl.me@eapl.me Still lots of bugs in my client. 🥴 I’ll try to fix it next week.
And yes, using the same timestamp twice will very likely break threads.
@andros@twtxt.andros.dev I set up a test feed here:
https://www.uninformativ.de/texudus.txt
I made some preliminary adjustments to my client so that it can work with the different threading model. (And I totally get the concerns, this can be quite a bit of work. Especially in a large code base like Yarn.)
up -d, but then I took a look at a couple of #Snac instances at the last second and they looked pretty dope! Now I'm stuck in my own head 😅
@bender@twtxt.net Mainly the bsd.cafe ones. I like how the minimalist single column profiles look. Image embeds are full width and reading through threads feels nice (as in it doesn’t feel like pealing layers upon layers of a fresh onion).
If we must stick to hashes for threading, can we maybe make it mandatory to always include a reference to the original twt URL when writing replies?
Instead of
(<a href="https://we.loveprivacy.club/search?q=%23123467">#123467</a>) hello foo bar
you would have
(<a href="https://we.loveprivacy.club/search?q=%23123467">#123467</a> http://foo.com/tw.txt) hello foo bar
or maybe even:
(<a href="https://we.loveprivacy.club/search?q=%23123467">#123467</a> 2025-04-30T12:30:31Z http://foo.com/tw.txt) hello foo bar
This would greatly help in reconstructing broken threads, since hashes are obviously unfortunately one-way tickets. The URL/timestamp would not be used for threading, just for discovery of feeds that you don’t already follow.
I don’t insist on including the timestamp, but having some idea which feed we’re talking about would help a lot.
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
@eapl.me@eapl.me I honestly believe you are overreacting here a little bit 🤣 I completely emphasize with you, it can be pretty tough to feel part of a community at times and run a project with a kind of “democracy” or “vote by committee”. But one thing that life has taught me about open source projects and especially decentralised ecosystems is that this doesn’t really work.
It isn’t that I’ve not considered all the other options on the table (which can still be), it’s just that I’ve made a decision as the project lead that largely helped trigger a rebirth of the use of Twtxt back in July 1 2020. There are good reasons not to change the threading model right now, as the changes being proposed are quite disruptive and don’t consider all the possible things that could go wrong.
@bmallred@staystrong.run Hehe, @bender@twtxt.net is gonna be upset with you for “making up a thread/subject” 🤣
@bender@twtxt.net Nah it’s there but it’s a reply to a thread that isn’t found here hmmm 🤔
NUCLEO-WBA65RI Brings Bluetooth LE, Thread, and Zephyr RTOS to STM32 Nucleo-64 Platform
The NUCLEO-WBA65RI is a wireless STM32 Nucleo-64 development board built around the STM32WBA65RIV7 microcontroller. It combines the MB2130 MCU RF board with the MB1801 mezzanine board to support Bluetooth LE and IEEE 802.15.4-based protocols such as Thread, Matter, and Zigbee. The STM32WBA65RIV7 microcontroller is a 32-bit Arm Cortex-M33 device featuring 2 MB of flash and … ⌘ Read more
@abucci@anthony.buc.ci Haha you’ll have to forgive me, this thread is over a week old now and I’m a bit lost now 🤣 even though I can now see the entire thread, what are we saying was messed up and is garbled? 🤔
PEP 788: Reimagining native threads
PyGILState_Ensure(), PyGILState_Release(), and other related functions in the PyGILState family are the most common way to create native threads that interact with Python. They have been the standard for over twenty years (PEP 311). But, over time, these functions have become problematic: ⌘ Read more
http:// only and to keep hashes from breaking i added # url = http://... and now we are stock with it due to the curret specs.
@bender@twtxt.net Hehe, thanks for fixing this (was) broken thread 🧵 Haha 🤣
(#gbsp2gq) @bender@bender Hehe, thanks for fixing this (was) broken thread 🧵 Haha 🤣
@bender @twtxt.net Hehe, thanks for fixing this ( was) broken thread 🧵 Haha 🤣 ⌘ Read more
Am I the only one that’s confused by the discussions, and then the voting we had on the whole threading model? 🤔 I’m not even sure what I voted for, but I know it wasn’t the one that won haha 🤣 (which I’m still very much against for based on an intuition, experience and lots of code writing lately).
Am I the only one that’s confused by the discussions, and then the voting we had on the whole threading model? 🤔 I’m not even sure what I vot …
Am I the only one that’s confused by the discussions, and then the voting we had on the whole threading model? 🤔 I’m not even sure what I voted for, but I know it wasn’t the one that won haha 🤣 ( which I’m still very much against for based on an intuition, experience and lots of code writing lately). ⌘ Read more
@prologic@twtxt.net Shit like what? References/threads? 😅
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
**(#2dh7m3q) Timeline of Evolution of Twtxt/Yarn.social:
2016 – Twtxt created by John Downey: plain text + HTTP = minimalist microbloggin …**
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 … ⌘ 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.
@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.
@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.
(#mkhkhuq) @quark@quark No editing old Twts that are the root of a thread with replies in the ecosystem. Just results in a fork. Unless th …
@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
Vim Golf test thread ⌘ Read more
@david@collantes.us Yeah, we’ve been debugging that a bit yesterday. Looks like the wrong input (sometimes) gets fed to the hash function → broken threads.
@david@collantes.us Ah, yes, the hardware might not. As I just said in the other thread: No problem, you can keep the same installation. I did so many times on my PC/laptop at work.
@prologic@twtxt.net The threads’ broken for me, I can’t find znf6csa. 🤔
@bender@twtxt.net i had to go to your instance to see the root post because I ACCIDENTALLY MUTED THE THREAD LMFAOOOOO but interesting re: unfollowing!
@kat@yarn.girlonthemoon.xyz I MUTED MY OWN THREAD this is what happens when i post at 7am
Tell HN: Announcing tomhow as a public moderator
Hi all,
Tom Howard is going public as HN moderator today. He has been doing HN moderation work for years already and knows the site and its practices inside-out, so the only new thing you’ll see is mod comments from Tom showing up in the threads the way mine do. I’m not going anywhere, so you’ll have two of us to put up with going forward :)
I’ve known Tom since he was sctb’s and my batchmate back in YC W09. Many of you know him as the kind and thoughtful community member … ⌘ Read more
@bender@twtxt.net Yeah, as you mentioned in the other thread, @andros@twtxt.andros.dev’s hashes appear to be not quite right. 🤔
Google makes Vulkan the official graphics API for Android
Google’s biggest announcement today, at least as it pertains to Android, is that the Vulkan graphics API is now the official graphics API for Android. Vulkan is a modern, low-overhead, cross-platform 3D graphics and compute API that provides developers with more direct control over the GPU than older APIs like OpenGL. This increased control allows for significantly improved performance, especially in multi-threaded a … ⌘ Read more
PEP 779: Criteria for supported status for free-threaded Python
The acceptance of PEP 703 (Making the Global Interpreter Lock Optional in CPython), as announced by the Steering Council, describes three phases of development for the work to remove the Global Interpreter Lock. Phase I started early in the development of Python 3.13, and includes making the free-threaded (GIL-less) Python build available but explicitly experimental. Phase II would make the free-threaded build officially supported but still optional, and phase III would … ⌘ Read more
**One of the biggest gripes of the community with the way the threading model currently works with Twtxt v1.2 () is this notion of:
What is t …**
One of the biggest gripes of the community with the way the threading model currently works with Twtxt v1.2 ( https://twtxt.dev) is this notion of:What is this hash?
What does it refer to?
Idea: Why can’t we all agree to implement a simple URI scheme where we host our Twtxt feeds?
That is, if you host your feed at https://example.com/twtxt.txt – Why can’t o … ⌘ Read more
(#fmgas3a) @xuu@xuu Is this why threads are getting a bit messed up lately? 🧐
@xuu @txt.sour.is Is this why threads are getting a bit messed up lately? 🧐 ⌘ Read more
@lyse@lyse.isobeef.org Gotcha. That makes sense. Doesn’t hurt the systems but definitely can break the thread.
**(#hwxcg3q) @aelaraji@aelaraji Ahh
I’ve only had that problem trying to replay to a twt that was part of a thread.
I think I know what …**
@aelaraji @aelaraji.com Ahh
I’ve only had that problem trying to replay to a twt that was part of a thread.
I think I know what the problem is 🧐 ⌘ Read more
@andros@twtxt.andros.dev hmmm… pretty strange, isn’t it? replaying to threads worked perfectly, I’ve only had that problem trying to replay to a twt that was part of a thread.
As an example, this one is a Fork-Replay from Jenny. My next twt will be a replay to this exact twt but from twtxt-el as a test.
Then I’will file an issue if it doesn’t behave the way it’s supposed to. Cheers!
@eapl.me@eapl.me I like this idea. Another option would be to show a limited number of posts, with an option to see the omitted ones by user. Either way, I wonder how well that works with threading.
ESP32-H2 Thread/Zigbee Gateway Module for Low-Power Wireless Communication
The ESP32-H2 Thread/Zigbee Gateway Module is a stackable development module designed for the M5 series hosts. It is based on the ESP32-H2-MINI-1 and supports Zigbee, Thread, and Matter. The module includes IEEE 802.15.4 wireless connectivity, making it capable of building Matter over Thread endpoint devices and supporting communication between different ecosystems. The module features […] ⌘ Read more
@lyse@lyse.isobeef.org The one in question is more like the javascript version for unwrapping errors when accessing methods.
const value = some?.deeply?.nested?.object?.value
but for handling errors returned by methods. So if you wanted to chain a bunch of function calls together and if any error return immediately. It would be something like this:
b:= SomeAPIWithErrorsInAllCalls()
b.DoThing1() ?
b.DoThing2() ?
// Though its not in the threads I assume one could do like this to chain.
b.Chain1()?.Chain2()?.End()?
I am however infavor of having a sort of ternary ? in go.
PS. @prologic@twtxt.net for some reason this is eating my response without throwing an error :( I assume it has something to do with the CSRF. Can i not have multiple tabs open with yarn?
@movq, @prologic@twtxt.net when navigating to a Yarn. If the head twt is missing then the whole thread is not accessible. It only returns an error. so i have no way to view any of the replies within the thread other than the end twt.
good morning yarn friends. we need a funny name for yarn posters. what’s something that fits the yarn theme…. i mean we quite literally have threads here. yarn threads. how epic is that. now us posters need a funny name too.
Social media is in a worrying state. TikTok in the hands of autocratic China, X (formerly Twitter) in the hands of Elon Musk, who gets crazier every day and hangs out too much with Donald Trump (and recommends a fascist party in Germany), and now Mark Zuckerberg with Meta (Facebook, Instagram, Threads) is also joining the group of friends around Trump and removing fact checks in the name of “free speech”. What could possibly go wrong? ⌘ Read more
@prologic@twtxt.net this is epic… you’ve made a great platform!!! screw big tech we got literal threads here. X, The Everything App, wishes it had literal yarn threads smh my head. also twtxt is so cool like i love that yarn is a frontend for it but also its own thing. all plaintext… coolest shit ever
(#2ati6aq) Nah, just had a quick skim and read through all the threads. Pretty rubbish comments really. Nothing of value there. Might explain th …
Nah, just had a quick skim and read through all the threads. Pretty rubbish comments really. Nothing of value there. Might explain the massive hit on my infra though recently? (today)? 🤔 ⌘ Read more
I like the cleaness and indiewebness of using just domains for handles/shorthands similar to blusky, but the situations with more users on the same domain and that people in the fediverse (threads too?) are already familiar with the syntax speaks for webfinger. And since we already got support for webfinger in both yarnd and timeline it makes sense to stick with it.
anon1337 proposes bounty for haveno-ts Dart port
anon13371 has proposed a bounty2 for porting the Haveno TypeScript Library 3 to Dart:
Total Bounty: 0 XMR (to date)
No specific details (requirements/deliverables) were provided for this bounty.
To start working on the task yourself, you should make your intentions public by posting a comment in the bounty’s thread.
To increase the bounty you can transfer some XMR to the address posted by the … ⌘ Read more
b4n6_b4n6 proposes bounties for Stack Wallet bug fixes
b4n6_b4n61 has proposed bounties2’3 for fixing two recently reported Stack Wallet4 issues5:
#1 Add checksum check for mnemonic seed
Total Bounty: 0.5 XMR (to date)
#2 Diagnose and fix linux crash
Total Bounty: 0.5 XMR (to date)
To start working on the tasks yourself, you should make your intentions public by posting a comment in the bounty threads.
To increase the bounties you can … ⌘ Read more
Coin-sized ESP32-H2-WROOM-07 RISC-V Module with BLE, Thread, and Zigbee Support for $2.13
The ESP32-H2-WROOM-07 is a compact module featuring a RISC-V single-core 32-bit microprocessor and support for Bluetooth Low Energy. It can be configured with up to 4 MB of flash memory and is designed for applications such as smart home systems, industrial automation, and consumer electronics. Measuring just 8.5 × 12.7 × 2.6 mm, the ESP32-H2-WROOM-07 […] ⌘ Read more