# 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 6169
# self = https://watcher.sour.is?uri=https://lyse.isobeef.org/twtxt.txt&offset=4416
# next = https://watcher.sour.is?uri=https://lyse.isobeef.org/twtxt.txt&offset=4516
# prev = https://watcher.sour.is?uri=https://lyse.isobeef.org/twtxt.txt&offset=4316
Serving suggestion:

[![Underhanded terror attack](https://lyse.isobeef.org/staversa-2023-09-23/02-vorschau.jpg)](https://lyse.isobeef.org/staversa-2023-09-23/02.jpg)

Today was our yearly scout meeting. Three glass bottles in total didn't survive the afternoon and evening. After the general meeting some of us went to the scout church service next door and then we had a nice barbie with friends and the general public.
Learning from the big ones means learning to win. :-P
Thanks, @prologic. There are worse places for sure. :-)
@abucci Sums it up perfectly.
After several hours of debugging in a larger task force yesterday and today, we finally figured out that we must have ran into an XFS bug (seems to work fine on ext4). An ftruncate syscall hung forever and hence the process was caught in an uninterruptible sleep. This was the first time I ever witnessed kill -9 not to "work". But I learned a bunch of new stuff. I never dug this deep into the guts before.

Some of you probably know that /proc/$PID/syscall tells you the current system call the process is executing. And /proc/$PID/stack returns the kernel stack trace. Awesome stuff!

That's a wonderful article on that matter: https://tanelpoder.com/2013/02/21/peeking-into-linux-kernel-land-using-proc-filesystem-for-quickndirty-troubleshooting/
@darch! Man! These are some cool pictures! The Iceland gallery was the most beautiful in total to me. How else can it be, right?! ;-) Very beautiful scenery and lovely colors overall. I'd love to see that with my own eyes one day. Very hard to choose, but I have to highlight the following pics:

* http://darch.dk/fotos/media/images/2023-07-iceland/IMG_20230801_195449.jpg
* http://darch.dk/fotos/media/images/2023-07-iceland/IMG_20230801_195600.jpg
* http://darch.dk/fotos/media/images/2023-07-iceland/IMG_20230801_200227.jpg

Additional nature shoutouts go to:

* http://darch.dk/fotos/media/images/2023-08-aln/IMG_20230827_125342_HDR.jpg
* http://darch.dk/fotos/media/images/2023-08-aln/IMG_20230827_145244_HDR.jpg
* http://darch.dk/fotos/media/images/2023-09-nyc/IMG_20230830_193738_HDR.jpg

The latter one perfectly fits this sign: http://darch.dk/fotos/media/images/2023-08-aln/IMG_20230807_140853.jpg (probably a sunset, though ;-))

I had to chuckle at this one: http://darch.dk/fotos/media/images/2023-07-iceland/IMG_20230802_112551.jpg

Which brings me to the art pictures. Interesting museum visits. Mostly funny and neat ideas, but also some weird ones. I immediately liked that one (again, obviously): http://darch.dk/fotos/media/images/2023-08-aln/IMG_20230825_200517.jpg All these chairs look really cool, great photo, mate! Perfectly fits into the art category itself: http://darch.dk/fotos/media/images/2023-09-nyc/IMG_20230829_162111_HDR.jpg

That one is a good mix of nature and art combined, with a touch of ugliness, that brings its own beauty, though. It's a bit hard to describe, but I hope you get what I mean: http://darch.dk/fotos/media/images/2023-08-aln/IMG_20230827_114645_HDR.jpg

NY has some really ugly spots, that's quite a contrast. I especially get that feeling when looking at this brilliant shot: http://darch.dk/fotos/media/images/2023-09-nyc/IMG_20230830_114320_HDR.jpg It portraits the shabbiness perfectly. I'm very glad I don't live in a concrete and glass desert but rather a town. However, I have to admit, the views from the skyscrapers aren't so bad.

Thank you very much for sharing all of them! <3 I certainly had a blast going through them.
I covered today's sunrise to sunset. Sort of. https://lyse.isobeef.org/waldspaziergang-2023-09-20/ [![Setting sun shining through some bushes and trees](https://lyse.isobeef.org/waldspaziergang-2023-09-20/26-vorschau.jpg)](https://lyse.isobeef.org/waldspaziergang-2023-09-20/26.jpg)
@movq Woooooaaaaaahhhh, geil! I'd absolutely love to see this some day.
@mckinley Some mates and I run a server and I'm a (rather passive) member of some club. But that's about it. I used to attend the yarn calls every now and then when that was a thing. :-) So mostly online stuff, rarely on-site anymore. How about you?
And to finish the day off: https://lyse.isobeef.org/abendhimmel-2023-09-18/
Today's morning sun made for a nice scenery: https://lyse.isobeef.org/morgensonne-2023-09-18/
We made a bike tour in the heat of the day. The sun was brutal with 27°C in the shade. Man, this one section was suuuuper steep and you couldn't hill-start anymore once stopped for a quick rest, because you just spun out the tire in the loose gravel. No chance. So we had to push (I didn't mind that, though). My mate's battery then flattened, so he had no other choice anyways. Luckily, I have an old-school bicycle with no electronics (if you don't count the lights). So the rest of the hills weren't too bad for me, but he was huffing and puffing badly.

We had waffles with apple sauce for lunch at a closed ski hut out in nature. It was very peaceful, nobody around, just birds and critters. After resting a bit we tried out the scout camera. Today's mission was to get a bit familiar with that equipment. All the pictures were taken with that DSLR, a Nikon D5200 with a 18-105mm lense. Quite a heavy rig compared to my small digicam. Looking at the pics on a big screen, we gotta keep practicing. This lense is certainly not made for macro shots. We have another one that's probably suited for that, but I didn't want to bring the whole bag. And more zoom would also be nice for all the birds. But we don't have a larger zoom lense.

[![Ödenturm](https://lyse.isobeef.org/fahrradrunde-weiler-ob-helfenstein-2023-09-17/58-vorschau.jpg)](https://lyse.isobeef.org/fahrradrunde-weiler-ob-helfenstein-2023-09-17/58.jpg)

Finally, we encountered an old train from the Märklintage (Märklin days). This weekend they pulled out old locomotives and wagons and had extra tours between Göppingen (where Märklin, the model train manufacturer, has its headquarter) and Geislingen/Steige. Tons of people all along the tracks everywhere.

[![German crocodile pulling old wagons](https://lyse.isobeef.org/fahrradrunde-weiler-ob-helfenstein-2023-09-17/65-vorschau.jpg)](https://lyse.isobeef.org/fahrradrunde-weiler-ob-helfenstein-2023-09-17/65.jpg)
@thecanine Ah, haha, it's a really good one. I thought you drew it.
@ionores Thanks, mate!
Thanks, @movq!

When I went to the scout meeting this evening, I first saw a colorful sky, then a shooting star above our camp fire and finally a fairly new starlink chain of about 15 satellites or I don't know how many. There is only photographic evidence of one of these events.
@prologic Thanks, I got lucky there.
@prologic @bender I wash my hands of it. :-D
Hahaha, @thecanine, well done! :'-D Great drawing, I like this style.
I share your opinions, @mckinley and @lumen.
@movq That ain't tea bag.
Welcome back, @lumen! Uuuhh, that's a lovely photo: https://lumen.pink/notas/sobre-grilos-and-palavras/ I never had a grasshopper or mantis crawl over my finger. This must be so cool!
Agreed, @eapl.me, that looks fairly clean. Much more tidied than the default theme. Good job, @darch, I like it. If you see some garbage requests in your access log, do not worry, they're coming from me. You gotta do some input validation and error handling. :-) (E.g. see ?list=twtxt.txt_.)
@movq Lucky you, we didn't have any thunderstorms lately. But temps were somewhat passable. These storm chasers are a fun species. Taking it right to the next level. :-) I mean it is probably cool to see the thunderstorm from above or the inside. But better don't crash into the windows of other people.
@movq Da geht mir auch sofort das Messer im Hosensack auf.
We came across a slow worm this evening and had a nice sunset.

[![Sunset](https://lyse.isobeef.org/waldspaziergang-2023-09-14/02-vorschau.jpg)](https://lyse.isobeef.org/waldspaziergang-2023-09-14/02.jpg)
I ran into an issue with the scoping of variables in pongo2. The modifications in the loop are not visible to the outside. That's a bummer. Exactly this: https://github.com/flosch/pongo2/issues/163
@prologic Ah, ok. But you actually have to be logged in. It doesn't just assume it. At least it tried it in the web UI. It would be nice to confirm the password by retyping it into a second field, so typos are caught.
@ionores Looking good, enjoy! :-)
@prologic How come?
@movq You gotta do it like migrating birds. Move south in winter. The day after tomorrow is supposed to only reach 21°C. But on Saturday temps are up again.
@prologic @movq It's the result of my job as a rosehip barber. Cutting off the black hairy end to make rosehip puree. Finally, all done now: [![Hägenmark](https://lyse.isobeef.org/haegenmark-2023-09-11/04-vorschau.jpg)](https://lyse.isobeef.org/haegenmark-2023-09-11/04.jpg)
Quick quiz, what's this? [![Quiz hint 1](https://lyse.isobeef.org/tmp/quiz/01-vorschau.jpg)](https://lyse.isobeef.org/tmp/quiz/01.jpg) There's a second hint. And the solving. Now back to work after this break.
@movq Sounds good.
@movq I see, ta.
@movq I feel like I asked before, but forgot the anweser. What are you using multipass for? Machine admistration?
@prologic @movq @ionores Thank you all! Yeah, time to get my apple grinder built this year. Let's see if we also get any apples, it's not looking too great this year.
@movq Hahaha!
My mate made me five adapters for my welding table clamp. No, I don't have a welding table, that's the whole point for these adapters. The clamp's foot is 28 mm in diameter but my bench dog holes are only 20 mm wide. So now I can use the one clamp with this large foot, too. Works like a treat, I'm super happy! Since I only needed one adapter there's room for future expansion of my inventory. :-)

[![Welding table clamp in the adatper in my saw board](https://lyse.isobeef.org/tmp/tischzwingenfussadapter/01-vorschau.jpg)](https://lyse.isobeef.org/tmp/tischzwingenfussadapter/01.jpg)
Trees start to wear their autumn dresses. Just the temperatures didn't get the memo yet. The blurry bird in 04 is a Eurasian jay. They're very elusive.

[![Leaves turning orangy in the morning sun](https://lyse.isobeef.org/morgensonne-2023-09-10/03-vorschau.jpg)](https://lyse.isobeef.org/morgensonne-2023-09-10/03.jpg)
@movq Oha!
@prologic Hmmm. Not so sure about that: https://lyse.isobeef.org/tmp/htmlresponsewriter.png Do I like it or not? I mean it's cool to be able to write quick helpers directly in Go. Another benefit is that the HTML form field names are directly visible and thus can be quickly connected to the incoming request. But it's still a bit awkward. An escape helper with a very short name would be a bit nicer to be used "inline". But I actually would go the other way around and mark everything explicitly safe and apply auto-escaping to all unmarked strings. This way it cannot be forgotten. But this then gets a bit lengthy in the Go code I reckon.
@ionores How, cool! :-) I will attempt that tomorrow morning if it's actually feasible. They forecast it to be cloudy and foggy.
@prologic Yeah, I kind of agree. But having separate template files helps in the developing process. Just think of the syntax highlighting alone instead of large monotone strings in your Go code. :-) Also, depending on the permissions of the viewer, one certainly needs a bunch of conditionals to show or hide certain things in the output. Also, auto-escaping is something I don't want to miss. Inheriting is also at least needed for the layout stuff. Maybe Go code alone is the way to go for smaller code bases. Especially if there is no dedicated designer who just wants to work on HTML & CSS and doesn't touch the programming side. I'm doing everything myself here, so, it might work. I would definitely need a set of some helpers to make quick use of my rendering inside Go in order to not go totally insane.

I don't like the additional parentheses in jet. Also a bunch of yields for invocation and the weird mix of content and actual parameters for custom "functions". Doesn't directly appeal to me. A custom loader for the go:embed file system could easily be added, though. Didn't actually try out anything, just looking at the examples in the docs and the code itself. Now investigating pongo2. Very promising looking so far.

Maybe I just pause and experiment with my own "engine" in pure Go. Again, missing syntax highlighting is gonna be my worst enemy I reckon.
@prologic Too bad, extemplate doesn't work with Go-embedded file systems, just the regular host file system. I could patch it and then proceed, but I guess I just move on and look at jet.
@mckinley @abucci @movq I'm glad that you all have similar habits. :-) I also have the ls sickness. @prologic Submitting the command would not have been desastrous as it did not match any filename, but still, very scary nontheless.
Happy birthday, @abucci!
@prologic I'm coming from the Tornado world, so Tornado templates would be really great. Or Jinja, they'e quite close, although I like Tornado more. It's been a while, though, that I heavily worked with them.

Looking around I found a few candiates that might be worth looking into. Haven't tried any of them so far, though. I just looked at their dependencies, syntax and features.

I came across https://git.sr.ht/~dvko/extemplate which I believe is a must if one sticks to the standard library. It adds the extends concept, which is heaps more natural to me instead of of keeping track of the relations and reparsing them manually myself. The template.ParseFS(…) seems to be rather useless I have found. It doesn't really work all that great. Or I was holding things wrong. I will give extemplate a shot today regardless whether I stick with the default templates. extemplates doesn't have any other dependencies which is always a big plus in my book.

https://github.com/CloudyKit/jet/blob/master/docs/syntax.md looks fairly useable. It only uses one additional small third-party library which has no dependencies itself.

Zero dependencies for https://github.com/flosch/pongo2, a Django-inspired template engine. This is also close to Jinja templates.

https://github.com/valyala/quicktemplate is interesting as it compiles it into native Go code and claims to be very fast. Adds a bunch of dependencies.

A Jina-inspired template engine, that adds heaps of dependencies: https://github.com/noirbizarre/gonja I guess I have to compare Jinja and Djano before I know which syntax I generally like more. Probably would go with pongo2 over gonja, just of the number of deps. But more investigation is needed.

Another Jinja2 with an even larger number of third party libraries is https://github.com/kluctl/go-jinja2. Seems to work on invoking Python under the hood eventually. So, yeah, most likely not this one.
I guess I'm read for bed. Instead of grep -rin foo I just typed rm -rf foo. What the heck, brain!? O_o Luckily, I just caught it before hitting Enter.
These comparisons are no operators but functions, hence, the solution is: {{ if ne (len .Events) 1 }} However, it makes absolutely no sense to generate utter bullshit instead of producing a syntax error. Any useable template engines to recommend that do not pull in a metric shitton of dependencies?
@movq Hahaha, nice! :-D
What kind of fucking bullshit is this horrible Go template garbage!? What the hell is wrong with my template? https://lyse.isobeef.org/tmp/wtf_test.go.txt I rip it all out and replace it with some other template engine that doesn't suck balls. Holy fuck. What a giant waste of time, every fucking time I deal with this shit. End of rage. :-)
@movq I had nothing remotely close to this. But I also was never much into the maths world anyways.
@movq It's there for years. :-( I don't know it any other way.
Woooooaaaaaahhhh! Painting a Landscape with Maths is bloody awesome: https://www.youtube.com/watch?v=BFld4EBO2RE
Thanks, @movq! I don't know but reckon the oil originates from farmer and lumberjack vehicles and then just concentrates here. :-(
@movq Yeah, that sums up this mess pretty well.
Great hike today. Absolutely no clouds, nice smell of freshly cut grass and dropping temperatures in the evening. The oil film in the tad pole lake keeps expanding. :-( We saw a fox in the dark sneaking around on a paddock in the distance.

[![Nicely lit field path in the evening sun](https://lyse.isobeef.org/waldspaziergang-2023-09-07/02-vorschau.jpg)](https://lyse.isobeef.org/waldspaziergang-2023-09-07/02.jpg)
@mckinley That's what I thought, too, when I first read the title. To completly annoy everybody around me.
The drawers are fixed. Clearance looked better before, but it's shop furniture after all. So I don't care too much about the larger gap between the top drawer and the top edge of the cabinet.
Missed it. Next attempt tomorrow.
This is a very interesting article about writing a compiler for a subset of C in 500 lines of Python: https://vgel.me/posts/c500/ Highly recommended.
@movq Ha, okay! I'm gonna try that tomorrow morning. Can't see it at the moment.
@movq For a split-second I thought of Edvard Munch's The Scream. No idea who is portrayed, but he definitely looks bit spooky. The guardian of the garage.
Very nice, @movq.
@movq WHAT!? Holy shit, even with its moons!? This is truly amazing! The mind boggles that we can actually see them.
@movq They are indeed. :-(
I broke my new drill bit the first time I used it. Sigh. I thought I use the screws from my grandpa with the slotted heads, so they're out of the way. Of course I slipped off several times. It's just a stupid drive. When trying out the first drawer it rubbed on the new bottom rail. That's what I get for not measuring and just wacking things together. Since I didn't want to unscrew the rail again I had to knee down on the floor and chissel off 5 mm. The back rail wasn't screwed yet, luckily. So I could simply glue on two new raiser blocks.

I have no clue how or when that happened, but I noticed that my door lifter broke again. I didn't even use that thing. I glued it back together, but I'm sure that I have to upgrade to steel or at least some hardwood.

So then just in time a mate called and we went for a short stroll.

[![Private apple trees in the evening](https://lyse.isobeef.org/waldspaziergang-2023-09-05/05-vorschau.jpg)](https://lyse.isobeef.org/waldspaziergang-2023-09-05/05.jpg)
My lower drawers from the drill press stand have crashed down. I had to cut two support timbers and glue small pieces of wood on the ends so that the bottom drawer can still pass between them. Gotta screw them under the side panels tomorrow. I don't know how I attached the side panels in the first place. It doesn't look like glue, and there are definitely no screws either. Could have been a press fit. But as heavy as the drawers are, I can't really imagine that. So probably OSB end-grain glued to solid wood legs. Definitely not a great joint.
@mckinley Awesome, mate! :-)
@movq Yeah, exactly my thoughts. So much more useful than what I do.
Wow, this is so cool to see. Could be even five times longer to see more details. German documentary on how a taxidermist revives a tawny owl. https://youtu.be/I3taY_LbPwU I have to visit this museum.
Hahahaha, the series on Grinder Disks That Shouldn't Exist continues! The Spank Master Five Million: https://youtu.be/fSsrQJCnS0k It's pretty safe, I expected quite a lot more damage.
@movq Yeah, if there's just one terminal on the workspace on a modern monitor, it feels not natural. But most of the time there are several terminals visible. Since I figured out how to change my terminal font size with key strokes a few weeks back, I just increase the font size for single terminal workspaces. The other thing can be my browser when visiting very rudimentary web pages that do not limit the content width. Very long lines are a bit hard to read, I often don't immediately find the correct line to follow. Especially if the paragraph has more than six lines or so. Again, zooming in is my trick. On the other hand, a lot of modern pages have too narrow content columns for my liking.
@movq I reckon you can blame it on the surrounding manmade noise. It's much worse in a city.
@adi Never used this one, but stacked window managers just waste soooo much screen space in my opinion.
@movq It's touring-complete after all… Hence, take advantage of it, use all the features! ;-)
There's way too much traffic noise and yelling people reaching my ears. Totally ruins everything. :-( I would have to go into the forest, but I'm too lazy for that at this time of the day now.
In fact I hear them right now all around me. Also a tawny owl or something along those lines. Pretty nice. Just the camera doesn't pick it up. I reckon I enjoy the concert for a little while outside.
@movq Yeah, these are crickets (Grillen). Very standard in summer I'd say. Not sure about the beeping, though.
@movq It's basically just open and save dialogs that are in floating mode. Everything else is tiled. I can't imagine ever going back.
@adi Ah, didn't know about the "recently" added state directory.
@prologic Good luck with this endeavor! :-)
@adi So how do your other XDG variables lool like?
@movq Never heard of this cool mechanism before. But with a tiling window manager this is not very much needed anyways.
@movq Doing less is a good improvement.
This is great, @xuu! Clouds everywhere the last days, so no chance over here to see anything.
I should have been long in bed, but instead I hacked this together: https://lyse.isobeef.org/zoll.tar.gz More improvements to follow. I could get rid of the Python part if I just had more LaTeX skills. Skeleton stolen from the last *.tex file I've seen a few days ago. :-) Preview: Inch fractions to millimeters conversation table*
Thanks, @movq! Yeah, we're infected for a very long time, too. I don't get good shots of this disease that heads for STR, that's why you don't see it. ;-)
@movq Nice and calm. Suddenly, summer seems to have ended rather abruptly.
Somebody dumped a paintbox in our sky.

[![Sunset over the foggy forest](https://lyse.isobeef.org/abendhimmel-2023-08-27/08-vorschau.jpg)](https://lyse.isobeef.org/abendhimmel-2023-08-27/08.jpg)
@movq Cool, both look promising. I hardly remember playing that myself back in the days. I just have faint memories of watching over people's shoulders playing this game.
That's a scenic landscape, @marcorocco: https://marcorocco.net/de/posts/2020/12/unterwegs-im-gro%C3%9Fen-torfmoor/ Looking forward to more. :-)
That's great music, @marcorocco, you and your band are making. I'm just watching your video on your band website and I like it.
@movq Oh, that sounds very cool. Let us know when you have something to try out in the terminal. :-)
@movq That would be really nice.
And here is part two, awesome! \\o/ Heavy rain, constant lightning, thunder and wind. Really nice. Unfortunately, my camera is tooooo shitty, to yield anything useful. Even video mode sucked and all frames from the video are of zero use. The cam only captured the very bright lightnings, but the smaller ones are invisible. Very frustrating. Anyway, it's cooling down. Much appreciated. And the air smells so wonderful. Got a bit soaked at the roofed front door.
And here is part two, awesome! \\\\o/ Heavy rain, constant lightning, thunder and wind. Really nice. Unfortunately, my camera is tooooo shitty, to yield anything useful. Even video mode sucked and all frames from the video are of zero use. The cam only captured the very bright lightnings, but the smaller ones are invisible. Very frustrating. Anyway, it's cooling down. Much appreciated. And the air smells so wonderful. Got a bit soaked at the roofed front door.
@movq Wow, that's really unexpected. Very pleasant surprise, I have to say. :-) Maybe the Turbo C++ folks liked Unix quite a bit. Happy exploring! :-)
First part of the severe wetter rolled past us. So we could go out for a walk. Didn't bring my camera, though.
@movq Yiha, very cool! :-) Oh nice, even a starship. Just had a look at the commits of the port and it seems that making it work on DOS was not too difficult. I don't know what I expected, but I was suprised how little changes it took.