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”

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”