@arne@uplegger.eu Success!
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/
Set/GetDisabled(ā¦) and PasteHandler(), tt starts up fine and seems to work without issues.
Haha, I just noticed that this is the first twt hash v2 that I reply to. \o/ Oh yeah!
Set/GetDisabled(ā¦) and PasteHandler(), tt starts up fine and seems to work without issues.
This also lets me remove my custom button implementation, since the tview button now natively supports disabling.
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.
Thereās no more time to waste to rotate some months into their archive feed files.
How pretty! https://photo.nullprogram.com/birds/ycnh01/
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.
@movq@www.uninformativ.de 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.
First 12, then 37, now 63 liters per square meter, whatās next?
@movq@www.uninformativ.de Oh dear! :-(
Now, itās cooler outside than inside. Time to open the windows and start the wind machines.
@movq@www.uninformativ.de Lucky you! My damn work laptop heated up this room to 29°C. The hottest so far.
I didnāt manage to capture the hunting bat.
Even the tram tracks give up in this heat: https://chaos.social/@HonkHase/116826341363421229
@movq@www.uninformativ.de 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.
@movq@www.uninformativ.de 26°C inside, 30°C outside right now.
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
@thecanine@twtxt.net Oh, Iām absolutely bad with videogames. Never heard of that one.
@bender@twtxt.net Please, mate, keep the heat to yourself! I donāt wanna trade that. ;-)
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.
@movq@www.uninformativ.de 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.
@movq@www.uninformativ.de Oooph! Web development is tidious.
I also include width and height from now on in my galleries.
@movq@www.uninformativ.de I second that!
@movq@www.uninformativ.de 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. :-/
@movq@www.uninformativ.de Congrats, how did you break it? :-)
Todayās sunrise:
@movq@www.uninformativ.de Good idea, I should probably do the same for my photo galleries.
@movq@www.uninformativ.de 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/
@movq@www.uninformativ.de Oh my goodness, what an adventure, hahaha! :-) https://movq.de/blog/postings/2026-06-25/0/POSTING-en.html
@movq@www.uninformativ.de 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.
@thecanine@twtxt.net I donāt know if the Dinosaurs TV series is a meme, but this cute thing surely reminds me of that.
date := time.Date(2026, time.June, 19, /**/ 17, 0, 0, 0, time.UTC) the most. š¤ (My only gripe with this is that it isnāt obvious whether the third 0 is milli-, micro- or nanoseconds. These days itās probably nanoseconds, but you never know.)
@movq@www.uninformativ.de 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.
@movq@www.uninformativ.de Itās working fine. I can still read your messages. :-)
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.
@movq@www.uninformativ.de 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.
I now decided to include the alternatives: https://lyse.isobeef.org/code-readability/#alternative-timestamp-formattings
@movq@www.uninformativ.de But foxes always run away and donāt attack. Theyāre afraid of us humans ā unless they have rabies.
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.
@prologic@twtxt.net Thatās how I read that, too. :-D Unfortunately, all listed articles stop at only 30% maximum. Scam!!
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.
@bender@twtxt.net As I was not able to capture any recent ones, from the archives: https://lyse.isobeef.org/amsel-2024-05-29/
@movq@www.uninformativ.de Happy sauna party! :Ā“-/
@iolfree@tilde.club @movq@www.uninformativ.de These monsters!
@bender@twtxt.net 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
@movq@www.uninformativ.de 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.
Suddenly, a surprise thunderstorm out of nothing. I take it if the temperatures drop.
The mixture of suncream and sweat really burns in the eye.
@movq@www.uninformativ.de Good luck!
@movq@www.uninformativ.de An apostroph and three quotes, yes. :-)
@movq@www.uninformativ.de Weāre already at 29°C now. Five more to go. Itās terrible!
How truly wonderful! 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. :-)
@movq@www.uninformativ.de 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.
@movq@www.uninformativ.de Nice boxes, yeah. :-D
@movq@www.uninformativ.de Haha, thanks! :-D Some deliberately crude GIMP work.
@movq@www.uninformativ.de What kind of Unicode do you use? All the new emojis?
@bender@twtxt.net @movq@www.uninformativ.de 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.
@movq@www.uninformativ.de Congrats, I guess. ;-) Iām not gonna dive into the comments either. :-D
@movq@www.uninformativ.de Same, I only (vaguely) remember the more interesting bits. Most of the subjects werenāt my cup of tea. ;-)
@movq@www.uninformativ.de Thatās what I believe as well. But again, it shows a similar thing when a video cannot be downloaded. Anyway.
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
@movq@www.uninformativ.de Sometimes, views on quality code are 180° apart.
Here we are, it took me a bit longer: https://lyse.isobeef.org/code-readability/
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@twtxt.net. :-(
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. ;-)
@movq@www.uninformativ.de 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.
Didnāt find my tripod. :-( But I will track it down tomorrow. We saw easily one, two thousand fireflies. They were everywhere. Really awesome!
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.
@bender@twtxt.net 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.
@movq@www.uninformativ.de 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. :-/
@bender@twtxt.net 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.
@movq@www.uninformativ.de That was before my time, I joined the party late. :-)
@movq@www.uninformativ.de Let us know how it went. :-)
@movq@www.uninformativ.de 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.
In the light of current events, I will first consult my pillow and only then write an article about readable code.
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.
@movq@www.uninformativ.de 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.
@movq@www.uninformativ.de 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.
These commit messages⦠https://github.com/vergonha/garden-tui
@movq@www.uninformativ.de 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!)
Letās see which other browser-based clients I broke with that messageā¦
@movq@www.uninformativ.de @bender@twtxt.net 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.
@movq@www.uninformativ.de Phew! ;-)
@movq@www.uninformativ.de Yiha! Alternatively, you could embed the
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. :-(
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. :-)
@movq@www.uninformativ.de 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.
Die Meisterschaft der Speisewagenschieber in Stuttgart: https://www.youtube.com/watch?v=OfgwdBBWzCw Eine groĆartige Vorstellung einer Unfalluntersuchung. :-D
There: https://github.com/rivo/tview/issues/442#issuecomment-641898039
@movq@www.uninformativ.de 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
@movq@www.uninformativ.de 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.
@movq@www.uninformativ.de Exactly!
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:
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.
@movq@www.uninformativ.de 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.
@movq@www.uninformativ.de 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
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:
@movq@www.uninformativ.de 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. :-)
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:
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. :-)
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:
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. ;-)
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:
- Recall the
sqlitebrowser ~/.local/share/twtxt/tt2.sqlitefrom my shell history.
- Switch to the āBrowse dataā tab.
- Go to the
messagestable and wait a second or two until itās loaded.
- Sort by the
created_atcolumn twice, so that I get descending order.
- Select the first message, which is typically the one in question.
- Find the āRemove currently selected rowā button in the tool bar.
- Commit the changes.
- 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!
Next up is the search, I think.
@movq@www.uninformativ.de 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. :-)
@movq@www.uninformativ.de 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.