@prologic@twtxt.net Very cool! š
Just one question: when do you sleep? š
Just finished watching They Live (1988) again, one of my favorite movies, and one that has (sadly) remained relevant for nearly 40 years (some might even argue itās more relevant today than ever).
Obey. Consume. No independent thought. Honor apathy. Do not question authority.
They live, we sleep.
tt. But then, in the message tree, I spot another missed typo. My process is then to go to my twtxt.txt and fix it by hand. However, I still have to clean up tt's cache. This is rather tidious:
Now Iām curious how movwin deals with that. ;-)
Focus handling? I hardly remember, lol. š Did that 6 months ago and havenāt touched it since. Letās see.
The core main loop gets keyboard/mouse events from curses. At this level, the main loop only knows about exactly one widget, so it passes the event to that widget (whatever that is, doesnāt matter ā they all inherit from the Widget base class, it could be a Window, a WindowManager, or an Edit box directly).
The outermost widget is usually a WindowManager. It implements a few hotkeys of its own, like switching to another window. If none of those hotkeys match, it passes the event to the currently focused window.
Same story here: Window implements some hotkeys (like opening the menu bar). If none of those match, then ⦠the magic happens.
Each Window acts as a focus manager. It can descend into its child widget hierarchy and collect all child widgets in a depth-first search. They are collected into a flat list. Each Window then has an attribute _focus_position, which is an index into that list. Pressing Tab or Shift+Tab increases or decreases that index and that allows you to select the next/previous focusable widget in the current window.
Eventually, Window passes the input event to the currently focused widget.
Usually on initialization, the application can ask a Window object to focus a certain widget. The file selection dialog does that, for example, because the ānaturalā focus order would be to focus the Edit box at the top of the window first ā but thatās not what the user wants, the Table showing the list of files should be focused.
If no widget ever feels responsible for handling a certain input event, then thereās a global unhandled_input callback that the application can provide (same as in urwid).
I think thatās it.
Hm, thatās more complicated than I remembered, but apparently it works fine, because I completely forgot about this. š
All I did in the last few months was make new classes that inherit from Widget, like the new Table class or Edit or HexEdit or whatever, and if they want to get input events, then they must implement the methods input_key() or input_mouse().
Does this answer your question? š (I admit that I didnāt exactly understand your scenario, so I just went ahead and rambled about my implementation. š )
Every now and then, I think that I have carefully proof-read my message enough times and hit the āAdd messageā button in tt. But then, in the message tree, I spot another missed typo. My process is then to go to my twtxt.txt and fix it by hand. However, I still have to clean up ttās cache. This is rather tidious:
- Recall the
sqlitebrowser ~/.local/share/twtxt/tt2.sqlitefrom my shell history.
- Switch to the āBrowse dataā tab.
- Go to the
messagestable and wait a second or two until itās loaded.
- Sort by the
created_atcolumn twice, so that I get descending order.
- Select the first message, which is typically the one in question.
- Find the āRemove currently selected rowā button in the tool bar.
- Commit the changes.
- Close sqlitebrowser.
So, I finally implemented the removal of messages from the cache in tt. I can now hit d and confirm the removal. Bam! Should have done that ages ago!
https://lyse.isobeef.org/tmp/tt-confirm-message-removal.png
Next up is the search, I think.
A lot of questions keep me awake at night.
One of them - If I had only 5 more years to live, what would be my gift to the world?
@movq@www.uninformativ.de Honestly I think you build the team before you need the PRs š¤ Start with relationships ā people whoāve been using your software, filing good bug reports, asking smart questions. Those are your future maintainers. The PR comes later as a formality, not a tryout š
(#vixabsa) @movq@www.uninformativ.de Honestly I think you build the team before you need the PRs š¤ Start with relationships ā people whoāve been using your software, filing good bug reports, asking smart questions. Those are your future maintainers. The PR comes later as a formality, not a tryout š
@prologic@twtxt.net As have I. š¤ I mean, since I left GitHub, I got basically 0 pull requests anyway.
Even during my time using GitHub, I noticed that ādrive-by PRsā are rarely a good idea. People donāt really know/understand the code or the design principles/goals, so I often turned down PRs. Or I accepted them and was grumpy afterwards. š
What does work is having a team of maintainers/devs. The only question is: How do you build such a team if you donāt accept PRs? Thatās going to be the interesting part.
@movq@www.uninformativ.de Itās the āLyse types the entire HTML by handā generator. Yes, no kidding. I write articles so rarely, that I can do that once in a while. Itās fun to some degree, but also not.
After some time, I finally recorded some Vim macros to insert <b>ā¦</b>, <var>ā¦</var>, <span class=s>ā¦</span> etc. around the tokens. This helped a little bit. But I was still questioning my mental state doing it like that. I also had to fix a bunch of the end tags by hand, because the word movement wasnāt enough or the end movement went too far. Quite the annoying process for sure.
But I think the HTML looks a wee bit nicer and is maybe even semantically a little bit better than having only <span>s everywhere. I find the <span class="whatever"> just soo awfully long. Of course, I never look at the code again, but knowing, that e.g. there is a <b> and it saves so many bytes in comparison, makes me happy. It is a more elegant solution in my opinion. Not by much, but better nonetheless. Itās a matter of simplicity. Admittedly, even I canāt avoid the <span>s alltogether. Oh well. On the other hand, Iām sure that this does not make any difference whatsoever. I bet, nobody and nothing, like a screenreader, analyzes the HTML for that, where this would be truly useful.
Oh! Maybe text browsers, though. It just occurred to me while composing this reply. :-) Haha, I lost my bet quickly. w3m picks up at least the <b> for keywords and builtin types, <u> for filenames and <i> for comments. Yey. No different styles for <var> and <mark>, unfortunately. elinks only renders the bold. Itās cool that I had the right intuition right from the beginning, despite being unable to pinpoint it. :-)
All the <span> hell with common syntax highlighters is a downer for me that keeps me from looking more into them. If I wrote more articles, I might rig something up with Pygments. At least thatās somehow positively connotated in my brain. Not sure if it actually deserves it, but I dealt with that in some loose form (canāt even remember) years and years ago. Apparently, it wasnāt too terrible.
To prepare the table of contents, I used grep and sed with some manual intervention in the end. The entire process can be improved. Absolutely.
You wrote your own site generator, didnāt you?
@prologic@twtxt.net donāt get mad at me, but the long block of text didnāt address any of my questions. šš
@arne@uplegger.eu This is interesting. Sorry I missed this, I just found this post of yours and wanted to contribute š Hereās something interesting about me⦠I donāt ever talk to myself, like ever. I have no, what they call, āinner monologueā. Maybe Iām odd, but my wife asked me this very same question a while back and I said the same, there is never anything in my head except ideas, visuals or sounds, sometimes all at once, but never an inner monologue of ātalking to myselfā.
Of course, @movq@www.uninformativ.de! Most of my points are also included in your list.
First of all, programming is what I really do enjoy the most. So, it doesnāt make any sense at all to not do this anymore. āBut you could use your now free time to do something much cooler and more valuable!ā, others might reply. Fuck no, I donāt want to waste my time with other shit that doesnāt fulfill me, why on earth would I want to do that?
All this hallucination reduces quality badly. In my experience, itās also happening much more rapidly than I expected. Even though developers are still supposed to own and understand whatever has been generated under their name and even be responsible for that, the sad reality is that teammates often blindly trust the AI output. āBut I asked the AI and it told me that $this was impossibleā, āIāve no idea either, but the AI just generated itā are responses I get more often. What really makes my angry is when I point out a flaw and suggest an alternative and this is the reaction. It happened several times that just trying it out and seeing it clearly work to proof my point only took me half a minute, but people still did something handwavy else instead.
The learning effect is drastically reduced. The more time I spend on a topic, the better the odds that whatever I learned actually makes it over into long-term memory. Itās like if a collegue just says ādo it like thatā or āthis solves your problemā, but neither explains the why or how. Somehow, people are still convinced that itās a completely different story when you replace the human counterpart with a computer program in this equation.
Skills are unlearned. Itās like with automation in general, just much worse. You end up in a state where youāve no clue how anything works under the hood or how to actually find out important information that are needed to solve your problem. Youāre screwed when a process breaks out of the blue. Even though it can become also rather terrible, with classical automation youāre typically still be able to decipher how exactly the thing was supposed to do something.
The energy consumption is sooo high, I absolutely do not want to be a part in burning down our planet. Iām sure I find (and probably have long found without knowing) other ways to contribute to worsen our climate crisis.
The scraper part is already covered in detail in your list. :-)
Iām convinced that license and copyright violations are only played down or even refused entirely because companies want to make big money quickly. With the work of others of course. Their double standards are obvious, they still try to actively keep their own stuff secret and out of any training sets. At most for internal use only. Virtually noone in charge is interested in good long-term solutions. Short-term for the win, when disaster eventually strikes, the causers are long gone, the responsibilities in other hands.
Vendor lock-in is something that lots of folks are only realizing very slowly. Itās completely crazy to me. This drug dealer routine should be well-known by now. Itās fucking everywhere. Yet, people are always surprised when they found themselves caught in it.
Adding new AI stuff only increases complexity. But complexity is the enemy that everybody should fear and reduce as much as possible. Of course, this is not limited to AI at all. And everywhere I look around, people in charge looooove to make things way more complicated than they ever need to be. Yet, simplicity is the real art and much harder to achieve.
I donāt understand why we have to go back full force to the ambiguity of natural languages. This alone should be more than enough to realize what a stupid idea all that is. Linked to that is that the āinstruction setā is interpreted differently with newer model versions. I mean, is has to be. Why else would somebody want to upgrade in the first place than to get more Powerful⢠Featuresā¢?
Some people argue that with AI the democratization is empowered. However, in my view, the exact opposite is the case. Models are getting so large that you can basically not run them locally or even train them. So, you have to rely on whatever the vendor offers you and runs for you. In the end, this only gives the owners more power, the multi billionaires. Not exactly what I understand by democratization.
Finally, technology assessments are missing completely. Or they are faked such that mostly only the (questionable) benefits are listed. But all the negative impact is just ignored.
Letās keep some popcorn around for when this all explodes. :-)
Over there, on the othernet, I just stumbled upon the question:
When talking to yourself in your head, do you use āIā, āyouā, or āweā?
As for me, I say āweā - in regular situations. But if I fuck up, itās āyouā. šš
Blogging and the Niche Question ?~L~X https://thenewleafjournal.com/b/E1B
Ā”Muchas gracias @bender@twtxt.net! I was also thinking about categorizing them a few years ago. But itās so much work. I would have to tag every photo on its own. My use case goes more towards āgive me all albums with squirrelsā, though. Letās see. I would need some tooling for easy tagging first. And then, the question is, which categories do I want to have to begin with?
@lyse@lyse.isobeef.org AI result ahead, feel free to ignore.
I āaskedā the AI at work the same question out of morbid curiousity. It āsaidā that SQLite converts that integer to floating point internally on overflows and then, when converting back, the x86 instruction cvttsd2si will turn it into 0x8000000000000000, even if the actual floating point value is outside of that range. So, yes, it allegedly actually saturates, as a side effect of the type conversion.
I couldnāt find anything about that automatic conversion in SQLiteās manual, yet, but an experiment looks like it might be true:
sqlite> select typeof(1 << 63);
āāāāāāāāāāāāāāāāāāā®
ā typeof(1 << 63) ā
āāāāāāāāāāāāāāāāāāā”
ā integer ā
ā°āāāāāāāāāāāāāāāāāāÆ
sqlite> select typeof((1 << 63) - 1);
āāāāāāāāāāāāāāāāāāāāāāāā®
ā typeof((1 << 63) ... ā
āāāāāāāāāāāāāāāāāāāāāāāā”
ā real ā
ā°āāāāāāāāāāāāāāāāāāāāāāāÆ
As for cvttsd2si, this source confirms the handling of 0x8000000000000000 on range errors: https://www.felixcloutier.com/x86/cvttsd2si
The following C program also confirms it (run through gdb to see cvttsd2si in action):
<a href="https://yarn.girlonthemoon.xyz/search?q=%23include">#include</a> <stdint.h>
<a href="https://yarn.girlonthemoon.xyz/search?q=%23include">#include</a> <stdio.h>
int
main()
{
int64_t i;
double d;
/* -3000 instead of -1, because `double` canāt represent a
* difference of -1 at this scale. */
d = -9223372036854775808.0 - 3000;
i = d;
printf("%lf, 0x%lx, %ld\n", d, i, i);
return 0;
}
(Remark about AI usage: Fine, I got an answer and maybe itās even correct. But doing this completely ruined it for me. It would have been much more satisfying to figure this out myself. I actually suspected some floating point stuff going on here, but instead of verifying this myself I reached for the unethical tool and denied myself a little bit of fun at the weekend. Wonāt do that again.)
Hey all my dear twtxters! Again, please have a look at https://git.mills.io/yarnsocial/twtxt.dev/pulls/28 so that we can button the Twt Hash v2 Extension up soon. Love to get some feedback, comments, questions, doubts, critiques, improvements, etc.
@bender@twtxt.net Just for fun, I made it through the entire Wikipedia article and I find it interesting, how deeply one can analyze a fairytale. :-D This also made me realize that, as a kid, I never questioned why the princess was traveling alone without any servants etc.
Finally, the Danish language lacks the subjunctive. Wow! I didnāt know that.
Blog Questions Challenge Answers ?~L~X https://thenewleafjournal.com/b/DuL
@movq@www.uninformativ.de I donāt have any statistics, just observe what is around me, so itās very subjective. I know a bunch of kids with names Iāve never heard before. Sometimes, I first thought other kids were making fun of their friends by calling them by made-up nonsense. But no. Without question, I live under a rock. I just looked up some of them that came to mind immediately and they seem to be of Greek, Swedish and Latin origin, etc.
@bender@twtxt.net ICQ, yeah, I vaguely remember these times, despite I still know my ICQ number like it was yesterday. :-D
@shinyoukai@neko.laidback.moe No, itās not dead. The one account in question actually is on jabber.org.
odd question: anyone know if there is an informations system similar to this that is done over bluetooth?
httpd now sends the Last-Modified with UTC instead of GMT. Current example:
@lyse@lyse.isobeef.org Itās already fixed:
https://github.com/openbsd/src/commit/668f1f05e71c5e979d278f1ad4568956226715ea
Question is when that fix will land. š
Opinion / Question timeā¦
Do you think Mu (µ)ās native compiler and therefore emitted machine code āruntimeā (which obviously adds a bit of weight to the resulting binary, and runtime overheads) needs to support āruntime stack tracesā, or would it be enough to only support that in the bytecode VM interpreter for debuggability / quick feedback loops and instead just rely on flat (no stacktraces) errors in natively built compiled executables?
So in effect:
Stack Traces:
- Bytecode VM Interpreter: ā
- Native Code Executables: ā
Question to my fellow Vimers: Which snippet insertion mechanism are you using or can you (not) recommend?
@prologic@twtxt.net @movq@www.uninformativ.de A crocodile had bitten the big submarine internet cable that connects Australia to Europe. The investigations revealed that some construction work last week accidentally tore up the protective layer around it. That went unnoticed, unfortunately, so marine life had an easy job today. For just 40 minutes, they were quite fast in repairing the damage if you ask me! These communication cables are fricking large.
Just kidding, I completely made that up. :-D I didnāt notice any outage either. But I didnāt try to connect to Down Under at the time span in question.
I have a question! Iām looking for a small personal camera(specifically good for videos because thatās what Iāll use it for) thatās cheap enough for a teen to afford but also actually good. Do any of you tech people have any good recs?
@prologic@twtxt.net Letās go through it one by one. Hereās a wall of text that took me over 1.5 hours to write.
The criticism of AI as untrustworthy is a problem of misapplication, not capability.This section says AI should not be treated as an authority. This is actually just what I said, except the AI phrased/framed it like it was a counter-argument.
The AI also said that users must develop āAI literacyā, again phrasing/framing it like a counter-argument. Well, that is also just what I said. I said you should treat AI output like a random blog and you should verify the sources, yadda yadda. That is āAI literacyā, isnāt it?
My text went one step further, though: I said that when you take this requirement of āAI literacyā into account, you basically end up with a fancy search engine, with extra overhead that costs time. The AI missed/ignored this in its reply.
Okay, so, the AI also said that you should use AI tools just for drafting and brainstorming. Granted, a very rough draft of something will probably be doable. But then you have to diligently verify every little detail of this draft ā okay, fine, a draft is a draft, itās fine if it contains errors. The thing is, though, that you really must do this verification. And I claim that many people will not do it, because AI outputs look sooooo convincing, they donāt feel like a draft that needs editing.
Can you, as an expert, still use an AI draft as a basis/foundation? Yeah, probably. But hereās the kicker: You did not create that draft. You were not involved in the āthought processā behind it. When you, a human being, make a draft, you often think something like: āOkay, I want to draw a picture of a landscape and thereās going to be a little house, but for now, Iāll just put in a rough sketch of the house and add the details later.ā You are aware of what you left out. When the AI did the draft, you are not aware of whatās missing ā even more so when every AI output already looks like a final product. For me, personally, this makes it much harder and slower to verify such a draft, and I mentioned this in my text.
Skill Erosion vs. Skill EvolutionYou, @prologic@twtxt.net, also mentioned this in your car tyre example.
In my text, I gave two analogies: The gym analogy and the Google Translate analogy. Your car tyre example falls in the same category, but Geminiās calculator example is different (and, again, gaslight-y, see below).
What I meant in my text: A person wants to be a programmer. To me, a programmer is a person who writes code, understands code, maintains code, writes documentation, and so on. In your example, a person who changes a car tyre would be a mechanic. Now, if you use AI to write the code and documentation for you, are you still a programmer? If you have no understanding of said code, are you a programmer? A person who does not know how to change a car tyre, is that still a mechanic?
No, youāre something else. You should not be hired as a programmer or a mechanic.
Yes, that is āskill evolutionā ā which is pretty much my point! But the AI framed it like a counter-argument. It didnāt understand my text.
(But what if thatās our future? What if all programming will look like that in some years? I claim: Itās not possible. If you donāt know how to program, then you donāt know how to read/understand code written by an AI. You are something else, but youāre not a programmer. It might be valid to be something else ā but that wasnāt my point, my point was that youāre not a bloody programmer.)
Geminiās calculator example is garbage, I think. Crunching numbers and doing mathematics (i.e., ācomplex problem-solvingā) are two different things. Just because you now have a calculator, doesnāt mean itāll free you up to do mathematical proofs or whatever.
What would have worked is this: Letās say youāre an accountant and you sum up spendings. Without a calculator, this takes a lot of time and is error prone. But when you have one, you can work faster. But once again, thereās a little gaslight-y detail: A calculator is correct. Yes, it could have ābugsā (hello Intel FDIV), but its design actually properly calculates numbers. AI, on the other hand, does not understand a thing (our current AI, that is), itās just a statistical model. So, this modified example (āaccountant with a calculatorā) would actually have to be phrased like this: Suppose thereās an accountant and you give her a magic box that spits out the correct result in, what, I donāt know, 70-90% of the time. The accountant couldnāt rely on this box now, could she? Sheād either have to double-check everything or accept possibly wrong results. And that is how I feel like when I work with AI tools.
Gemini has no idea that its calculator example doesnāt make sense. It just spits out some generic āargumentā that it picked up on some website.
3. The Technical and Legal Perspective (Scraping and Copyright)The AI makes two points here. The first one, I might actually agree with (ābad bot behavior is not the fault of AI itselfā).
The second point is, once again, gaslighting, because it is phrased/framed like a counter-argument. It implies that I said something which I didnāt. Like the AI, I said that you would have to adjust the copyright law! At the same time, the AI answer didnāt even question whether itās okay to break the current law or not. It just said ālol yeah, change the lawsā. (I wonder in what way the laws would have to be changed in the AIās āopinionā, because some of these changes could kill some business opportunities ā or the laws would have to have special AI clauses that only benefit the AI techbros. But I digress, that wasnāt part of Geminiās answer.)
tl;drExcept for one point, I donāt accept any of Geminiās ācriticismā. It didnāt pick up on lots of details, ignored arguments, and I can just instinctively tell that this thing does not understand anything it wrote (which is correct, itās just a statistical model).
And it framed everything like a counter-argument, while actually repeating what I said. Thatās gaslighting: When Alice says āthe sky is blueā and Bob replies with āwhy do you say the sky is purple?!ā
But it sure looks convincing, doesnāt it?
Never againThis took so much of my time. I wonāt do this again. š
@prologic@twtxt.net when I first āfedā the text to Gemini, I asked for a three paragraphs summary. It provided it. Then I asked to āelaborate on three areas: user experience, moral/political impact, and technical/legal concernsā. The reply to that is too long for a twtxt.
I then asked to counter the OP opinionsāas in āhow would you counter the authorās opinion?ā. The reply was very long, but started like this:
āThatās an excellent question, as the post lays out some very strong, well-reasoned criticisms. Countering these points requires acknowledging the valid concerns while presenting a perspective focused on mitigation, responsible integration, and the unique benefits of AI.ā
What followed was extensive, so I asked for a summary, which didnāt do justice to the wall of text that preceded it.
Earthquake Prediction Flowchart
ā Read more
@zvava@twtxt.net Late happy birthday! :-)
Cool, your website indeed mostly works even in w3m and ELinks. Sending notifications in the about page is out of question, since it requires JS. Apart from that, this is very good, keep it up!
Not sure how I can get the deskop look and feel working in Firefox, but since Iām a tiling window manager user, I prefer linear webpages anyway. :-)
And maybe I should go back to using GUI designers. Havenāt used those since the Visual Basic days. š¤ It wasnāt pretty, but you got results very quickly and efficiently.
(When I switched to Linux, I quickly got stuck with GTK and that only had Glade, which wasnāt super great at the time, so I didnāt start using it ⦠and then I never questioned that decision ā¦)
@movq@www.uninformativ.de Yeah, new cars are totally out of question. If I ever have to, only rather old ones are contemplable.
Random question: does anyone here happen to know anything about retro hacking?
@movq@www.uninformativ.de @prologic@twtxt.net Unfortunately, I had to review a coworkerās code that was also spewed out the same way. It was abso-fucking-lutely horrible. I didnāt know upfront, but then asked afterwards and got the proud (!) answer that it indeed was āassistedā. I bet this piece of garbage result was never checked or questioned the tiniest bit before submitting for review. >:-( It didnāt even do the right thing as a bonus.
What a giant shitshow. Things just have to burn to the ground several times.
I noticed Google put out this article: https://android-developers.googleblog.com/2025/09/lets-talk-security-answering-your-top.html itās very current day Google, but the comments under the YouTube video are pretty on point and I saw a few familiar faces there. There is also, unexpectedly, ways to contact Google.
First a form for āteachers, students, and hobbyistsā, that I filled politely, as someone who falls under their hobbyist category. It can be filled both anonymously, or with an e-mail attached, to be contacted by them (I chose the second option).
Also a general feedback and questions form, that I was not as polite in and used to send them the following message:
I have already provided some feedback, in the teacher, student and hobbyists form/questionaire, as well as an open letter Iāve recently sent to the European Commission digital markets act team, as I do believe your proposal might not even be legal, given the fact it puts privacy-focused alternative app stores at risk (https://f-droid.org/cs/2025/09/29/google-developer-registration-decree.html) and it was proposed this early, after Google lost in court to Epic Games, over similar monopoly concerns. Why should we trust Google to be the only authority for all developer signatures, right after the European courts labeled it a gatekeeper?
Assuming this gets passed, despite justified developer backlash and at best questionable legality, can you give us any guarantees, this will not be used to target legal malware-free mods, or user privacy enhancing patchers, like the ones used for applying the ReVanced patches? I have made a few mods myself, but I am in no way associated with the ReVanced team. I just share many peoples concerns, Google Chrome has been conveniently stripped of its manifest v2 support, that made many privacy protecting extensions possible and now youāre conveniently asking for the government IDs, of all the developers, who maintain these kinds of privacy protections (be it patches, or alternative open-source apps) on Android.
I was trying to say (badly):
Thatās kind of my position on this. If we are going to make significant changes in the threading model, letās keep content based addressing, but also improve the user experience. Answering your question, yes I think we can do some combination of both.
@alexonit@twtxt.alessandrocutolo.it Yhays kind of love you!! Stance and position on this. If we are going to make chicken changes in the threading model, letās keep content based addressing, but also improve the use of experience. So in fact, in order to answer your question, I think yes, we can do some kind of combination of both.
@prologic@twtxt.net I know we wonāt ever convince each other of the otherās favorite addressing scheme. :-D But I wanna address (haha) your concerns:
I donāt see any difference between the two schemes regarding link rot and migration. If the URL changes, both approaches are equally terrible as the feed URL is part of the hashed value and reference of some sort in the location-based scheme. It doesnāt matter.
The same is true for duplication and forks. Even today, the ācannonical URLā has to be chosen to build the hash. Thatās exactly the same with location-based addressing. Why would a mirror only duplicate stuff with location- but not content-based addressing? I really fail to see that. Also, who is using mirrors or relays anyway? I donāt know of any such software to be honest.
If there is a spam feed, I just unfollow it. Done. Not a concern for me at all. Not the slightest bit. And the byte verification is THE source of all broken threads when the conversation start is edited. Yes, this can be viewed as a feature, but how many times was it actually a feature and not more behaving as an anti-feature in terms of user experience?
I donāt get your argument. If the feed in question is offline, one can simply look in local caches and see if there is a message at that particular time, just like looking up a hash. Whereās the difference? Except that the lookup key is longer or compound or whatever depending on the cache format.
Even a new hashing algorithm requires work on clients etc. Itās not that you get some backwards-compatibility for free. It just cannot be backwards-compatible in my opinion, no matter which approach we take. Thatās why I believe some magic time for the switch causes the least amount of trouble. You leave the old world untouched and working.
If these are general concerns, Iām completely with you. But I donāt think that they only apply to location-based addressing. Thatās how I interpreted your message. I could be wrong. Happy to read your explanations. :-)
nicks? i remember reading somewhere whitespace should not be allowed, but i don't see it in the spec on twtxt.dev ā in fact, are there any other resources on twtxt extensions outside of twtxt.dev?
@zvava@twtxt.net Good question. This is the spec, I think:
https://twtxt.dev/exts/metadata.html#nick
It doesnāt say much. š¤
In the wild, Iāve only seen ātraditionalā nick names, i.e. ASCII 0x21 thru 0x7E.
My client removes anything but r'[a-zA-Z0-9]' from nick names.
at first i dismissed the idea of likes on twtxt as not sensibleā¦like at all ā then i considered they could just be published in a metadata field (though that field could get really unruly after a while)
retwts are plausible, as āRE: https://example.com/twtxt.txt#abcdefgā, the hash could even be the original timestamp from the feed to make it human readable/writable, though im extremely wary of clogging up timelines
i thought quote twts could be done extremely sensibly, by interpreting a mention+hash at the end of the twt differently to when placed at the beginning ā but the twt subject extension requires it be at the beginning, so the clean fallback to a normal reply i originally imagined is out of the question ā it could still be possible (reusing the retwt format, just like twitter!) but iām not convinced itās worth it at that point
is any of this in the spirit of twtxt? no, not in the slightest, lmao
@zvava@twtxt.net I reckon thereās currently nobody working on v2. Which timezone are you in? Just post your questions here or head over to #yarn.social at libera.chat for a more realtime conversation via IRC.
is there someone (ideally not in the opposite timezone to me) whoād be willing to let me bother them with technical questions abt twtxtv2 and/or yarnās inner workings? :3
Is that really necessary? How hard is it to make a 32-bit build? š¤ Honest question. https://blog.mozilla.org/futurereleases/2025/09/05/firefox-32-bit-linux-support-to-end-in-2026/
@prologic@twtxt.net Iām not smart enough to answer that question. š Certainly feels like unregulated capitalism. Governments being too slow and/or unwilling to intervene ⦠Itās a mess.
@prologic@twtxt.net Hmm, good question. I havenāt checked the market, I got mine from someone I know. But to be honest, Iād suspect that buying a used one is actually your best shot, because there is virtually no market for these devices anymore, meaning new ones are very, very expensive. š«¤
FWIW, I have an OKI Microline 3390eco. Good thing is, you can still buy new cartridges for it.
If you want to buy a new device, check if it supports the āESC/Pā standard. Thatās very widely supported.
/short/ if it's of this useless kind. Never thought that they ever actually will improve their Atom feeds. Thank you, much appreciated!
@kat@yarn.girlonthemoon.xyz @movq@www.uninformativ.de Sorry, I neither finished it nor in time. :-( Thatās as good as itās gonna get for the moment: https://git.isobeef.org/lyse/gelbariab/-/tree/master/rss-proxys?ref_type=heads
The README should hopefully provide a crude introduction. The example configuration file is documented fairly well, I believe (but maybe not). You probably still have to consult and maybe also modify the source code to fit your needs.
Let me know if you run into issues, have questions, wishes etc.
Thank you for the questions that made me think
@movq@www.uninformativ.de @lyse@lyse.isobeef.org i like this emoji too (itās rhombus with question on my side)
Thanks @bender@twtxt.net! Yeah, so super cute. I couldnāt pet them, though. Despite very curious, they were also very restless.
I persuaded my dad to check out the fireflies with me tonight. He only wanted to go for a short trip, so we came just across a couple hundred of them. Otherwise, the thousands mark would have been exceeded in no time. He was super glad I talked him into that. :-)
It was also my first time to see them over the meadows. Those numbers donāt compare to the ones inside the forest, no question, but we probably saw 60 or so. Havenāt come across them there before, I only heard and read about that.
Note to future-Lyse next year: Leaving at 21:45 seems like a good time. We left earlier and had to wait just a few more minutes for them to come out in masses.
Too bad itās impossible to share photos or videos. My camera isnāt made for that at all, not even close.