RSSAmplifier

Blog

Shauna's Writing

Writing on governance, technology, science, and more — new posts and past publications in one place.

blog.shaunagm.netRSS feed ↗433 posts

Latest posts

Build-A-Blog

I pulled this blog together with AI. Here's a bit more detail on what that looked like.

Hello Again, World

I have a habit of starting blogs, writing enthusiastically for a few years, and then letting them fade away.

Getting to Know NF-Core (Open Source Project Tours)

Open Source Project Tours are recorded sessions where an open source maintainer functions as a tour guide to their project, showing me the lay of the land…

How to Run a Whole Community Sprint

Most open source project sprints are focused on code contribution. While this makes some sense---open source software is, after all, software---it's also a…

Governance Questionnaire

It can be helpful for communities to take stock of their existing governance now and again, especially if they're facing some kind of major challenge,…

Visibility Spectrum Exercise

Some work within a software project is celebrated. Designing and building a new project from scratch, or adding big features to an existing project, is enjoyable and often prestigious work.

FRAME-ing First Tasks

There are many ways for newcomers to participate in a project, from testing onboarding documentation to reviewing pull requests to showing up to community…

Context-Building Tasks

Many potential contributors have a desire to contribute but lack knowledge about the codebase and the community that would help them contribute effectively.…

Six Ways to Onboard New Contributors

Onboarding new contributors is hard. There's so much they don't know. How is someone supposed to contribute when they don't know the codebase, the project…

Deciding How to Decide

When embarking on a governance transition, projects are often faced with an unexpected question.

Smoke Signals: How to Tell If You're Burning Out in Open Source

While maintaining an open source project can be fun and fulfilling, it can also be very draining. Many maintainers struggle to get the support they need.

"It all goes back to what's best for the community": An interview with Python's Carol Willing

Carol Willing was a crucial part of Python's governance transition from a BDFL model to a Steering Council. She served on the first Steering Council and has…

On Being and Doing in Open Source

Back in the early 2010s, I ran a program called 'Open Source Comes to Campus'. We'd go to college campuses around the country and host day-long workshops…

Psychological Safety: An Exercise

In early 2024, PlasmaPy maintainer Nick Murphy asked me to help facilitate a workshop for their project. This "summer school" would bring together community…

The Privilege of Play

"Move fast and break things" was the internal motto of Facebook up until 2014 they realized, a little belatedly, that perhaps a corporation with worldwide…

Play and Consequences

Imagine a child playing in a sandbox, dreaming up elaborate stories about the castles they've built with their sandbox toys. Now, imagine a group of…

Code as Contestable Law

People tend to think of laws as set in stone, but they're very changeable. They're changeable in at least two ways: the laws themselves can be altered,…

How Feedback Loops and Interpretive Labor Help Us Develop Better Software

Information naturally flows from those who have more power to those who have less. That is, some kinds of information do. Those who study surveillance…

The Politics of Feedback in Software Development

Introduction As we've discussed previously, all systems are built on abstractions, and all abstractions are at least a little bit…

Roadmaps, Surveys, and Community-Led Software Development

Parsons is sending out its yearly community survey, and hosting two community roadmapping sessions. Why? Because people deserve a say in the things that matter to them - including the software libraries they use and the communities they're a part of.

Technology, Constraint, and Control

Technologies are built with a model of the world in mind. A hammer presumes a nail, a screwdriver a screw, and so on. But there is, necessarily, a gap…

Five Reasons People Don't Give Feedback

In my last post, I talked about how all systems have flaws, and how these flaws require interpretive labor to be patched or worked around.

A Guide to Reading API Documentation

a short primer of how APIs and HTTP requests work, along with a detailed walk-through of an actual API's documentation

Interpretive Labor: Bridging the Gap Between Map and Territory

As I've said a few times now, all models are wrong. That includes laws and norms, employee handbooks and product roadmaps.

Whose Context Counts?

I've posted before about why it's important to delegate decisions to the people impacted by…

Mistakes Were Inevitably Made

All models are wrong. Given this, it should be no surprise that humans are constantly messing things up — but that's often a good thing.

All Models Are Wrong (Metaphors for the Insufficiency of Metaphors)

There's a saying: the map is not the territory. Farnham Street Blog has a pretty good explanation of what that means.

Trains, Fruits, and Bombs: A Crash Course in Motivated Reasoning

On Trains My sister is interested in genealogy, and several years ago unearthed a gruesome family story: on June 11th, 1880, my…

In Defense of Conflict and Inefficiency

Few people are happy with the US government these days. Recent Gallup polls show that 71% of people are dissatisfied with how the nation is being governed.

Power and Domination in the National Women's Soccer League

Sometimes, you just want someone to tell you what to do. I feel this way all the time. When I go to the doctor, I want them to tell me how to stay healthy.…

Stakeholder Decision-Making in the Heart of Hierarchy

"Nothing about us without us!" is a rallying cry, a catch-phrase with a clear moral imperative: that those impacted by a decision should be involved in…

All About Authentication

authenticating with Parsons, in theory and practice

Introduction to Python Programming Guide

a gentle introduction to programming using Python

Software Engineering Tips & Tricks

information that may be helpful when working with Parsons or other progressive tools

Engineering and Postmodernism

The following is from my response to a friend’s Facebook post about the value of postmodernism to engineers, and the role that education plays in…

Code as Contestable Law

Last week I gave two short talks as part of the IASC Knowledge Commons conference, one on our ability to contest rules in digital spaces, and another on…

Three Governance Case Studies

One of my communities is choosing a new governance structure, and in preparation for our first conversation on the topic, I wrote up three governance case…

Facebook's Everything Problem

Facebook's 'Oversight Board' recently affirmed Facebook's choice to suspend then-President Donald Trump from its platform the day after the Capitol riots.…

On Digital Disobedience

There’s not enough disobedience online. Yes, that’s right, you heard me: there’s not enough space for disobedience online.

Collective Accountability in Digital Spaces

Note: I recently started writing a newsletter about the intersection of technology and governance,Hello, Governor! I’m still experimenting with format,…

Collective Accountability in Digital Spaces

It can be a struggle to hold groups accountable for misbehavior, even when the group is structured through legal forms, with public membership and clear…

Yo Dawg, I Heard You Like Tech Governance...

... so I put some tech governance controversy on the platform you were using for your tech governance newsletter.

The Federal Trade Commission vs Facebook

Below, I summarize the FTC complaint against Facebook, citing the relevant paragraphs so you can get more detail as needed. This was a useful exercise in…

Hello World

Hello, and welcome to the very first edition of this newsletter!

Wrapping Up (Recurse Day 5)

It’s the last day of my mini-batch, although it’s not my last day at Recurse, since there’s an active alum community I’m eager to be a part of.

Keep It Simple, Shauna (Recurse Day 4)

Today I finally tackled making a code madlibs program.

Macros, Finally (Recurse Day 3)

When we left off, I’d written some rather ugly code that gave us the basic features of a madlibs program without using any macros. But the whole point of…

Simple Code vs Fancy Code (Recurse Day 2)

Building off of yesterday’s work, today my hope was to finish my humble text-focused Madlibs program, so that I could move onto code-focused Madlibs tomorrow.

Recurse Day 1

Day 1 of my Recurse mini batch is complete! I spent a good portion of it meeting people and learning about the community, but I did also make some small…

My Plans for Recurse

Next week I’ll be doing a mini-batch at Recurse. I’m planning to blog about it each day, and I figured I’d start by laying out my plans for the week.