#20 - Link Roundup, 12 June 2020
Architecture jams and proposals; anti-racist management processes
Sorry for the late roundup this week - the week kind of got away from me.
But there’s been lots to talk about, so on we go!
Architecture Jams: a Collaborative Way of Designing Software - Gergely Orosz
Proposals and Braintrusts - Nathan Broslawsky
These two articles both describe approaches to usefully open up architectural or other proposals to input from a group. The first, an “Architecture Jam”, is sort of half-brainstorming, half-architectural white boarding session; it can work remotely, but is definitely synchronous. The second is more asynchronous - writing up a proposal, and sending it off to a group of people whose job is, explicitly, to improve the proposal.
Either could work in our context. There are two keys for the architecture jams. First is to have a plausible but ideally (IMHO) unfinished proposal to give the group something concrete to kick off discussion. Second is to facilitate discussion well to make sure people are contributing (some good pointers are here, which is worth reading in its own right).
The more formal proposal and request for comments has the advantage that more of it can be asynchronous; but you’d really need to be sure of the starting point, and to ensure that those entrusted with improvements feel like they can propose significant changes.
Rachel Hands’ article is a nice list of resources and describes the mindset one has to be in to make use of the resources. Given how hard it is to make changes in our organization, we certainly don’t feel like we hold power, but as managers we do.
Chelsea Troy’s article is useful to read with Hands’: it’s easy to think we’re above being racist because we don’t recoil from people with black skin or think in crude stereotypes, but the more collectively damaging consequences come from behaviours and reactions that are more subtle than that.
In academic and adjacent circles, we like to think that we’re above needing such things, but we’re really not. A glance at #BlackInStem is enough to confirm that, but this week we’ve also seen a pretty scathing internal report leak from Oxford about white supremacist bias and a Canadian prof managed to get a pretty racist and sexist article published in a chemistry journal (arguing that diversity of workforce was making Chemistry worse). And tech of course is a dumpster fire. So in academic tech we have some work to do.
Maybe of interest to some here - a Juypter kernel for sqlite.
This twitter thread has a lot of nice responses with templates for project strategy, planning, and roadmap documents.
Moving away from “master/slave” and “whitelist/blacklist” type terms in our projects is a good and useful thing to do. It’s really easy to rename git default branches -
git branch -m master <newname>” and
git push -u origin <newname> is all it takes. And given how many different ways projects use their default branch, the word master doesn’t even mean anything useful. For your project, is it the trunk? production? prerelease? Any of those are better and more informative names.
When I was doing fluid dynamics simulations full time, one of my favourite fun facts was that F1 racing limits the amount of aerodynamic simulations teams can do because too many simulations would be an unfair advantage. Those rules are about to get tighter.
Taichi is a language for fast interactive graphics embedded in Python. The examples are super cool.
A cursed C implementation of tic-tac-toe, with all logic and even input handling in the printf statement.