Searching yarn

Twts matching #help
Sort by: Newest, Oldest, Most Relevant
In-reply-to » @kat I've almost fixed this btw šŸ¤— Just testing it thoroughly and polihsing the code. In case you're curious, I do this style of development called "Observability Driven Development" (ODD) whereby I make observations of the system via metrics and internal observations and adjust the system's overall behavior to the desired outcome šŸ˜…

@prologic@twtxt.net To clarify, from my observations on how the system behaves, it feels like that. This doesn’t make it any better, I know. Sorry mate! I never claimed that testing is always easy, but in my experience it sure does help cutting down regressions. But to each their own, no worries. The diagram is all Greek to me. Anyway.

@bender@twtxt.net True.

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

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

⤋ Read More

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.

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

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

⤋ Read More
In-reply-to » To the parents or teachers: How do you teach kids to program these days? šŸ¤”

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

⤋ Read More

Steam to highlight accessibility support for games on store pages
The Steam store and desktop client will soon be able to help players find games that feature accessibility support. If your game has accessibility features, you can now enter that information in the Steamworks ā€˜edit store’ section for your app. ↫ Steam announcements page I have a lot of criticism for the Steam client application – it’s a overly complex, unattractive, buggy, slow, top-heavy Chrome engi … ⌘ Read more

⤋ Read More
In-reply-to » I guess mentions with .(s) / dot(s) like @eapl.me are valid? šŸ¤” Or nicks even? šŸ¤”

on timeline the mention looks OK. Is there an issue on Yarn?

It’s an interesting topic. For example on Bsky it’s natural to allow domains https://bsky.social/about/blog/4-28-2023-domain-handle-tutorial

Although TwiXter only allows (letters A-Z, numbers 0-9 and of underscores)
https://help.x.com/en/managing-your-account/x-username-rules

⤋ Read More
In-reply-to » "Here’s what we do know: After their meeting ended and Vice President Vance left the room, the pope was still alive. We can deduce that he was alive, because he was heard asking an assistant, ā€œHo appena incontrato il volto del diavolo?ā€ which roughly translates to, ā€œHave I just encountered the face of the devil?ā€ It’s a very common question that has been asked in many languages after encounters with JD Vance."

@prologic@twtxt.net if not physically, then in a matter of speaking. He is also helping on killing us all (like, all).

⤋ Read More

ā€œHere’s what we do know: After their meeting ended and Vice President Vance left the room, the pope was still alive. We can deduce that he was alive, because he was heard asking an assistant, ā€œHo appena incontrato il volto del diavolo?ā€ which roughly translates to, ā€œHave I just encountered the face of the devil?ā€ It’s a very common question that has been asked in many languages after encounters with JD Vance.ā€

I couldn’t help but chuckling a bit while reading.

⤋ Read More
In-reply-to » @andros maybe create a separate, completely distinct feed for DM? That way, clients do not need to do anything, only those wanted to "talk in private" follow themselves, using their very special dm-only.txt feeds. šŸ˜‚

by commenting out DMs are you giving up on simplicity? See the Metadata extension holding the data inside comments, as the client doesn’t need to show it inside the timeline.

I don’t think that commenting out DMs as we are doing for metadata is giving up on simplicity (it’s a feature already), and it helps to hide unwanted DMs to clients that will take months to add it’s support to something named… an extension.

For some other extensions in https://twtxt.dev/extensions.html (for example the reply-to hash #abcdfeg or the mention @ < example http://example.org/twtxt.txt >) is not a big deal. The twt is still understandable in plain text.
For DM, it’s only interesting for you if you are the recipient, otherwise you see an scrambled message like 1234567890abcdef=. Even if you see it, you’ll need some decryption to read it. I’ve said before that DMs shouldn’t be in the same section that the timeline as it’s confusing.

So my point stands, and as I’ve said before, we are discussing it as a community, so let’s see what other maintainers add to the convo.

⤋ Read More
In-reply-to » AI isn’t a shortcut for thinking. In her guide for skeptics, Hilary Gridley reframes AI as a collaborator—not a replacement. Use it like spellcheck for your thoughts. Don’t fear it—iterate with it. Insight improves, speed follows. Full post: https://hils.substack.com/p/the-ai-skeptics-guide-to-ai-collaboration

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

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

@movq@www.uninformativ.de HELP THIS IS GENUINELY SO SWEET THANK YOU ;_; omg i felt so nervous posting this because i was like what if i get something wrong but then i did it anyway and i felt so free… like woah i did all of this

⤋ Read More
In-reply-to » The tiny avatars, as expected (because they showed normal to you too @prologic), do not show under macOS’s Safari, but they do show on iOS’s Safari. It truly is a puzzle.

LOL. The compact view (which has its help tooltip broken, so one can’t tell when it does) was the one causing this issue. Turned it off, and all is good.

⤋ Read More
In-reply-to » @eapl.me You asked me for private keys for testing purposes. I have added it to the bottom of this page: https://dm-echo.andros.dev/ It will soon be running. It won't be long now.

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.

⤋ Read More

AI problems, top to bottom:

1: Open AI nerds, believe fine tuning a language model algorithm, will eventually produce an AGI god.

2: Subpar artists and techbros who can’t code, convinced AI image bashing and vibe coding, will help convince the dumber parts of Internet, they are a real deal.

3: Parasites, using AI to scam people, because they just want passive income, selling crap, made by an automated process.

Side: Adobe&co, killing Flash/old web, pricing new artists and developers out, to face learning curves of free tools, or use AI, peddled as solution.

⤋ Read More
In-reply-to » I updated wordwrap.[ch] to more closely match the interface for string(2); it's now just that plus a margin. I also updated litclock and marquee to match. http://a.9srv.net/src/index.html

@anth@a.9srv.net Hahaha, for a second I thought that you implemented word splitting according to Swiss (.ch) rules. :-D

Btw, both manpage links string(2) and getields(2) (it’s missing an f) point into nothingness: http://a.9srv.net/src/wordwrap.2.html

I can’t help but notice line 9: http://a.9srv.net/src/wordwrap.c

And I reckon your finger slipped one key to the right for quore: http://a.9srv.net/src/litclock.1.html

Cool stuff! :-)

⤋ Read More

FreeDOS 1.4 released
With FreeDOS being, well, DOS, you’d think there wasn’t much point in putting out major releases and making big changes, and you’d mostly be right. However, being a DOS clone doesn’t mean there isn’t room for improvement within the confines of the various parts and tools that make up DOS, and that’s exactly where FreeDOS focuses its attention. FreeDOS 1.4 comes about three years after 1.2. This version includes an updated FreeCOM, Install program, and HTML Help system. This also includes i … ⌘ Read more

⤋ Read More
In-reply-to » This weekend (as some of you may now) I accidently nuke this Pod's entire data volume šŸ¤¦ā€ā™‚ļø What a disastrous incident 🤣 I decided instead of trying to restore from a 4-month old backup (we'll get into why I hadn't been taking backups consistently later), that we'd start a fresh! šŸ˜… Spring clean! 🧼 -- Anyway... One of the things I realised was I was missing a very critical Safety Controls in my own ways of working... I've now rectified this...

@prologic@twtxt.net Not sure if the confirmation helps at all. You just condition yourself to immediately press y on a daily basis.

Apart from that, aborting the removal should probably terminate the function with a non-zero exit code, something like return 1.

⤋ Read More
In-reply-to » I have just received the royalties for the last book: 98 euros for the four-month period, about 24 euros a month on average. Not even enough for the gym membership. If you have to keep some knowledge: don't write for money, the paper (or ebook) industry is in a very bad way, the margins for the author are very small and piracy is devastating.

well, that leads to a long conversation.

Piracy is a difficult topic which is very personal, so I won’t say much about it.

On writing books, I’ve tried along with other digital products such as courses and videogames, and I got to confess that it has been hard for me.

If it helps, I think it all reaches our expectations on the activity and the result. If royalties is the expectation, it’s going to be slow. By 5% of royalties, for a rough example, a huge amount of sales will be required to get a decent ā€œwageā€, so I’ve understood of doing it by the side of a normal employment although it has been discouraging and a bit sad.

I have reflected about it in Spanish here: https://sembrandojuegos.substack.com/p/sobre-expectativas-al-crear-juegos

⤋ Read More

The 32bit RISC OS needs to be ported to 64bit to survive, seeks help
RISC OS, the operating system from the United Kingdom originally designed to run on Acorn Computer’s Archimedes computers – the first ARM computers – is still actively developed today. Especially since the introduction of the Raspberry Pi, new life was breathed into this ageing operating system, and it has gained quite a bit of steady momentum ever since, with tons of small updates, applications, … ⌘ Read more

⤋ Read More

Microsoft releases Windows 11 roadmap tool to help make sense of Windows 11’s development
I’ve complained about the utter inscrutability of the Windows release process for a long time, with Microsoft seemingly using channels, build numbers, code names, date-based version numbers, and so on interchangeably, making it incredibly hard to keep track of what is being released when. It turns out even Microsoft itself started losing track, because it … ⌘ Read more

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

thanks for sharing @xuu@txt.sour.is!

Checking for example https://watcher.sour.is/api/plain/twt or https://registry.twtxt.org/api/plain/tweets, I don’t know whether this syntax is being used by clients or by people. Is it integrated on Yarn in any way? Genuinely asking to know more about it.

If I might throw a quick thought to those working on the registries, it would be nice to have an endpoint with a valid twtxt output (perhaps cached or dumped to a static file) which a client could point to, helping to discover it’s content in a way which is compatible with the twtxt spec.

Taking the first twt I found in https://watcher.sour.is/api/plain/twt as an example:
reddit_world_news https://feeds.twtxt.net/Reddit_World_News/twtxt.txt 2025-03-28T00:29:25Z **China bans US logs. 3 billion dollar[...])
it would be something like
TIME <@NICK URL> TWT
2025-03-28T00:29:25Z <@reddit_world_news https://feeds.twtxt.net/Reddit_World_News/twtxt.txt> **China bans US logs. 3 billion dollar[...])

That way you could watch the latest twts with your client, something similar to what we find on Mastodon: https://mastodon.online/public/local

Some support from the clients to separate these ā€˜discovery’ content, from your following timeline might be required. šŸ¤”

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

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.

⤋ Read More
In-reply-to » Thank you @python_valencia for letting me show you the secrets of a decentralised plain text social network like twtxt. I hope you enjoyed the talk! ā¤ļøšŸ Media Media #python #twtxt

thanks andros!

instead of adding the new twt at the end of the feed, do it at the beginning
The PHP client did that originally, although I didn’t see a real benefit if you use… a client.
It could help if you read the .txt file through a browser or something. Also, not many clients are prepared to cut the request, and you can’t rely on the file being organized that way, so finally we dropped that feature.

⤋ Read More
In-reply-to » i really wanna learn golang it looks fun and capable and i can read it kind of but every time i try it i'm immediately stuck on basic concepts like "what the fuck is a pointer" (this has been explained to me and i still don't get it). i did have types explained to me as like notes on code which makes sense a bit but i'm mostly lost on basic code concepts

@kat@yarn.girlonthemoon.xyz Pointers can be a bit tricky. I know it took me also quite some time to wrap my head around them. Let my try to explain. It’s a pretty simple, yet very powerful concept with many facets to it.

A pointer is an indirection. At a lower level, when you have some chunk of memory, you can have some actual values sitting in there, ready for direct use. A pointer, on the other hand, points to some other location where to look for the values one’s actually after. Following that pointer is also called dereferencing the pointer.

I can’t come up with a good real-world example, so this poor comparison has to do. It’s a bit like you have a book (the real value that is being pointed to) and an ISBN referencing that book (the pointer). So, instead of sending you all these many pages from that book, I could give you just a small tag containing the ISBN. With that small piece of information, you’re able to locate the book. Probably a copy of that book and that’s where this analogy falls apart.

In contrast to that flawed comparision, it’s actually the other way around. Many different pointers can point to the same value. But there are many books (values) and just one ISBN (pointer).

The pointer’s target might actually be another pointer. You typically then would follow both of them. There are no limits on how long your pointer chains can become.

One important property of pointers is that they can also point into nothingness, signalling a dead end. This is typically called a null pointer. Following such a null pointer calls for big trouble, it typically crashes your program. Hence, you must never follow any null pointer.

Pointers are important for example in linked lists, trees or graphs. Let’s look at a doubly linked list. One entry could be a triple consisting of (actual value, pointer to next entry, pointer to previous entry).

  _______________________
 /               ________\_______________
↓               ↓         |              \
+---+---+---+   +---+---+-|-+   +---+---+-|-+
| 7 | n | x |   | 23| n | p |   | 42| x | p |
+---+-|-+---+   +---+-|-+---+   +---+---+---+
      |         ↑     |         ↑
       \_______/       \_______/

The ā€œxā€ indicates a null pointer. So, the first element of the doubly linked list with value 7 does not have any reference to a previous element. The same is true for the next element pointer in the last element with value 42.

In the middle element with value 23, both pointers to the next (labeled ā€œnā€) and previous (labeled ā€œpā€) elements are pointing to the respective elements.

You can also see that the middle element is pointed to by two pointers. By the ā€œnextā€ pointer in the first element and the ā€œpreviousā€ pointer in the last element.

That’s it for now. There are heaps ;-) more things to tell about pointers. But it might help you a tiny bit.

⤋ Read More
In-reply-to » Hi! For anyone following the Request for Comments on an improved syntax for replies and threads, I've made a comparative spreadsheet with the 4 proposals so far. It shows a syntax example, and top pros and cons I've found: https://docs.google.com/spreadsheets/d/1KOUqJ2rNl_jZ4KBVTsR-4QmG1zAdKNo7QXJS1uogQVo/edit?gid=0#gid=0

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.

⤋ Read More

Notes from setting up GlobalTalk using QEMU on Ubuntu
I signed up for GlobalTalk in 2024, but never found the time to get a machine set up. Fast-forward to MARCHintosh 2025 and I wasn’t going to let another year go by. This is a series of notes from my experience getting System 7.6 up and running on QEMU 68k on Ubuntu. Hopefully this will help others that might be hitting a roadblock. I certainly hit several! ↫ Cale Mooth A short and to-the-point guide for those of us who want … ⌘ Read more

⤋ Read More

Made O’Meter helps you easily and quickly avoid American products
With the United States having started an incredibly dumb and destructive trade war with Canada, Mexico, and most likely soon the European Union, there’s quite a few people who want to avoid American products. With how interconnected the global production chain and corporate ownership structures are, it’s often difficult to determine where products actually come from. Luckily, technology can help. There … ⌘ Read more

⤋ Read More

Google, DuckDuckGo massively expand ā€œAIā€ search results
Clearly, online search isn’t bad enough yet, so Google is intensifying its efforts to continue speedrunning the downfall of Google Search. They’ve announced they’re going to show even more ā€œAIā€-generated answers in Search results, to more people. Today, we’re sharing that we’ve launched Gemini 2.0 for AI Overviews in the U.S. to help with harder questions, starting with coding, advanced math and multimodal queries, with mor … ⌘ Read more

⤋ Read More

C++ creator calls for help to defend programming language from ā€˜serious attacks’
Bjarne Stroustrup, creator of C++, has issued a call for the C++ community to defend the programming language, which has been shunned by cybersecurity agencies and technical experts in recent years for its memory safety shortcomings. C and C++ are built around manual memory management, which can result in memory safety errors, such as out of bounds reads and writes, though bo … ⌘ Read more

⤋ Read More
In-reply-to » @eapl.me There are several points that I like, but I want to highlight number 7. https://text.eapl.mx/a-few-ideas-for-a-next-twtxt-version #twtxt

looks good to me!

About alice’s hash, using SHA256, I get 96473b4f or 96473B4F for the last 8 characters. I’ll add it as an implementation example.
The idea of including it besides the follow URL is to avoid calculating it every time we load the file (assuming the client did that correctly), and helps to track replies across the file with a simple search.

Also, watching your example I’m thinking now that instead of {url=96473B4F,id=1} which is ambiguous of which URL we are referring to, it could be something like:
{reply_to=[URL_HASH]_[TWT_ID]} / {reply_to=96473B4F_1}
That way, the ā€˜full twt ID’ could be 96473B4F_1.

⤋ Read More
In-reply-to » Na, you're spot on, @movq! The result is an expected, terrible disaster. It just seems the absolute catastrophy is delayed for another four years.

@lyse@lyse.isobeef.org

To me it appeared that the failed attempts to ban NPD in the past actually helped them gain more supporters.

What makes AfD stronger for sure is just going ā€œlol nah we’re not even going to tryā€:

https://www.tagesschau.de/inland/innenpolitik/afd-verbot-antrag-100.html

If they don’t try, then it means that ā€œit can’t be that bad, it’s just a normal partyā€, right? 😔

⤋ Read More
In-reply-to » This document is the result of a series of discussions between Robert "Uncle Bob" Martin and John Ousterhout, held between September 2024 and February 2025. The text addresses three main topics: method length, comments, and Test Driven Development (TDD). https://github.com/johnousterhout/aposd-vs-clean-code/blob/main/README.md This is something to read and reflect on for days.

Amd of course, TDD! I tried that, but it doesn’t work all that great for me in its strict form. I have the feeling that coming up with a single new failing test, making it pass, maybe some refactoring, rinse and repeat wastes significantly more time than doing it in – what they call – the ā€œbundleā€ approach. Coming up with several tests in advance and then writing the code or vise versa is usually much quicker. I do find that more enjoyable, it also helps me to reduce smaller context switches. I can focus on either the tests or the production code.

As for the potentially reduced code coverage with a non-TDD approach, I can easily see which parts are lacking tests and hand them in later. So, that’s largely a specious argument. Granted, I can forget to check the coverage or simply ignore it.

I agree with John, TDD results in less elegant code or requires more refactoring to tidy it up. Sometimes, it’s also not entirely clear at the beginning how the API should really look like. It doesn’t happen often, but it does happen. Especially when experimenting or trying out different approaches. With TDD, I then also have to refactor the tests which is not only annoying, but also involves the danger of accidentally breaking them.

TDD only works really well, if you have super tiny functions. But we already established that I typically don’t like tiny methods just for the purpose of them being extremely short.

When fixing a bug, I usually come up with a failing test case first to verify that my repaired code later actually resolves the problem. For new code, it depends, sometimes tests first, sometimes the productive code first. Starting off with the tests requires the API to be well defined beforehand.

⤋ Read More