# 29 Apr 2019, 01:03PM: Looking Forward To:
I'm trying to note down some things I am looking forward to, and that don't make me want to hyperventilate and hide because they are attached to obligations I have not yet discharged. (Like: I enjoy biking, but it is also a chore I need to do. I will be happy when people enjoy the art/comedy performances at PyCon and WisCon, but also there's backlogged stuff I need to do for those to be successful. And so on.)
Someday Vikram Seth will finish A Suitable Girl and I will get to read it. And someday Rosemary Kirstein will finish the next Steerswoman book and I will get to read it.
I have a ticket to a Crazy Ex-Girlfriend live show next month.
In May when I travel to PyCon and WisCon I'll get to see some friends I don't usually see.
I have faith I will find more things to put on this list. I look forward to finding them.
# 22 Apr 2019, 04:41PM: Rabbit Hole Interview(s):
Recently, the Rabbit Hole developers' podcast interviewed me; we discussed open source sustainability, maintainership, sensationalism among bards who sang the Odyssey, how PyPI is like Wikipedia, and what we think is paranoid.
The interview continued into a second episode discussing PyCon and The Art of Python, my past talks and plays, Halt and Catch Fire, what conferences are for, and the feeling of giving a bad talk.
Thanks to Stride for providing rough transcripts along with the audio!
A listener punned on my username ("brainwane") to tell me, "loved your perspective and insight on the podcast ... for me, it was 'braingain'". Awww!
We recorded these episodes on 27 February. The 7:17-08:06 segment of the first one proved prescient:
David:... NPM does an audit of the packages and says, okay, like, "this version is flagged with a known vulnerability, you should upgrade this." And it will just hammer you with that [unintelligible], infinitely, until you handle it. But like, you know, that’s also a form of open source software, that we’re depending on to nudge us.
Sumana: Right, and then the question of, again, sustainability, of like, well, is NPM, as a venture-backed thing, right..... You stay in this industry long enough and VC sounds like a dangerous term for anything you’re actually going to depend on.
David: Yeah, like the idea of something like PyPI going away. Like, I don't know what I would do? I would just have to find all of the binaries on a website? And like host my own... thing? Or...?
Stride released this episode on 19 March. On 22 March, surprising staff and at least this observer, npm laid off a number of workers on its open source team.
Please note that you can make a one-time or recurring donation of any amount to the Python Software Foundation that specifically supports PyPI and related packaging and distribution work (disclaimer: the PSF currently pays Changeset Consulting to work on PyPI and packaging), and that your org can sponsor the PSF for as little as USD$500 per year. And I am, as always, speaking here entirely for myself and not for any of my clients or colleagues.
# 19 Apr 2019, 11:00AM: Design, and Friction Preventing Design Improvement, in Open Tech:
This month a Recurser I know, Pepijn de Vos, observed a concentration of high-quality open source software in the developer tools category, to the exclusion of other categories. With a few exceptions.
I understood where he's coming from, though my assessment differs. I started reflecting on those exceptions. Do they "prove the rule" in the colloquial sense that "every rule has exceptions," or do they "prove the rule" in the older sense, in that they give us an opportunity to test the rule? A few years ago I learned about this technique called "appreciative inquiry" which says: look at the unusual examples of things that are working well, and try to figure out how they've gotten where they are, so we can try to replicate it. So I think it's worth thinking a bit more about those exceptional FLOSS projects that aren't developer tools and that are pretty high-quality, in user experience design and robust functionality. And it's worth discussing problems and approaches in product management and user experience design in open source, and pointing to people already working on it.
FLOSS with good design and robust functionality: My list would include Firefox, Chromium, NetHack, Android, Audacity, Inkscape, VLC, the Archive Of Our Own, Written? Kitten!, Signal, Zulip, Thunderbird, and many of the built-in applications on the Linux desktop. I don't have much experience with Blender or Krita, but I believe they belong here too. (Another category worth thinking about: FLOSS software that has no commercial competitor, or whose commercial competitors are much worse, because for-profit companies would be far warier of liability or other legal issues surrounding the project. Examples: youtube-dl, Firefox Send, VLC again, and probably some security/privacy stuff I don't know much about.)
And as I start thinking about what helped these projects get where they are, I reach for the archetypes at play. I'll ask James and Karl to check my homework, but as I understand it:
Mass Market: NetHack, VLC, Firefox, Audacity, Inkscape, Thunderbird, youtube-dl
Controlled Ecosystem: Zulip, Archive Of Our Own
Business-to-business open source: Android, Chromium
Rocket Ship To Mars: Signal
Bathwater? Wide Open? Trusted Vendor? not sure: Written? Kitten!
The only "Wide Open" example that easily comes to mind for me is robotfindskitten, a game which -- like Written? Kitten! -- does one reasonably simple thing and does it well. Leonard reflected on reasons for its success at Roguelike Celebration 2017 (video). But I'd be open to correction, especially by people who are familiar with NetHack, VLC, Audacity, Inkscape, or youtube-dl development processes.
Design: Part of de Vos's point is about cost and quality in general. But I believe part of what he's getting at is design. Which FLOSS outside of developer tooling has good design?
In my own history as an open source contributor and leader, I've worked some on developer tools like PyPI and a linter for OpenNews, but quite a lot more on tools for other audiences, like MediaWiki, HTTPS Everywhere, Mailman, Zulip, bits of GNOME, AltLaw, and the WisCon app. The first open source project I ever contributed to, twelve years ago, was Miro, a video player and podcatcher. And these projects had all sorts of governance/funding structures: completely volunteer-run with and without any formal home, nonprofit with and without grants, academic, for-profit within consultancies and product companies.
So I know some of the dynamics that affect user experience in FLOSS for general audiences (often negatively), and discussed some of them in my code4lib keynote "User Experience is a Social Justice Issue" a few years ago. I'm certainly not alone; Simply Secure, Open Source Design, Cris Beasley, The Land, Clar, and Risker are just a few of the thinkers and practitioners who have shared useful thoughts on these problems.
In 2014, I wrote a few things about this issue, mostly in public, like the code4lib keynote and this April Fool's joke:
It turns out you can go into your
Wikimedia and pushback: But I also wrote a private email that year that I'll reproduce below. I wrote it about design change friction in Wikimedia communities, so it shorthands some references to, for instance, a proposed opt-in Wikimedia feature to help users hide some controversial images. But I hope it still provides some use even if you don't know that history.
init.cfg file and change the usability flag from 0 to 1, and that improves user experience tremendously. I wonder why distributions ship it turned off by default?
I wanted to quickly summarize some thoughts and expand on the
conversation you and I had several days ago, on reasons Wikimedia
community members have a tough time with even opt-in or opt-out design
changes like the image filter or VisualEditor or Media Viewer.
- ideology of a free market of ideas -- the cure for bad speech is more
speech, if you can't take the heat then you should not be here, aversion
to American prudishness etc., etc. (more relevant for image filter)
- relatedly "if you can't deal with the way things are then you are too
stupid to be here" (more applicable to design simplifications like Media
Viewer and VisualEditor)
- people are bad at seeing that the situation that has incrementally
changed around them is now a bad one (frog in pot of boiling water); see
checkbox proliferation and baroque wikitext/template metastasis
- most non-designers are bad at design thinking (at assessing a design,
imagining it as a changeable prototype, thinking beyond their initial
personal and aesthetic reaction, sussing out workflows and needs and
assessing whether a proposed design would suit them, thinking from other
people's points of view, thinking from the POV of a newcomer, etc.)
- relatedly, we do not share a design vocabulary of concepts, nor
principles that we aim to uphold or judge our work against (in contrast
see our vocabulary of concepts and principles for Wikipedia content,
e.g. NPOV, deletionism/inclusionism)
- so people can only speak from their own personal aesthetics and
initial reactions, which are often negative because in general people
are averse to surprise novelty in environments they consider home, and
the discourse can't rise beyond "I don't like it, therefore it sucks"
- past history of difficult conversations, sometimes badly managed (e.g.
image filter) and too-early rollout of buggy feature as a default (e.g.
VisualEditor), causes once-burned-twice-shy wariness about new WMF features
- Wikimedians' core ethos: "It's a wiki" (if you see a problem, e.g. an
error in a Wikipedia article, try to fix it); everyone is responsible
for maintaining and improving the project, preventing harm
- ergo people who feel responsible for the quality of the project are
like William F. Buckley's "National Review" in terms of their
conservatism, standing athwart history yelling "stop"
I haven't answered some questions: what are the common patterns in our success stories (governance, funding, community size, maintainership history, etc.)? How do we address or prevent problems like the ones I mentioned seeing within Wikimedia? But it's great to see progress on those questions from organizations like Wikimedia and Simply Secure and Open Tech Strategies (disclosure: I often do work with the latter), and I do see hope for plausible ways forward.
# 17 Apr 2019, 09:13AM: Recurse Center, What Really Works And How We Know:
I participated in Recurse Center (formerly Hacker School) in 2013 and in 2014, and emerged a better programmer, a calmer and kinder person, and a more confident learner. Gender diversity was part of the quality of that experience:
When part of the joy of a place is that gender doesn't matter, it's hard to write about that joy, because calling attention to gender is the opposite of that....
But, as Nick Bergson-Shilcock says in "What we've learned from seven years of working to make RC 50% women, trans, and non-binary", "We focus on diversity so Recursers can focus on programming.":
In April of 2012, we announced our goal to make RC 50% women. Seven years later, we are close to reaching an improved version of this goal: 48% of new Recursers in 2019 so far identify as women, trans, or non-binary. This post is a summary of what we’ve tried, learned, and accomplished over the past seven years, as well as our overall strategy and why we choose to prioritize this work.
Bergson-Shilcock's case study shares stats, what didn't work, and what they don't know yet -- the people who run RC are consistently like this, and this writeup exemplifies their judgment, integrity, and foresight. Even when I've disagreed with RC's faculty, I have always come away from the disagreement with my trust in them intact or increased. How many institutions could I describe in that way? Not many.
One last thing -- I've recently been trying to avoid saying "community" when I really mean group, set, school, industry, project, or workplace, and Bergson-Shilcock's articulation is gonna help me do that and to value substantive communities:
Having a genuine community requires that people know the other people around them, and that everyone shares some fundamental values and purpose.
# 16 Apr 2019, 02:36PM: PyCon NA, !!Con, and WisCon:
I'm back in New York City, and preparing to travel a bit; May is my big conference month this year.
I'll start the month at PyCon North America in Cleveland, Ohio, practically the whole conference, 1-9 May. I'm co-organizing The Art of Python, an arts festival -- several short plays, plus a fanvid and live music -- the night of Friday, May 3rd. And during the sprints, 6-9 May, I'll be concentrating on the world of Python packaging and distribution, e.g., PyPI.
I'll go home to New York City, then go to !!Con 11-12 May, where I am not organizing or speaking or suchlike.
And then I'll be at WisCon in Madison, Wisconsin, for the whole convention, 24-27 May plus a little extra on either side. I will once again be the comedy auctioneer for the auction on Saturday night that benefits the Tiptree Award -- if you have something to donate to the auction, please let us know by 15 May. I may not make it to the Floomp or the vid party. I will probably be on a few panels; several panels are still seeking volunteer panellists (sign up by 19 April). I do plan to be at the Gathering and the Dessert Salon (heads-up, changes to Dessert Salon entry flow).
If you're going to be at any of these events, perhaps we can share a beverage! If you want to make sure that we do that, let's actually set up at least a tentative appointment soon, so I can put it in my calendar.
I will be more responsive to emails and text messages than to social media while at these conferences, and in particular, I may see mentions and direct messages on Mastodon but I probably won't see mentions or direct messages on Twitter. Also, I am pretty forgiving about being called mispronunciations of my name, but here's a recording in case you want help -- I also respond to "Vikki" which is the fake name I use with strangers at restaurants. And I will probably not hug you unless we know each other well.
# 01 Apr 2019, 08:58PM: Availability Update for April:
I'm going to be off social media a lot between now and about April 14th. Please email if you want to reach me - https://www.harihareswara.net/ & https://changeset.nyc/#contact have my address - but I will probably be slow & terse in response.
# 27 Mar 2019, 07:40PM: Expectations, Toil and Sludge, Discovery, And A Lot of Handwaving:
I have an inchoate tangle of thoughts I'll spill out into this sandbox for thinking -- sometimes on this blog you get well-organized how-to guides and analyses, and sometimes you get "what constellation do these points make?".
My cri de coeur on the unnecessary fiddly and risky labor of everyday life got quite a lot of people saying yes, THAT to me. A friend pointed me to Cass Sunstein's recent piece calling this sort of thing sludge, but only today did I remember a Jon Carroll piece I love that includes:
I wrote radio advertisements for the Mercury News that were read at the halftimes of San Jose State football games. I ran a kind of Keno-like circulation promotion game; I had to check thousands of entries a week to see if the numbers matched the ones I had previously drawn.
As I did, I repeated a sentence that had stuck in my head from some political science class. I thought it was from Marx: "Man shall be saved from repetitive labor." Maybe Marx did say it; silly man.
And that reminded me that, in DevOps, they call that kind of work "toil". Work that we need a human's judgment to do is fine; work that could be automated away is toil, and we should minimize and automate it. And sometimes the powers that be aren't willing to prioritize that work, perhaps because they don't care enough about the problem or about the burden of addressing it, which helps you understand Liz Fong-Jones saying: "I'm focusing my EDII work on making tech a *safe* place to work with adequate career advancement opportunities before I'd recommend it. I'm done with pipeline work and diversity toil."
So far, so clear, but this is where everything gets tangly, for me. I want to liberate myself from toil and sludge, and there are ways to dissolve the sludge in money or cleverness, like by hiring a virtual assistant, or negotiating a car purchase via email without having to quarrel with a sales rep in person or on the phone. And where there is unavoidable toil and disappointment I need to accept it and move on. A change of expectations can be its own kind of liberation. But I need to not just liberate myself! The classic serenity prayer asks for the serenity to accept the things one cannot change, the courage to change that which can be changed, and the wisdom to know the difference. But it's dynamic, not static, right? One also needs the discipline to make sure to check again later, to possibly un-accept a thing that turns out to be changeable, or the reverse....
Maturity seems to be a discovery of the things I can't do that I thought I could, and the surprising things I can do. There are core parts of me that will not change, like a tendency to want to feel helpful that can get in the way of actually making a dent in things. And then there are the things I find myself telling my friends (while being careful about advice): did you know this is a thing you can do? You can submit multiple talk proposals, not just one, to most tech conferences. You can submit a play, even if they haven't said specifically that they want plays. Sometimes you can negotiate a layoff. You can tell your professional network that you'd like to serve on a nonprofit board, in case anyone's looking to fill a seat. You can move, you can leave, you can, you can.
And some toil you can skip! And within that: some toil you can just skip, and it's fine. And then there's toil that, if you skip it, someone else has to pick up after you.
This is big and complicated and political and philosophical and whatnot. I should eat dinner.