My favorite media of 2022

Want to know what media I especially enjoyed or learned a lot from in 2022? I’ve made a list! I’ve been making similar lists for the past several years, of course, but this year I’ve added a poetry section.

Please note that while I read and watched these pieces in 2022, not all these works were published last year. I’m slow and get around to things in my own time.

Fiction

Unknown Number by Blue Neustifter (aka Azure)

Content notes: privacy invasion, transitioning

This heartrendingly hopeful story about transitioning gender actually came out in 2021, but I only discovered it as part of my reading up on Hugo nominees earlier this year. It’s a fast read, structured as a Twitter thread. When I first read this short story, it felt ephemeral — like something blowing past me that I just happened to catch. But rereading it feels especially ephemeral, given Twitter’s apparent lurching towards an end. (In the event the Twitter link stops working, the story is mirrored at GenderDysphoria.FYI.)

Everything Everywhere All At Once

Content notes: stylized violence (including some blood), immigration, tax audits, coming out

Probably my favorite film of the last year (if not longer), Everything Everywhere All At Once has gotten major accolades from a huge variety of sources. It’s brilliant on so many levels: casting, costuming, setting, storyline, everything I can list. It’s tough to explain the plot of the movie, because the name accurately describes the scope of the story. More importantly, though, I have long said that Michelle Yeoh should get to play everyone in every movie ever. This isn’t the way I expected to get that wish, but I got to see her in a Wong Kar-wai-esque role, in an absurdist comedy, and in a queer-child-of-immigrants-coming-to-terms-with-their-family film, all in one go, and it makes me so happy.

Kung Fu Wtf GIF by A24 - Find & Share on GIPHY

If you’ve some how managed to not watch Everything Everywhere All At Once yet, I strongly encourage you to make the time.

Derry Girls

Content notes: the Irish troubles, sectarian violence, alcohol use, bullying

I found this television show to be one of the most accessible texts on the Irish Troubles and the peace process in the 1990s I’ve seen. I’m not an expert on the topic, but I’ve studied the Irish Troubles quite a bit from personal interest, so please consider my recommendation in that context. It’s extremely emotional, but also riotously funny to balance out the tough topics. Derry Girls follows five teenagers growing up in Derry, Northern Ireland. They’re hilarious, but my favorite character is Sister George Michael, the principal of the school the main characters attend. Trust me, you’ll love Sister George Michael too.

Next Station, Shibuya by Iori Kusano

Content notes: exhaustion
I read this story by Iori Kusano after reading their story, Have Mercy, My Love, While We Wait for the Thaw, which is also good — it just didn’t hit me the way Next Station, Shibuya did. Next Station, Shibuya came out in 2017, although I missed it originally. The story explores the meaning of place and individuals’ connections to cities and other places, flavoring these ideas with poetry. The result is a beautiful ride on a Japanese train.

The Exultation of Eidolochrome by Mel Reynes

Content notes: obsessive behavior, isolation, mentions of the COVID-19 pandemic

I’ve read this story several times. After each reading, I felt haunted, but maybe in a good way. The protagonist will feel familiar to just about anyone who has spent a lot of time on social media, and will leave you thinking about how relationships can be performed, as well as where the boundaries of parasocial relationships may be.

Nona the Ninth by Tamsyn Muir

Content notes: death, violence, body horror, disordered eating, memory loss

I am obsessed with the Locked Tomb series and the latest addition to the series, Nona the Ninth, has only increased my feelings for these books. I feel like I’m always rereading them, and I find new details each time. Each of the books is dramatically different, yet in ways that build upon each other. Nona is nothing like what I expected or hoped for. It’s better, but I don’t know where Muir could have pulled it out of. There’s even a dog! I’m waiting impatiently for the fourth book in the series to come out this fall.

Poetry and music

What Joy is Yours by Brivele

Content notes: government oppression, colonialism

Brivele’s music crosses from punk to klezmer and back again, mostly in Yiddish and often with a political bent. You don’t need to speak Yiddish to enjoy their music, though — they’ll get you moving either way. This latest EP includes their version of “Bella Ciao,” which may be my favorite version of the song to date.

Craft Talk by Fargo Nissim Tbakhi

Content notes: violence against Palestinians, death of a child, imprisonment

Tbakhi turns the process of writing this poem into a visceral experience of the violence faced by Palestinians. For all the pain the poet surfaces, though, there’s a vital delicacy and tenderness to this poem. It’s a difficult read, but one I encourage you to sit with.

The World Keeps Ending, and the World Goes On by Franny Choi

Content notes: colonialism, terrorism, slavery, climate change, immigration, abortion

Originally published in 2019, Choi’s poem evokes the many apocalypses we face each day, taking both the reader and those apocalypses back to their roots. As I read this poem, I felt like Choi captured the inside of my mind — anxiety chasing after so many different problems, an intensity that put me in the eye of a storm of apocalypses. Choi released a new book of poetry in late 2022 by the same name as this poem — it’s on my reading list but I haven’t gotten to it yet.

Non-fiction

Therapy was never secular by Hannah Baer

Content notes: mental healthcare

This article looks at the relationship between therapy and religion, focused on Judaism, but also with some forays into Zen Buddhism. Baer addresses what it takes to mainstream a therapeutic practice — from making that practice ‘evidence-based’ to removing community aspects. Of course, this requires discussing Sigmund Freud. Freud’s work was initially seen as divorced from his Judaism, but recent scholarship has found new connections, which Baer explores. The piece gave me tons of thoughts about the future of mental healthcare.

Please Be Kind to the Singularity by Jay Edidin

Content notes: ableism, discussions of slavery

Our approach to AI mirrors discourse on race, ability, and even slavery — and speculative fiction so far supports it at every step. Jay Edidin wrote this piece on neurodivergence and artificial intelligence in 2021, laying out an alternative. It’s just for speculative fiction for now, but it could inform all those machine learning ethical questions that Silicon Valley keeps punting, provided the article makes its way in front of more programmers. I want to highlight one quote, which I keep turning over in my head.

The Turing Test isn’t a test of consciousness. It’s a test of passing skill, of the ability of a conscious entity to quash itself for long enough to show examiners what they want to see. This is the bar humans set for minds we create: we will acknowledge them only for what we recognize of ourselves in them. Our respect depends not on what they are or claim to be, but on their ability and volition to pass as what they are not.

So You Want to Feel Better: Navigating Grad School, Disability, and the Language of Pain by Micaela Bombard

Content notes: ableism, mentions of the COVID-19 pandemic, descriptions of medical care

In this essay, Micaela Bombard uses the problems with academic accommodations as a framework for a poetic examination of chronic disability. Prior to the pandemic, Bombard didn’t consider herself disabled. But the medication that controls some of the symptoms of Bombard’s condition also turned out to be useful at reducing certain COVID symptoms. That caused a shortage, which then left Bombard unable to handle work she’d managed previously and in need of accommodations. Getting accommodations, of course, sucks. But Bombard is a poet and each line of her piece drips into your mind like the slow drip of an IV. Due to that poetry and pacing, this isn’t just another essay about the personal impact of disability.

I Grew Up Believing “The Satanic Verses” Was Dangerous. Here’s Why That Matters by Elamin Abdelmahmoud

Content notes: targeted violence

After the stabbing of Salman Rushdie last fall, Elamin Abdelmahmoud wrote this piece where he examined his own past and beliefs about Rushdie. Ruhollah Khomeini issued the initial fatwa against Rushdie around the time of Abdelmahmoud’s birth. Today, Abdelmahmoud still flinches when seeing Rushdie’s books in stores, even though he knows better. He also digs into the contradictions that have developed throughout Rushdie’s career, including how the fatwa pushed Rushdie to embrace politics counter to those shown in his early writing.

The Carrier Bag Theory of Fiction by Ursula K. Le Guin

Ursula K. Le Guin wrote this piece in 1986, which makes it the oldest item on this list. How did I miss it when it came out originally? Well, I hadn’t learned to read in 1986. Le Guin starts with ‘the carrier bag theory of human evolution,’ which says that containers (bottles, bags, etc.) are crucial to humanity’s evolution. At the most basic level, you can’t collect or store food without a container. You can only eat that food immediately. That’s not the story humanity tells of our origins, but it’s a valuable perspective. Le Guin draws the line from this theory to fiction-writing, proposing that:

“I would go so far as to say that the natural, proper, fitting shape of the novel might be that of a sack, a bag. A book holds words. Words hold things. They bear meanings. A novel is a medicine bundle, holding things in a particular, powerful relation to one another and to us.”

It’s a very different approach to writing than you usually hear about. It’s a framework for the type of speculative fiction Le Guin wrote, which can feel more relatable than those focused more on discussions of heroic technologies.

A last note

Just a head’s up: I’ve included links to Bookshop that will pay me a (very) small affiliate commission if you click through and make a purchase. However, I’d recommend any of these reads even without affiliate commissions — if you borrow books from the library or acquire them through other non-purchasing methods, I think that’s awesome.

This Saturday — the Jewish Makers Market

I’m excited to share that I’ll be vending at the Jewish Makers Market at Books with Pictures on Saturday, December 17 from 12 to 4 p.m.

I’ll have my usual assortment of Jewish zines, with a few political zines mixed in because I can’t help myself. I’ve got a new project in progress, with the amazing Meli of Weird Jewish Digest. The new project won’t be available at this market, but you can probably get me to talk about it if you swing by.

Updates to my zines

I tabled at the Portland Zine Symposium earlier this month. The event went well, and also provided me with an excuse to update several of my zines. They’re listed below, as well as a two new zine I’ve made recently. One is based on an article I wrote a few years ago about unreinforced masonry buildings in Portland and the other is a version of the mini-zine I made for the PDX Jewish Zine Fest popup I hosted in August.

Jewish zines

While I published Towards a New Tu B’Shvat less than a year ago, I’ve found a few errors since then. I also wanted to tweak the information architecture a bit. So I cleaned up those typos and made some changes to the design. I’ve updated the files available here (which includes a PDF for printing, a PDF for screens, and an EPUB).

My set of eight Hanukkah zines needed updating even more, given that I wrote them in 2018. Hanukkah at the White House has the most changes, because the White House has hosted several Hanukkah parties in the past four years. I’ve updated the files available here.

I also now have a one-page zine of resources for folks interested in Jewish zine in Portland, Oregon. The file is available to print or share.

Political zines

I’ve also updated two zines that I routinely share around election time: this one-page zine covering registering to vote in Oregon (including how to deal with common concerns) and this one-page zine on how to claim the Oregon political contribution tax credit (and get $50 off your tax bill).

A new zine, sort of

A few years ago, I wrote an article about unreinforced masonry buildings here in Portland, Oregon. That might sound like an extremely niche topic, but URM buildings are a major risk factor for earthquakes — folks living and working in these buildings face higher risks. In the time since I wrote my original article, the City of Portland has actually managed to go from doing as little as possible to doing absolutely nothing about these buildings. I updated material from my original article to create this zine.

This zine covers the risks, how to recognize URM buildings, and what we can do about them. This new zine is available to download and share in multiple formats, and if you live or work in a URM building, you have my blessing to run off copies for everyone in your building. Laundry rooms are a great place to leave reading material for your neighbors.

A Jewish zine pop-up in Portland — an after-event report

I enjoy making zines. I especially enjoy making zines about Jewish topics. When I saw that the Jewish Zine Archive was planning to hold a Jewish Zine Fest, I obviously got excited. I got so excited, in fact, that I signed up to host a pop-up event in Portland.

Since this event is my first time hosting an in-person event since the beginning of the pandemic, I figured I’d write up my experiences, along with what I’d do differently if I were immediately running another similar event.

A sticker reading "All Scars are Beautiful", a hamsa drawn on green paper, a yellow zine titled "How to mail a letter anywhere in the US", and a tiny purple zine with a flame on the cover

Timeline

I signed up to host a little late, on July 12. As a result, I had 30 days to get everything set up. As a result, I wanted to keep things as simple as possible: I figured just getting a chance to hang out, share zines, and maybe make a few new zines would be both fun and manageable, provided I could get the right location.

Location

Books with Pictures, at 1401 SE Division Street, was my first choice. The store is one of my favorite places in Portland, not just one of my favorite comic shops. As it happens, the Eisner Awards agree with me and named Books with Pictures the best comic shop in the world while I was prepping for this event.

As far as event planning goes, Books with Pictures has a lot going for it:

  • an inclusive vibe that makes most people feel comfortable
  • good COVID-19 safety practices, including requiring masks within the shop
  • an outdoor garden space, along with a food cart pod and eating area
  • a space I’ve already seen folks navigate with a variety of mobility devices
  • a willingness to experiment with different kinds of events (Books with Pictures’ mini-con in early July was a key inspiration)

Books with Pictures also stocks zines, so I figured the location would be a good opportunity for zine makers to connect with a stockist, if that was something any attendees wanted to do. People could also pick up more zines without anyone needing to schlep along a bunch of projects. Luckily, the garden was available for this event!

I received a few comments from attendees on the decision to use a space that isn’t explicitly Jewish (like a synagogue or a Jewish community center). The comments were positive and I think they are emblematic of a larger discussion of changes happening within Judaism right now. We need more great Jewish events and spaces that are outside of institutional Judaism.

I already had Books in Pictures in mind when I agreed to organize a pop-up, in part because I personally value being Jewish outside of buildings set aside for that purpose. I also chose Books with Pictures because I wanted a space that not only has an existing connection to zine communities, but also because zines are about accessibility and often appeal to communities that have been othered. Books with Pictures’ whole shtick is creating inviting spaces for folks who have been othered by the standing comics community.

I was also aware from the get-go that some of the discussions I hoped to have at the pop-up wouldn’t be the best fit for most of the Jewish institutions around Portland. Like many other Jewish institutions, a lot of Portland’s synagogues and other Jewish organizations are committed to Israel and Zionism. Even mentioning Israeli nationalism or oppression of Palestinians is off the table in those sorts of spaces. That’s a problem, especially for me since some of my own Jewish zines focus on dismantling nationalism. So I wanted a space that allowed for discussions that just wouldn’t happen in more official Jewish spaces.

Access efforts

I prioritize making events as accessible as possible. For this event, my biggest concerns were

  • ensuring COVID-safety for attendees who are high risk, including immunocompromised folks
  • keeping the costs of attending as low as possible
  • guaranteeing access for folks using mobility aids, because outdoor spaces can be harder to navigate

Of course, providing access in one way can limit other kinds of accessibility. I know that there are probably people who didn’t feel they could participate in an outside event — there’s no way to control factors ranging from outside allergens to high levels of sensory input. However, I feel that focusing on the aspects of access listed above ensured as many people as possible would be comfortable at the event.

I described access efforts in the event landing page, as well as when discussing the event. I also included contact information for folks who needed access options beyond what I initially set up.

COVID safety

Many people are acting as if the pandemic is over. Personally, I’m only going to events that are masked and either outside or in well-ventilated spaces. Obviously, any event I organize needs to at least meet my personal standards.

Attendees were required to wear masks at the event, which was outside. Working with Books with Pictures was easy, as the store requires shoppers to wear masks and advocate for mask use even at their outside events. They’ve held a bunch of events in their outside spaces, including their garden and on the sidewalks around the business, so they’ve got practice with the steps necessary to make outdoor spaces accessible (like making sure folks can get to the indoor bathrooms without too much hassle). That made ensuring mobility access much easier for me.

All attendees wore masks and no one shared any complaints. All I needed to do was set out spare masks where folks could grab them, and remind a few folks to mask up as they arrived. While I didn’t specifically ask attendees their thoughts, I do know at least a few folks came who are even more cautious than I am. That makes me feel like I hit my goals. From what other event organizers have shared on social media, I think a lot of people are willing to mask up, provided they’re asked to do so.

Financial access

Zine events are typically inexpensive to participate in. Zine culture revolves around making and sharing work that costs a fraction of the cost of professionally produced work. But even a free event can cost money to participate in — expenses like transportation to get to and from a location or copying zines to swap can make some folks feel like they can’t participate.

With that in mind, I decided to offer a few stipends of $25, structured to be as low-effort as possible (both for me and for folks requesting the stipend). The application was a form asking for name, contact information, and payment options. I limited the payment options to methods that were easy on me (Venmo, CashApp, or cash at the event).

One person requested a stipend and I was able to provide them with funds before the event. In my experience, small stipends make a big difference to the folks who request them. I’ve had minimal issues with requests from people who may not actually need stipends, though that may be due to the relatively low dollar amount of this sort of stipend.

Physical safety

I’ve done enough work enforcing community codes of conduct that I plan for worst case scenarios for even the smallest of events. I tweaked the code of conduct template I use for meetups. One tweak I prioritized was ensuring that I’d be able to address anyone responding to support for Palestinians with accusations of anti-Jewish bias.

Speaking of anti-Jewish bias, one of my concerns about running this event is the growing bias and violence against Jews in this country. I didn’t think that a zine meetup presented a huge risk, but I wanted to make sure to mitigate that risk as much as I could. I reviewed social media thoroughly for potential issues (including checking up on prospective attendees) and planned for contingencies.

In the end, we had no reported problems with attendees’ conduct or problems from outside sources.

Supplies

Even though I haven’t been running events lately, I still maintain a stash of certain supplies. I found three separate containers of name tags when I was preparing. I also have a fair amount of zine-making supplies on hand at any time. However, I did make a trip to Scrap in order to bulk up my supplies — and also to have a good excuse for visiting Scrap. I got a wealth of different kinds of paper (including two full reams of printer paper, one pink and one green) and didn’t break the $20 mark.

I did make some swag for the event — I haven’t had an excuse to pull out my button maker in a minute, so I had to make pins! I also made a mini-zine of relevant resources, as well as a short version of the event’s land acknowledgement and code of conduct. Of course, I printed the minizine on some of the pink paper I scored at Scrap. Here’s the mini-zine, if you’d like to check it out!

Two one-inch button pins reading "JZF PDX" and two pink mini-zines titled "Jewish/PDX zine resources (in no particular order)"

Here’s what I took with to the event in terms of supplies:

  • Event logistics: Name tags, sharpies, extra masks, extra phone chargers, and a spare battery
  • Zine-making supplies: A variety of types of paper, scissors, stapler, glue, stickers, colored pencils, crayons
  • Swag: Pins and mini-zines
  • My own zines to swap and share (as well as a few zines in my collection I wanted to show off)

All told, I spent under $50 to run the event. Of course, someone without a stash of event supplies or with more stipend requests might need to spend a bit more to run an equivalent event.

Outcomes

The Portland Jewish Zine Pop-Up was a resounding success. I was expecting a turnout of perhaps 15 people, but we had more than 35 attendees! I think everyone had a good time and got to engage in a way that worked for them.

A group of 13 people wearing masks, several of whom are holding zines. They're standing in front of a yellow wall with two windows framed in blue. A blue chair is in the foreground.

A few highlights that really excited me:

  • A kid made their first ever zine!
  • Three people came from Seattle!
  • Eight people have asked me when the next Jewish zine meetup is!

Interestingly, only a handful of attendees were also going to the Jewish Zine Fest — the rest of the attendees were just present to hang out with other folks interested in Jewish zines.

Future improvements

I haven’t yet decided on whether to host a second Jewish zine pop-up, despite the requests to do so. If I were to do another one, I definitely want at least one co-organizer! I’m pretty sure that this event was relatively easy to run because of my excitement — a follow up event may be a little harder to put together.

But I am already thinking about what I might change for a follow-up event. Here are a few of the things I’m thinking about:

  • Signage — I somehow forgot all about signage during my prep work. Putting up some signs to suggest people wear name tags or direct folks to the restroom is just good sense.
  • Land acknowledgement — I always feel awkward about land acknowledgements. They’re important, but since I’m not Indigenous, I worry about getting land acknowledgements right. Jewish spaces add an extra layer of complication and I want to do more research and think more about how to improve on the land acknowledgement I offered.
  • Cold weather space options — Books with Pictures’ garden is an amazing space, but it will likely be a little less perfect during winter months.

Talk — Supporting the George Floyd Protests in Portland: Demonstrations, Legal Support, and Django Apps

A slide with a gray background and large black text reading "Supporting the George Floyd Protests in Portland: Demonstrations, Legal Support, and Django Apps". In the lower right corner, smaller black text reads "@thursdayb / @pdxgdc"

I gave a 25ish-minute talk at PyCascades 2022 covering a Django app that Jamey Sharp built and I supported for the Portland GDC. My script and slides are below. Please note that this is not an exact script; I had to cut some material from my talk during recording to get it closer to the time limit that I’ve left in this version of the script. Consider it a little bonus material! You can watch a video of the talk on YouTube or below:


A gray slide with large black text reading "Content notes: This talk will include discussions of institutionalized racism and police violence, as well as the technology that supports them."

I’m here to talk about my experiences doing bail and legal support for protestors arrested in 2020 and 2021 during the George Floyd Uprising. Since I’m White and I’m talking about supporting people arrested while asking for racial justice, I need to say that I’m only talking about the specific project I worked on. I didn’t organize or lead protests or anything like that. Please consider this a report back on the small chunk of mutual aid that I worked and nothing more. Furthermore, I did not do this work alone. This talk covers the efforts of dozens of people who I am proud to work alongside.

This talk covers technical topics, but it also includes discussions of institutionalized racism and police violence. If you’re not in a place where you can hear about these topics, please consider stepping away for the moment. You can always watch the recording later.

A gray slide with large black text at the top reading "A brief timeline". A white box takes up most of the slide below, with slightly smaller black text reading "May 25 — Derek Chauvin kills George Floyd in Minneapolis.
May 26 — Protests start in Minneapolis.
May 27 — Black and Indigenous women hold space in memory of George Floyd at Portland’s Multnomah County Justice Center.
May 28 — Around 100 protestors gather at Multnomah County Justice Center.
May 29 — More than 1,000 protestors march to the Multnomah County Justice. Police arrest 13 people. PDX GDC provides bail and legal support.
May 30 — Multiple protests take place. Police arrest 64 protestors. PDX GDC launches our GoFundMe."

On May 25th, 2020, George Floyd went to a grocery store in Minneapolis and made a purchase. Thirty-one minutes later, he was dead at the hands of a police officer.

On May 26th, hundreds of protestors took to the streets in Minneapolis, demanding accountability for Floyd’s death — and the long list of other deaths of Black people at the hands of police officers.

On May 27th, a small group of Black and Indigenous women gathered in Portland at the Multnomah County Justice Center to hold space in memory of Floyd. 

On May 28th, around 100 people gathered at the same building, with some people sitting in the doorways. Riot police violently pushed people away from the building. 

On May 29th, over 1,000 people gathered at Peninsula Park in North Portland and marched into downtown to gather again at the Justice Center. Portland police officers arrested 13 people.

The Portland General Defense Committee immediately started posting bail for protestors who were arrested. The GDC started as a legal defense organization for union organizers and workers. Members of the Industrial Workers of the World founded the GDC in 1917. The Portland branch started in 2017 and has provided jail and legal support to protestors since its start. We did the same things for folks arrested on May 29 that we did for past protests: We made a spreadsheet of people arrested and started figuring out who needed bail money, including prioritizing arrestees by relative risks at the jail. Those risks included whether the person arrested was Black or Indigenous, LGBTQ, or had health risks.

Dealing with thirteen arrests at once was a stretch for us. At that point, we were used to two or three arrests at one event and supporting maybe two people with ongoing cases at any given time. We were able to pull together bail funds from members and friends, but we knew we would need to raise money to cover legal costs and reduce the bail burden we’d already taken on. Prior to 2020, the Portland GDC had a budget of a few thousand dollars per year. I put up a GoFundMe early on May 30th. By the end of that day, police had arrested 64 people. 

Protests continued every night into January 2021. I’ve heard estimates that 70,000 people participated over those eight months. Portland still sees several protests and rallies around racial justice every month. Local police and federal law enforcement agents made over 1,000 arrests at protests in Portland. They beat, gassed, and otherwise hurt countless protestors and journalists. 

A gray slide with large black text reading "No time and no resources". A screenshot of a  screenshot with column headings listing information about arrestees and color-coding for arrest status

As you can guess, gathering and managing information on who had been arrested, who needed bail money, and where each person was in the legal process outgrew a single spreadsheet rapidly. On June 6th, 2020, I contacted on Jamey Sharp, who I knew from various tech-related things here in Portland and asked for help. I was deep in the weeds at that point and basically gave Jamey free rein to figure out how to replace this terrible spreadsheet with something that could manage information better. We were not in a position to pay Jamey and I am eternally grateful he was able to help us. The Portland GDC still has minimal resources beyond dedicated volunteers and some funds earmarked for legal expenses. While we eventually raised over a million dollars, that money is all for to bail and legal expenses and therefore not available for administrative costs like building software applications.

A gray slide with large black text in the upper left corner reading "Jamey Sharp". In the middle of the slide are a black box and a white box. The black box contains a logo including a stylized red rocket blasting off and the words "Comic Rocket" in white letters. The white box contains black text reading "comic-rocket.com".

One of the reasons I reached out to Jamey is because of his experience scraping all kinds of websites. He was unable to speak at this event, but I encourage you to check out his project Comic Rocket at comic-rocket.com, which is one of the places he got that experience. I figured Jamey would be able to automate some of our information gathering, letting volunteers focus on things technology can’t do. Jamey’s experience meant that he had the first iteration of our app up and running on June 12, with all the notes in our terrible spreadsheet imported and ready for us to work on.

As the summer of 2020 wore on, we added users and functionality and scaled up a little just about every day. The Portland GDC’s workflow constantly changed based on capacity and the growing number of arrests. This was not a situation where a developer got to make nice neat little upgrades and slowly roll them out to users. This was duct-taping steering to an airplane that was already in flight and occasionally doing barrel rolls. 

A gray slide with large black text reading "Scraping multiple systems" and two screenshots of pages from the websites of the Multnomah County Sheriff's Office and the Oregon Judicial Department.

The web app we use for the Portland GDC’s work can be thought of as two key pieces. Most people only ever see an interface to a database, listing people who were arrested with a bunch of fields about their contact information, the status of their court case, and various other details. It’s an amped-up, search-friendly spreadsheet. 

But the app also pulls in information from several sources, automatically prepopulating many of those fields and providing updates to volunteers. Those sources generally don’t have APIs, so the app scrapes them. The sources include Oregon state court records and jail records from the Multnomah County Sheriff’s Office. MCSO is responsible for processing anyone arrested on state charges and many of those arrested on federal charges in Multnomah County (which includes the majority of the city of Portland). 

The information we need to do our work comes in an absurd variety of formats, with an equally absurd set of access requirements. For instance, a lot of court information is in PDFs that are scans of printed documents, often with important handwritten notes like “Dropped” to indicate a suspended charge. 

Federal courts work differently than state courts. and have less public information that can be scraped. Federal court cases go through PACER, which is an app that charges 10 cents per page when you access a document, as well as fees for search results and non-case specific reports. 18F, the federal government’s in-house technical consultancy, has looked at upgrading the system but their report is best summarized as no one knows how PACER works, it’s unmaintainable, and we need something entirely new and built from scratch.

Important information also disappears regularly. MCSO’s arrest information will change with no warning and no record if someone at the jail updates information, including during the booking process. Records of arrests drop off the site entirely after a few weeks. There’s also no listing of citations — incidents where protestors are charged with a crime, usually a misdemeanor, but not arrested. And the information is available is often full of errors. Information collected during arrests is the worst. We’ve known for a long time that law enforcement agents will “tweak” certain information they collect to make their own stats look better. But the data we saw from protests made those changes much more obvious. Police record the races of people arrested incorrectly constantly. In particular, we’ve seen glaring errors around the race of people of color, which have allowed the Portland Police Bureau and other agencies to claim that almost all protestors arrested in Portland are White. We’ve also seen names, genders, physical descriptions, and more recorded incorrectly. 

We’ve had to figure out the meanings of certain data through trial and error because there’s not any documentation available. MCSO also uses different terms and definitions for specific charges than the Oregon court system uses, to the point that our app only grabs the statute number a person is charged under and maps it to correct charge information in our database.

This system is especially infuriating when you realize that it’s on the people who are arrested to correct any errors. Since errors can have consequences that include being kept in jail, they can be impossible to correct without expert legal help. People who are arrested are also expected to stay up to date on their cases, without any of the modern notification systems you might expect. If someone’s charges are suspended, that person is instructed to call the district attorney’s office at least monthly to check if their charges have been reinstated for at least the next two years. If they don’t, they’ll likely miss a court case which will result in a warrant being issued for their arrest and other terrible outcomes. COVID has also meant that policies change constantly, often without online notice. Even before the pandemic, details around court hearings routinely changed on the day of, but as things moved online, everything about legal processes got more complicated.

These websites are also delicate. Some were constructed by contractors trying to keep costs down, while others are built by companies that know that they can take advantage of people who are incarcerated without anyone important caring. 

A gray slide with large black text reading "Finding work arounds" and a screenshot of a Djgo website interface showing data related to court hearings with personal details redacted.

Django and Python were the logical choices for this project for a few reasons: First, Jamey had already built Django apps and was pretty familiar with the framework. And while I haven’t built a whole Django app by myself, I’ve gone through some workshops. Second, Django’s built-in admin interface makes managing a bunch of structured data really easy. The user interface enables anyone to edit that data without tons of training. Jamey was also already familiar with Scrapy, a Python scraping framework, so he could get that set up with a Django-based app quickly. 

One of the pieces of information we need to grab automatically are upcoming court dates. The Oregon court calendar site is particularly irksome. Jamey jumped through lots of programmatic hoops to get that scraper running: the site limits search to 550 results, without offering any “next page” button. The scraper can’t just grab all calendar entries over the next 3 months without hammering the site harder than we want to. So the solution is a little complicated: the scraper looks at the specific case numbers we care about, then groups all the cases with the same starting numbers, trimming off the last two digits. When the court calendar is queried with those truncated group numbers, there are a max of 100 active cases returned. By batching together cases, the scraper minimizes the number of queries — though Jamey has pointed out that if whoever designed the court calendar site had just limited to search results to 1,000 rows instead of 550, he could have cut the number of queries even further.

Of course, there’s still plenty of work that requires a human touch. We have to audit our data regularly, adding in pieces that MCSO missed or that come from conversations with the protestors we’re supporting. Django has made those audits relatively simple, even though they still require a lot of reading through information for the humans involved. We can use tags for indicating the specific categories that need auditing at a given time, as well as sort and filter information in a variety of ways. 

A gray slide with large black text reading "Onboarding and training users" and a screenshot of a Google Doc containing software documentation

The Portland GDC is not a large organization, even now. We’re also not an especially technical group. We recruited volunteers to work on legal support in July and August of 2020, and more volunteers have joined since then.

In preparing this talk, I asked folks who use the app regularly what technical knowledge they had before volunteering with the GDC. The range was even wider than I expected. One of our most technical volunteers (other than Jamey and myself) came in knowing some JavaScript and could use the command line. But we also had folks with very little technical experience, who might use Google Docs or email, but not much else. With some onboarding and documentation, they were all able to make use of the app, as well as suggest improvements that would make our work easier.

All onboarding, and all other work for that matter, happens remotely. Django’s user interface is reasonably simple right out of the box and while we’ve tweaked the user experience lightly, Django uses a visual language in interfaces that is very similar to what’s considered “standard” on the internet. 

I created our technical onboarding process. Another person was responsible for walking new folks through specific support situations, communication norms, and our policies, so I was able to focus just on getting people on to the app. 

I do a video call with each new user that includes a 30-minute walk through of the app. We actually don’t always need the full 30 minutes, but we set up user accounts during that session and getting folks through their first time logging in was often hard — in fact, it was the point our users struggled with the most. That’s because some of our account setup emails wind up in spam. So I built in time to search around for emails. I also limited onboarding sessions to a max of three new users because I only have enough patience to go through three people’s spam folders at a time.

During the walk through session, we go through each section of the app as well as our documentation. Our documentation is a shared Google Doc with screenshots and written descriptions — it’s not fancy, but it does contain answers to basically every question anyone has asked me about the app. 

A gray slide with large black text reading "Adding features" with a screenshot of a Django menu.

We tweaked the app as users asked questions and needed more features. Jamey wisely pushed back every so often and reminded us of our options, even deleting certain features when they were no longer needed. If Jamey hadn’t provided a technical voice of reason, we’d probably have a full-featured CRM at this point, even though that’s not what we need. 

And when I checked in with our users while getting ready to give this talk, they told me that the app was intuitive, friendly, hard to break, and empowering. Users felt empowered to work with data, even if they didn’t come in knowing tech, legal proceedings, or activism. Some features still don’t get used as much as possible. But volunteers say this is more about the time available to do work, not due to difficulties with the app. People also like that they don’t feel beholden to the app and that it’s not judgmental about unfilled fields. One person even said that using the app reminds them of using a message board because they can see the notes and work of other volunteers, which helps them stay connected through all this remote work. 

A gray slide with large black text reading "Assessing risk factors" and a screencap of the "Security in Django" web page, which is available at https://docs.djangoproject.com/en/4.0/topics/security/

We realized early on that we were sitting on a pile of valuable information. While most of what we pulled together was publicly available, it wasn’t combined in this way anywhere else. Between what we scrape and the information we add from the people we’re supporting, we created a doxxer’s paradise. Not only do we have data like physical addresses and phone numbers, but we also have notes on who needs what kinds of help. The risks of holding this information are massive. If someone with bad intentions got access, they’d be able to easily harass people both online and offline. We have an ethical obligation to mitigate every risk we can and to protect this information. The alternative is compounding the harm legal systems are already doing to folks. 

We also faced a lesser risk of losing access to the sources where we pull information from. That did happen several times — not only does MCSO remove information from their arrest records, but the Oregon court system stopped allowing access by anything with an IP address located outside of the US, which coincidentally enough included us at the time. Jamey found us work-arounds, but I’m always waiting for the next time one of these systems changes their access controls. We also faced concerted attacks on any tool we publicly use: we dealt with numerous malicious reports to GoFundMe, Twitter, our email provider, and more. 

We reduced our risks in several ways. First off: we obviously didn’t go around telling people about this app. After all, if someone is attacking your email, they’ll attack every other system they can find related to your organization. We’re facing less attention online now, so talking about the app here is a calculated risk that we’re comfortable with — but I’m not telling you who hosts the app or other important details to keep those risks to a minimum.

We also look closely at everyone who gets access to the app. Our due-diligence process for volunteers includes an in-depth internet background search and confirmation of the information we find with shared connections where possible. Jamey was also able to set up multiple types of user accounts so that we could limit each volunteer’s access to information they actually need to do their work. If, for instance, someone is writing letters of support to people who are currently incarcerated, they can only see those people in the system who they’re writing to. Those volunteers don’t get much more than an address and some biographical information. 

Technical security is, of course, an aspect of risk mitigation. Django has good security features out of the box, assuming you use them. By using Django, we could use built-in security options and also access documentation that we could adapt to explain what was going on behind the scenes to volunteers. But the most important step to managing our security concerns was our effort to avoid collecting information that we didn’t feel we could protect — and that policy would have been the same no matter what framework or language the app was written in. No technology choice is as important as defining what data you’ll collect and how it will be handled. 

A gray slide with large black text reading "Inevitably burning out" and a screen shot of a blog post about a protest on December 31, 2020 which is available at https://pdx.recompilermag.com/2020/12/31/december-31-protest-new-years-noise-making-event/

One of our biggest ongoing issues was burn out. Basically everyone burnt out over the course of 2020 and 2021 — doing legal support just made us burn out faster. We’ve had higher turnover among volunteers than I’d like, but this is hard work. Even though we don’t need to worry too much about gathering and processing data, we’re dealing with emotional situations and even the best outcomes for the people we’re working with involve lots of time dealing with an adversarial legal system.

The only way to handle the fluctuations in capacity is to document EVERYTHING. Everything that happens in an individual case gets recorded in the app. Everything about the app gets documented, too. Our documentation isn’t fancy: it’s a document that I add questions and answers to whenever an app user asked me something. I lifted some pieces out of the Django documentation and reworded them a bit to ensure our users understood how to handle a problem even if they didn’t come in with a ton of technical experience. And any time an edge case came up, I took tons of notes. 

I did worry a lot about what would happen when Jamey and I burned out, however. We both managed to hang on until the app was basically stable and there hadn’t been any new features needed in a while. I did want to make sure that someone had enough knowledge to at least decide if a situation was an emergency and to have someone who could step up if such an emergency came to pass. Luckily, our most technical volunteers reached a point with the app where they seemed capable of handling questions and I drafted a back-up developer who would be willing to handle emergencies before I had to take a break.  

A gray slide with large black text reading "Outcomes for protestors" with a screenshot of a CNN broadcast of a press conference with George Floyd's family after a jury found Derek Chauvin guilty of Floyd's murder. Closed captioned text on the broadcast reads "...Portland stayed in the streets".

I think the work I’ve done with the Portland GDC over the past two years is some of the most important work I have done or will do. We put together legal support for hundreds of protestors out of Django, duct tape, and donations from strangers. We did our part to ensure that protestors could be in the streets for months on end and reduced the risks they faced. One of the most meaningful measures of our work, at least for me, is that Rodney Floyd, George Floyd’s brother, thanked Portland protestors specifically last April. He said the support of protestors meant so much to their family and that staying in the streets helped ensure his brother’s killers faced justice.

So here’s where everything stands as of February 2022: Mike Schmidt, the district attorney here, suspended most protest-related charges. That’s not the same thing as dropping charges entirely. Instead of dropping charges, he’s just not currently prosecuting charges. The DA has the option to reinstate suspended charges for years to come. He’s already reinstated a few. By suspending charges, rather than dropping them, the state also gets to hold on to bail money and evidence until the charges age out. And since almost $700,000 of the money the Portland GDC raised went to posting bail for hundreds of protestors, that money is not available for legal fees or bail for future protests for an indeterminate amount of time. Schmidt is considered a very progressive DA and he’s still chosen to hold protest-related charges over protestors’ heads for years to come. 

The federal district attorney, Scott Asphaug, hasn’t been so nice. Several protestors are facing federal charges, with Black and Indigenous folks facing the harshest penalties. There are at least three such cases which will be going to court in the next few weeks with each defendant facing years in jail. It’s also worth noting that Asphaug previously worked for the Portland police union to get police officers out of trouble during internal investigations and the U.S. Department of Justice does not consider that relationship a conflict of interest.

The city of Portland, as well as several federal agencies, are facing lawsuits from many of the protestors who police attacked. Residents of Portland who were not involved with protests but were teargassed or otherwise harmed are also bringing their own lawsuits. While a few cases have already been settled with payouts by the relevant government agency, many seem to be going to court.

While Portlanders are no longer protesting in the streets every night, cases related to the George Floyd Uprising won’t be over for months, perhaps even longer. The Portland GDC is still doing legal support and expects to be doing prison support for folks unjustly incarcerated over these protests for years to come. 

A gray slide with large black text reading "Donate to support protestors" with screencaps of the Portland GDC's donation links, which are hyperlinked in the text of this post.

I hope you found this talk valuable, both in terms of learning about launching a Django app with minimal resources and even less time and in terms of understanding the amount of work it takes to support protestors through arrests and court cases. The Portland GDC continues to support people arrested at protests in 2020 and 2021 and if you’re able to, please consider donating to help cover the legal costs that many protestors are still dealing with. You can donate through CashApp, Venmo, or by mail to PDX GDC, 2249 East Burnside Street, Portland, OR 97214.

PDX.Vote: Officially launching a news site covering Portland-area elections in 2022

I’ve launched a new project that I’m excited to share with all of you.

TL;DR

PDX.Vote rounds up news related to the 2022 elections taking place here in Portland, Oregon. It also publishes long-form articles about specific aspects of Portland’s politics. Please support this work financially.

If you’re interested in my thoughts behind this site and my plans for its future, keep reading!

Why a news site focused on elections?

I’ve always followed local politics pretty closely. One of my first paid blogging gigs was covering the 2008 presidential election, which really helped me understand that local politics impact our day-to-day lives more than most things happening in Washington, D.C. I was also an election judge in Maryland and saw first hand how hard voting was for some folks.

Since moving to Portland, I’ve made zines about our local elections, as well as writing articles, massive Twitter threads, and even a newsletter for a specific election. Folks seem to find these resources useful and I always wind up with far more research than will fit in just one article or one update. I’ve been thinking about ways to share more of what I find and the idea of a website has been in the back of my mind for a while.

I also think that a lot of the media covering local news just aren’t covering local elections in any real depth. That’s partially due to the financial constraints on a lot of news media. But there’s also a sense that nonpartisan groups like the League of Women Voters write great voters guides that provide enough information for most voters to make their decisions. Now, I read the Portland League of Women Voters’ guides cover to cover and think they’re a great resource — but those guides are put together by folks who are trying hard not to influence the outcome of the races they’re covering.

Local elections decide matters of life and death importance here in Oregon, from the oversight of police forces and the violence they enact to the budgets for supportive services for folks without stable housing. But a nonpartisan report doesn’t tell voters whose policies are likely to increase deaths or save lives. We deserve better information.

Furthermore, we deserve a wider variety of perspectives on our elections. Nonpartisan guides are generally written by volunteers, who can afford to donate their time and often have a certain amount of privilege. News media tend to employ folks with privilege, as well — as of 2018 about half of all newsroom staff are white men. The only way to change which perspectives we’re hearing about political candidates is to actively seek out people with different experiences and then pay them for their reporting.

What are my short-term plans?

I’ve already soft-launched PDX.Vote with three key types of coverage:

  • Digests of news related to the current election cycle
  • Weekly calendars rounding up important meetings, deadlines, and other dates relevant to local politics
  • Articles that go deeper into specific races, as well as important context for upcoming elections

At the moment, I’m doing all of the writing for the site. But with the official launch of PDX.Vote, I’m accepting pitches for articles. I’m also actively reaching out to people who are able to talk about political issues in ways I can’t. I’m privileged enough to be able to fund my startup costs and an initial writers budget so that I can pay for these contributions. My goal is to share election coverage from as diverse a group of contributors as possible. In terms of numbers, the first metric I’m measuring is the percentage of contributors from different racial backgrounds than my own, which I plan to report back on quarterly. It’s not a perfect metric, of course, but it’s one that I’m confident I can track as the only administrative staff for the site, as well as one that will give a top-level view of how well I’m doing at recruiting writers with different experiences. If you’re interested in writing for PDX.Vote, please contact me.

While I can cover the initial costs of setting up the site, I do need community support to publish this coverage. My first financial priority is covering the expenses of running the site, including the media insurance policy I needed to feel safe doing this work. My second financial priority is paying contributors. It would be nice to be eventually rewarded for my labor, but that’s much farther down the list.

So how can you support PDX.Vote? Currently, you can give us direct financial support. The current options are a one-time payment of $10 or a recurring monthly payment of $10. I’ll be making other options, such as printed voter guides, available later on. However, I will neither be accepting advertising on the site for the foreseeable future nor putting up a paywall in front of content. Both options make me feel uncomfortable when we’re talking about election coverage: Every resident (including non-voters) should be able to access information about the governments under which they must live, without paying for that information. And advertising tends to affect what news media publish, even without any explicit expectations. While I’m happy to discuss financial support in larger amounts, I do want the site to be primarily funded by the people I hope will most benefit from having free coverage available — people who can afford to throw $10 towards PDX.Vote, rather than people who can afford to spend thousands of dollars a year on multiple newspaper subscriptions.

Because I’m talking about elections and political power, I think it’s important to be as transparent as possible, especially about finances. I’m making the site’s financials available on a monthly basis. I’ve also included a transparency section on the ‘About’ page, including my own donations to candidates and political committees. I’ll be asking contributors about their connections to candidates and political committees and adding that information as I deem appropriate and safe. I’m also explicitly talking about my own biases and the site’s slant as a whole: I’m a leftist and you should expect PDX.Vote’s coverage to lean left as well. Furthermore, I am critical of even leftist elected officials — rather than being invested in maintaining a status quo, I want us to rethink what governance looks like and limit the harm the state can cause to each of us.

What are my long-term plans?

Well, a lot depends on how many folks find PDX.Vote a useful resource. While I’m confident I can put together regular updates through the November 2022 election, I’m not yet sure if I’ll continue the site after that time. Financial sustainability and reader interest will probably be the determining factors.

I would love to continue to build on the site’s coverage long-term if I can. I’m already working with a few contributors for one-off pieces and I want the opportunity to bring in some folks as regular contributors if I can afford to pay them for their work. I see two key areas of expansion: first, geographic coverage and, second, linguistic coverage. Currently, PDX.Vote covers Multnomah County elections, because that’s the county that covers the largest chunk of the city of Portland. It’s also the county I live in. I’m working on coverage of Washington and Clackamas Counties because they’re part of Metro, along with Multnomah County. It’s hard to cover Metro races without having at least a working knowledge of Washington and Clackamas Counties. I’d like to eventually cover all seven counties that include Portland and its suburbs, but that’s beyond what I can do without regular contributors. Bringing on folks to cover these additional counties will require finding reporters already living in each county, so that we can read coverage from folks actually impacted by county politics. And I have to admit that expanding coverage to Clark County (and Vancouver, Washington) will probably be low on the list. Clark County is important to understanding Portland politics, but it’s in Washington State and therefore plays by a different set of rules. Adding Clark County coverage to PDX.Vote will take more work than adding another Oregon county.

I also believe that expanding coverage outside of the English language is crucial. Portland residents speak a wealth of languages and deserve news in languages they understand. Translation is expensive and I don’t expect to be able to publish every article in multiple languages right away, but that’s my ultimate goal. Currently, I see Spanish, Vietnamese, and Chinuk Wawa translations as priorities. While the community of Chinuk Wawa speakers in Portland is smaller than the communities that speak several other languages, Portland sits on land that rightfully belongs to Indigenous tribes, including Chinookan tribes. Chinuk Wawa is a jargon used by many tribes. While I’m not Indigenous, I believe in the Land Back movement. Providing news in Chinuk Wawa seems like a tangible step towards respecting Indigenous sovereignty that goes deeper than a simple land acknowledgement.

I’m not sure how much I’ll be able to accomplish until I see what sort of financial support community members are prepared to provide. But I will do everything I can afford to do that will make local political information more widely available here in Portland. I’ll keep y’all updated.

Towards a new Tu B’Shvat (a new zine)

Content warnings: Discussions of death, genocide, state violence

The cover of a zine with black text and a drawing of a tree on the cover. The text reads "Towards a New Tu B'Shvat"
The cover of “Towards a New Tu B’Shvat”

I made a short zine exploring new ways to observe Tu B’Shvat, which you can read on my Twitter or grab as a PDF. There are both print and screen-friendly copies of the PDF at that link. Please note that I wrote this recently enough that I have not been able to run it past a sensitivity reader yet — all errors are my own and I fully expect to have a new version in time for Tu B’Shvat 5783.

If you’re interested in reading further on the topics I mention in the zine, here is a list of websites, articles, and videos that I recommend, broken down by topics. The sources I used to create my zine are included here, along with those covering details I couldn’t fit into just eight pages.

​What is Tu B’Shvat? History and origins

New and evolving ways to observe Tu B’shvat

  • Shvat: Moon of Interdependence” (article) — This article from Dori Midnight discusses historical connections to communities of care. It also includes practices for connecting with trees for the month of Shvat and links to a playlist of Tu B’Shvat songs.
  • Tu B’Shvat? Why Not?” (article) — Linda Gritz, from the Boston Workmen’s Circle, documented the process of creating a secular observance of Tu B’Shvat.
  • Tu B’Shevat in the Age of Ecofeminism” (article) — This article includes several ways to observe Tu B’Shevat while considering both climate change and feminism. Writer Steph Black highlights options like a Reverse Tashlich ceremony to clean up rivers.
  • Tu Bi’Shevat” (website) — Ritualwell has an entire section of their website devoted to meditations, liturgy, and other suggestions for observing Tu B’Shvat.

Resources on Indigenous land return

  • Remothering the Land” (video) — Patagonia produced this 10-minute film to discuss the concept of ‘rematriation’ (or ‘remothering’ the land) using sustainable agriculture techniques with William Smith, land steward of the Village of Huchiun, and Nazshonnii Brown-Almaweri, land team member of the Sogorea Te’ Land Trust.
  • #LandBack is Climate Justice” (article) — Restoring stolen lands to Indigenous sovereignty counteracts climate change, as documented by the Lakota People’s Law Project.
  • Braiding Sweatgrass (book) — Robin Wall Kimmerer’s collection of essays on Indigenous ecological knowledge provides a foundational guide. At the time of compiling this list, I haven’t finished reading Braiding Sweatgrass but I already find it informative enough to recommend.
  • Landback U (website) — The Landback Movement created a series of courses on land struggles in different locations to build a foundation of knowledge about Indigenous sovereignty. The organization accepts donations to continue their work.
  • Land Reparations and Indigenous Solidarity Toolkit (guide) — This guide from Resource Generation goes through methods for paying land reparations and returning land to tribes.
  • Native Land Digital (website) — You can look up the Indigenous tribes native to specific places on the Native Land Digital map.
  • The Myth of a Wilderness Without Humans” (article) — This piece is actually a chapter from Mark Dowie’s book, Conservation Refugees: The Hundred-Year Conflict Between Global Conservation and Native Peoples, which looks at the harm inflicted on Indigenous people by many conservation efforts to date and showcases the importance for following Indigenous leadership.

Resources on Jewish relationships with Indigenous sovereignty

  • How to Come Correct” (article) — This guide from the Sogorea Te’ Land Trust clarifies how non-Indigenous people can respectfully support Indigenous movements and listen to Indigenous leadership.
  • Jews on Ohlone Land (website) — Jews on Ohlone Land is an organization building Jewish community solidarity on on traditional Chochenyo and Karkin Ohlone lands. The organization directly supports the Sogorea Te’ Land Trust.
  • Tu Bishvat: Dish with One Spoon” (article) — Mazon Canada published this article on the Haudenosaunee concept of ‘the Dish with One Spoon,’ a way to discuss the interconnected relationship between humans and land. The article also links to a video where historian Richard Hill covers some aspects of Haudenosaunee culture and history that’s worth watching.
  • Being Jewish and Owning Privilege” (article) — Rabbi Dev Noily writes about balancing their experiences as a white Jew unpacking personal privilege.
  • How Tokenism Affects Jews of Color and 5 Ways Allies Can Interrupt It” (article) — The Jews of Color Initiative works for racial equality in Jewish communities, including for Indigenous Jews. This article is an important reminder to avoid tokenizing Jews of Color in our communities and includes steps we can take.

Resources for planting trees

Resources for working in nature, including agriculture

  • Cultivating Culture 2022 (conference) — This upcoming conference includes sessions on Jewish relationships to agriculture and food. Tickets start at $36.
  • Crops of African Origin of African Diffusion in the Americas” (article) — Michael W. Twitty has long influenced my thoughts on what Jewish food is. He wrote this article to highlight the use of crops native to Africa in American cuisine. Twitty’s book, The Cooking Gene, goes deeper into the creation of Southern food culture, including the impacts of slavery.
  • National River Cleanup Organizer Handbook (guide, PDF) — If you’re interested in organizing a river cleanup in your area, American Rivers provides a step-by-step guide to creating a successful event.

Portland-specific resources

Upcoming talk at PyCascades 2022

I’m giving a talk at PyCascades 2022! I’ll be covering the technology the Portland General Defense Committee used to manage bail and legal support for hundreds of protestors during the George Floyd Uprising, including our custom Django app. The Portland GDC is continuing to support protestors as court cases proceed.

PyCascades is virtual again this year. If you’re interested in attending, tickets are $50 for three days of Python talks, sprints, and social events. Discounted tickets are available for students and enthusiasts (anyone whose employer won’t cover the cost of their ticket).

The 20 Best Things I Read Last Year*

Here are 20 works I read in 2020 and 2021 that I am still thinking about. I’ve divided the list into fiction and nonfiction, but that’s the only organizing principle at work here. Please note that while I read these works in the last two years, not all were published during that time. I’m including 2020 in this year’s round up because time is made up and I’m not entirely sure 2020 ever ended.

Fiction

  1. Harrow the Ninth by Tamsyn Muir (novel, purchase) — I included Gideon the Ninth, the first book in the Locked Tomb Series, in my 2019 recommended reading. Harrow the Ninth is Muir’s follow up and I loved it just as much as Gideon. The series is about lesbian space necromancers with feelings, which feels like it should be an easy sell. I have heard, however, that some folks didn’t enjoy Harrow quite as much as Gideon, possibly due to some really interesting structural decisions. Personally, I nerded out about Muir’s unusual approach to structure, but your mileage may vary. I’d also like to add a special shoutout for “The Mysterious Study of Doctor Sex,” a short story that takes place between Gideon and Harrow. If nothing else, it’s hilarious to read because one character is named Doctor Sex due to numerically-based naming systems rather than due to any reference to sexy times. Content notes: death, body horror, mental illness, and gaslighting.
  2. Earthquake relief. Mexico. 2051.” by Malka Older (short story, free) — I’ve loved Older’s novels, especially Infomocracy, for years. She combines a lot of really interesting political ideas with characters who I’d like to hang out with. Older wrote this short story for The New Humanitarian, which covers emergency response, and it was the first piece of fiction the site ever published. It’s a really thoughtful take on what emergency response could like in the future and an argument for completely reassessing how we deal with problems on municipal and global levels. Content notes: natural disasters.
  3. Hibiscus Tacos” by Ire’ne Lara Silva (short story, free) — I think about this short story regularly. Silva pulls together threads of food, love, death, and immortality in a way that feels more like poetry than most short stories. That’s no accident, given Silva is a poet with four collections under her belt. Content notes: Food and eating, death, suicide, medical procedures, and hospice care.
  4. Bitter Root by David F. Walker, Chuck Brown, and Sanford Greene (comic, purchase) – I picked up this collection of the first five issues of Bitter Root based on the recommendation of the staff at my local comic shop (who consistently hand me comics that I absolutely have to read). The comic follows the Sangerye family through Harlem in the 1920s, as they fight monsters using traditional rootcraft and conjurings. Volume 2 and Volume 3 are now available, though I haven’t picked up a copy of the third volume yet. Content notes: Racism, family separation, and body horror.
  5. (emet)” by Lauren Ring (novelette, temporarily free) — Ring’s story of a programmer struggling with how her work endangers people rings so true for me. There’s an air of magical realism, drawing on Jewish folktales of golems, which adds a layer of meaning that I’ve had to sit with. Ring never mentions the ways that technology companies enabled efforts to wipe out Jews but her storytelling drips with that deeper meaning. Content notes: Surveillance and parental death.
  6. Elatsoe by Darcie Little Badger (novel, purchase) — Little Badger is a Lipan Apache, as is the protagonist of Elatsoe. Drawing on her own culture, Little Badger created a version of the U.S. full of Indigenous monsters and magic (as well as some supernatural colonizers). The titular main character, nicknamed Ellie, is a teenager with the power to raise ghosts who seeks justice for a family member. Elatsoe is Little Badger’s first novel and I can’t wait to read more long-form work from her. Content notes: Racism, death (including murder), colonization, and horror elements.
  7. Lena” by qntm (short story, free) — This short story is a little difficult to describe, but “Lena” is a fast read. I’ll try to do it justice, but take a chance on reading it even if it doesn’t sound like quite your thing. The story is structured like a Wikipedia article and discusses the technical process of creating digital versions of an individual’s personality. Hints of the ethical and psychological concerns appear throughout discussions of workloads and intellectual property. Content notes: Death, dementia, and exploitation.
  8. Lore Olympus by Rachel Smythe (comic, free) — This webcomic is a reimagining of Greek mythology with both modern and historical elements, told through exquisitely illustrated panels. I could write thousands of words just on Smythe’s color palettes. Lore Olympus follows Persephone and Hades from the very beginnings of their romance, while exploring themes of consent and sexual assault. Interestingly, Smythe chose to eliminate concerns around consent present in myths about Persephone and Hades, instead looking at other gods and how their social positions could impact relationships and be used harmfully. Smythe is very good about providing warnings about potentially triggering comics. The story is on-going and is closing in on 200 ‘episodes’ (which I would compare to individual comic issues in length). If you prefer to read your comics in dead tree format, the first 25 episodes are available in print and future volumes are planned. Content notes: Sexual assault, consent, child abuse, murder, and legal repression.
  9. Salvage by Muffinlance (novel, free) — Yes, this a 127,175 word fanfic based on Avatar: The Last Airbender. Yes, I am recommending that you should read the whole thing (assuming you’re already familiar with ATLA). Yes, I possess no shame about my reading habits. I watched ATLA for the first time in 2020 and really enjoyed the storytelling. I read a lot of ATLA fan fiction after finishing the television series, and Muffinlance quickly became one of my favorite authors. I’m not the only one — Salvage is the top-ranked work for ATLA on Archive Of Our Own. Content notes: discussions of child abuse and death on the same level as the original television series.
  10. Lies I Never Told You” by Jaxton Kimble (short story, free) — Stories of everyday magical powers have a special place in my heart. Kimble’s short story hit that spot, with a character who writes out true statements, including predictions and personal insights. The result is a quick exploration of a teen’s coming of age and exploration of her own identity that somehow has the weight of a much longer piece. Content notes: Parental death, homophobia, and transphobia.
  11. Submergence by Arula Ratnakar (novella, free) — Ratnakar’s novella follows a scientist searching for a cure to an incurable plague, fighting to maintain their personal ethics — but only after that scientist has already died. Their memories are implanted into the mind of an investigator. While Submergence is a fascinating story of questioning just how far science should go, Ratnakar’s world building is even more enthralling. She sets the stage of a near-future still facing climate change and explores tactics youth-led movements might use to combat that change in a way that reminds me of the efforts of the Sunrise Movement. Content notes: Climate change, pandemics, death, exploitation, privacy, and medical procedures.

Non-Fiction

  1. Handcuffed and Unhoused” by Meli Lewis (radio episode with transcript, free) — While technically a podcast episode, “Handcuffed and Unhoused” is incredibly important reporting on the criminalization of homelessness in Portland, Oregon. Lewis spent over two years collecting data, conducting interviews, and examining the failures of local efforts to address homelessness. Her reporting even uncovered concerning comments by Portland officials regarding their desires to further criminalize people without access to stable housing. Content notes: Homelessness, legal repression, police violence (including a recording of a police killing), and classism.
  2. The Next Supper by Corey Mintz (book, purchase) — Mintz’s exploration of the future of the restaurant industry is fascinating, especially in light of COVID-19’s impact on restaurants’ ability to safely function. The book covers topics like sustainability, employee rights, and immigration. I wrote a longer review, contextualized for Portland, Oregon. Content notes: Food, racism, pandemics, abusive behavior (including sexual abuse).
  3. Ministry of Violence” by Tal Lavin (article series, free) — This three-part series is a hard read, but worth it. Lavin created this three-part series to examine corporal punishment in evangelical Christian households. I’m not Christian, but as I live in a Christianized society, I’ve seen some impacts of the sort of corporal punishment Lavin describes. But it’s very hard to understand how culturally ingrained these sorts of punishments are and to stop ignoring the reality that these punishments are essentially child abuse. Lavin created a definitive piece that provides insight for those outside evangelical Christian culture (and maybe those inside it, as well). Content notes: Child abuse, abusive relationships (including romantic relationships), and PTSD.
  4. Weird Jewish Digest by Meli (weekly newsletter, free) — Meli’s weekly newsletter is ‘just’ a round up of links and events connected to Judaism. But it’s one of the most inclusive round-ups I’ve found and I look forward to every email (including the cute photos of Jewish pets at the end of each week’s newsletter). Meli includes tough topics and avoids unthinking approval of certain nations that typifies many Jewish publications. I strongly recommend a sign-up if Judaism is part of your identity in any way. Content notes: Sometimes includes links discussing anti-Jewishness and other difficult topics. Meli includes specific content warnings on each email.
  5. The Myth of a Wilderness Without Humans” by Mark Dowie (article, free) — Part of a longer book which I have not yet read (Conservation Refugees: The Hundred-Year Conflict Between Global Conservation and Native Peoples), Dowie’s article looks at what many people think they know about the history of national parks and other nature preserves. U.S. history is often taught in a way that erases Indigenous presences and the history of natural spaces is no different. Places like Yosemite National Park are marketed as untouched nature, despite millennia of presence by residents like the Miwok tribe. Dowie further discusses how the Miwok and other tribes actually created and tended the spaces that later became national parks, during which process the U.S. military forcibly removed Indigenous people from these lands. Content notes: Racism and colonization.
  6. Image Conscious” by Jasmine Sanders (article, free) — Sanders provided a bittersweet look at Black Romantic art, based on her familial experiences with selling art through home parties and other direct sales methods. Combining art by Black artists with discussion of the businesses that connected those artists with buyers, this article introduced me to several artists I quickly came to love. Sanders also examines the ways structural oppression has played out in art markets. Content notes: Racism and structural oppression.
  7. Why Frida Kahlo Still Isn’t a Great Woman Artist According to the Market” by Hall Rockefeller — I am a Frida Kahlo fan and, as such, I’m easily persuaded to read just about anything about Kahlo or her work. Rockefeller’s article is a standout piece, however, because of its examination of how Kahlo is perceived by curators, collectors, and other ‘experts.’ I recommend paring this article with Sanders’ “Image Conscious” (above) and then angrily making art of your own. Content notes: Misogyny.
  8. Jean and Jorts: the extended metaphor for workplace accommodations nobody asked for” by Fiona Robertson — Jean and Jorts took the internet by storm while I was in the process of writing this post. The story of these two cats originally appeared as an “Am I the Asshole?” post on reddit, which I recommend reading, along with this update posted later. The original poster asked for advice about whether they were perpetuating stereotypes about orange cats’ relative intelligence. The internet has gone wiled for Jorts, the orange cat in question, as well as Jean, Jorts’ kind companion. One response in particular caught my attention: Robertson’s discussion of Jorts and Jean as a metaphor for workplace accommodations. This write-up rings so true to my own experiences and provides a more accessible explanation of accommodations than the others I’ve read. My only complaint is that we have to talk about animals to get humans to take each other’s needs seriously. Content notes: Ableism.
  9. The State of Portland News” by Thursday Bram (article series, free) — I wrote this article, but this is my list and I make the rules, so I’m including it. I’ve referred back to this piece several times since posting it and I’m still pleased by how it turned out. Published in two parts, this piece covers who pays for and consumes news in the Portland area (Part One) and who owns publications and decides what to cover (Part Two). Content notes: Structural oppression, legal repression, and online harassment.

Just a head’s up: I’ve included links to Bookshop that will provide me with a small affiliate commission if you click through and make a purchase. However, I’d recommend any of these reads even without affiliate commissions — if you borrow books from the library or acquire them through other non-purchasing methods, I think that’s awesome.

A review of The Next Supper with a side of Portland context

Content notes: Discussions of deaths due to COVID-19, abusive behavior (including sexual abuse), racism

I read The Next Supper by Corey Mintz recently and it’s been stuck in my brain. I tweeted about the book, hoping that someone would write a review of The Next Supper, contextualizing the information it contains for Portland, Oregon. And then I remembered that sometimes you just have to write the article you want to see out in the world. So this review is kind of that, with the caveat that I’m not a food journalist and haven’t really set foot in a restaurant in almost two years. Another caveat worth noting is that I received a free copy of the book through NetGalley. I don’t think that influenced this review — but if you are at all worried, please note that the link above goes to the WorldCat entry for The Next Supper. You should be able to find a library near you with a copy rather than spending money based on my potentially biased opinion.

Readability

I found The Next Supper very readable, especially for a book telling me that everything about how we eat is probably bad. Mintz shares anecdotes showing that he’s not judging other eaters. He has committed the same sins as the rest of us — including eating at Taco Bell.

It’s comforting to know that none of us are alone in struggling to eat in a way that goes beyond stuffing the nearest calories down our gullets. I know I have terrible eating habits, but I’m not the only one. I’m trying to cut back on takeout after basically living on it for the last few years. I’ve been wondering how other people eat without relying on picking up prepared food from restaurants. Turns out that I’m part of a trend! The Next Supper documents a massive trend in relying on restaurants (as well as other sources of prepared foods, like supermarkets) — in 2018, US consumers spent more money on dining out than on groceries.

In The Next Supper, Mintz planned to cover the future of restaurants — and he did so, but not in the way he planned. Mintz began writing the book before the COVID-19 pandemic, during which the restaurant industry crumbled. From Mintz’s research, it’s clear that key trends around staffing, sustainability, and finances were dramatically escalated by pandemic lockdowns.

Key Topics in Context

Mintz covers a lot of ground in The Next Supper and I certainly don’t want to just repeat what he’s written. But Mintz wrote about national numbers (and international in many cases, given that he covers the restaurant industry in both Canada and the US). Since I live in Portland, Oregon, a city known for its food culture and wealth of local restaurants, I’m interested in what The Next Supper implies for the restaurants around here. To that end, I’m going to cover a couple of key topics from the book.

One fact stood out to me: Mintz says that there are far more restaurants in the US than can be supported by the number of diners. Partially due to big brands constantly pushing growth, the US had roughly one restaurant per 500 people before COVID. There’s just no way that consumers can support that many restaurants based on math Mintz presents. Portland’s restaurants tend to be independent, but the numbers are even more extreme here. I’m not sure how many restaurants are in Portland, but OpenTable currently lists over 5,000 restaurants in this city. That number is definitely low since there are plenty of restaurants that don’t use that site. Portland’s metro-area population in the last census was roughly 2.5 million. With just the 5,000 restaurants on Open Table, we already hit the level of one restaurant per 500 people. If we had a comprehensive list of restaurants in the Portland metro area, I bet we’d actually find that Portland’s ratio is closer to one restaurant per 300 people. That’s unsustainable unless we dramatically transform the relationship between consumers and restaurants.

Wages and Tipping

Staffing is a thread that runs throughout The Next Supper through sections on tipping, wages, abuse, and immigration. Portland-area restaurant staffing is a little different than what you may see in other cities. Oregon requires that restaurants pay full minimum wage of $12 per hour to servers, rather than allowing bullshit like paying a server $2.13 and counting on tips to bring that rate up to something someone might be able to live on. Furthermore, Portland itself has a higher minimum wage than surrounding areas, with a rate of $14 per hour.

Tipping is still common here (although I think it’s past time for us to find a way to eliminate tipping and actually pay everyone a fair wage). Mintz’s inclusion of Michael Lynn’s research on tipping caught my eye, especially given the racism built into Oregon’s governance from the first state constitution onward. Lynn’s research has demonstrated racial disparities in the tips diners give to servers. The disparity hits the point that forcing servers to rely on tips feels like an actionable civil rights violation. I’m not a lawyer, of course, but I doubt we’ll see substantial changes to tipping culture without that kind of in-depth examination and refutation.

Of course, tipping is only one way restaurant employees are compensated for their labor. As I browsed through job listings for restaurant staff here in Portland, I noticed that the listings didn’t quite match up with Mintz’s discussion. Many of these jobs list benefits like paid-time off and offer hourly rates above minimum wage. That’s a good sign for local food culture, although what job listings offer often doesn’t match the reality of working for a given restaurant. It’s easy to find lots of posts like this one about applying to multiple jobs offering one wage and then actually offering significantly less to new hires. Bait-and-switch techniques are common in hiring restaurant staff right now. There’s also a long history of wage theft in the form of unpaid training, paying day rates (rather than hourly wages), unpaid overtime, etc. in the restaurant industry, which Mintz goes into in more depth.

Mintz doesn’t touch on one factor in restaurant hiring that I think is crucial: line cooks had the highest COVID mortality level in 2020 of any profession. No fault to Mintz — I doubt that this information was available before The Next Supper’s content was finalized — but the reality is that an almost incomprehensible number of skilled servers and cooks died or became disabled since early 2020. When we see claims that restaurants are understaffed, we need to push back. We need to talk about the many reasons why restaurant staff aren’t prepared to work for businesses that exploit and endanger them.

Employee Abuse

When discussing staffing, Mintz also covers a wide variety of abuses that are commonplace in the restaurant industry. Portland’s restaurants are no exception. During the summer of 2020, many restaurant owners and chefs faced calls for accountability for sexual harassment, abusive work environments, and other types of harm. In Portland, many of those calls were channeled through an Instagram account operated by Maya Lovelace, who owns Yonder. They were later cataloged by Eater PDX, including concerns about Yonder. While some of the people responsible for these harms are no longer running restaurants, there are still plenty of similar problems in the kitchens around town.

These problems are compounded by a variety of larger social issues. There’s an underlying misogyny that enables business owners to sexually assault staff members, an underlying racism that allows business owners to take advantage of undocumented workers, and an underlying devotion to capitalism that makes wage theft a standard business practice.

Personally, I’m unconvinced that call-out posts will reform these problems at an industry-level. Collective action, such as unionization, is the only strategy that I’ve seen work. Unionizing both independent restaurants and local chains is likely the most useful strategy, and one that Portland may be able to rely on. With the recognition of the Burgerville Workers Union, we have the first unionized fast food chain in the country. We just need to build on that success.

Third-Party Delivery Apps

Third-party delivery apps — which around here includes Uber Eats, Postmates (owned by Uber), DoorDash, and Caviar (owned by DoorDash) — are notoriously bad for restaurants and delivery drivers alike. There are plenty of examples, from pocketing delivery drivers’ tips to charging fees to restaurants for orders that don’t go through the apps. Independent restaurants get the worst deals, as big brands like Applebees negotiate with delivery providers to keep costs down. The Next Supper points out venture capitalists with long-term plans fund these apps. They subsidize the cost of destroying other delivery options as well as keeping prices down long enough to get consumers reliant on these apps. Third-party apps can afford lobbying efforts or they can punish users with local fees when local governments are willing to push back against their practices.

Communities (including restaurants, delivery staff, and diners) need to plan for the long term. We need plans for both minimizing how capitalistic interests can mix extra costs into our food budgets and for building better systems for getting food in the hands of hungry people. I see organizations like CCC PDX as a start to that discussion. Local bicyclists formed a collective to deliver food and other products in partnerships with local restaurants and retailers. A logical next step might be building an app that handles handles local deliveries for local brands. It could offer equitable splits of both expenses and profits without sending money outside the Portland ecosystem. I don’t think that’s enough, long term, but the conversation has to start somewhere. Only once we’re actively talking about these issues will we be able to bring up options like collective purchasing, neighborhood-based food systems, and other options that move us towards radical change.                  

Sourcing

Portland does make an appearance in The Next Supper, or rather there’s a discussion of the Portlandia sketch during which two restaurant diners learn about their locally sourced chicken, Colin. There is, of course, plenty of truth in Portlandia’s comedy. Many Portland restaurants make a point of discussing where they get meat, produce, and other supplies from. But Mintz points out that we don’t have a system for confirming those claims, especially for independent restaurants.

McDonald’s — which I learned is the world’s largest buyer of beef, pork, potatoes, lettuce, and tomatoes during my reading — has a variety of mechanisms for auditing their supply chain for reducing harm. There are also a variety of NGOs that work to hold McDonald’s and other large chains accountable. But there’s virtually nothing in place for smaller businesses. Mintz catalogues different ways restaurants can lie or stretch the truth about the sources of their ingredients. As we look at our local dining options, we are responsible for deciding who we trust. But, frankly, none of us have the resources to check whether a given restaurant might be lying. There’s no easy solution to this problem and it will only grow as climate change advances and diminishes the quality of certain crops.

Ownership

Ultimately, many of the problems with the restaurant industry grow out of problems with ownership, especially of large chains that can make decisions that move the market for everyone else. It’s tempting to ignore problems with big chains if you live inside Portland’s city limits: Red Lobster and Outback Steakhouse are only in the suburbs (due in part to minimum wage laws), so there’s a sense that their problems are better dealt with by the residents and governments of Beaverton, Lake Oswego, or Vancouver. But these big companies make plenty of decisions that impact folks inside city limits and we need to pay attention.

The National Restaurant Association (or, as Mintz calls them, the “other NRA”) is a major lobby in Washington DC. The “other NRA” is one of the chief lobbyers preventing paid sick leave legislation from passing at a federal level. They don’t just harm restaurant employees with their political goals, but every employee in the country. Paid sick leave should be a right for every employee. The state of Oregon has legislation granting paid sick leave, but only for full-time employees of companies with more than 10 full-time employees.

Taking Action

While the problems Mintz discusses are national or even international, few of us have the resources to work on that level. But we can work on those issues on a local level, improving Portland’s share of the restaurant industry. One key step is encouraging local food journalism that goes beyond restaurant reviews. If we have local food media that covers supply chains, staffing, and other facets of the restaurant business, individuals don’t need to try to figure out those details on our own. Of course, local journalism has issues of its own. Eater PDX’s staff works hard, as do the writers in charge of covering food at publications like the Portland Mercury and Portland Monthly, but those publications all have clear goals that don’t prioritize critiquing the restaurant industry. We need something closer to the Racist Sandwich podcast, with a more explicit focus on Portland. (Fingers crossed for another season of Racist Sandwich soon.)

Getting good information is only part of the equation. We need to act on that information. We all want to make good choices about what we eat, including choosing restaurants that minimize harm. Mintz sees the need for more action, telling us “Don’t just vote with your fork, vote with your vote.” We need collective action, which can include voting for local candidates as well as unionization drives at restaurants, getting off of third-party delivery apps, and believing folks about sexual harassment and other abuses they’ve experienced. The problems within the restaurant industry are the same problems we see throughout society — perhaps written small enough that we can create real change on a practical timeline.

In closing, I found The Next Supper to provide a good lens on the restaurant industry, including some of the changes wrought by COVID. I’ve only covered a small chunk of the material in the book and how it relates to Portland’s restaurants — to cover it all would take, well, a full book.