By default, Bazel tries not to include anything about the system state in build outputs. However, released binaries and libraries often want to include something like the version they were built at or the branch or tag they came from. To reconcile this, Bazel has an option called the workspace status command. This command isContinue reading “Stamping your builds”
Author Archives: kchodorow
Using secrets with Google AppEngine
For side project #4323194 (implement a chrome extension that looks like this: 👂 and turns red when someone mentions you on GitHub), I needed to implement oauth from AppEngine to GitHub. As I’ve mentioned before, oauth is my nemesis, but for this project there didn’t seem to be a great way around it. It actuallyContinue reading “Using secrets with Google AppEngine”
Low-fat Skylark rules – saving memory with depsets
In my previous post on aspects, I used a Bazel aspect to generate a simple Makefile for a project. In particular, I passed a list of .o files up the tree like so: dotos = [ctx.label.name + “.o”] for dep in ctx.rule.attr.deps: # Create a new array by concatenating this .o with all previous .o’s.Continue reading “Low-fat Skylark rules – saving memory with depsets”
9 years of blogging have totally been worth it
Worth of Web is kind of a neat site: Oh well. It’s been worth it to me.
Aspects: the fan-fic of build rules
Aspects are a feature of Bazel that are basically like fan-fic, if build rules were stories: aspects let you add features that require intimate knowledge of the build graph, but that that the rule maintainer would never want to add. For example, let’s say we want to be able to generate Makefiles from a BazelContinue reading “Aspects: the fan-fic of build rules”
That’s senior programmer to you, buddy
After about a decade of professional programming, I have finally gotten promoted. For the first time. This is a weird industry. Regardless, I am now a “Senior Software Engineer.” Woo! Thinking about it, this has been a goal of mine for a long time. Now that I’ve achieved it, I’m not sure what’s next. “…andContinue reading “That’s senior programmer to you, buddy”
The Haunted Homesteader
Andrew and I have always loved old places. Optimally, we’d like to live in a wizard’s tower on top of a mountain. However, we’d be willing to settle for a castle with a thousand acres of land. More realistically, we’d like an old place with a couple of acres. That you can reach without aContinue reading “The Haunted Homesteader”
Recruiting review
Just got this message from a recruiter: I know I recently reached out to you, but seriously, you’re the cat’s meow and I can see you being the perfect fit for [company]. Your current experience at Google is spot on with what our Talent Team is looking for. [Description of company] If I am wayContinue reading “Recruiting review”
Using AutoValue with Bazel
AutoValue is a really handy library to eliminate boilerplate in your Java code. Basically, if you have a “plain old Java object” with some fields, there are all sorts of things you need to do to make it work “good,” e.g., implement equals and hashCode to use it in collections, make all of its fieldsContinue reading “Using AutoValue with Bazel”
You do you
I’m a little tired and depressed this week. However, this was a very inspiring speech Neil Gaiman gave to new grads of an art school: Neil Gaiman Addresses the University of the Arts Class of 2012 from The University of the Arts (Phl) on Vimeo. I think that his point about doing what you love,Continue reading “You do you”