Mastodon Feed: Posts

Mastodon Feed

ireneista@irenes.space ("Irenes (many)") wrote:

there's been this really nice property, up to now, where we could make changes to the harness that does the compilation, as long as we didn't change the actual generated code

moving that harness into the executable will mean we lose that, but it's probably fine, heh

Mastodon Feed

jonny@neuromatch.social ("jonny (nonvenomous)") wrote:

That was me describing ONE check in the validator. ONE. that is ALREADY SOLVED. we call that category of technologies "HTML parsers" and they are DONE. we HAVE THEM. HTML is maybe the MOST FREQUENTLY PARSED TEXT IN COMPUTING. If you zoom out to the marble aliens at the end of Men in Black to imagine the oceans of fuckedness in this skill, the planets of fuckedness in the harness, the galaxies of fuckedness in the whole system, and realize that at every scale it is held together by the most expensive brute force guess and check technology ever devised, the mind simply cannot comprehend that much fuckedness in one place. Its like asking a normal person to imagine what they would do with a billion dollars of debt. I can imagine hundreds of being fucked, thousands of being fucked, but I cannot comprehend being gigascale and exascale fucked like this.

Mastodon Feed

jonny@neuromatch.social ("jonny (nonvenomous)") wrote:

That comment is incredible! "Check tag matches the way the builder does. Except in one of the few cases that matters, then we don't" like the fucking statement "the build refuses the page and the check simply has nothing to say" MEANS THAT THE CHECK DOES NOT WORK. the COMMENT SAYS. the code does NOT WORK. none of this makes any fucking sense, the code doesn't work, nobody is reading the code, and the COMMENTS SAY THE CODE DOES NOT WORK

Mastodon Feed

jonny@neuromatch.social ("jonny (nonvenomous)") wrote:

I fucking can't with this shit sometimes. So there is a skill for rendering local HTML "artifacts", little local websites. However the LLM frequently outputs invalid HTML/JS, and it wants to enforce some other rules like not loading external js. There is already a check for this when artifacts are built into a runnable state, but that guess and check is apparently expensive, so rather than "fixing that and just failing fast in a single codepath" this PR adds a duplicate, slightly diverged layer of checks that can be run without building.

One small part is so wonderfully broken and cursed, emblematic of LLM code: the check for whether all script tag openings have a corresponding close.

So there already IS a proper HTML/js AST parser, which is run, but fuck that too easy. First we call findScriptElements, which searches for the start of a script start tag with regex, and then uses a handrolled character-level parser to find where it's closed. Amazing! Why? Fuck off that's why! That finds the <script> tag, and then we look for the corresponding </script> tag with a similar but slightly different regex+custom parser combination. Whats that you say? Thats invalid? Not how HTML works? Fuck off! If no end tag is found the start tag is ignored and findScriptElements breaks. So at this point we already know if there are unbalanced script tags, even if we are incorrectly parsing HTML with regex, we just don't use that information.

But wait! There so much more! You didn't ask for more? Fuck you! Since the scripts get transformed, and scripts can have strings that look like script tags, we then get a version of the document with all the BODIES of its script tags stripped out. To do that it also uses findScriptElements, but wait, wasn't that based on regex and would incorrectly match against the very thing we're trying to strip out? Fuck you!

What were we doing? Finding unclosed script tags! So we have a list of closed script element locations, a string with all the bodies of its script elements stripped out, so now of course we need a new function countScriptTagStarts, which is of course just a plain regex search for the opening script tags! With everything we need in hand, which is... Whatever... We then compare if the number of script start tags in the script element stripped html matches the count of the script elements we extracted at the beginning. If that doesn't match we say that... Something... Is wrong!

Still not done! Still not released from this torment! You know how validators "scan the whole thing and collect all the errors" and report them, because then you can fix them all at once? Not here! Emit only one error and then bash the LLM at it in a loop! Notice how it says "errors cascade and presenting multiple is just noise" - thats strictly a feature of how shitty their validator is! Usually parse errors are just a different kind of error that shortcircuits further validation that assumes syntactically valid input, so then validation errors don't always propagate! So to compensate for the shitty random walk code churn, we ensure all code that get written in the future has even more preposterously expensive shitty random walk code churn!

Coding!!!! Is !!!! Solved!!!!!!!!!

https://github.com/sneakers-the-rat/muse-skills/commit/48856cfd38dbae6607c3db3925eda8250175ffc8#diff-d30f3a73309eb8ece5a07551cc5a94009c2b704f177df79afe6410580e806bbaR12

[js code as described in post: call findScriptElements, compare script tag count in body without script tags against its length. the real gem here is the comment and the error text] const elements = findScriptElements(html);   // Ask the count question the way the build asks it. assertOnlyApprovedScripts   // runs over the REWRITTEN document, whose script data is gone, so a <script   // the author merely wrote inside a string is not a second element there and   // must not be one here either -- counting it over the raw page refuses a   // document every browser renders and the build accepts.   //   // This projection is marginally quieter than the build in one case: the build   // re-renders a non-executable script WITH its body, so a text/template   // holding <script text still trips its count. That is the safe direction --   // the build refuses the page and the check simply had nothing to say.   const withoutScriptBodies = documentWithoutScriptBodies(html);   if (countScriptTagStarts(withoutScriptBodies) !== elements.length) {     return {       ok: false,       defect: {         kind: "unreadable_script",         message:           "index.html contains a <!-- raw HTML omitted --> element private rendering cannot read to its " +           "end -- usually an unterminated tag, or a literal <!-- raw HTML omitted --> inside a string. " +           "A browser would not close it either, so the page is broken as written.",       },     };   }
// Every <script> element in document order. Scanning resumes past each // element, so <script text inside a script body never opens a second one; an // unterminated element ends the scan and is caught by the count check in // assertOnlyApprovedScripts. export function findScriptElements(html: string): ScriptElement[] {   const elements: ScriptElement[] = [];   const starts = new RegExp(SCRIPT_TAG_START_SOURCE, "gi");   let match: RegExpExecArray | null;   while ((match = starts.exec(html)) !== null) {     const index = match.index;     const openTagClose = findTagClose(html, index + match[0].length);     if (openTagClose < 0) break;     const bodyStart = openTagClose + 1;     const end = findScriptEndTag(html, bodyStart);     if (end === null) break;
/// Inspect the authored artifact at spaceRoot. Returns the FIRST defect: the /// author fixes one thing at a time, and a parse error routinely cascades, so /// a list would mostly be noise derived from the same mistake. export async function checkStaticScripts(spaceRoot: string): Promise<!-- raw HTML omitted --> {

Mastodon Feed

ireneista@irenes.space ("Irenes (many)") wrote:

that's checked in. now we just want to take a moment and be sure we really want to add the stuff that's now in compilation/ to the base executable

we probably do, that was a lot of the point of this restructuring, it's just a hard thing to take back...

Mastodon Feed

ireneista@irenes.space ("Irenes (many)") wrote:

we're very, very glad that gerrit allows us to do amend-heavy workflows and that we're proficient in rebasing, squashing, and all that.

following general principles, we backed out to the prior fully-submitted commit and did the renamings atop that, so that we can have a commit that's just renaming and is easy to read through...

it was quite a time-consuming process. lots of filenames referenced in comments that needed to be updated, and things like that. almost ready now, just validating it.

Mastodon Feed

Boosted by jsonstein@masto.deoan.org ("Jeff Sonstein"):
faraiwe@mstdn.social ("Faraiwe") wrote:

@LeslieBurns @FlashMobOfOne do they demand specific file format, text formatting or live doc feature?

I've been able to duck out of microslop for over a decade, with LibreOffice. Even US Mil/Govt work related stuff. Including sec cleared stiff, yes

Mastodon Feed

jsonstein@masto.deoan.org ("Jeff Sonstein") wrote:

it took 3 tries, but I finally got the StickPro ( antenna analyzer from https://rigexpert.com/antenna-analyzers/stick-pro/ ) reflashed with the latest firmware. yay! BTLE works now, as does Antscope2.

Mastodon Feed

EmilyEnough@hachyderm.io ("Emily 🏳️‍🌈🏳️‍⚧️") wrote:

The things you do for your kids.

He wanted to play Yo-Kai watch 4, but it was only in Japanese. So I’m jailbreaking a og switch so I can install a fan made English language mod for the game.

Photo of a jailbroken switch writing a system image to the sd card.

Mastodon Feed

jonny@neuromatch.social ("jonny (nonvenomous)") wrote:

Added an hour ago to the custom speaking voice designer skill. Hmm I wonder what kinda racist shit could have prompted this addition
https://github.com/sneakers-the-rat/muse-skills/commit/ca6f708bbf2f885579a4a24f11076f260371ea09

- Set gender to current unless the user explicitly asks for a feminine,   masculine, or neutral acoustic presentation; then use F, M, or N. - Set gender to any when the user explicitly permits any gender or asks to   change gender without naming a target presentation. - Pass accent only when the user explicitly requests one of the listed   catalog labels. If no label matches, omit accent; the complete request text   still reaches selection and design. Never infer gender or accent from the   user, persona, avatar, locale, ethnicity, or other demographics.

Mastodon Feed

dysfun@treehouse.systems ("gaytabase") wrote:

i know absolutely nothing about this experiment, but there's a wikipedia page about it https://en.wikipedia.org/wiki/LZ%5Fexperiment

apparently it's a tank of liquid xenon buried under arizona

Mastodon Feed

Boosted by jsonstein@masto.deoan.org ("Jeff Sonstein"):
rbreich@masto.ai ("Robert Reich") wrote:

Mastodon Feed

dysfun@treehouse.systems ("gaytabase") wrote:

ooh, possible dark matter detection.

0.5% chance it's wrong off the bat. that bit's worth getting out of the way early.

but pretty cool, i didn't realise we'd be seeing the first possible detections this soon.

Mastodon Feed

ireneista@irenes.space ("Irenes (many)") wrote:

we suspect Evocation is already large enough that the lack of directory structure has been an obstacle to readers (please do weigh in if you worked on the code - as a couple of people have now)

it was fine when it was just us, because we have that in our head, but it should be "official"

Mastodon Feed

ireneista@irenes.space ("Irenes (many)") wrote:

we're taking this opportunity to move the source files into some subdirectories now, as well, since there are three that we want...

Mastodon Feed

timnitGebru@dair-community.social ("Timnit Gebru (she/her).") wrote:

The media on "takes on rogue AI," features billionaires (newly minted or old), people doing so-called "AI safety" getting hundreds of millions claiming to save us from extinction, and then me playing in my kiddy pool with my pretend dollars 😂

https://www.npr.org/2026/09/26/nx-s1-5979085/the-ai-safety-debate-is-confusing-heres-our-guide-to-the-different-factions

Mastodon Feed

Boosted by cstanhope@social.coop ("Your weary 'net denizen"):
rose_alibi@post.lurk.org ("a libi rose") wrote:

sometimes the answer is not computer

Mastodon Feed

Boosted by cstanhope@social.coop ("Your weary 'net denizen"):
glyph ("Glyph") wrote:

It's not even "I wrote some software and put it in a product and the product did a harm and I'm maybe fractionally culpable in a way that's really hard to apportion" any more. It's just "I set up a computer to do crimes and I spent ten million dollars on electricity to prove it could do crimes and it did a crime. Who could have known!"

Mastodon Feed

ireneista@irenes.space ("Irenes (many)") wrote:

update: yeah okay we're doing the strings thing

it didn't come up above, but one reason we hadn't done that yet is that the transformation system and the other stuff used in outputting executable binaries isn't actually part of the evoke binary by default. we could trivially add it, but it's nontrivial to remove things from the binary, so we were waiting to have a good reason to.

this is a good reason though :)

Mastodon Feed

jscalzi@threads.net ("John Scalzi") wrote:

It's apparently difficult to get into the heads of the "Not All Men" crowd that the rapists, sexual assaulters and physical abusers don't walk around with the word "DANGER" over their head in flashing red neon. They look like any other dude. They act like any other dude. You can't pick them out in a lineup beforehand. "Not all men" doesn't mean shit when it *could* be any man. I'm not sure why this is that hard to understand.

Mastodon Feed

Boosted by baldur@toot.cafe ("Baldur Bjarnason"):
uglyreykjavik.bsky.social@bsky.brid.gy ("Ugly Reykjavik") wrote:

A very sad fence.

#Iceland #Reykjavik #photography #streetphotography #nature #abandoned #decay #trees

An abandoned house hidden behind large pine trees and a broken fence.

Mastodon Feed

dysfun@treehouse.systems ("gaytabase") wrote:

good job for once, filtered notifications

Mastodon Feed

jwz wrote:

"AI" once again revealed to be three perverts in a trenchcoat.

Humans Are Reading Copilot Prompts -- And They're Horrified: Human contractors hired to improve Microsoft's Copilot AI chatbot are constantly bombarded with lewd or sexually explicit photo...
https://jwz.org/b/ylAE

Screenshot

Mastodon Feed

Boosted by pixxl:
jzb@hachyderm.io ("Joe Brockmeier") wrote:

RE: https://flipboard.social/@newsguyusa/117351030141999760

Translation: The new model isn’t that great, and they get better PR/marketing by claiming it’s too powerful/scary to release.

Mastodon Feed

ireneista@irenes.space ("Irenes (many)") wrote:

we don't claim to know what that looks like in-full, but we know where to start

when you are speaking of safety, always say: WHO is kept safe, FROM WHAT?

Mastodon Feed

ireneista@irenes.space ("Irenes (many)") wrote:

it is not enough to deal with the surveillance threats we face this year

we need to revisit the mistaken concept of safety that led us to see surveillance as safety in the first place, and replace it with a version of the idea that makes a better distinction

Mastodon Feed

Boosted by pixxl:
yesman@lemmy.world wrote:

Is it just me or does this “AI Doomsday” talk seem like coordinated messaging?

Chatbots that are smart enough to destroy humanity would be really impressive, right? “Powerful enough to change the world” and “powerful enough to destroy the world” are similar claims and maybe they’re switching to the second one because nobody is buying the first anymore.

Mastodon Feed

Boosted by pixxl:
ParadeGrotesque@mastodon.sdf.org ("Parade du Grotesque 💀") wrote:

I have come to hate the term 'AI'.

I hate it because AI does not exist.

Just because you have an automated parrot on your computer does not make that machine 'intelligent'.

Even if you have 10000 computers running the same software, those machines are not 'intelligent'.

What you have is a poor statistical model.

So, stop using 'AI'. This term is pure propaganda, designed to make you despair.

Use better terms: 'machine generated', 'statistical nonsense' for instance.

Boost if you agree.

Mastodon Feed

ireneista@irenes.space ("Irenes (many)") wrote:

ah well. we had hoped writing this out would help us decide what we want, and perhaps it will, but we need to let the thoughts settle first. thanks for reading along :)

Mastodon Feed

ireneista@irenes.space ("Irenes (many)") wrote:

the same pressures apply, though, where we don't really want to have to have the acceptable words to use as parameters be such a tightly controlled vocabulary. we want to be able to use the whole language that way.