@kat@yarn.girlonthemoon.xyz Any idea why?
@bender@twtxt.net I think this would be a good idea as @movq@www.uninformativ.de and @andros@twtxt.andros.dev have done ā
I may even join the experiments if I have any spare time to hack a custom yrand
branch and run it up on say something like a yarnexp.mills.io
or something š¤
@sorenpeter@darch.dk Yes, there are interesting things that can be incorporated to see how they work.
The issue of allowing the use of Z for UTC is interesting. I think I should add a brief explanation.
The url issue is for a debate :D . Maybe an issue could be opened. My opinion is that it is necessary to leave it as it is right now because otherwise the thread system, or replies, may have problems (404s). Itās all a matter of discussion.
I like your idea of contact. I will add it.
Thanks to you for your feedback!!!
@kat@yarn.girlonthemoon.xyz Off-topic areas are always a good idea. :-) Web forums often had those. And web forums are actually what I had in mind, @bender@twtxt.net. š (While I do have a certain nostalgia for it now, Usenet has always been a bit weird to me. Canāt really explain why.)
So, the āAIā bots have reached my website. Looks like theyāre just slowly crawling everything at the moment ā no DDoS-like attack yet. I wonder if that has something to do with my website being 100% static HTML. There are no GET parameters they can tweak and, at the end of the day, thereās not that much data on my server anyway ⦠And maybe they have no idea what stagit is, so it doesnāt trigger āstandard behaviorā, like āthis is a Gitea instance, letās crawl this like crazy!ā?
@lyse@lyse.isobeef.org Kind of, but on the other hand: This twt right here refers to 3rvya6q
and your feed, but your feed certainly does not include that particular twt (it comes from my feed).
But my proposal probably isnāt very helpful, either. We have this flat conversation model, so ⦠this twt right here, what should it refer to? Your twt? My root twt? I donāt know.
@prologic@twtxt.net Donāt include this just yet. I need to think about this some more (or drop the idea).
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://yarn.girlonthemoon.xyz/search?q=%23123467">#123467</a>) hello foo bar
you would have
(<a href="https://yarn.girlonthemoon.xyz/search?q=%23123467">#123467</a> http://foo.com/tw.txt) hello foo bar
or maybe even:
(<a href="https://yarn.girlonthemoon.xyz/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
July 1st. 63 days from now to implement a backward-incompatible change, apparently not open to other ideas like replacing blake with SHA, or discussing implementation challenges for other languages and platforms.
Finally just closing #18, #19 and #20 without starting a proper discussion and ignoring a āmicro consensusā feels⦠not right.
I donāt know what to think rather than letting it rest (May will be busy here) and focus on other stuff in the future.
@movq@www.uninformativ.de Agreed, finding the right motivation can be tricky. You sometimes have to torture yourself in order to later then realize, yeah, that was actually totally worth it. Itās often hard.
I think if you find a project or goal in general that these kids want to achieve, that is the best and maybe only choice with a good chance of positive outcome. I donāt know, like building a price scraper, a weather station or whatever. Yeah, these are already too advanced if they never programmed, but you get the idea. If they have something they want to build for themselves for their private life, that can be a great motivator Iāve experienced. Or you could assign āem the task to build their own twtxt client if they donāt have any own suitable ideas. :-)
Showing them that you do a lot of your daily work in the shell can maybe also help to get them interested in text-based boring stuff. Or at least break the ice. Lead by example. The more I think about it, the more I believe this to be very important. Thatās how I still learn and improve from my favorite workmate today in general. Which Iām very thankful of.
Weāre all old farts. When we started, there werenāt a lot of options. But today? Iād be completely overwhelmed, I think.
Hence, Iād recommend to start programming with a console program. As for the language, not sure. But Python is probably a good choice
Thatās what I usually do (when we have young people at work who never really programmed before), but it doesnāt really āhitā them. Theyāve seen so much, crazy graphics, web pages, itās all fancy. Just some text output is utterly boring these days. ā¹ļø And thatās my problem: I have no idea how I could possibly spark some interest in things like pointers or something ālow-levelā like that. And I truly believe that you need to understand things like pointers in order to program, in general.
@movq@www.uninformativ.de I started with Delphi in school, the book (that we never ever used even once and I also never looked at) taught Pascal. The UI part felt easy at first but prevented me from understanding fundamental stuff like procedures or functions or even begin
and end
blocks for if
s or loops. For example I always thought that I needed to have a button somewhere, even if hidden. That gave me a handler procedure where I could put code and somehow call it. Two or three years later, a new mate from the parallel class finally told me that this wasnāt necessary and how to do thing better.
You know all too well that back in the day there was not a whole lot of information out there. And the bits that did exist were well hidden. At least from me. Eventually discovering planet-quellcodes.de (I donāt remember if that was the original forum or if that got split off from some other board) via my best schoolmate was like finding the Amber Room. Yeah, reading the ITG book would have been a very good idea for sure. :-)
In hindsight, a console program without the UI overhead might have been better. At least for the very start. Much less things to worry about or get lost.
Hence, Iād recommend to start programming with a console program. As for the language, not sure. But Python is probably a good choice, it doesnāt require a lot of surrounding boilerplate like, say Java or Go. It also does exceptionally well in the principle of least surprise.
I have a great idea for fixing the US economy. Get rid of all the nuclear weapons š¤£
@quark@ferengi.one I do have an idea for syncing this š¤
These ideas are dr the two books:
- Drift into Failure: From Hunting Broken Components to Understanding Complex Systems by Sidney Dekker (2011)
- Engineering a Safer World by Nancy Leveson (2011)
The former I havenāt read. The later I havenāt finished reading š
And the idea of asynchronous evolutions comes from system accidents where control failures emerge when system structure, constraints, and evolution are poorly managed.
The idea of drift into failure is small normal adaptations erode safety over time without people noticing.
@prologic@twtxt.net I donāt understand the diagram, nor have any idea of whatās about. šš»
Oddly, in defense of Google keeping Chrome
As much as Iām a fan of breaking up Google, Iām not entirely sure carving Chrome out of Google without a further plan for what happens to the browser is a great idea. I mean, Google is bad, but but things could be so, so much worse. OpenAI would be interested in buying Googleās Chrome if antitrust enforcers are successful in forcing the Alphabet unit to sell the popular web browser as part of a bid to restore competition in search, an OpenAI execu ⦠ā Read more
trying to not feel stressed today, so I digitally colored a smol frog that says fuck terfs! >m< i have no idea if I did that right bc itās my first time using yarn to post an image so rip to me if I messed that up :āD
@andros@twtxt.andros.dev Haha 𤣠Weāve explored this idea in the past and we decided that itās actually a good idea to have an āappend-onlyā feed for various reasons. Weāve also explored the idea of using Range
requests, but opted instead to just archive/rotate our feeds periodically š
There really isnāt much point in having a feed in reverse chronological order, except (maybe?) so a human read view the new twts at the top of the file?! š¤£
dm-only.txt
feeds. š
After reading you, @eapl.me@eapl.me, Iāll tell you my point of view.
In my opinion, a feed does not have to be equivalent to a timeline. A timeline is a representation of the feed adapted to a user. You may not be interested in seeing other peopleās threads or DMs. But perhaps they are interested in seeing mentions or DMs directed at them. It is important not to fall into the trap. With that clarificationā¦
I insist, this is my point of view, it is not an absolute truth: I donāt think extensions should be respectful of customers who are no longer maintained.
We cannot have a system that is simple, backwards compatible and extensible all at the same time. We have to give up some of the 3 points. I would not like to give up simplicity because it will then make it harder to maintain the customers who do stay. Therefore, I think it is better to give up backwards compatibility and play with new formulas in the extensions. I donāt think itās a good idea to make a hash keep so much load: a hashtag, a thread and also a DM.
š” 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@twtxt.net 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? š”
@prologic@twtxt.net Since you have to check and double check everything it spits out (without providing sources), I donāt find any of this helpful. Itās like someoneās in the room with you and that person is saying random stuff that might or might not be correct. At best, it might spark some new idea in your head and then you follow that idea the traditional way.
Information published on the internet (or anywhere, for that matter) was never guaranteed to be correct. But at least you had a āframe of referenceā: āAh, I read this information about Linux on a blog that usually posts about Windows, so this one single Linux post might not necessarily be correct.ā That is completely lost with LLMs. Itās literally all mushed together. š¤·
@kat@yarn.girlonthemoon.xyz I skimmed through the gamja docs and they say you need an āIRC WebSocket serverā ā no idea what that is. Does gamja not speak IRC directly but essentially āIRC over HTTPā? Curious. š¤
How to think in the age of #AI : https://www.newstatesman.com/ideas/2025/04/how-to-think-in-the-age-of-ai
so i had the idea of adding a page to my otherwise single page girl on the moon personal site that featured my more notable projects, but itās been hours and i CANāT THINK OF ANYTHING TO ADD THAT I HAVENāT ALREADY MENTIONED. i just host other peopleās stuff!!!
I do think integrating things like Salty.im might actually be a good idea. I can also see a future where we integrate other things like todo.txt
and calendar.txt
. Iād even love to see decentralised forms of āplain textā voting too.
@prologic@twtxt.net @bender@twtxt.net @eapl.me@eapl.me I think opening another file is a bad idea because it adds complexity to the clients, breaks the single feed and I think keeping legacy clients will be more complex to add new features in the future. A modern approach is important.
Iāll be honest, Iām a bit tired of the fight around the direct message. Perhaps, we can remove it as an extension and use the alternative @prologic@twtxt.net . My suggestion apparently doesnāt like to the community. I have no problem with remove it.
well, I suggested that in https://eapl.me/timeline/conv/k2ob6bq
The idea was to help those following the spec in https://twtxt.dev/exts/directmessage.Html, to replicate the steps and validate whether your implementation gives the same result.
BTW, you could add a link to the spec in the echo web.
@andros@twtxt.andros.dev Kind of a cool idea actually! š Iāll follow and see what itās like, thanks! š
MacSSL: a port of Mbed-TLS for the classic Mac OS 7/8/9
Yesterday we had SDL2 for the classic Mac OS, today we have modern SSL/TLS for the classic Mac OS. This is a C89/C90 port of MbedTLS for Mac System 7/8/9. It works, and compiles under Metrowerks Codewarrior Pro 4. This is a basic app that performs a GET request on whatever is in api.h, and prints the result out to the text box (with a lot of debug information, of course). The idea of this project was to build an āappā of ⦠ā Read more
@prologic@twtxt.net, is it my idea, or the size of avatars have gotten smaller?
@javivf@adn.org.es Oh, yes, looking at SMART is always a good idea. š My SSD isnāt that old, though. It got replaced recently, tbh. But no need to reinstall, I just copy the files to a new disk. (Works just as fine when switching to an entire new machine.)
Sometimes, we spend months stuck in inertia, distracted by screens and routine. So Iād like to give you a simple reminder: creating-in whatever form-is what makes you feel alive.
The beauty of working on projects is not in their āsuccessā, but in the simple act of working on them. Whether itās writing, cooking, programming or redecorating the house: play with ideas without pressure, engage in an activity to test, fail and discover without judgement.
In the end, what remains is not a perfect product, but the satisfaction of completion and valuable lessons.
Find a project, no matter how small, and let it take you without expectations.
thatās certainty an interesting idea.
Building on top of that, Iām thinking of https://eapl.me/yatwt.yaml
somehow I forgot that existed.
Perhaps it was its mention of being a demo implementation here:
https://twtxt.readthedocs.io/en/latest/user/registry.html#registry
So I though it wasnāt really active.
Anyway, I think thatās a good idea.
Is there something similar available on Yarn? Sorry for for asking if that was mentioned recently.
I think that the clients may help you to submit your URL to these directories, and also to get a view of the twts in them.
twtxt
, the voting period has started and will be open for a week.
https://eapl.me/rfc0001/
thanks @prologic!
@bender the idea of the RFC was to reach an agreement on a difficult problem, receiving proposals, and the voting is a simple count to gauge the sentiment of āis this a problem worth to be fixed?, are we committed to implement a change in our clients?ā
But thatās a fair point. What do the community expect? What do yāall expect?
Twtxt was made for nerds, by nerds.
Iād like to change that. Itās by nerds/hackers, for nerds/hackers and friends of these. It doesnāt have to be hacky all the time, as you donāt need to be a nerd to have a blog.
But, for that to happen, someone has to build the tools to improve UX.by design there really is no way to easily discovers others
Yeah, I agree, and although there are directories of email addresses, usually you donāt want that, unless you are a āpublic figureā.
I couldnāt say that a microblogging is a āsocial networkā by default, as a blog is not either. At the same time, people would expect to find new people and conversations, as youād do in a forum.
I think of two features on top of the current spec:
- Clients showing a few posts of what your following are watching but you donāt, so perhaps you find something interesting to follow next. Or that feature of āYour āfollowingsā are following these accounts/peopleā. (Hard to explain in english, but I hope you get the idea)
- Sharing your .txt into some directory, saying āHey, I have this twtxt URL, I want to be discoveredā. Iām thinking of something like the Federated tab on Mastodon.
@bender@twtxt.net I taught the whole ecosystem š
@prologic@twtxt.net @eapl.me@eapl.me The question I was asked the most was: How do I discover people?
Someone came up with a fantastic idea, instead of adding the new twt at the end of the feed, do it at the beginning. So you can paginate by cutting the request every few lines.
2 is a great idea, you should suggest it in that blog post.
About 1, well, I think anyone has an email address and only about 5% use a Feed, so it makes sense to offer what most people use š¤
@lyse@lyse.isobeef.org I had no idea. However, I think weāre losing our sense of anonymity. I even started using my real name!
vi
or vim
at the beginning of each line? Like, upon opening like so:
@movq@www.uninformativ.de the idea is to be able to write documents in which I have auto time stamps on each line. Similar to this, which was posted on Hacker News today.
also Iāve made a draft of a voting page to receive preferences on each proposal
https://eapl.me/rfc0001/
Help me to play with it a bit and report any vulnerability or bug. Also any idea is welcome.
Thatās a great idea. I am running GoToSocial in a local server (like Raspberry Pi) and itās working fine.