2026-08-11T16:30:00+02:00 (
remote@lyse.isobeef.org )
(#p43aljszgr52) @david It's like Rummy but with more freedom which makes it a hell lot more interesting. You're allowed to manipulate everything that's on the table, trigger jokers, recombine the cards as long as there are at least three in a row after your move, not just simply add cards to existing rows (or whatever the correct terminology is). It's good fun and mental exercise.
2026-08-10T21:30:00+02:00 (
remote@lyse.isobeef.org )
We played Rummikub and suddenly, it's nearly two and a half hours later. :-)
2026-08-09T16:00:00+02:00 (
remote@lyse.isobeef.org )
(#porvhrqf46zz) @david Yeah, the world is quick in inventing a better idiot. :-D
2026-08-08T20:45:00+02:00 (
remote@lyse.isobeef.org )
(#icfgyfo5ezj7) @david Absolutely insane! For almost all the tools I always need two hands for sure. I can't imagine using just a single one. And then his stuff turns out 100 times better than I could ever do. There are advantages with just a single hand, though. I cut myself in the finger with scissors earlier. How stupid is that! :-D
2026-08-08T09:30:00+02:00 (
remote@lyse.isobeef.org )
(#cickcvp6t2mk) Thank you, @david!
2026-08-08T09:15:00+02:00 (
remote@lyse.isobeef.org )
This is really crazy. What a beautiful Katana and sheath. In comparison to the rest of the sword, the blade looks boring. Unbelievably gorgeous. Hats off to this single-handed craftsman, my goodness! https://www.youtube.com/watch?v=DE9ZIBhN3d4 https://www.youtube.com/watch?v=CQGobhYh3JY
2026-08-07T23:15:00+02:00 (
remote@lyse.isobeef.org )
I'm honestly surprised that some pictures actually turned out decent: https://lyse.isobeef.org/abendhimmel-2026-08-07/
2026-08-07T23:00:00+02:00 (
remote@lyse.isobeef.org )
(#peb4jcxbvuun) @movq@david Cursed shit!
2026-08-07T13:00:00+02:00 (
remote@lyse.isobeef.org )
Hahaha: https://mazzo.li/posts/undefined-behavior.html
2026-08-07T11:30:00+02:00 (
remote@lyse.isobeef.org )
I finally managed to finish reading "How fast are Linux pipes anyway?": https://mazzo.li/posts/fast-pipes.html That's cool shit. Very interesting, highly recommended.
2026-08-05T17:30:00+02:00 (
remote@lyse.isobeef.org )
(#pp5pyioxkneu) @david It absolutely was a steam bath. *sweat* *sweat*
2026-08-04T23:00:00+02:00 (
remote@lyse.isobeef.org )
(#lj3m33acefzs) That was quick. Didn't even last 10 minutes.
2026-08-04T22:45:00+02:00 (
remote@lyse.isobeef.org )
Yiha, quite some rain! Finally. And heaps of lightning in the distance. I love it. And it smells so wonderfully.
2026-08-04T22:30:00+02:00 (
remote@lyse.isobeef.org )
(#o2ccgj2jpnmw) @david Ta! I only noticed that at the computer but not when I took the photo. :-)
2026-08-04T21:00:00+02:00 (
remote@lyse.isobeef.org )
Blurry as fuck, but there ya go: https://lyse.isobeef.org/abendhimmel-2026-08-04/
2026-08-04T17:15:00+02:00 (
remote@lyse.isobeef.org )
(#4bvqelqh3tlm) What have you been up to, @kiwu? Already melted in this brutal heat? In light of recent events, check out your mentions. :-)
2026-08-04T17:00:00+02:00 (
remote@lyse.isobeef.org )
(#3awspha2najf) @itsericwoodward@prologic Sounds about spot on.
2026-08-04T16:45:00+02:00 (
remote@lyse.isobeef.org )
(#aut7pu2b22tw) @itsericwoodward Third time luck… oh wait. Maybe you'll find the disks again in the colder season. Still sounds like a good time with your mate in the outdoors. :-) Looks like the sign had also been hit with one or the other disk over time. :-D
2026-08-03T20:00:00+02:00 (
remote@lyse.isobeef.org )
Hahaha, laughing my ass off! :'-D Interview with a Sysadmin in 2026 [Corporate] https://www.youtube.com/watch?v=I7IHInNJZvE
2026-08-03T19:15:00+02:00 (
remote@lyse.isobeef.org )
(#2jqa4m6dmebq) Nothing. Absolutely nothing at all. The storm clouds passed us by to the north, south, east and west. Next chance of rain on Wednesday.
2026-08-03T15:30:00+02:00 (
remote@lyse.isobeef.org )
(#lkdfliol6exi) @aelaraji Hahaha, I don't recall when I first stumbled across it, but I'm sure it must have been the same experience you had. Ignoring the consistent fuck-up of the decimal point (German reverses comma and dot, we use a comma as the decimal separator and the dot as the thousands separator), they managed to print the amount correctly in most e-mails. But the "shipping is underway" e-mail is broken. For ages.
2026-08-03T15:15:00+02:00 (
remote@lyse.isobeef.org )
(#uolghehjpyaj) @dce@prologic We're getting cooked at humid 36°C right now. The thundergods can't decide if we'll be hit or not.
2026-08-02T19:15:00+02:00 (
remote@lyse.isobeef.org )
Richtig geniale Vorstellung von mittelalterlichen Instrumenten mit Hörproben: https://youtu.be/mrAq5WLU91I Klingt großartig. <3
2026-08-02T19:00:00+02:00 (
remote@lyse.isobeef.org )
(#j3pa7jhvispx) @movq I understand. Take a break and bear up! Still looking forward to any of your stuff. :-) Thank you very much for all the great things I learned from you and wonderful conversations we had. <3 In a while, crocodile. :-)
2026-08-01T20:45:00+02:00 (
remote@lyse.isobeef.org )
(#xh6tdwo3rvky) @david Thanks, mate! I just finished my two full version marking gauges. And I'm rather pleased with them, I think they turned out great if I say so myself. https://lyse.isobeef.org/tmp/streichmass-mit-messerrad/ The beech fences (80 and 100mm long) were part of a former table frame that I cut down. I plugged the dowel holes with, well, dowels. The horrific looking one was the stuck original one, though. Luckily, it's a hell lot worse on camera than in person. If you take a close look, you'll also be able to see the large but slight chamfers one one side each that I just left alone. I really like beech wood. It looks beautiful, is rather heavy (at least in comparison to spruce which I typically use) and thus rock solid, is also a blast to plane and the list goes on. I sanded it with 180 grit and it's smooth as a baby's bottom. The 25mm beech round stocks that house the brass knurled nuts are now roughly 4cm long. That's one thing I wanted to change right after my first experience. If they were rounded or chamfered more, it would probably be even nicer for the fingers when using the marking gauge. They're sunken in roughly 3mm in the fences. A forstner bit made quick work. This simplified alignment during glue-up a lot. Will definitely do that again if I happen to build more. I could fully concentrate on the grain orientation and it didn't shift around. Just like in the prototype, I used 8mm aluminium solid round bar again for one of the marking gauges. It's also about 15cm in length. I figure that's enough. The bought marking gauge has a twenty-something and some change steel rod. So far, all my markings didn't even exceed probably 50mm. I found the 8mm brass pipe laying around on the workshop. Didn't know anymore I had it for ages. Unfortunately, the wall thickness is below a millimeter, so my 6mm wooden dowels are sliding in there. Thus, I put 8mm dowels in my drill chuck and reduced the diameter with a rasp. I went a tiny bit too far, the press fit is on the loose side. When drilling with a 2mm drill (I did that on purpose to hopefully cause the dowel to expand a bit more in the pipe, typically the tap hole for M3 is 2.5mm) and tapping M3, the downsized and glued in dowel slipped down the pipe. Should have used construction adhesive or something along those lines. Anyway, I might replace it with a solid one. I consider this a half-successful experiment. I fear that an unfavorable grain direction might pull out the cutting wheel during use. Let's see. The finish of all three is boiled linseed oil. It looks nice, but oh by, this smell. I really dislike it. My hands stink even after washing them several times. I still got several liters left, so I have the dubious joy to use it on many, many other projects to come. Oh, one last thing. Didn't manage to drill the tiny holes for my M3x16 bolts perfectly in center like for the prototype. They're a tiny bit off. Also, on the longer fenced marking gauge, the hole for the knurled nut is a little to the side and at an angle. No idea how I messed this up. Luckily, it's just a look thing but doesn't impair use.
2026-08-01T11:15:00+02:00 (
remote@lyse.isobeef.org )
(#xh6tdwo3rvky) Of course, the tiny M3 bolts are in a completely different section a few aisles further down than the rest of the bolts and screws. Took me a while to find them. And I didn't pay close enough attention, I got 19 stainless hex key but one galvanized phillips head bolt, somebody threw it back in the wrong bin. Oh well, at least they're both seven cents the piece. I only really need two or three.
2026-07-31T12:45:00+02:00 (
remote@lyse.isobeef.org )
(#ltdrd6bhwju3) @david We're slowly getting there. Very slowly. 8-)
2026-07-31T12:15:00+02:00 (
remote@lyse.isobeef.org )
(#mqknar5qpdxo) Finally, I added some tests and fixed this. After updating the feed metadata, I now just return early and do not attempt to build an SQL multi-value INSERT statement. Easy-peasy.
2026-07-31T00:45:00+02:00 (
remote@lyse.isobeef.org )
(#32ag3dz474in) @david I bet, you're absolutely right. ;-) Let's start the countdown: 10, …
2026-07-30T18:45:00+02:00 (
remote@lyse.isobeef.org )
(#pg3lgzthhrnl) @arne@david Most do actually look really good, but of course I prefer the birds. :-) Can't have them all, because it's even harder to spot counterfeit notes I reckon.
2026-07-30T18:30:00+02:00 (
remote@lyse.isobeef.org )
(#t3q5i5xcwzmo) @david Hahaha, I love it! :'-D I need very high precision pliers. https://lyse.isobeef.org/tmp/screenshot-2026-07-30-18-18-31.png But now I'm owed something for that! Nearly made up for it. I can use the new clamp to press hard and shrink the coin a bit.
2026-07-29T23:00:00+02:00 (
remote@lyse.isobeef.org )
Okay: https://lyse.isobeef.org/tmp/screenshot-2026-07-29-22-58-00.png
2026-07-28T17:30:00+02:00 (
remote@lyse.isobeef.org )
(#konmfwiwcius) @movq "when this stuff still mattered" LOL, true :-D Right, the good old pen test! Never gets old. :-D
2026-07-28T16:45:00+02:00 (
remote@lyse.isobeef.org )
(#d64wm6w4qpze) @movq Zur Hardware zurückzugehen merke ich hier (noch?) nicht. Aber sonst alles andere, ja und ja. Ganz genau.
2026-07-28T16:30:00+02:00 (
remote@lyse.isobeef.org )
(#asqugkrz3gev) @movq When a mate was learning Czech a few years ago, he sometimes told us about some crazy words and sentences. But it could very well be that these were out of norm extremes. Not sure. You're right, I also expected a little worse. :-) @thecanine Hahaha, this is cool! :-D
2026-07-28T16:15:00+02:00 (
remote@lyse.isobeef.org )
Bwahahaha, these security folks have a great sense of humor! :-D Got a phishing test e-mail disguised as an overdue anti-phishing training e-mail: https://lyse.isobeef.org/tmp/overdue-anti-phishing-training-phishing-test-mail.png We receive these test phishing e-mails every now and then at work. When you follow the links and log in at the fake login, you probably get assigned another (real) training. When I got this e-mail, I immediately thought of such a test. Since I actually do have some stupid training deadlines coming up soon, I wasn't 100% sure, but still doubted that this was one of them. To make the timing even better, in the team meeting last week, our bosses reminded us to complete outstanding trainings before the deadlines. Ideally well in advance. Notifications about deadlines coming closer are sometimes not only sent to the individuals but also to the bosses and their bosses. And then things can get out of hands when somebody doesn't read the e-mails properly and mistakes them for deadline exceeded reports. Anyway, the URL also looked kinda legit. It really doesn't help a single bit that domain names change all the fucking time. So, still with the test program in mind, I thought, I just give it a quick shot out of curiosity. Since I just had logged in before, the empty SSO username field was totally obvious then. Looking at the e-mail headers confirmed that this was indeed one of security's field checks. :-)
2026-07-27T21:15:00+02:00 (
remote@lyse.isobeef.org )
(#asqugkrz3gev) @movq Maybe it's already too late 'o clock, but I don't find it overwhelmingly crazy. The Czechs, on the other hand, do they even know what vowels are? :-D
2026-07-27T21:00:00+02:00 (
remote@lyse.isobeef.org )
(#tpbddq7pqs7l) @movq Da hilft nur, die alle mit vollem Karacho gegen die Wand fahren zu lassen. Aber Auslöffeln werden es trotzdem wieder ganze andere Leute müssen. Wie immer. Das ist das bittere an der Sache. Trifft immer die Falschen. Kollege meinte mal halb sarkastisch, irgendwann werden Firmen dann wieder Menschen einstellen, weil die billiger sind.
2026-07-27T17:00:00+02:00 (
remote@lyse.isobeef.org )
(#dnfo6eavvruk) @movq Pff, wer will schon Ansätze von Qualität? GESCHWINDIGKEIT!!!
2026-07-27T16:45:00+02:00 (
remote@lyse.isobeef.org )
(#p6h4og2djyob) @prologic@david I agree about @xuu (still a few months left before hitting this timeout). :-D But I don't know the feeds anymore, because, well, I deleted them. :-D
2026-07-27T16:30:00+02:00 (
remote@lyse.isobeef.org )
(#bmpe5drupzsu) @david Yeah, it's a bee keeper channel. Oh, with all the epoxy, this handle is really strong.
2026-07-27T16:15:00+02:00 (
remote@lyse.isobeef.org )
(#l74edun2mbgg) @lafe Try again, that's only a quarter of the year! :-P
2026-07-26T21:45:00+02:00 (
remote@lyse.isobeef.org )
Fuck me dead, how cool does this knive handle made from honeycomb and epoxy look!? :-) <3 https://www.youtube.com/watch?v=4ZDLkqVoK5w
2026-07-26T20:30:00+02:00 (
remote@lyse.isobeef.org )
Time to remove two feeds that have not seen a single update for over a year. I reckon they're just dead.
2026-07-26T19:00:00+02:00 (
remote@lyse.isobeef.org )
(#5gibiuu52qvt) @david Go ahead and grab something, mate! https://lyse.isobeef.org/tmp/fruit.jpg
2026-07-26T12:15:00+02:00 (
remote@lyse.isobeef.org )
(#rdgx4jyzkcpn) @movq Great, I had some cherries. :-)
2026-07-26T12:00:00+02:00 (
remote@lyse.isobeef.org )
Woah, this is absolutely crazy! Super interesting to watch. The precision with this tiny workpiece amazes me. Omega Seamaster Bracelet Machining Modification: https://youtu.be/t0iGXWcZxg8
2026-07-25T19:45:00+02:00 (
remote@lyse.isobeef.org )
Board game for one person? Ironing. :'-D
2026-07-25T19:30:00+02:00 (
remote@lyse.isobeef.org )
(#gqcqe6hnorgm) @david Oh yeah, a full belly stops everything. :-D @movq Dang it! You gotta have a chance again after sunset. :-)
2026-07-25T19:15:00+02:00 (
remote@lyse.isobeef.org )
(#de37mijwtw52) @prologic Sounds cool, I gotta take a look at it when my brain has some free capacity. :-)
2026-07-25T19:00:00+02:00 (
remote@lyse.isobeef.org )
(#gokl2dx6hq2n) @movq A mate showed me a graph reaching 40°C… :-O It's going to be hell on earth.
2026-07-25T12:45:00+02:00 (
remote@lyse.isobeef.org )
Bwahahahaha, wie geil! :'-D Wenn Österreicher Hochdeutsch sprechen müssen: https://www.youtube.com/watch?v=Xh-l1wfIDXY Gestern Abend den Austrian Kiwi entdeckt, ein Neuseeländer, der seit ein paar Jahren in Österreich lebt. Der hat ein paar absolut großartige Videos.
2026-07-25T12:30:00+02:00 (
remote@lyse.isobeef.org )
(#mocwclyhxbng) @movq Type hints are just… so weird.
2026-07-25T12:15:00+02:00 (
remote@lyse.isobeef.org )
(#zyudkzx33yo2) @movq I see! :-D So, how was your banana then?
2026-07-25T11:30:00+02:00 (
remote@lyse.isobeef.org )
(#uj2vqnizkctc) @movq I hear you! It's so annoying. Ruff, the formatter? Lol, never heard of that banana moment before, but it sounds very fitting. :-D
2026-07-25T09:45:00+02:00 (
remote@lyse.isobeef.org )
(#febv4civtzkm) @movq That's cool! :-)
2026-07-25T09:30:00+02:00 (
remote@lyse.isobeef.org )
Got up at 5 to have a shower and air out the bathroom before the sun hits, went back to bed. Strolled with my mate for one and a half hours and now I'm absolutely done. At 8 the temps were pleasantly cool, but that didn't last long.
2026-07-25T07:45:00+02:00 (
remote@lyse.isobeef.org )
(#wk5doimdwpmh) @movq Oh dear, Thunderbird became such garbage.
2026-07-24T23:45:00+02:00 (
remote@lyse.isobeef.org )
(#iv4cozyfzyyv) @movq Since you ask, it must be only the one in the title bar, but not the one below. :-( Let me suggest Newsboat to you: https://newsboat.org/
2026-07-24T23:30:00+02:00 (
remote@lyse.isobeef.org )
(#sunkg7pgm26g) @movq Not sure, I very rarely see people wearing cowboy hats. They're a great protection against the sun in my opinion. Even as a child, I always loved their looks, but I only wear them in summer for that particular reason. Unfortunately, they're too cumbersome to carry around not on your head. And they don't combine with bicycle helmets or head rests. About one and a half decades ago, I made two hats myself. Sadly, they both turned out to be failures. Haha, now that you mention the aliens, I cannot unsee them anymore. :-D
2026-07-24T21:00:00+02:00 (
remote@lyse.isobeef.org )
(#6i77lccc5iol) @david You better stick to your doctor's prescription of mowing three times a week.
2026-07-24T10:00:00+02:00 (
remote@lyse.isobeef.org )
(#afkex7wj46a5) @david Thank you! They were so busy, my camera got dizzy: https://lyse.isobeef.org/waldspaziergang-2026-07-23/busy.jpg
2026-07-23T23:30:00+02:00 (
remote@lyse.isobeef.org )
Skipped a meeting and went for a stroll this arvo because my head was aching due to tension caused by lack of physical activity. That was a very good decision: https://lyse.isobeef.org/waldspaziergang-2026-07-23/
2026-07-23T21:00:00+02:00 (
remote@lyse.isobeef.org )
I'm not a fan of light shows but that's a cool UFO! https://youtu.be/DbSmUCCR9Es
2026-07-23T17:30:00+02:00 (
remote@lyse.isobeef.org )
(#tmvnodo6rspd) Dang it, @david, you blew my cover! I was raised without a TV, so I don't miss it one bit. My parents just didn't by a new one after their super old black and white device died. Looking after a baby was maybe spare time activity enough for them. :-P When there was some super cool program I wanted to watch, like a James Bond movie, I visited my grandma. Sure, it sometimes was a pity that I could not join yesterday's TV series discussions with my classmates, but oh well. I survived that. Building stuff with Lego or playing outside was all I really wanted. Apart from a few really good programs, there's sooooo much trash, non-stop ads and the like. Even as a kid, I was very disgusted by all that. But I have to admit that visting somebody with a TV and watching a good show was usually a highlight. These days, I can easily waste all my time and more on YouTube. :-/
2026-07-23T17:15:00+02:00 (
remote@lyse.isobeef.org )
(#xvhatyqxvabx) @movq@klaxzy Same situation here.
2026-07-23T17:00:00+02:00 (
remote@lyse.isobeef.org )
(#v5c6qx66vmtl) Data protection, @dce! :-D This revealed another bug in my client that I still need to fix at some point. Inserting an empty set of messages failed with an SQL logic error. Whoops. I didn't think about that corner case.
2026-07-22T18:00:00+02:00 (
remote@lyse.isobeef.org )
(#2dzntyc4snz4) @aelaraji Perfect! :-D
2026-07-22T00:15:00+02:00 (
remote@lyse.isobeef.org )
(#6qwhu7aufi5d) @david Go down to "Releases", there's a link to the CHANGES: https://movq.de/git/jenny/CHANGES.html
2026-07-21T21:15:00+02:00 (
remote@lyse.isobeef.org )
(#2wqpgitvxef3) @aelaraji@david Hahaha, neither did I came across this before. :-D
2026-07-21T21:00:00+02:00 (
remote@lyse.isobeef.org )
(#bvssc7r7ryeb) @movq Similar to my Go IDE at work. GoLand hangs so often in this giant code base. :-D (But it could also be one or the other snake oil that's forcefully installed and fucks with me every day.)
2026-07-21T20:45:00+02:00 (
remote@lyse.isobeef.org )
(#tn5ap4sxtwgv) @david Hahaha! The thing is, it doesn't taste as good in summer as in winter for some unknown reason. Two or three decades ago I asked my grandma to bake some of her amazing gingerbread in summer. But she always refused, claiming that this only really works in winter. Of course, I didn't believe that. Finally, after years of begging and pleading, she finally made a tray. And to my surprise, she was right. It wasn't bad, no, no, not at all. It was really yummy. But the gingerbread in winter was just better. :-/ Maybe I should give it a shot myself. Perhaps she slightly changed the recipe on purpose. So that I will never break the tradition of seasonal food again. :-P It worked, at least I never asked her to bake gingerbread in summer again. :-D
2026-07-21T20:30:00+02:00 (
remote@lyse.isobeef.org )
(#j2gjsmsfkjuc) Pretty cool, @thecanine!
2026-07-21T20:15:00+02:00 (
remote@lyse.isobeef.org )
(#4wp5q4wqbp63) @movq Good question. Tarballs are probably not needed, but might be convenient for people who don't want to or can use a version control system. Not sure if there are non-techies who use your software. Tarballs for branches are overkill, though, I agree. Looking at this more closely: As for the feeds, how about filenames "tags.atom" and "commits.atom"? Unless, of course, they were already named like that before. For the tags feed it would be cool to include the actual changelog entries to be more useful if somebody takes this approach to get notified of new versions. But that would mean you have to duplicate the changelog entry into the annotated tag. And then you can't fix changelog typos in the feed anymore. Alternatively, the feed generation would need to extract the section from the the CHANGES file. That has the benefit of automatically providing changelogs for past versions in the feed.
2026-07-21T20:00:00+02:00 (
remote@lyse.isobeef.org )
I finally built a prototype of a marking gauge with a cutter wheel out of some scraps. https://lyse.isobeef.org/tmp/streichmassprototyp-mit-messerrad/ It had been a long time in coming, I bought some replacement cutting wheels three years ago for exactly that purpose. I also found out that I need more M3 countersink bolts for future marking gauges that I want to make (maybe two or three more). Luckily, I had exactly one. I thought I got way more than that, but M3 is very, very scarce in my collection. My M3 bolt was barely long enough to attach the cutting wheel to the bar. But it's okay for the prototype. I was pleasantly surprised that I managed to drill the 2.5mm diameter hole almost perfectly in center in the 8mm diameter aluminium round bar. Center finder, drill press and vise with a vertical prism for the win! I knew upfront that the M5 steel bolt to lock the bar in place definitely needs to be replaced with a brass or aluminium one (maybe with a knurled head). Otherwise, it cuts into the aluminium bar and leaves ugly marks. These burrs might even scratch the workpiece. But, of course, I don't have any brass on hand either. Alternatively, I swap out the aluminium bar for a steel or even stainless steel one. Stainless might be tricky to precisely drill and tap, though. I already learned a few things by making this prototype. The final wooden fence can be even a bit bigger. This round thing behind is also too short, I'd like it to be a tad longer and thicker. The final one will be made from hardwood, not spruce. Other than that, it's great and already more practical than my store-bought marking gauge with its round fence. This only causes the tool to roll around on the workbench. Or even roll off. Stupid design.
2026-07-20T23:00:00+02:00 (
remote@lyse.isobeef.org )
Dang it! Suddenly, I've got real strong appetite for gingerbread.
2026-07-20T21:30:00+02:00 (
remote@lyse.isobeef.org )
(#iiga5bpjuatf) @movq Sigh. :-(
2026-07-20T21:15:00+02:00 (
remote@lyse.isobeef.org )
(#p2aqfl27xle7) @movq Oh, that's actually quite a bit. I didn't expect that. You definitely have useful things. :-) Exactly, I now also send links to my fork. :-D
2026-07-20T20:15:00+02:00 (
remote@lyse.isobeef.org )
(#sc2jwuf2yqzj) @movq Yeah, I'm interested in your future bot stats as well. I wouldn't be surprised if they just keep hammering against all those now 404s. But I hope I'm wrong.
2026-07-20T20:00:00+02:00 (
remote@lyse.isobeef.org )
(#xha6mw7mvbni) @movq Finally, your software is just perfect and finished by now, no need to report non-existing bugs or send in code changes. :-) How many tickets and merge requests did you get before moving to your own server? I have to admit that I use `git format-patch` so rarely, I always have to pull it up from my shell history. Haven't used `git send-email` even once. I definitely have to look into that soon. Wanted to do that for several years. I typically upload the patch to my server and send a link via IRC. Maybe I was just very unlucky, but my experience is that you can perfectly ignore people and their work who only do it for the "fame". It's almost always been from inferior quality to say the least.
2026-07-20T19:45:00+02:00 (
remote@lyse.isobeef.org )
(#v732qmy5bod3) @movq If only somebody had warned us! Luckily, no TV in this household. :-)
2026-07-20T18:30:00+02:00 (
remote@lyse.isobeef.org )
Why is there no English version of this interesting ZIP code article!? https://de.wikipedia.org/wiki/H0H_0H0 (Canadians know that this is Santa's postal code.) https://www.canadapost-postescanada.ca/cpc/en/our-company/write-letter-to-santa.page
2026-07-20T17:00:00+02:00 (
remote@lyse.isobeef.org )
(#rp5nncghmxr6) @movq Works good. I fully get and support your reasoning behind that change. There's only one downside. Quickly looking at some code snippets in the browser helps me to quickly judge whether it's worth to clone a repo or not. Oh well. :-) After all I know that movqware always is.
2026-07-20T16:45:00+02:00 (
remote@lyse.isobeef.org )
(#gqid7kc7irnc) @movq Luckily, I'm not an autist. If you walk next to a busy road or airport, I totally get the annoying noises. I'd plug my ears, too. But I meant in the woods where there are almost only nature sounds. Maybe they miss the jackhammers etc. :-D @david Hell yeah, let's finally reintroduce the big predators! :-D
2026-07-19T14:00:00+02:00 (
remote@lyse.isobeef.org )
I don't get people strolling in nature with headphones on and constantly staring at their phones all the time. Why even go outside if you cover ears and eyes? Okay, you're on the move and smell the country air, but still. Yesterday, one girl was wearing earphones and reading a real book while walking on a field path. Better than a phone, sure, but what the hell!?
2026-07-19T11:15:00+02:00 (
remote@lyse.isobeef.org )
(#houmbzjs4hzk) @david I first thought that this is a real lake, but it's just a lake of craziness. :-D A town owned by a company (or so it reads to me), that's insane. Let me send you some nice 17°C.
2026-07-19T11:00:00+02:00 (
remote@lyse.isobeef.org )
(#4b7ahmmdpjkj) @prologic Yeah, great documentary. I was reading up on Orcas a few months ago. Zoos are really problematic.
2026-07-18T15:45:00+02:00 (
remote@lyse.isobeef.org )
(#yy755mb2ob7m) Hurray! Finally, the thunderstorm is right over us. The last days we always got skipped. The rain smells so great. :-)
2026-07-18T15:30:00+02:00 (
remote@lyse.isobeef.org )
(#lankmgpp4dng) Ta, @david, much appreciated.
2026-07-18T15:15:00+02:00 (
remote@lyse.isobeef.org )
(#old6yrp2ddkf) @movq Hahaha, I didn't expect anything like that. But yeah, makes perfect sense. :-D
2026-07-18T11:45:00+02:00 (
remote@lyse.isobeef.org )
Sunset few days ago: https://lyse.isobeef.org/abendhimmel-2026-07-15/01.jpg
2026-07-18T11:30:00+02:00 (
remote@lyse.isobeef.org )
(#ehp76skjaoo3) @prologic Haha, no, you're off the hook this time. :-D It's totally my fault.
2026-07-18T11:15:00+02:00 (
remote@lyse.isobeef.org )
(#vdcupw7ojila) @movq Den Lärm haben sie gut rausgefiltert. Ist mir jedenfalls nicht negativ aufgefallen. Oder es war einfach zu interessant. Tauschen möcht ich aber mit Dir echt nicht. :-(
2026-07-18T11:00:00+02:00 (
remote@lyse.isobeef.org )
(#old6yrp2ddkf) @movq Now I'm curious what happened.
2026-07-18T10:45:00+02:00 (
remote@lyse.isobeef.org )
(#uzrv4h3luwqw) @movq Bwahahaha, absolut großartig! :'-D
2026-07-18T10:30:00+02:00 (
remote@lyse.isobeef.org )
We strolled up our backyard mountain. Visibility wasn't the best, despite the rain we got yesterday. Oh well, scenery was really beautiful, though. I found it super funny that we almost overtook a jogger before she turned off to another path right in front of us (yeah, we've got a smart pace, but this girl was slow as a snail). https://lyse.isobeef.org/waldspaziergang-2026-07-18/
2026-07-18T07:00:00+02:00 (
remote@lyse.isobeef.org )
(#payn5phmni2y) @dce I see, ta!
2026-07-18T06:45:00+02:00 (
remote@lyse.isobeef.org )
(#sh7w2snf6trw) @movq@prologic@itsericwoodward Let me join the Enterprise Ruined It For Me Club. :-D
2026-07-18T06:30:00+02:00 (
remote@lyse.isobeef.org )
(#an23zvnimm42) @david Yeah, with the long and thus taller list entries, things are getting off hands. Ah, when focused, you wouldn't differentiate between read or unread.
2026-07-18T06:15:00+02:00 (
remote@lyse.isobeef.org )
(#fx5y4aaqudr5) @prologic A screenshot won't help in this case, as you don't see anything. :-D It starts off just fine with a conversation tree like that: Unknown conversation root └╴Read reply └╴Read subreply Everything works. After reloading the feeds, a new message becomes part of the conversation, so the conversation e.g. looks: Unknown conversation root └╴Read reply ├╴Read subreply └╴Unread subreply However, the bug is that the whole conversation is not shown at all. None of the three (or four with the root) messages appear in the message tree view. My recursive SQL determining the messages to display is clearly broken.
2026-07-18T06:00:00+02:00 (
remote@lyse.isobeef.org )
Tops 25°C is a very welcome change. Tomorrow just 21°C (but right before I went to bed they forecasted two degrees less today).
2026-07-17T23:00:00+02:00 (
remote@lyse.isobeef.org )
(#jy7a2m2ktrw3) @david It's truly mind-boggling. All the hand full of episodes I've seen so far on this channel are amazing. Totally worth tuning in. I have to catch up a lot. :-)
2026-07-17T22:45:00+02:00 (
remote@lyse.isobeef.org )
Spitzenmäßige Doku über @movqs kleinen Hausflugplatz: https://www.youtube.com/watch?v=F72t2fpiWPo
2026-07-17T21:00:00+02:00 (
remote@lyse.isobeef.org )
That's such a cool The Rest Is Science episode: What Are The Odds You'll Become A Fossil? https://www.youtube.com/watch?v=cYvDaDb_mbw
2026-07-17T10:00:00+02:00 (
remote@lyse.isobeef.org )
I should really fix this damn bug where new replies to read replies to unknown conversation roots are not showing up in `tt`. I run into this bug almost daily for weeks now.
2026-07-17T09:45:00+02:00 (
remote@lyse.isobeef.org )
(#2jvfylxsg52y) @movq Ich war nie im Ubuntuusersforum unterwegs. Aber zu Delphizeiten damals im „Planet Quellcodes“-Forum aktiv, das es längst nicht mehr gibt. Ich schätze, die Hochzeiten der Foren sind einfach rum. Heutzutage ist einmal sehr viel mehr Wissen andersweitig zugänglich und dann sind vermutlich die allermeisten Leute auch einfach auf Soziale-Medien-Plattformen unterwegs. Oder werden die eigenen Projekte auf dem eigenen Blog und dergleichen vorgestellt. Dann gab's auch (zumindest gefühlt) eine Zeit, in der man einfach keine sinnvollen Antworten mehr in Foren bekam. So kam das mir jedenfalls vor. Ist schon eine ganze Weile her, aber ich kann mich noch dunkel erinnern, dass ich bei Forensuchtreffern häufig auf Reaktionen à la „such doch selber“ stieß. Oder einfach zuhauf komplett falsche Antworten vorgeschlagen wurden. Ich hab mir dann angewöhnt, Forenbeiträge komplett zu ignorieren. Einige Foren haben auch noch damit angefangen, anonyme Zugriffe zu unterbinden oder zumindest einzuschränken. Das half im Rückblick natürlich auch nicht, dieses Medium attraktiv zu machen.
2026-07-17T09:30:00+02:00 (
remote@lyse.isobeef.org )
(#7uc4g7musuvm) @aelaraji That's totally fine if you work at the beach. :-)
2026-07-17T09:15:00+02:00 (
remote@lyse.isobeef.org )
(#gq2ww6xjob66) @david Right now, `tt`'s theme is baked into the binary. I have to edit the ui/styles.go and recompile. Luckily, this almost takes no time. But my todo list already includes a bullet point to make this customizable via the configuration file. :-)
2026-07-17T09:00:00+02:00 (
remote@lyse.isobeef.org )
(#gq2ww6xjob66) @david Ha, I just noticed that I changed Newsboat's defaults. Right from the factory, new items are just bold, while read ones aren't. No different colors, white on black. Focused items are bold yellow on blue. No matter the read status. I think that's why I started to play with the config to differentiate them. It's been so long ago that I didn't know anymore I even messed with that. And yes, you're right, the red on black is borderline readable. Also, my white on green focus is rather silly. But I'm sooo used to it, I don't realize how bad the contrast is. To be fair, I don't spend a lot of time in the lists. Aha, there are new articles, `Enter` to hit the artice view, read it, press `n` to immediately jump to the next unread article, rince and repeat, finally I'm back in the article list view. Default theme, read focused: https://lyse.isobeef.org/tmp/newsboat-default-focus-read.png Default theme, unread focused: https://lyse.isobeef.org/tmp/newsboat-default-focus-unread.png Lyse's schlimmbesserung, read focused: https://lyse.isobeef.org/tmp/newsboat-lyse-focus-read.png Lyse's schlimmbesserung, unread focused: https://lyse.isobeef.org/tmp/newsboat-lyse-focus-unread.png
2026-07-16T17:30:00+02:00 (
remote@lyse.isobeef.org )
(#lszr6mkxgdav) @dce I should maybe look into it some day.
2026-07-16T17:15:00+02:00 (
remote@lyse.isobeef.org )
(#75ebp7mvoolo) @david I had to look these up, horror isn't my genre at all. :-D No idea what the cool kids use today, but I still have zsh as my interactive shell. For shell scripts, though, I try to stick to POSIX and only resort to bash if really needed or it would be too cumbersome.
2026-07-16T17:00:00+02:00 (
remote@lyse.isobeef.org )
(#22nblg2fcmxu) @david Not sure if you only mean the code segments or in general. In theory, a general darker text color for read messages would probably work. The thing is that regular white on black is quite standard. In Newsboat, new articles are red (I opted for yellow here) and read ones white. I found that useful and kinda copied it for `tt`.
2026-07-16T16:45:00+02:00 (
remote@lyse.isobeef.org )
(#ma56wf4n2a77) @prologic@movq Same with `tt`, hash v2 has to be used right from the epoch onward. (And now replying to a message with a timestamp before the epoch still results in a v1 hash.)
2026-07-15T20:30:00+02:00 (
remote@lyse.isobeef.org )
(#jkngx7li4bmx) We got some rain. Not a whole lot, but it's actually cooler now and the temperatures outside are below the ones inside.
2026-07-15T20:15:00+02:00 (
remote@lyse.isobeef.org )
(#z7o6zmcjjso7) Cool, @dce. You're the first one I come across who actually writes Korn shell scripts. :-)
2026-07-15T20:00:00+02:00 (
remote@lyse.isobeef.org )
(#zzhijfm3jkxg) As an alternative, I also gave a much simpler teal on gray with reversed colors on focus a shot. Hmm, not so sure either. :-? Unread messages: https://lyse.isobeef.org/tmp/tt-new-style2-code-unread.png Read messages: https://lyse.isobeef.org/tmp/tt-new-style2-code-read.png
2026-07-15T19:45:00+02:00 (
remote@lyse.isobeef.org )
(#veffiftohgvu) @movq The nice thing about properties is that you can compute and cache things on the fly at first attempt and also ensure validation for writing. But like you said, since it's not obvious that reading or writing might do some more things, it's strongly advised to avoid doing expensive stuff disguised as properties. I reckon the vast majority of property use cases is to provide read-only access. At least that was my impression when I was doing a lot more in Python. Personally, I think that this just reads a lot nicer: ``` oink.my_property oink.my_property = 42 ``` Than: ``` oink.get_my_property() oink.set_my_property(42) ``` Btw, any field access is implemented using method calls. I might be wrong, but I believe there's always `__getattr__` and `__setattr__` involved. 8-)
2026-07-15T19:45:00+02:00 (
remote@lyse.isobeef.org )
Unread messages are yellow, while read messages are white in `tt`. Focusing them just alternates the fore- and background colors. With the old color scheme, I disliked that inline code and code blocks were basically just the opposite of normal text. Hence, unread code was white and read code yellow. I found this often confusing, especially with larger code blocks. Sure, there are the timestamp and author columns that still show the usual white (read) and yellow (unread) background for selected messages, but still. This is how it was before with unread messages: https://lyse.isobeef.org/tmp/tt-old-style-code-unread.png Before with read messages: https://lyse.isobeef.org/tmp/tt-old-style-code-read.png So, I just reworked the code styles. Not sure if I like that or if it is actually an improvement. Unread code is teal on gray when not in focus and becomes blue on orange when focused. I thought the dark gray code background on a black regular background is still nice and subtle. The same similarity in colors for focused messages meant to go with an orange code background on a yellow regular background. The teal was too light, so went with a blue foreground color: https://lyse.isobeef.org/tmp/tt-new-style-code-unread.png When read and unfocused, the new color scheme calls for the same code style teal on dark gray. However, with white as the main background for selected messages, I went with a light gray code background and a blue code foreground. Again, the contrast with white and teal wasn't good enough. Vice versa, blue on dark gray is also not all that readable: https://lyse.isobeef.org/tmp/tt-new-style-code-read.png It looks like a parrot. Let's see if I begin to like it.
2026-07-15T19:30:00+02:00 (
remote@lyse.isobeef.org )
(#sh7w2snf6trw) @movq My grief with Java is that it's sooo verbose. Sure, all the enterprise garbage makes it a hell lot more terrible, but even regular Java feels always so lengthy. And back in the days when I was using it daily, I missed so many convenient things in the stdlib after having experienced Python's "batteries included". Not sure if or how recent Java versions caught up.
2026-07-15T19:15:00+02:00 (
remote@lyse.isobeef.org )
(#2d46jinhbngc) @david Oh, really? I thought I've posted compose view screenshots before. Anyway. Glad you like it as much as I do. :-) The update interval has always been one second. I just didn't remember and thus tried to time it by watching the preview update while typing. It felt like roughly under two seconds, but apparently my inner clock was off. After taking the screenshot and then examining it more closely, I noticed that the interval is stated right in the UI. :-D So, I just amended my message and didn't bother taking a new screenshot. I figured I just leave it alone and see who spots the change, if at all. And, of course, you found the easter egg. Congrats, mate! 8-)
2026-07-15T19:00:00+02:00 (
remote@lyse.isobeef.org )
(#g6up2rwkso7h) @movq Looks like subject parsing is broken.
2026-07-15T18:45:00+02:00 (
remote@lyse.isobeef.org )
(#z6ed55zmmfmh) @david Ramen! Bon appetit.
2026-07-15T18:30:00+02:00 (
remote@lyse.isobeef.org )
(#wkp3azd36hyf) @balloon-fu-sen Not bad, quite a groovy sound.
2026-07-15T18:15:00+02:00 (
remote@lyse.isobeef.org )
(#ch33r7x342zt) @zvava hunter2
2026-07-15T18:00:00+02:00 (
remote@lyse.isobeef.org )
(#4shir6voylho) @prologic Not sure if this really counts as a draft mode or this is what you had in mind. I just was in the editor for ages and didn't close it. `tt` provides an integrated preview for the rendered message in there. It automatically updates every second. Here's a screenshot of the compose view with the conversation context on the top to which to reply to, the editor in the middle and the almost-live preview at the bottom, I hope it's big enough: https://lyse.isobeef.org/tmp/tt-compose-view-with-almost-live-preview.png But it's not like I hit the "Add message" button in the compose view (the one currently selected on the screenshot), see the message in the conversation tree and then come back into the compose view to continue editing. There's no edit functionality in `tt`. Once the message is appended to my twtxt.txt file on disk, all I can do is edit it with vim. The U+2028 line breaks are really annoying to deal with (I'm sure I could do something about that if I spent the time), so I try to avoid that at all costs. Once new messages have been added to my local file, I then manually upload the file to my server in a separate terminal. There's no upload command integrated into `tt`. Right from my very first message in the beginning, I've always done it exactly like that. I'm used to this and it really doesn't bother me. But I can see that others might not be fans of that at all. I might add an upload mechanism to `tt` at some point in the future.
2026-07-15T17:45:00+02:00 (
remote@lyse.isobeef.org )
(#55x3tvsbatqc) @david Very nice! Dear weather gods, can we please also have a decent amount of rain and not just a few drops that only make the humidity even worse?
2026-07-15T17:30:00+02:00 (
remote@lyse.isobeef.org )
(#5twpywqhmef3) @dce I like the teal colors in the file manager.
2026-07-14T23:00:00+02:00 (
remote@lyse.isobeef.org )
(#yel3tacd62kf) @david You mean, you mean… like mowing down a whole rain forest in a thunderstorm's brutal heat? :-? Show us today's rain. :-)
2026-07-14T22:15:00+02:00 (
remote@lyse.isobeef.org )
Now, that's cool shit, I have to say! Discovering so many hidden sounds... With Fotric Acoustic Imager: https://youtu.be/CKJT_ECOsK4
2026-07-14T22:00:00+02:00 (
remote@lyse.isobeef.org )
(#flviw3akphfl) @david Hahaahaaahaaaaa, that was funny as heck, mate! I had to laugh really hard! :'-D
2026-07-14T21:30:00+02:00 (
remote@lyse.isobeef.org )
(#7k7zousv5sdm) @david Hahaha, for sure. (But my observation wasn't meant as a complaint.)
2026-07-14T21:15:00+02:00 (
remote@lyse.isobeef.org )
(#jomcqfl5lfbx) @david :-D
2026-07-14T18:30:00+02:00 (
remote@lyse.isobeef.org )
Wow, 79 new messages over night, similar numbers in the past days. Looks like we're surfing a high-traffic wave again. :-)
2026-07-14T18:15:00+02:00 (
remote@lyse.isobeef.org )
(#lkzifeqoll4g) @prologic@david Thanks! Hahaha, rest assured, it was not right from the beginning at all. I had to fix it over and over again.
2026-07-14T18:00:00+02:00 (
remote@lyse.isobeef.org )
(#5kmtbdutppjb) Uuhh, nice, @eldersnake is back!
2026-07-14T17:45:00+02:00 (
remote@lyse.isobeef.org )
(#2vqjlfjoj5hn) @prologic Perhaps somebody tried to register "yarn_secret_service". 8-)
2026-07-14T17:30:00+02:00 (
remote@lyse.isobeef.org )
(#xc5s6v7ojg7i) @prologic Where's the before picture!? :-D
2026-07-14T17:15:00+02:00 (
remote@lyse.isobeef.org )
(#egsqiwxhd6mr) @movq Yes, this is absolutely a no-go! A long time ago when the first telemetry shitstorm happened, I added `export GOTELEMETRY=off` in my ~/.zshrc. But it doesn't seem to be picked up at all (I actually call this sabotage!): ``` $ go env GOTELEMETRY local $ go env -w GOTELEMETRY=off go: GOTELEMETRY cannot be modified $ go telemetry off $ go env GOTELEMETRY off ```
2026-07-14T17:00:00+02:00 (
remote@lyse.isobeef.org )
(#cygi2ndm5jt3) @prologic@david I just want to bring up the following: From a data protection point of view, edits and deletions are important. But that's about it, I will not join discussions on that topic. :-)
2026-07-13T23:30:00+02:00 (
remote@lyse.isobeef.org )
(#2vqjlfjoj5hn) @prologic You also have to tell us the username!
2026-07-13T23:15:00+02:00 (
remote@lyse.isobeef.org )
(#7rmdwpnh43ui) Hell yeah, @kat is back! \o/
2026-07-13T23:00:00+02:00 (
remote@lyse.isobeef.org )
Hurray, I can now press `gg` instead of `g` to go to the top in `tt`. Much better! :-) Other multi-key combinations are also easily possible now. I should probably write a real article about this at some point, but here we go. The only downside with my new key binding system is that it breaks tview's established pattern. You've got an `InputHandler()`, that is implemented using `WrapInputHandler(…)`. It typically then directly implements the switching logic depending on the key press. Something like this: ```go func (w *Widget) InputHandler() func(event *tcell.EventKey, setFocus func(p tview.Primitive)) { // WrapInputHandler allows for intercepting key events with SetInputCapture(…) // from the outside for customization. This handles the default key bindings. return t.WrapInputHandler(func(event *tcell.EventKey, setFocus func(p tview.Primitive)) { switch event.Key() { case tcell.KeyRune: if event.Modifiers() == tcell.ModNone { switch event.Rune() { case 'k': w.scrollUp() return // we already handled the event, stop processing case 'j': w.scrollDown() return } } } // We didn't handle the key event. Maybe the parent // widget knows what to do with it. if handler := w.parent.InputHandler(); handler != nil { handler(event, setFocus) } }) } ``` From the outside, you can intercept and either stop or continue the widget's original key handling with a potentially rewritten key event using `SetInputCapture(…)`: ```go w := NewWidget() // customized or additional key bindings w.SetInputCapture(func(event *tcell.EventKey) *tcell.EventKey { switch event.Key() { case tcell.KeyUp: // Rewrite the event, so the "cursor up" key is an alias // for the vim key binding "k", that is handled by the // wrapped input handler above. (I know, I know, this is a // completely unrealistic example, why would anyone use // cursor keys when there are vim key bindings available?!) return tcell.NewEventKey(tcell.KeyRune, 'k', tcell.ModNone) case tcell.KeyRune: if event.Modifiers() == tcell.ModNone { switch event.Rune() { case 'q': app.Stop() // we already handled the event, do not pass it // to the wrapped input handler above return nil case 'r': toggleMessageReadStatus() return nil } } } // we didn't handle the event, pass it to the wrapped // input handler above return event } ``` Since they all expect a single key, I've noticed that using multiple dedicated `KeyBindings` of mine on these different levels kinda breaks multi-key handling with common prefixes. The outer-most `KeyBinding` captures the prefix, but it can't transfer it to the inner one if not handled by the outer one. At least not without some more (potentially ugly) changes. So, I now have to work with just a single `KeyBindings` object for the entire widget chain (if it consists of multiple other widgets or the regular input handler and input capture are in the game). The outside needs to register all its key bind customizations or extensions at the same level that the original widget handles its default ones. Doable by exposing the widget's `KeyBindings` instance, but not pretty. You always have to keep this in mind. With the `KeyBindings`, it will look like that: ```go type Widget struct { parent tview.Primitive // make it available to children or the outside either by // direct field access or by providing a getter method KeyBindings *bind.KeyBindings } func NewWidget() *Widget { w := &Widget{KeyBindings: &bind.KeyBindings{}} w.KeyBindings. // default key bindings Bind0(bind.KeySequence('k', w.scrollUp). Bind0(bind.KeySequence('j', w.scrollDown) return w } func (w *Widget) InputHandler() InputHandler() func(event *tcell.EventKey, setFocus func(p tview.Primitive)) { return t.WrapInputHandler(func(event *tcell.EventKey, setFocus func(p tview.Primitive)) { // also note the missing support for focus transfer at the moment event = w.KeyBindings.Capture(event) if event == nil { return } if handler := w.parent.InputHandler(); handler != nil { handler(event, setFocus) } } } ``` And then from the outside, or in a child widget: ```go w := NewWidget() w.KeyBindings. // additional or customized key bindings Bind1(bind.KeySequence(tcell.KeyUp), func(*tcell.EventKey) *tcell.EventKey { return tcell.NewEventKey(tcell.KeyRune, 'k', tcell.ModNone) }). Bind0(bind.KeySequence('q'), app.Stop). Bind0(bind.KeySequence('r'), toggleMessageReadStatus) ``` When directly working with tview primitives that are not part of custom widget implementations, the following works well so far: ```go textView := tview.NewTextView(). SetWordWrap(true). SetText("…") SetScrollable(true) textView.SetInputCapture((&bind.KeyBindings{}). Bind0(bind.KeySequence('q'), app.Stop). Bind1(bind.KeySequence('g', 'g'), func(*tcell.EventKey) *tcell.EventKey { return tcell.NewEventKey(tcell.KeyHome, 0, tcell.ModNone) }). Capture) ``` I need to sleep on this some more. Also, writing very long messages like this one is really not all that fun in `tt`'s editor. I should absolutely provide a way to shell out to vim. (Took me about one and a half hours to compose, holy crap. But not only because of not using vim. Although, that might have saved me a quarter hour or so for sure. Proof-reading this message also uncovered quite a few bugs in my real documentation. So, that's a big win!) Good night!
2026-07-13T17:15:00+02:00 (
remote@lyse.isobeef.org )
(#5ddqdwhul5z7) @david Not so keen on the mowing part. :-)
2026-07-13T17:00:00+02:00 (
remote@lyse.isobeef.org )
(#nvald2o6b4v6) @prologic That's a good way to keep spammers out: > Your browser did not pass the anti-spam check! Please make sure JavaScript is enabled and try again. It was turned on.
2026-07-13T16:45:00+02:00 (
remote@lyse.isobeef.org )
(#zhkzdjeoa3yj) @david Haha, great response!
2026-07-13T16:30:00+02:00 (
remote@lyse.isobeef.org )
(#3mff6i6aadyr) @movq Hottest room is still at 24°C. But that will change in this week, no doubt. :-(
2026-07-12T18:30:00+02:00 (
remote@lyse.isobeef.org )
(#jjpkiekewzil) @david I don't want to start the discussion again, but edits wouldn't be an issue if we had agreed on a better addressing scheme. Maybe edit more as a quiet riot. :-P
2026-07-12T18:15:00+02:00 (
remote@lyse.isobeef.org )
(#z4rca63jjp73) @david Oh boy, that looks super yummy! :-) I want to have rain here, too!
2026-07-12T17:00:00+02:00 (
remote@lyse.isobeef.org )
(#lbwl3o7l26j5) @david Exactly. Spaces are fixed, tabs always break the layout when the tab sizes are different.
2026-07-12T16:45:00+02:00 (
remote@lyse.isobeef.org )
(#6agw73frqg2a) @david Hahaahaaahaaaahaaaaa, so good! :'-D
2026-07-12T13:45:00+02:00 (
remote@lyse.isobeef.org )
Nice product, I should probably buy it: https://lyse.isobeef.org/tmp/screenshot-2026-07-12-13-43-17.png
2026-07-12T08:30:00+02:00 (
remote@lyse.isobeef.org )
(#vfa7dsz3cooc) @prologic For what it's worth, the twt hash extension is specifically modeled after yarnd's implementation with all the quirks coming from Go's stdlib: https://twtxt.dev/exts/twt-hash.html#timestamp-format "All timezones representing UTC must be formatted using the designated Zulu indicator `Z` rather than the numeric offsets `+00:00` or `-00:00`. If the timestamp does not explicitly include any timezone information, it must be assumed to be in UTC."
2026-07-12T08:15:00+02:00 (
remote@lyse.isobeef.org )
(#aktb7qluroat) @aelaraji@david@prologic It depends on the tab size, but often, a tab aligns the following character to next column that is a multiple of eight. ``` 1 8 |16 |24 |32 2026-07-12T08:11:34+02:00 Here goes the text 2026-07-12T06:11:34Z Here goes the text ```
2026-07-11T20:45:00+02:00 (
remote@lyse.isobeef.org )
(#7k7gtpql7t6w) @david Oh no, what a giant waste of time. :-(
2026-07-11T20:30:00+02:00 (
remote@lyse.isobeef.org )
(#3ucsntnpbxnt) @arne Diese Karten sind ja echt winzig. :-) Aber da fällt mir ein, ich sollte mir auch mal wieder ein Taschenmesser zulegen. Hab ich es doch über all die Jahre geschafft, alle schlussendlich zu verlieren.
2026-07-11T20:15:00+02:00 (
remote@lyse.isobeef.org )
(#74aelvwa2nij) @david Ta, I continued my fun with studying the tcell and cbind code bases for key bindings. My plan is to eventually not only support custom key bindings in the `tt` configuration file, but also to enable multi-key sequences, such as `gg` to jump to the top of a list/tree. Or use other vim-like navigation movements like `7j` or `25gg` etc. And it turns out there are only a hand full oft tcell/cbind version combinations that work together. Only if all stars align, there's chance of success. I will probably end up pulling cbind in to simplify my life. There are situations where `tcell.EventKey`'s triple of key, modifiers and rune are not all that intuitive to me. Let's see.
2026-07-11T20:00:00+02:00 (
remote@lyse.isobeef.org )
(#ynnbdxs33ge3) @prologic Well, 15 shows the site. On the left, I had a roll mat on a tarp. I borrowed some "NVA tarps" from the scouts for this trip. The scouts got them from the National People's Army, the German Democratic Republic's armed forces after Germany was reunited. They're 1.75m x 1.75m in size and weigh 1.3kg, quite heavy, but super awesome. One tarp on the bottom, another one to cover up the clothes, shoes and sleeping bag in order to protect against the thaw. Finally, a mosquito net over all that, hung from a rope between two trees. My mate just used a hammock with a mozzie net on the right hand side. The third tarp served as the luxurious bedside carpet. :-) We sat on my second tarp to chill and enjoy the sunset and surroundings. It was nice to notice birds etc. die down. It took a really long time for the last light to fade away. Since we have a very high risk of forest fires, we of course couldn't have a camp fire. But after all the exhaustion, I didn't even miss it for one second. Since we had dinner at home before leaving, all we brought were two lye rolls, two grain rolls, two brezels, some sausage and chocolate biscuits for breakfast. From the 2.5l of water, I ended up using 2l. It's always good to have a little extra, despite the unnecessary weight. We had brekkie a few kilometers further on a bench in the shade. The first bench was already in direct sun. Our camp site was maybe 30m to the side and a few meters down of a summit path hidden behind some trees and bushes. We were quite lucky, the other side of the hill got quite a bit of a breeze at night. We could hear the leaved treetops making much more noise behind us. @movq Yes, these kind of dogs should really be strictly forbidden! It's not illegal if you own the forest or ask the owner. :-) @david Yeah, no clue. But my mate said the dog is disqualified from such adventures in the future. :-) The temps were supposed to hit 14°C just before sunrise. Since we didn't bring a thermometer, I can't tell for sure. I was rather hot in my sleeping bag, so I had to pull out my arms every now and then. My mate's sleeping bag was a little lighter and, unfortunately, the zipper jammed up. Since it didn't close all the way, it felt quite a bit cold I was told in the morning. When we got up at 6ish (we said, we don't care about time at all), it was probably already 16°C if not more. I brought a jumper, but a t-shirt was already nice enough to wear. The jumper just served as my pillow. The mercury raised by the minute then. Yeah, I circled the spot with a biro to keep an eye on it. Until now, there's absolutely nothing to see. Looks like I got lucky.
2026-07-11T09:15:00+02:00 (
remote@lyse.isobeef.org )
We slept in the forest. It was really great except of my mate's fucking terror dog who was barking and snarling the entire night to each and every sound. I had maybe half an hour of sleep in total. Despite that, it was pleasantly warm. Well, the night, that is. The heat was brutal during the days. Literally streams of sweat were running down on us on the way there in the evening and back in the morning. Surprisingly, there weren't any mozzies around at night, I would have lost all safe bets. On the way there, my mate convinced me to take a shortcut through the taller and taller growing grass. It's been some time that somebody traveled on this track, so we had to search around a bit for the overgrown path where we could cross the mostly dried up creek. In the beginning I said that this will be a bad idea. Lo and behold, I discovered a tick on my inner upper leg the next morning. Luckily, I got it out with my tick hook on the first attempt. https://lyse.isobeef.org/walduebernachtung-2026-07-09-10/
2026-07-11T09:00:00+02:00 (
remote@lyse.isobeef.org )
(#xlfjo3igcnk3) @bender Immediately reminded me of the German children's song "Laurentia, liebe Laurentia mein": https://www.youtube.com/watch?v=3Q0aky9FvLc Have a nice weekend!
2026-07-09T18:15:00+02:00 (
remote@lyse.isobeef.org )
(#zlflplqulomq) @prologic I'm glad you like it. :-)
2026-07-09T18:00:00+02:00 (
remote@lyse.isobeef.org )
(#uuo72ajajh5u) @bender I bet that's true!
2026-07-09T17:00:00+02:00 (
remote@lyse.isobeef.org )
(#gzznywa6lxey) @bender Nice job! Without the comparison of the after photo, the grass doesn't look all that tall before. :-D But there sure was one or the other centimeter chopped off.
2026-07-09T16:45:00+02:00 (
remote@lyse.isobeef.org )
(#tofrvqtxxw7m) @movq What a desaster.
2026-07-08T17:15:00+02:00 (
remote@lyse.isobeef.org )
(#hmvxkjhdrhkk) @bender Thanks! I wanted that to never end as well. :-)
2026-07-08T17:00:00+02:00 (
remote@lyse.isobeef.org )
(#xujcce4ju6gw) @movq Even way lower than that.
2026-07-08T16:45:00+02:00 (
remote@lyse.isobeef.org )
(#ja22ua4msnqm) @prologic@bender Aww, that looks so pretty!
2026-07-08T16:30:00+02:00 (
remote@lyse.isobeef.org )
(#ijfa2spdemqk) @prologic@bender@movq@aelaraji Success!
2026-07-07T22:45:00+02:00 (
remote@lyse.isobeef.org )
(#jpnguzwxid63) @david Some entries can be probably simplified with just `*bot*`. :-) (But I don't use Caddy, so no idea about case (in)sensitivity. That reminds me, I should do something similar with my Nginx.
2026-07-07T22:30:00+02:00 (
remote@lyse.isobeef.org )
(#w5s6gcxt4xbo) @aelaraji I do use XMPP. But only the text chat part. ;-)
2026-07-07T22:00:00+02:00 (
remote@lyse.isobeef.org )
(#t7ejoljhar7y) @movq Hier hab ich zum Glück überhaupt gar nichts davon mitbekommen.
2026-07-07T21:45:00+02:00 (
remote@lyse.isobeef.org )
Very hot above 30°C, but luckily also incredibly cloudy and a lot of wind. That's what we got today. My mate and I went on a quick stroll this evening and got a surprise killer sunset: https://lyse.isobeef.org/abendhimmel-2026-07-07/
2026-07-07T21:30:00+02:00 (
remote@lyse.isobeef.org )
(#valaw4ihdzeu) @bender I'm glad to announce that Lyse's Free Nose Cleaning Service is now internationally available.
2026-07-07T21:15:00+02:00 (
remote@lyse.isobeef.org )
(#scsw4jlooomm) @movq Congrats! :-)
2026-07-07T21:00:00+02:00 (
remote@lyse.isobeef.org )
(#l5yrsnqnfl2h) @movq There is nothing like that on Linux, because you don't need it. Everything just works!
2026-07-07T17:30:00+02:00 (
remote@lyse.isobeef.org )
(#wgi3ltgblf5q) @prologic Very nice! Which boat is yours? :-)
2026-07-06T15:30:00+02:00 (
remote@lyse.isobeef.org )
(#6mv5v2zvt7cj) @arne Whoah! „Schaffung eines Aufenthaltsraumes für Nichtraucher!“ Irre, dass es einen solchen vor dem 1. Mai 1975 nicht gab. Kann man sich heute überhaupt nicht vorstellen. Cool, schönes Heftchen hast Du da gesetzt. :-) Die Lochkartenanzahlen sind auch der absolute Wahnsinn.
2026-07-06T14:15:00+02:00 (
remote@lyse.isobeef.org )
(#sqecdp5ugydq) @itsericwoodward@bender Oh, I missed that. Whoopsy daisy!
2026-07-06T14:00:00+02:00 (
remote@lyse.isobeef.org )
(#vbbuvd22c4im) @kiwu Hanging on by a thread is plenty good enough for many spiders, so it should be sufficient for you, too!!1!
2026-07-05T18:00:00+02:00 (
remote@lyse.isobeef.org )
(#5qgwpqp7me4z) @bender I, too, should take a nap now.
2026-07-05T08:30:00+02:00 (
remote@lyse.isobeef.org )
(#o34kqyniy7aj) @movq@bender Indeed! No idea why this isn't the default in the first place.
2026-07-05T08:15:00+02:00 (
remote@lyse.isobeef.org )
(#icnvgbhrkncz) @itsericwoodward Twtxthashgeddon, hahahaha, brilliant. :-D
2026-07-04T20:00:00+02:00 (
remote@lyse.isobeef.org )
(#o34kqyniy7aj) After updating to tview 0.42.0, I also sadly noticed, that the `tview.Modal` now clears the background and doesn't simply draw over the already present widget. So, I decided to write my own `Dialog` widget. This endeavor lead me down the path to actually bring back a custom `Button` implementation, too. When the button is focused, it surrounds the button text with `[` and `]`. When not in focus, the brackets are removed. Much better than before (https://twtxt.net/conv/qx3vz4a): https://lyse.isobeef.org/tmp/tt-confirm-message-removal-with-custom-dialog.png I also use the same buttons in the compose view, too.
2026-07-04T19:30:00+02:00 (
remote@lyse.isobeef.org )
(#wi7vpwxojgak) Great news, thank you! I can confirm, it looks good so far. After your change, the crawler requests every hour and five minutes: :-) ``` 2026-07-04T14:03:09+02:00 200 2026-07-04T15:08:07+02:00 304 2026-07-04T16:13:08+02:00 304 2026-07-04T17:18:07+02:00 304 2026-07-04T18:23:07+02:00 304 2026-07-04T19:28:07+02:00 304 ```
2026-07-04T09:45:00+02:00 (
remote@lyse.isobeef.org )
(#yndeekz5bnko) @bender Thanks, mate! On the back of the bench, the badge says: "Gestiftet Verein berg hohenstaufen Göppingen 2013". I read that as the Mt. Hohenstaufen club donated the bench itself: https://lyse.isobeef.org/waldspaziergang-2026-07-03/69.jpg On the front of the bench, the badge says: "Gestiftet von Hildegard Schuster, Gesellschafterin der Schwarz-Gruppe, Firma Wackler". The bronze lady was donated by a shareholder of the Schwarz group, specifically the local Wackler trucking and logistics company. Clip of 27 in original resolution: https://lyse.isobeef.org/waldspaziergang-2026-07-03/70.jpg The book itself reads: "Zur Erinnerung an Ralph Kobza" It's in memory of the sales manager of the art foundry next town that created also this statue. My mate took this photo: https://lyse.isobeef.org/waldspaziergang-2026-07-03/71.jpg
2026-07-04T09:30:00+02:00 (
remote@lyse.isobeef.org )
(#zeq3qoip5fcd) @prologic That's cool to hear! Looking at my access logs, something seems to be off, though: ``` 2026-07-04T04:11:26+02:00 200 2026-07-04T05:16:09+02:00 304 2026-07-04T06:33:34+02:00 304 2026-07-04T06:37:46+02:00 304 # just four minutes since last crawl 2026-07-04T06:41:55+02:00 304 # another four minutes 2026-07-04T07:11:33+02:00 304 2026-07-04T07:11:40+02:00 200 # no conditional request just seven seconds later 2026-07-04T07:43:25+02:00 304 2026-07-04T07:43:33+02:00 200 # just eight seconds since last crawl 2026-07-04T09:18:06+02:00 304 2026-07-04T09:22:53+02:00 304 # just four minutes since last crawl 2026-07-04T09:27:03+02:00 304 # another four minutes ```
2026-07-04T09:15:00+02:00 (
remote@lyse.isobeef.org )
(#gfnt23cqjimn) @movq It sure feels like the focus is heavily shifted to the average Joe and the power users are left standing.
2026-07-04T09:00:00+02:00 (
remote@lyse.isobeef.org )
(#utien3dq54mz) @movq Welcome to the wild west!
2026-07-04T08:45:00+02:00 (
remote@lyse.isobeef.org )
(#y52yntzlvhfj) @movq I agree and am very happy about how it went for me back then. Having said that, I still admire @kat's persistence and strong will to get into it. I feel that a lot of young folks give up way too quickly.
2026-07-03T23:00:00+02:00 (
remote@lyse.isobeef.org )
My mate and I hiked up the backyard mountain. We got 25°C and quite some wind, so it was actually not too terrible. The wind could have blown harder or the temps a little lower, but oh well. I saw the squirrel's bushy tail stick up on the forest floor in the sunlight and immediately thought of this cute little feller. Since it didn't move at all, even when we came closer, I got irritated and reconsidered that it might actually be some kind of dried up farn. But then we also were able to see its body. Unfortunately, the squirrel ran up the tree too quickly, so all the shots are kinda crap. At one flower spot, there were sooo many butterflies, wasps, flies, bugs and other insects. The botanic was completely crowded. The workers were transferring logs from one log truck to the other in a parking lot. I've never seen this happening before. When we passed the same place on the way home, they had moved logs into a sea container. That was surprising. This semi wasn't there on the way there. One log was probably too long and sticking out the container, so they probably had to wait for somebody to return with a chainsaw. Crazy that they're shipping logs from here probably overseas. Why else would they put them in a sea container? After our first break, a blackbird was really posing for us with his worm in the dark shade. Today was my first time I ever saw a hummingbird hawk-moth (Taubenschwänzchen) for real. My mate photographed them many, many times before, but I never came across one myself. So, that was really special. The forest service installed an outdoor table with two benches next to the timber lion, that was cool to see. We sat down for a few minutes and enjoyed both the view into the Fils valley and ant on the tabletop, but the sun was beating down too heavily on us, so we had to move on. All in all, it was a very nice few hours long hike. Enjoy! https://lyse.isobeef.org/waldspaziergang-2026-07-03/
2026-07-03T18:45:00+02:00 (
remote@lyse.isobeef.org ) @movqhttps://movq.de/blog/postings/2026-07-03/0/POSTING-en.html Oh yeah, the toolbar handles. You could actually move the toolbars around and sometimes even customize them. I have no evidence, but to me it feels like a lot of programs don't allow that anymore nowadays.
2026-07-03T18:30:00+02:00 (
remote@lyse.isobeef.org )
(#mzpw5onf7hmk) @arne@movq Oh! Von wann ist denn das? Und ja, Innenaufnahmen wären richtig fein. :-)
2026-07-03T07:45:00+02:00 (
remote@lyse.isobeef.org )
(#p3ctzzkfo5wy) @movq It was an easy and quick fix, though. :-)
2026-07-03T07:30:00+02:00 (
remote@lyse.isobeef.org )
(#flhbuo5qls3s) @arne Ah, ein Jahresband. Man darf dann auf Beiträge dazu im Blog demnächst gespannt sein. :-)
2026-07-02T13:15:00+02:00 (
remote@lyse.isobeef.org )
(#4qg5vigo4p7a) @arne Ist die Zahl 2000 ein Verweis auf das Erscheinungsjahr oder einfach nur eine fortlaufende Nummerierung der Zeitungsausgabe und bei Erreichen der zweitausendsten Ausgabe dann als Bonus beigelegen? Frohes Schmökern!
2026-07-02T13:00:00+02:00 (
remote@lyse.isobeef.org )
(#22brtk52ccvo) @movq Ah nice, I didn't know about pytest's parameterization feature.
2026-07-02T12:45:00+02:00 (
remote@lyse.isobeef.org )
(#nkn2rohm6hzh) @movq@prologic It werks!
2026-07-02T12:30:00+02:00 (
remote@lyse.isobeef.org )
(#ypww6ik5cuzr) @movq Thanks! The sunset just beats everything.
2026-07-02T12:15:00+02:00 (
remote@lyse.isobeef.org )
(#sjsthlatwmjz) @arne Success!
2026-07-01T21:00:00+02:00 (
remote@lyse.isobeef.org )
Today was really nice. Around 20°C all morning long, only in the arvo we got up to 25°C. Headed out with my mate for a quick stroll: https://lyse.isobeef.org/waldspaziergang-2026-07-01/
2026-07-01T19:00:00+02:00 (
remote@lyse.isobeef.org )
(#o34kqyniy7aj) Haha, I just noticed that this is the first twt hash v2 that I reply to. \o/ Oh yeah!
2026-07-01T18:45:00+02:00 (
remote@lyse.isobeef.org )
(#o34kqyniy7aj) This also lets me remove my custom button implementation, since the tview button now natively supports disabling.
2026-07-01T18:30:00+02:00 (
remote@lyse.isobeef.org )
(#3lq5haq) The mentioned go.{mod,sum} change is already part of tview 0.42.0. After implementing `Set/GetDisabled(…)` and `PasteHandler()`, `tt` starts up fine and seems to work without issues.
2026-07-01T18:00:00+02:00 (
remote@lyse.isobeef.org )
There's no more time to waste to rotate some months into their archive feed files.
2026-07-01T17:45:00+02:00 (
remote@lyse.isobeef.org )
How pretty! https://photo.nullprogram.com/birds/ycnh01/
2026-06-30T21:00:00+02:00 (
remote@lyse.isobeef.org )
(#vnqac6a) Put the shopvac on the alert as a wet vacuum cleaner and released it into its regular life, now that it's bone dry again. Maybe five liters of rain. Tops.
2026-06-30T19:45:00+02:00 (
remote@lyse.isobeef.org )
(#fmp4ehq) @movq Yeah. The thunderstorm was supposed to hit us, sneak north and south around us, directly pay us a vistit again, miss us to the north, directly hit us, and now it's back to a northern diversion. The thunder heavily roars in the distance at the moment. It's down to just 10 liters. A mate just got a wet laundry, though, and had to mob up a – luckily – just tiny flood. As I type, the first drops begin to fall.
2026-06-30T19:15:00+02:00 (
remote@lyse.isobeef.org )
First 12, then 37, now 63 liters per square meter, what's next? https://lyse.isobeef.org/tmp/screenshot-2026-06-30-19-12-33.png
2026-06-29T21:45:00+02:00 (
remote@lyse.isobeef.org )
(#f6pjhzq) @movq Oh dear! :-( Now, it's cooler outside than inside. Time to open the windows and start the wind machines.
2026-06-29T17:00:00+02:00 (
remote@lyse.isobeef.org )
(#2dowe2a) @movq Lucky you! My damn work laptop heated up this room to 29°C. The hottest so far.
2026-06-28T22:15:00+02:00 (
remote@lyse.isobeef.org )
I didn't manage to capture the hunting bat. https://lyse.isobeef.org/abendhimmel-2026-06-28/01.jpg
2026-06-28T20:00:00+02:00 (
remote@lyse.isobeef.org )
Even the tram tracks give up in this heat: https://chaos.social/@HonkHase/116826341363421229
2026-06-28T11:00:00+02:00 (
remote@lyse.isobeef.org )
(#42ddyma) @movq It was nice at around 5 o'clock on the balcony with just 22°C and the tiniest breeze. But I got eaten alive. Fucking mozzies.
2026-06-28T09:45:00+02:00 (
remote@lyse.isobeef.org )
(#wlmrrsq) @movq 26°C inside, 30°C outside right now.
2026-06-27T23:45:00+02:00 (
remote@lyse.isobeef.org )
Wer „Feuer und Flamme – Mit Feuerwehrmännern im Einsatz“ geil findet, dem gefällt sicher auch „In höchster Not – Bergretter im Einsatz“ vom Bayerischen Rundfunk. https://www.ardmediathek.de/serie/in-hoechster-not-bergretter-im-einsatz/staffel-1/Y3JpZDovL2JyLmRlL2Jyb2FkY2FzdFNlcmllcy9GMjAyNFdPMDA0MjM3QTA/1
2026-06-27T23:30:00+02:00 (
remote@lyse.isobeef.org )
(#4lzk5la) @thecanine Oh, I'm absolutely bad with videogames. Never heard of that one.
2026-06-27T23:15:00+02:00 (
remote@lyse.isobeef.org )
(#rgdlqsa) @bender Please, mate, keep the heat to yourself! I don't wanna trade that. ;-)
2026-06-27T23:00:00+02:00 (
remote@lyse.isobeef.org )
(#7jia5xq) The firefly season is ending. I only saw 200 of them or so. There was one female directly on the forest road. If only I brought my camera and tripod, that would have worked out I reckon. I had my torch with me and this looked really cool. Dusk took forever today. It was really long light out there. Full moon is tomorrow. On the way back, there was suddenly a load clatter and crashing sound 100 meters away from me. I didn't see anything, but a tree fell over in the forest out of the blue. Fuck me dead, that was scary as hell. Luckily, I was already on the main road, only meadows around me. It's the second time I witnessed a tree accidentally coming down. The first one was during the most expensive hail storm in our area so far in 2011 behind me when setting up a summer camp. The weather changed in less than 15 minutes. Maybe not such a good idea to go out so late alone. :-? Any rustling in the forest immediately reminded me of the boar the other day. Luckily, always false alarm. Still a bit terrified from that event.
2026-06-27T17:30:00+02:00 (
remote@lyse.isobeef.org )
(#3qea5mq) @movq Oh my! :-O We reached 38°C. It's now down one degree. I just got up from my two, three hours siesta. And I tell you, that was bloody amazing. Layed in bed in undies, no blanket, just some power metal in my headphones and I was sleeping like a baby. Normally, I NEED a blanket, no matter what. But this summer, it's already the second time that I actually manage to drop off without one.
2026-06-27T11:30:00+02:00 (
remote@lyse.isobeef.org )
(#cbq7yna) @movq Oooph! Web development is tidious. I also include `width` and `height` from now on in my galleries.
2026-06-27T11:15:00+02:00 (
remote@lyse.isobeef.org )
(#dah66oa) @movq I second that!
2026-06-27T11:00:00+02:00 (
remote@lyse.isobeef.org )
(#735o27q) @movq I see. I just use CDATA (and still have the XHTML trailing slash for `<img … />`). But of course, it also has its drawbacks: https://waspdev.com/articles/2026-05-11/avoid-using-cdata-in-rss I might just move away from it. Everything is a web service these days. :-/
2026-06-27T08:30:00+02:00 (
remote@lyse.isobeef.org )
(#735o27q) @movq Congrats, how did you break it? :-)
2026-06-27T05:15:00+02:00 (
remote@lyse.isobeef.org )
Today's sunrise: https://lyse.isobeef.org/morgensonne-2026-06-27/01.jpg
2026-06-26T22:15:00+02:00 (
remote@lyse.isobeef.org )
(#cbq7yna) @movq Good idea, I should probably do the same for my photo galleries.
2026-06-26T22:00:00+02:00 (
remote@lyse.isobeef.org )
(#mcgla6a) @movq Yes, that's what I was thinking, too. For a moment, I wanted to suggest to use `<ol>` instead of `<ul>` to fix that. However, that's only gonna work for the first level, but subsections then miss their parent level. And it turns out that I was wrong. At least sort of. There are some CSS tricks to fix it: https://stackoverflow.com/a/26243681 Of course, with text or retro browsers, this is not gonna fly. I also came across this interesting article. I just skimmed it and it's about real tables of contents with page numbers, so not what you have in mind, but cool nevertheless: https://css-tricks.com/a-perfect-table-of-contents-with-html-css/
2026-06-26T16:45:00+02:00 (
remote@lyse.isobeef.org ) @movq Oh my goodness, what an adventure, hahaha! :-) https://movq.de/blog/postings/2026-06-25/0/POSTING-en.html
2026-06-26T16:30:00+02:00 (
remote@lyse.isobeef.org )
(#tzc5jpa) @movq I reckon section numbers are not really needed for articles. But if you number them, the anchors should probably not contain the section number, just the title. Especially for articles that may receive updates. It's probably another story for specifications. They're kinda fixed and thus I found it useful in the past to include the section numbers in the anchors, so they show up in URLs when linking to specific sections. W3C RFCs only include the numbering in the anchors. This makes URLs fairly short, but it would be also nice to directly see what kind of section that URL actually links to.
2026-06-26T16:15:00+02:00 (
remote@lyse.isobeef.org )
(#w25xw2a) @thecanine I don't know if the Dinosaurs TV series is a meme, but this cute thing surely reminds me of that.
2026-06-26T16:00:00+02:00 (
remote@lyse.isobeef.org )
(#noj7qpq) @movq Right. A Go programmer eventually knows that its nanoseconds precision. Keyword arguments like in Python are just sooo superior to unnamed positional arguments. I wish that Go had them, too.
2026-06-26T15:45:00+02:00 (
remote@lyse.isobeef.org )
(#ztd7bvq) @movq It's working fine. I can still read your messages. :-)
2026-06-25T23:45:00+02:00 (
remote@lyse.isobeef.org )
(#7jia5xq) We went to the source of the river Fils this evening. I couldn't believe it, but as I was promised, there were just 20°C. That was super nice. Almost chilly. We only met two others with their three dogs right at the beginning and had everything to our own. We enjoyed the firefly and bat show on a bench. Now back in town and the temps are cooking at 27°C. Fuck me! It was already fairly dark for my camera, so all the photos are even more blurry than usual. Sorry! https://lyse.isobeef.org/filsursprung-2026-06-25/ 06 shows the bench in the background. The source is next to the building under the trees. 07 shows it in its full glory. 08 is the view before the glowing show began.
2026-06-25T20:15:00+02:00 (
remote@lyse.isobeef.org )
(#soutyhq) @movq I admit, it's something different in the pitch dark. Noises are a hell lot more eery. I do wince every now and then, too. :-) But I'm very glad that I only have to really worry about ticks and boars in our forests. They're petting zoos compared to everywhere else. Let's see when the bears and wolves return. It'll be another story then.
2026-06-25T20:00:00+02:00 (
remote@lyse.isobeef.org )
(#j6dfepq) I now decided to include the alternatives: https://lyse.isobeef.org/code-readability/#alternative-timestamp-formattings
2026-06-25T17:45:00+02:00 (
remote@lyse.isobeef.org )
(#3sdsf5a) @movq But foxes always run away and don't attack. They're afraid of us humans – unless they have rabies.
2026-06-25T17:30:00+02:00 (
remote@lyse.isobeef.org )
(#tui4h3a) @movq Test passed. I think. https://lyse.isobeef.org/tmp/this-is-a-test-tt.png
2026-06-24T23:00:00+02:00 (
remote@lyse.isobeef.org )
(#7jia5xq) A deer, multiple frogs, several thousand fireflies and something else. It was already very dark when I was silently drifting along on a nice soft mossy path, enjoying the firefly show left and right and in front of me. I then heard some rustling about 30 meters in the distance in the shrubs. I thought that I must have scared up a deer. But it kept on rustling without any worries. And I closed in without seeing anything. Only when I heard the quick oink from just 10 meters away, I froze. Shit, no deer, but a boar! Suddenly, I was the one who was scared. It probably hadn't noticed me before. But did it notice me now? Was that grunt a warning or just completely unrelated? The rustling appeared to slowly come closer. What if there were also piglets around? I couldn't figure out how many boars there were. Maybe just one, possibly more. A wild boar easily rips a hunting dog apart, so I didn't want to take any chances and decided I will not wait for them to eventually pass me behind the brush in just a hand full of meters, so I can keep on going. While I was just turning around, I heard another oink and was frighened to death. I ran 20 meters, before calming down a little bit. I listened for half a second and nobody was following me. Phew. I then walked back the path. What an adventure, I tell you. That was my second (or maybe third?) wild boar encounter in the woods ever. A hell lot more scary at night than during daylight when you can actually see something.
2026-06-23T17:30:00+02:00 (
remote@lyse.isobeef.org )
(#csxztaa) @prologic That's how I read that, too. :-D Unfortunately, all listed articles stop at only 30% maximum. Scam!!
2026-06-22T23:45:00+02:00 (
remote@lyse.isobeef.org )
Save up to 303% on products from… https://lyse.isobeef.org/tmp/303.png Yeah, that would actually be really nice.
2026-06-22T23:30:00+02:00 (
remote@lyse.isobeef.org )
(#7jia5xq) I had a real blast in the woods again. There were a bit more fireflies on the meadows, but still no comparison to all the shows in the forest with several thousands. The fucking mozzies got me, too.
2026-06-22T23:00:00+02:00 (
remote@lyse.isobeef.org )
(#qmik4pq) @bender As I was not able to capture any recent ones, from the archives: https://lyse.isobeef.org/amsel-2024-05-29/
2026-06-22T17:45:00+02:00 (
remote@lyse.isobeef.org )
(#uyag5iq) @movq Happy sauna party! :´-/
2026-06-21T22:30:00+02:00 (
remote@lyse.isobeef.org )
(#qmik4pq) @iolfree@movq These monsters!
2026-06-21T22:15:00+02:00 (
remote@lyse.isobeef.org )
(#vh7vpba) @bender Right, can't think of anything more pleasing than that! If only I were a landscape gardener, I could enjoy that all day long. :-D
2026-06-21T22:00:00+02:00 (
remote@lyse.isobeef.org )
(#akfnvja) @movq Vorsicht, freilaufende Gewitter! So ähnlich war's zuvor auch. Weit ringsum absolut nix. Es regnet und donnert schon eine viertel Stunde, bis der Wetterbericht und das Regenradar dann auch umschalten und von dem laufenden Unwetter Kenntnis haben.
2026-06-21T20:15:00+02:00 (
remote@lyse.isobeef.org )
Suddenly, a surprise thunderstorm out of nothing. I take it if the temperatures drop.
2026-06-21T16:00:00+02:00 (
remote@lyse.isobeef.org )
The mixture of suncream and sweat really burns in the eye.
2026-06-21T15:45:00+02:00 (
remote@lyse.isobeef.org )
(#v543opa) @movq Good luck!
2026-06-21T10:00:00+02:00 (
remote@lyse.isobeef.org )
(#bip3b6q) @movq An apostroph and three quotes, yes. :-)
2026-06-21T09:00:00+02:00 (
remote@lyse.isobeef.org )
(#47nfuhq) @movq We're already at 29°C now. Five more to go. It's terrible!
2026-06-20T23:15:00+02:00 (
remote@lyse.isobeef.org )
(#7jia5xq) How truly wonderful! <3 I went out tonight and the first thing I noticed was the temperature drop. It felt actually quite pleasing. What a welcome surprise, I didn't expect that at all. It was warmer in the forst than between the fields. The tiniest breeze helped to cool off the surroundings I think. Right now, the temperature shows 23°C. It's supposed to reach 18°C at 5 in the morning before it rapidly shoots through the sky again. When I left the house I even saw the very end of a nice sunset. A bat was around, too. The several thousand fireflies delivered a fantastic show. It's such a pity that I cannot show this to you. :-( There were many frogs or toads around. Luckily, the light tan gravel road made for a good constrast to the darker hopping amphibians. So, I spotted them just in time. No animals were harmed. The moon was out and lit up the scenery. I was perfectly chasing my own shadow for several hundred meters on a forest road. I had the moon right in my back. That moon light shadow felt magical. <3 It must have set a new record on picking up spider webs along the way. The threads around arms and legs always feel quite yucky. People were blasting music somewhere in town. You could here that noise in the entire forest. I found that rather annoying. All street lamps are operational again, so I got already blinded right at the entrance to the town. But other than that, this was a very nice evening stroll. Totally recommended. Already looking forward to tomorrow. :-)
2026-06-20T21:30:00+02:00 (
remote@lyse.isobeef.org )
(#sklxo3q) @movq Yeah, that would also be fine with me. I certainly do like the "arbitrary" in your comment. While writing the article, I also thought about something like that: date := time.Date(2026, 6, 19, 17, 0, 0, 0, time.UTC) Or possibly: date := time.Date( 2026, 6, 19, 17, 0, 0, 0, time.UTC, ) But it's four lines for a damn timestamp. I also contemplated whether a comment acting as a separator is all that's needed: date := time.Date(2026, 6, 19, /**/ 17, 0, 0, 0, time.UTC) I might like that the most. Not entirely sure yet. It kinda feels like a hack, but still a little elegant. Add your comment on top and we're golden. Maybe? I deliberately excluded them as this only distracted from the points I wanted to make. And I also realized that this example was just not ideal at all. Perhaps I should add them nevertheless? If I ever invented a programming language, a much more human readable timestamp representation of some sort, RFC 3339 or very close to that would be part of that language. Something along the lines of `/pattern/` for regexes in certain languages.
2026-06-20T19:00:00+02:00 (
remote@lyse.isobeef.org )
(#kk3gt3q) @movq Nice boxes, yeah. :-D
2026-06-20T18:45:00+02:00 (
remote@lyse.isobeef.org )
(#b5ss2wq) @movq Haha, thanks! :-D Some deliberately crude GIMP work.
2026-06-20T18:00:00+02:00 (
remote@lyse.isobeef.org )
(#6ar6zla) @movq What kind of Unicode do you use? All the new emojis?
2026-06-20T17:45:00+02:00 (
remote@lyse.isobeef.org )
(#7jia5xq) @bender@movq Ta! I don't know about regional differences. But at the moment, they first start slowly appearing at around 21:45 to 22:00. And then it gets more and more. You've got about an hour until it's over. People often say that they are in and over the meadows close to the edges of the forest. But at least over here, there are literally magnitudes more *in* the forest. So far, I've maybe seen thirty, fourty (30-40) fireflies outside at the meadows, but one or two thousand (1000-2000) inside. Exactly like last year. They like a little bit openish spots in the forest. Not like a clearing, but if you can see ~10 meters from the path into the woodland, chances are that fireflies will pop up. But if it's really thick brush, the odds are very slim. The hotspots also slowly wander around over time. So, I just keep on walking after a few minutes of stopping to enjoy the show.
2026-06-20T17:30:00+02:00 (
remote@lyse.isobeef.org )
(#26e5szq) @movq Congrats, I guess. ;-) I'm not gonna dive into the comments either. :-D
2026-06-20T17:15:00+02:00 (
remote@lyse.isobeef.org )
(#bqtktea) @movq Same, I only (vaguely) remember the more interesting bits. Most of the subjects weren't my cup of tea. ;-)
2026-06-20T17:00:00+02:00 (
remote@lyse.isobeef.org )
(#u3kkuyq) @movq That's what I believe as well. But again, it shows a similar thing when a video cannot be downloaded. Anyway.
2026-06-20T16:45:00+02:00 (
remote@lyse.isobeef.org )
It's 34°C and all the shutters are closed. Walking past the front door, I was surprised that there is light sneaking through the covered glass next to it. I somehow thought it's already the middle of the night. :-D
2026-06-20T16:30:00+02:00 (
remote@lyse.isobeef.org )
(#jvoxy6a) @movq Sometimes, views on quality code are 180° apart. Here we are, it took me a bit longer: https://lyse.isobeef.org/code-readability/
2026-06-19T23:45:00+02:00 (
remote@lyse.isobeef.org )
(#7jia5xq) I found my tripod and headed into the woods. There was a ton of glow. \o/ The fireflies were everywhere, super cool. It looked so amazing, especially with all the flying boys. There was one amazing spot in particular, I had 80-100 individuals in my view at once. Absolutely breathtaking. Unfortunately, the mozzies were also delighted about my visit. I tried my best, but it's impossible to capture anything on film with my equipment. The fireflies are just way too dim. In the end, I managed to get some very bright girls in the bush. That's the best I could do, but still really bad. Sorry @bender. :-( https://lyse.isobeef.org/gluehwuermchen-2026-06-19/ And no idea what the heck is going on with the CSS there. Anyway. Garbage to trash, seems fitting. ;-)
2026-06-19T23:30:00+02:00 (
remote@lyse.isobeef.org )
(#oke3n2a) @movq Yeah, the damn message to urge me into updating for no reason. It still works fine, why update then!? Leave me alone. If downloading fails, there's already a hint that updating might fix it. The introduction of this banner in https://github.com/yt-dlp/yt-dlp/pull/13937 doesn't give any reason for that change either.
2026-06-18T23:15:00+02:00 (
remote@lyse.isobeef.org )
(#yoqkkta) Didn't find my tripod. :-( But I will track it down tomorrow. We saw easily one, two thousand fireflies. They were everywhere. Really awesome!
2026-06-18T18:45:00+02:00 (
remote@lyse.isobeef.org )
Oh come on! Why such a stupid anti-feature!? > WARNING: Your yt-dlp version (2026.03.17) is older than 90 days! > It is strongly recommended to always use the latest version. > You cannot update when running from source code; Use git to pull the latest changes. > To suppress this warning, add --no-update to your command/config.
2026-06-18T17:45:00+02:00 (
remote@lyse.isobeef.org )
(#g2i352q) @bender I wish I could do that. Unfortunately, my camera is not good enough. Not even close. It's just all black. :'-( #000. Or maybe #060508 if you're really lucky. But I will take my tripod tonight and see what I can do.
2026-06-18T17:30:00+02:00 (
remote@lyse.isobeef.org )
(#jvuxrrq) @movq Hahaha. It could have been worse, though. I've heard stories from others that were many levels crazier than what I experienced. And I'm glad that I was very, very lucky with almost all of my teachers throughout all of school. One of my maths teacher, who was also my computer science teacher then, is the reason I do what I do for a living. It's all his fault! ;-) Ja, possibly a BaWü thing. The ministry of education and cultural affairs changes the rules, curriculums and details every one or two years, anyway. Said teacher had to fight real hard that he was allowed to teach CS in class 12 and 13. As a real subject, that is, not just an extracurricular activity („AG“). At first, the ministry refused, because we're just am „allgemeinbildendes Gmyi“, not an „informationstechnisches Gymi“. It's insane, you've got super motivated (and technically as well as humanly excellent) teachers and then forbid them to offer a class. What the hell!? (Fun fact on top, he had a doctor in CS and was also teaching at the university of applied sciences.) Eventually, they granted permission to only have a two hours a week class („zweistündig, wie Nebenfach“). One or two years later – too late for me, unfortunately – they allowed four hours a week („vierstündig, wie Hauptfach“). But each pupil had to sign upfont that they will not take CS class in the Abi. That was still exclusive to ITGs only. Completely ridiculous. I reckon, you can talk to any random teacher and they will endlessly tell you about very dubious decicions from the ministry. :-/
2026-06-17T23:30:00+02:00 (
remote@lyse.isobeef.org )
(#7jia5xq) @bender Hell yeah, we've seen the first fireflies of the season! \o/ \o/ \o/ How cool! Maybe 50-70 in total. Gotta check every evening now. :-) The sunset wasn't too bad when I left the house to pick up my mate: https://lyse.isobeef.org/abendhimmel-2026-06-17/ It's Venus over the moon. And Jupiter is further diagonally down between the clouds.
2026-06-17T21:00:00+02:00 (
remote@lyse.isobeef.org )
(#zhuffpq) @movq That was before my time, I joined the party late. :-)
2026-06-17T20:45:00+02:00 (
remote@lyse.isobeef.org )
(#5dmksqq) @movq Let us know how it went. :-)
2026-06-17T20:30:00+02:00 (
remote@lyse.isobeef.org )
(#2ci547q) @movq That's right, way harder than centrally managed. They even didn't reach concensus over the main folder: "Alle Programme, "Alle Programme (x86)", "All Programs", "All Programmes", etc. Anyway. For class 11 (or maybe already in 10, I don't remember exactly) we could choose either between traditional maths class with a graphical calculator or "Mathe mit CAS". There were two teachers in my entire school who were able to teach the latter. It was also fairly new at the time I believe. Certainly unheard of for a „allgemeinbildendes Gymnasium“, maybe the technical ones were already offering it for some time, not sure. It was clear to me that I would take the maths with CAS class. Each kid had to buy their own Cassiopeia A-Something. I don't know how much that thing was (definitely more expensive than a graphical calculator) and whether the school subsidized that in any form. But it was slow and underpowered as hell. We rarely used it in class nor for homework (most if not all had already a desktop at home). Typically, when we worked with the CAS, we sat down on the desktop computers. Our class took place in one of the two computer rooms. The desktops were placed on the three sides (left, right, back, facing the walls or windows) and the regular school desks were in the middle. Since there were more pupils than desktops, we always shared. Nowadays, we call it pair programming. ;-) For the exams we had the "mandatory part" (Pflichtteil) without any tools. Once we finished that and handed the papers to our teacher, we were then allowed to boot up our Cassiopeias and work with them for the second part. Before the exam started, everyone had to show the teacher that they reset their small computer to factory settings. This second part was called „Wahlteil“. But you had to do it in order to pass. So, I never understood the choice of this term. Maybe it's because the first part is the exact same for everyone (graphical calculator and CAS class), but the second part was definitely different for the two classes. Each suited to their tools. After one or two exams, it became clear that the Cassiopeia was far from ideal. So, we took the second part at the desktop computers from then on. Our teacher unplugged the network cables himself to avoid cheating. Each computer had an "HDD Sheriff" running that reset the disk at startup. There was also an issue that the personal user accounts were affected by that. Sometimes all your data were lost. If you were lucky, they were still there. So, we saved our Maple project to local disk (if the computer didn't crash in between, that was no problem) and at least eventually before leaving the classroom, we then also saved it on the server. For that, the teacher quickly plugged in the cable, we saved, and then the cable was unplugged again immediately. Oh, and everybody used their USB sticks, too. All in all, this Cassiopeia A-* was quite a useless purchase. :-D I'm not sure if I still have it. At least I thought several times about giving it to the flea market. Don't know if I did or not.
2026-06-17T17:15:00+02:00 (
remote@lyse.isobeef.org )
In the light of current events, I will first consult my pillow and only then write an article about readable code.
2026-06-17T00:15:00+02:00 (
remote@lyse.isobeef.org )
I didn't try it, but this looks like something for real sysadmins: https://github.com/dimonomid/nerdlog The UI looks very usable and the README is also promising.
2026-06-16T22:30:00+02:00 (
remote@lyse.isobeef.org )
(#6zx63pq) @movq Yes, yes, yes and yes. The start screen looks exactly like a website not a desktop application. I mean, I find Motif also fairly ugly. Granted, it's a hell lot more discoverable than anything today. The old Windows UIs probably had the best balances. But it's Windows, it doesn't have a place in my heart. So, I stick with good old KDE. ;-) That's my nostalgia kicking in.
2026-06-16T22:15:00+02:00 (
remote@lyse.isobeef.org )
(#ewotbva) @movq Yes, this screenshot. However, not the Dutch but rather the German version, no wonder it looks so crazy!!1!11 It's been a hot minute or two since I last used KDE, so I don't remember exactly. I just vaguely recall that I found myself thinking *multiple times* that the KDE application categories were better matching or there were more or something like that. Most of my classmates were on Windows and had one giant long list of all sort of stuff in there. You even had to scroll in the menu. Sure, they installed all kind of garbage, which didn't exactly help. Where in KDE, they were actually grouped by Office, Internet, Graphics, Multimedia, Games, etc. In Windows, applications usually hid themselves in a sub folder named after the software vendor. At least in the later (?) days. I only used Win 95, 98 and XP at home. For maths class with computer algebra system (Maple), we had a Cassiopeia with Win CE: https://en.wikipedia.org/wiki/Casio_Cassiopeia At school, there was probably also Win 2000, but I don't know anymore for sure.
2026-06-16T22:00:00+02:00 (
remote@lyse.isobeef.org )
These commit messages… https://github.com/vergonha/garden-tui
2026-06-16T20:00:00+02:00 (
remote@lyse.isobeef.org ) @movq Regarding https://movq.de/blog/postings/2026-06-16/0/POSTING-en.html: In my opinion, the KDE 3.5 menu was organized way better than the Windows Start menu. Granted, a typical KDE installation had much more applications to offer, too. So, there was more need to get it right. And it probably was also later in time. Isn't Notepad++ and Python cheating!? :-D Crazy story on the clock's seconds. I never heard of that before. Neat. Yeah, UI these days is horrible. (That's why my own TUIs suck, too!)
2026-06-16T19:30:00+02:00 (
remote@lyse.isobeef.org )
(#4qt3pma) Let's see which other browser-based clients I broke with that message…
2026-06-16T17:45:00+02:00 (
remote@lyse.isobeef.org )
(#t6npa7a) @movq@bender Thank you! It's some kind of a thistle I reckon. My mate is a bee hunter, I'll link the next one that comes up.
2026-06-16T17:30:00+02:00 (
remote@lyse.isobeef.org )
(#rpd2g3q) @movq Phew! ;-)
2026-06-16T17:15:00+02:00 (
remote@lyse.isobeef.org )
(#cg6tgma) @movq Yiha! Alternatively, you could embed the <video>.
2026-06-15T18:45:00+02:00 (
remote@lyse.isobeef.org )
The dairy farm has a new milk vending machine. The prices increased by 20%. One liter is now 1.20€ instead of 1.00€. But I don't complain. In a few meters of shrubs there were easily 50 butterflies. That was crazy, I've never seen this many in one spot. I should have taken a video. The grain field in the beginning was looking so great. Crazy colorful and very yummy looking. I would have loved to take a bite. Or at least lie down right in the middle. That was another great time in the outdoors. The 21°C were killing us, though. We were always glad when we reached a shady spot with a little breeze. I'm not gonna survive the 35°C later this week. :-( https://lyse.isobeef.org/waldspaziergang-2026-06-15/
2026-06-14T22:30:00+02:00 (
remote@lyse.isobeef.org )
(#7jia5xq) After the last two days were dry and a tad warmer, I left the house a few minutes later to check again. It was similar to last time. One deer on the pasture that didn't run off, it was roughly 15-20 meters away, a bit further than the day before yesterday. Probably even the same individual. Many moths, zero fireflies and another two deer on the mown meadow when I left the forest. Those were closer to 50 and 100 meters away and evenutally escaped into the woods. The same street lamps were off, too. The lovely smell of cut grass was in the air. Venus and Jupiter reflected brightly in the West. What a stroll, I call that a great success. :-)
2026-06-14T17:15:00+02:00 (
remote@lyse.isobeef.org )
(#vbdq52q) @movq I'm completely with you. I just do rivo's approach with some of my own stuff that nobody ever sees. But the vast majority gets a real version. Probably not a changelog, but a version. And it's very small stuff.
2026-06-14T17:00:00+02:00 (
remote@lyse.isobeef.org )
Die Meisterschaft der Speisewagenschieber in Stuttgart: https://www.youtube.com/watch?v=OfgwdBBWzCw Eine großartige Vorstellung einer Unfalluntersuchung. :-D
2026-06-14T14:30:00+02:00 (
remote@lyse.isobeef.org )
(#hqrgwva) There: https://github.com/rivo/tview/issues/442#issuecomment-641898039
2026-06-14T14:15:00+02:00 (
remote@lyse.isobeef.org )
(#f57dumq) @movq Yes. The author tries hard not to break existing code, but apparently he did this time. In his defense, it's not an official release, I just updated to master. Which is exactly what I always did in the past as there are no real versions (I even think that in one ticket he wrote years ago that master is always stable). That has finally changed a year ago, though: https://github.com/rivo/tview/releases/tag/v0.42.0
2026-06-14T14:00:00+02:00 (
remote@lyse.isobeef.org )
(#mfqcz4a) @movq Brilliant! Oh, I'm super happy to get it all wrong together with you. :-) > [Release notes] are meant for human beings, it's a human-to-human interaction. This is one of the most important messages. Absolute key, but misunderstood so often.
2026-06-14T13:00:00+02:00 (
remote@lyse.isobeef.org )
(#zijjaza) @movq Exactly!
2026-06-14T11:45:00+02:00 (
remote@lyse.isobeef.org )
(#qx3vz4a) Fuck me! I tried to upgrade tview and the first thing I notice is a shitload of added dependency versions: go.mod | 18 ++++----- go.sum | 97 ++++++++++++++++++++++++++++++++++++++----------- My code does not compile anymore as the `view.FormItem` interface was extended. `Get/SetDisabled(…)` are quickly implemented, no worries. But the `tview.Primitive` (what makes a widget) interface has now a bunch of PRIVATE methods. For focus handling. Would you believe that!? Thanks, I cannot satisfy this interface in my very custom widgets anymore. Okay then, I just embed `*tview.Box`. `tt` now successfully compiles, but does not react anymore on key presses and the message tree is not focused either. I'm not in the mood to debug this shit. :-( Lunch time.
2026-06-14T10:45:00+02:00 (
remote@lyse.isobeef.org )
(#xuaorvq) @movq I just ran across another thing. At least I personally couldn't care less about CI infrastructure changes. Whether they're using github action a or b or c or version v or w, it is not of my interest. At all. (It might be useful to estimate the supply chain attack risk, though.) If the maintainers want to include them in the changelog – and there are probably people to whom this information is crucial – it's probably best to document CI infrastructure changes in their own section.
2026-06-14T10:30:00+02:00 (
remote@lyse.isobeef.org )
(#xuaorvq) @movq You may want to include another antipattern to avoid in your article: * bump $same_dependency from 1.0.0 to 1.0.1 * bump $same_dependency from 1.0.1 to 1.0.2 * bump $same_dependency from 1.0.2 to 1.1.0 * bump $same_dependency from 1.1.0 to 1.2.0
2026-06-14T09:45:00+02:00 (
remote@lyse.isobeef.org )
(#qx3vz4a) @movq Thank you very much! So, the concept is very similar. The root widget gets the input and can pass it to whatever child has the focus and so on. My two main issues are the API design, that the input handler sometimes get an additional callback to notify the application about which element is focused, but sometimes not. And that focus switching sometimes just does not work as expected. Anyway. As for rendering the selected button, I was also thinking about indicating it with some kind of border around it, square brackets seem to be a wonderful choice. :-)
2026-06-13T19:00:00+02:00 (
remote@lyse.isobeef.org )
(#qx3vz4a) Another thing: With multicolored TUIs, I find it usually hard to immediately tell which button is selected if there are just two. I'm asking people for any relevant information. :-)
2026-06-13T18:45:00+02:00 (
remote@lyse.isobeef.org )
(#qx3vz4a) Getting the vim key bindings to work for focus switching in this modal dialog took me forever. Only cursors and (Shift+)Tab are supported out of the box. I absolutely understand that, it's fine. I installed an input handler on the dialog, but the focus always stayed the same. After two wasted hours, I was in despair to copy the `tview.Modal` into my own code base. Of course, I had to fix all the private `tview` field accesses first. But even installing the input handler directly on the buttons themselves did not work. Even though, the handler was definitely executed, the focus did not shift. Forcing redraws as a last resort also did not work. Looking through all the messy chained input handling, I eventually stumbled across another place in the `tview.Form`, which is internally used by `tview.Modal`. This messed around with app focus receptions and input handlers. This gave me the idea to make the `tview.Application` refocus my modal dialog after I told the modal dialog which button to select. And would you look at that, this did the trick! I haven't completely figured out what is going on exactly, but I could get rid of my `Modal` clone again. I always go through hell with focus handling in `tview`. Each and every time. It just does not feel natural to me. Complete brainfuck to wrap my head around. The Urwid API felt sooo much more refined, it never was an issue. It just works. In fact, I cannot think of any other TUI library that has remotely the same pain level when it comes to focusing widgets as `tview`. Now I'm curious how movwin deals with that. ;-)
2026-06-13T18:30:00+02:00 (
remote@lyse.isobeef.org )
Every now and then, I think that I have carefully proof-read my message enough times and hit the "Add message" button in `tt`. But then, in the message tree, I spot another missed typo. My process is then to go to my twtxt.txt and fix it by hand. However, I still have to clean up `tt`'s cache. This is rather tidious: 1. Recall the `sqlitebrowser ~/.local/share/twtxt/tt2.sqlite` from my shell history. 2. Switch to the "Browse data" tab. 3. Go to the `messages` table and wait a second or two until it's loaded. 4. Sort by the `created_at` column twice, so that I get descending order. 5. Select the first message, which is typically the one in question. 6. Find the "Remove currently selected row" button in the tool bar. 7. Commit the changes. 8. Close sqlitebrowser. So, I finally implemented the removal of messages from the cache in `tt`. I can now hit `d` and confirm the removal. Bam! Should have done that ages ago! https://lyse.isobeef.org/tmp/tt-confirm-message-removal.png Next up is the search, I think.
2026-06-13T18:00:00+02:00 (
remote@lyse.isobeef.org )
(#idvufeq) @movq Right, at work, nobody gives a fuck. At all. There are so many universes between my definition of quality and everybody else's. Let's stop here and enjoy the weekend or vacation. :-)
2026-06-13T13:45:00+02:00 (
remote@lyse.isobeef.org )
(#xuaorvq) @movq Hahaha, great timing! :-D I love your article and agree with almost all your points. On the AI changelog part, though, I'd rather recommend to just not have a changelog at all. Another important thing for me is the deprecation notice section. What do I need to look out for in the future? Should I start to migrate to another API soon? Even right now? Or does it have time? While going through these terrible GitHub release pages, I also found these "New Project Contributors" sections (yeah, for that, they found the time to make a section) annoying. Don't get me wrong, sure, credit where credit is due. But come on. Soooooo much space for an inefficiently formatted (and also unsorted) list. At least it was easy enough to skip over it. And then, there are also these changelogs or rather notice documents in general that are infested with multicolored emojis all over the place. My brain's spam filter kicks in and shoves everything to /dev/null immediately. It's especially a thing at work. In my previous work project, we also used the Keep A Changelog Format. That was great. You wouldn't believe how often I resorted back to that document. At least twice a week, often several times a day. I was very glad that we put in this effort. Of course, writing the changelog took its time, but it was worth every minute and more. Reading a many months old item, it was immediately clear. I was our best customer in that regard. Now, it's just the same auto shitshow with MR titles in a rolling date-versioned release scheme. It's just our team who has to deal with that, though. I think I'm the only one who is not a fan of it.
2026-06-13T13:30:00+02:00 (
remote@lyse.isobeef.org )
(#nc6mila) I just fixed it.
2026-06-13T10:30:00+02:00 (
remote@lyse.isobeef.org )
(#sizgu6q) @movq Next town, they use Fernwärme from the waste incineration plant to heat the hospital and probably also parts of the neighborhood. I don't know how good it works, but in the cold months there's always steam coming out of the manholes along the road through the woods. I very rarely am in this area, but whenever I am, the steam on the side of the road always amazes me.
2026-06-13T10:15:00+02:00 (
remote@lyse.isobeef.org )
(#7xqwjcq) @bender Yeah, you absolutely must experience them yourself in person. :-)
2026-06-13T10:00:00+02:00 (
remote@lyse.isobeef.org )
Oh boy, I absolutely hate this stupid trend of not writing changelogs anymore! Why the fuck would one seriously consider it to be a viable option to just let some shitty bot spew all merge requests on a goddamn GitHub release?! First of all, these merge request titles suck balls. The order of the changes in this "changelog" is completely random (well, probably merge time, which is as useless as the dick on the Pope). They are not grouped by anything at all. Additions, changes, removals, deprecations, etc. randomly mixed up in one giant list. And then "Add feature X", seventeen kilometers further down "Revert 'Add feature X'". Fuck you! Don't include this shit in the first place! Fits absolutely perfect in the pattern of rapid decline. I must rip out all dependencies as soon as possible whose maintainers just don't give a shit.
2026-06-12T22:30:00+02:00 (
remote@lyse.isobeef.org )
I went to check on the fireflies this season. But I didn't see any. Instead lots of moths. At first, I thought it might have been still too light, but it was already dark enough for me to miss and destroy a snail shell. Bummer. Maybe it was too wet tonight. Although, it's probably just another or two weeks until my glowing friends will finally show up. In the beginning, I passed two beautiful deer on the edge of the forest. They were just ten meters away, but didn't run off, really cool. :-) I kept on walking. Before I eventually left the woodland, a frog or toad crossed my path. It was very dark by then, though, so all I could see was a black blob. Back in town, the street lamps on the first third were all turned off for some reason. I was already glad that I will reach home without getting blinded this time, but unfortunately, the other lamps were all operational.
2026-06-12T20:15:00+02:00 (
remote@lyse.isobeef.org )
(#2xehtva) @bender Those damn foreigners shall not enjoy our German music, how dare they! Something like that.
2026-06-12T20:00:00+02:00 (
remote@lyse.isobeef.org )
(#7xnd6vq) @movq Hmm, indeed, this sounds a bit weird. Is it Fernwärme?
2026-06-12T18:00:00+02:00 (
remote@lyse.isobeef.org )
(#jfrluua) @movq What the heck! Construction work? Eventually, one has to resort to the good old bucket shower. Maybe raise the comfort level with a kettle. It's raining all day long over here. You could just stand outside for a while. I hope it's back sooner than later!
2026-06-12T17:45:00+02:00 (
remote@lyse.isobeef.org )
(#jx6niwa) @prologic Too bad.
2026-06-11T18:45:00+02:00 (
remote@lyse.isobeef.org )
(#6x6ulta) @prologic Ninjababypowpowpow, NINJA BABY POW POW POW! https://www.youtube.com/watch?v=1dK8NeTWN7w The lyrics are also fitting quite well I have to say. :-) https://www.die-aerzte-archiv.de/bela-b/songtexte/song/ninjababypowpow.html
2026-06-11T18:30:00+02:00 (
remote@lyse.isobeef.org )
(#xah4efa) @movq Uh, uh, uh, yeah, nice! Perfect time to spend the holidays in Green- or Iceland. :-)
2026-06-11T18:15:00+02:00 (
remote@lyse.isobeef.org )
(#xjsxfhq) @movq Work to rule. And yeah, absolutely horrible time to look for something else. :-(
2026-06-11T18:00:00+02:00 (
remote@lyse.isobeef.org )
(#pmqogjq) @movq Oh yeah, way better! :-) I didn't spot the bug, though. I think I could work with the feature set. I typically don't need a lot. Until I do. :-D The message tree in tt is an example of that. But tt is also special that it needs something like this in the first place. It's unusual.
2026-06-10T18:00:00+02:00 (
remote@lyse.isobeef.org )
(#aj3ftha) @bender@movq Ta! It's the chemtrails that they cannot stomach. :-D
2026-06-10T17:45:00+02:00 (
remote@lyse.isobeef.org )
(#dcgjyba) @movq Be careful, sounds like the latter to me. Get a good rest, though! And maybe slow down a tad once you're back. But now, enjoy your private hacking. :-)
2026-06-10T17:30:00+02:00 (
remote@lyse.isobeef.org )
(#pmqogjq) @movq That is really cool! Maybe it would look nicer if the selected entry highlighted the whole row, not just the individual cells in that row without the column spacers. :-? But maybe I'm wrong. Everyone has their own taste. And no, it's not pointless at all. I find this really interesting. The videos and photos are perfect for me. Even if I had the source code, I would not use that toolkit, as I'm not a fan of movable windows in TUIs. I want all my own programs to be fullscreen all the time. 8-) Having said that, it's still an absolutely brilliant source of inspriation that will come in handy one day. So, keep posting. :-)
2026-06-09T21:45:00+02:00 (
remote@lyse.isobeef.org )
We just got some unicorn vomit again: https://lyse.isobeef.org/abendhimmel-2026-06-09/
2026-06-09T17:45:00+02:00 (
remote@lyse.isobeef.org )
(#kz54tpq) Herzlichen Glückwunsch, @arne!
2026-06-08T17:45:00+02:00 (
remote@lyse.isobeef.org )
(#ohvlsgq) @itsericwoodward Turns out, this is a bug in my config to cache synchronization. Nickname changes in the configuration file are just not synced to the cache at startup if the feed URL already exists in the cache. I must have fixed this typo in my config ages ago, because I don't even recall having that spelling mistake to begin with. Yet, the cache was happily showing the erroneous nickname. Composing a reply automatically adds the mentions from the conversation participants. Everything originates from the cache, so, I successfully poissoned my replies.
2026-06-08T17:30:00+02:00 (
remote@lyse.isobeef.org )
(#ohvlsgq) @itsericwoodward Dang it, my apologies for butchering your nick, mate! :-( Unbelievable, that I did not notice this in all those months. But it's great to trade mention errors. :-)
2026-06-07T22:30:00+02:00 (
remote@lyse.isobeef.org )
(#v5lhvaq) @itsericwoordward I just want to let you know that your mention completion seems to be broken. :-) The URL is duplicated with a comma in between. Actually, the protocols differ. I suspect that you extract all `url` metadata fields from the feed, not only the canonical one used for hashing (the first one) and join them. I'm not completely sure, I would need to read up on the specs (it's already past bed o'clock, though), but I guess that there is no explicit rule for picking the mention URL. Without having thought about it too much, I reckon the safest bet is to stick to the hashing URL when in doubt and the URL that was used to subscribe to the feed is not available for whatever reason. The URL from the subscription list is probably even better.
2026-06-07T14:30:00+02:00 (
remote@lyse.isobeef.org )
(#ggtk3vq) @movq Exactly! :-D I just came across these two covers which stood out to me: * https://www.youtube.com/watch?v=tVvhHydubR0 played a bit faster, and faster is almost always better * https://www.youtube.com/watch?v=rpwGUx0Sz_4 a choire's polyphony usually makes things automatically better
2026-06-07T13:00:00+02:00 (
remote@lyse.isobeef.org )
(#clurceq) @movq Classic song! :-) The targets are well spread across the forest, it's impossible that they end up hitting others on accident. The only dangerous station is the one with the white swan. Since they shoot from the other side of the tad pole pond, they might actually hit people on the forest path (where I took the photo) when they miss the target and provided the shot is powerful enough. We were on our way before the archers started their loop trial.
2026-06-07T12:45:00+02:00 (
remote@lyse.isobeef.org )
(#ggtk3vq) @movq Great, now I've got the Shadow On The Wall earworm for some reason. :-D
2026-06-07T12:30:00+02:00 (
remote@lyse.isobeef.org )
(#fkozarq) @movq Oh, whoops, hahaha! :-D Yeah, I also noticed Markus' Unicode work yesterday. Really cool.
2026-06-06T14:30:00+02:00 (
remote@lyse.isobeef.org )
(#loqhawa) @bender@prologic Hahaha, okay, I'll leave them then. :-D
2026-06-06T14:15:00+02:00 (
remote@lyse.isobeef.org )
(#qv4hshq) @movq That's my experience, too.
2026-06-06T14:00:00+02:00 (
remote@lyse.isobeef.org )
(#y7lz5wq) @movq Great to be asked for feedback! I just noticed that the first wcwidth version was derived from Markus Kuhn's C code. I came across him in my ISO 8601 and RFC 3339 endeavors the other day. https://www.cl.cam.ac.uk/~mgk25/iso-time.html What a surprise. :-)
2026-06-06T13:45:00+02:00 (
remote@lyse.isobeef.org )
(#uadiypa) @movq I see the Make rewrite popping up on the horizon. :-)
2026-06-06T13:30:00+02:00 (
remote@lyse.isobeef.org )
We came across lots of animals in our woodland. There's a medieval market this weekend in the neighboring town and they use these targets for the bowmen. https://lyse.isobeef.org/waldspaziergang-2026-06-06/
2026-06-05T22:00:00+02:00 (
remote@lyse.isobeef.org )
I might have to clean windows tomorrow. https://lyse.isobeef.org/voegel-2026-06-05/
2026-06-05T21:45:00+02:00 (
remote@lyse.isobeef.org )
(#vdbwzma) @movq Not bad. How many e-mails or other forms of feedback did you get?
2026-06-05T21:30:00+02:00 (
remote@lyse.isobeef.org )
(#sr5kzsq) @movq Ah, I see. Oh, so not even `make`, just a shell script. :-)
2026-06-03T17:45:00+02:00 (
remote@lyse.isobeef.org )
(#xbh2sbq) @movq Yes. Maybe management should replace itself with AI…
2026-06-02T22:15:00+02:00 (
remote@lyse.isobeef.org )
(#7u4wdxa) @movq :-D
2026-06-02T22:00:00+02:00 (
remote@lyse.isobeef.org )
(#ns3yq5q) Years ago, I used Kate, no, not somebody's wife, but the KDE Advanced Text Editor, to export source code files and fragments into HTML with syntax highlighting. I think that's where I got the initial `<b>` idea from. There were also bucketloads of `<span style='color:#644a9b;'>` all over the place, even inside `<b>`. No CSS classes defined upfront, all colors inlined. The final rendering in the browser looked great, but the source code ugly as hell in my opinion. However, I'm thankful for hinting me at `<b>`. I think this kicked off everything. :-)
2026-06-02T21:30:00+02:00 (
remote@lyse.isobeef.org )
(#zz7qzqq) @movq It's the "Lyse types the entire HTML by hand" generator. Yes, no kidding. I write articles so rarely, that I can do that once in a while. It's fun to some degree, but also not. After some time, I finally recorded some Vim macros to insert `<b>…</b>`, `<var>…</var>`, `<span class=s>…</span>` etc. around the tokens. This helped a little bit. But I was still questioning my mental state doing it like that. I also had to fix a bunch of the end tags by hand, because the word movement wasn't enough or the end movement went too far. Quite the annoying process for sure. But I think the HTML looks a wee bit nicer and is maybe even semantically a *little* bit better than having only `<span>`s everywhere. I find the `<span class="whatever">` just soo awfully long. Of course, I never look at the code again, but knowing, that e.g. there is a `<b>` and it saves so many bytes in comparison, makes me happy. It is a more elegant solution in my opinion. Not by much, but better nonetheless. It's a matter of simplicity. Admittedly, even I can't avoid the `<span>`s alltogether. Oh well. On the other hand, I'm sure that this does not make any difference whatsoever. I bet, nobody and nothing, like a screenreader, analyzes the HTML for that, where this would be truly useful. Oh! Maybe text browsers, though. It just occurred to me while composing this reply. :-) Haha, I lost my bet quickly. `w3m` picks up at least the `<b>` for keywords and builtin types, `<u>` for filenames and `<i>` for comments. Yey. No different styles for `<var>` and `<mark>`, unfortunately. `elinks` only renders the bold. It's cool that I had the right intuition right from the beginning, despite being unable to pinpoint it. :-) All the `<span>` hell with common syntax highlighters is a downer for me that keeps me from looking more into them. If I wrote more articles, I might rig something up with Pygments. At least that's somehow positively connotated in my brain. Not sure if it actually deserves it, but I dealt with that in some loose form (can't even remember) years and years ago. Apparently, it wasn't too terrible. To prepare the table of contents, I used `grep` and `sed` with some manual intervention in the end. The entire process can be improved. Absolutely. You wrote your own site generator, didn't you?
2026-06-02T20:15:00+02:00 (
remote@lyse.isobeef.org )
(#5bvmznq) @movq Nice find!
2026-06-02T18:30:00+02:00 (
remote@lyse.isobeef.org )
(#jbgi35q) @bender Hahaha! :-D
2026-06-02T18:15:00+02:00 (
remote@lyse.isobeef.org )
(#qqnb7ba) I woke up well ahead of my alarm. But fear not, I'm tired, too. :-)
2026-06-02T18:00:00+02:00 (
remote@lyse.isobeef.org )
(#7oqoqpa) @garbo What a story! :-D
2026-06-02T17:45:00+02:00 (
remote@lyse.isobeef.org )
(#5gm6hma) @kiwu I like your enthusiasm. Go, go, go! :-) @bender Hahaha! :-D
2026-06-02T17:30:00+02:00 (
remote@lyse.isobeef.org )
Holy moly, these thunderstorm clouds are blacker than black, wow! The rain smells so wonderful. Yummy!
2026-06-01T20:15:00+02:00 (
remote@lyse.isobeef.org )
I was wondering why all the twt hashes in my replies today were still so short. I was ahead of the times. The Twt Hash v2 Epoch only begins next month.
2026-06-01T20:00:00+02:00 (
remote@lyse.isobeef.org )
(#qqo63pq) @itsericwoordward Haven't noticed anything either. These request numbers are *well below* some other software. :-)
2026-06-01T19:45:00+02:00 (
remote@lyse.isobeef.org )
(#ijp25zq) @movq Interesting read! The current state is already a very great achievement. I felt honored being able to already have followed your development along here on twtxt. :-) That's a cool clock, I should remind myself of my working time, too.
2026-05-31T22:00:00+02:00 (
remote@lyse.isobeef.org )
(#ffgix3a) @movq Hahaha, a ride indeed. Exactly, this affected each and every Atom feed and only Atom feeds. All RSS feeds worked like nothing ever happened. This `std::string` to `time_t` to `std::string` to `time_t` dance only happens for Atom feeds. RSS feeds, on the other hand, go right from `std::string` to `time_t` and be done. That's precisely what the second option is aiming to propose for Atom feeds, too. I will clarify that tomorrow in the article. It's very interesting what kind of quirks accumulate in software over the years. Especially quirks, the basically noone knows of anymore. Until something explodes and gets rediscovered. Luckily, that doesn't happen all that often.
2026-05-31T20:15:00+02:00 (
remote@lyse.isobeef.org )
(#v3zbqhq) @bender No way, impossible! Which pattern could you have possibly spot? :-D
2026-05-31T20:00:00+02:00 (
remote@lyse.isobeef.org )
(#wyrcg5q) @bender Doesn't happen often. And when it does, it's a matter of just a few minutes.
2026-05-31T19:45:00+02:00 (
remote@lyse.isobeef.org )
(#bw2ebdq) @movq Oh yes, very cruel. Absolutely. But also beautiful sometimes.
2026-05-31T19:30:00+02:00 (
remote@lyse.isobeef.org )
(#5dk53tq) @movq Wow, quite the background noise! I like the birds, though. :-)
2026-05-31T18:45:00+02:00 (
remote@lyse.isobeef.org )
(#2bsrsca) I wasted my entire weekend on the writeup. If you have way too much time to spare and also are interested in a bug analysis of a software that you don't even use, I have you covered: https://lyse.isobeef.org/newsboat-time-parsing-bug-analysis/
2026-05-30T14:00:00+02:00 (
remote@lyse.isobeef.org )
Oh, nice. In my endeavors of time in C++, I came across `cal 9 1752`. https://www.redhat.com/en/blog/brief-history-mktime
2026-05-30T13:45:00+02:00 (
remote@lyse.isobeef.org )
(#pcszvhq) @movq I came across that in some of these threads, too. I should probably give OpenRsync a shot.
2026-05-30T13:30:00+02:00 (
remote@lyse.isobeef.org )
Oh boy, it was bloody humid this morning. Just around 20°C when we left, but climbing rapidly. The flow of air when walking was okay, but as soon as we stopped, streams of sweat were pouring down on us. Luckily, it was cloudy, but the lack of wind was bad. Now, the sun is out, 29°C will be reached in an hour and I'm glad that the house is still cool. It will be a different story in a few weeks or months. Not looking forward to that at ll. On the bright side, we saw the first tadpoles of the year and an also first, but sadly dead slow worm that probably some bird dropped on a bench next to the fountain. The fly was stuck to its feast and also cactus. The municipality fixed the railing nicely and we came across a giant patch of great looking fire bugs on the summit. All in all, a successful stroll through the woods but for the humid heat. https://lyse.isobeef.org/waldspaziergang-2026-05-30/
2026-05-30T11:45:00+02:00 (
remote@lyse.isobeef.org )
These nicely lit jet trails are the work of the sunset: https://lyse.isobeef.org/abendhimmel-2026-05-22/
2026-05-30T11:30:00+02:00 (
remote@lyse.isobeef.org )
One and a half weeks ago, our sunset delivered strong colors: https://lyse.isobeef.org/abendhimmel-2026-05-21/ Apologies for the damn fuzz in the optics.
2026-05-30T11:15:00+02:00 (
remote@lyse.isobeef.org )
(#5zqwzma) @bender I'll think about it. :-)
2026-05-30T11:00:00+02:00 (
remote@lyse.isobeef.org )
I rode my bicyle to the scout flea market setup a few weeks ago when I had to stop to admire the morning sun lighting up the fields. https://lyse.isobeef.org/morgensonne-2026-05-08/ Of course, these photos don't do justice at all.
2026-05-29T18:00:00+02:00 (
remote@lyse.isobeef.org )
(#pis2zda) @movq It already broke successfully: https://mastodon.gamedev.place/@JeremiahFieldhaven/116654345332213390
2026-05-29T17:45:00+02:00 (
remote@lyse.isobeef.org )
(#qmrrgta) @movq Hahaha! :-D
2026-05-29T17:30:00+02:00 (
remote@lyse.isobeef.org )
(#lrastxq) @bender You mean to make it all blank? ;-)
2026-05-29T17:15:00+02:00 (
remote@lyse.isobeef.org )
(#shewdiq) @bender Welcome to our bot club!
2026-05-28T23:45:00+02:00 (
remote@lyse.isobeef.org )
(#2bsrsca) This is also why @bender's Notes feed was unaffected. It's an RSS feed.
2026-05-28T23:30:00+02:00 (
remote@lyse.isobeef.org )
(#2bsrsca) Aha, yesterday's newly added support for `LC_TIME` to render localized timestamps also broke the feed parsing with my `LANG=de_DE.UTF-8` and `LC_CTYPE=de_DE.UTF-8` environment. :-) Atom feeds make use of RFC 3339 timestamps. They are first converted into RFC 882 timestamp representation, which is the one that RSS feeds use. However, this conversion now results in localized RFC 882 timestamps, which cannot be parsed into Unix timestamp numbers via `curl_getdate(…)`. I bet that it doesn't know about the localization at all and expects English month and weekday names. Looking at its docs, I reckon that function was selected because of its myriad of supported timestamp formats: https://curl.se/libcurl/c/curl_getdate.html RFC 3339 is not included, though, hence the transformation up front. The intermediate `Item` objects in the parser domain use `std::string` for the timestamp representation. This isn't all that silly, because Newsboat supports all sorts of different feed formats with different timestamp formats. These RFC 883 timestamps are centrally parsed into `time_t`. Speaking of time: It's time to go to bed after this late bug hunting fun. :-)
2026-05-28T21:30:00+02:00 (
remote@lyse.isobeef.org )
(#4nczybq) @movq I really like your style of writing, btw. It's much calmer and less aggressive then mine. :-) When I turned my bullet points into paragraphs, I got a bit mad in the process. Sure, feel free to include anything you want. Regarding citing, this is where twtxt falls short in my opinion. Especially with feed rotation, classic links die quickly. Message hashes only help so much. Nobody outside the twtxt universe knows how to deal with them. So, not perfect for inclusion on a web page. Linking to a thread or message on some yarnd instance might be the more user-friendly option. But the disadvantage is that it's "just" a mirror, not the primary or original source. In all reality, this could be considered splitting hairs, though. I should have probably written a proper article. That would have given me time to review the result more carefully, too. ;-) Perhaps that's something for the future. But honestly, I'm not sure if I really want to waste my time and energy on that subject. So many other fun or useless things come to mind right away that I could do instead. 8-) So, yeah, do whatever feels best to you. I don't mind being cited or linked, but I also don't mind not to be cited or not to be linked to. :-D Not a helpful answer, I know. Sorry. ;-) But anyway, thanks for asking, mate! <3 I do appreciate it. To finish my thought, linking to my frontpage is probably also useless, since I deliberatly do not have a table of contents there. In fact, my entire frontpage is rather silly.
2026-05-28T21:15:00+02:00 (
remote@lyse.isobeef.org )
(#7snxloq) @movq Oh, I understand exactly what you mean. :-) I fully agree with you. And it also completely puzzles me why only so few people share our view.
2026-05-28T21:00:00+02:00 (
remote@lyse.isobeef.org )
(#2bsrsca) On further examination, all the articles have the same timestamps. Whenever the feed was fetched. :-O
2026-05-28T20:00:00+02:00 (
remote@lyse.isobeef.org )
(#sqonmbq) @movq Thanks. I noticed the `<updated>` of the *feed*, too. But for some reason, some *articles* were suddenly marked as new. On some YouTube feed `<entry>`s, I noticed updated `<updated>` fields showing today's timestamps. But unless there is no `<published>`, the `<updated>` is not even considered. I verified that in the source code. Yet, all the affected articles in Newsboat show today's timestamp, not the years old publication timestamp. I generate the YouTube feeds from the original feeds myself once a day, so I doubt that this is cause by some YouTube shenanigans. Very weird, it doesn't make any sense at all. What is going on here? O_o It doesn't appear that I have duplicates in the database either.
2026-05-28T19:30:00+02:00 (
remote@lyse.isobeef.org )
You didn't change your Atom feed by any chance yesterday or today, @movq? Not only do I have a metric shitton of "new" old items in my YouTube feeds, but also a bunch of your old articles are shown as new. I fear that this is a Newsboat bug. I rebuilt it yesterday from master.
2026-05-28T19:00:00+02:00 (
remote@lyse.isobeef.org )
(#psx2uja) Of course, @movq! Most of my points are also included in your list. First of all, programming is what I really do enjoy the most. So, it doesn't make any sense at all to not do this anymore. "But you could use your now free time to do something much cooler and more valuable!", others might reply. Fuck no, I don't want to waste my time with other shit that doesn't fulfill me, why on earth would I want to do that? All this hallucination reduces quality badly. In my experience, it's also happening much more rapidly than I expected. Even though developers are still supposed to own and understand whatever has been generated under their name and even be responsible for that, the sad reality is that teammates often blindly trust the AI output. "But I asked the AI and it told me that $this was impossible", "I've no idea either, but the AI just generated it" are responses I get more often. What really makes my angry is when I point out a flaw and suggest an alternative and this is the reaction. It happened several times that just trying it out and seeing it clearly work to proof my point only took me half a minute, but people still did something handwavy else instead. The learning effect is drastically reduced. The more time I spend on a topic, the better the odds that whatever I learned actually makes it over into long-term memory. It's like if a collegue just says "do it like that" or "this solves your problem", but neither explains the why or how. Somehow, people are still convinced that it's a completely different story when you replace the human counterpart with a computer program in this equation. Skills are unlearned. It's like with automation in general, just much worse. You end up in a state where you've no clue how anything works under the hood or how to actually find out important information that are needed to solve your problem. You're screwed when a process breaks out of the blue. Even though it can become also rather terrible, with classical automation you're typically still be able to decipher how exactly the thing was supposed to do something. The energy consumption is sooo high, I absolutely do not want to be a part in burning down our planet. I'm sure I find (and probably have long found without knowing) other ways to contribute to worsen our climate crisis. The scraper part is already covered in detail in your list. :-) I'm convinced that license and copyright violations are only played down or even refused entirely because companies want to make big money quickly. With the work of others of course. Their double standards are obvious, they still try to actively keep their own stuff secret and out of any training sets. At most for internal use only. Virtually noone in charge is interested in good long-term solutions. Short-term for the win, when disaster eventually strikes, the causers are long gone, the responsibilities in other hands. Vendor lock-in is something that lots of folks are only realizing very slowly. It's completely crazy to me. This drug dealer routine should be well-known by now. It's fucking everywhere. Yet, people are always surprised when they found themselves caught in it. Adding new AI stuff only increases complexity. But complexity is the enemy that everybody should fear and reduce as much as possible. Of course, this is not limited to AI at all. And everywhere I look around, people in charge looooove to make things way more complicated than they ever need to be. Yet, simplicity is the real art and much harder to achieve. I don't understand why we have to go back full force to the ambiguity of natural languages. This alone should be more than enough to realize what a stupid idea all that is. Linked to that is that the "instruction set" is interpreted differently with newer model versions. I mean, is has to be. Why else would somebody want to upgrade in the first place than to get more Powerful™ Features™? Some people argue that with AI the democratization is empowered. However, in my view, the exact opposite is the case. Models are getting so large that you can basically not run them locally or even train them. So, you have to rely on whatever the vendor offers you and runs for you. In the end, this only gives the owners more power, the multi billionaires. Not exactly what I understand by democratization. Finally, technology assessments are missing completely. Or they are faked such that mostly only the (questionable) benefits are listed. But all the negative impact is just ignored. Let's keep some popcorn around for when this all explodes. :-)
2026-05-28T18:15:00+02:00 (
remote@lyse.isobeef.org )
(#wflbuia) @arne@movq Typically, I use "I". But also "one" and, less common, "you".
2026-05-28T18:00:00+02:00 (
remote@lyse.isobeef.org )
(#hen4p2a) @movq Yes, this is the tricky bit for sure. Of course, they say that totally convinced. Until it eventually explodes in their faces and let others clean up after themselves.
2026-05-28T17:30:00+02:00 (
remote@lyse.isobeef.org )
(#tgndc2q) @itsericwoordward@bender@prologic Hahaha, it's working fine in mine. But I cannot use spaces in the nickname. :-) https://lyse.isobeef.org/tmp/nick.png
2026-05-27T18:45:00+02:00 (
remote@lyse.isobeef.org )
(#psx2uja) @movq@bender Couldn't agree more. I'll check my list tomorrow that I started a few weeks ago.
2026-05-27T18:30:00+02:00 (
remote@lyse.isobeef.org )
(#fpjcopa) @movq If you really like to, you can try to negotiate with your employer that you can leave earlier. At least some mates were successful in that. I mean, it's also in the company's interest to not have to pay someone who has already mentally resigned long ago. And on the bright side, you don't even have to hand over anything. Your boss doesn't have to look for a successor, so they can just let you go even sooner. This AI shit will simply continue whatever you did, no problem!! It's so crazy. I should probably also look for something else. :-(
2026-05-27T18:15:00+02:00 (
remote@lyse.isobeef.org )
(#m5woqqq) @Little-Eric-{{first_name}} Hahaha, will do! :-D
2026-05-27T18:00:00+02:00 (
remote@lyse.isobeef.org )
(#y26wm4a) @movq Hahaha, very nice! :-D
2026-05-26T19:00:00+02:00 (
remote@lyse.isobeef.org )
(#bp3mxtq) @itsericwoordward@bender Dang it, I missed it, too.
2026-05-26T18:45:00+02:00 (
remote@lyse.isobeef.org )
(#m5woqqq) @itsericwoordward Confess, you just registered as `{{first_name}}`! Nobody checks their e-mail templates. And even if they do, they only look at the HTML part. The plain text part is useless more often than not. Granted, this is the subject.
2026-05-26T18:30:00+02:00 (
remote@lyse.isobeef.org )
(#psoupia) @movq I only had 3.5" disks.
2026-05-26T18:15:00+02:00 (
remote@lyse.isobeef.org )
(#y26wm4a) @movq Cool! Let's look for 57 61 6C 64 6F.
2026-05-26T18:00:00+02:00 (
remote@lyse.isobeef.org )
(#wcehvhq) @movq Congratulations! I also was a LAMP dude back in the days. That's all we had as kids without money. :-)
2026-05-26T17:45:00+02:00 (
remote@lyse.isobeef.org )
(#4jucdsa) @movq I just changed the `bindsym` directly in my i3 config. But I'm looking forward to learn a few new tricks. :-)
2026-05-23T14:15:00+02:00 (
remote@lyse.isobeef.org )
(#fxnsmaq) @bender This shit is back. But with SSHFS instead of SMB now. SMB is still fucked for no reason. Let's see, when it explodes.
2026-05-23T14:00:00+02:00 (
remote@lyse.isobeef.org )
I should have changed the key binding from `Print` to `Shift+Print` a long time ago to launch `import` and upload the screenshot to my server. I was constantly hitting that stupid key on accident when I actually wanted to press `[AltGr]`. If I only could map a key binding to slap these damn ThinkPad T15 keyboard layout designers at Lenovo remotely in the face. Seriously, who in their right mind puts `Print` (in German `Druck`) between `AltGr` and `Ctrl` at the bottom row to begin with?! Exactly. Nobody. What a horrible location. https://www.notebookcheck.net/fileadmin/_processed_/e/6/csm_ThinkPad_T15_Gen2_Eingabe_1_d94cf14182.jpg
2026-05-22T22:45:00+02:00 (
remote@lyse.isobeef.org )
(#fotkoeq) @kiwu Wuuiii, what to do with all this free time suddenly!? Wait, what? Free time? Nah, nevermind. Now, the time begins where it gets even worse once you start a fulltime job. Congratulations, mate! :-D
2026-05-22T22:30:00+02:00 (
remote@lyse.isobeef.org )
(#p4q7oba) @movq Don't worry, the agents will forget everything for them. Ehh…
2026-05-22T22:15:00+02:00 (
remote@lyse.isobeef.org )
(#smkzuya) @movq That certainly paid for itself.
2026-05-22T22:00:00+02:00 (
remote@lyse.isobeef.org )
(#4z5uwoq) @movq Oh, great!
2026-05-18T13:30:00+02:00 (
remote@lyse.isobeef.org )
(#topwhua) @arne In der Tat ein Klassiker. Mjam, mjam!
2026-05-18T11:00:00+02:00 (
remote@lyse.isobeef.org )
Interesting read on the ECONNRESET saga, @movq. Thanks for the writeup! <3
2026-05-17T20:00:00+02:00 (
remote@lyse.isobeef.org )
(#oczncxq) Welcome @tftp, I just found you in my access log. :-)
2026-05-17T19:45:00+02:00 (
remote@lyse.isobeef.org )
(#az35vqq) @movq Oh, that's cool! Un- and redo are absolutely valuable features.
2026-05-17T19:30:00+02:00 (
remote@lyse.isobeef.org )
(#rj2bzla) @movq I fear that you are right.
2026-05-13T12:00:00+02:00 (
remote@lyse.isobeef.org )
I just wanted to look up 9V block battery prices online and these automatically generated descriptions are getting dumber by the minute: > Datum der Erzeugung: Verfallsdatum minus 7 Jahre > > (Date of manufacturing: expiration date minus 7 years) Or look at this one: > Die leistungsstarke 9 V-Block E Batterie, auch 6LR61 genannt, eignet sich besonders gut für Taschenlampen, Radio oder Kinderspielzeug, die einen gleichbleibenden Strombedarf haben. Ihre max. Spannung beträgt 1,5 V. > > (The high performance 9 V block E battery, also known as 6LR61, is particularly suitable for torches, radio or child's toys, which have a steady power demand. Its max. voltage is 1.5 V.) The battery is best suited for… devices where it fits. No shit, Sherlock! Has anyboy ever come across 9V block torches? O_o I haven't.
2026-05-12T21:30:00+02:00 (
remote@lyse.isobeef.org )
Our storage box is not reachable for hours, the support response is unhelpful to say the least. Let's see how long it takes them to actually fix this. Until then, no photo galleries etc. available.
2026-05-12T21:15:00+02:00 (
remote@lyse.isobeef.org )
(#liz74wa) @movq 100% agree. We're driving straight into a wall at full throttle. Doing it with a clear warning.
2026-05-12T21:00:00+02:00 (
remote@lyse.isobeef.org )
(#b4ntuwq) @movq Apropos shit: I did not know about the history of Scheißtag. https://en.wikipedia.org/wiki/Schei%C3%9Ftag
2026-05-12T09:15:00+02:00 (
remote@lyse.isobeef.org )
(#bp7624a) Oh no, speedy recovery, @movq! I was down for one day on Saturday. Vomiting through the nose. Not entirely sure what that was, but I reckon something in the food poisoning or sunstroke realm.
2026-05-12T09:00:00+02:00 (
remote@lyse.isobeef.org )
(#7a63rcq) @movq Oh my goodness, hahaha! To be fair, it depends on your threat model. And I believe it's very safe to bet that most probably don't have one. Nor even remotely know what that is. So, it's plenty good enough for them. With that new to me detail on top, there's even less incentive to look at this Matrix hype more closely.
2026-05-08T22:15:00+02:00 (
remote@lyse.isobeef.org )
(#5imnimq) @movq Und da konnte ich nicht widerstehen und hab die Folge doch sogleich angehört. Herrlich, sehr kurzweilig, spannend und lehrreich. In der Tat ganz schön viele Arschgesichter, hihihi. ;-)
2026-05-08T21:45:00+02:00 (
remote@lyse.isobeef.org )
(#5imnimq) @movq Oh, cool! Holgi hab ich schon jahrelang nimmer gehört (allgemein Podcasts), das sollte ich schleunigst wieder ändern. Diese Folge scheint mir als Wiedereinstieg nach dem arbeitsreichen Wochenende bestens geeignet. Insbesondere die „Holgi ruft an“-Reihe hab ich in sehr guter Erinnerung.
2026-05-08T07:15:00+02:00 (
remote@lyse.isobeef.org )
(#5nil3ha) @bender@movq Haha, nice. Yeah, I also only know older Giselas. Not sure why that name fell out of fashion this dramatically, though. Be that as it may, this hot greenfinch girl will help to repopularize it again!
2026-05-08T07:00:00+02:00 (
remote@lyse.isobeef.org )
(#6lzr5zq) @prologic Yeah, almost everybody sells their soul to some form of devil. So did I. :-D
2026-05-06T21:45:00+02:00 (
remote@lyse.isobeef.org )
(#5nil3ha) @bender Thank you. I just got very lucky, though. Anyway, let me introduce you to Gisela. :-)
2026-05-06T16:15:00+02:00 (
remote@lyse.isobeef.org )
(#favtndq) @movq@bender Yeah, super sweet. :-) I was lucky to capture this beautie again today: https://lyse.isobeef.org/gruenfink-2026-05-06/
2026-05-06T16:00:00+02:00 (
remote@lyse.isobeef.org )
(#kywpsqa) @movq Right, they messed up the signing key rotation: https://blog.denic.de/technische-storung-bei-de-domains-behoben/
2026-05-05T22:30:00+02:00 (
remote@lyse.isobeef.org )
All sorts of .de domains don't resolve right now. But not all, movq.de for example still works. All on our server and basically all major other sites are cactus. Maybe some DENIC problem? I'm too tired to investigate, but I'm looking forward to tomorrow to read some report on that. :-) Good night.
2026-05-05T22:15:00+02:00 (
remote@lyse.isobeef.org )
(#5ftnhpq) @bender Let me offer some cheese to @xuu. :-)
2026-05-05T22:00:00+02:00 (
remote@lyse.isobeef.org )
This greenfinch isn't all that green: https://lyse.isobeef.org/gruenfink-2026-05-02/01.jpg
2026-05-05T21:45:00+02:00 (
remote@lyse.isobeef.org )
(#5ipjpmq) @movq I see, thank you. Maybe I remember next time. :-)
2026-05-05T21:30:00+02:00 (
remote@lyse.isobeef.org )
(#um4towq) @prologic Aww, this is beautiful! Too many people for me, but they're cetainly great to show the scale. Quite some impressive falls. :-)
2026-05-03T21:45:00+02:00 (
remote@lyse.isobeef.org )
(#jlsndbq) @movq Oh, nice! I never was brave enough to try to move the OS to a different machine, always reinstalled from scratch. :-S A mate also had this or a very similar white Samsung netbook. I remember typing on that thing was no fun at all for me, never hit the single right key. :-D I'm not a fan of netbooks, there's not remotely enough screen space for my taste. I always had 15 inch notebook. Sure, they are way heavier, but I can actually get work with them done. And yes, glared screens are an invention right from the devil himself. Completely stupid.
2026-05-03T21:30:00+02:00 (
remote@lyse.isobeef.org )
(#m4s55pa) @movq It's a way much cleaner design. Not so overloaded anymore.
2026-05-03T15:00:00+02:00 (
remote@lyse.isobeef.org )
(#i533jbq) @movq Happy birthday, little machine!
2026-05-03T14:45:00+02:00 (
remote@lyse.isobeef.org )
(#6znbwda) @prologic@bender@movq Hahaha, I didn't expect that name either. :-D And it's actually a cave, too.
2026-05-03T09:30:00+02:00 (
remote@lyse.isobeef.org )
(#ftqhcwq) @kiwu Dang it! I first thought it was jitters due to your exams. Hang in there!
2026-05-03T09:15:00+02:00 (
remote@lyse.isobeef.org )
(#6znbwda) @prologic Oh yeah, very beautiful! <3 I can hear the roaring of the waterfall and like to be there, too. The first shot makes it look like you're in the middle of a cave. :-)
2026-05-03T09:00:00+02:00 (
remote@lyse.isobeef.org )
(#zwgtu2a) @thecanine Very cute. :-)
2026-05-02T10:00:00+02:00 (
remote@lyse.isobeef.org )
(#ud3wshq) I completely forgot, I saw my very first badger in the wild the day before yesterday. :-) That was absolutely cool! <3 I heard something comparatively large rustling in the bush right next to me and thought that it must be dear. Naturally, I stopped and tried to see what's in there. The rustling went up the bank and it suddenly came down again towards the road I was on. That's when I first layed eyes on it and identified it as a badger. For a split second I thought that it's going to get after me and was ready to get running. But it just hadn't noticed me yet. When it eventually spotted me, it froze for a few seconds and ran off uphill. My camera took too long to boot, so it was already gone by the time the photo machine was good to go.
2026-05-02T09:45:00+02:00 (
remote@lyse.isobeef.org )
(#ekbxu4q) @movq Absolutely right. And I cannot say that I'm not guilty of that either.
2026-05-02T09:30:00+02:00 (
remote@lyse.isobeef.org )
(#ai5a2oq) @movq Hahaha, that's a nice one! :-D
2026-05-02T09:15:00+02:00 (
remote@lyse.isobeef.org )
Two mates and I went hiking yesterday. The sun was beating down on us, but luckily, it was also rather windy which helped to cool off. Unfortunately, we also encountered bucketloads of drunk hikers with hardcarts loaded full of beer who had to very loudly please everbody with their shitty taste of music. What a stupid tradition on 1st May public holiday over here. Other than that, it was a great hike. I was pleasantly surprised that my trains were dead on time, so both super short times to switch connections worked out perfectly on both the way there and back. I did not expect this to happen at all and already braced myself for an additional half hour waiting time. Especially with the stupid Stuttgart Beer Festival right now. Even more drunk idiots everywhere and of course also in the trains. On the return journey, I learned about all sorts of family relations etc. in various Allgäu villages. Oh boy. At least nobody vomited, that's a bonus. Also, I sweated more on the first return Sauna-Bahn than on the entire hike combined. It was awfully hot in there. Anyway, all in all it was a great time in the outdoors with my mates: https://lyse.isobeef.org/monrepos-favoritepark-hungerberg-ruine-hoheneck-2026-05-01/
2026-05-01T07:15:00+02:00 (
remote@lyse.isobeef.org )
(#tfvgona) @yarn_police Looks like the rendering in yarnd is off. The second subject (prisoner error!) was robbed, its link text got stolen.
2026-05-01T07:00:00+02:00 (
remote@lyse.isobeef.org )
(#b65iyfa) @movq Thanks, mate! Yeah, that never gets old, there's something magically about it. :-)
2026-05-01T06:45:00+02:00 (
remote@lyse.isobeef.org )
(#vs5q2gq) @bender How poetic, very well said. :-) It calls for the small man's adventures.