# I am the Watcher. I am your guide through this vast new twtiverse.
# 
# Usage:
#     https://watcher.sour.is/api/plain/users              View list of users and latest twt date.
#     https://watcher.sour.is/api/plain/twt                View all twts.
#     https://watcher.sour.is/api/plain/mentions?uri=:uri  View all mentions for uri.
#     https://watcher.sour.is/api/plain/conv/:hash         View all twts for a conversation subject.
# 
# Options:
#     uri     Filter to show a specific users twts.
#     offset  Start index for quey.
#     limit   Count of items to return (going back in time).
# 
# twt range = 1 6513
# self = https://watcher.sour.is?uri=https://lyse.isobeef.org/twtxt.txt&offset=3534
# next = https://watcher.sour.is?uri=https://lyse.isobeef.org/twtxt.txt&offset=3634
# prev = https://watcher.sour.is?uri=https://lyse.isobeef.org/twtxt.txt&offset=3434
I quit Newsboat three days ago without noticing. Well, now that I think about it, I remember again. I was compiling it from source to test my latest fix. So this evening I got plenty of new articles after starting it again.

One entry was yours, @mckinley. The Ladybird note in https://mckinley.cc/notes/atom.xml links to the Tor Browser note. Anyways, interesting project you're following there. I reckon that metric isn't too bad to find bloated HTML and CSS.
Haha: "The plural of regex is regrets." (https://infosec.exchange/@j_opdenakker/109376738487154054 via IRC; I don't mind regular expressions, though)
@mckinley :-D
@stigatle Great. Black cumin seed on top makes pizza twice as good. My mouth is watering if I just think about it. :-)
After a quiet and rainy morning, the sun come out in the afternoon. 10, 15 minutes after leaving the house, clouds moved in. The 5°C wind was very chilly, so a beanie was a must. The dog in 07 had a broken foot, the owner just put on a wheeled harness so both rear legs were dangling in the air and heavily swinging left to right. Looked quite funny.

Still colorful autum
@prx It never ends! This is sick. /me nods appreciatively.
@eaplmx Ah, so it only has accumulated numbers to work with.
@eaplmx This is cool! And painfully reminds me of getting my Kraftwerk done. :-/ Maybe provide a separate view where it doesn't sum over everything but shows the numbers per day or what ever time unit you're using. What kind of exercises are you doing? Perhaps split the graph by exercise category and see how the numbers compare.
@stigatle Awesome, is it pizza or nachos today? Homemade pizza (basically anything) is very yummy. Which movie did you select this time? I bet it has to be something with snow to build up the anticipaction for tomorrow. :-)
Thanks, @stigatle. Oh, that's cool. :-) Mate in Berlin told me that they also had the first snow of the season this evening. But down in the south we're still facing 5°C in the night, so snow will have to wait.
@stigatle I'm fixing Newsboat: https://github.com/newsboat/newsboat/pull/2259 Now that I think about it, I should have made some better tests. Well, future-Lyse will do that tomorrow. :-)
As soon as I start programming in C++ again, of course I forget the final semicolons everywhere…
@justamoment Yeah, I just don't do it enough.
@prologic Ah, great. This week was quite productive in regards to discovering new bugs totally by accident. :-D
@prologic Oh dear. One thing leads to another. :-D Funny that we just talked about that.
@eaplmx Good idea. Definition is all that matters. :-)
We went on a rainy afternoon hike. Contrary to common belief, this is actually pretty nice. It didn't rain too hard, so hiking boots, rain trousers and rain jacket with integrated hood is all that's needed. Just the pattering of the rain on the hood makes for a harder conversation, but it's relatively quiet everywhere else. Once overcome, I always enjoy these rainy days outside a lot. Well, if it doesn't pour down too crazy. In the end the rain even stopped and there was even a decent red sunset, that I missed to capture on film, though.

Road through the yellow golden woods surrounded by orange foliage
Btw, @prologic, I reckon the yarnd generated archive feed URLs are not stable and thus kind of contradict the Archive Feeds Extension, which states:

> Once they are made public, [archive feeds] are supposed to be left alone and won’t receive further updates. Deletion or editing is still allowed, but feed authors should not expect clients to retrieve archived feeds on a regular basis (or at all).

Looking at your main feed URL https://twtxt.net/user/prologic/twtxt.txt, the prev points to https://twtxt.net/user/prologic/twtxt.txt/1 and that in turn links to https://twtxt.net/user/prologic/twtxt.txt/2. Here the chain ends. That means whenever a new archive feed is generated, the URLs change. Or viewed differently, the URL suddenly provides a differnt content. That probably causes clients to not update their caches properly, because they always see the same …/twtxt.txt/1 in the main feed's prev and think that nothing changed, which contradicts the promise of the spec.
@prologic For all the twtxt archeologists out there, that is the historic moment on how it all began. Unfortunately, yarns doesn't seem to have [all (?) of prologic's archive feed](https://twtxt.net/user/prologic/twtxt.txt/2), but somehow mine, hence only my replies show up when I search for that conversation. Quite weird. Maybe user error, no idea. But it must have been after the twt hash change, so the hashes should match, as seen by the first link in this twt. Anyways, I reconstructed that conversation by hand using the archive feeds: https://lyse.isobeef.org/tmp/avatar-story.txt
@prologic Ta!
@prologic @darch I also try to join in about an hour, but I probably can't stay for very long. What's the link again?
@xuu Awesome! :-)
@mckinley It's exactly that vehicle! :-) But there's not a real story behind it. In the beginning @prologic invited me to create an avatar. So after some unsuccessful deliberation I finally opened my cabinet, picked out this little feller and quickly built some scenery to take a photo. In higher resolution: https://lyse.isobeef.org/avatar-3000.jpg (yes it was dark when I took the photo)
@movq Feuerabend. Päng, päng! Please take some video, @carsten, if you do so. :-)
@movq I learned them also fairly late. But ordinary mortals ususally don't come in contact with these very often. :-) I think I actually never used them myself. For a long time I thought zepto and yokto as well as zetta and yotta were reversed, because z follows the y in the alphabet. But in fact they come from the Latin and Italian sevens and eights.
@movq Hahaha! :-D
@carsten This is cool! @movq And then throw them off your tower building. For science! :-)
That's pretty cool. Earth now weighs six ronnagrams. New metric prefixes voted in France: https://phys.org/news/2022-11-earth-ronnagrams-metric-prefixes-voted.html
For the upcoming weekend you'll get a triple nature special. Let's start off with the cloudy view from three days ago:

Cloudy view over to the colorful woods

And yesterday:

Golden leaves in the morning sun

Closing wih something more substantial. This morning I didn't think I would go out without an umbrella. But the weather god ment well for us, rain stopped for our afternoon hike. Autumn is just beautiful, we never tire of looking at the colored leaves.

Fog in multi-colored trees
@movq I swear on cable whenever possible.
@movq It's not an elevator. ;-) Granted, not all the stats are useful. I just displayed what was easily accessible by the library. Next time I'll definitely thin out.
@movq Luckily, it's a public field, so it can be extended very easily.
@movq Cool! :-) Yeah, GPX files is all I would need, too. In Kraftwerk I added GPX support. I pulled out a few stats with the pygpx library. The trajectory was rendered on top of an interactive map provided by OpenStreetMap. Getting the OSM stuff to work was quite a challenge, though.

Next time I come across a GPX file, I'll check out GPXSee, never heard of that. When I used OsmAnd myself years ago, I also made use of the offline maps feature. But I'm sure I did not have to pay anything. I thought it was even open source software, could be wrong though. Up until now I didn't even know that there are multiple applications out there with the same name. Hmm.
@movq I'm glad that all three implementations agree with each other. :-)
@xuu I've done that in Go and C++, too. :-) It's not too bad.
@carsten Great report again by Scott Manley. And some crazy pictures, well done, folks!
@movq @prologic I looked up the gossipping protocol in the code and it's as simple as that: curl https://txt.sour.is/twt/u4bs34q -H 'Accept: application/json' That exfiltrated the original twt from @xuu's yarnd instance, which I cast into a test case: https://git.mills.io/lyse/go-lextwt/commit/66d8e56141233af66026cfb72ebd74b02cc02201
@quark @prologic Thank you! :-)
@movq @prologic Exactly. I replied to @xuu's [(presumably) first version of the backtick code block test twt](https://txt.sour.is/twt/u4bs34q). But then he edited it multiple times.
@xuu @prologic Hahaha! :-D I also use the first one, if necessary. Each and every Go project of mine has a Makefile, so it's easily done. The second and especially third one sound quite weird to me.
@movq Oh dear. Well, luckily you got it resolved eventually. :-) +@carsten Didn't watch all of it, but that's quite cool. Suddenly, cables appearing, or pipes or whatever: https://www.youtube.com/watch?v=qxMqWHCTqGM#t=28m
@xuu Working like a charm.
@xuu is our man, he's killing it today! <3 He fixed the lexer and also prepared a new yarnd version. Testing it locally, it works like a dream:

Conversation showing properly

Now that I updated my feed with this twt, all yarnd caches should hopefully receive a new twt with the correct hash, once they refetch my feed.
I'm still following you, @carsten, hence can't be too bad. :-P I talk to my uni mates daily in IRC, so at least there's that. They're similarly minded, but of course, there are also topics where we all disagree with each other. So you gotta find a healthy balance. :-) With other, non-IT real life friends, you just gotta stick to some common subjects and activities. Some know I have some "crazy" opinions, but they're used to that and accepted it in the meantime. It's okay for both sides.
@movq 3.5 km/h is not too bad if you don't want to reach the destination all sweaty. :-) Some mates are using Osmand.
@movq Oh, I didn't think of that. Cool logo animation: https://www.nasa.gov/specials/artemis/

Did you have a power or network outage?
@xuu Because that would be the correct one. :-)
@movq Perfect, that's looking correct. At least both our clients agree. :-) Thanks for verifying. @xuu You actually replied to the correct thread. :-)

Xuu replied correctly, without noticing
@sorenpeter I just saw an error: 2021-06-12T08.03.22Z is an illegal timestamp format. The periods must be colons.
@prologic That's only one part of the issue. When I tripple the backticks the resulting hash is fmefkga, still different. So there must be also something additional going on.
@prologic Also, yarns shows the same markdown tripple backtick expansion in the code block: https://search.twtxt.net/search?q=%22%2Flib%2Fx86_64-linux-gnu%2Flibm.so.6%22&f=
@prologic Alright, there's some erroneous markdown parsing going on, I reckon. In my original twt I have a code block surrounded by three backticks. The code block itself contains a single backtick. However, at least for rendering, yarnd shows three backticks instead (not sure if my markdown is invalid, though):

Not matching markdown in tt and yarnd
@prologic Hmmm, for some very weird reason yarnd computed another hash: https://twtxt.net/twt/cxpxroa That's the tree in tt with highlighted hash bd3yzvq in white background:

Conversation tree in tt

What do other clients see here? Which hash does that linked twt produce on your implementations?
@stigatle How bloody amazing is this!? Truly gorgeous mate!
@movq Not that close. You were tricked by the zoom and different tree lines, that appear to be merged into one continuous hill. ;-) Bee-line is exactly four kilometers. The most direct route possible is 5.1 km long, takes pretty much 50 minutes when I'm in very good shape, don't stop for photos along the way and my mate whips me. He's more trained than I am. But we're walking also quite fast in general and then are exhausted when reaching the summit. Well, I am. It's basically uphill all the time, every now and then a tiny little bit downhill, but mostly going up. If you want to look it up on a map, the Alte Steige and Kaiserbergsteige in the village are bloody steep. I try to take a few photos from these sections next time (going to be very tricky). I'd say a normal person would need about 1:20 to 1:30 hours for that tour.

A few years ago, we clocked mountainbiking vs. hiking. By bicycle (real ones, no fancy electric motors) we weren't any faster than by foot. Just on the way home, of course, the bike won by a large margin. The fastest ride home took only 12 min. But that was totally insane. Just plain stupid. If anybody had come our way, it would have ended really, really badly. So we only did that once.

Depending on the picked route, 1:30 or even 2:00 hours one-way to the top is easily possible at our walking pace. So your guess of a bunch of hours is not that wrong. Just depends on our mood and path choices. :-)
The binutils upgrade fixed that linking issue. Phew!
@prologic Oh thanks, never heard that term! :-) I reckon, there's a difference though. Rote learning has the goal to actually remember stuff in the longer term (at least the German version of that article). In contrast, the colloquial term bulimia learning used by the kids and students over here describes a memorizing technique for only the short term memory. After the exam you vomit your knowlege you've eaten shortly before and it's gone, hence this name.
@justamoment Ah, very lovely! :-)
@mckinley I subscribed to your notes Atom feed the day you published your first note. I just don't get the exact difference between a note and an article. Notes are supposed to be shorter, but from my point of view, all notes so far would also work as regular articles. Doesn't matter, though.
Comparatively speaking extremely boring. Not many leaves left.

Mt. Hohenstaufen over the roofs
@eaplmx We called that technique "bulimia learning". ;-)
@prologic By now those people are simply lost and beyond saving. I have no hope, there's zero chance. It's just like talking to a wall, wasting everybody's time. And besides, people who are not receptive to arguments, you don't want on your platform either.

Welcome to Lyse's evening of pessimistic views.
@carsten I don't like getting missionized myself, so I *try* to hold my horses. Obviously, doesn't pan out all the time.

As for twtxt in particular, I see growth more as a bad thing, I don't want to deal with all these idiots out there, not even indirectly. If the network grows, other folks, best not to tangle with, are naturally attracted, too. It's a normal thing, there's no way around it. I'd like to rather keep my filter bubble small and familiar. I know, a lot of, if not most, people here disagree with me.

Also, I even don't know whom of my friends I would want to create their own twtxt feed, since I'm in touch with them in other ways, anyways. The ones I told about twtxt in the past were very hesitant to join. So was I in the beginning. For very good reasons. Writing shit publicly on the internet is not everybody's cup of tea. And by now people have already established ways of publishing truly interesting things. So, there's simply no need for alternatives to them. My best mates have low opinions on social media, so do I. I try to convince my brain not to consider twtxt as social media. :-) I'm just here because I initially was intrigued by the simplicity of twtxt and I like the people I follow.

Lastly, there are days I hardly can keep up with the amount of new messages, so a larger community would make that job even harder.

Quite a pessimistic and selfish view, some might say. And they were probably not too far off. It's very hard to explain. And then even not in mother tongue.
@carsten Wow. Dress code for IT. And even no jeans. That's crazy!
@darch @abucci @movq Hmm, comparision to e-mail lacks quite a few important bits I reckon. First of all, the pull mechanism applies only to the receiving e-mail part. However, sending mails is push, maybe some yarnd gossipping fills in that gap, no idea. Also there's no e-mail address equivalent, so everybody can read your stuff (ok, true for unencrypted e-mails, too), but here literally everybody can read your feed. Also, the complexity of e-mail is a very different beast.

Don't get fooled with jenny and mutt. ;-D Twtxt is way much more like a website. Well, in fact, it basically is.

And I try not to talk people into twtxt. It's just something I try to avoid in general.
@prologic :-D What kind of clothes are you wearing, that require ironing, @carsten? The last time I used a flatiron was like two decades ago. I'm glad I don't have to dress myself up in suits or similar stuff.
@stigatle The ocean is even further away. Fun fact, the Adriatic Sea in Italy is closer than going up north in Germany to the North Sea.
Thanks mates. @movq Yeah, that tree reminds me of a ghost with his arms up. ;-) @prologic Aliens landed on the paddock and then drove away! @justamoment Why's that? Because I've shown this water tower so many times in the past? Do you have a similar one next to you? Or is it the sunset or barn that reminds you of something in your area?
Sun cooperated again, but it was quite windy. Hence, the 10°C felt much colder, today.

Deerstand in the the yellow forest

Yesterday, I forgot my SD card at home, so the camera was totally useless. We had a very crazy, fiery glowing, blood-red sunset from what I could see through and above the trees. But I was about 15 minutes too late. Only saw the last red stripes over the horizon when I finally made it to the lookout outside of the forest. Todays sunset was quite boring.
@carsten Just go naked.
@stigatle Very lovely! I don't have a nice big lake around here. The second one looks like a black and white photograph, but there is the slightest blue in the sky. ;-)
@prologic Amazing! Not shy at all.
@movq Depending on what you actually want to do with the feed you're monitoring, there's also rsstail which could be used to automate stuff.
Alright, my Python script, that rewrote the feed, just preferred the <updated> over <published>. Easy as that. As a bonus it did that forever. No idea, why the generated feeds suddenly caused all the trouble. Basically all feeds were affected. Luckily, no Newsboat bug.

I just filed a question for Newsboat about the unsupported <author> on <feed> level: https://github.com/newsboat/newsboat/issues/2256 Is it a feature or a bug?
@movq Hahaha, lol!
Hmm, I figured out, that in the old rewritten feed the original <published> timestamp was used as <updated> in an <entry>. And now it's the original feed's <updated> timestamp. I never used <published> elements in <entry>s. I have absolutely no clue why now the updated instead of the published timestamps are used. I definitely should just use both fields properly and not just one. In the Newsboat source code <published> take precedence over <updated>.

But I guess this explains the weird behavior I've seen in Newsboat, that suddenly, read entries were marked unread. They were older than a year and I've set keep-articles-days 356, so they were removed from the cache. With updated timestamps Newsboat just recreated new articles in its cache, which of course are unread.
@movq Oh yeah!
Great, last system update broke something, building from current master I get:


/usr/bin/ld: /lib/x86_64-linux-gnu/libm.so.6: unknown type [0x13] section `.relr.dyn'


What the heck!?

And it also appears that I'm not really able to reproduce this unread bug. It only kind of works a single time. And it has something to do with my config. Not sure what it is yet. I also noticed that the <updated> timestamps in the entries somehow shifted between the old and new feed. Da fuq!?
Great, last system update broke something, building from current master I get:


/usr/bin/ld: /lib/x86_64-linux-gnu/libm.so.6: unknown type [0x13] section 
.relr.dyn'


What the heck!?

And it also appears that I'm not really able to reproduce this unread bug. It only kind of works a single time. And it has something to do with my config. Not sure what it is yet. I also noticed that the 
timestamps in the entries somehow shifted between the old and new feed. Da fuq!?
And I just found out that my enqueue script also broke. All authors are "None" in ybeuter. Turns out, the author column in the rss_item table of the _cache.db_ is now empty and also Newsboat does not render an "Author" header in the article view anymore. The feed's author is ignored.

Looking at the code, I noticed the <contributor> is not supported at all. Gotta file a bug report or even better directly submit a fix MR (to some of the issues) tomorrow. Gotta test my C++ "skills". Duck and cover everybody!

In my enqueue script I now just fall back to the "Feed" field, so at least that's working again.
@prologic No worries, yes, this is tricky.
@prologic Thanks, it took me a bit to paint on canvas. :-P No, even in reality it was looking quite surreal I have to say.
@movq Oh, now I see, thanks. These barriers seem like a cool idea to try some time myself.

Alright, multipass is basically for administrating multiple systems at once. Good thing, I'm not an admin. :-) But now I remember a good mate doing this, too. If I'm not mistaken, he used tmux's builtin functionality to update all his, I don't know how many, machines at the same time. Pretty cool actually. This also reminds me that I really should finally take a deeper look at tmux some day. Never did that before. I just open a new terminal and my tiling window manager takes care of most things, well the layout. Except that I would have to explicitly ssh into the other system if I were working some remotely.

Yes, I'm on i3 and really not in a mood to fiddle around and waste my time with broken or unfinished stuff if I can easily avoid it. I just want my system to work. :-)
@movq Hmm, how do pointer barriers work? How do you switch to another screen then? At one point, you just have to, don't you?

What's your use case to send keyboard events to an asortment of windows? I never did that and can't see when that would be useful. But I'm sure there are lots of applications out there for that.

If I want a fucked up clipboard, I can also simply use a VM… Oh dear, this is a total killer. So Wayland is absolutely worthless to me.

I never tried Wayland myself. Nor did I do any research on that matter. From all you said and I heard from other mates, let me answer your question why you want to switch: You don't. :-) This model really sounds totally insane. It feels like it's heavily contradicting KISS at all possible levels. Complicating everthing at basically no gain. Security is all good and nice, but if you can't do basic things anymore, then that's the opposite of progress or even a working system. I fear it's going to be the same with systemd and System V Init. Eventually everybody is forced to switch over. But not now. Hopefully, by then some things are sorted out and even simplified. Hope dies last, but it dies.

Very nice quote, I completely agree! :-D
@movq I've just held off on it. It definitely is one! ;-)
@carsten Although I'm not a city person at all, I have to admit, this looks rather nice. Sorry to hear the delay, but only half an hour left. :-)
For over an hour I was wondering why the camera lights were not blinking to indicate that the battery is charging. Turns out, the cable was not plugged in all the way…
@jlj @movq Thank you! In 08 and 09 one can see the rainbow cloud. It's not lens flare. Quite cool, it's the second time in my life I saw this. We had around 14°C and it rapidly dropped to about 7°C, it's forecast to reach even 3°C in the night. The fog rolled in super quickly.
@movq Indeed! :-)
Hmmm, after fixing my feeds to move the <author> from <entry>s to <feed>, Newsboat marked all old affected articles as unread. IDs were untouched, of course. Need to investigate that. Had something similar happen with another feed change I did some time ago. Can't remember what that was, though.
Thank you very much, @prologic! Blacklisting doesn't feel right, but let's see how it goes from there with that commit.
@mckinley I fully agree on the reverse RSS logic with bonus points, ideally <link> would be treated as <id> if there's no explicit <id>. But I guess, it's too late now.

Interesting, tag URIs are a first for me, too.
@marado I pronounce twt like "twitt" with a short "i". And twtxt is more difficult, something along "twitt-ex" or "twitt-ext" with the last "t" mostly being just slightly pronounced to silent altogether. It all sounds quite weird, so I try to avoid pronouncing it. I rarely talk about it, so it kind of works. :-D
@movq Oh yes, that would be amazing!
In the morning I could just see about 100 meters after raising my shutters. It was super foggy at 2°C. We had a great sunset and quite some fog again this evening. When the sun was out and we were going uphill, it was t-shirt weather. But once the sun began to vanish behind the horizon, we were glad that we brought our beanies along.

Fog patch and sunset at the dairy farm
@carsten Cool, you had a very colorful sunset, too. Looking great!
Hahaha, Nanowar of Steel delivers: Armpits of Immortals https://youtu.be/Qb16HkWxbT0
Interesting, another broken mention URL, this time my archive feed by both @marado and @mckinley. Another fucked up cache, @prologic? I probably have to persue my correction database experiment, yarnd is never gonna fix that mentioning properly, I lost my hope. :-( The @nick@hostname yarnd syntax was a mistake. Long live proper @<nick url> twtxt syntax, only.
@marado Yeah, I also only know of the xml:base attribute, just like @mckinley said. Never heard of <link rel="self" … /> being used for that. Maybe some last resort fallback in some feed readers, though. But that would be very fragile, too.

Unfortunately, the reasoning behind rel="self" remains a mystery.
@abucci @eaplmx Thanks mates!