git.mills.io today (after finishing work) and this is what I found 𤯠Tehse asshole/cunts are still at it !!! 𤬠-- So let's instead see if this works:
@aelaraji@aelaraji.com Ahhh! That would be even funnier and even more brilliant! 𤣠If you can find this, I would happily employ this tactic next time and make āem pay š° Bahahahaha š¤£
@prologic@twtxt.net it would have been so much easy to run your own. I guess we all like to suffer every once and then, and this time is your turn. š
Fark me again with the bots. This time DDoS-style crawling from hundreds of IPs and dozens of ASN(s) wtf?!
Iāve had to disale the Ingress to my Git instance for the time being,
i need to sleep and I canāt fight this :/
@movq@www.uninformativ.de Seems fine to me! Plenty of time to get our shit⢠in order! š
twtxt.net) was being hammered by something at a request rate of 30 req/s (there are global rate limits in place, but still...). The culprit? Turned out to be a particular IP 43.134.51.191 and after looking into who own s that IP I discovered it was yet-another-bad-customer-or-whatever from Tencent, so that entire network (ASN) is now blocked from my Edge:
@prologic@twtxt.net Time to make a new internet. Maybe one that intentionally doesnāt āscaleā and remains slow (on both ends) so itās harder to overload in this manner, harder to abuse for tracking your every move, ⦠Got any of those 56k modems left?
(Iām half-joking. āMake The Internet Expensive Againā like it was in the 1990ies and some of these problems might go away. Disclaimer: I didnāt have my coffee yet. š )
Fark me š¤¦āāļø I woke up quite late today (after a long night helping/assisting with a Mainframe migration last night fork work) to abusive traffic and my alerts going off. The impact? My pod (twtxt.net) was being hammered by something at a request rate of 30 req/s (there are global rate limits in place, but stillā¦). The culprit? Turned out to be a particular IP 43.134.51.191 and after looking into who own s that IP I discovered it was yet-another-bad-customer-or-whatever from Tencent, so that entire network (ASN) is now blocked from my Edge:
+# Who: Tentcent
+# Why: Bad Bots
+132203
Total damage?
$ caddy-log-formatter twtxt.net.log | cut -f 1 -d ' ' | sort | uniq -c | sort -r -n -k 1 | head -n 5
61371 43.134.51.191
402 159.196.9.199
121 45.77.238.240
8 106.200.1.116
6 104.250.53.138
61k reqs over an hour or so (before I noticed), bunch of CPU time burned, and useless waste of my fucking time.
All my newly added test cases failed, that movq thankfully provided in https://git.mills.io/yarnsocial/twtxt.dev/pulls/28#issuecomment-20801 for the draft of the twt hash v2 extension. The first error was easy to see in the diff. The hashes were way too long. Youāve already guessed it, I had cut the hash from the twelfth character towards the end instead of taking the first twelve characters: hash[12:] instead of hash[:12].
After fixing this rookie mistake, the tests still all failed. Hmmm. Did I still cut the wrong twelve characters? :-? I even checked the Go reference implementation in the document itself. But it read basically the same as mine. Strange, what the heck is going on here?
Turns out that my vim replacements to transform the Python code into Go code butchered all the URLs. ;-) The order of operations matters. I first replaced the equals with colons for the subtest struct fields and then wanted to transform the RFC 3339 timestamp strings to time.Date(ā¦) calls. So, I replaced the colons in the time with commas and spaces. Hence, my URLs then also all read https, //example.com/twtxt.txt.
But that was it. All test green. \o/
Geologic Core Sample
ā Read more
@lyse@lyse.isobeef.org @bender@twtxt.net Pfft, they want folks to relocate to Sydney. Fuck that 𤣠Sydney is a bit like San Francisco, Iām not actually sure which is worse. Fuckān expensive as hell, the only palce youād be able to afford to buy or rent is at least ~2hrs out of the city by public transport (i.e: train) and by that time youāve just pissed your life down the toilet, because youād be expected ot work a 9-10hr day + 2-3hrs of travel each way, buy the time you factor in having to wake up super early to get ready to travel in to work, you basically have zero time for anything else, let alone your ufamily,
Fuck that.
@prologic@twtxt.net I couldnāt have phrased it any better than @bender@twtxt.net. :-)
Twice or three times the money as before sounds a bit suspicious to me. Of course, I could be wrong, but I always was under the impression, that your last jobs werenāt all that badly salaried. If the new offer is really paid this highly, it might be a shit job. For me, money isnāt everything, Iād rather opt for a lower income where the job is fun than hating to go to work every day. But if the new job ticks all boxes, go for it. :-)
Also: Consult your pillow, donāt rush it.
I had no meetings this arvo, so I made an appointment with the woods in my extended lunch break. The 6°C warm sun was out all day long and there was only a very light breeze. So, a very nice autumn day.
When I stopped to take a photo in the forest, a deer behind me took off into the woodland. I didnāt see it before. Also, I came across one or the other clearing. Sadly, itās all commercial timberland here. Luckily, in a year or so, when nature slowly took over and reclaimed some spots, the apocalyptic sites are then looking a bit more decent again.
Cleaning of the ruin walls on my backyard mountain slowly takes shape. They made some progress and moved on to the other section. The flag on top is halfway disintegrated again, all the yellow half is completely gone. Iām wondering if they just stop replacing it at some point in time. But probably not.
@lyse@lyse.isobeef.org @bender@twtxt.net thatās also what Yarn.socialās logo is, and just happens to be the yarnd default. Hmmm figured times for a change? š¤
I know its been a long time, but I did come about around to howl a bit recently https://git.gay/xjix/howl needs a ton of work to be usable, but I think itll be a fun way to browse the twtxtverse.
@movq@www.uninformativ.de I think I now remember having similar problems back then. Iām pretty sure I typically consulted the Qt C++ documentation and only very rarely looked at the Python one. It was easy enough to translate the C++ code to Python.
Yeah, the GIL can be problematic at times. Iām glad it wasnāt an issue for my application.
@prologic@twtxt.net Hm, same startup delay. (Go is not an option for me anyway.)
Itās hard to tell why all this is so slow. Maybe in this particular case it has something to do with fonts: strace shows the program loading the fontconfig configs several times, and that takes up a bulk of the startup time. š¤ (Qt6 or Java donāt do that, but theyāre still slow to start up ā for other reasons, apparently.)
To be fair, itās ājustā the initial program startup (with warm I/O caches). Once itās running, itās fine. All toolkits Iāve tried are. But I donāt want to accept such delays, not in the year 2025. š Imagine every terminal window needing half a second to appear on the screen ⦠nah, man.
I like to read through old RPG books and zines for inspiration for my games, and lately Iāve been enjoying the Arduin Grimoire (https://en.wikipedia.org/wiki/Arduin), one of the earliest 3rd-party zines (coming out during the initial run of OD&D). Itās filled with a bunch of unique ideas (some better than others), entirely too many charts, and is very much a product of its time, but thereās something about its ārawā-ness (and its variety) that I still find appealing.
Be it Java with Swing or PyQt6, it takes ~300 ms until a basic window with a treeview and a listbox appears. That is a very noticeable delay.
Is it unrealistic to expect faster startup times these days? š¤
Once the program is running, a new second window (in the same process) appears very quickly. So itās all just the initialization stuff that takes so long. I could, of course, do what āfatā programs have done for ages: Pre-launch the process during boot, windowless. But I was hoping that this wasnāt needed. š (And itās a bad model anyway. When the main process crashes, all windows crash with it.)
Man, @quark@ferengi.one has an absolute gold mine. Having dealt again with different clocks and all sorts of strange time things at work today, this made my day! https://netbros.com/1755172401/ :ā-D
@bender@twtxt.net Twtxt <-> ActivityPub (2nd timeās the charm? š¤£)
This looks like a botnet, to be honest. The IPs are all over the place. Ethopia, Brazil, Kenya, Lebanon, Netherlands, ⦠I mean, thatās the logical thing to do, isnāt it? Do your web crawling on infected PCs. Nobody will block those, because those are the same IP ranges as legitimate requests. And obviously you donāt have to pay for computing time.
⦠and they all send invalid HTTP requests, all answered with HTTP 400 ⦠How silly.
I used Gemini (the Google AI) twice at work today, asking about Google Workspace configuration and Google Cloud CLI usage (because we use those a lot). Youād think that itād be well-suited for those topics. It answered very confidently, yet completely wrong. Just wrong. Made-up CLI arguments, whatever. It took me a while to notice, though, because itās so convincing and, well, you implicitly and subconsciously trust the results of the Google AI when asking about Google topics, donāt you?
Will it get better over time? Maybe. But what I really want is this:
- Good, well-structured, easy-to-read, proper documentation. Google isnāt doing too bad in this regard, actually, itās just that they have so much stuff that itās hard to find what youāre looking for. Hence ā¦
- ⦠I want a good search function. Just give me a good fuzzy search for your docs. Thatās it.
I just donāt have the time or energy to constantly second-guess this stuff. Give me something reliable. Something that is designed to do the right thing, not toy around with probabilities. āAI for everythingā is just the wrong approach.
@bender@twtxt.net Of course, I didnāt do anything yet at all. Maybe I will find some time next weekend. Letās see.
Android shopping list apps disappointed me too many times, so I went back to writing these lists by hand a while ago.
Hereās whatās more fun: Write them in Vim and then print them on the dotmatrix printer. š„³
And, because I can, I use my own font for that, i.e. ImageMagick renders an image file and then a little tool converts that to ESC/P so I can dump it to /dev/usb/lp0.
(I have so much scrap paper from mail spam lying around that I donāt feel too bad about this. All these sheets would go straight to the bin otherwise.)

Thank you for the encouragement and love and kind words, @lyse@lyse.isobeef.org @movq@www.uninformativ.de @bender@twtxt.net @doesnm@doesnm.p.psf.lt and others along the way Iām not sure of their feed uris š Iāll keep at it, but for the time being I will keep my distance, mostly off IRC, because I donāt have the energy to spare in that kind of engagement (what//if the worst happens, itās so draining). I need to remember what I ever did any of this for, it was back in ~2020 and I wanted really to build small interconnected communities that any non ātech savvyā person (more or less) could also benefit from ane enjoy. Even if there are aspects of the specs weāve built/extended over time that arenāt āperfectāā¢, theyāre āgood enoughā⢠that theyāve last 5+ years (I believe this is 6 years running now). I want to spend a bit of time going back to why I did any of this in the the first place, and get a little micro-SaaS offering going (barely covering running costs) so encourage more folks to run pods, and thus twtxt feeds and grow the community ever so slightly. Other than that, I plan to get the specs āin orderā to a point (with @movq@www.uninformativ.de and @lyse@lyse.isobeef.orgās help) where I hope theyāll stand the test of time ā like SMTP.
Thank you all ! š
Welcome to the party, @threatcat@tilde.club! I reckon itās totally fine what youāre doing. Over time, message counts naturally drop anyway. :-D And this is fine, too.
@quark@ferengi.one Very sad indeed! :-(
@eldersnake@we.loveprivacy.club Unfortunately, itās back down again. But my hopes are high as it is a 503 this time and not a connection error anymore. :-)
@prologic@twtxt.net nothing to be sorry about. It gave me time to watch TV with kids! š¤
Double congrats, @thecanine@twtxt.net! \o/
Iām not a fan of the gemtext limits. This being only a single page (which probably doesnāt get updated a whole lot), the efforts of having two dedicates files are not all that big, or so Iād at least naively imagine.
I always recommend checking the W3C validator results, even though Iām very guilty of not doing that myself. It just doesnāt occur to me in the heat of the moment. I reckon if I were writing HTML on a more regular basis, I would pick up on making that a real habit. Anyway, your HTML being generated, you probably canāt address the findings, though. So, might not be even worth the time heading over to the validator.
From a privacy point of view, personally, I would definitely host the CSS myself. Other than that, nice link collection. :-)
@eldersnake@we.loveprivacy.club What version are you running btw? Itās probably time you upgraded and time I released a new version finally š If youāre running a version thatās pre-SQLite-cache, then yeah Iām not surprised. The SQLite cache version is honestly much better š¤£
@prologic@twtxt.net Heāll be probably back in a few days or weeks I reckon. Itās not the first time that his raspi (or what hardware does he use again?) is down. :-)
⦠and now I just read @bender@twtxt.netās other post that said the Gemini text was a shortened version, so I might have criticized things that werenāt true for the full version. Okay, sorry, Iām out. (And I wonāt play that game, either. Donāt send me another AI output, possibly tweaked to address my criticism. That is besides the point and not worth my time.)
@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. š
This brings a thought I had for a long time, why canāt we upload arbitrary files to a twtxt? If not an image, make it simply a link. I could have used such feature to upload the text.
You do raise very good points though, but I donāt think any of this is particularly new because there are many other examples of technology and evolution of change over time where people have forgotten certain skills like for example, changing a car tyre
Winning animations (TkSolās timing is screwed up): https://movq.de/v/92d7758740
@movq@www.uninformativ.de Oh shit! :-( Time to switch companies. If you found something, please let me know. This hype train is derailing here as well.
Okay folks Iām calling it. See yāall again next time. Hopefully more of you make it next time š¤
@movq@www.uninformativ.de Yeah, give it a shot. At worst you know that you have to continue your quest. :-)
Fun fact, during a semester break I was actually a little bored, so I just started reading the Qt documentation. I didnāt plan on using Qt for anything, though. I only looked at the docs because they were on my bucket list for some reason. Qt was probably recommended to me and coming from KDE myself, that was motivation enough to look at the docs just for fun.
The more I read, the more hooked I got. The documentation was extremely well written, something Iāve never seen before. The structure was very well thought out and I got the impression that I understood what the people thought when they actually designed Qt.
A few days in I decided to actually give it a real try. Having never done anything in C++ before, I quickly realized that this endeavor wonāt succeed. I simply couldnāt get it going. But I found the Qt bindings for Python, so that was a new boost. And quickly after, I discovered that there were even KDE bindings for Python in my package manager, so I immediately switched to them as that integrated into my KDE desktop even nicer.
I used the Python KDE bindings for one larger project, a planning software for a summer camp that we used several years. Itās main feature was to see who is available to do an activity. In the past, that was done on a large sheet of paper, but people got assigned two activities at the same time or werenāt assigned at all. So, by showing people in yellow (free), green (one activity assigned) and red (overbooked), this sped up and improved the planning process.
Another core feature was to generate personalized time tables (just like back in school) and a dedicated view for the morning meeting on site.
It was extended over the years with all sorts of stuff. E.g. I then implemented a warning if all the custodians of an activitiy with kids were underage to satisfy new the guidelines that there should be somebody of age.
Just before the pandemic I started to even add support for personalized live views on phones or tablets during the planning process (with web sockets, though). This way, people could see their own schedule or independently check at which day an activity takes place etc. For these side quests, they donāt have to check the large matrix on the projector. But the project died there.
Hereās a screenshot from one of the main views: https://lyse.isobeef.org/tmp/k3man.png
This Python+Qt rewrite replaced and improved the Java+Swing predecessor.
@movq@www.uninformativ.de Uh, that actually looks not that terrible. Somehow, I remember Swing GUIs being way uglier.
As for Visual Basic, I only had to use VBA once in my life. That was in the beginning of my career when I inherited a project from a leaving coworker. Fuck me, was that awful. Just alone the damn compiler error dialog box popping up in my face all the time while editing and the compiler already trying to parse the unfinished and hence of course uncompilable code. Boy, that left a lasting impression on me. I ported everything to Java very quickly. Luckily, the code base wasnāt all that large at that point in time. I had to add a bunch of new features after that, so I was very glad that I convinced my workmate/project manager to do that first. We didnāt even need a GUI, the button in Excel was transformed to a command line program that just generated the large file.
But I cannot comment on the VB GUI designer, I never used that. Your screenshot looks very similar to the Delphi one, though. Only towards the end of my Delphi days I found out about the possibility to make the widgets snap to window edges and corners (I donāt remember how that was called), so that resizing the windows was actually possible without messing up their entire contents.
Switching to Linux, Delphi wasnāt an option anymore. For some reason I couldnāt use Kylix. Maybe it was already dead by the time I changed OSes. Or I couldnāt get it to run. I just donāt remember. I just recall that the unavailability of Delphi was the reason it took me a while to actually settle on Linux. I then fully switched to Java. The GridBagLayout was my absolutely favorite Swing layout manager. I reckon I used it 98% of the time, because it was so powerful and made the windows resize properly, just as I had learned to do in Delphi shortly before.
Up until discovering Swing, I used Javaās AWT for a short amount of time. That was very limited I think and I hit the limits fairly quickly. Later at uni, we had one project making use of SWT. Didnāt convince me either. I could be wrong, but I think there was also a SWT GUI designer plugin for Eclipse. If there really was, that one wasnāt in the same street as Delphiās (there must be a reason I forgot about it ;-)).
@movq@www.uninformativ.de Donāt you worry, this was meant as a joke. :-D
There was a time when I thought that Swing was actually really good. But having done some Qt/KDE later, I realized how much better that was. That were the late KDE 3 and early KDE 4 days, though. Not sure how it is today. But back then it felt Trolltech and the KDE folks put a hell lot more thought into their stuff. I was pleasantly surprised how natural it appeared and all the bits played together. Sure, there were the odd ends, but the overall design was a lot better in my opinion.
To be fair, I never used it from C++, always the Python bindings, which were considerably more comfortable (just alone the possibility to specify most attributes right away as kwargs in the constructor instead of calling tons of setters). And QtJambi, the Java binding, was also relatively nice. I never did a real project though, just played around with the latter.
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 ā¦)
Just typing twts directly into my twtxt file.
Details:
- Opening my twtxt file remotely using
vim scp://user@remote:port//path/to/twtxt.txt
- Inserting the date, time and tab part of the twt with
:.!echo "$(date -Is)\t"
- In case I need to add a new line I just
Ctrl+Shift+u, type in the2028and hitEnter
- In order to replay, you just steal a twt hash from your favorite Yarn instance.
It looks tedious, but itās fun to know I can twt no matter where I am, as long as can ssh in.
@bender@twtxt.net Hm, are we talking about different dates or are there different timezone offsets for this timezone abbreviation? With EDT being UTC-4, 2025-11-02T12:00:00Z is Sunday at 8:00 in the morning local time for you. Or were did I mess up here? :-?
@prologic@twtxt.net You want me to submit a reply with āI probably wonāt show upā?
@lyse@lyse.isobeef.org then I blame @prologic@twtxt.net, and no one else. LOL. But yeah, it is Saturday around 06:00 my time (EDT).
@lyse@lyse.isobeef.org then I blame @prologic@twtxt.net, and no one else. LOL. But yeah, it is Saturday around 08:00 my time (EDT).
@bender@twtxt.net Thereās a reason itās in UTC time š¤£
@movq@www.uninformativ.de Itās way more expensive and time-consuming in the end. If only somebody had warned us!!1
The triangle reminds me of zalgo text: https://en.wikipedia.org/wiki/Zalgo_text
@lyse@lyse.isobeef.org Theyāre seriously telling us at work: āCan it be AIād? Do it, donāt waste time!ā Shit like that is the result. (Whatās this weird gray triangle in the bottom right corner?)
man and it calls home to see if I'm allowed to do that.
Because OP twtxt seems to be a cross-post from the Fediverse, I am bringing some context here. It refers to this GitHub issue. This comment explains why the issue described is happening:
This is usually due to notarization checks. E.g. the binaries are checked by the notarization service (āXProtectā) which phones home to Apple. Depending on your network environment, this can take a long time. Once the executable has been run the results are usually cached, so any subsequent startup should be fast.
OP network must be running on 1,200 Baud modem, or less. š¤ I have never, ever, experienced any distinguishable delays.
Turned out I didnāt make it, sorry. Maybe next time. I hope you had a great yarn, @prologic@twtxt.net and @bender@twtxt.net, and didnāt waste any time waiting for me.