Searching yarn

Twts matching #Crap
Sort by: Newest, Oldest, Most Relevant

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

⤋ Read More

āš ļø 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

⤋ Read More

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…

⤋ Read More

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!

⤋ Read More

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/

⤋ Read More
In-reply-to » @lyse Yes, and that’s why I’m 100% convinced that we’ll see a massive brain drain in a couple of years. This will affect young people even more, because they don’t have all the ā€œoldā€ knowledge to fall back on.

@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.

⤋ Read More
In-reply-to » I kind of hate conventional commit messages: https://www.conventionalcommits.org/en/v1.0.0/#summary

This is an example of the kind of garbage release notes from this conventional commit autogenerated crap 🤣

⤋ Read More

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.

#PayPal #Ads

⤋ Read More
In-reply-to » Please don't hate me today; I'm a bit grumpy and have too many reasons to be upset:

@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).

⤋ Read More

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.

⤋ Read More
In-reply-to » @lyse I'm looking for an OS that runs better than Windows (🤮) and through which I can do basic stuff like read RSS feeds and browse geminispace; but which I can also learn from.

@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.)

⤋ Read More
In-reply-to » Sooooooooo, things happened, and I now have a dot matrix printer again. šŸ˜šŸ˜‚

@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.

⤋ Read More
In-reply-to » i'm helping someone get a reverse proxy going on windows and my god this operating system is dogshit

@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.

⤋ Read More

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.)

⤋ Read More
In-reply-to » This aggressive auto-logout on my bank’s website …

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?!

⤋ Read More
In-reply-to » One thing about my design here is that it would no longer incorporate "regex"-based rules like OWASP, mostly because my experience thus far has taught me that these rules are kind of overly sensitive, produce false positives and I'm not sure they are really very effective. For example, why is the point of performing SQL injection detection at the Edge using a WAF if you already handle SQL properly in the first place? (seriously does anyone still construct SQL queries by hand with effectively 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.

⤋ Read More

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.

⤋ Read More
In-reply-to » @prologic I created a script for your book. i have only done the first two chapters. have to do some adjustments to the text so it sounds ok and that takes time..

ah crap. chapters 2, 4 and 5 are being cropped by yarn on upload. they should be more like 2-3 hours long

⤋ Read More
In-reply-to » @andros The article is a good reminder of the true blogging mindset. But let's try to think beyond. 2 ideas: (1) writing "forces clarity, structures your thoughts, sharpens your perspective". But it also generates thoughts in the sense of Heinrich von Kleist (1805). (2) You're writing for "the future you, one right person, one day" but you are also writing for the AI. The idea of AI as an audience.

@jost@jost.sdfeu.org Yeah, this AI crap is a big reason not to blog.

⤋ Read More
In-reply-to » Another infrastructure apocalypse day at work. Linux and Windows users were unable to reach M$ services. No Outlook, no Teams, no intranet (Sharepoint), no Azure, etc. Mac users were lucky, though. Took whoever the whole day to resolve that. Shortly before I called it quits, it worked again. I haven't read any e-mail today, used Teams mostly on the company phone, but it's the plague.

@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…

⤋ Read More

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

⤋ Read More
In-reply-to » Because I saw the nick on 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.

⤋ Read More
In-reply-to » Hack of the day: running 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?

⤋ Read More

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:

Sunset

⤋ Read More
In-reply-to » @adi @prologic It's worth bearing in mind that

@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.

⤋ Read More

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 🤣

⤋ Read More
In-reply-to » Metaverse Could Contribute Up To 2.4% of US GDP By 2035, Study Shows A study commissioned by Meta has found that the metaverse could contribute around 2.4% to U.S. annual GDP by 2035, equating to as much as $760 billion. Reuters reports: The concept of the metaverse includes augmented and virtual reality technologies that allow users to immerse themselves in a virtual world or overlay information digitally on ... ⌘ Read more

@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.

⤋ Read More

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.

⤋ Read More
In-reply-to » A calm, reasoned take on the Stallman situation (some language warning as the creator doesn't mind dropping an F-bomb now and then): https://www.youtube.com/watch?v=FLHxY-QsQkQ

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.

⤋ Read More