Sign in

Ben Segall

@bentekkie.com
6 followers 4 following 19 posts

Software Developer @google working on build infrastructure

PostsRepliesMedia
Ben Segall @bentekkie.com · 21/05/2025
In the example on the repo I have gemini generate a terminal snake game and have bazel treat the output as a python binary. This can have no negative security implications /s
000
Ben Segall @bentekkie.com · 21/05/2025
Making Bazel non-deterministic again In the spirit of the Gemini era, we find ourselves in I have made the perfect Bazel ruleset to take advantage of this in our builds. rules_gemini allows you to prompt gemini as a step in your build. See github.com/bentekkie/ru.... Use at your own risk!
github.com
GitHub - bentekkie/rules_gemini
Contribute to bentekkie/rules_gemini development by creating an account on GitHub.
100
Ben Segall @bentekkie.com · 14/01/2025
Similar to the recommendations around generated code, you probably need to check in the compiled libraries :(
100
Ben Segall @bentekkie.com · 14/01/2025
As an example look at how bazel compiles go. Instead of using `go build` for a full project it compiles each package separately into `.a` files and calls the internal go linker directly. This allows for much better cache hit rates than if the native tooling was used.
000
Ben Segall @bentekkie.com · 14/01/2025
But at the end of the day a build system that has the most complete information about the build will perform better.
100
Ben Segall @bentekkie.com · 14/01/2025
I think ninja and cmake fill that gap. You can add a caching layer like ccache, or (shameless self plug) github.com/bazelbuild/r....
github.com
GitHub - bazelbuild/reclient
Contribute to bazelbuild/reclient development by creating an account on GitHub.
100
Ben Segall @bentekkie.com · 13/01/2025
If you are linking against the c code using cgo then you usually can have the go compiler compile the code with gcc, in that way it should work with go get I think pkg.go.dev/cmd/cgo
pkg.go.dev
cgo command - cmd/cgo - Go Packages
100
Ben Segall @bentekkie.com · 13/01/2025
We implicitly trust code written by us more than others and it's hard to separate real criticism of third party code from ego based criticism
000
Ben Segall @bentekkie.com · 13/01/2025
Comparing the engineering effort of reimplementing correctly is hard to compare against the burden of reviewing third party code is hard
100
Ben Segall @bentekkie.com · 13/01/2025
The "not built here" bias is real and hard to correct for IMO. I am running into it right now at work and just wanted to expand on a few of the reasons I think it is such a hard bias to correct for. I don't have solutions, only observations. Any suggestions are welcome. #swe #softwaredev #coding
100
Ben Segall @bentekkie.com · 13/01/2025
I hit this the most when trying to add a `type` field to a struct
100
Ben Segall @bentekkie.com · 13/01/2025
The only way I have ever got that to work was to use a fully fledged build system like ninja or Bazel
100
Ben Segall @bentekkie.com · 10/01/2025
Right my question is why can't: seeker(func(data P) bool { return yield(data) }) Just be: seeker(yield)
100
Ben Segall @bentekkie.com · 10/01/2025
Why can't yield be passed directly to the `seeker(...)` calls instead of wrapping in another function?
100
Ben Segall @bentekkie.com · 10/01/2025
This is a reminder that the only difference between security software and a virus is that you install it on purpose 😂
110
Ben Segall @bentekkie.com · 10/01/2025
Today's coding frustration: The AI code review comment gas lit me into thinking I missed copying one of my struct fields. Turns out the field did not exist and it just made it up. #coding #ai
000
Ben Segall @bentekkie.com · 10/01/2025
I will probably use this as a place to shout my coding frustrations into the void
010
Ben Segall @bentekkie.com · 09/01/2025
Another test
000
Ben Segall @bentekkie.com · 09/01/2025
Test post
000