![[syndicated profile]](https://www.dreamwidth.org/img/silk/identity/feed.png)
Saturday Morning Breakfast Cereal - Bio

Click here to go see the bonus panel!
Hovertext:
The only one of those that isn't true is none of them.
Today's News:
Hovertext:
The only one of those that isn't true is none of them.
“Your results are negative.”
“Is that the good one?”
Having seen dozens of boats on a recent road trip, draw a boat!
A Basket of Cellophane, by threeguesses. Nestra: What a great Ted story! Wonderful character voices all around, and I love the way they slip into a relationship almost without Ted noticing.
Who loves their vehicle more than their family?
The Clippy project will be on feature-freeze for 12 weeks, starting from Rust 1.89.0 beta (June 26th 2025) to September 18th 2025 (Rust 1.89.0 stable release). During this time no new features will be accepted, only bug fixes.
This feature freeze comes from a lack of the necessary capacity needed to maintain all the current lints (over 750 of them 😱) and still add new ones. We need to care for the Clippy project the same way that Clippy cares about our code, and note that every single one of them needs maintaining and accounting for current and future changes in the compiler as a whole.
As a team we’ll focus on making contributing the best it can be, and mark the issues that could be great as a starting point to get familiar with the project.
As a user you can expect to have more accurate lints, with less false positives and more edge cases covered. A bump into Clippy’s toolchain would not involve the same risk for false positives as it has been until now. We hope that by upping the standard for lints all around the project we can allow users to expect even more from the already great linter.
If you have a lint which you want to be implemented, you can still open an issue for it, but PRs adding new lints won't be reviewed during the feature freeze. Instead, they will be put into a queue and reviewed (and merged) after the feature freeze is over.
Open pull requests that add new lints and are in a very advanced state might still get reviewed and/or merged during the feature freeze.
As always, any help on the project is very appreciated. Apart from opening bug reports, you can follow our contributing guidelines and check our suggested good first issues for opening pull requests. Everything from fixing diagnostic issues and improving documentation, to fixing application-wide crashes really helps Clippy get into the excellent state that our users deserve.
If you need direct help when fixing a bug, don't hesitate to open a thread on Zulip and/or open a draft PR with the questions you have in order to start the feedback stream.
Thanks a lot for all these years of supporting Clippy, we hope that via this little feature hiatus we can achieve the excellence that the Rust user base deserves.
I'm currently evaluating how different models perform when generating XML versus JSON. Not entirely unexpectedly, XML is doing quite well — except for one issue: the models frequently return invalid XML. That made it difficult to properly assess the quality of the content itself, independent of how well the models serialize data. So I needed a sloppy XML parser.
After a few failed attempts of getting Claude to just fix up my XML parsing in different ways (it tried html5lib, the html lxml parser etc.) which all resulted in various kinds of amusing failures, I asked Claude to ultrathink and write me a proper XML library from scratch. I gave it some basic instructions of what this should look like and it one-shotted something. Afterwards I prompted it ~20 more times to do various smaller fixes as a response to me reviewing it (briefly) and using it and to create an extensive test suite.
While that was taking place I had 4o create a logo. After that I quickly converted it into an SVG with Illustrator and had Claude make it theme-aware for dark and light modes, which it did perfectly.
On top of that, Claude fully set up CI and even remotely controlled my browser to configure the trusted PyPI publisher for the package for me.
In summary, here is what AI did:
The initial prompt that started it all (including typos):
I want you to implement a single-file library here that parses XML sloppily. It should implement two functions:
- stream_parse which yields a stream of events (use named tuples) for the XML stream
- tree_parse which takes the output of stream_parse and assembles an element tree. It should default to xml.etree.ElementTree and optoinally allow you to provide lxml too (or anything else)
It should be fast but use pre-compiled regular expressions to parse the stream. The idea here is that the output comes from systems that just pretend to speak XML but are not sufficiently protected against bad outoput (eg: LLMs)
So for instance & should turn into & but if &x is used (which is invalid) it should just retain as &x in the output. Additionally if something is an invalid CDATA section we just gracefully ignore it. If tags are incorrectly closed within a larger tag we recover the structure. For instance <foo><p>a<p>b</foo> will just close the internal structures when </foo> comes around.
Use ultrathink. Break down the implementation into
- planning
- api stubs
- implementation
Use sub tasks and sub agents to conserve context
Now if you look at that library, you might not find it amazingly beautiful. It probably is a bit messy and might have a handful of bugs I haven't found yet. It however works well enough for me right now for what I'm doing and it definitely unblocked me. In total it worked for about 30-45 minutes to write the initial implementation while I was doing something else. I kept prompting it for a little while to make some progress as I ran into issues using it.
If you want to look at what it looks like:
To be clear: this isn't an endorsement of using models for serious Open Source libraries. This was an experiment to see how far I could get with minimal manual effort, and to unstick myself from an annoying blocker. The result is good enough for my immediate use case and I also felt good enough to publish it to PyPI in case someone else has the same problem.
Treat it as a curious side project which says more about what's possible today than what's necessarily advisable.
Postscriptum: Yes, I did slap an Apache 2 license on it. Is that even valid when there's barely a human in the loop? A fascinating question but not one I'm not eager to figure out myself. It is however certainly something we'll all have to confront sooner or later.
...
MATA_BOT_COP examines his rifle. The clerk shouts: "Let em through, MB!"
MATA_BOT_COP glances at girl: "Kids these days..." He opens the massive metallic doors into Metacity.
Puffy: "Stay close."
Girl stares with her mouth open.
It's a towering city full of advertisements and millions of apartments, cars and antennas.
Welcome to Metacity, child...
Do not fall.
https://analognowhere.com/_/iiiosm
Keep your brain safe! Give your character a helmet!
Hovertext:
Look, if those exegesis guys get to find whatever they want in the text, so do the rest of us.
If I didn’t love you, this would be easy.