@kat@yarn.girlonthemoon.xyz Iâd recommend alerting off of Prometheus đ
@kat@yarn.girlonthemoon.xyz / @xuu@txt.sour.is 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.
@kat@yarn.girlonthemoon.xyz @xuu@txt.sour.is Recommend you git checkout main && git pull && make build
. Few bug fixes đ
@movq@www.uninformativ.de If weâre focusing on solving the âmissing rootsâ problems. I would start to think about âclient recommendationsâ. The first recommendation would be:
- Replying to a Twt that has no initial Subject must itself have a Subject of the form (hash; url).
This way itâs a hint to fetching clients that follow B, but not A (in the case of no mentions) that the Subject/Root might (very likely) is in the feed url
.
We havet an AI assistant at work, new version came out today ânearby restaurant recommendationsâ mentioned. Gotta try that!
Ask it where I can get a burger, knowing thereâs 3 spots that had it on the menu, AI says thereâs none. Ask it to list all the restaurants nearby it can check⌠it knows 3, of the 10 or so around, but 1/3, even has a burger, on the menu.
Ask it to list the whole menu at restaurant 1: it hallucinates random meals, none of which they had (I ate there).
Restaurant 2 (the one most people go to, so they must have at least tested it with this one): it lists the soup of the day and ž meals available. Incomplete, but better than false.
Restaurant 3: it says âfoodâ and gives a general description of food. You have to be fucking kidding me!
âBuT cAnInE, tHe A(G)i ReVoLuTiOn Is NoWâ
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.
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
@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.
@xuu@txt.sour.is or @kat@yarn.girlonthemoon.xyz 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 đ¤Ł
@bender@twtxt.net You said:
as long as those working on clients can reach an agreement on how to move forward. That has proven, though, to be a pickle in the past.
I think this is because we probably need to start thinking about three different aspects to the ecosystem and document them out:
- Specifications (as they are now)
- Server recommendations (e.g: Timeline, yarnd, etc)
- Client recommendations (e.g: jenny, tt, tt2, twet, etc)
@prologic@twtxt.net @movq@www.uninformativ.de @bmallred@staystrong.run @ionores@twtxt.net Thank you! Yeah, the yellow meadows look truly awesome.
Watching âHappy People: A Year in the Taigaâ in German the evening before, this thing totally looked like a trap to us. So, we decided to sit on another, more rustic bench nearby. :-) Oh neat, it turns out, there is a much longer four part series of the documentary in English on YouTube. Highly recommended! This is part one: https://www.youtube.com/watch?v=fbhPIK-oBvA
Judging by the surroundings, I think this is actually a forest altar or something of that nature. But it looks like they started with the chappelâs reinforcement steel and then they ran out of money before completing it or even placing the concrete forms. :-P
Yeah, 78 might be photo of the month. Itâs one of my favorites.
A mate and I had an amazing but also exhausting hike to the highest of the Three Emperor Mountains yesterday with perfect weather conditions. Sunny 18°C, blue sky with barly a cloud and a little welcoming breeze, just beautiful.
Mt. Stuifen is 757 meters above sea level, has a small shelter and a barbie area and is still the most boring one of the three. Itâs also the one farthest away from me. Not sure why it has two summit crosses, but both arenât at the summit. The third, makeshift one at the real summit was gone by now. Four years ago, somebody had cobbled one together and put it up.
We bought our tucker at a local bakery on our way. This was the first time I tried a Teufelsbrezel (lit. devilâs pretzel), a lye pretzel with pepper. Havenât come across that anywhere else. But I can certainly recommend that, itâs yummy.
We were glad when we were finally back home after some 26 or 27km. I wonât do much today and let my feet rest. Another friend called for a much, much shorter hike tomorrow.
Enjoy the 92 photos: https://lyse.isobeef.org/wanderung-auf-den-stuifen-2025-04-19/
@bender@twtxt.net I recommend this also đ My eris
was based off of a much much older version of ergo.
@eapl.me@eapl.me I looked at the first few puzzles and they are pretty cool so far! I havenât actually implemented any of them, but Iâm fairly certain about how Iâd solve them properly. I went through some linked reference articles yesterday, theyâre also really good. I will recommend this to some workmates. :-)
Brother denies using firmware updates to brick printers with third-party ink
Brother laser printers are popular recommendations for people seeking a printer with none of the nonsense. By nonsense, we mean printers suddenly bricking features, like scanning or printing, if users install third-party cartridges. Some printer firms outright block third-party toner and ink, despite customer blowback and lawsuits. Brotherâs laser printers have historically worke ⌠â Read more
That was a super interesting talk, I can recommend it: https://media.ccc.de/v/38c3-microbes-vs-mars-a-hacker-s-guide-to-finding-alien-life
Reviving a dead audio format: the return of ZZM
Long-time readers will know that my first video game love was the text-mode video game slash creation studio ZZT. One feature of this game is the ability to play simple music through the PC speaker, and back in the day, I remember that the format âZZMâ existed, so you could enjoy the square wave tunes outside of the games. But imagine my surprise in 2025 to find that, while the Museum of ZZT does have a ZZM Audio section, it recommends t ⌠â Read more
Got my teeth cleaned professionally today and I am still feeling it. Recommendation is that I use an electric toothbrush⌠Health over sustainability I suppose.
This is an absolutely amazing talk about fixing a satellite in space. Totally worth watching, highly recommended. Super great engineering! Iâm blown away, this is sooooo cool! https://media.ccc.de/v/38c3-hacking-yourself-a-satellite-recovering-beesat-1
I have said this before, but since I have been back on #IRC I am talking to a lot of interesting people.
Can you recommend some channels on Libera?
I am now using Streamlit at work to build admin interfaces and some internal application. Itâs amazing! I recommend it
@kat@yarn.girlonthemoon.xyz To improve you shell programming skills, I highly recommend to check out shellcheck
: https://github.com/koalaman/shellcheck It points out common errors and gives some suggestions on how to improve the code. Some details in shell scripting are very tricky to get right at first. Even after decades of shell programming, I run into âcorner casesâ every now and then.
E.g. in getlyr
âs line 7 it warns:
echo -e $(gum style --italic --foreground "#f4b8e4" "'$artist', '$song'")
^-- SC2046: Quote this to prevent word splitting.
For more information:
https://www.shellcheck.net/wiki/SC2046 -- Quote this to prevent word splitt...
Most likely not all that problematic in this application, but itâs good to know about this underlying concept. Word splitting is basically splitting tokens on whitespace, this can lead to interesting consequences as illustrated by this little code:
$ echo $(echo "Hello World")
Hello World
$ echo "$(echo "Hello World")"
Hello World
In the first case the shells sees two whitespace-separated tokens or arguments for the echo
command. This basically becomes echo Hello World
. So, echo
joins them by a single space. In the second one it sees one argument for the echo
command, so echo
simply echos this single argument that contains three spaces.
example.com/x/bananas/yo.txt
, and the feed has no nick. What is the nick?
I mean, since most feeds are named twtxt.txt
, following your recommendation, there could be many âtwtxtâ nicks. đ
@andros@twtxt.andros.dev Sorry I missed your messages to #twtxt on IRC. There are people there, but it can take several hours to get a response. E.g. I check it every day or two. I recommend using an IRC bouncer. To answer your question about registries, I used a couple of registries when I first started out, to try to find feeds to follow, but havenât since then. I donât remember which ones, but they were easy to find with web searches.
@movq@www.uninformativ.de I know, nobody asked 𤥠but, here are a couple of suggestions:
- If youâre willing to pay for a licence Iâd highly recommend plasticity itâs under
GNU LESSER GENERAL PUBLIC LICENSE, Version 3.
- Otherwise if you already have experience with CAD/Parametric modeling you could give freeCAD a spin, itâs under
GNU Library General Public License, version 2.0
, it took them years but have just recently shipped their v1.0 đ
- or just roll with Autodeskâs Fusion for personal use, if you donât mind their âOh! You need to be online to use itâ thing.
(Letâs face it, Blender is hard to use.)
I bet youâre talking about blender 2.79 and older! đ you are, right? JK
@bender@twtxt.net My made-up rule is to keep at least three full months in the main feed and when rotating, I create one feed per month.
@doesnm@doesnm.p.psf.lt There is no real recommendation I think. But if you hit half a MiB or so, it might be worth considering to rotate in order to keep the network traffic low. People with bad connectivitiy might appreciate it. I want to implement HTTP range requests in my client rewrite at some point in time (but first, it has to become kinda usable, though).
@prologic@twtxt.net I recommend its Wikipedia entry is edited then, if you are completely certain.
âBluesky is a decentralized microblogging social media service primarily operated by Bluesky Social, PBC.â
That I know of, you can run the PDS, and pretty much everything else.
Thank you, @eapl.me@eapl.me! No need to apologize in the introduction, all good. :-)
Section 3: Iâm a bit on the fence regarding documenting the HTTP caching headers. Itâs a very general HTTP thing, so there is nothing special about them for twtxt. No need for the Twtxt Specification to actually redo it. But on the other hand, a short hint could certainly help client developers and feed authors. Maybe itâs thanks to my distroâs Ngninx maintainer, but I did not configure anything for the Last-Modified
and ETag
headers to be included in the response, the web server just already did it automatically.
The more that I think about it while typing this reply, the more I think your recommendation suggestion is actually really great. It will definitely beneficial for client developers. In almost all client implementation cases Iâd say one has to actually do something specifically in the code to send the If-Modified-Since
and/or If-None-Match
request headers. There is no magic that will do it automatically, as one has to combine data from the last response with the new request.
But I also came across feeds that serve zero response headers that make caching possible at all. So, an explicit recommendation enables feed authors to check their server setups. Yeah, letâs absolutely do this! :-)
Regarding section 4 about feed discovery: Yeah, non-HTTP transport protocols are an issue as they do not have User-Agent
headers. How exactly do you envision the discovery_url
to work, though? I wouldnât limit the transports to HTTP(S) in the Twtxt Specification, though. Itâs up to the client to decide which protocols it wants to support.
Since I currently rely on buckketâs twtxt
client to fetch the feeds, I can only follow http(s)://
(and file://
) feeds. But in tt2
I will certainly add some gopher://
and gemini://
at some point in time.
Some time ago, @movq@www.uninformativ.de found out that some Gopher/Gemini users prefer to just get an e-mail from people following them: https://twtxt.net/twt/dikni6q So, it might not even be something to be solved as there is no problem in the first place.
Section 5 on protocol support: Youâre right, announcing the different transports in the url
metadata would certainly help. :-)
Section 7 on emojis: Your idea of TUI/CLI avatars is really intriguing I have to say. Maybe I will pick this up in tt2
some day. :-)
iirc in twtxt v2 it starts prohibited
This is not true. There are no issues supporting fetching feeds via Gemini/Gopher. This is totally fine. What will likely happen is ârecommendationsâ and âdrawbacks of using Gemini/Gopherâ
Iâm looking to develop a static site for twtxt.dev â A domain I own and have wanted to use for developer and specification docs for Twtxt.
Can anyone recommend a few Hugo themes you like?
All of the dev.twtxt.net content would move over as well.
Recent #fiction #scifi #reading:
The Memory Police by YĹko Ogawa. Lovely writing. Very understated; reminded me of Kazuo Ishiguro. Sort of like Nineteen Eighty-Four but not. (I first heard it recommended in comparison to that work.)
Subcutanean by Aaron Reed; https://subcutanean.textories.com/ . Every copy of the book is different, which is a cool idea. I read two of them (one from the library, actually not different from the other printed copies, and one personalized e-book). I donât read much horror so managed to be a little creeped out by it, which was fun.
The Wind from Nowhere, a 1962 novel by J. G. Ballard. A random pick from the sci-fi section; I think I picked it up because it made me imagine some weird 4-dimensional effect (âfrom nowhereâ meaning not in a normal direction) but actually (spoiler) it was just about a lot of wind for no reason. The book was moderately entertaining but there was nothing special about it.
Currently reading Scale by Greg Egan and Inversion by Aric McBay.
More thoughts about changes to twtxt (as if we havenât had enough thoughts):
- There are lots of great ideas here! Is there a benefit to putting them all into one document? Seems to me this could more easily be a bunch of separate efforts that can progress at their own pace:
1a. Better and longer hashes.
1b. New possibly-controversial ideas like edit: and delete: and location-based references as an alternative to hashes.
1c. Best practices, e.g. Content-Type: text/plain; charset=utf-8
1d. Stuff already described at dev.twtxt.net that doesnât need any changes.
We wonât know what will and wonât work until we try them. So Iâm inclined to think of this as a bunch of draft ideas. Maybe later when weâve seen it play out it could make sense to define a group of recommended twtxt extensions and give them a name.
Another reason for 1 (above) is: I like the current situation where all you need to get started is these two short and simple documents:
https://twtxt.readthedocs.io/en/latest/user/twtxtfile.html
https://twtxt.readthedocs.io/en/latest/user/discoverability.html
and everything else is an extension for anyone interested. (Deprecating non-UTC times seems reasonable to me, though.) Having a big long âtwtxt v2â document seems less inviting to people looking for something simple. (@prologic@twtxt.net you mentioned an anonymous comment âyouâve ruined twtxtâ and while I donât completely agree with that commenterâs sentiment, I would feel like twtxt had lost something if it moved away from having a super-simple core.)All that being said, these are just my opinions, and Iâm not doing the work of writing software or drafting proposals. Maybe I will at some point, but until then, if youâre actually implementing things, youâre in charge of what you decide to make, and Iâm grateful for the work.
We:
- Drop
# url=
from the spec.
- We donât adopt
# uuid =
â Something @anth@a.9srv.net also mentioned (see below)
We instead use the @nick@domain
to identify your feed in the first place and use that as the identify when calculating Twt hashes <id> + <timestamp> + <content>
. Now in an ideal world I also agree, use WebFinger for this and expect that for the most part youâll be doing a WebFinger lookup of @user@domain
to fetch someoneâs feed in the first place.
The only problem with WebFinger is should this be mandated or a recommendation?
@prologic@twtxt.net Thanks for writing that up!
I hope it can remain a living document (or sequence of draft revisions) for a good long time while we figure out how this stuff works in practice.
I am not sure how I feel about all this being done at once, vs. letting conventions arise.
For example, even today I could reply to twt abc1234 with â(#abc1234) Edit: âŚâ and I think all you humans would understand it as an edit to (#abc1234). Maybe eventually it would become a common enough convention that clients would start to support it explicitly.
Similarly we could just start using 11-digit hashes. We should iron out whether itâs sha256 or whatever but thereâs no need get all the other stuff right at the same time.
I have similar thoughts about how some users could try out location-based replies in a backward-compatible way (append the replyto: stuff after the legacy (#hash) style).
However I recognize that Iâm not the one implementing this stuff, and itâs less work to just have everything determined up front.
Misc comments (I havenât read the whole thing):
Did you mean to make hashes hexadecimal? You lose 11 bits that way compared to base32. Iâd suggest gaining 11 bits with base64 instead.
âClients MUST preserve the original hashâ â do you mean they MUST preserve the original twt?
Thanks for phrasing the bit about deletions so neutrally.
I donât like the MUST in âClients MUST follow the chain of reply-to referencesâŚâ. If someone writes a client as a 40-line shell script that requires the user to piece together the threading themselves, IMO we shouldnât declare the client non-conforming just because they didnât get to all the bells and whistles.
Similarly I donât like the MUST for user agents. For one thing, you might want to fetch a feed without revealing your identty. Also, it raises the bar for a minimal implementation (Iâm again thinking again of the 40-line shell script).
For âwho followsâ lists: why must the long, random tokens be only valid for a limited time? Do you have a scenario in mind where they could leak?
Why canât feeds be served over HTTP/1.0? Again, thinking about simple software. I recently tried implementing HTTP/1.1 and it wasnât too bad, but 1.0 would have been slightly simpler.
Why get into the nitty-gritty about caching headers? This seems like generic advice for HTTP servers and clients.
Iâm a little sad about other protocols being not recommended.
I donât know how I feel about including markdown. I donât mind too much that yarn users emit twts full of markdown, but Iâm more of a plain text kind of person. Also it adds to the length. I wonder if putting a separate document would make more sense; that would also help with the length.
@david@collantes.us Well, I wouldnât recommend using my code for your main jenny use anyway. If you want to try it out, set XDG_CONFIG_HOME and XDG_CACHE_HOME to some sandbox directories and only run my code there. If @movq@www.uninformativ.de is interested in any of this getting upstreamed, Iâd be happy to try rebasing the changes, but otherwise itâs a proof of concept and fun exercise.
@movq@www.uninformativ.de I didnât run the command as you recommended, but, I wiped things once more, and ran jenny -f
, and this time got:
david@arrakis:~$ jenny -f
Fetching archived feed https://anthony.buc.ci/user/abucci/twtxt.txt/1 (configured as abucci, https://anthony.buc.ci/user/abucci/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2024-04.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://darch.dk/twtxt-archive.txt (configured as soren, https://darch.dk/twtxt.txt)
Fetching archived feed https://www.uninformativ.de/twtxt-old_2024-04-21_6v47cua.txt (configured as movq, https://www.uninformativ.de/twtxt.txt)
Fetching archived feed https://twtxt.net/user/prologic/twtxt.txt/1 (configured as prologic, https://twtxt.net/user/prologic/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2024-03.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://www.uninformativ.de/twtxt-old_2022-12-21_2us6qbq.txt (configured as movq, https://www.uninformativ.de/twtxt.txt)
Fetching archived feed https://twtxt.net/user/prologic/twtxt.txt/2 (configured as prologic, https://twtxt.net/user/prologic/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2024-02.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://www.uninformativ.de/twtxt-old_2022-01-14_ew5gzca.txt (configured as movq, https://www.uninformativ.de/twtxt.txt)
Fetching archived feed https://twtxt.net/user/prologic/twtxt.txt/3 (configured as prologic, https://twtxt.net/user/prologic/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2024-01.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://www.uninformativ.de/twtxt-old_2021-12-23_f6y65bq.txt (configured as movq, https://www.uninformativ.de/twtxt.txt)
Fetching archived feed https://twtxt.net/user/prologic/twtxt.txt/4 (configured as prologic, https://twtxt.net/user/prologic/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2023-12.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://www.uninformativ.de/twtxt-old_2021-12-04_e4x7yba.txt (configured as movq, https://www.uninformativ.de/twtxt.txt)
Fetching archived feed https://twtxt.net/user/prologic/twtxt.txt/5 (configured as prologic, https://twtxt.net/user/prologic/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2023-11.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://www.uninformativ.de/twtxt-old_2021-11-18_42tjxba.txt (configured as movq, https://www.uninformativ.de/twtxt.txt)
Fetching archived feed https://twtxt.net/user/prologic/twtxt.txt/6 (configured as prologic, https://twtxt.net/user/prologic/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2023-10.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://www.uninformativ.de/twtxt-old_2021-11-08_i2wnvaa.txt (configured as movq, https://www.uninformativ.de/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2023-09.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://www.uninformativ.de/twtxt-old_2021-10-23_kvwn5oa.txt (configured as movq, https://www.uninformativ.de/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2023-08.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://www.uninformativ.de/twtxt-old_2021-10-11_mljudaa.txt (configured as movq, https://www.uninformativ.de/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2023-07.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://www.uninformativ.de/twtxt-old_2021-09-22_5mkqwua.txt (configured as movq, https://www.uninformativ.de/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2023-06.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://www.uninformativ.de/twtxt-old_2021-07-27_xcnzmlq.txt (configured as movq, https://www.uninformativ.de/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2023-05.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://www.uninformativ.de/twtxt-old_2021-06-16_mtedqya.txt (configured as movq, https://www.uninformativ.de/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2023-04.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://www.uninformativ.de/twtxt-old_2021-04-29_z7lvzja.txt (configured as movq, https://www.uninformativ.de/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2023-03.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://www.uninformativ.de/twtxt-old_2021-03-19_xjabvhq.txt (configured as movq, https://www.uninformativ.de/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2023-02.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://www.uninformativ.de/twtxt-old_2021-02-24_te4a6oa.txt (configured as movq, https://www.uninformativ.de/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2023-01.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://www.uninformativ.de/twtxt-old_2021-01-26_qxgigma.txt (configured as movq, https://www.uninformativ.de/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2022-12.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://www.uninformativ.de/twtxt-old_2020-12-13_igfnala.txt (configured as movq, https://www.uninformativ.de/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2022-11.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2022-10.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2022-09.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2022-08.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2022-07.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2022-06.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2022-05.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2022-04.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2022-03.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2022-02.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2022-01.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2021-12.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2021-11.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2021-10.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2021-09.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2021-08.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2021-07.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2021-06.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2021-05.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2021-04.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2021-03.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2021-02.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2021-01.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Fetching archived feed https://lyse.isobeef.org/twtxt-2020-12.txt (configured as lyse, https://lyse.isobeef.org/twtxt.txt)
Notice that @prologic@twtxt.netâs /6
is there. I found the twtxt then. Kind of odd it didnât show before.
Can anyone recommend a decent Android ROM that strips out as much of the spyware as possible? Is GrapheneOS a good option? I need to get a new phone anyway so I donât mind buying within a supported device list as long as I can get one on the used market for $300-$400 or less.
If anyone could recommend some learning resources for this stuff Iâd really appreciate it.
Interesting.. QUIC isnât very quick over fast internet.
QUIC is expected to be a game-changer in improving web application performance. In this paper, we conduct a systematic examination of QUICâs performance over high-speed networks. We find that over fast Internet, the UDP+QUIC+HTTP/3 stack suffers a data rate reduction of up to 45.2% compared to the TCP+TLS+HTTP/2 counterpart. Moreover, the performance gap between QUIC and HTTP/2 grows as the underlying bandwidth increases. We observe this issue on lightweight data transfer clients and major web browsers (Chrome, Edge, Firefox, Opera), on different hosts (desktop, mobile), and over diverse networks (wired broadband, cellular). It affects not only file transfers, but also various applications such as video streaming (up to 9.8% video bitrate reduction) and web browsing. Through rigorous packet trace analysis and kernel- and user-space profiling, we identify the root cause to be high receiver-side processing overhead, in particular, excessive data packets and QUICâs user-space ACKs. We make concrete recommendations for mitigating the observed performance issues.
@prologic@twtxt.net I believe you when you say registries as designed today do not crawl. But when I first read the spec, it conjured in my mind a search engine. Now I donât know how things work out in practice, but just based on reading, I donât see why it canât be an API for a crawling search engine. (In fact I donât see anything in the spec indicating registry servers shouldnât crawl.)
(I also noticed that https://twtxt.readthedocs.io/en/latest/user/registry.html recommends âThe registries should sync each others user list by using the users endpointâ. If I understood that right, registering with one should be enough to appear on others, even if they donât crawl.)
Does yarnd provide an API for finding twts? Is it similar?
@prologic@twtxt.net what made you make such âfinancially soundâ recommendation? Have you switched jobs, and are now a Financial Advisor? :-P
@falsifian@www.falsifian.org I do like to think of that recommendation as sarcastic stab at twt-errrâs rules đ so, IMO the more a twt exceeds the recommended limit the merrier! đ
Does anyone care about the 140-char limit recommended by the #twtxt spec? I have been trying to respect it but wonder if itâs wasted effort.
Can anyone recommend and/or vouch for a Chrome/browser extension that lets me write rewrite rules for arbitrary links on a page? e.g: s/(www\.)?youtube.com\/watch?v=([^?]+)/tubeproxy.mills.io/play/\1
for example? đ¤
If bandanas are part of your wardrobe, I can recommend banditsbandanas.com, senderopc.com, and misterbandana.com
@prologic@twtxt.net Thank you. Iâm using Pixel Station. I canât recommend it enough for this kind of pixelart, but itâs only available for Android.
Bitwarden is truly excellent. Highly recommend
QOTD: What do you host on your home server? How do you host it? Are you using containers? VMs? Did you install any management interface or do you just SSH in? What OS does it run?
Mine runs Arch (btw) and hosts a handful of things using Docker. Adguard Home, http://mckinley2nxomherwpsff5w37zrl6fqetvlfayk2qjnenifxmw5i4wyd.onion/, and some other things. NFS, Flexo, and Wireguard (peer and bounce server in my personal network) are outside Docker. I have a hotkey in my window manager that spawns a terminal on my server using SSH. It makes things very easy and I highly recommend it.
I am thinking about replacing Docker with Podman because the Common Wisdom seems to say itâs better. I donât really know if it is or isnât.
Also, how much of your personal infrastructure is on IPv6? I think all the software I use supports both, but Iâve mostly been using IPv4 because itâs easier to remember the addresses. Iâve been working for the last couple days on making it IPv6-only.
Asked an âAI Assistantâ (Perplexity) to summarize my introduction of my homepage and then I asked it to give me some book recommendations I might like, and the thing actually nailed it.
@jmjl@tilde.green Iâm sorry that Iâm not super knowledgeable about alternatives to jmp.chat but Iâll tell you what I know.
Youâre probably right about jmp.chat not working for you, at least as it is now. You can only get US and Canadian phone numbers through it last time I checked, so if youâre not in either of those countries youâd be making international calls all the time and people who wanted to call you would be making international calls too.
Iâve seen people talk about using SIP as an intermediary: you can bridge SIP-to-XMPP, and bridge SIP-to-PSTN (PSTN = âpacket switched telephone networkâ, meaning normal telephone). You can skip the SIP-to-XMPP side if youâre comfortable using a SIP client. I donât know very much about SIP or PSTN so I am not sure what to recommend, but perhaps this helps your search queries.
There are a fair number of services like TextNow that let you sign up for a real telephone number that you can then use via their app (I wouldnât use TextNowâthey had tons of spyware in their app). I donât know if that kind of service works for you but if it does perhaps youâd be able to find one of them that isnât horrible. This page (https://alternativeto.net/software/jmp-chat/) has a bunch of alternatives; I canât vouch for any of them but maybe itâs a starting point if you want to go this route.
Good luck!
@mckinley@twtxt.net Yes, Iâm still with jmp.chat, and still very happy with them overall. Their beta period ended and their pricing increased a bit, so thatâs worth a bit of consideration. I also managed to get one of their eSIMs. Iâm slightly less happy with that aspect of their service, though they seem to be actively working on improving it and I knew in advance this was an early beta kind of thing and likely to have issues.
The only unreliability with calls that Iâve noticed was traceable to the unreliability of my own internet connection. Iâve confused incoming calls by simultaneously making and taking calls from the computer and the phone, but I think itâs understandable that problems might arise and thatâs not a real use case for me. Once or twice I did not receive a text transcription of a voice mail, but the support is usually quick to address things like that.
I host my own XMPP server and have for a good decade now, and thatâs what I use with jmp.chat. I canât speak to the quality of their hosting options.
Group texting works fine for me if one of the other parties initiates the group text. I havenât tried to initiate my own group text in well over a year; last time I did, it didnât work. That may or may not be a problem for you, and it may or may not have been fixed by now. Worth investigating more if itâs important. I should also say Iâve only ever used group texts with 3 participants, and canât speak to what happens if there are more nor whether there are upper limits.
Group texts donât use MUC. Rather, they use a special syntax in the JID, something like â+1XXX,+1YYY,âŚ,+1ZZZ@cheogram.comâ, where the + and , are required, the XXX, YYY, through ZZZ are the phone numbers (no dashes or other special chars just digits), and the @cheogram.com at the end is required.
I recommend the cheogram app if youâre on android. It has a lot of nice features on top of the Conversations base. I use gajim on my (linux) computer and it works well with jmp.chat.
Iâm happy to answer other questions if you have them!