Robin Brown (she/her)'s Avatar

Robin Brown (she/her)

@esoterra2.bsky.social

https://esoterra.dev/

38 Followers  |  42 Following  |  33 Posts  |  Joined: 08.01.2025
Posts Following

Posts by Robin Brown (she/her) (@esoterra2.bsky.social)

Preview
Column | How to war-proof your budget before regular gas hits $4 a gallon As the Iran conflict leads to rising gas prices, these tips can help you save money and maintain some budget predictability.

Amazing that this essay never even mentions public transportation @thewaroncars.bsky.social

07.03.2026 12:08 β€” πŸ‘ 594    πŸ” 88    πŸ’¬ 29    πŸ“Œ 18

I guess if my parser is deterministic, this shouldn't happen in practice, but that feels a bit fragile to depend on both my parser being deterministic (without having a way of type checking/validating that) and chumsky's evaluation of a deterministic parser not doing anything weird.

07.03.2026 17:16 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
chumsky::guide::_06_technical_notes - Rust Technical Notes

I don't really want to just allocate them in `map_with` because then I don't think I can rely on the arena only containing nodes that were actually parsed as opposed to ones produced while exploring a branch that was later unwound.

The guide even has a related disclaimer.
docs.rs/chumsky/late...

07.03.2026 17:16 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Does anyone know if there's a good way to allocate AST nodes produced by chumsky in arenas?

I like doing this to more densely allocate things and, more importantly, to give all AST nodes of the same type a dense space of IDs that I can map to auxiliary data in future passes like type resolution.

07.03.2026 17:16 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I do think the guide could do a better job of listing and explaining common idioms.

Plus, the example given for any() doesn't work in current Chumsky in Rust 2024 edition: any().filter(char::is_whitespace)

You have to add a closure to dereference the character.

07.03.2026 16:55 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Improve error reporting Β· esoterra/template-compiler@7a5771a

Improving the error messages was also pretty straightforward:
github.com/esoterra/tem...

07.03.2026 16:55 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
Rewrite parsing to use chumsky Β· esoterra/template-compiler@99f8532

Rewrote the parser for my little template-to-wasm compiler to use the chumsky Rust library yesterday. Took a bit of figuring out, but overall it wasn't too hard to do and I think it'll be much easier to extend in the future!
github.com/esoterra/tem...

07.03.2026 16:55 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
Update to Rust Edition 2024 and latest Wasm dependencies Β· esoterra/template-compiler@38d524d

Just updated my template-compiler project from Rust edition 2021 to 2024 and from Wasmtime 20 to 42 in only +15/-15 worth of changes and very little semantically changing! The component model is getting way easier to keep up with than it used to be!
github.com/esoterra/tem...

06.03.2026 23:18 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

Normalize laughing derisively in men's faces when they deserve it.

18.02.2026 19:00 β€” πŸ‘ 26475    πŸ” 6435    πŸ’¬ 552    πŸ“Œ 1079
Post image

So, these armed felons from January 6, 2021 are β€œjust tourists!”

But an ICU nurse defending a woman who ICE pepper-sprayed and pushed to the ground was a β€œdomestic terrorist β€œ!

27.01.2026 04:50 β€” πŸ‘ 4180    πŸ” 1380    πŸ’¬ 232    πŸ“Œ 72

how-i-experience-web-today.com

27.01.2026 22:16 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

A short poem or poem-like writing by me.

27.01.2026 17:29 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
A poem that reads as follows:

This is not a contract

I offer nothing and you accept it. You offer nothing in return and I take it gently to my hands. The world remains unchanged, except this humble printed paper on which your ink dries.

What did you think it would do? Well, it can't do that, because we believe it doesn't. The ritual won't work and a notary can't fix it.

Even as the light bounces off of this paper, hitting our eyes and creating fictions in your brain, its image betrays you. Form and function abandon each other or, understood differently, become tender incestuous lovers.
 
I am me. You are you. What's mine is mine, what's yours is yours, and that is the end of it.
 
You may exercise your existing rights to address any grievances and you are bound by existing obligations. I won't prevent you from taking legal action regarding this document. Any court or arbiter that will take you up may have you.
 
 (a pair of long lines where signatures would go)

A poem that reads as follows: This is not a contract I offer nothing and you accept it. You offer nothing in return and I take it gently to my hands. The world remains unchanged, except this humble printed paper on which your ink dries. What did you think it would do? Well, it can't do that, because we believe it doesn't. The ritual won't work and a notary can't fix it. Even as the light bounces off of this paper, hitting our eyes and creating fictions in your brain, its image betrays you. Form and function abandon each other or, understood differently, become tender incestuous lovers. I am me. You are you. What's mine is mine, what's yours is yours, and that is the end of it. You may exercise your existing rights to address any grievances and you are bound by existing obligations. I won't prevent you from taking legal action regarding this document. Any court or arbiter that will take you up may have you. (a pair of long lines where signatures would go)

27.01.2026 17:27 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
Max-Width, Margin Auto Step one in making a website look decent.

It's not hard to make a basic un-styled webpage look wayyyy better. The answer's in the title: max-width + margin: auto.
esoterra.dev/blog/max-wid...

25.01.2026 18:32 β€” πŸ‘ 0    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0

semi-regular reminder that ICE was only created in 2003

when you are asked to imagine a world without ICE, you're basically being asked to remember where you were when Lilo & Stitch came out

12.01.2026 20:04 β€” πŸ‘ 27106    πŸ” 8233    πŸ’¬ 391    πŸ“Œ 330

I feel lucky to live in a world where Bigtop Burger happened. Weird art combining the artist's various inspirations? Clowns vs. Undead? References to Cats and a 1920s film I've never watched called The Cabinet of Dr. Caligari? I would have never thought to ask for it, but I'm so glad it happened.

09.01.2026 21:13 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

fair enough. just be mindful about how your actions contribute to the whole and that this is the umpteenth time the main character is a trans person who didn't do anything That Bad (tm). de-escalate all conflict not with the enemy, etc.

09.01.2026 18:53 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

you are surprisingly cruel to Kat for someone who considers her an ideological ally. you can see how the backlash has become disproportionate dogpiling, right?

09.01.2026 18:28 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

what was the general gist of what this is a reply to?

09.01.2026 18:11 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

this work is licensed under "Creative Acquaintances-3.0" - to request a copy of source code, please be my friend and don't be weird about it. πŸ˜„

07.01.2026 23:18 β€” πŸ‘ 10    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0

Archive link for those looking for one:
archive.is/202601081016...

08.01.2026 16:35 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Naming the function `exec` with type `func(input: string) -> string` made me think you were giving your components the ability to execute things in a shell for a second before I realized it was the export name not an import πŸ˜†

08.01.2026 16:20 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Best of luck! Might check it out later.

08.01.2026 16:14 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

I'll disagree on the point of "it would be crazy not to use LLMs..." but if you're using them in a cautious way and the code is architected, designed, and implemented thoughtfully like you say, I don't have much of a problem with it. I was more trying to screen for if it was almost-fully generated.

08.01.2026 16:14 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I'm not very familiar with Swedish law, but, for me at least, it's a plus that you're outside the USA. We need more alternatives to USA tech and I say that as someone who was born, lives, and works there.

08.01.2026 16:14 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I think that would be a great idea. The story here of how it was developed and who you are is good context for people to have. Otherwise, 1 week, 1 contributor, tons of code is gonna smell like slop to some folks and with context, it's clear that that's not the case.

08.01.2026 16:14 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

During the last year and a half, I wrote a book on server-side WebAssembly. Getting into Wasm is hard. Resources are scattered, the tech is complex, and it's constantly changing. I wanted to contribute a resource to make learning easier. manning.com/books/server... (1/5) 🧡

06.01.2026 20:15 β€” πŸ‘ 18    πŸ” 2    πŸ’¬ 1    πŸ“Œ 1

interesting, but looks a bit sketchy TBH.

git history only goes back a week. no other committers. docs are mostly TBD.

to be direct: how long have you been working on it? has anyone reviewed your code? how thoroughly tested is it? did you use LLMs to write it? does anyone use it regularly? etc.

07.01.2026 22:03 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Hold Sam Altman and every one of his execs personally liable for manslaughter.

06.01.2026 00:29 β€” πŸ‘ 38    πŸ” 11    πŸ’¬ 1    πŸ“Œ 0