Ben Segall
banner
bentekkie.com
Ben Segall
@bentekkie.com
Software Developer @google working on build infrastructure
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
May 21, 2025 at 9:17 PM
Similar to the recommendations around generated code, you probably need to check in the compiled libraries :(
January 14, 2025 at 12:44 PM
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.
January 14, 2025 at 12:19 AM
But at the end of the day a build system that has the most complete information about the build will perform better.
January 14, 2025 at 12:19 AM
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 - bazelbuild/reclient
Contribute to bazelbuild/reclient development by creating an account on GitHub.
github.com
January 14, 2025 at 12:19 AM
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
cgo command - cmd/cgo - Go Packages
pkg.go.dev
January 13, 2025 at 11:48 PM
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
January 13, 2025 at 11:03 PM
Comparing the engineering effort of reimplementing correctly is hard to compare against the burden of reviewing third party code is hard
January 13, 2025 at 11:03 PM
I hit this the most when trying to add a `type` field to a struct
January 13, 2025 at 10:48 PM
The only way I have ever got that to work was to use a fully fledged build system like ninja or Bazel
January 13, 2025 at 10:46 PM
Right my question is why can't:
seeker(func(data P) bool { return yield(data) })
Just be:
seeker(yield)
January 10, 2025 at 3:22 AM
Why can't yield be passed directly to the `seeker(...)` calls instead of wrapping in another function?
January 10, 2025 at 2:58 AM
This is a reminder that the only difference between security software and a virus is that you install it on purpose 😂
January 10, 2025 at 2:08 AM