iPhone Duo - Apple Sorry Appleā¢, Iām really finding it quite hard to justify spending thousands of dollar on your products!
From $1999 or $83.29/mo. for 24 mo.*
Fark me š¤¦āāļø When it was just me and my wife, maybe, fine, okay. But now I have two young children that also want the same shit⢠as we do. This starts becoming a nearly ~$8k expensve just for some fucking whoop-ti-do-da foldable iPhone with a bigger screen.
Who cares? š¤ I want my ~A$800 iPhone back that fits in my hand. #Apple #Rants #Expensive #Crap
ā ļø For anyone that signs up on Yarn.socialās multi-user twtd multi-tenant platform Iām runnign on twtpub.com ā Be warned. I will delete your account if you create it for the soles purposes of link squatting, spam, link harvesting, seo marketing, or any other useless fucktarrd crap.
To the spammers and would-be assholes of the world: You have been wanred. Donāt abuse my generosity.
itās all I ask
I finally managed to get back out disc golfing today at Vietnam Veterans Park and had a good time despite losing a brand new disc on hole 3 (on its 3rd throw ever, my glow-in-the-dark Lynx disappeared into an overgrown creek-bed and was swallowed by the underbrush). After my buddy lost a disc on hole 4, we were kinda demoralized and both threw for crap the rest of the course, but it was still a nice day to be slinginā in the sunā¦

Ahh crap, I didnāt take any š
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:
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(ā¦):
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:
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:
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:
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!
Oh, crap! Itās only Thursday! I thought we had Friday already ⦠nnnnooooooo, not another day. š
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/
@movq@www.uninformativ.de are you sure itās the browser is getting slow or is it website developers adding more more crap to their sites?
@movq@www.uninformativ.de I couldnāt agree more! I also have the feeling that it causes more people to just accept āitās a software problem, thereās nothing that can be done about itā. Which is very frightning to me.
Up until now, I was successful in refusing to actively use that crap. I had to do one mandatory AI training, but even our hippest AI enthusiasts found it absolutely terrible. Probably also nailed together by the same rubbish they want us to now use everyday as much as possible.
Code reviews are the part that I have to deal with most. And I believe that the code quality is degrading.
Letās hope the bubble bursts sooner than later. It will definitely burst at some point. Thatās for sure.
This is an example of the kind of garbage release notes from this conventional commit autogenerated crap š¤£

When I try to login to PayPal I now see:
Please enable JS and disable any ad blocker
Hereās the thing. PayPal takes fees from transactions and payments received and sent.
I have very right not have ads shoved in my face for something that isnāt actually free in the first place and costs money to use. If PayPal would like to continue to piss off folks me like, then Iāll happily close my PayPal account and go somewhere else that doesnāt shove ads in my face and consume 30-40% of my Internet bandwidth on useless garbage/crap.
@prologic@twtxt.net woohoo! Take that, micro.crap! :-D
@prologic@twtxt.net Donāt worry about it!
I also getting angry thinking how this Chat Control crap will escalate to.
Iām already thinking of countermeasures and self-hosted alternatives, while searching lists of affected apps and services to replace/drop in the worst scenario (and probably devices).
Getting more setup (and a bit less crap overall) over on my capsule. My /posts/index.gmi is now in proper gemlog format and Iāve got an automated ping to Antenna up and running. My automated gopherspace mirror seems to be working fine so Iām feeling sort of āestablishedā. Or at least not shivering under twigs and leaves in the geminispace wilderness anymore.
@dce@hashnix.club Apart from the crap produced in Redmond two decades ago, I only ever used and still happily use Linux, mainly Debian and Ubuntu. Iāve no idea, but maybe something in there catches your eye: https://en.wikipedia.org/wiki/List_of_operating_systems (I know, what a silly recommendation.)
@lyse@lyse.isobeef.org When/if I can pull it off, there will be videos! š
I never used hardcopy terminals, either. We did have a dotmatrix printer, but that was just used as a regular printer.
Inkjets, I donāt know. They were pretty fascinating and cool when they came out. A lot faster than dotmatrix and obviously quiter. They never gave me much trouble, actually. But I switched to a laser printer long before crap like DRMāed ink cartridges became a thing.
@kat@yarn.girlonthemoon.xyz yeah itās pretty terrible these days. Most recent trouble I had was something as simple as installing and setting up the Tailscale client. On literally all my other devices (Linux and Android) that was a cinch, but on Windowsā¦. ohh boy, I had to mess around with reg edits and all sorts of crap and eventually bludgeoned it into working, but it was a bloody pain.
Oh, holy crap, it just did it now! š¤Æ
I bought the āremasteredā versions of Grim Fandango and Forsaken on GOG, because theyāre super cheap at the moment. Both have native Linux versions.
And both these Linux version crap their pants. 𫤠The bundled SDL2 of Forsaken says it ācanāt find a matching GLX visualā and I couldnāt figure out how to fix that. I didnāt spend a lot of time on Grim Fandango.
Both work great in Wine. š¤¦
(I do have the original version of Grim Fandango from the 1990ies, but that one does not work so well in Wine. I figured, if itās so cheap, why not. And I now get to play the english version. š The german dub is pretty damn good, actually, but I always prefer the original these days.)
I hear you, @movq@www.uninformativ.de! :ā-(
At work, too. For a few weeks now when I try to log into this horrible Outlook web intershit (Because why would they fix the Evolution integration?! Itās cactus for well over a year now. Probably more like two.), it forwards me to the corporate weblogin, I enter my credentials, even do the bloody MFA crap and get redirected back to Outlook. āLoading mailboxā¦ā āPlease wait for us to log you out, do not close this window while this process is underway.ā Fuck you! I have to delete the cookies for this damn domain each and every fucking time. Otherwise, this goes in circles forever. I tried the game for 15 minutes, no joke.
But wait, thereās more! Why just fuck it up only a little bit? This week I get logged out at the middle of the day. Every. Single. Day. Not even close to eight hours since I started, no. What the hell!? I reckon I just donāt even bother reauthenticating anymore in the arvo. No more e-mails for Lyse after lunch. Fuck it. Itās just distraction, anyway, right?!
The lid is on and the first saw brackets are done. Letās see how impractical they are. I might have to add heavy chamfers to better guide them in.


I added 07 to 11: https://lyse.isobeef.org/tmp/hobelbankschubladen/
printf?!)
@prologic@twtxt.net There have always been and there will always be people who have absolutely no clue what theyāre doing. Iāve been 100% one of them when I started. Guaranteed, heaps of new SQL injections are born every single day, numbers rising.
That doesnāt justify all the WAF crap in the first place, though. In my opinion itās just a filthy plaster applied to an injected wound. The software itself must be secure. Otherwise, donāt put that shit on the internet. Probably not even operate it at all. Nowhere. Fix it or throw it in the bin.
AI problems, top to bottom:
1: Open AI nerds, believe fine tuning a language model algorithm, will eventually produce an AGI god.
2: Subpar artists and techbros who canāt code, convinced AI image bashing and vibe coding, will help convince the dumber parts of Internet, they are a real deal.
3: Parasites, using AI to scam people, because they just want passive income, selling crap, made by an automated process.
Side: Adobe&co, killing Flash/old web, pricing new artists and developers out, to face learning curves of free tools, or use AI, peddled as solution.
@movq@www.uninformativ.de Holy crap, thatās really crazy!
Hahaha, you got me. When I read your first sentence I thought you were going to tell about your Wayland experience in comparison to X11. :-D
@bender@twtxt.net @eapl.me@eapl.me @xuu@txt.sour.is @movq@www.uninformativ.de Glad you all agree. :-D My SOAP knowledge is extremely rusty, I luckily had not to deal with that crap anymore for quite some years now. I even couldnāt remember the XML declaration and had to look it up. ;-)
Pinellas County Long Run: 18.03 miles, 00:10:14 average pace, 03:04:35 duration
fun run⦠broke it up in 5km segments. around 14 miles in started to just take it a bit easier because the legs just got a bit tired. pretty good for crap sleep and/or rest.
#running
ah crap. chapters 2, 4 and 5 are being cropped by yarn on upload. they should be more like 2-3 hours long
@jost@jost.sdfeu.org Yeah, this AI crap is a big reason not to blog.
@movq@www.uninformativ.de Yes, exactly that. Itās awful! And itās getting worse from my perspective. Nobody in charge is ever gonna learn anything. I figure we just fully deserve this M$ crap, every single bit. :-(
Luckily, the most important development platform still worked for me, so I could actually do something, review code, pull and push, etc. But the calls with the screenshares were nightmares. Canāt see shit on such a tiny display with todayās extreme monitor sizes people use. Looking at logs, hahahahahahaaaā¦
my camcorder battery & mini dvds came in the mail so i did a test recording! itās so cool i love the crap quality. i do hope the memory stick arrives soon though because for the discs i canāt get them on my computer (not even a rom drive filesystem mount) without āfinalizingā the disc which is like an old camcorder thing. i still think iāll prefer disc recording though even if a limit of 30 minutes (or longer for lower quality) is strict. i like limitations like that
@prologic@twtxt.net this is so fucking real iām so sick of AI/LLM crap
Crap, I canāt find how and why rdomain is not set using /etc/hostname.if #openbsd
movq (@prologic, can't mention anyone outside this pod, by the way), I looked the user up: https://tilde.pt/~marado/twtxt.txt. I wonder if the "hashes" they are using will work out of the box with jenny.
@bender@twtxt.net hmm, I wonder if these are simply twtxts auto created from an ActivityPub feed. Ah, crap, they are. LOL.
watch -n 60 rm -rf /tmp/yarn-avatar-* in a tmux because all of a sudden, without warning, yarnd started throwing hundreds of gigabytes of files with names like yarn-avatar-62582554 into /tmp, which filled up the entire disk and started crashing other services.
@prologic@twtxt.net Iām still getting this crap:
abucci@buc:~/yarnd/yarn$ ls -lh /tmp/yarnd-avatar-*
-rw------- 1 abucci abucci 863M Jul 25 14:19 /tmp/yarnd-avatar-1594499680
-rw------- 1 abucci abucci 7.8G Jul 25 14:19 /tmp/yarnd-avatar-2144295337
-rw------- 1 abucci abucci 9.8G Jul 25 14:19 /tmp/yarnd-avatar-2334738193
-rw------- 1 abucci abucci 10G Jul 25 14:14 /tmp/yarnd-avatar-2494107777
-rw------- 1 abucci abucci 9.5G Jul 25 13:59 /tmp/yarnd-avatar-2619243454
-rw------- 1 abucci abucci 11G Jul 25 14:04 /tmp/yarnd-avatar-2922187513
-rw------- 1 abucci abucci 7.5G Jul 25 14:14 /tmp/yarnd-avatar-349775570
-rw------- 1 abucci abucci 10G Jul 25 14:09 /tmp/yarnd-avatar-3640724243
-rw------- 1 abucci abucci 901M Jul 25 14:19 /tmp/yarnd-avatar-3921595598
-rw------- 1 abucci abucci 9.5G Jul 25 13:59 /tmp/yarnd-avatar-609094539
-rw------- 1 abucci abucci 9.3G Jul 25 14:04 /tmp/yarnd-avatar-755173392
-rw------- 1 abucci abucci 7.9G Jul 25 14:09 /tmp/yarnd-avatar-984061000
Something like 100 Gbytes of this junk has accumulated since I updated and re-started the server. Iām now running the latest version of yarnd, so the update did not fix the problem. Something else is going wrong.
How are temporary files growing to 10 Gbytes in size? The name of the file is āyarn-avatarā, but why would avatars be so large?
The 26°C humidity was through the roof and we just barely escaped the thunderstorm on our stroll. Only the adjacent rain hit us hard. Black clouds caught up on us and we decided to take cover at a barn. Not even a minute later it started to rain cats and dogs for ten minutes straight. Holy crap, that was cool to watch. :-) Also, the smell of rain was just beautiful.
We then decided to continue our return in the light drizzle. But it then got much heavier again and we got completely soaked. With the wet t-shirt and the wind it actually felt rather cold. I anticipated to get rained on, so I left my camera at home. Plenty of paths turned into brook landscapes, several centimeter deep creeks ran down the hilly trails. Quite fascinating. :-)
The sunset a few minutes ago wasnāt too bad:

Well crap. I think I just realized that if my profile photo was a person it could vote in this yearās election. Probably time for a new default one.
@adi@twtxt.net @prologic@twtxt.net F-droid. Getting APKs from developers you trust and side-loading them. Some flavor of Linux. Some distro of the open source parts of Android.
There are lots of options. Bit by bit I divest from anything thatās distributed from Google Play. With my latest phone I find and download APKs so that I could have the app without all the Google crap woven through it. By the time I need to replace this one Iāll be fully free of Google Play. Most of my apps come from F-droid now. You can a perfectly functional phone/pocket computer unless youāre addicted to installing dozens of corporate apps.
I played with nlpodyssey/verbaflow: Neural Language Model for Go today a little bit todayā¦. First I had to download a ~2GB file (the model), then convert that to a format the program verbaflow understands which came out to roughly ~5GB. Then I tried some of the samples in the README. My god, this this is so goddamn awfully slow its like watching paint dry š± All just to predict the next few tokens?! š³ I had a look at the resource utilisation as well as it was trying to do this āworkā, using 100% of 1.5 Cores and ~10GB of Memory š³ Who da fuq actually thinks any of this large language model (LLM) and neural network crap is actually any good or useful? š¤ Its just garbage š¤£
@prologic@twtxt.net I think those headsets were not particularly usable for things like web browsing because the resolution was too low, something like 1080p if I recall correctly. A very small screen at that resolution close to your eye is going to look grainy. Youād need 4k at least, I think, before you could realistically have text and stuff like that be zoomable and readable for low vision people. The hardware isnāt quite there yet, and the headsets that can do that kind of resolution are extremely expensive.
But yeah, even so I can imagine the metaverse wouldnāt be very helpful for low vision people as things stand today, even with higher resolution. Iāve played VR games and that was fine, but Iāve never tried to do work of any kind.
I guess where Iām coming from is that even though Iām low vision, I can work effectively on a modern OS because of the accessibility features. I also do a lot of crap like take pictures of things with my smartphone then zoom into the picture to see detail (like words on street signs) that my eyes canāt see normally. That feels very much like rudimentary augmented reality that an appropriately-designed headset could mostly automate. VR/AR/metaverse isnāt there yet, but it seems at least possible for the hardware and software to develop accessibility features that would make it workable for low vision people.
Looks like Googleās using this blog post of mine without my permission. I hate this kind of tech company crap so much.

BlueSky is cosplaying decentralization
I say āostensibly decentralizedā, because BlueSkyās (henceforth referred to as āBSā here) decentralization is a similar kind of decentralization as with cryptocurrencies: sure, you can run your own node (in BS case: āpersonal data serversā), but that does not give you basically any meaningful agency in the system.
I donāt know why anyone would want to use this crap. Itās the same old same old and itāll end up the same old way.
Oh, crap, the weekend is goneāand it was a three days weekend for me! Tomorrow back to the hammer, while wife enjoys her Columbus Day off. š¤
Nobodyās saying he canāt write code any more (I mean, I think his code is crap and wish heād stop, but thatās another issue). But he should not be on any board, should not be in any leadership position, should not be held up as a role model or even vaguely okay.
Everything since has just been layers of monetized, corporate controlled, walled garden crap that has objectively ruined society and turned the techno-utopian dreams we had then into a dystopic Orwellian nightmare.
Ninety percent of everything is crap. Sturgeonās law 90% of everything is crap ā Mike Crittenden
Weāre the skate witches and we donāt take NO crap from NO one. Skate Witches: The true story | Dangerous Minds