Cogito, Ergo Sumana

picture of Sumana's head

Sumana Harihareswara's journal


: Availability This Week: Heads-up about availability: I'm attempting to take this week (Sept 21-25) off from client/Changeset work, doing lots of biking and reading and writing. Letting you know in case you email me about anything.

Filed under:


: Some Followups From LibrePlanet 2017: I see that back in March 2017, I made a draft of some followup notes for my LibrePlanet 2017 keynote "Lessons, Myths, and Lenses: What I Wish I'd Known in 1998" (schedule description, video, in-progress transcript). I'm going to barely annotate/format this and post it as more of a found artifact and less of a designed communications instrument.

Wampanoag people

The Infinite Wrench

Mel Chua, Alex Bayley, Ashe Dryden, Christie Koehler

Open Source Bridge 2012

Kevin Gorman & Chip Deubner

Geek Feminism

Hans Reiser

Jupyter, Library Simplified, Zulip & zulipbot & good code review, Software Carpentry (save a day of work a week for the rest of their working lives), Dreamwidth and dw-dev, Beautiful Soup, Archive of Our Own, GNU Mailman and what's new in Mailman 3

Seth Schoen

Yudhisthira

Joseph Reagle

Kannada

Vajra Chandrasekera


: Guitars And Rock Climbing, But As Analogies For Less Glamorous And Immediately Appealing Actitivies: I was explaining to a friend a few days ago the thing I mention in my RC & MetaFilter post, about how I'm trying to avoid saying "community" when I might mean "constituency" or "group" or similar. And perhaps we should say "society" sometimes -- a group that shares some norms and heritage and places to talk with each other, but doesn't necessarily take responsibility for anything. And how the phrase "the open source community" is laughable.

But wait, they said, noting that in open source everyone has to operate by some shared rules, right?

Well, kinda, yes, I said, in that everyone's working with openly available code that's under an OSI-approved license. But they're in such different situations, and paid vs. unpaid is just part of it! Think about people who play the guitar. A rock star, a session musician, a music teacher, a member of a garage band, someone putting videos on YouTube as a kind of audition for stardom, a beginning student .... they all might be playing the same sheet music or tab, but they're really doing different things.

[The field guide to open source project archetypes that Open Tech Strategies and Mozilla are developing (PDF of the first edition) is an excellent framework for thinking about these different situations and how they structure open source projects' capabilities, who's in charge, and what you can expect.]

Then, yesterday, I was reading, then skimming, a deeeeeeeply domain-specific, detail-heavy blog post about how to implement something of particular interest to the author. And at the end, of course, they say that they're starting an open-source implementation, a prototype. And I felt as though I could see into the future -- this person creating a bit of an application, other people loving it, the project growing in popularity and importance to others, the creator wanting to step away and explore other stuff. And there the timeline fractures, depending on whether anyone took steps to get it under someone else's care, get a company to steward it or grow a vibrant collective around it.

There are a bunch of developers who want to do hard things the same way that mountain climbers want to climb hard mountains. And as a side effect of this sometimes they emit some open source artifacts, as pitons sunk into the mountainside, and if you want to follow the way they went, very closely, you can reuse those pitons. Which is great and useful.

But that is only a first step towards infrastructure -- towards robust, comfortable, safe, scalable systems. And I am the millionth person to complain on her blog about the asymmetry and fragility and just inherent ridiculousness of how much really important, widely-depended-on infrastructure in our industry is basically "reuse the leftover pitons from past explorers". But it is still complainworthy. I hereby complain. Complain! And there's a reason so many of us are doing things about it (as in my case recently and for the last five years).


(1) : I Miss You, Friends And Strangers: I met you in a storytelling workshop taught by someone later discredited.

I met you in the front-row fandom for a now-defunct sketch comedy troupe.

I met you at a women's networking event where you were the only person I talked with who wasn't tedious.

I met you -- you remember that it was a Redditors' meetup, but it must have been cross-pollinated with something else, maybe a scifi thing?

I met you through work -- we were remote colleagues who saw each other several times a year, and then you moved to New York.

I met you through a meditation workshop you led.

I found your blog through a link from a friend, then met you at a scifi thing, maybe a Tor.com party or a Cory Doctorow reading.

You, I first met at a Tor.com party, I'm sure.

I met you at WisCon.

I met you through a friend I went to middle school with.

I met you when a colleague let me regularly cowork at the nonprofit where he and you worked.

I met you when we were at Recurse Center together.

We probably first met at an Electronic Frontier Foundation thing, maybe here, maybe in San Francisco.

I met you through your girlfriend, now wife.

I can't quite remember how we first met because we're connected in a few ways.

We met on the MTA when one of us recognized the other's stickers/t-shirt.

I met you through someone I met at WisCon.

I met you through Leonard's writing group.

I met you because we volunteer on Python packaging tools together.

I met you at the now-ended Open Source Bridge conferences.

I met you in a local political activism group.

I think I met you in a friend's storyreading circle.

I met you through fandom on Dreamwidth, and then invited you to a meal.

I met you through fandom on Dreamwidth, and then you recognized me at an N.K. Jemisin reading.

I met you at PyCon or Open Source Bridge, I think.

I met you through a Wikimedian friend.

I met you when we were undergraduate students together, twenty years ago.

I met you through the business you run.

I met you through the nonprofit you ran.

I met you through the ex you're now estranged from.

And so on.*

I have lived in New York City for ~15 years, and over that time I've grown several local friendships, some lighter and some stronger. I miss seeing you.

I was a kind of isolated teenager who had very few friends. I'll amend that. When I was in high school, I had one friend at the "talk on the phone about something other than homework" level. I invited people to come see a movie with me** for a birthday and no one came.

Over the decades since, I've become much more accustomed to making, having, and regularly seeing friends. In a September week last year I had breakfast with one friend and lunches with two friends, not counting the folks I saw at various clubs, groups, and events.

Every few weeks I contact some friends and arrange phone or videocalls. Some of you I haven't talked with in way too long and we're more acquaintances now. And I talk with people in other places a lot -- I have friends spread out so far. If my New York-area friends may as well be in other countries, a friend in Asheville may as well be in another solar system, for how impossible it feels to imagine that we'll see each other again.

For the past few months, my friend Mike Pirnat DJed a radio show on his old college radio station. His usual outro is Vera Lynn's "We'll Meet Again" (don't know where, don't know when). I've listened to it dozens of times now and only today am I realizing how I could read it as not descriptive but prescriptive.

Right now I am doggy-paddling to keep myself above water, and part of that is keeping up with the friends I have made, especially the local friends. But someday I want to meet a stranger and make friends with them again. That's a vision to look forward to.


* Sorry if I missed you - I'm sure that as soon as I hit Post I'll think of three more to add, and then three more....

**In retrospect, Beyond Rangoon was not the most appealing selection for most teens.

Filed under:


: Cool Music Rec: Abundance: Last year, via a BBC Gaelic and Celtic music show, I discovered a rockin' instrumental tune with horns and strings. It is so rockin' that I wanted to know more! Despite not knowing Scottish Gaelic, I worked out that the song's "The Kelburn Brewer", and is a collaboration involving Natalie Haas and Alasdair Fraser and closes their CD "Abundance". Here's "The Kelburn Brewer" as a YouTube track. Gets going around 0:34, then picks up further about a minute in, then increases its jammin'-ness as it goes. Enjoy! You can also buy "Abundance" as unencumbered MP3s and I recommend this because you get a bunch of cheery instrumental music by indie artists on an indie label! And the instruments include kalimba! I had never heard of kalimba before!


: Breaking Release Bottlenecks -- What Changeset Can Do: I did some volunteer work earlier this year, helping rejuvenate pipenv (a command-line tool that some people use to help handle Python packages they make and use). Here's what I did, how long it took, and how you can do the same.

Pipenv's maintainers had not released a new version since November 2018, and users were concerned (in many cases switching to competitors). In early March of this year, someone suggested that perhaps the official Python Packaging User Guide should stop recommending it. I saw that suggestion and went into the relevant Internet Relay Chat (IRC) channel to nudge one of pipenv's maintainers and to ask: what do you need? What's blocking you?

Dan Ryan ("techalchemy") knew what was blocking him:

techalchemy: if you're purely evaluating 'how do we release the code', yeah I might just be the main roadblock?
techalchemy: someone to yell at me to stop doing things that are not related to the goal?
techalchemy: lol
sumanah: let us assume that a successful release -- even as a pre-alpha -- is something that does not instantly break every user's life
techalchemy: yeah longer term planning though would require tech writing for sure and onboarding help, god do I struggle with that
techalchemy: have you heard me explain something...
sumanah: if you JUST want someone to yell at you to stop doing those unrelated things, just for about a month, then that can be cheaper .... would you actually _listen_ to that person?
techalchemy: historically speaking, I'd insist I was doing something important briefly but probably reassess, I do know what needs to happen
sumanah: :-) ok. So, how frequently do you need those checkins? like, 4 times a day, 5 days a week?
techalchemy: hopefully not that much, but I could see a few checkins being helpful especially if we were also onboarding some new people
sumanah: techalchemy: ~10 minutes of conversation, via IRC, 4 times a day, 5 days a week, for 3 weeks....

That would have worked out to about ten hours. We underestimated how long it would take Dan to address some nasty continuous integration bugs, so instead of three weeks it took three months. Over those months, I donated about 15 hours of my time, helping him release two betas, then a stable version in May. Given my current hourly rates, this constitutes a donation worth a few thousand dollars, which is infinitesimal compared to the value unlocked by expediting a pipenv release.

Dan needed someone to help him with prioritization, release management, and communications. So I:

Phil Gyford noticed that initial IRC conversation and said:

It's kind of fascinating as an example of bottlenecks in open source development and the importance of project managers.

And Yoz Grahame replied:

I regularly have conversations like this, and it's a toss-up as to which of the two roles I play.

Yeah. An external perspective can help a lot. And, ideally, a project manager is a supportive accountability partner who helps with the bits you're not great at.

If you/your company depends on an open source project and you're getting annoyed or worried because the release cadence has slowed to a standstill, there's a strong chance you can turn that around. If someone on your team can spend a few hours complementing the existing maintainers and helping unblock them, that could save you a bundle compared to forking or switching dependencies. Try talking with the maintainers about what they need. And I do mean talking, as in, synchronous conversation via voice or chat, so you can build some trust and get the kind of conversation you see in the IRC log above.

Or: contact Changeset Consulting for a free initial 30-minute chat. Maybe it'll only cost you a few thousand dollars to get that bottleneck unblocked. Let's find out!


: Making Groups, Leading Them, Treating Others Well: Some writing I've appreciated in the past year, on leadership, and on understanding others and treating them well:

synecdochic's "dreamwidth as vindication of a few cherished theories":

His decision to take energy away from his marathon coding sessions and put it into creating a positive and collaborative environment is a major reason why DW development is what it is today, and it was more than worth the extra few weeks' delay in going from closed beta to open beta.

"The Spy Who Came Home: Why an expert in counterterrorism became a beat cop" by Ben Taub:

Espionage hinges on human relationships. "The best assets I ever ran weren't in it for money," Skinner said. "They had this urge to be part of something bigger. It wasn't patriotism -- they just wanted to be part of a high-functioning team.”

Mary Anne Mohanraj's acceptance speech for her Locus Special Award for Community Outreach & Development:

So we saw a need, we came together with a group of friends and like-minded folks we gathered on the internet, and we made a thing to fix it. One of the best aspects of our genre is that it is full of such people and the organizations they’ve built.

Ada Palmer's "A Better Way of Understanding the Debate Over Free Speech on Campus":

In the nationwide debate over campus free speech, a lot of apparent disagreement derives from failing to separate the objects of study, and the habitat where study takes place.....the conditions needed to cultivate hard thought and judgment are not the same for all students...

"Doing ethical research with vulnerable users" by Bernard Tyers shares moving stories of talking with compulsive gamblers (some of whom did not know they were compulsive gamblers at the start of their conversations).

Fred Clark, Slacktivist, writes about how to deal with the dishonest weights of post-transaction surveys in "All fives (ready or not, here I come)". "You are asked questions in a language of lies and are thus forced to respond in kind."

And I deeply appreciated this essay on categories, pain, and an approach to getting better at treating others well. (This is a religious sermon that focuses on humility/love/empathy; feel free to skip, of course.) "'You're not a thing at all,' or 'The political implications of Dunbar's Number.'" is a sermon that Doug Muder (the Weekly Sift guy) presented on May 12, 2019. It's about cooperation, stories, parts we play and expect, Tolstoy, Disney, gender, inadequate and obsolete scripts, and the ideal of the perfect rulebook. Also discussed on MetaFilter.

"We want to belong, but we also want to be individuals .... I think we need to recognize that no matter how necessary it might be to simplify our experience somehow, there's always going to be an injustice in putting people into categories and dealing with them through roles and scripts. That's an injustice that we both suffer and inflict on others."

I also liked the phrase "to come into right relationship with our own pain".


: On Accepting Nonzero Criticism, Even Hate: I'm thinking about how acceptance is not the same as resignation.

I was talking with a friend many, many months ago, and race stuff came up. He and I talked about a shared experience of talking to a stranger who has a marginalized identity, and having an anxious "don't [screw] this up, don't [screw] this up" voice in the back of one's head during the interaction. And one thing he said was that he doesn't want anyone to hate him.

And I found myself articulating something that I don't know whether I had before, which is: the optimal number of people who hate you is not zero, and if you aim for zero, you will never have that expectation met.

There will be good and bad things that happen to you that you do not in any way deserve (and "deserve" is a pretty dangerous word to let oneself use anyway along with "somehow" and "normal"). And so, sometimes, other people will be angry at you or hate you, and sometimes it's because of a specific thing you did, or because of your inherited unearned privilege or your position of power in an organization, and sometimes it's kind of out of nowhere because people get mad sometimes.

I think I have to be okay with the fact that, out of the 8 billion people on Earth, some of them kind of hate me. And then if I run into it, it's not a catastrophic surprise. It feels bad but I can have a bit of a windshield about it so the mud doesn't all get right on my face. As of a couple years ago, the place I ran into this the most was when I was called on my own cissexism or I saw "all cis people" complaints/generalizations -- the first time, it felt awful, and as of about a year ago, it just felt a little bad, mostly. As of right now, I think I'm most thin-skinned about whether or not I am doing okay at my job. Next year it'll be something else.

This kinda comes back to: you can only control what you can control. My friend and I can aim to live our values and to consider criticism we receive, and to deal with the unfair criticism the way we deal with any other unfair bad thing that happens to us, and to bask in and enjoy good things and share them with others.

And this is one reason it's useful to celebrate those small invisible wins, including "I refrained from saying something unnecessarily inflammatory" or "I quietly got a job description changed", because then you have a bit more evidence that can help you deal with the "oh no what if there is someone out there who can't tell that I am Trying" anxiety. This is, I think, especially pertinent now, during the pandemic, when more of us are cut off from talking in person, so it's harder to get those little reassurances that we are liked, valued. (This also applies to a lot of wanting-to-be-liked-as-a-manager/vendor/client stuff I see or engage in.)

I don't have a quantified error budget for this kind of error and I'm not sure it makes sense to. But, like Amandine Lee, I want to fine-tune my fear response so that it serves me better, and part of that is accepting that nonzero rate of criticism.

That acceptance can be used as cover for entirely disregarding pushback -- a purity binary, a false dichotomy. I don't want to do that. Acceptance is not the same as resignation. I want to instead believe, and act as though, the error rate is nonzero, and will always be nonzero, but I can push to drive it asymptotically closer to zero.

But also I am kind of okay with the fact that, even on a day when I've lived my values, someone may hate me, and may lob an unfair criticism at me. Not all the way okay. But kind of okay with it, and aiming to be more okay with it.

Which for me is all tied up with, like, self-trust, emotional security, and a belief in the idea that I am fundamentally okay and can also change my mind about things in the future, that there is going to be a future, and so on. And that since I believe in, to quote the Unitarian Universalist principles, "the inherent worth and dignity of every person" .... that includes me, now and after I learn whatever I learn next.

Filed under:


: Remedial Skills In Open-To-The-Public Working Groups:

I'm talking in this post about wikis, political clubs, open source projects, fanvidding exchanges -- any groups where people try to work together and are open to the public.

"No, what's that?"

Some people joining your groups don't know things you take for granted.

Years ago, while helping new applicants to Google Summer of Code get into working on (I think) MediaWiki or Zulip, I was talking with a person who was (at that time) a student in an Indian engineering college. He had run into trouble and was trying to debug a setup issue. He seemed to be asking for help but not systematically investigating what the problem might be.

So I said, let me give you some tips on troubleshooting. You've heard of the scientific method?

He said: no, what's that?

I gave him a link to the Simple English Wikipedia article on it -- and to the They Might Be Giants video for their song "Put It To The Test", on forming falsifiable hypotheses and testing them. I asked him to watch and read them and then tell me when he had done so. He did.

They Might Be Giants - Put It to the Test from They Might Be Giants on Vimeo.

I then said: so, you do that. You come up with a hypothesis for what might be the problem, and figure out how you would check to see if that is the case. You run the experiment, and you use the resulting data to refine your hypothesis -- if you're wrong, you try to come up with a new hypothesis. And then you either find and fix the problem, or if you get stuck, you at least have a bunch of data to give someone so they can help you better.

He said: THIS IS AMAZING! I'M GONNA USE THIS ALL THE TIME! And I was like IT IS! And then in a separate private conversation with colleagues, I was privately very angry with the educational system that had let him get that far without teaching him this!

[This is one of the experiences that led to me writing a fairly well-regarded blog post for new open source software contributors, on the scientific method, learning from and contributing to shared notes and logs, and self-reliance and interdependence.]

Lessons

Some lessons here for you:

  1. Don't act surprised when people say they don't know something. Because (as I said a few years back) that’s just a dominance display. That's grandstanding. That makes the other person feel a little bit bad and makes them less likely to show you vulnerability in the future. It makes them more likely to go off and surround themselves in a protective shell of seeming knowledge before ever contacting you again.
  2. Some gaps you can remediate. Sometimes it's as quick as the explanation and links I used above. Sometimes it's more involved, as with providing free English tutoring to your internship applicants. Sometimes remediation takes a lot more work, and you may not have time to provide it; see my suggestions in "How to Teach And Include Volunteers who Write Poor Patches" which include some lower-effort options, like the section "Using their knowledge and curiosity to improve the project in other ways."

    In open source projects, I think it's also okay to exclude unskilled people from a project based on "we do not have time to help them learn remedial skills, and this is not a suitable project for novices." If you are going to do this, explicit is better than implicit. You should try to forewarn contributors with explicit "not good for beginners/prerequisite skills are [list]" language in your README and CONTRIBUTORS files. And when you need to tell contributors that they aren't ready to participate in your group yet, you should offer them a redirect to a project more suitable to their skill level, you should take care not to insult them while redirecting, and you should tell them they'll be welcome back in the future after learning more of the prerequisites.

  3. The scientific method is still as kickass a cognitive tool as it has ever been. It's amazing and empowering!

Thanks to Dr Linda McIver for the conversation that spurred this post.


: Writing And Conversing Elsewhere: Sometimes I write about books I've been reading on my Dreamwidth blog. For instance, I've been trying to read everything that Zen Cho has published. As she self-describes,

'Almost all my published stories can be summarised as "Asian girl/woman meets magical creature, sasses and/or fights them"'

"I write all my stories for myself circa age 16."

And I've made a few front-page posts to MetaFilter recently. Most entertainingly in a wholesome way, I recommend a few short stories about robots and artificial intelligence, I particularly recommend a robot-related story by Holli Mintzer called "Legal Salvage", and I recommend a few very short tales about humans and nonhumans trying to understand each other. Less wholesomely, I accidentally nerd-sniped the site by linking to a linguist discussing how "you guys" works and how we might know whether it is gender-neutral, thus provoking a 230-comment (so far) discussion thread.


: Apply For Grants To Fund Open Source Work, and Career Thoughts:

Apply For Grants To Fund Open Source Work

When I tell people about grants they could get to help fund work on open source software projects, sometimes they are surprised because they didn't know such grants existed. Therefore, a month ago, I delivered a ten-minute PyOhio talk in which I shared:

I've now posted a transcript (with slides), and the ten-minute video is up.

The Python context, and followup Q&A

Have some additional thoughts and info I could not fit into the talk!

Background and ideas: People who work on Python's packaging tools usually aren't paid to do so. It's usually but not always a side project. We have gotten grants (or similar funds) of $80,000 USD or $150K or $207K and they are a huge reason why we

  • have the new PyPI (Warehouse) in production, instead of the legacy site
  • have 2-factor auth on Warehouse
  • are much closer to releasing the new pip dependency resolver

On March 22, 2019, I started a wiki page to list some fundable projects in Python packaging. I figured that if we had a structured, public list of well-scoped, shovel-ready tasks that would move faster with funding, it would make it easier to find grants, sponsors, and other directed funds. And, heads-up, corporate readers: if you can help the PSF get some money to do these things, they are much more likely to happen, and Python will get much easier to deal with.

We've now moved that list to GitHub. If you know that filling a particular gap would improve Python packaging and distribution, go ahead and make a pull request!

And that doesn't just go for packaging. The Project Funding Working Group is seeking project ideas on a wider scale. If you make a well-structured list of fundable TODOs for your Python project, it can go in that list -- this will, in the future, make it easier for you to get funding.

Eligibility and how the money flows: often, only public charities or similar institutions are eligible to apply for certain kinds of funds, which is why getting the Python Software Foundation involved is helpful -- they are often eligible to apply in cases where you as an individual are not eligible. The way we've been doing it for the past few years is: some volunteers research a grant opportunity and write a proposal (often with the assistance of a PSF staffer) and the Python Software Foundation submits it. If it gets funded, the PSF hires contractors to do the proposed work, and then those contractors perform the proposed work and (via the PSF) report back to the funder. I cofounded the new Project Funding Working Group to centralize those efforts, bring enthusiastic volunteers together, teach more people to do this stuff, and capitalize on the momentum of the last few years.

We know some things about what some funders are seeking, and want to help match you up with funders who might be a good match. Depending on where you live, there may be country-specific grants that the existing members of the Project Funding Working Group know less about! Like, there is the Prototype Fund for people in Germany, and Innovation Fund Denmark, and there are a bunch of European Union grant opportunities that I know very little about like Horizon 2020.

Erika Owens asked some followup questions:

...how to assess if a grant is worth applying for - how do you know the foundation is legit? how do you balance the amount of time proposing/reporting with the likely grant amount?....

also, from a documentation mindset—where can you go for help with this type of work? what public writing is useful to others? (and possible given so much secrecy with funding)

Good questions.

When is it worth applying? & more: Different projects need different amounts of money. A one-time gift of $10K (about 60-100 hours of work at USD$100-150/hour) is not enough to make a significant dent in some of the listed fundable packaging tasks, but $10K could support a "get the next release out and clean up docs/bugtracker/patch queue" effort for your favorite library. This is why the Project Funding Working Group is trying to amass informational resources (a list of funders, "how to write a proposal", etc.) and point a lot of people at those resources so many people can self-serve -- the volunteers in the Working Group do not have time to write a dozen grant proposals from scratch in a year, each of which is for $10-30K. It might take 10-20 hours to research and draft a multi-page grant proposal from scratch (it gets easier when you can copy and paste from previous proposals or planning documents for the same software project). Sometimes it takes longer if a bunch of stakeholders (such as project maintainers) have to agree on priorities and scope. I hope that the working group writes a few proposals each year and that they're for at least $80,000 each, and that we advise or otherwise help a bunch of other volunteers to write grants for varied amounts. Let's see how the first year goes. Maybe I'll be wildly off.

I feel pretty lucky in that most of the grant-and-similar-funded projects I have worked on had fairly light reporting requirements, things that ended up taking maybe an hour per month plus maybe three hours at the end of the project. (Then again, I prep along the way by collecting meeting notes and updates on a public wiki page.) At the end of this year I need to make a fairly substantive report to the Chan Zuckerberg Initiative, so I may eat my words then!

A timeline from March 1st-Aug 29th of Open Tech Fund proposal acceptance What public writing is useful to others? I see people sharing actual grant proposals and budgets, and the Project Funding WG will too (soon), and I think that helps a lot. I bet a before-and-after of a proposal before and after editing would also be helpful. Timelines like this slide here (from my PyOhio talk) help others set expectations for the process. Project retrospectives like this Read the Docs post -- ditto. Lists of funders including real talk about what they're looking for. Reminders of deadlines (like: apply for the Better Scientific Software Fellowship by September 30th). If you have more suggestions, please open an issue!

How do you know whether the foundation is legit? Hmmm. I have confidence that I could tell whether a funder was fishy before getting into anything I'd regret, but I am having a hard time articulating the evaluation criteria I would use. Something to work on.

And where can you go for help with this kind of work? I know I ought to learn more from the world of professional grantwriters and other nonprofit experts, like Candid, and perhaps I will have a spurt of energy sometime soon to go dive in.

My career

This week, on the way to posting this, I rearranged my conference talks page to be more navigable. I have given 35-50 talks on tech-related topics in the past 10 years, depending how you count. I used to talk a lot about Wikimedia, then about HTTP, then Python packaging and the plays.

The response to my one talk about grants has already been strong and, if I just reacted to that, I'd give more talks about grants. Already my blog posts and talk about grants have led to Changeset Consulting client leads and some client work. And there's a logic here -- I have succeeded in doing something lucrative that other people would like to replicate.

And it can be easy to get sucked into grantwriting (the work of researching and creating grant proposals), because I am clearly expert enough to be helpful, there are deadlines to motivate me and colleagues, and every available grant is an explicit invitation with a concrete amount of money attached. It's a trail others have already blazed.

But grantwriting is a treadmill that ties projects to rich funders with short timescales, a topic ably covered by Nonprofit AF, The Revolution Will Not Be Funded: Beyond the Non-Profit Industrial Complex, and many others. As with recruiting, or diversity/equity/inclusion work, there's a lot of toil here.

So, I am excited about the potential of the Project Funding WG, which will help many open source groups pursue not just grants but "external grants and similar funding." Including talking with companies who want to sponsor particular improvements, or generally sustain their dependencies (via Tidelift or a direct gift) and avoid the headache of forking or switching.

And I'm open to Changeset Consulting doing some paid consulting work on grantwriting, and I'm doing some unpaid grantwriting to garner funding for projects where Changeset would do paid work. And I'm particularly interested in joining together with folks who are making big proposals to big foundation-style or government funders, upwards of USD$500K or in the millions.

But, in the near future, I mostly want Changeset to work on paid projects, funded by for-profit companies, to rejuvenate and level up open source projects that they depend on but do not control. And that's looking promising. I'm using many of the same skills you use in grantwriting, because they're sales skills. And I am looking forward to blogging about one of these projects soon.


: Very Brief Book Reviews: A few quick book reviews from 2017 that I never finished writing up. (Thanks, SimplyE, for making it easy for me to reserve and borrow New York Public Library ebooks and read them on my phone!)

Meredith Willson's great memoir But He Doesn't Know the Territory about the making of The Music Man. Funny and inspiring.

Barbara Hambly's fast-moving, funny fantasy novel Stranger at the Wedding.

The high-concept scifi novel The Power by Naomi Alderman. Memorable, thought-provoking, uneven.

Operating Instructions, a memoir by Anne Lamott. I enjoyed it while I was reading it but remember very little.

Provenance, a scifi novel by Ann Leckie. A super different tone compared to the other Imperial Radch books -- has the feel of a fairy tale in some ways.

Harry Potter and the Cursed Child by J.K. Rowling. I read this out of completism and didn't particularly care for it.

All Systems Red: The Murderbot Diaries #1, a scifi novel by Martha Wells. Loved it (and I have now read all of the sequels). I recommend it especially for people who enjoyed Breq's alienation in Ancillary Justice and its sequels, and to people who have ever felt incredible apathy regarding their jobs. Extraterrestrial adventure & tradecraft, untrustworthy corporate overlord, competent people trying to be careful of each other's feelings, and gallows humor. Read the first chapter for free online.

Hamilton's Battalion by three authors, including Courtney Milan. Three romance novellas. I have read most of this -- fun fluff.

Partial read: Seeing Like A State, the classic "the map is not the territory" critique of systematizers, by James C. Scott. I will probably need to restart this from scratch if I want to finish it.

Partial read: Zephyr Teachout's Corruption in America which is very edifying, and, ditto.

Partial read: Jeremy Brecher's US labor history Strike! which is also super edifying. From the latter book: a lot of strikes in US history have been started not by established unions, but without them and sometimes against their wishes. I had an assumption that unions make strikes -- often, strikes make unions.

Filed under:


: Imaginary Book Club, and How To Run It: "Imaginary Book Club" is an improv-type session that's fun to run at a scifi/fantasy convention. It's a panel where each participant "reviews" a book that does not exist, and the other people riff on that. Julia Rios and I came up with the concept (origin) and it first ran at WisCon in 2011.

It's a lot of fun! In the past ten years it's become a bit of a WisCon tradition, and sometimes other cons run it too, as NASFiC just did. One attendee said that every con should hold a version of it because it's so fun. So I figured I'd write up how to run it.

Basic structure

I suggest 3-6 people, allotting at least ten minutes per person. The moderator can be a presenter or not, per time and inclination. Assuming a 50-minute panel with one moderator and four participants:

  1. Very short intro by moderator, explaining the premise to the audience, and explaining that from here on out, everything may be a lie --perhaps allowing one-sentence introductions from each panellist
  2. First book
    • Panellist 1 gives a description & review of a book: title & author(s), genre, premise/setting/idea, and their reaction -- 2-4 minutes
    • Other panellists react, pretending they have also read the book, and the group discusses the book, digressing into general history/litcrit/anecdotes etc. -- 5-6 minutes
    • Audience Q&A -- 1-3 minutes
  3. Repeat for Panellist 2
  4. Repeat for Panellist 3
  5. Repeat for Panellist 4
  6. Moderator ends the panel by lifting the veil of lies and thanking everyone

This worked pretty well over a videocall, in my opinion, as long as the moderator could see everyone's faces simultaneously (gallery/tile view).

Prep

Pick participants who enjoy bantering and thinking on their feet, and whose go-to quips don't tend to the demeaning.

If you've never seen the session before, watch bits of Julia Rios's video from WisCon 2011, with Sumana Harihareswara, Benjamin Rosenbaum, Ellen Klages, Liza Furr, and Richard Chwedyk:

  1. Part 1: Material Velour, Color Unknown (an anthology about fashion edited by John Joseph Adams), and the lost Oscar Wilde cyberpunk novel*
  2. Part 2: Trailer Gnome
  3. Part 3: Beneath Yellow Skies by Elizabeth Bear (a novel about sparkly dragons in Iowa)
  4. Part 4: The Arm With the Golden Man

A few days before the session, the moderator ought to send panellists a prep note, telling them the structure to expect, and suggesting they each start thinking of a fake book to review. My prep email for the panel this year included:

This is meant to be a fun session with a lot of improv and banter. I've run it before, and it works well if everyone prepares their fake book review ahead of time but DOESN'T tell the other panellists what they've come up with, so it's a surprise during the panel.

Sample ideas for fake books:

  • Zen Cho's Warhammer 40K tie-in novel
  • Yoon Ha Lee's historical fiction collaboration with Connie Willis
  • the recently unearthed Babysitters' Club book by Isaac Asimov
  • a newly discovered YA dystopia by F. Scott Fitzgerald
  • the 90s-nostalgia horror anthology "I'll Be There for Your Blood"
  • Stephen King's "observational horror" collaboration with Jerry Seinfeld
  • an anthology of short stories sponsored by Big Pharma
and noted: "If you'd like to see a sample video, https://www.youtube.com/watch?v=Mi0t0Z8Ubgc is this panel at a past WisCon."

If people need help thinking of fake books, I suggest "real author in a genre they never wrote in" or "fake collaboration between two real authors" to connect easily with the audience. And I'm not particularly rigid on "no one can know others' books ahead of time!" and sometimes people want to share and divvy up ideas, and that doesn't ruin things.

Gotchas Book cover: The Babysitters Club #12: Claudia and the New Robot, by Ann M. Martin. Claudia might give up the BSC -- and it's all the new robot's fault! [Cover has clearly been photo manipulated to show a robot outline over a girl's body.]

There's a fine line between lovingly mocking an author's quirks and being mean. Watch out and avoid the latter.

It's nice if the fake books are varied -- not all tie-ins, not all sex jokes, not all by similar authors. If you're presenting, you could prep two or three different books in advance to avoid this.

Panellists will end up pleasurably digressing into actual litcrit and anecdotes. As long as they're being entertaining, let them!

Some panellists will go all-out, making fake covers or writing fake chapters. Most won't. Both approaches work fine with the audience.

Audience participation will be a mix of attempted quips, successful quips, and pedantry. Use your moderator's discretion to gently redirect anyone who is trying to quip and not landing well.

Jokes from this year that I shall now inflict upon you

I briefly discussed an anthology of short stories sponsored by Big Pharma, which included:

  • Salman Rushdie's piece about a labor induction pill, "You, Too, Can Have Midnight's Children"
  • Kim Stanley Robinson's story about chocolate-flavored antidepressants, "Blue Mars Bar"
  • Ada Palmer's horror piece about a dental treatment for children that's meant to strengthen teeth but leads to distended jaws and aggressive behavior: "Too Like the Bitening"
  • Another dental-themed piece in there by Zen Cho, also about a treatment gone wrong: "Torturer to the Crown"

And I discussed the recently unearthed Babysitters' Club book by Isaac Asimov, Claudia and the New Robot, 1988 (cover above). JOKE STARTS HERE: Claudia Kishi's older sister Janine develops a robot that can babysit, and wants it to join the club. I liked the babysitting diaries told from the robot's perspective, in fixed-width typeface, and enjoyed how the robot's Kid-Kit contained materials and plans for the babysitter to actually build a new kid.

The Babysitters' Club franchise in many ways plays to Asimov's strengths, as it's got a very strong repeating structure, what some might call a formula, but so do the Black Widowers mysteries, the Susan Calvin robot stories, and the Azazel stories. And this book had some of the most three-dimensional, well-rounded characters of Asimov's entire career, and I think it really stretched him to write almost entirely from the perspectives of girls. JOKE ENDS HERE

Go try it!

If you're running an sf/f con, try an Imaginary Book Club session! Tell me how it goes! And this structure probably also works for fake films, games, TV shows, foods, and more, as long as the audience is fans who will get your in-jokes.

And, speaking of fun improv sessions for conventions, here's how to run Slideshow Karaoke in case you want to try that too.


: A Sunday Morning Bike Ride: This morning I woke up before Leonard did and I bicycled in the relative cool and quiet of a Sunday morning. Thank you, past planners and builders, for bike lanes and promenades. I'd had some bike trouble in the past few months but now it was straightened out (thank you, bike repair shop) and this was my first pure-pleasure ride in months.

I passed by a gas station sporting an ad: "Proudly Fueling Whatever Happens Next." The "next" was partially blocked so it seemed to read "Proudly Fueling Whatever Happens." Which seemed comically out of touch. But I work in open source software. We bar ourselves from saying "The Software shall be used for Good, not Evil." So who am I to judge?

I sat on a bench by the water -- I live on an island, as hard as it can be to remember sometimes when I sit in my apartment like the proverbial brain in a jar -- and smelled the salt through my mask, and saw water birds. People walked and rode by.

Reading an absorbing book while surrounded by a lovely, novel natural view is one of the pleasures I treasure. I'm partway through Joanna Russ's nonfiction collection To Write Like a Woman: Essays in Feminism and Science Fiction. I took it out of my backpack, a satchel my friend Teresa Nielsen Hayden gave me while she and her partner Patrick were moving. Teresa and Patrick knew Russ and they were friends when they all lived in Seattle. I'm settling into Russ fandom as a stranger, and in every essay I find some new lens to use on this literature I've been reading my whole life.

I read for a while, and biked home. On one residential street I saw some downed power lines -- maybe from the storm earlier this month? -- and stopped to call 311, who told me to call Con Edison, and then the options confused me, and then I called again after I got home and succeeded in telling them so they could go send a truck out. It seems so dangerous to see several power lines stretching from the poles down to the street and the sidewalk, and the storm was multiple days ago, so how could I be the first to call in and report it? But I think I was. For every problem there's someone who's first to get the ball moving to get it fixed.

The other night as I was falling asleep a thought came into my mind: Some lessons you learn like scars. I think I will only know months and years from now about what lessons are stiffening, calcifying inside and on me, as I pass by and through the birds, the book, the power lines.

Filed under:


: Three Sessions at NASFiC This Weekend: I will speak on two panels at the virtual NASFiC (the North American Science Fiction and Fantasy Convention) 2020, this weekend:

  1. "Imaginary Book Club", Friday 21 Aug, 7pm-7:50pm ET: "Imaginary Book Club" is an improv-type session where each of us "reviews" a book that does not exist, and the other people riff on that. Ada Palmer, Mary Anne Mohanraj, and Julia Rios join me (I'm moderating) in this comedy panel.
  2. "Running SF/F Organizations", Sunday 23 Aug, noon-12:50pm ET: "Creators, directors, publishers, and nonprofit leaders discuss the trials and victories of running magazines, publishing companies, and other SF/F businesses and organizations. They discuss logistics, strategy, budgets, and the effects of gender and race on their experiences as leaders. And they share what they wish they'd known ten years ago." I'll be talking with Cheryl Morgan, Eileen Gunn, and Mary Anne Mohanraj, with Victor Raymond moderating.

I may also be in another session -- finding out now!

Also, at 2pm tomorrow (Friday), Leonard is delivering "How Game Titles Work" which emerges from work he did researching his novel Constellation Games:

In 2009, while writing a novel about alien video games, Leonard Richardson uncovered the rules of rhetoric and syntax underlying the titles developers give their games. By following these rules, he was able to create dozens of realistic-sounding fictional games from distinct alien cultures. Over the past ten years, video game developers in the real world have subverted and played with these rules, expanding what a game's title can say about the experience of play. In this presentation, Leonard goes over the rules and talks about how they've changed over time.

NASFiC is free to attend this year -- visit this "how to attend" page to get livestreaming and chat embedded in the webpage for any sessions you want to watch.


(6) : Figuring Out Which Blogging Platform To Switch To: I'd like to pay someone to port my blog to a new platform, and create one for Changeset Consulting as well. So now I need to decide on the platform and the vendor.

Background

I've used NewsBruiser for this blog for nearly twenty years. Leonard wrote it for himself, and I switched to it from Kuro5hin in October 2001. I have posted 4645 entries.

I like many of NewsBruiser's features. I like that it emits flat files so that a page load requires no database lookup, for instance. And there are things I am sentimental about; I love that it's in Python, and that my spouse wrote it. And if I really need a specific change then I can get personal help.

But there are some things I want (for this personal blog plus for my consulting site) that NewsBruiser does not provide, and it makes more sense for me to switch to something else instead of asking Leonard to do a huge load of updates and feature work that he doesn't personally need. And -- as Troy Hunt and Courtney Milan and Steve Klabnik and a zillion other programmer-bloggers eventually decided -- at some point, if my websites are important to me on a business level, then I should switch to using a platform that gives me stuff I need, even if it's less pleasingly homemade.

Assumptions

I assume that doing this will involve contracting with someone else to do the web design, customization, and import, because my personal site ought to be easier to read, because I'll probably be creating a Changeset Consulting blog separate from Cogito, Ergo Sumana, and because I am not particularly strong at web design and I should outsource this. And I assume that a lot of design and CSS stuff I'll work out with that vendor -- header and footer and navbar, responsive design for mobile, etc.

So, what do I need or want? I figured I'd finally write down this list that I've been accreting in my head over the past few years. (I will probably come back to this list to add things as I interact with other blogs and remember stuff.)

Required

  • Free/open source software that is being actively developed/maintained
  • Multiple vendors (so I'm not locked into one) whom I could pay for customization, design, import, and related consulting services; ideally, I can also pay them monthly or yearly for continued maintenance
  • Blog post tags (which is to say, non-exclusive categories -- I don't care whether the software calls them tags or categories), including nesting, and including a way for a reader to browse all posts with a particular tag
  • Reasonable export of all posts including metadata
  • Produces standardized syndication feeds (such as RSS/Atom) per-tag as well as for blog as a whole
  • Ability to write and save drafts
  • Hosting such that the URL points to my own domain (this is why, for instance, Dreamwidth does not work)
  • Accessibility, such as
    • No infinite scroll
    • Emphasis on fast loading/response -- plain HTML and CSS, and either individual post reads require no database lookup or there's very very good caching or some similar performance measures in place
    • Reasonable default metadata on built-in images/elements
  • Privacy, such as
    • No or nearly no third-party JavaScript, and no third-party trackers
    • Accessible via Tor without me having to constantly update settings
  • Post writing is in a standardized syntax (I'm fine with the platform making me write in HTML or Markdown; doesn't have to support both) that is not reStructuredText
  • Blog-wide text search (this could be an add-on my consultants build for me using Solr or something)
  • A way for readers to look at or browse archives chronologically (such as "everything from 2019")
  • URLs with custom slugs instead of just the date, e.g., harihareswara.net/sumana/2020/08/searching-blogging-platform/
  • Ability to cope with redirects from URLs pointing to my NewsBruiser posts

Strongly desire

  • Comments by users
    • No requirement that users log into anything
    • Ability to turn comments on or off per-entry
    • Ability to close an entry to new comments while still preserving display of old comments
    • Ability to turn comments on for a particular duration (such as "30 days"), then auto-close at the end of that period
    • Comment spam filter
    • A unified way for me to see or be notified of all new comments, such as email notifications or a web-based dashboard
  • Web-based writing interface
  • WYSIWYG interface in particular
  • Ability to manage static pages that are not blog entries per se, such as an About page, my writing portfolio and list of conference talks, etc., so that this is not just a blog but also the content management system for the entire site; I feel viscerally uneasy about this but it is probably the sensible thing to do
  • If you reply to me to give advice on what platform I should choose but you have not read this bullet point, I will disregard your advice and probably decrease my interest in your advice in the future. The way you demonstrate that you have read this bullet point is by using one of the following phrases in your advice message: "I rather reckon", "charming but not", "radiates sheer", "that delightful theme".
  • Two-factor auth
  • Mass-select several blog posts to add tags
  • Auto-generated tables of contents (with titles, links, and post dates) of "all blog posts in this tag" and "all blog posts in this year"
  • Edited 17 Sept to add: if a database is required, ability to use SQLite instead of something like Postgres or MySQL/MariaDB, for ease of systems administration

Nice to have

  • Media file upload and hosting integrated into blog
  • Specify a different time zone per-entry
  • Ability to make a preview URL so I can share a draft entry with someone else for review
  • Not WordPress, partly because I am superstitious because WordPress used to have frequent security vulnerabilities, but also because I am annoyingly interested in not going with the most popular choice out of suspicions of software monoculture plus reflexive nonconformism
  • Written in Python so I can more easily understand, fix, contribute
  • Git or similar revision history for content, so it's easy for readers to trust that I haven't gaslit them by making silent edits
  • Edited 17 Sept to add: an easy way to add anchor-tagged/linkable subheadings (example)

Contenders

As I understand it, WordPress bestrides this market like a behemoth. The contenders I have seen people use recently: Ghost, WordPress, Jekyll, Hugo, Pelican, Write.as, Django, Flask, Drupal. I see Alternative To mentions some others. I wrote this entry mostly for myself, to think about what I need and want, rather than to seek advice. But I do welcome advice on platforms/tools. And I know multiple WordPress consultants, so I'd like recommendations for consultants and other vendors whom I could pay to help me switch to something that is not WordPress, maybe even paying them to implement upstream features in that alternative.


: Three Useful Tools: Draw.io is open source web-based diagramming software that exports to and imports from a bunch of different formats -- and you can save your diagram as XML so someone else can import and edit it. The info site is Diagrams.net. It has a hilarious footer -- check out the rightmost item, next to "Help and advice" and "About us."

Weightless Books sells DRM-free ebooks. It carries a bunch of indie publishers, and sells back issues and subscriptions for several magazines, such as The Magazine of Fantasy and Science Fiction. And right now, Kaleidoscope: Diverse YA Science Fiction and Fantasy (co-edited by my friend Julia Rios) is on sale from USD $9.25 to USD $4.99. (Weightless Books is run by the same folks as Small Beer Press -- you might recall that Small Beer donated an ebook coupon that we auctioned off at WisCon this year.)

As of a recent version of Thunderbird, you can encrypt and decrypt email with PGP right in the application, without needing the Enigmail add-on! (Background.) This is really useful to me since I use Thunderbird and I work with at least one client who strongly prefers to communicate with me over encrypted channels, including encrypted email.


: How Do You React To This News?: "Emergency Mission: Hasidic Women Battle Male EMS for an Ambulance of Their Own," by Carson Kessler, in THE CITY, published August 6th, 2020.

So, there's a particular kind of response I imagine some of my readers will have, along the lines of "argh." but perhaps more dismissively put. The article ends with a quote from Levine, the group's outreach director and a daughter of the group's founder, and I think Levine addresses that "argh." As thefourthvine says, "'Should' has no place in policy. We make laws about what is actually happening, not what would happen in an ideal universe, because, newsflash: we don't live in an ideal universe."

There is another kind of response that you might have which is that gender-separated services/spaces are a hack, and as long as they are necessary, we should should support them while also working to remove the root causes that make the hack necessary. And it sounds like these Hasidic women's modesty concerns are getting in the way of them feeling comfortable seeking urgent medical treatment, so let's get rid of the immediate problem by providing a service they can accept.

That's where I was at a few minutes ago.

Then, when I reread Julia Evans's 2016 piece "Women-only spaces are a hack" so I could link to it here, I realized: what if the thing they're worried about isn't just breaking a modesty taboo? As Evans writes: "If there are no men, nobody can get harassed by men. That's it. That's the entire hack." That's never mentioned in the article, but maybe it's a concern.

So. I'm guessing the vast majority of people reading this post are not affected by this specific issue (emergency medical services within New York’s Orthodox Jewish community).* But perhaps you are in a position of power, even a small one, and you have seen people reticent to ask for something. And maybe you have been frustrated by their shyness. Then maybe this story is a reminder that other folks have their reasons, even if you have a hard time relating. Or maybe you have needed something and not felt like you could ask for it. And then maybe this story is a reminder that you are not alone, and that people can band together to make alternatives and help each other.


* Unless this blog post gets tons of publicity among people who are in or think a lot about New York’s Orthodox Jewish community, which I hope it does not, because I would rather not simultaneously deal with people on all sides of this issue, with argument inevitably branching out into, like, atheism, Richard Dawkins, Israel, Palestine, hijabs, and NYC parking

Filed under:


: Some CON.TXT Links: I attended the fan convention CON.TXT yesterday and found or shared some interesting links on many varied topics!

My own stuff: my vid "Pipeline" about sexism in the tech industry, and my technothriller book review accompanied by a GitLab software repository.

On law, taxes and finance: a mention of Confessions of a Tax Collector: One Man's Tour of Duty Inside the IRS by Richard Yancey, the Moon Treaty, the MyPayrollHR incident and the danger of how direct deposit works in the US, this lovely quiet short romantic story that is 90% about people working out land law, the charter of the United Federation of Planets, the textbook Crime Classification Manual: A Standard System for Investigating and Classifying Violent Crime (cheaper in ebook), Confessions of a Radical Tax Protestor: An Inside Expose of the Tax Resistance Movement by Larry R. Williams, "Lying for Money: How Legendary Frauds Reveal the Working of Our World" by Daniel Davies (which I loved), the Tara Holloway mystery/romance series by Diane Kelly such as Death, Taxes, and a Skinny No-Whip Latte, where the main character is an IRS agent who detects tax fraud (thanks to Julia Rios for telling me about these!), the actuarial scifi contest (example, example), ways overseas drug manufacturers try to dupe the FDA, an old Daniel Davies piece about accidentally teaching people how to launder money, a fanfic about someone who learns accounting in prison, and a fanfic about Julian Bashir in court.

On fiction and media in general: Leonard's rewrite of the end of Battlestar Galactica, a bunch of odd US TV shows from the late 20th century, a primer for The Untamed (a 50-episode Chinese drama TV show that many fans are currently enjoying), Kishōtenketsu (an East Asian narrative structure to understand), and an unofficial Google Document listing fandom-themed conventions that have gone virtual for 2020-2021.

Some lovely new or new-to-me fanvids: bironic's new sports vid "Game On", Trelkez's The Good Place vid "Grand Hotel", and cosmic_llin's "Lullabye" about the children of the NCC-1701-D.

Tools: the social and medical models of disability; the URL importer within Archive Of Our Own, which helps you make AO3 entries for (for example) vids you'd already posted on Dreamwidth, so it's easier for con-runners to find them; Library Carpentry, which "focuses on building software and data skills within library and information-related communities. Our goal is to empower people in these roles to use software and data in their own work and to become advocates for and train others in efficient, effective and reproducible data and software practices."

Filed under:


: I'll Miss You: In March or April I learned of friends -- generally those with children -- who were temporarily leaving New York City to stay with relatives in other places. Now I'm hearing of more of them who have turned their moves permanent, or plan to. I understand. I'll miss you.

One person I know, seeing the news about the pandemic coming, moved back home to Japan, deciding and executing that move within something like a week. She was right.

Go. Take care of yourself. It makes sense. Once it's more possible to see friends in person again, I'll miss our lunches and breakfasts and co-working days. But you are reacting to forces bigger than us and I get it.

I've gotten this little shock a few times now, but I haven't yet gotten the bigger one, that someone I personally know has died of COVID-19. I know enough people that it feels fairly inevitable that it will happen, or that it's already happened. I feel some urge to steel myself but I figure that's a pretty vague and unproductive kind of vector to operate on; I'm just trying to keep up with stuff, keep my various plates spinning and keep my varied balls in the air, and get enough ahead of my commitments that I can take a day debilitated by grief if and when it comes. But there is this tinny foreboding, like a small constant noise from just the other side of one of my walls that I can hear if I let myself concentrate on it.

Are you experiencing this pre-grief too? It's not just me, I think.

Filed under:


: Incentives: From the time that I was a child, my parents wanted me to learn and be fluent in Kannada. My interest has waxed and waned.

Yesterday I saw this tweet, which starts generalizing (in English) about girls named Sumana, and then switches to Kannada to make a jibe that I only fractionally understand.

Finally I have a strong, urgent motive to learn fluent Kannada: people might be making fun of me and I need to know what they're saying.

Filed under:


: Four Conferences In Three Days: I'm performing or speaking at, participating in or attending four different conferences/conventions online between July 24th and 26th. You can join me at no cost for all of them!

Going chronologically:

  1. GUADEC: Friday, July 24th, 21:00 UTC (5pm Eastern Time): I'll perform twenty minutes of stand-up comedy as part of the social events for GUADEC, the GNOME Users And Developers European Conference. This will be a bit like the stuff I've performed at AlterConf, Open Source Bridge, the Google Summer of Code Mentors' Summit, and so on. Yes, you can hire me to perform stand-up comedy at your tech conference, too.

    I'm also curious to watch talks on power management, principles of digital autonomy, freelancing tools, an open, programmable virtual assistant, rescuscitating a GNOME app, measuring and improving a project's environmental impact, and making videos.

    Register: for free! Watch live via BigBlueButton (in your web browser).

  2. EuroPython sprint: Saturday-Sunday, July 25-26, European time: Within EuroPython, I'll co-lead an online sprint where people can learn more about, and hack on, Python packaging tools.

    I unfortunately don't think I have time to attend the rest of the conference, but I'm looking forward to watching the videos of "Lessons from the Trenches: rewriting and re-releasing virtualenv" and "The Hidden Power of the Python Runtime".

    Register: for free, for a sprint-only ticket! Please register by July 23rd. Participate via Discord and via Zoom or Jitsi (I'm not clear on whether the sprints will use Zoom or Jitsi).

  3. CON.TXT: Saturday, July 25th, Eastern Time: I'll attend CON.TXT, a fan convention for people who enjoy talking about media, scifi/fantasy, fan fiction, fanvidding, etc. I'm looking forward to "Bring Your Fandom to Work", "Financial Crime for Fun and Profit", and the vidshows.

    Register: for free! Register by July 24th. Participate via Discord and Zoom.

  4. PyOhio: Saturday or Sunday, July 25th-26th, Eastern Time: I'll speak at PyOhio, delivering a pre-recorded ten-minute talk, "Apply for Grants To Fund Open Source Work".

    When I tell people about grants they could get to help fund work on open source software projects, sometimes they are surprised because they didn't know such grants existed. I share:

    This year, all PyOhio talks are 5 or 10 minutes. I'm also interested in talks on PySpark, livestreaming, Flask, "How the Python Software Foundation Fared Through the Impact of the Pandemic", managing your finances, mapReduce, and underappreciated gems of the Python standard library.

    Register: for free! Watch via YouTube. You don't have to register to watch the talks; PyOhio will stream them publicly over YouTube. You do have to register to participate in sprints and open spaces.

Please consider joining me! Probably not at all of them! That would be pretty difficult! I am curious how it will all work out myself!


: Misunderstanding What It Takes To Make Recurse Center's Social Rules Work: In a contentious thread on MetaFilter about race and racism on the site, one user lauds the bit of Recurse Center's manual about how if you are corrected for breaking one of the four Social Rules, you should just accept it, apologize, reflect a bit, and move on. The user, praising the way a particular user took a correction well, says, "I want to move to a world where this kind of confrontation can be so normalized and painless." Yes! I'd like that too! I'd also like for more people and groups to make progress on following the four Social Rules themselves: No feigning surprise, no well-actuallys, no back-seat driving, and no subtle -isms.

I'm not going to say this in the MetaFilter thread because it would derail things, but I'll blog it here. I have participated twice at Recurse Center, my first batch being in late 2013, and I've participated in MetaFilter for over ten years. The significant differences between Recurse Center and MetaFilter are similar to the differences between RC and Wikimedia, which I briefly discuss in "Hospitality, Jerks, and What I Learned" (a keynote about RC that I gave a few years ago at a Wikimedia conference, back when RC was known as Hacker School). And these differences would make it a lot harder for a website like MetaFilter to take this particular aspect of the Social Rules and make it stick. Maybe even impossible.

In this post, I am trying to be descriptive about what works, and what makes good outcomes more likely, not to prescribe what individual people or institutions should do.

Key logistical differences

Every Recurser has dedicated specific time to participating in a shared cause, there are gatekeepers who only let some people in in the first place (interviewing participants to check whether they are pleasant people to collaborate with), even when we're online most conversation is in a private space that only other Recursers can see, and there are under ~2000 Recursers, and (I believe) most Recursers trust RC staff to handle incidents well in case we need to escalate a report to them. And the vast majority of Recursers started after the Social Rules, in their current form or close to it, have been set as policy. And, till this year, every Recurser also had substantial experience of in-person interactions with other Recursers, including (at least since 2013, when I first participated in RC) an orientation session going into the social rules and modelling a correction and someone accepting that correction.* (RC is now remote and online, till at least the end of 2020. The orientation session is now via a videocall.) All of these elements help Recursers trust and understand each other, lower their defensiveness about being corrected, and correct each other with less worry that the other person will respond badly.

Also, pile-on/snarky responses to subtle -isms (such as racism, sexism, and homophobia) are not allowed, and Recursers are asked to only talk about distressing politics and -isms in spaces where every conversational participant has explicitly opted in to talking about that (to avoid distracting people from learning about programming). To quote the manual:

If you see a subtle -ism at the Recurse Center, you can point it out to the relevant person, either publicly or privately, or you can ask one of the faculty to say something. After this, we ask that all further discussion move off of public channels. If you are a third party, and you don't see what could be biased about the comment that was made, feel free to talk to faculty. Please don't say, "Comment X wasn't homophobic!" Similarly, please don't pile on to someone who made a mistake. The "subtle" in "subtle -isms" means that it's probably not obvious to everyone right away what was wrong with the comment.

We want the Recurse Center to be a space with as little bigotry as possible in it. Therefore, if you see sexism, racism, etc. outside of the Recurse Center, please don't bring it in. So, for example, please don't start a discussion of the latest offensive comment from Random Tech Person Y. For many people, especially those who may have spent time in unpleasant environments, these conversations can be very distracting. At the Recurse Center, we want to remove as many distractions as possible so everyone can focus on programming. There are many places in the world to discuss and debate these issues, but there are precious few where people can avoid them. We want the Recurse Center to be one of those places.

The "please don't pile on" guidance helps reduce one's worry that publicly correcting someone will cause an unpleasant pile-on, and helps a participant who's being corrected avoid the urge to get defensive. And discouraging discussions of -isms in common-area spaces that Recursers are likely to participate in by default (the "living room" and its online equivalent) means that everyone who has explicitly opted in to having such a discussion is likely to be more thoughtful and careful about participating in it. (For more on the opt-in suggestion -- and on the fact that, yeah, this means allies may learn less about fighting bigotry, because we don't talk about bias as much -- see Allison Kaptur's blog post "Subtle -isms at Hacker School".)

Of course, "accept corrections gracefully and move on" is generally good advice for an individual to try to adopt in one's own behavior in general!** I try to do this myself! But it really helps to get practice someplace where everyone is trying to do that, and RC helps everyone practice that skill. I was a lot better at correcting and being corrected on Day 90 at RC than I was on Day 1. And the particular systematic expectation of that behavior at RC depends on a sort of pact that everyone signs up to -- that today I'll correct you straightforwardly and nonchalantly about feigned surprise, and you'll accept that correction quickly and with good grace, and then tomorrow maybe our positions will be reversed, and you'll correct me politely about a subtle -ism and I'll take it well. That we will both be open and vulnerable to correction, and will both try not to get defensive. The structural forces I have listed earlier in this post massively help everyone trust in that pact. And there's a Recurse Center Code of Conduct introduced in mid-2017, which we know we can escalate to in case someone's behavior has been really egregious.

If you want to systematically make "give and accept corrections in this way" the norm on a message board where anyone can register for USD$5, there's no unifying purpose to why people join, everything we write there is public on the web forever, most participants never meet most of the other participants in person, there are tens of thousands of registered users who generally discuss ALL topics especially including -isms, snarky/dismissive responses to others' comments often are allowed, and the board itself is 20+ years old, that's going to be very difficult. There are significant structural barriers here.

It's also worth noting that the particular conversation that spurred this comparison is about reducing racist speech on MetaFilter. Many of the more vocal anti-racism activists on MetaFilter do not particularly trust most white users or the site's owner and mostly-white moderation staff, and are strenuously against civility norms when it comes to correcting racist statements. These are also significant differences between MeFi and RC, based on my experience in both.

"Community" and purpose

So far, in this post, I've said "message board", "website", "group", "users", "participants"; you may have noticed that I have not yet used the word "community." I am trying to be careful about how I use that word, because I think it subsumes some important assumptions.*** RC cofounder Nick Bergson-Shilcock wrote, "Having a genuine community requires that people know the other people around them, and that everyone shares some fundamental values and purpose." I agree. (I'd also say that a genuine community also has to have some kind of systematic way for the membership as a whole to affect/veto decisions that will affect them, which is a place Recurse Center falls down, being a privately owned for-profit enterprise that has no advisory board or other structurally empowered voice for Recursers in RC governance. MetaFilter is on its way to starting a user advisory board to specifically listen to the Black, Indigenous, and People of Color concerns.)

And my current assessment is that MetaFilter does not qualify, because most MeFites don't know most other MeFites, and because I think MetaFilter's shared fundamental purpose is ... thin in a way that bears more explaining but gets very wiggly.

The official MetaFilter guidelines say: "The fundamental goal of MetaFilter is for this to be a good, kind, generous, inclusive, and fun community on the internet." And the "About" page says:

Metafilter is a weblog ... that anyone can contribute a link or a comment to. A typical weblog is one person posting their thoughts on the unique things they find on the web. This website exists to break down the barriers between people, to extend a weblog beyond just one person, and to foster discussion among its members.

I would bet that a survey of a hundred MeFites chosen at random, about why they participate and the purpose of the site, would show several disparate clusters of answers. General entertainment and information, shooting the breeze about whatever comes up, fun (but not in particular to create fun for others), fun (to create for/with others), asking for and giving advice about specific problems and opportunities, getting publicity for stuff we've made... I'd be curious what people would say about why they participate, what they think MeFi's purpose is, and how much it would align with the goal/purpose statements above.

In contrast, RC (from the About page) "offers educational retreats for anyone who wants to get dramatically better at programming. The retreats are free, self-directed, and project based." Which is pretty clear. Everyone at RC has signed up for the purpose of "becoming a dramatically better programmer" and I would bet that, if you interviewed a hundred Recursers chosen at random, they'd all say something very similar about the reason they participated/participate and about RC's purpose.

Knowing each other, and sharing fundamental values and purpose, is important here because it's the soil from which interpersonal and group trust can sprout.

And you need trust in order to be vulnerable, including the vulnerability of speaking up about something that's wrong, and the vulnerability of accepting a correction without defensiveness.

And

Argh this is already so long, and I haven't even talked about how "no feigned surprise" and "no well-actuallys" and "no backseat driving" all play into the trust and vulnerability, how bad-faith actors can potentially weaponize "no feigned surprise," whether MetaFilter even wants to be a nurturing learning environment (to the extent that such a varied group can be said to "want" something), the ideological position that it is never an oppressed person's responsibility to make any effort to help create an environment that helps people learn facts or skills relevant to fighting that oppression, what general lessons I would draw from this for your Internet-based group of choice, and and and.

But: I hope you get my point. The Social Rules are great. And/but they work at RC partly in concert with the shape, type, configuration of the place and its membership. And that shape is very different from MetaFilter's.


* Recurser Nat Quayle Nelson wrote a play called "Survival Instinct" (link is to a recording of a live reading) that includes a fictional portrayal of Recurse Center. Listen to the conversation starting around 11:00 to hear a Recurser beginning to learn the "no -isms" rule.
** But I do not prescribe this as a general rule for everyone reading this, because you know what? Sometimes you should push back, though realistically this is incredibly unlikely if you're in a dominant group regarding the -ism that you got criticized about. I am not the arbiter of "the social justice rules of engagement" and that is a whole other essay that I may or may not ever write or publish.
*** I recently ran into David Gurteen's definition, "A community is a group of people who share things in common, who work together towards a common purpose which they care about and who care deeply about each other." I am not ready to buy into Gurteen's thinking, given that Gurteen believes it is not possible to have a real conversation in text, only face-to-face and maybe via telephone/videocall, and I figure that definitions of community and of conversation are pretty connected.

Filed under:


: Still Here: I am still here.

Filed under:


: Streamable For A Limited Time: A couple of stories about black women's lives. One fictional but based on fact, and one nonfiction.

Right now, till 7pm British time on Thursday June 25th, you can watch the drama Small Island on YouTube, thanks to the UK's National Theatre.

It's about Jamaica and the UK, about a particular historical set of migrants who moved from Jamaica to England starting in 1948 (are you "immigrating" if you are a British citizen, moving from a Crown colony to the empire's headquarters? what does that say about "immigrant" as a legal or social label?), about pride and discrimination and how you keep going in bad circumstances. I absolutely loved Hortense, one of the main characters, and the staging is cool. And here's the learning resource guide with two fascinating essays and a helpful timeline. One of the essays is by Andrea Levy, who wrote the book that the play's based on, and who based Hortense on her own mom.

BBFC rating is 15 due to some strong language, discriminatory behaviour, occasional sexual references and mild violence. Please note that, as part of depicting the experience of Jamaican immigrants to Britain after the Second World War, some characters in the play use racially offensive terms.

I started a conversation with my mom based on some experiences I saw in Small Island and that conversation's not over and I'm learning new things about my parents' experience.

Also (via Kottke): till 14 July, in the US, you can watch Recorder: The Marian Stokes Project online via PBS's Independent Lens. Leonard and I were lucky enough to see this on the big screen last year; here's his review. As he notes:

Content warning: this film includes harrowing recorded-live TV footage of 9/11, which is how I ended up seeing the second plane hit the tower after 18 years of successfully not seeing that footage.

Marion Stokes was an amazing, visionary activist, super-difficult to be around, eloquent, and driven, and her story was astonishing to learn. If you haven't seen this, I recommend it. Absorbing and moving.


about Sumana Harihareswara

Archives by year, archives by category


RSS feed
Dreamwidth feed
Identi.ca microblog
Mastodon feed
Twitter feed
Spam As Folk Art

Changeset Consulting
weblog powered by NewsBruiser
Bloggers' Rights at EFFSupport Bloggers' Rights

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.