Sign in

Jay Conrod

@jayconrod.com
111 followers 63 following 15 posts

Computer tamer. Beach person. Works on distributed build tools. Likes your cat pictures.

PostsRepliesMedia
Jay Conrod @jayconrod.com · 08/03/2026
Happy early birthday in any case!
010
Jay Conrod @jayconrod.com · 17/01/2026
People rarely agree on definitions, I’m not going to argue that. My point is only that time is better spent testing a large chunk of an app via public interfaces, and that building a framework to make that fast and easy is worth the effort.
010
Jay Conrod @jayconrod.com · 17/01/2026
Oh I’m glad! I really just wanted to write about the script tests so I could justify building similar things in other projects. Realized I had to say some things first though!
030
Jay Conrod @jayconrod.com · 15/01/2026
New blog post, with a perhaps mildly unpopular opinion: jayconrod.com/posts/133/in...
jayconrod.com
Integration tests are best tests
Itegration tests are the most important kind of tests. You should strive for excellent integration test coverage and invest relatively little time in unit tests. I've believed this since I worked on c...
4317
Jay Conrod @jayconrod.com · 25/11/2025
I spoke at BazelCon! If you missed it, the slides and transcript are up on the EngFlow blog. The recording on YouTube is linked from there too. blog.engflow.com/2025/11/25/l...
blog.engflow.com
Lightning-fast BUILD file generation with Gazelle lazy indexing - EngFlow Blog
080
Jay Conrod @jayconrod.com · 15/10/2025
I believe the module extension writes the results to the lock file and afterward only gets reevaluated if its inputs change. So certainly not for every build. All the more reason to commit the lock file. The normal rules apply for repo rules.
020
Jay Conrod @jayconrod.com · 14/10/2025
Cross-posted on the EngFlow blog: blog.engflow.com/2025/10/14/w...
blog.engflow.com
Writing Bazel Rules: Module Extensions - EngFlow Blog
000
Jay Conrod @jayconrod.com · 14/10/2025
The first new entry in this series in six years! Today we're learning how to write a Bazel module extension. jayconrod.com/posts/131/wr...
jayconrod.com
Writing Bazel rules: module extensions
The biggest Bazel change in the last few years was the introduction of modules (also known as Bzlmod). Today we'll explore how to write a module extension, and why you'd want to do so.
210
Jay Conrod @jayconrod.com · 25/07/2025
Someone told me they got better results from an LLM code generator if they used ALL CAPS in the prompt. I wonder if it produces even better results if you swear at it. Could effective use of profanity really be what distinguishes a good senior engineer?
000
Jay Conrod @jayconrod.com · 08/07/2025
Counted 6 cars without lights on the way home tonight. It is the hour of hour lord 8:30pm. Turn your lights on.
000
Jay Conrod @jayconrod.com · 24/06/2025
Some reflections on professional open source work, first blog post in a while. jayconrod.com/posts/130/op...
jayconrod.com
Open source is like a second job
When I started working as a software engineer, I really wanted to work full time in open source. I've been lucky enough to spend a decent chunk of my career doing exactly that. Much of that work has b...
061
Jay Conrod @jayconrod.com · 02/11/2023
Tinkering on a side project while on PTO this week. Wanted to share a clever little parser trick borrowed from the Bazel tools. jayconrod.com/posts/129/pr...
000
Jay Conrod @jayconrod.com · 27/10/2023
Heading back to the beach after a week in Munich at BazelCon. Had a great time, but I’m kind of looking forward to eating some vegetables again.
Photo of a giant snail statue
010
Jay Conrod @jayconrod.com · 17/10/2023
An xkcd that perfectly describes what it's like to work on a build tool on Windows. xkcd.com/1888/
xkcd.com
Still in Use
020
Jay Conrod @jayconrod.com · 14/10/2023
Finally, a day to practice my favorite activity, staring directly at the sun.
000