James Dawson Brock
jamesbrock.bsky.social
James Dawson Brock
@jamesbrock.bsky.social
Pure functional programming, Haskell, PureScript, Nix.

Vermont provenance, Yokohama residence.

https://github.com/jamesdbrock
https://twitter.com/jamesdbrock
Pinned
“This talk opened up connections for me. It both taught me more than any talk I’ve consumed for the past year and confirmed the many monadic functionality that I naively thought I invented” — demesisx in the comments

www.youtube.com/watch?v=LLkb...
Monadic Parsers at the Input Boundary
When reading a byte stream over the process I/O boundary, the first thing which everyone should do is to parse the byte stream with a monadic parser.The talk...
www.youtube.com
Reposted by James Dawson Brock
Nicholas is one of the best engineers I've ever worked with and y'all should be racing to hire him if you can.
July 19, 2025 at 5:52 AM
The Big OOPs: Anatomy of a Thirty-five-year Mistake by @cmuratori.bsky.social

youtu.be/wo84LFzx5nI
Casey Muratori – The Big OOPs: Anatomy of a Thirty-five-year Mistake – BSC 2025
YouTube video by Better Software Conference
youtu.be
July 19, 2025 at 5:59 AM
It Would Be Good if the AI Bubble Burst by Stephen Diehl

www.stephendiehl.com/posts/ai_bub...
It Would Be Good if the AI Bubble Burst
Personal Blog
www.stephendiehl.com
July 19, 2025 at 5:50 AM
Learn You a Haskell for Great Good! Jupyter adaptation now has a one-line zero-install shell command which works on any computer that has the #NixOS package manager:

nix run github:IHaskell/learn-you-a-haskell-notebook

For more information see github.com/IHaskell/lea...
GitHub - IHaskell/learn-you-a-haskell-notebook: Jupyter adaptation of Learn You a Haskell for Great Good!
Jupyter adaptation of Learn You a Haskell for Great Good! - IHaskell/learn-you-a-haskell-notebook
github.com
May 8, 2025 at 5:35 AM
Reposted by James Dawson Brock
If you are curious about Haskell or wanting to start using functional programming to build real applications, this is a great chance to save some money on Effective Haskell and other great functional programming books.
November 28, 2024 at 8:08 PM
In the 2010s there were still a lot of programmers insisting that typechecking wasn't necessary but then TypeScript and Pyright were universally adopted and those people mostly shut up.
November 25, 2024 at 7:41 AM
Reposted by James Dawson Brock
The SDLC is an awful model for how people program and an even worse model for how people *should* program—at best, it's a model for how people *imagine* programming.

Unfortunately, it seems to be taught and taken as a fact in the industry :(
November 24, 2024 at 7:43 AM
A Character-Driven Monad Tutorial with a Three-Act Structure

Act I Inciting Incident

In 1966, the great computer scientist Peter Landin decided that the good part of computer programming was the expressions, and the bad part was the statements.
November 23, 2024 at 4:17 PM
Why isn't Functional Programming the Norm?
By @rtfeldman.bsky.social
youtu.be/QyJZzq0v7Z4
Why Isn't Functional Programming the Norm? – Richard Feldman
YouTube video by Metosin
youtu.be
November 16, 2024 at 1:42 PM
You wanted a banana but what you got was a banana in the computational context of a Gorilla Jungle monad transformer stack.
November 16, 2024 at 1:35 PM
Reposted by James Dawson Brock
Once upon a time I wrote about recursion

c8998d8f.purefunctor.pages.dev/fear-not-rec...
Fear Not Recursion
c8998d8f.purefunctor.pages.dev
October 29, 2024 at 2:09 PM
At work I was asked how to avoid “copy-and-paste” across different GUI projects.

My advice: copy-and-paste is good.

“duplication is cheaper than the wrong abstraction”
sandimetz.com/blog/2016/1/...

“when structuring (Model-View-Update) apps, Do Not Plan Ahead.”
guide.elm-lang.org/webapps/stru...
The Wrong Abstraction — Sandi Metz
I've been thinking about the consequences of the "wrong abstraction."  My RailsConf 2014 "all the little things" talk included a section where I asserted: > duplication is far cheaper than th...
sandimetz.com
October 29, 2024 at 1:12 AM
Reposted by James Dawson Brock
An unexpected discovery: Automated reasoning often makes systems more efficient and easier to maintain. ~ Byron Cook. aws.amazon.com/es/blogs/sec... #ITP
An unexpected discovery: Automated reasoning often makes systems more efficient and easier to maintain | Amazon Web Services
During a recent visit to the Defense Advanced Research Projects Agency (DARPA), I mentioned a trend that piqued their interest: Over the last 10 years of applying automated reasoning at Amazon Web Ser...
aws.amazon.com
October 22, 2024 at 6:45 AM
Edifice is like React, but with Python instead of JavaScript, and Qt Widgets instead of the HTML DOM.

Edifice has function Components, Props, and Hooks just like React.

The best way to put a native GUI on a useful Python library.

github.com/pyedifice/py...
GitHub - pyedifice/pyedifice: Declarative GUI framework for Python and Qt
Declarative GUI framework for Python and Qt. Contribute to pyedifice/pyedifice development by creating an account on GitHub.
github.com
October 18, 2024 at 4:38 PM
Design patterns every programmer should learn in the 21st century:

1. Associativity
2. Currying
3. Sum types / Product types
4. Fold / Map
5. Passing functions as arguments
6. Immutable data structures
October 18, 2024 at 4:34 PM
Reposted by James Dawson Brock
Hey bksy, I write books about science for middle and high school readers (and adults)! Got a fledgling human who's interested in the universe? Cloning dinosaurs? The space race? Chucking things? I've got you covered! Self-promotion is awkward so I'll disappear back into the bushes now...
September 23, 2023 at 12:08 AM
“President Kennedy looked out to the world leaders and said; Fellow citizens of the world, let us take our stand, at this time, and in this place, to see if we can help move the world toward peace. And of course, he did. And then was killed a few weeks later.”

www.youtube.com/watch?v=tLwu...
Jeffrey Sachs on President Kennedy’s Vision of Peace — How It Applies Today
Saturday June 10, 2023 is the 60th Anniversary of President Kennedy’s American University speech on world peace.The JFK Peace Speech Committee is sponsoring ...
www.youtube.com
September 7, 2023 at 2:21 PM
“This talk opened up connections for me. It both taught me more than any talk I’ve consumed for the past year and confirmed the many monadic functionality that I naively thought I invented” — demesisx in the comments

www.youtube.com/watch?v=LLkb...
Monadic Parsers at the Input Boundary
When reading a byte stream over the process I/O boundary, the first thing which everyone should do is to parse the byte stream with a monadic parser.The talk...
www.youtube.com
September 6, 2023 at 4:18 PM