• 2 Posts
  • 119 Comments
Joined 11 months ago
cake
Cake day: February 9th, 2025

help-circle
  • I sometimes enjoy pestering people who make asses of themselves in comment threads. You definitely qualify with how many comments you’ve made in this thread attacking people for having the audacity to say they don’t like CSS. I was serious that I think you should take a break from arguing on the internet. For your own good. (And ours.)

    You took my lighthearted joke about an intentionally awkward language and threw it in my face, saying that I must be bad at design, etc.

    “If you dont like CSS, you’re just bad.”

    I don’t know why anyone would ever choose to be a programming language apologist. If people have criticisms of a language, good, they’re probably valid. You don’t need to apologize for the language and brush their criticisms under the rug. It just makes you look like a jerk.











  • There’s so much repeated paranoia in this article. He makes the same weak points over and over.

    But how do you keep track of what a black box actually does when it’s turned on?

    And later,

    And yes, yes - disabling features is all well and good, but at the end of the day, if these AI features are black boxes, how are we to keep track of what they actually do?

    Why would you have to care? You turned them off. The browser is open source. You can see how it invokes the LLMs. If you turn off the features that invoke LLMs, it will not invoke LLMs. I don’t get it. Where’s the disconnect here? The browser is not a black box. The LLM it talks to in the cloud is a black box. If it doesn’t talk to any LLM… 🤷‍♂️

    The core browsing experience should be one that fully puts the user in control, not one where you’re constantly monitoring an inscrutable system that claims to be helping you.

    Jesus… The bias in this article is extreme and repeated often. “claims to be helping”… he even said earlier that LLMs have a measurable utility. Why are they suddenly merely “claiming” to be helpful?

    Why do you have to constantly monitor something you turned off? Really? Constantly?

    Even if you can disable individual AI features, the cognitive load of monitoring an opaque system that’s supposedly working on your behalf would be overwhelming.

    “Overwhelming cognitive load”. Riiight. I turned off telemetry in Firefox as soon as I installed it. I don’t constantly monitor that setting. There is zero cognitive load. I’ll do the same to the AI features if I don’t want them. Also, again with the “supposedly working for you” or “claiming to be helpful” language. Such bias.

    They promise AI will be optional, but that promise acknowledges they’re building AI so deeply into Firefox that an opt-out mechanism becomes necessary in the first place.

    That’s such terrible logic, but so is my original counterargument as pointed out by Undertaker below.

    If something has an opt-out, it has to be “so deeply” built into it? Are the current new-tab features deeply built into Firefox? Like Pocket and such? They’re opt out. Are address bar completions “so deeply” integrated? They’re opt out, too. Is the crash reporter “so deeply” integrated into Firefox? That’s opt out!

    Hell, you could argue crash reporting is deeply integrated because maybe there are many try-catch blocks all over the code which use it, but if you’re the kind of person who turned it off, does it require an “overwhelming cognitive load” to keep it off? Nonsense.

    I still don’t think turning a setting off requires “overwhelming cognitive load”.

    This article is a bombastic mass of paranoia and bad logic.

    If Firefox releases AI things you can’t just turn off, that can be easily invoked by accident—gestures, keyboard shortcuts, or whatever—that might send page content to an LLM, then I will stop using it. Until then, I’m happy with Firefox. It will always be more up to date than the derivatives.





  • Oh god, that’s worse than I’ve seen where a SQL query joining 10 tables aliased all of the tables as a, b, c, d, e, f, g, h, i, j.

    It was a mess, and as a new dev on the project, trying to figure out which where clause was for which table and how things worked was a fucking nightmare. Trying to keep a dictionary of letters to real table names in your head as you looked at the query was very taxing. In the end, I just fixed it all to stop using aliases. Or to use short abbreviations.

    Here’s a mock example:

    SELECT
        j.delivery_eta,
        c.cat_desc,
        a.part_number,
        h.region_label,
        f.wh_loc,
        e.emp_last,
        g.state_flag,
        b.mfg_title,
        i.ship_track_code,
        d.order_sum,
        a.created_on,
        j.last_scanned_at,
        e.emp_first,
        c.cat_code,
        g.state_level
    FROM parts AS a
    INNER JOIN manufacturers AS b 
        ON a.manufacturers_id = b.id
    INNER JOIN categories AS c 
        ON a.categories_id = c.id
    INNER JOIN orders AS d 
        ON a.orders_id = d.id
    INNER JOIN employees AS e 
        ON d.employees_id = e.id
    INNER JOIN warehouses AS f 
        ON a.warehouses_id = f.id
    INNER JOIN inv_state AS g 
        ON a.inv_state_id = g.id
    INNER JOIN regions AS h 
        ON f.regions_id = h.id
    INNER JOIN shipments AS i 
        ON d.shipments_id = i.id
    INNER JOIN logistics AS j 
        ON i.logistics_id = j.id
    WHERE
        (b.mfg_title LIKE '%Corp%' OR b.mfg_title LIKE '%Global%')
        AND c.cat_desc NOT IN ('Unknown', 'None', 'Legacy')
        AND (d.order_sum > 1000 OR d.order_sum BETWEEN 250 AND 275)
        AND e.emp_last ILIKE '%berg'
        AND (f.wh_loc IN ('A1', 'Z9', 'M3') OR f.wh_loc IS NULL)
        AND g.state_flag IN ('ACT', 'PENDING')
        AND h.region_label NOT LIKE 'EXT-%'
        AND (i.ship_track_code IS NOT NULL AND i.ship_track_code <> '')
        AND (j.delivery_eta < NOW() + INTERVAL '90 days' OR j.last_scanned_at IS NULL)
        AND (a.part_number ~ '^[A-Z0-9]+$' OR a.part_number IS NULL)
        AND (
            (c.cat_code = 'X1' AND g.state_level > 2)
            OR
            (e.emp_first ILIKE 'J%' AND d.orders_id IS NOT NULL)
        );
    
    





  • Yes, every distro requires a password for sudo. That’s the whole point of it. But editing .bashrc does not require sudo. You can add aliases and functions to .bashrc. A malicious script can append to .bashrc, and by doing so, it can alias sudo to be whatever command it wants. For instance, a malicious function. So the next time you run sudo it runs the malicious command, instead, which itself can act just like sudo and prompt you for your password. So now you just entered your password into a malicious function. Do you see the problem with this?