Inanna Malick
banner
inanna.recursion.wtf
Inanna Malick
@inanna.recursion.wtf
Rust, Haskell (sometimes), art

https://github.com/inanna-malick
I'm going to be in Berlin next week, if you're local and work in Rust I'd love to meet up for lunch/coffee and have an informal chat about what the industry is like at the moment
November 24, 2025 at 10:36 AM
Reposted by Inanna Malick
LLMs are pretty useful if you're making a new programming language, or a parser for human-readable text. It keeps finding plausible uses of the language, that you'd kinda expect if you just absorbed the general cultural zeitgeist on the internet. It finds edge cases that we really should support.
November 19, 2025 at 6:19 PM
Reposted by Inanna Malick
It's on apt. It's literally on Cargo. It's on DockerHub with ads. It's literally on nuget. You can probably find it on snap. Dude it's on portage. It's a Homebrew original. It's on pacman. You can download it on nixpkgs. You can go to pkgsrc and watch it. Log onto the Windows Store right now.
November 20, 2025 at 3:24 AM
Reposted by Inanna Malick
#rustlang hot take: We should rename .unwrap() to .or_panic(). (And .expect() to .or_panic_with().) "Unwrap" is a terrible name for the panicking function, especially since we also have things like .unwrap_or() and .unwrap_or_default() which never panic.
November 19, 2025 at 7:32 AM
Reposted by Inanna Malick
Alexandra Elbakyan has had a bigger global impact than probably any single other communist since Gorbachev
Remembering the children's sci-fi author who got livid when I told him the sum total of his life's work was less than libgen and no amount of anti-AI washing would change that
November 18, 2025 at 10:36 AM
Please give me feature requests btw this fun for me sickos.jpeg & etc currently the queue is just
-0 null byte terminated output support for scripting
- ???
Sick of looking up `find/exec` syntax on stack overflow? I built detect as a replacement:

```
cargo install detect

detect 'ext in [rs, ts, js] && size > 0.5mb && modified > -7d'

detect 'ext == ts && content ~= class.*Service'

detect 'name == "Cargo.toml" && toml:.package.edition == 2018'
```
November 18, 2025 at 9:45 PM
Reposted by Inanna Malick
the nation-state that will dominate the future of humanity is whoever decides to start secretly raising children in an isolated environment with no LLMs and a bunch of pre-2021 software engineering books. China is probably already doing this.
November 18, 2025 at 8:55 PM
Reposted by Inanna Malick
Daily affirmations: I can finish this project before starting another. I will not start another project before finishing this one. This project will be completed and then others can be later. This project is now, other project is later. Other projects are cool but your current project is really cool
November 14, 2025 at 9:47 PM
Reposted by Inanna Malick
Ok, here it is: ATProto blog posts collection - I collected a lot of interesting blog posts about Bluesky/ATProto things written since 2023* by the team & the community, and put them in one list grouped into sections (there's even a quick search field at the top):

(*) one even earlier
ATProto blog posts collection
I come across a lot of blog posts about the AT Protocol and Bluesky technicals – both on Bluesky official blogs and those of the team members, and by independent developers from the community. So many...
mackuba.eu
November 18, 2025 at 7:07 PM
Reposted by Inanna Malick
Do not. cite. the deep magic. to me. witch.
November 17, 2025 at 7:50 PM
I made heavy use of this for `detect` - my UX tester LLMs kept trying to write structured data selectors like `toml:.some_key` as a standalone 'does this key exist' selector back when detect only supported `toml:.some_key == some_value`, and it was like you know what? yeah, that's a good idea
November 18, 2025 at 6:59 PM
I've published a blog post here, with implementation details and metrics:
recursion.wtf/posts/detect/

this may not come as a surprise, but it not spawning a new process via `-exec` for every file or running multiple `xargs` passes makes everything significantly faster
November 18, 2025 at 6:57 PM
Reposted by Inanna Malick
Cool: abandons flags for an expr DSL github.com/inanna-malic... via pest grammar github.com/inanna-malic...

This was fun to translate into `fd`:

`-e rs -e toml`
`-S +1M`
`--changed-within 7d`
`-X rg -l 'class.*Service'`
`-E '*test*'`
`-e yaml -S -0.5M -x lq -Y {} | jq -e '.server.port > 8000'` (?)
November 10, 2025 at 4:22 PM
Sick of looking up `find/exec` syntax on stack overflow? I built detect as a replacement:

```
cargo install detect

detect 'ext in [rs, ts, js] && size > 0.5mb && modified > -7d'

detect 'ext == ts && content ~= class.*Service'

detect 'name == "Cargo.toml" && toml:.package.edition == 2018'
```
November 10, 2025 at 5:26 AM
Reposted by Inanna Malick
can there just be a cloudflare template for this or whatever. serious question
dame.is dame @dame.is · Sep 18
hosting your own PDS should be easy for anyone, but it isn't, which is bad
September 19, 2025 at 12:26 AM
I've settled on this architecture recently for personal project cargo workspaces:

- crates/human (core code, service traits, proptests)
- crates/vibes (throwaway code, to be rewritten later)

Type-level domain modeling and property tests keep LLMs on track, at least enough so for a solid prototype
September 18, 2025 at 10:13 PM
Reposted by Inanna Malick
September 18, 2025 at 9:54 PM
Reposted by Inanna Malick
Came across this @cloudflare.social ❤️ @atproto.com tutorial, very well done!

solid balance of the high and low level, broad coverage of network components, pains and solutions when running certain #atproto TS packages on the edge

blog.cloudflare.com/serverless-a... | @inanna.recursion.wtf
Serverless Statusphere: a walk through building serverless ATProto applications on Cloudflare’s Developer Platform
Build and deploy real-time, decentralized Authenticated Transfer Protocol (ATProto) apps on Cloudflare Workers.
blog.cloudflare.com
September 6, 2025 at 2:56 AM
Fresh Eyes as a Service: Using LLMs to Test CLI Ergonomics

recursion.wtf/posts/llms_a...
Fresh Eyes as a Service: Using LLMs to Test CLI Ergonomics
An LLM's attempts to use your tool approximate what a statistically average user would try. You can use that to automate basic CLI tool UX testing.
recursion.wtf
August 18, 2025 at 3:30 PM
Reposted by Inanna Malick
ok i reposted because this is a cool technique but after reading about half the article i have to call out; you, reader, can understand this, even if functional isn't your bag. she wrote it targeting a working programmer more than a haskell wizard, and it shows!
August 10, 2025 at 4:35 PM
Reposted by Inanna Malick
one more quote post of this, because my o11y friends need to see this line:

> All GIFs in this post were generated by a special instrumented version of the recursive machinery used by collapse_frames that automatically generates animated ‘stack traces’

we can go furthur, friends
August 10, 2025 at 4:42 PM
Reposted by Inanna Malick
bsky should really emphasize the best part of atproto: the PDS. investors should fund startups selling PDSs, both as a cloud service and a physical self host device. make it clear to users that the biggest benefit of atproto isn’t “one account for all platforms”, it’s “choice in sharing data online”
August 7, 2025 at 5:40 PM
Reposted by Inanna Malick
Perplexity is repeatedly modifying their user agent and changing IPs and ASNs to hide their crawling activity, in direct conflict with explicit no-crawl preferences expressed by websites. blog.cloudflare.com/perplexity-i...
Perplexity is using stealth, undeclared crawlers to evade website no-crawl directives
Perplexity is repeatedly modifying their user agent and changing IPs and ASNs to hide their crawling activity, in direct conflict with explicit no-crawl preferences expressed by websites.
blog.cloudflare.com
August 4, 2025 at 1:31 PM
Reposted by Inanna Malick
pjreddie, who made the best real-time computer vision system, epically explaining that he quit AI because the primary use case was killing people
May 6, 2025 at 6:45 PM
Reposted by Inanna Malick
Labor activist Chris Smalls is back in the United States (via Chuck Modi)
August 1, 2025 at 2:34 PM