• 0 Posts
  • 10 Comments
Joined 1 year ago
cake
Cake day: June 24th, 2023

help-circle


  • I was watching the network traffic sent by Twitter the other day, as one does, and apparently whenever you stop scrolling for a few seconds, whatever post is visible on screen at that time gets added to a little pile that then gets “subscribed to” because it generated “engagement”, no click needed.
    This whole insidious recommendation nonsense was probably a subplot in the classic sci-fi novel Don’t Create The Torment Nexus.

    Almost entirely unrelated, but I’ve been playing The Algorithm (part of the Tenet OST, by Ludwig Göransson) on repeat for a bit now. It’s also become my ring tone, and if I can infect at least one other hapless soul with it, I’ll be satisfied.







  • One of my guilty pleasures is to rewrite trivial functions to be statements free.

    Since I’d be too self-conscious to put those in a PR, I keep those mostly to myself.

    For example, here’s an XPath wrapper:

    const $$$ = (q,d=document,x=d.evaluate(q,d),a=[],n=x.iterateNext()) => n ? (a.push(n), $$$(q,d,x,a)) : a;
    

    Which you can use as $$$("//*[contains(@class, 'post-')]//*[text()[contains(.,'fedilink')]]/../../..") to get an array of matching nodes.

    If I was paid to write this, it’d probably look like this instead:

    function queryAllXPath(query, doc = document) {
        const array = [];
        const result = doc.evaluate(query, doc);
        let node= result.iterateNext();
        while (node) {
            array.push(node);
            n = result.iterateNext();
        }
        return array;
    }
    

    Seriously boring stuff.

    Anyway, since var/let/const are statements, I have no choice but to use optional parameters instead, and since loops are statements as well, recursion saves the day.

    Would my quality of life improve if the lambda body could be written as => if n then a.push(n), $$$(q,d,x,a) else a ? Obviously, yes.



  • Welp, I’m new too, but I think this is more or less working as intended.

    The federation mechanism is a “best effort” thing, so there’s literally no guarantee that you’ll get the same view for the same thing loaded through two different instances.

    I started writing a userscript to “normalize” URLs so clicking on a link to kbin.social on a different instance would transform the link URL to keep you on your original instance, but with the distinct possibility of missing content because of it, I’m not sure it’s actually a good idea.

    The auto-refresh-and-btw-lemme-close-the-image-you-were-looking-at behavior isn’t happening on every instance, but it definitely happens on lemmy.world. Maybe this is an artifact of the websocket approach, and that’ll go away in 0.18? No idea.

    At this point, the usage pattern I’m leaning toward is to find good communities/magazines, subscribe to them, and stick to the “subscribed” view. The most consistent results will always be with subs that are local to the current instance, so if most of your subscriptions are on instance X, you probably don’t really want to have your account on instance Y.


  • There have been efforts to build reputation systems that don’t rely on central servers, like early day bitcoin’s Web of Trust, which allowed folks to rate other folks with public key crypto, thus ensuring an accurate and fair trust rating for participants, without the possibility of a middle-man putting their thumb on the scale.

    One problem with it is that it was still perfectly practical for bad actors to accumulate good ratings, then cash out their hard-earned reputation into large scams, such as the “Bitcoin Savings & Trust” (for $40 million in that particular case), which quite possibly made it measurably worse than not having a system that induced participants into making faulty judgments in the first place.

    I think the main practical value of something like reddit’s karma is an indication of age and account activity, both of which can probably be measured in other, if less gamified ways.