Thomas Marsh
thomasmarsh.bsky.social
Thomas Marsh
@thomasmarsh.bsky.social
FP, formal methods, urban planning
Nice! I’ve been looking for a recording of her Fantaisie for harpsichord without any luck.
September 13, 2025 at 3:44 PM
What are the contenders you have in mind? What do you see as a good balance between rigorous types and architectural approaches?
September 5, 2025 at 12:59 PM
Not suggesting testing is not needed. We employ unit tests, integration tests, type directed programming, semi formal methods (TLA+), and more rigorous proofs of correctness for specific sub problems. Right tool for the job. But tests are code you have to maintain and slow you down. Types help.
September 5, 2025 at 12:24 PM
I agree it is necessary to always challenge these assumptions. Types feel slower at first, so you have a runtime error/flexibility tradeoff. In my experience types are always worth it. But it took me many years to arrive at that position.
September 5, 2025 at 12:21 PM
These days, I mostly domain model in types and then the architecture and implementation trivially fall out of that, establishing the modularity the author seeks. He gives no methods. And his example ignores the static and dynamic testing rigor IC designers employ due to their lack of type safety.
September 5, 2025 at 12:16 PM
Sure, find good modular boundaries and establish good contracts. If your system is static and very well understood you can build it in assembly if you want and harden it over time. But for anything else, types are the tests you don’t have to write.
September 5, 2025 at 12:09 PM
I’m always skeptical of “just build software better” arguments. There is a spectrum of software correctness, and types are one of the cheapest approaches. The argument falls apart when system boundaries are incorrect and need refactor. The antipatterns mentioned (class hierarchies?) are now rare.
September 5, 2025 at 12:07 PM
You can also just immerse the tube in the source and pinch it or cover one end of the tube with your thumb. Then pull out that end of the tube to a lower height and release your thumb to start the siphon.
August 24, 2025 at 12:29 PM
Is this state machine thinking related to defunctionalization, which takes higher ordered functions (maybe in your type checking implementation) and turns them into state/action applications? Love the visualization!
August 20, 2025 at 4:49 PM
I still have my copy of “Haskell: The Craft of Functional Programming”, which I picked up in the 90s and skimmed briefly. I decided at the time to invest in C++ and focused on good imperative programming until I came back to learn Haskell 18 years later out of curiosity.
August 5, 2025 at 8:41 PM
I can’t remember the last time I was at a house where people kept their shoes on indoors. I think this has changed a lot. Everyone I know takes their shoes off and people almost always ask if they should take their’s off when entering a house.
August 4, 2025 at 9:03 PM
That should say 1600 CE, not 600. This whale effigy seems to be from the Montreal Museum of Fine Arts: www.mbam.qc.ca/en/works/2375/
Whale Effigy
The Montreal Museum of Fine Arts, a bold, innovative and caring museum that is welcoming to all disciplines such as the visual arts, history and science.
www.mbam.qc.ca
July 27, 2025 at 12:32 PM
I just learned enough ocaml to see how verbose the alternative to type classes is using modules and “functors”. Still wrapping my head around modules, but it definitely seems like code smell boilerplate to me. Are there other arguments against type classes?
July 18, 2025 at 8:56 PM
I think the human propensity for pattern recognition was strong, but the timeless way of building was not yet established. GoF started with Volume 2.
July 13, 2025 at 12:08 AM
“Upstate is anything north of 110th St.” is the joke answer.
July 1, 2025 at 8:45 PM
You can also take a train to a beach and swim in the ocean. If you take the Q you get a nice view going over the bridge too. Coney Island is worth a visit. But it’s a ways out there. There are nicer beaches if you take the right A train to the rockaways.
June 25, 2025 at 10:40 PM
Philip Zucker is my Z3 documentation.
June 24, 2025 at 11:32 PM
NYC busses are underrated. The subway is oppressive compared to other city metros.🙁
June 24, 2025 at 8:50 PM
Just Manhattan or are you planning to check out Brooklyn too? Enjoy your visit!
June 24, 2025 at 8:49 PM
Did you by chance run across the linked paper here? I skimmed it, but it seems like a reasonable attempt at teasing out the limits of reasoning with respect to actual reasoning tasks.
If I have time I'll put together a more detailed thread tomorrow, but for now, I think this new paper about limitations of Chain-of-Thought models could be quite important. Worth a look if you're interested in these sorts of things.

ml-site.cdn-apple.com/papers/the-i...
June 11, 2025 at 12:50 AM
Wish I could hear this talk. These bullets don’t make total sense to me. Some are known implementation patterns for feature flags, some suggest “just build it right the first time”, and GoF could mean anything (and is mostly just partial application patterns). Still very curious though
June 5, 2025 at 12:20 AM
Jason Hickle singled out China, not me. But you are right, you have to look at all company investments and holdings globally. Follow the money and only then can you make any claims about which countries hold most responsibility. I do think it is a misguided metric.
May 23, 2025 at 11:11 AM
What is the new Erlang? (Please let it not be Kubernetes orchestration.)
May 23, 2025 at 2:16 AM