Advertisement · 728 × 90

Posts by Jay Conrod

Happy early birthday in any case!

1 month ago 1 0 0 0

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.

2 months ago 1 0 0 0

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!

2 months ago 3 0 0 0
Preview
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...

New blog post, with a perhaps mildly unpopular opinion: jayconrod.com/posts/133/in...

3 months ago 29 7 4 1
Lightning-fast BUILD file generation with Gazelle lazy indexing - EngFlow Blog

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...

4 months ago 7 0 0 0

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.

6 months ago 2 0 0 0
Writing Bazel Rules: Module Extensions - EngFlow Blog

Cross-posted on the EngFlow blog: blog.engflow.com/2025/10/14/w...

6 months ago 0 0 0 0
Advertisement
Preview
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.

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...

6 months ago 1 0 2 0

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?

8 months ago 0 0 0 0

Counted 6 cars without lights on the way home tonight. It is the hour of hour lord 8:30pm. Turn your lights on.

9 months ago 0 0 0 0
Preview
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...

Some reflections on professional open source work, first blog post in a while.
jayconrod.com/posts/130/op...

9 months ago 6 1 0 0

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...

2 years ago 0 0 0 0
Photo of a giant snail statue

Photo of a giant snail statue

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.

2 years ago 1 0 0 0
Preview
Still in Use

An xkcd that perfectly describes what it's like to work on a build tool on Windows. xkcd.com/1888/

2 years ago 2 0 0 0

Finally, a day to practice my favorite activity, staring directly at the sun.

2 years ago 0 0 0 0