Doing versus Talking

In On my Return to Blogging post I attributed the fact that I'd taken a break from blogging because I wanted to get out and do things rather than just spend my free time writing and thinking about things. A Critique The problem with this kind of statement is that it evokes a certain kind of anti-intellectualism: thinking isn't as good as doing things, which is counter productive. Actions, creation, feed and grow out of thinking (and vice versa.…

Keep reading

On My Return to Blogging

I've been a blogging slacker in the last few months. I've been working a lot (software releases! content migrations!) and spending my free-time singing and working on a few odds-and-ends projects. And not blogging. But I did this /posts/delegated-builds project and it seemed like blogging about it would be good. And it was... I've had this blog, in one form or another for 10 years, and my relationship to this blog has grown and changed a lot in that time and I don't think it's useful to really think about all the turns too much, but the recent developments are novel:…

Keep reading

Buildcloth Release, No. 1

Today I released the first version of Buildcloth which is a tool that I've been using at work to programatically (and in some cases) dynamically generate build systems (i.e. Makefiles.) Background It's obviously been "production ready" in some sense for a while, but I recently finished the API documentation, and a lot of the infrastructure for packaging and distribution, so it seemed like this was a good starting point. The initial idea was basically that while Make syntax can be really powerful, in a number of situations:…

Keep reading

Delegated Build Questions

This post accumulates what I thought would be the common questions about the /posts/delegated-builds post/tool. For more background see the /posts/build-woes post. Couldn't you just have a separate build-only repository? Sure, but you'd still have to manage that repository which would probably require a non-trivial amount of code and wouldn't support building/testing topic branches. Furthermore unless you linked the build directories in some way, which this solution does, you'd end up chronically overbuilding.…

Keep reading

Build Woes

I thought I'd back up after the /posts/delegated-builds post and expand on the nature of the build engineering problem that I've been dealing with (at my day job) on a documentation related problem. we do roughly continuous deployment. All active development and editing happens in topic branches, and there's no really good reason to leave typos and what not on the site any longer than we need to. we publish and maintain multiple versions of the same resource in parallel, and often backport basic changes to maintenance branches.…

Keep reading

Delegated Builds

Introduction I cooked up something at work that I think is going to be awesome for building the project that I work on a day to day basis. Here's the basic problem, in a different post, I'll expand on these in more depth: we do continuous deployment. we maintain and publish multiple branches. our builds take a non-trivial amount of time (4-6 minutes depending on hardware,) and will continue to get longer.…

Keep reading

git raspberry

This is an awful pun, but I've recently written the following script to help with some of the work of back-porting patch sets to maintenance branches. Basically you pass it a bunch of commit identifiers and it cherry picks them all in order. #!/usr/bin/python import os import sys import subprocess for commit in sys.argv[1:]: with open(os.devnull, "w") as fnull: subprocess.call( ['git', 'cherry-pick', commit ], stdout=fnull, stderr=fnull ) What I'd been doing, previously is assembling commit hashes in an emacs buffer, and then copy-pasting git cherry-pick before each line and then pasting those lines into the shell and hoping nothing goes wrong.…

Keep reading