All this hash breakage made me wonder if we should try to introduce āmessage IDsā after all. š
But the great thing about the current system is that nobody can spoof message IDs. š¤ When you think about it, message IDs in e-mails only work because (almost) everybody plays fair. Nothing stops me from using the same Message-ID
header in each and every mail, that would break e-mail threading all the time.
In Yarn, twt hashes are derived from twt content and feed metadata. That is pretty elegant and Iād hate see us lose that property.
If we wanted to allow editing twts, we could do something like this:
2024-09-05T13:37:40+00:00 (~mp6ox4a) Hello world!
Here, mp6ox4a
would be a āpartial hashā: To get the actual hash of this twt, youād concatenate the feedās URL and mp6ox4a
and get, say, hlnw5ha
. (Pretty similar to the current system.) When people reply to this twt, they would have to do this:
2024-09-05T14:57:14+00:00 (~bpt74ka) (<a href="https://yarn.girlonthemoon.xyz/search?q=%23hlnw5ha">#hlnw5ha</a>) Yes, hello!
That second twt has a partial hash of bpt74ka
and is a reply to the full hash hlnw5ha
. The author of the āHello world!ā twt could then edit their twt and change it to 2024-09-05T13:37:40+00:00 (~mp6ox4a) Hello friends!
or whatever. Threading wouldnāt break.
Would this be worth it? Itās certainly not backwards-compatible. š
@bender@twtxt.net On twtxt, I follow all feeds that I can find (there are some exceptions, of course). Thereās so little going on in general, it hardly matters. š
And I just realized: Muttās layout helps a lot. Skimming over new twts is really easy and itās not a big loss if there are a couple of shitposts⢠in my ātimelineā. This is very different from Mastodon (both the default web UI and all clients Iāve tried), where the timeline is always huge. Posts take up a lot of space on screen. Makes me think twice if I want to follow someone or not. š
(I mostly only follow Hashtags on Mastodon anyway. Itās more interesting that way.)
@cuaxolotl@sunshinegardens.org Ah, thanks for reporting back! Okay, so youāre basically manually ācrawlingā feeds right now. š¤ What do you think about the idea of adding something like # follow_notify = gemini://foo/bar
to your feedās metadata, so that clients who follow you can ping that URL every now and then? How would you even notice that, do you regularly read your gemini logs? š¤
Found this in an old copyright notice from 1993:
These images are not for use with the Microsoft Windows environment. Using these patterns in a Windows environment consitutes a copyright violation.
Someone clearly didnāt like Windows.
jenny --fetch-context
š
I think you are worrying about a non-issue.
Thatās what I do best. š
35°C and rising ⦠can haz winter?
@yarn_police@twtxt.net I was just about to remove this feed from my config because it was stale ⦠š
fetch-context
branch. This integrates the whole thing into mutt/jenny.
I think Iām not going to query Yarn pods for the moment. Letās first see how often Iād actually need that. š¤
There was a garbage bag incident last night and I had to clean up the kitchen for two hours. š Now Iām sore as fuck. Good thing I have a day off today, huh? š¤Ŗ
@falsifian@www.falsifian.org @bender@twtxt.net I pushed an alternative implementation to the fetch-context
branch. This integrates the whole thing into mutt/jenny.
You will want to configure a new mutt hotkey, similar to the āreplyā hotkey:
macro index,pager <esc>C "\
<enter-command> set my_pipe_decode=\$pipe_decode nopipe_decode<Enter>\
<pipe-message> jenny -c<Enter>\
<enter-command> set pipe_decode=\$my_pipe_decode; unset my_pipe_decode<Enter>" \
"Try to fetch context of current twt, like a missing root twt"
This pipes the mail to jenny -c
. jenny will try to find the thread hash and the URL and then fetch it. (If thereās no URL or if the specific twt cannot be found in that particular feed, it could query a Yarn pod. That is not yet implemented, though.)
The whole thing looks like this:
https://movq.de/v/0d0e76a180/jenny.mp4
In other words, when thereās a missing root twt, you press a hotkey to fetch it, done.
I think I like this version better. š¤
(This needs a lot of testing. š)
You might have seen me popping up on IRC. This is how it looks:
Thatās EZirc from the 1990ies. (It says it needs Warp 4, but runs fine on Warp 3.)
Lots of this old stuff still works (technically), but as @lyse@lyse.isobeef.org said: A lot of it really is dead. Thereās not much going on anymore in Usenet.
159-196-9-199.9fc409.mel.nbn.aussiebb.net
This has become quite a large thread. š
@xuu@txt.sour.is I donāt even have a WhatsApp password, it never asked me? š¤
Just realized that phone came with a bunch of āhiddenā Meta/Facebook services pre-installed and they cannot be uninstalled, so I guess me trying to āfightā WhatsApp is pointless anyway. š¤Ŗ
⦠and then people call me a āludditeā. š¤£š
@bender@twtxt.net Sigh. 𫤠Elon Musk should buy Meta. Problem solved. š¤£
I love shell scripts because theyāre so pragmatic and often allow me to get jobs done really quickly.
But sadly theyāre full of pitfalls. Pitfalls everywhere you look.
Today, a coworker ā whoās highly skilled, not a newbie by any means ā ran into this:
$ bash -c 'set -u; foo=bar; if [[ "$foo" -eq "bar" ]]; then echo it matches; fi'
bash: line 1: bar: unbound variable
Whyās that happening? I know the answer. Do you? š
Stuff like that made me stop using shell scripts at work, unless theyāre just 4 or 5 lines of absolutely trivial code. Itās now Python instead, even though the code is often much longer and clunkier, but at least people will understand it more easily and not trip over it when they make a tiny change.
@prologic@twtxt.net 35°C outside. 𫤠Iām just gonna sit here and wait for November. š
It is too hot to think. š„µ
QOTD: Whatās your favorite technological advancement in the last ~10 years? š¤
@aelaraji@aelaraji.com Exactly! š
Itās not what I meant (I was referring to the motor of the desk making a whirring sound š), but now Iām reminded of this: https://www.youtube.com/watch?v=9sKppwrLBY8
What the heck is going on here today, so many messages. š
Regarding complexity budget, slow software, all that:
Very few people do take pride in building simple, elegant, high-quality systems, do they? Why is that? Why are huge shiny things with tons of features more attractive? š¤
I never explicitly thought about this, to be honest. It was only at the back of my head. And I never tried to teach our younger āstudentsā at work: āHey, itās a great achievement to build something simple and elegant. Thatās something to be proud of!ā
Worse, simple software is often described as āboringā. Yes, in a way, it is boring, because your brain doesnāt have to get into overdrive to understand it. But thatās exactly the point. And itās hard to achieve that! Simple software isnāt just āfewer lines of codeā, you have to be pretty clever to solve a problem in a simple and elegant way. So itās something to be proud of.
Could this be an intuitive, emotional way to get more people on board the āsimple softwareā-train? š¤
The āMatrix Experimentā, i.e. running a Matrix server for our family, has failed completely and miserably. People donāt accept it. They attribute unrelated things to it, like āI canāt send messages to you, I donāt reach you! It doesnāt work!ā Yes, you do, I get those messages, I just donāt reply quickly enough because Iām at work or simply doing something else.
Iāll probably shut it down.
Nobody cares about privacy. The reasons I bring up in discussions are ātoo nerdyā. They put all their stuff to Google or Apple, so why would messaging be any different? (Weāre not even using all those Matrix crypto stuff ⦠That would be insane.)
Itās a lost cause. Iām frustrated.
Will I give in and use WhatsApp instead? Not sure yet.
@prologic@twtxt.net Hmm, yeah, hmm, Iām not sure. š It all appears very subjective to me. Is 2k lines of code a lot or not?
I mean, Iām all for reducing complexity. š I just have a hard time defining it and arguing about it. What I call ātoo complexā, others might think of as ājust fineā. š¤
Even if it might sound a bit overdramatic: Having a āmostly workingā dwl Wayland setup now is a huge relief. š Itās quite the weight off my shoulders.
There are still lots of items on my TODO list, but if X.Org were to die tomorrow, I wouldnāt be completely screwed. Only, like, 30% screwed.
Speaking of āAIā ⦠I guess I gotta find out soon how to disable/sabotage Microsoftās āRecallā, before this garbage takes over the family computers. š©
(Thereās no way the people in question will switch operating systems. Iāve tried, countless times.)
@aelaraji@aelaraji.com I think thatās the correct URL: https://staystrong.run/user/bmallred/twtxt.txt
QOTD: Which web search engine do you use? š
Anyone got a link to a robots.txt that āblocksā all the āAIā stuff?
Thinking about disabling the two extra buttons for āforwardā and ābackwardā on my mouse, because todayās websites donāt support this anymore, and itād safe me the constant moments of āoh for fuckās sakeā. š
Another thing that doesnāt work anymore after blocking network traffic from my Android phone: Some push notifications.
I run a Matrix server for our family. I use āFluffyChatā on my phone. Traffic from the phone to my Matrix server is allowed and chatting in FluffyChat works.
But I donāt get any notifications anymore on new messages.
So, whatās going on here? Does FluffyChat, which only really needs to talk to my own server, rely on some cloud service for notifications? Seriously? š¤ How does that work, does this cloud service see all my notifications or what?
Anyone around who did app development on Android? Can you shed some light on this?
:set formatoptions-=t
in vim would stop the annoying line breaking I've been having in my twts... And I guess, that's it! Things are looking OK on my end.
@aelaraji@aelaraji.com Thatās the trick, yep. š I have something like this in my .vimrc
:
au BufRead,BufNewFile jenny-posting.eml setl fo-=t wrap
Is this āflat UIā madness ever going to end? Iām beginning to lose hope.
@bender@twtxt.net To quote from the german version of ISO 27001:
Ćnderungen an Informationsverarbeitungseinrichtungen und Informationssystemen sollten Gegenstand von Ćnderungsmanagementverfahren sein.
Fuck off, you cunts. š¤£š
If youāre using jenny on Python 3.12, it will spit out a deprecation warning regarding datetime.utcnow()
. This will be fixed in the next release.
@johanbove@johanbove.info Is there any reason to use this program? I canāt remember when I last had it installed, must have been early 2000ās.
Hey @sorenpeter@darch.dk, Iām sorry to tell you, but the prev
field in your feedās headers is invalid. š
First, it doesnāt include the hash of the last twt in the archive. Second, and thatās probably more important, it forms an infinite loop: The prev
field of your main feed specifies http://darch.dk/twtxt-archive.txt and that file then again specifies http://darch.dk/twtxt-archive.txt. Some clients might choke on this, mine for example. š Iāll push a fix soon, though.
For reference, the prev
field is described here: https://dev.twtxt.net/doc/archivefeedsextension.html
Letās not forget that this gem exists: Primus - Mr. Krinkle š·š¶ https://www.youtube.com/watch?v=TOdo7dhvSwg #NowPlaying
More basement:
I completely forgot that DVD-RAM was a thing once. Found my old disks and they still work. 𤯠The data on them is from 2008, so theyāre not that old. Still impressive.
The disks are two-sided. On the photo, that particular side of the disk on the left appears to be completely unused. š¤
And then I read on Wikipedia that DVD-RAMs arenāt produced anymore at all today. Huh.
(I refuse to tag this as āretrocomputingā. Read/write DVDs that you can use just like a harddisk, thanks to UDF, are still ānew and fancyā in my book. š)
Iām this close to making an Android app for managing a shopping list.
I just accidentally deleted the wrong list in the app that Iām currently using, and now thereās no way to get it back. Recreating it is a major pain, because typing on a phone sucks ass. Fuck.
Maybe I should just go back to using pen and paper ā¦
Not making THREADING the default view of e-mail clients and thus teaching users that e-mail is āchaoticā (if you get a lot of mail, it becomes unusable without threading) and āneedsā full quoting all the time was one of the worst mistakes ever.
@prologic@twtxt.net High five, Iām āgeneration Javaā as well! š There were some leftovers of C++, we used that in the computer graphics courses in Uni a lot. But pretty much anything else that involved programming was Java.
(There was nothing even remotely resembling CS in our āhigh schoolā. That school neither had the required teachers nor the equipment / PCs.)
I finally found the NASM assembler.
I had heard that name before, many times, but somehow never looked into it. Weird. š¤Øš¤
This is the kind of program I was looking for.
- It is free software. Especially in the DOS ecosystem, free/libre software is a very scarce resource.
- Itās a small command line program, not a huge behemoth.
- Documentation appears to be well written.
- It can even cross-compile DOS binaries from Linux.
I noticed that some of my software projects have a rather long lifetime, so I made a little graph:
@xuu@txt.sour.is That was one of the horror puzzles where I had to look for help. š„“ I modelled my solution after this: https://www.youtube.com/watch?v=2pDSooPLLkI (I canāt explain it better than the video anyway.) It takes a second on my machine and thatās with my own hashmap implementation which is probably not the fastest one.
@lyse@lyse.isobeef.org They sure are silly at times. :-) You really have to combine this event with something else, like learning a new language. Otherwise it gets boring real quick.
What I absolutely love about AoC is that itās ā indeed ā a bit like school. š The problems are well-defined, the inputs are well-defined, and there is a definite answer. Itās either right or wrong ā period. Compared to real life and work, I welcome this very much. š¤£
But when you do take the time to analyze / reverse-engineer this puzzle, then itās really cool. Might be my favorite one so far. š
Iām really bad at competitive programming. š For todayās #AdventOfCode puzzle, I spent an eternity trying to understand exactly what kind of bG9naWMgY2lyY3VpdAo= the puzzle input describes ā I havenāt done that in well over a decade, so I made little progress. I knew right from the start that SSBoYWQgdG8gbG9vayBmb3IgY3ljbGUgbGVuZ3RocyBhbmQgdGhlbiBmaW5kIHRoZSBMQ00K. It just didnāt occur to me to just run my program on cGFydGlhbCBpbnB1dAo= and print those numbers. š„“ I only did that after over 4 hours (including time to debug my nasty C code) and then, boom, solution ā¦
Ah, there it is. Todayās AoC puzzle is of a categeory that I find the least interesting. Gonna take my time with this one. š“
I bet todayās AoC puzzle was the last easy one before we descend into madness. š¤£