@movq@www.uninformativ.de Yeah, like nearly all of them. There is the so called Bannwald, where it typically is not allowed to log, but thereâs only one in my entire county and I havenât even visted it. I should change that. https://de.wikipedia.org/wiki/Bannwald
@movq@www.uninformativ.de Hahaha, geil! :-D
@movq@www.uninformativ.de Haha, thatâs cool! :-D
@movq@www.uninformativ.de Thatâs really great! I canât tell the difference to the original. :-)
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. đ€
sorry @prologic@twtxt.net, timeline
doesnât autocomplete the mentions yet, and it was âdifficultâ to look for your URL from the phone.
@eapl.me@eapl.me I am currently working on Implementing a registry that is also a crawler. It finds any feeds that are mentioned or in the follows header.
https://watcher.sour.is/api/plain/twt
https://watcher.sour.is/api/plain/users
I think @prologic@twtxt.net is also working on one.
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.
For anyone following the proposals to improve replies and threads in twtxt
, the voting period has started and will be open for a week.
https://eapl.me/rfc0001/
Please share the link with the twtxt community, and leave your vote on your preferred proposals, which will be used to gauge the perceived benefits.
Also, the conversation is open to discuss implementation concerns or anything aimed at making twtxt better.
@kat@yarn.girlonthemoon.xyz Does ⊠does that mean ⊠that weâre âtrendingâ on TikTok? đ
@xuu@txt.sour.is I had a lot of trouble figuring out how to do this too đ
@am@yarn.girlonthemoon.xyz who are you
@gretahayes@yarn.girlonthemoon.xyz realest shit ever
@mana@yarn.girlonthemoon.xyz godspeed
@mana@yarn.girlonthemoon.xyz :D no problemmmm
@lyse@lyse.isobeef.org THANK YOUUUU I AM BOOKMARKING THIS FOR THE FUTURE <3
@mana@yarn.girlonthemoon.xyz it was FUCKING INSANE also HI MANA
@kat@yarn.girlonthemoon.xyz itâs mostly under control now but jesus christ i almost had a panic attack
@lyse@lyse.isobeef.org Commercial forest, I guess? (Are there any other forests?)
@lyse@lyse.isobeef.org I had that as my avatar/userprofile pic at work for a few years. đ
@lyse@lyse.isobeef.org Luckily, yeah. Happens every now and then. Itâs usually not even worth reporting, they often fix it in 30-90 minutes anyway.
@xuu@txt.sour.is Yeah, it will be delayed. Oh well. Thatâs just the way it is. :-)
@movq@www.uninformativ.de Hahaha, that filename! :-D 100 times better than I could ever play.
@xuu@txt.sour.is If the unread counter becomes negative, wouldnât that mean I have that many more read messages? :-D
@bender@twtxt.net Youâre spot on, itâs important to not introduce classical bugs!
@movq@www.uninformativ.de Oh dear. :-( Have they fixed it?
@prologic@twtxt.net @movq@www.uninformativ.de I had a t-shirt with this one or the other decade ago. :-)
@prologic@twtxt.net đŽđŁ
@eapl.me@eapl.me this âdirectoryâ is actually named registry. You can see users at https://registry.twtxt.org/api/plain/users and his twts at https://registry.twtxt.org/api/plain/tweets
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.
Hmm so looking at the swagger of the registry spec client it seems to just take a âpageâ.. That seems worse than doing an offset. Lol.
https://github.com/DracoBlue/twtxt-registry/blob/master/src/swagger.json
@bender@twtxt.net thinked about Gemini protocol. Why corporations shit this name with cryptocurrency and LLMs?
@xuu@txt.sour.is like feeds+bridgy.fed? Will be happy anyway
@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.
@doesnm@doesnm.p.psf.lt haha its not coming back. he talked of a stand alone thing like feeds. but not in yarnd
hmm @prologic@twtxt.net how did replying to lyse double up here?
@movq@www.uninformativ.de Thatâs not very retrocomputing!
about:compat
in Firefox.
@bender@twtxt.net đđđ
@lyse@lyse.isobeef.org I remember WebKit having a similar list, but I canât find it right now ⊠đ
@prologic@twtxt.net In all seriousness: Donât worry, Iâm not going to host some Fediverse thingy at the moment, probably never will. đ
But I do use it quite a lot. Although, I donât really use it as a social network (as in: following people). I follow some tags like #retrocomputing, which fills my timeline with interesting content. If there was a traditional web forum or mailing list or even a usenet group that covered this topic, Iâd use that instead. But thatâs all (mostly) dead by now. âčïž
@movq@www.uninformativ.de I see, fair point, yeah.
about:compat
in Firefox.
@movq@www.uninformativ.de Yikes! I didnât know about about:compat
. Crazy!
@xuu@txt.sour.is Wow, thatâs a giant graveyard. In my new database I have 16,428 messages as of now. Archive feed support is not yet available, so itâs just the sum of all the 36 main feeds.
Thank you @python_valencia@twtxt.python-valencia.es for letting me show you the secrets of a decentralised plain text social network like twtxt.
I hope you enjoyed the talk! â€ïžđ
#python #twtxt
I want to present the twtxt feed from Python Valencia: https://twtxt.python-valencia.es/
Technical curiosity: It is generated using n8n, using the official rss.
#welcome
@bender@twtxt.net That ⊠was better than expected. đ
@prologic@twtxt.net Gemini has an answer for you:
This is a conversation thread from a twtxt network, detailing a userâs (movq) frustration with the Mastodon âexport dataâ feature and their consideration of self-hosting a fediverse alternative. Hereâs a summary:
- movqâs initial issue:
- movq is concerned about the volatility of their data on their current Mastodon instance due to a broken âexport dataâ feature.
- They contacted the admins, but the issue remains unresolved.
- This led them to contemplate self-hosting.
- movq is concerned about the volatility of their data on their current Mastodon instance due to a broken âexport dataâ feature.
- Alternative fediverse software suggestions:
- kat suggests gotosocial as a lightweight alternative to Mastodon.
- movq agrees, and also mentions snac as a potential option.
- kat suggests gotosocial as a lightweight alternative to Mastodon.
- movqâs change of heart:
- movq ultimately decides that self-hosting any fediverse software, besides twtxt, is too much effort.
- movq ultimately decides that self-hosting any fediverse software, besides twtxt, is too much effort.
- Resolution and compromise:
- The Mastodon admins attribute the export failure to the size of movqâs account.
- movq decides to set their Mastodon account to auto-delete posts after approximately 180 days to manage data size.
- Movq also mentions that they use auto-expiring links on twtxt to reduce data storage.
- The Mastodon admins attribute the export failure to the size of movqâs account.
The Mastodon admins say that itâs probably because of the size of my account (~600 MB), so the export process times out. And I understand that. Here on twtxt, I always use auto-expiring links when I post images or videos. It just gets too much data otherwise. I think Iâll just set my Mastodon account to auto-delete posts after ~180 days or something like that. Nobody cares about old posts anyway.
@lyse@lyse.isobeef.org @bender@twtxt.net It already is a tiling window manager, but some windows canât be tiled in a meaningful way. I admit that Iâm mostly thinking about QEMU or Wine here: They run at a fixed size and canât be tiled, but I still want to put them in âfull screenâ mode (i.e., hide anything else).
@movq@www.uninformativ.de letâs host yarnd! Or maybe wait until @prologic@twtxt.net return activitypub support which deleted in this commit
tt
reimplementation that I already followed with the old Python tt
. Previously, I just had a few feeds for testing purposes in my new config. While transfering, I "dropped" heaps of feeds that appeared to be inactive.
Thanks, @movq@www.uninformativ.de!
My backing SQLite database with indices is 8.7 MiB in size right now.
The twtxt
cache is 7.6 MiB, it uses Pythonâs pickle
module. And next to it there is a 16.0 MiB second database with all the read statuses for the old tt
. Wow, super inefficient, it shouldnât contain anything else, itâs a giant, pickled {"$hash": {"read": True/False}, âŠ}
. What the heck, why is it so big?! O_o
@movq@www.uninformativ.de You could also just use a tiling window manager. :-) As a bonus, it doesnât waste dead space, the window utilizes the entire screen. To also get rid of panels and stuff, put the window in fullscreen mode.
@kat@yarn.girlonthemoon.xyz I have just opened the GIMP bug tracker (hosted at gitlab.gnome.org) and, I kid you not, they have deployed Anubis in front of it:
Oof.
tt
reimplementation that I already followed with the old Python tt
. Previously, I just had a few feeds for testing purposes in my new config. While transfering, I "dropped" heaps of feeds that appeared to be inactive.
@lyse@lyse.isobeef.org Iâm glad to hear that! Yay for more clients. đ
@lyse@lyse.isobeef.org Interesting, thanks for that list. đ€
@david@collantes.us @prologic@twtxt.net Sorry! https://cascii.app/
⊠yeah, okay, I donât think Iâll do that. đ Anything but twtxt is just too much effort.
@lyse@lyse.isobeef.org Bad boy! đ Remember, it is an extension
@movq@www.uninformativ.de Yeah, most of the graphical applications are actually KDE programs:
- KMail â e-mail client
- Okular â PDF viewer
- Gwenview â image viewer
- Dolphin â file browser
- KWallet â password manager (I want to check out
pass
one day. The most annoying thing is that when I copy a password, it says that the password has been modified and asks me whether I want to save the changes. I never do, because the password is still the same. I donât get it.)
- KPatience â card game
- Kdenlive â video editor
- Kleopatra â certificate manager
Qt:
- VLC â video player
- Psi â Jabber client (I happily used Kopete in the past, but that is not supported anymore or so. I donât remember.)
- sqlitebrowser â SQLite browser
Gtk:
- Firefox â web browser
- Quod Libet â music player (I should look for a better alternative. Canât remember why I had to move away from Amarok, was it dead? There was a fork Clementine or so, but I had to drop that for some unknown reason, too.)
- Audacity â audio editor
- GIMP â image editor
These are the things that are open right now or that I could think of. Most other stuff I actually do in the terminal.
In the pastâą, I used the Python KDE4 bindings. That was really nice. I could pass most stuff directly in the constructor and didnât have to call gazillions of setters improving the experience significantly. If I ever wanted to do GUI programming again, Iâd definitely go that route. There are also great Qt bindings for Python if one wanted to avoid the KDE stuff on top. The vast majority I do for myself, though, is either CLI or maybe TUI. A few web shit things, but no GUIs anymore. :-)
Although, most software I use is decentish in that regard.
Is that because you mostly use Qt programs? đ€
I wish Qt had a C API. Programming in C++ is pain. đą
@movq@www.uninformativ.de Oh, right, a type would be good to have! :-D
@movq@www.uninformativ.de Where can I join your club? Although, most software I use is decentish in that regard.
I just noted today that JetBrains improv^Wcompletely fucked up their new commit dialog. Thereâs no diff anymore where I would also be able to select which changes to stage. I guess from now on Iâm going to exclusively commit from only the shell. No bloody git integration anymore. >:-( This is so useless now, unbelievable.
@doesnm@doesnm.p.psf.lt đŻ đđđđđđ
@lyse@lyse.isobeef.org (I think of pointers as âmemory location + typeâ, but I have done so much C and Assembler by now that the whole thing feels almost trivial to me. And I would have trouble explaining these concepts, I guess. đ Maybe Iâll cover this topic with our new Azubis/trainees some day âŠ)
@prologic@twtxt.net What is âciwtuauâ? I donât understand, sorry haha
@prologic@twtxt.net So it seems!
yes @lyse@lyse.isobeef.org đ
I am working on this: https://dm-echo.andros.dev/
More news coming soon.
#twtxt
@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.
@andros@twtxt.andros.dev @prologic@twtxt.net Exactly. The screenshots of the last few days show it in action. But I do not consider it ready for the world yet. @doesnm@doesnm.p.psf.lt appears to have a high pain tolerance, though. :-)
@andros@twtxt.andros.dev You use your real name as login name, too?
@prologic@twtxt.net I see this with the scouts. Luckily, not at work. But at work, Iâm surrounded by techies.
@movq@www.uninformativ.de Oh my goodness! Iâm so glad that I donât have to deal with that in my family. But yeah, I guess youâre onto something with your theory. This article is also quite horrific. O_o
@movq@www.uninformativ.de Wooaah, that is cool! \o/
@lyse@lyse.isobeef.org Maybe itâs a lyrebird. đ
@prologic@twtxt.net Yes, it was one of those. 95, 98, and Me were all built on top of DOS, as far as I know.
@lyse@lyse.isobeef.org I guess the thing is that usernames are no longer needed for many popular things, like WhatsApp. âJust install the appâ, done. When I ran my Matrix server for our family, this was the first thing that people were bummed out about: âOh, this needs a username and a password? Why doesnât it just work? Thatâs annoying.â
People are less and less exposed to âlow-levelâ details like this. There was also this story in 2021 about the concept of a âfileâ: https://www.theverge.com/22684730/students-file-folder-directory-structure-education-gen-z
In a couple of days Iâll be giving a talk about #twtxt https://www.meetup.com/es-ES/python-valencia-meetup/events/306769708/
@doesnm@doesnm.p.psf.lt What is tt2?
@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!
@doesnm@doesnm.p.psf.lt Heck yeah! Worky, worky! \o/
Ctrl+Left
to jump a word left, I get 1;5D
in my tt2 message text. My TERM
is set to rxvt-unicode-256color
. In tt
, it works just fine. When I change to TERM=xterm-256color
, it also works in tt2
. I have to read up on that. Maybe even try to capture these sequences and rewrite them.
@movq@www.uninformativ.de Hahaha, that name is certainly fitting! :-D
Yeah, I should revert that and try to figure out which programs misbehaved. But thatâs something for future Lyse. 8-) Right now, I just redefine TERM
in my Makefile when the USER
happens to be me.
@prologic@twtxt.net Yeah and I donât get why ⊠Thereâs no copyrighted music in it, no ads (at least I donât see any) ⊠Just weird. đ„Ž
@prologic@twtxt.net Lol, I give up. đ„Ž
Ctrl+Left
to jump a word left, I get 1;5D
in my tt2 message text. My TERM
is set to rxvt-unicode-256color
. In tt
, it works just fine. When I change to TERM=xterm-256color
, it also works in tt2
. I have to read up on that. Maybe even try to capture these sequences and rewrite them.
@lyse@lyse.isobeef.org Thereâs a reason itâs called â(n)cursesâ. đ The only advice I can give is to never fiddle with reassigning control sequences and $TERM
variables. Leave $TERM
at whatever value the terminal itself sets and use an appropriate terminfo file for it. If there are programs misbehaving, they probably blindly assume XTerm and should be fixed (or have XTerm as a hard requirement). If you try to fix this on your end, itâll likely just break other programs. đ„Ž
@david@collantes.us Ah, I just went to bed, great to see you figured it out. đ I probably would have ended up with something similar (but Iâm not a Vimscript guru). đ€
Chapter 14:
Epilogue:
Chapter 12:
Chapter 13:
@david@collantes.us Tada, the reply context is now also shown above. Itâs slowly coming together and reaching a state where I can actually use this as my daily driver I think. :-)
@david@collantes.us Thanks, yes, absolutely! ;-)
I now notice that I should also show the original message(s) to which I reply. That was super useful in the original tt
. But one after the other. The mentions are now automatically filled in. \o/
@lyse@lyse.isobeef.org oooooh! I like how thatâs shaping up! Now you need a jobless vacation (not moneyless), so that the project goes from baby crawling, to toddler steps. :-)
vi
or vim
at the beginning of each line? Like, upon opening like so:
@david@collantes.us While youâre typing? I guess this could be used as a starting point (doesnât work on the very first line):
inoremap <CR> <Esc>:r!date +"\%F \%T"<CR>A
Whatâs the end goal here? đ
@movq@www.uninformativ.de hahahah i for one hate sleeping and need to be busy 24/7 or else i go insane so server stuff is awesome for my ADHD ass!!!
IaaS does seem kinda interesting to me, i think i could vibe with that more than full on cloud stuff
i hope i can be one of those people who does the barebones stuff bc i am a rare sicko who finds it fun and cloud stuff scares me LMAOOOO
@lyse@lyse.isobeef.org oh yeah i use the CLI sometimes itâs fun af
@kat@yarn.girlonthemoon.xyz Allegedly, thereâs at least a CLI for that, yarnc
. I neither used nor looked at it, though.
@movq@www.uninformativ.de Oh for sure, I fully agree!
@eapl.me@eapl.me Cool!
Proposal 3 (https://git.mills.io/yarnsocial/twtxt.dev/issues/18#issuecomment-19215) has the âadvantageâ, that you do not have to âmentionâ the original author if the thread slightly diverges. It seems to be a thing here that conversations are typically very flat instead of trees. Hence, and despite being a tree hugger, I voted for 3 being my favorite one, then 2, 1 and finally 4.
All proposals still need more work to clarify the details and edge cases in my opinion before they can be implemented.