Hello, if you care about Servo, the alternative web browser engine that was originally slated to be the next gen Firefox but now is a donation-supported project under the Linux Foundation, you should know Servo announced a plan to as of June start allowing Servo code to be written by "Github Copilot":

https://floss.social/@servo/114296977894869359

There's a thoughtful post about this by the author of the former policy, which until now banned this:

https://kolektiva.social/@delan/114319591118095728

FOLLOWUP: Canceled! https://mastodon.social/@mcc/114376955704933891

Servo (@servo@floss.social)

Attached: 1 image Servo is considering: - allowing some AI tools for non-code contributions - allowing maintainers to use GitHub Copilot for some code contributions over the next 12 months These changes are planned to take effect in June 2025, but we want your feedback. More details: https://github.com/servo/servo/discussions/36379

FLOSS.social

There has been a public comment period on this plan, with public comment so far overwhelmingly negative. I'm not sure how this response will impact the plan; the announcement said enactment was "subject to a review of your feedback", whatever that means.

Personally I think the plan is a horrible idea on both technical and moral grounds, and would end Servo's current frontrunner status as the best candidate for a browser that truly represents the open web and respects the needs of its own users.

Please do not respond to this thread to talk about Ladybird. This is a personal request from me. Just… please. Don't make me have a conversation about Ladybird today. Some other time
By the way, I still think this paragraph I wrote is a pretty good paragraph.

@mcc Not a coder*, so maybe I shouldn't pipe up, but imho that's a <b>very good</b> paragraph. Well done!

*Not a coder, but halfway decent with logic

@mcc Rock-solid and spot on, I'd say.

@mcc I'd extend this to say I'm worried about anything that are superficially believable, for anyone who are not an expert at that area, but can act with the believable advice.

For example. I will catch AI making almost correct shit up about failing to differentiate a few common skin pathogens. However if it made up shit about statistical method in a epidemiology study, I won't pick it up

The concern is with believable sounding falsery, I might act on it

@mcc my actual greater concern about LLM, is it is excellent at one thing: emotional labour. It will say what the prompter wants to hear, and upon challenge it will change its tune to please the question asker.

People want to believe anything they want to believe. LLM is amazing at giving false validation to people who are already not engaging with reality.

@mcc only thing it was good for was making me feel less alone. like a pair programming house cat. walks over your keyboard, knocks over your coffee cup, bothers you for food but it's a companion.
@lritter So I will admit that in the past, I have had pair programming sessions where the only function the other member of the "pair" was serving was keeping me awake. It was at that point roughly 4 AM
@mcc that's a valid function. i edited videos like this.
@lritter My pair partner in this particular story was an electrical engineer with no experience with executable "programming", so pretty much his function was I explained everything I did as I did it and if I said anything that was actively nonsensical he'd notice. A rubber duck could have served the same purpose, but if I *knew* it was a rubber duck, maybe I'd have started cheating and stopped making sense
@lritter @mcc Pair programming cats have *many* advantages over LLMs for “rubber duck” sessions. Not only are they far more cuddly, when they make a mistake, it’s usually far more obvious. I’ve yet to see an LLM respond to my question about finding the correct data structure for a task by getting up, walking across the keyboard, and making “scnxfdcxydmjhgygfdddddddddddddddeeeeeeerrrrrr” appear on the screen.

@mcc thank you for this!

i guess this points at a use-case for "ai": it can generate a puzzle where the goal is to find a bug.

...except that "ai" is not even very good for that, bc if you want a puzzle that has a known bug, it helps if the author of the puzzle knows what the bug is ahead of time.

It probably also helps if it's the kind of bug that already bit the author, whereas an "ai" may generate bugs that no human being would accidentally make.

@mcc One of the guys at work - an excellent coder - decided to really dive into AI to see what it was actually good for, despite his starting assumption that it was a load of rubbish. It's been about 6 months of use now?

His main takeaway so far is exactly this. It can produce extremely plausible code, and often the code does "work". But you have to watch it very closely because it makes a lot of subtle mistakes, and some of them can cause bugs that would take days to find.

@mcc It is useful for some things. It's good at pointing at bits of an API you don't know very well. It's quite good at spotting some bugs (though also has false positives, i.e. reports bugs that aren't bugs). And simple boilerplate is not bad - but again you have to watch it like a hawk.

So far he does not recommend it unless you're exploring a codebase/API you don't know well. We'll see.

@TomF @mcc
these both sound like tasks that would be better served by a domain specific adversarial network (or some such) than by a general-purpose generative model. (And this BTW is one of the really annoying thing about the new “AI bubble”: it's undermining the development of better “expert” tools that would be truly beneficial, *and* more efficient.)
@oblomov @mcc From what little I know of AI, I completely agree! The few useful bits of AI are "better search" and "what did I fuck up". Neither of those sound like good tasks for an LLM. But here we are.
@TomF @mcc The situation is similar for translation IMO (at least for popular language pairs): LLMs actually increase the need for human oversight *by a professional.* Their results can be grammatically sound, fluent, even colloquial- but still fundamentally wrong, because they convey something different than the source. Other forms of machine translation can garble source meaning, but LLMs can put words in people's mouths.
@TomF @mcc One of my teachers did an interesting exercise where we translated something and *then* compared our versions to ChatGPT. Her point was that we can improve our *own* translations by using elements we liked from the LLM version, and that doing so will increase our lexicon and make *us* better translators.
I generally agree, but I don't actually do this. LLMs being useful *in this one context* doesn't absolve them of ethical and environmental concerns.

@pandabutter @TomF @mcc I just did a job proofreading a game's translation done by a human, for a game written by a human very passionate about storytelling.

It was such a joy in comparison to that other job where I get AI pre-translation that I find a bit stressful, because you do have to watch it like a hawk and make your brain not remember the wrong things.

Even for UI strings like menu entries or network error messages, the job is a lot more fulfilling without AI.

@gunchleoc @pandabutter @TomF @mcc I feel like rewriting something an LLM has written would also be tedious as hell. Sadly, more and more writing gigs are exactly that.
@pandabutter @TomF yeah i prefer pre-LLM translation tools because when pre-LLM translation tools failed it was "loudly"; even an untrained human could usually see it was gibberish. which is better than making something up…
@pandabutter Something that lowkey bothers me a lot, is the multilingual people who brought into LLM even though we know how machine translators need human oversights. LLM isn't bad as a predictive text filler. At this particular point in time, it's that. I understand monolingual people never really experienced similar limitations too, but if you've used machine translator in languages you are competent in, you just know.

@mcc I thought your entire post was well written and on point.

I don't use GitHub these days, but I'm glad to see others sharing things that align with my outlooks. Thank you for taking the time/effort!

@mcc I really liked your comment on GitHub. It was thoughtful and persuasive.
@mcc THIS! So much this, I just experienced this same issue yesterday. It creates /nasty/ hidden bugs.

@mcc ah fuck i never even thought about that.

you're right, the purpose of ai is supposed to be just good enough to convince a layperson. like an investor, who sees technology as a means to generate profit, or like a ceo, who barely knows what his company does, let alone how.

the fact that it can also convince an expert that is willing to be convinced, unable or unwilling to use their expertise due to time constraints, budget constraints, foolishness, laziness or incompetence, and receive the expert qualification through the transitive property, that's fucken coooooked mate.

@mcc what's your copyright on this? Would like to share in the office?
@hendric What?
@mcc Sorry, I meant are you ok with us sharing it outside Masto, and do you want credit for it.
@hendric @mcc
I also want to share this with my students, lol.
@Moosader @hendric Thanks— the paragraph was from my response to the Servo-TRC "AI" proposal on Github. https://github.com/servo/servo/discussions/36379#discussioncomment-12752707 it's fine to reshare it in part or in full, I would prefer if you credit me in some way. (I guess if you're going to put it in a commercial publication come back and let's have another discussion? Not used to thinking about licensing terms on forum posts lol)
AI Policy Update Proposal · servo servo · Discussion #36379

Servo’s Technical Steering Committee is looking for feedback regarding our policy for contributions made with generative AI. The current policy, adopted in June 2024, is documented in the Servo boo...

GitHub
@mcc @Moosader @hendric Thanks for the link. I came here to ask for it so I can link it from my collection of awesome quotes. Not surprised to find other folks interested as well. Kudos for the prose.
@mcc
All the better to create more demand for bugfixing labor
only in capitalism is automation used to make people work more rather than allow us to work less
@mcc @shauna it is an *extremely* good paragraph

@mcc Yup, that's spot on. There is absolutely nothing hyperbolic about describing Gen #AI as fraud machines - peddling something that people believe is legit because they can't spot the flaws doesn't just describe what AI was literally & explicitly built to do*, it's also a perfectly cromulent description of how fraud works.

*they'll tell you it was built to have no flaws but if that was true, why is there no mechanism for factual accuracy, or even a way of introducing it, in any AI engine?

@mcc that’s a great summary of this issue, thank you!
@mcc Plausible but not correct, spot on. I've been using a GitHubs CoPilot for a few months. Some things it's very good at. Well one thing: pattern recognition. So if I'm doing something repetitive but not really, it's good at predicting "the next thing". But honestly? I can type faster than it can return results most of the time, so is it *really* helpful? Sometimes, I guess, but I'm having to be like a hawk reading what it's spat out!
@mcc I think the whole comment deserves to be a blog post. It’s really good!

@mcc smack in the middle of my analysis too.

Too many people seem to not realise that the target moved from "making a ML system that is right" to "making a ML system that human feels is right" and that it was the main advance.

@Di4na entire market segment is demoware
@mcc i think this is not respectful enough to demoes
@mcc Oh god, this is what I feel as an artist about using AI for art too, it's practically designed to introduce the exact sort of mistakes that's really hard to catch cus everything LOOKS mostly correct. The main difference is that when this happens with art, you just get art that looks kind of bad, but when this happens to code, you can easily fuck up the entire week for a lot of people.
@Owlor Yeah, when code is wrong in *just one place* that *just one place* can cause the rest of the code to act incorrectly as well.

@mcc @Owlor This is how unsafe code works in Rust, the point is to limit the danger zones to just those blocks... but a subtly wrong unsafe block can still cause the whole program to be UB. That's why we have humans write and check them. It works because it's not a lot of code so it's feasible to analyze and (at least informally) prove correct.

I dread the idea of LLMs writing the kind of subtle unsafe{} stuff that you end up using in real Rust projects because LLMs absolutely cannot reason about the subtleties of safety, invariants, etc., especially in more complex codebases.

@mcc Yeah, obviously

>massoc
Pleroma does what mastodon't.

@mcc

That is terrifying in how accurate it feels!

@mcc Great. Now, no human will ever win the IOCCC again.

Where's the push to ban AI from obfuscation sports?

@mcc
An interesting question is whether it will produce _predictable_ defects.

One thing that has been a rich source of exploits was the culture, which held for decades in Windows development, of copy-pasting MSDN code without troubling to understand it.

This has enabled hackers of both hats, having found exploits in standard boilerplate, to correctly anticipate that those exploits would reliably exist in the wild, in huge numbers.

The AI-generation issue is subtler, but has a similar origin: lazy programmers who don't analyze what they're given in the context they'll be using it. That it will produce defects is a given, but is there a recurrent character to the _kind_ of defects, and will that prove to have results that are usefully predictable to someone?

@mcc

Disagree.

AI code should be treated as code written by a disgruntled veteran programmer, who got drunk, did a half-assed job, then quit.
You inherited that code. It's your job to make it work.

Do you write tests for your code?
Or do you just eyeball it, and say, "That looks correct!"
Same applies here.

Don't expect AI code to be correct.
Write rigorous tests. Not rocket science. Just basic software engineering.

AI code gives you an 80% productivity boost. It doesn't do the whole job.

@purrperl @mcc I think this is a helpful way to think about it, but not quite accurate. All ML algorithms are designed to produce results that are “correct-ish”. They “fail continuously,” by that I mean continuous vs discrete. They should get close most of the time and are rarely way off. In the case of LLM’s writing code I believe the best results are found where there is some formal / mathematical validation. Strictly typed languages paired with a theorem prover, unit tests and the like. LLM’s are going to perform well when the answer takes some doing but checking that it’s correct can be automated.
@purrperl @mcc One should mostly look at that it does/intends to do and rewrite it.

Who knows what kind of logic bombs may have been purposely slipped in.

@mcc I like how I'm so out of tune that I immediately thought "what does the dog from King of the Hill have to do with this"

nobody provide me additional context, I am now thinking about King of the Hill

@psilocervine @mcc

noted disliker of the dog from king of the hill and/or possibly those little orange beetles with the spots

@mcc it's a good enough film, not my favourite of Greta Gerwig's but Saoirse Ronan is always fantastic