@falsifian@www.falsifian.org Hahaha, thatās sick, I love it! :-D I envy you a bit. On the other hand, I have to admit Iām glad that I donāt have to chisel down giant blocks of ice from the house.
@falsifian@www.falsifian.org Mate, what an amazing video, holy cow! :-D We only get complete jokes of icicles compared to what you had there ealier today. Itās a giant wall. For how many days did that grow on your roof?
@falsifian@www.falsifian.org Oh, thatās neat! Interesting how āobviouslyā isnāt all that obvious at all, even to the contrary. I reckon I have to read up on that subject on the weekend. :-)
I like how Ianās and your photo complement each other, winter and summer join forces for something special. :-)
@falsifian@www.falsifian.org Wooooaaaahhh! That is BY FAR the biggest icicle Iāve ever seen. Really cool! :-) How long did it take to melt in your sink? The video download is still dripping in, looking forward to that.
twtxt, the microblogging for hackers and friends...
@eapl.me@eapl.me I couldnāt care less about ActivityPub, but twtxt is the thing for hackers by design. Thatās the appealing part for me, personally. I actually do enjoy that not everybody and their dogs are here. :-)
@thecanine@twtxt.net I agree!
@movq@www.uninformativ.de @prologic@twtxt.net I donāt know, I donāt see this happening all that often. Very rarely. The problem I encounter much more often is that tech folks are blindly adopting every new hype without thinking the slightest bit what the consequences might be.
But maybe that also means Iām one of these ātold you soā guys. Not sure.
@prologic@twtxt.net That boycott didnāt last very long, eh!?
Yeah, sounds like another hype train arriving at the station.
tt rewrite in Go and quickly implemented a stack widget for tview. The builtin Pages is similar but way too complicated for my use case. I would have to specify a mandatory name and some additional options for each page. Also, it allows me to randomly jump around between pages using names, but only gives me direct access the first, however, not the last page. Weird. I don't wanna remember names. All I really need is a classic stack. You open a new fullscreen dialog and maybe another one on top of that. Closing the upper most brings you back to the previous one and so on.
@doesnm@doesnm.p.psf.lt Iāll let you know once it reaches a point where it might be barely usable by someone else than myself. There are long ways to go, though. Right now, you donāt wanna even look at it. :-)
Iām continuing my tt rewrite in Go and quickly implemented a stack widget for tview. The builtin Pages is similar but way too complicated for my use case. I would have to specify a mandatory name and some additional options for each page. Also, it allows me to randomly jump around between pages using names, but only gives me direct access the first, however, not the last page. Weird. I donāt wanna remember names. All I really need is a classic stack. You open a new fullscreen dialog and maybe another one on top of that. Closing the upper most brings you back to the previous one and so on.
The very first dialog I added is viewing the raw message text. Unlike in @arne@uplegger.euās TwtxtReader, Iām not able to include the original timestamp, though. I donāt have it in its original form in the database. :-/
Next up is a URL view.
@movq@www.uninformativ.de Thatās what I immediately thought as well. :-D @eapl.me@eapl.me Unfortunately, no fancy buttons. What does your model do?
When washing the dishes at the scouts I cut my hand open on the ladle. That piece of shit has a terrible burr.
@prologic@twtxt.net Of course you donāt notice it when yarnd only shows at most the last n messages of a feed. As an example, check out mckinleyās message from 2023-01-09T22:42:37Z. It has ā[Scheduled][Scheduled][Scheduled]ā⦠in it. This text in square brackets is repeated numerous times. If you search his feed for closing square bracket followed by an opening square bracket (][) you will find a bunch more of these. It goes without question he never typed that in his feed. My client saves each twt hash Iāve explicitly marked read. A few days ago, I got plenty of apparently years old, yet suddenly unread messages. Each and every single one of them containing this repeated bracketed text thing. The only conclusion is that something messed up the feed again.
@movq@www.uninformativ.de Ja, vƶllig behƤmmert. Schade, vertane Chance für einen āDochā-Knopf.
Boah, jetzt mal ernsthaft, was ist denn das für ein Dialog bittesehr!?
Wer hat sich zu dieser Meldung diese Knopfauswahl überlegt und dann auch noch die Icons dazu ausgedacht? Und warum hatās das Zertifikat überhaupt schon wieder zerlegt? Und wieso kommt der Dialog direkt wieder in ner Endlosschleife hoch, wenn ich abbreche? Komplettversagen nach Strich und Faden an allen Enden. Allen. Grrr, so viel Hass! Ich schalt besser die Büchse aus.
@prologic@twtxt.net Tolerant yes, but in the right places. This is just encouraging people to not properly care. The extreme end is HTML where parsers basically accept any input. Iām not a fan of that. Whatever.
@prologic@twtxt.net The issue is that all bracketed text in the entire feed has been duplicated again two days ago. The bug is not fixed. Or itās a new one.
@movq@www.uninformativ.de I can relate to that. :-/
@andros@twtxt.andros.dev I suggest to not touch it and work on a different project instead. :-D
No, in all seriousness, thatās a tough one. Try to figure out the requirements and write tests to cover them. In my experience, if there is no good documention, tests might also be lacking. It goes without saying that you have to understand the code segments first before you can begin to refactor them. Commit even earlier and more often than usual, this will help you bisecting potentially introduced bugs later on. Basically baby steps.
But it also depends on the amount of refactoring required. Maybe just scrap it entirely and start from scratch. This might not be feasible due to e.g. the overall project size, though.
@andros@twtxt.andros.dev Iām all for elegant solutions. I prefer when the computer helps me to really achieve my goal and solve it completely, not where I still have to manually filter a list by hand. Anyway. :-)
@eapl.me@eapl.me Yeah, you need some kind of storage for that. But chances are that thereās already a cache in place. Ideally, the client remembers etags or last modified timestamps in order to reduce unnecessary network traffic when fetching feeds over HTTP(S).
A newsreader without read flags would be totally useless to me. But I also do not subscribe to fire hose feeds, so maybe thatās a different story with these. I donāt know.
To me, filtering read messages out and only showing new messages is the obvious solution. No need for notifications in my opinion.
There are different approaches with read flags. Personally, I like to explicitly mark messages read or unread. This way, I can think about something and easily come back later to reply. Of course, marking messages read could also happen automatically. All decent mail clients Iāve used in my life offered even more advanced features, like delayed automatic marking.
All I can say is that Iām super happy with that for years. It works absolutely great for me. The only downside is that I see heaps of new, despite years old messages when a bug causes a feed to be incorrectly updated (https://twtxt.net/twt/tnsuifa). ;-)
Hahahaha, this is brilliant! :ā-D https://denmarkification.com/
Exactly, @bender@twtxt.net, just like yours and prologicās, too. :-( Subsequent Brackets Considered Harmfulā¢.
@eapl.me@eapl.me Read flags are so simple, yet powerful in my opinion. I really donāt understand why this is not a thing in most twtxt clients. Itās completely natural in e-mail programs and feed readers, but it hasnāt made the jump over to this domain.
@mckinley@twtxt.net Yeah, all this JS and HTMX garbage messes up a lot of things which used to work better in the earlier days.
@prologic@twtxt.net @xuu@txt.sour.is There:
Just search for ][ in https://twtxt.net/user/mckinley/twtxt.txt and youāll see.
@movq@www.uninformativ.de @prologic@twtxt.net @bmallred@staystrong.run @andros@twtxt.andros.dev Thank you all! I donāt have emacs installed, so Iāll try lagrange and see. According to my shell history, I must have played around with amfora ages ago.
@xuu@txt.sour.is People should just fix their feeds. :-)
@movq@www.uninformativ.de Yeah, maybe. What browsers are you using again for these two?
I should really fix my calender rendering. A two day event only pops up in the first day, but not in the second. When extended to three days, it correctly shows up in all three days. Meh.
@mckinley@twtxt.net And there is the bracketed text duplication bug again⦠Actually with lots of twts. Did you edit a twt? Do you remember? /cc @prologic@twtxt.net
robots.txt file. only noticed it because the OpenAI bot was hitting me with a lot of nonsensical requests. here is the list from last month:
@bmallred@staystrong.run Surprisingly, my
User-agent: *
Disallow: /
seems to work. Or maybe those bastards change their user agent and claim to be someone nice. In any case, I just added a bunch of
location = /robots.txt {
add_header Content-Type text/plain;
return 200 "User-agent: *\nDisallow: /\n";
}
in my nginx config. No need for any bot to visit, crawl and index most of my sites.
@movq@www.uninformativ.de Photographic memory, eh?
@movq@www.uninformativ.de I also thought that I have a new Linux friend the other day. But it was just a fake KDE look from Redmond. :-(
@jost@jost.sdfeu.org Yeah, this AI crap is a big reason not to blog.
@movq@www.uninformativ.de So they say. :-D
Iām not a huge fan of docker. Sorry for the poor screen grab quality, but this is the funniest analogy for āno dockerā vs ādockerā Iāve come across: https://lyse.isobeef.org/tmp/no-docker-vs-docker-analogy.png :-D
Well, thatās another bug: The search https://twtxt.net/search?q=%22LOOOOL%2C+great+programming+tutorial+music%22 yields the wrong hash. It should have been poyndha instead.
@thecanine@twtxt.net Lol⦠I just donāt change my default profile pictures. (Well, only when my teammates ask me to.)
@doesnm@doesnm.p.psf.lt Haha, thatās great! :-D
They fixed it. :-D https://www.youtube.com/watch?v=A8b7HFUXPqk
@thecanine@twtxt.net Some precious cloud space. Probably the Atlassian one.
How does one end up with an avatar of that weird size to begin with? :-D
@falsifian@www.falsifian.org Do you want me to reconfigure my nginx to look at the User-Agent in order to serve you a different file for the time being? ;-) Good luck with your paper!
@movq@www.uninformativ.de Open-plan offices are just a giant mistake. Iāve never seen a single working one where people can actually concentrate. Except when I was the first one around in the morning.
@prologic@twtxt.net @bender@twtxt.net Looks like something for /dev/null.
@<url>. Submitting this writes @<domain url> instead of @<nick url> in the feed.
While I now have a somewhat working fix for it in yarnd (https://git.mills.io/yarnsocial/yarn/pulls/1232), I also have the feeling that I should fix literal formatting in lextwt as well. This also uncovered more bugs I believe: https://git.mills.io/yarnsocial/go-lextwt/pulls/28
But then there is also the question why the textarea is populated with @<url> in the first place rather than @<nick url> or yarndās own @nick@domain/@nick syntax. It indeed has to do something with whether I follow the mentioned feed or not.
Anyway, something to investigate for future Lyse or maybe @prologic@twtxt.net and/or @xuu@txt.sour.is. Gānight!
@<url>. Submitting this writes @<domain url> instead of @<nick url> in the feed.
Righto, must be some caching thing thatās going on, too. Now, with JS enabled and a feed that I follow, hitting āReplyā actually automatically enters @nick@domain in the textarea. Submitting it correctly writes ā@in the feed. Let's digā¦
@bender@twtxt.net @prologic@twtxt.net I can reproduce this locally, too. But it doesnāt matter if I follow the feed or not. With JS enabled, hitting āReplyā opens a textarea with @<url>. Submitting this writes @<domain url> instead of @<nick url> in the feed.
However, when I have JS disabled, āReplyā jumps to the top of the page, but the the textarea is at the bottom. So, after scrolling down, the textarea is not filled with anything. Which is expected I reckon. Entering @nick@domain or just @nick resolves to the correct @<nick url> in the feed.
@prologic@twtxt.net @movq@www.uninformativ.de I sadly agree.
@movq@www.uninformativ.de So true! Either Iām hanging around with my direct teammates socializing in person in a meeting room or some other workmates are making so much noise in the open-plan office that I cannot concentrate at all. In any case, completely unproductive. :-D Luckily, I very rarely have to go to the office.
My hike today started off with a nice great spotted woodpecker right after the town sign. The -1°C didnāt feel all that cold in the sun. Even on the flat, I had to open my jacket with the sun on my back. The biotope got dug over, thatās now looking really sad. And they also fell a few large chestnuts. Surprisingly, there was actually snow on the mountain. Not much, maybe around three centimeters at most. It was melting and falling down the trees, which looked really cool. I enjoyed it a lot: https://lyse.isobeef.org/waldspaziergang-2025-02-04/
@bender@twtxt.net Bwhahahahaaaahaaaahaaaaahaaaaaaa! :-D Oh man, my cheeks are hurting and eyes are watering. :-D I love it!
@falsifian@www.falsifian.org Yes! The first part about the history was my favorite. Not that the second one about finding life on Mars wasnāt interesting, no, not at all! But maybe itās just that Earth is a bit more relatable. :-) Iām sure they will dig up something eventually.
@eapl.me@eapl.me Hahahahaa, this is truly brilliant! :-D The file descriptor slider is funny as heck! :-D
@movq@www.uninformativ.de The light pollution map reports red for my town. Thatās fairly accurate, Iād say. The view from home is not all that great. Yeah, I can see Ursa Major and a bunch of other stars. Maybe even some satellites. But thereās definitely a sky glow at the horizon.
When I leave town, I can see a bit more. However, it doesnāt compare to the alps or even some rural parts in Australia. The latter was by far the craziest Iāve ever seen in my life. Looked like a space telescope photo in person. Soooooooooooooo many stars and the band of the milky way was easily visible to the naked eye. Up until then, I didnāt even know this was remotely possible down on earth. Absolutely stunning. :-)
@sorenpeter@darch.dk It depends on your requirements. If you just want to put your code somewhere for yourself, simply push it over SSH on a server and call it good. Thatās what I do with lots of repos. If you want an additional web UI for read access for the public, cgit comes to mind (a mate uses that). Prologic runs Gitea, which offers heaps more functionality like merge requests.
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
@prologic@twtxt.net Go just moved back to second place. :-)
@movq@www.uninformativ.de Nice! I would have missed the plane if you hadnāt pointed it out. :-) Venus is very visible these days. When a mate and I went on a night walk during clear sky this week, the night sky looked really great, it was easy to spot the second planet. We got lucky, ISS just passed above our heads, too. Most of the week, it was cloudy, though.
@movq@www.uninformativ.de Hahaha, thatās a good one! :-D I came across this one before, but couldnāt remember the answer.
? operator in Go š No. For so many reasons.
@prologic@twtxt.net Which one? I donāt mind the ternary operator at all. In fact, I often find myself missing it in Go. I donāt find the two alternatives particularly elegant:
foo := "eggs"
if bar {
foo = "spam"
}
Or:
var foo string
if bar {
foo = "spam"
} else {
foo = "eggs"
}
To my eye, this just would look a lot nicer:
foo := bar ? "spam" : "eggs"
Or at least as the Pythons do it:
foo = "spam" if bar else "eggs"
The ternary operator especially shines with relatively short expressions.
@arne@uplegger.eu Ohjemine, TYPO3! O_o Lass mich schreiend davonlaufen!
Mit dieser absoluten Katastrophensoftware vor dem Herrn haben wir mal ein Studienprojekt gemacht. Die hat alle Vorurteile komplett übererfüllt. Angefangen von Fehlerseiten, die statt 4xx oder dergleichen immer mit HTTP 200 ausgeliefert wurden oder auch, dass das generierte HTML leider einfach ungültig war. Ćber die Implementierung von Lƶschen durch einen Deleted-Schalter in der Datenbank, das Speichern von Passwƶrtern im Klartext bis hin zu vƶllig umstƤndlichen Bedienungskonzepten. Alles hat immer brutal viele Schritte gebraucht. Das Zeilennummernrumgeeier im TYPO-Script erinnerte eher an Basic. Uns kam es auch so vor, als ob man damit nicht ernsthaft was sinnvolles machen kƶnnte.
Zu allem Ćberfluss hatte irgendwer noch ein ganz hundsmiserables Buch ausgegraben, das als Vorbereitung dienen sollte. Ich kann mich zum Glück weder an den Titel noch den Autor erinnern, aber ich weiĆ noch, wie das komplett inkonsistent geschrieben war. Anfangs gabs mehrere Seiten zu Unicode und UTF-8 wurde angepriesen, aber alle Beispiele haben dann auf ISO-8859-1 gesetzt. Gezeigter Beispielcode war hƤufig unterste Schublade. Selten hab ich so merkwürdige ErklƤrungen gelesen: āWenn Sie die Sicherheitswarnhinweise stƶren, kommentieren Sie doch bitte im Quelltext die die()-Funktion in $ZEILE aus.ā Oder ein anderer Klassiker: āAusgeschrieben würde der Code wohl folgendes tunā¦ā. War sich der Autor also nicht ganz sicher, ob sein Codeschnipsel vllt. doch in Wahrheit was ganz anderes tut.
Seit diesem gigantischen Trauma (das hat mich wirklich sehr nachhaltig geprƤgt, wie man Dinge nicht machen sollte) hab ich erfolgreich einen Bogen um das TYPO3-Universum gemacht.
Ich kann nur hoffen, dass es zwischenzeitlich ein wenig besser geworden ist. Aber Deinem Kurzbericht zufolge scheint da ja immer noch der Wurm drin zu sein. Mein Beileid! :-(
@arne@uplegger.eu Eis im Januar, ja sapperlott, ist denn schon wieder Sommer im hohen Norden!?
I just saw this heron fly by my window, so I investigated: https://lyse.isobeef.org/graureiher-2025-01-25/
@arne@uplegger.eu Uuuuhhh, das fühlt sich klasse an, gute Arbeit mein Lieber! :-)
Besonders positiv hervorheben muss ich die Rohdatenansicht. Sowas hab ich mir auch schon in der Vergangenheit hin und wieder gewünscht. Wie toll es doch wär, direkt den Eintrag im Original zu sehen, ohne erst im Feed mühsam auf die Suche gehen zu müssen, was auch noch einen Wechsel auf den Browser oder den Editor erzwingt. Das werd ich mir definitiv auch einbauen. Insbesondere für die Entwicklung absolut hilfreich. Die Textarea könntest Du noch mit einem readonly-Attribut ausstatten.
Die Gesamtbaumansicht einer Unterhaltung gefƤllt mir ebenfalls. Davon bin ich ja ein groĆer Verfechter. Nicht nur die direkten Antworten zu sehen, sondern alle. Klar, bei tief verschachtelten Unterhaltungen und sehr langen BeitrƤgen verliert man da doch mal den Ćberblick, aber die kommen in der Praxis meiner Erfahrung nur selten vor.
Die zwei Elemente in der FuĆzeile eines Beitrags würde ich auch noch versuchen in die Kopfzeile zu verschieben, dann wird die Darstellung insgesamt kompakter, gerade bei Unterhaltungen kƶnnte das von Vorteil sein.
Weiter so!
@arne@uplegger.eu Klingt gut, Du darfst uns gern mal ein paar Bildschirmfotos vom aktuellen Stand zeigen. :-) Die erste Aufnahme sah bereits recht aufgerƤumt aus.
Ich müsste auch endlich mal an meinem Client weitermachen. Aber heut nimmer.
@arne@uplegger.eu Hahaha, vor Dekaden hab ich auch mal einen āXMLā-āParserā selbst gebaut. Der wollte dann pro Zeile entweder einen ƶffnenden oder einen schlieĆenden Tag oder aber einen Wert haben. :-O Ganz übel, aber für den damaligen Anwendungsfall hatās gelangt. War halt bloĆ kein XML. :-D
Was konkret war dann das Problem von dem zu sauberen XML in Deinem Fall? Und schƶn zu hƶren, dass Du das GerƤt vor dem vorzeitigen Elektroschrotttod bewahrt bekommen hast. :-)
Zum Abschluss noch ne ganz doofe Frage, ganz offensichtlich hab ich von Radios keinen blassen Schimmer. Wieso muss denn das Ding überhaupt mit XML rumfuhrwerken? O_o
I havenāt read the entire specification, but I think there is a fundamental design problem. Why would someone put an encrypted message on a public feed that is completely useless to everybody other than the one recipient? This doesnāt make sense to me. It of course depends on the threat model, but wouldnāt one also want to minimize the publicly visible metadata (who is communicating with whom and when) when privately messaging? I feel there are better ways to accomplish this. Sorry, if I miss the obvious use case, please let me know. :-)
Heck yeah, thatās really cool! Letās hope for a clear sky: āOn the evening of 28 February 2025, all seven of the other planets in the Solar System will appear in the night sky at the same time, with Saturn, Mercury, Neptune, Venus, Uranus, Jupiter, and Mars all lining up in a neat row ā a magnificent sky feast for the eyes known as a great planetary alignment.ā https://www.sciencealert.com/a-rare-alignment-of-7-planets-is-about-to-take-place-in-the-sky
@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.
Hmm, I just noticed that the feed template seems to be broken on your yarnd instance, @kat@yarn.girlonthemoon.xyz. Looking at your raw feed file (and your mates as well), line 6 reads:
# This is hosted by a Yarn.social pod yarn running yarnd ERSION@OMMIT go1.23.4
^^^^^^^^^^^^
Looks like the first letters of the version and commit got somehow chopped off. Iāve no idea what happened here, maybe @prologic@twtxt.net knows something. :-? Iām not familiar with the templating, I just recall @xuu@txt.sour.is reporting in IRC the other day that heās also having great fun with his custom preamble from time to time.
That ābrokenā comment doesnāt hurt anything, itās still a proper comment and hence ignored by clients. Itās just odd, thatās all.
An hour later and I have glued together a new batch of cardbord boxes. Iāve cut out the blanks several days ago, though. Easy upcycling project:
Oh no, best wishes, @aelaraji@aelaraji.com! To hopefully brighten your day a tad:
Once again I glimpsed at my twtxt feed access log. Now Iām wondering: is there a twtxt client named xt out there? Does anyone know? I did not find anything for āxt/0.0.1ā.
We had a faint yellow-orange-redish sky this evening. Only subtle, but it was actually one of those rare 360° sunsets. Just when I thought, that was it, itās now over, the colors took off like crazy: https://lyse.isobeef.org/abendhimmel-2025-01-01/
A much nicer start into the year than all the hell yesterday. However, just as I type this, there come also the next round of explosions as darkness falls. Those bloody fuckers, please blow yourselves up!
@bender@twtxt.net @prologic@twtxt.net Reminds me of: https://img.ifunny.co/images/d07b9a2014e3b3901abe5f4ab22cc2b89a0308de8a21d868d2022dac7bb0280d_1.jpg :-D
Moin @arne@uplegger.eu, herzlich willkommen! Ich bin gerade auf https://uplegger.eu/blog/popelfinger gestoĆen und war sofort sehr begeistert. :-D Mal sehen, ob ich die anderen an einem der Feiertage davon überzeugt bekomme, das mal auszuprobieren. :-)
Yeah, @eapl.me@eapl.me, I kinda like file extensions in some situations. What do you think of twtxt.exe, @bender@twtxt.net? ]:->
Time to rotate three months into archive feeds again.
Righto, @eapl.me@eapl.me, ta for the writeup. Here we go. :-)
Metadata on individual twts are too much for me. I do like the simplicity of the current spec. But I understand where youāre coming from.
Numbering twts in a feed is basically the attempt of generating message IDs. Itās an interesting idea, but I reckon it is not even needed. Iād simply use location based addressing (feed URL + ā#ā + timestamp) instead of content addressing. If one really wanted to, one could hash the feed URL and timestamp, but the raw form would actually improve disoverability and would not even require a richer client. But the majority of twtxt users in the last poll wanted to stick with content addressing.
yarnd actually sends If-Modified-Since request headers. Not only can I observe heaps of 304 responses for yarnds in my access log, but in Cache.FetchFeeds(ā¦) we can actually see If-Modified-Since being deployed when the feed has been retrieved with a Last-Modified response header before: https://git.mills.io/yarnsocial/yarn/src/commit/98eee5124ae425deb825fb5f8788a0773ec5bdd0/internal/cache.go#L1278
Turns out etags with If-None-Match are only supported when yarnd serves avatars (https://git.mills.io/yarnsocial/yarn/src/commit/98eee5124ae425deb825fb5f8788a0773ec5bdd0/internal/handlers.go#L158) and media uploads (https://git.mills.io/yarnsocial/yarn/src/commit/98eee5124ae425deb825fb5f8788a0773ec5bdd0/internal/media_handlers.go#L71). However, it ignores possible etags when fetching feeds.
I donāt understand how the discovery URLs should work to replace the User-Agent header in HTTP(S) requests. Do you mind to elaborate?
Different protocols are basically just a client thing.
I reckon itās best to just avoid mixing several languages in one feed in the first place. Personally, I find it okay to occasionally write messages in other languages, but if that happens on a more regularly basis, Iād definitely create a different feed for other languages.
Isnāt the emoji thing ājustā a client feature? So, feed do not even have to state any emojis. As a user Iād configure my client to use a certain symbol for feed ABC. Currently, I can do a similar thing in tt where I assign colors to feeds. On the other hand, what if a user wants to control what symbol should be displayed, similar to the feedās nick? Hmm. But still, my terminal font doesnāt even render most of emojis. So, Unicode boxes everywhere. This makes me think it should actually be a only client feature.
Hey @eapl.me@eapl.me, your feed is broken. All U+2028 got transformed into newlines.
Went on a really cool walk today after the sun came out this arvo. Just 11°C and a fair bit of wind required a scarf and beanie. I love the autumn colors a lot and never tire of looking at them.
On the summit the view was absolutely terrible, because there were super low hanging clouds. But it still looked fairly spectacular. Very surreal, I could not make out the edge of the Swabian Alb. The haze just blended with the rest of the sky. Towards the sun it was just one giant white wall after half a kilometer or so. That doesnāt happen all that often here.
After dusk I saw five deer on a meadow. Well their outlines against the remaining backlit sky.
Oh boy, Iām looking for trapezoidal (like ACME thread) screws and nuts in left hand form. The rods are already expensive, but nuts feel like a total ripoff. A hex nut for Tr20x2 being 30mm long and 30mm in ādiameterā costs me 22 bucks! O_o Just a single one, made of regular steel. A meter of rod is 21ā¬. The more common Tr20x4 hex nut is just 7⬠and the rod 17ā¬, but 4mm pitch is a bit much for a leadscrew for semi-precision work I reckon.
Well, maybe I just use metric threads. I will sleep on this.
I heard a funny saying today: Democracy is when three foxes and a bunny decide what to have for dinner.
Good writeup, @anth@a.9srv.net! I agree to most of your points.
3.2 Timestamps: I feel no need to mandate UTC. Timezones are fine with me. But I could also live with this new restriction. I fail to see, though, how this change would make things any easier compared to the original format.
3.4 Multi-Line Twts: What exactly do you think are bad things with multi-lines?
4.1 Hash Generation: I do like the idea with with a new uuid metadata field! Any thoughts on two feeds selecting the same UUID for whatever reason? Well, the same could happen today with url.
5.1 Reply to last & 5.2 More work to backtrack: I do not understand anything youāre saying. Can you rephrase that?
8.1 Metadata should be collected up front: I generally agree, but if the uuid metadata field were a feed URL and no real UUID, there should be probably an exception to change the feed URL mid-file after relocation.
rsync(1) but, whenever I Tab for completion and get this:
@aelaraji@aelaraji.com @mckinley@twtxt.net rsync -avzr with an optional --progress is what I always use. Ah, I could use the shorter -P, thanks @movq@www.uninformativ.de.
@falsifian@www.falsifian.org Yeah, delete requests feel very odd.
Now WTF!? Suddenly, @falsifian@www.falsifian.orgās feed renders broken in my tt Python implementation. Exactly what I had with my Go rewrite. I havenāt touched the Python stuff in ages, though. Also, tt and tt2 do not share any data at all.
By any chance, did you remove the ; charset=utf-8 from your Content-Type: text/plain header, falsifian?
@movq@www.uninformativ.de Non-ASCII characters were broken. Like U+2028, degrees (°), etc.
Turns out I used a silly library to detect the encoding and transform to UTF-8 if needed. When there is no Content-Type header, like for local files, it looks at the first 1024 bytes. Since it only saw ASCII in that region, the damn thing assumed the data to be in Windows-1252 (which for web pages kinda makes sense):
// TODO: change default depending on user's locale?
return charmap.Windows1252, "windows-1252", false
https://cs.opensource.google/go/x/net/+/master:html/charset/charset.go;l=102
This default is hardcoded and cannot be changed.
Trying to be smart and adding automatic support for other encodings turned out to be a bad move on my end. At least I can reduce my dependency list again. :-)
I now just reject everything that explicitly specifies something different than text/plain and an optional charset other than utf-8 (ignoring casing). Otherwise I assume itās in UTF-8 (just like the twtxt file format specification mandates) and hope for the best.
Hmmmm, I somehow run into an encoding problem where my inserted data end up mangled in the database. But, both SQLite and Go use UTF-8. Whatās happening here? :-?
20° temperature drop in just a hand full of days. Ooof. We went on a stroll at 10°C today. I could have used a beanie, my ears were very cold. The sun was out, but hardly any people. Very nice. Also, no wind.
It was nice to finally hear a few birds singing again, although it was still fairly silent. The sun gave us a nice show. In hindsight, we should have stayed at the summit a bit longer. In the forest, we missed the very best, crazy red sky. We could only see parts shimmering through the tree lines.
@falsifian@www.falsifian.org In my opinion it was a mistake that we defined the first url field in the feed to define the URL for hashing. It should have been the last encountered one. Then, assuming append-style feeds, you could override the old URL with a new one from a certain point on:
# url = https://example.com/alias/txtxt.txt
# url = https://example.com/initial/twtxt.txt
<message 1 uses the initial URL>
<message 2 uses the initial URL, too>
# url = https://example.com/new/twtxt.txt
<message 3 uses the new URL>
# url = https://example.com/brand-new/twtxt.txt
<message 4 uses the brand new URL>
In theory, the same could be done for prepend-style feeds. They do exist, Iāve come around them. The parser would just have to calculate the hashes afterwards and not immediately.
When we passed a few horses in the forest, there was really strong soup odor in the air. It didnāt smell like horse at all, but soup. Maybe theyāve been soup horses, chickens were out of stock.
29°C, zero wind, extremely humid, luckily the sun was behind the clouds. Iām soaking wet, sweat ran down in streams and dripped in my eyes, it burned a bit. The sky is getting a little dark, I hope the thunderstorm and rain are really arriving here later. Rain had always been finally cancelled the couple last days.
Iām gotta go cool off my fingers now, theyāre swollen from the heat.
-R=false on the command line or leave it out entirely. When explicitly stating -R=false, there has to be an equal sign. With a space (-R false) it's somehow parsed as -R which is equivalent to -R=true. O_o Very weird. I'd really like to see an error instead.
Yeah, user error on my end, never mind. The persisted settings.yaml overrides the command line arguments. Thatās surprising to me. I expected the command line options to overrule the config file. Oh well.
@abucci@anthony.buc.ci You can also use -R=false on the command line or leave it out entirely. When explicitly stating -R=false, there has to be an equal sign. With a space (-R false) itās somehow parsed as -R which is equivalent to -R=true. O_o Very weird. Iād really like to see an error instead.
I still have to figure out the precedence of the settings.yaml or command line arguments. Iām probably holding it wrong, but it seems to give me different resultsā¦
vim cursor at the end of the first line on replies, and forks. I have tried adding to this to jenny's configuration:
@quark@ferengi.one @movq@www.uninformativ.de A general workaround in these cases is to wrap the command in a shell script and reference said script instead.
@mckinley@twtxt.net Wow, I was not aware, that there are different kinds of blackberries. But of course there are. Everything has all sorts of different species, why would it be different with these tasty guys? :-)
I just read up on them and ā surprise, surprise ā it turns out, the Himalayans are not native to most of Europe either. Doh! It gets even more interesting, their origin is unclear. Maybe Armenia and the Caucasus region. Fascinating!
@abucci@anthony.buc.ci Thank you for using Lyseās Unofficial Yarnd Help Desk: https://lyse.isobeef.org/tmp/yarnd-disable-registrations.png
vim cursor at the end of the first line on replies, and forks. I have tried adding to this to jenny's configuration:
Today, I learned about vim "+normal $", how cool! :-) Thanks @quark@ferengi.one!
So, by āevolveā you actually mean āremoveā, @prologic@twtxt.net? :-?