Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
owickstrom
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
8 ms
·
1.
▲
Coding on Paper
(wickstrom.tech)
88 points
by
owickstrom
4mo ago
|
26 comments
2.
▲
Catching Typos on My Website with Browser Testing
(wickstrom.tech)
4 points
by
owickstrom
4mo ago
|
0 comments
3.
▲
by
owickstrom
6mo ago
That sounds like a pretty ideal case for Bombadil. Yeah you can write custom generators for exactly this reason!
4.
▲
by
owickstrom
6mo ago
OK. Yeah so I made the decision early to go one level below Playwright and target CDP directly, because I believe I need the tight connection with Chrome/Chromium to make it as fast as possible. Also I really value the distribution asp
5.
▲
by
owickstrom
6mo ago
Do you mean test runners like JUnit, pytest, etc? Or browser test runners specifically?
6.
▲
by
owickstrom
6mo ago
Thanks! I don't know much about it, but from what I can tell from their site, it does differential testing based on screenshots and behavior, and mocks out network IO, focusing on the client side. I'm not sure what the AI part is,
7.
▲
by
owickstrom
6mo ago
One smartass way to answer that for the general case is: you don't. And I mean that in the same sense as "you don't write example based tests using a PBT framework". You supply independent actions through generators and
8.
▲
by
owickstrom
6mo ago
I'll quote my lobste.rs reply to this question: > I think his jolly chaotic good energy, along with how he's uncorruptible and sort of outside the normal world, fits a fuzzer in a spiritual sense. But it might all just be a goo
9.
▲
by
owickstrom
6mo ago
Cool. Is this publicly available?
10.
▲
by
owickstrom
6mo ago
Go for it! I've been meaning to do an "architecture of Bombadil" blog post that'd likely answer this question. It's not super advanced by any means, but it's a mindset shift to how you might think about browser
11.
▲
by
owickstrom
6mo ago
Yes, and in fact, capturing "prior" values with bindings and closing over them in temporal operator thunks is how you talk about some relation between s and s' in a Bombadil formula (not having that particular syntax though).
12.
▲
by
owickstrom
6mo ago
Hey, yeah, so actions are indeed independent and you can't express fixed sequences of them (e.g. fill out thus form by doing X, then Y, then Z). If you want to enforce certain sequentiality you'd need to precondition your generato
13.
▲
by
owickstrom
6mo ago
Fair enough! I'm probably doing a demo video that'd help with this. Maybe can condense that in text form into the readme as well.
14.
▲
by
owickstrom
6mo ago
Not yet but I definitely will record one soon. I've been working at the debugging UI for Bombadil (some hints at https://x.com/owickstrom/status/2034925537706020978 ) that will make for a nice cohesive demo.
15.
▲
by
owickstrom
6mo ago
Did you have a look at the intro in the manual? https://antithesishq.github.io/bombadil/1-introduction.html If that's not clear, please let me know how we can improve it!
16.
▲
by
owickstrom
6mo ago
Cool. I think that is a very neat way of expressing properties of UIs (and stateful systems more generally) that works out nicely in testing. There are some gotchas related to the finiteness of testing, but it's manageable.
17.
▲
by
owickstrom
6mo ago
Let me know what bugs you find (in Bombadil itself or your next project!)
18.
▲
by
owickstrom
6mo ago
That's true, clean app state gets you far. And that's something I'm going to add to Bombadil once it gets an ability to run many tests (broad exploration, reruns, shrinking), i.e. something in the spec where you can supply re
19.
▲
by
owickstrom
6mo ago
I'd say it does! Bombadil is very new but its predecessor has found complicated and very real bugs in my work projects, and in the paper we wrote about it, we found bugs in more than half of the TodoMVC example apps: https://
20.
▲
by
owickstrom
6mo ago
:) Thank you for trying it!
21.
▲
by
owickstrom
6mo ago
This is a great point. Bombadil _is_ also tied to the DOM much like those tools, but as you focus on providing just a set of generators (which can be largely the defaults already supplied by Bombadil), you get a lot of testing from a small
22.
▲
by
owickstrom
6mo ago
Good feedback! Short answer: a lot of stuff is remaining. It's a very new projects and I've been trying to cover the basics. There's a ton to do around better state space exploration, reporting/debugging (working on this
23.
▲
by
owickstrom
6mo ago
Thanks, glad you like it! Do you mean the temporal logic aspect of it?
24.
▲
by
owickstrom
6mo ago
Sure, server-side or client-side generated UIs tend to have a lot more interesting complexity to test. But I do want to bring up that with the specification language being TypeScript, you can validate some basic properties even for statical
25.
▲
by
owickstrom
6mo ago
OK. What kind of problems do you hit from third-party libraries with that?
26.
▲
by
owickstrom
6mo ago
Interesting. What kind of properties are you checking?
27.
▲
by
owickstrom
6mo ago
Glad you noticed! I've been putting quite some energy into keeping things this way. VERY worth it, IMO.
28.
▲
by
owickstrom
6mo ago
Hey, yeah the default specification includes a set of action generators that are picked from randomly. If you write a custom spec you can define your own action generators and their weights. Rerunning things: nothing built for that yet, but
29.
▲
by
owickstrom
6mo ago
btw, some background on the project: https://wickstrom.tech/2026-01-28-there-and-back-again-from-...
30.
▲
by
owickstrom
6mo ago
Author here, happy to answer questions about Bombadil! :)
More ›