From the state-wide lockdown

Next two weeks are going to be intense as the wide spread of COVID-19 becomes more obvious and hospitals get overloaded. People are upset now about just staying home, and it’s going to get so much worse/more traumatic. I hope we all are able to be kind and compassionate to each other and hold space for each other. This is just the beginning.

The California state-wide lockdown started last Thursday evening. Here’s some details.

Stay home except for essential needs

Everyone is required to stay home except to get food, care for a relative or friend, get necessary health care, or go to an essential job. If you go out, keep at least 6 feet of distance.

and,

The California State Public Health Officer and Director of the California Department of Public Health is ordering all individuals living in the State of California to stay home or at their place of residence, except as needed to maintain continuity of operation of the federal critical infrastructure sectors.

Here’s the PDF of the description of critical infrastructureEssentialCriticalInfrastructureWorkers; it’s pretty interesting.

At our house, things are nearly as they usually are, since I’ve worked from home for years and have had long periods of limited ability to go out. Danny is WFH, and we like being around each other, and the (adult or nearly so) kids are with other parents right now. It’s pretty peaceful. I am not 100% feeling well (exhausted, headache, low fever hits me a couple of times a day) but also not super sick and not coughing. I’m getting lots of job interviews, which is great.

My morning routine is as follows, wake up around 6 or 7 and blearily read tumblr, twitter, or Hacker News or reddit, whatever, till I either doze a bit more or get up for coffee.

Coffee, toast and jam, hanging on the couch by the window, reading a book or reading news, going through my email and whatever slack-channel backlog happened in the night.

Meds, face wash (I have to specially deal with dry eye effects so that also means a hot compress and eyedrops) I’m trying to get dressed in the mornings rather than lurk in PJs till noon, but it’s inconsistent. Today I dressed nicely, put on some face goop (The Ordinary hyaluronic acid) and some cologne (Elizabeth W Vetiver, which miraculously doesn’t set off my allergies!). 2nd cup of coffee, turned on my day-spectrum light. Cleaned the litter box. Do some arm weights on the porch to greet the day. Tick off all the “morning things” boxes in Habitica.com.

I go through my calendar and make sure I know what’s happening today, writing it out on a little slip of paper to keep by my side. Today I have 3 short interviews, at 10, 11, and then 1pm.

Since it’s Tuesday, at noon I’ll be going out on the porch to howl like the SF Siren and loudly declare that This is a test!! The noon siren has been silent for the past few months and I miss it. Last week, when I did this I made some people walking by laugh really hard, exactly the goal!!

3-5 pm is my Stardew game with a crew of kids. After that, this week and last I’ve been basically going to bed early and reading as I’m tired/sick feeling and my head hurts. A little house cleaning and tidying here and there. I have joined our friend Rubin’s evening hangout over Jitsi, yesterday watching him do some sort of 3d printing project, Jarrod doing architecture work, Merlin and friend sewing masks, while I studied for systems design interviews. My Slack channels (weirdlings, disabled-techies, mozvets are the most active right now) are a beautiful lifeline.

Morning and evening I wipe down the faucets, counters, door handles etc with bleach spray for whatever that’s worth, and there is lotion by the kitchen and bathroom sinks to help with the frequent hand washing. No one is really interacting with us but Danny has been going out for minor groceries every few days and we have had food delivery and packages arrive (thank you all the workers doing this and I’m tipping nearly as much as the food cost).

Once I feel better, more gardening and organizing is on my list, and more exercise, maybe taking a little spin around the block via powerchair (we are 2 blocks from a lovely park with views of the whole city, so that is an option too)

I am grateful for our cozy house and relative security.

Hunkering down

As we go deeper into social distancing, I have some thoughts to share.

Danny and I both tend to read the whole internets (usually while we should be sleeping) and keep our finger on the pulse of things so it is interesting to compare notes with him about the rapidly changing situation and responses and theories and all that.

It’s been touching to see people “reaching out” to me as a possibly vulnerable person. Often folks who I have known online a while and who are worrying about me b/c I am disabled. Thanks friends. (I am fine and have a lot of social support and also sufficient money.) I also got a pneumovax shot yesterday to potentially decrease a bit of risk of getting extra lung infections on top of COVID-19. Danny started working from home (partly to protect me which I appreciated more than I realized I would once he said it).

I had some plans to go circulate letters to neighbors offering mutual aid but I find that I’m just a bit exhausted emotionally. I might do it next week. Instead, right now, I am donating cash to the Disability Culture Club (Venmo to @DJCultureClub) and am hosting a Stardew Valley group game for kids/teenagers/anyone stressed (with the Unlimited Players mod). Hosting a small online space and making it hospitable and building out a game Discord channel is something I can do, and all the kids are out of school for weeks if not months, so why not. Gaming is now my activism, lol?

Here’s more about the DJCC:

Are you a disabled person or elder in the [SF/Oakland] East Bay needing extra support during COVID19, maybe because you can’t risk exposure on public transit, your attendant called out, etc? Please share your needs with us at https://tinyurl.com/DJCCsupportform so we can try to assist. Please know we are prioritizing BIPOC, will be triaging needs, and can’t make promises (grocery stores are sold out of a lot and we are disabled volunteers of color doing mutual aid, not the Red Cross!)

If you are an ally wanting to offer support, the best way is to Venmo us at @DJCultureClub to pay for hand sanitizer, masks, gas, caregiver pay, protective gear, groceries, and to fund ongoing mutual aid projects like this. We also very much need local abled volunteers who are not in contact with those at risk to provide support. Please complete our ally form here: https://tinyurl.com/DJCCally

The job hunt continues, and all the places that interviewed me and then said “we’d love to hire you but we can’t accommodate remote work” then went the very next freaking week (or two) into their entire company going remote. I should go back to them and say they should reconsider since I’m an expert in doing tech work from home — as I’ve done it successfully for two decades.

A lot of disabled people are having that sort of feeling of half resentment, half hope (or some other proportion, maybe it’s more 90/10 or 99/1!) at society’s ability to suddenly bend and adapt and change its structures NOW, for everyone, when they wouldn’t a week ago, for us. Or, are expressing some level of eye rolling as people go stir crazy after 2 days staying at home. Hi, welcome to a lot of our realities (me and other people who have had long periods “home-bound”). Oh, it feels so sad that you can’t go to that event you had tickets for and were looking forward to for months? Yeah I know. (Also skimming over the obvious horribleness of people hoarding stuff that for some disabled/ill people are necessary daily survival supplies, like alcohol wipes, etc but let’s move on for now…)

I can’t stay in that feeling for long, and what you should try to do to move out of it and let go of the bitter or resentful feelings, is realize we have many coping skills to share. Just like you, an experienced disabled or chronically ill person, would do to mentor a newbie, (Like we do all the time!) here is where your experience comes into play, and your having gone deep into these feelings and emerged again, becomes somewhere that you shine. That can sound too much like “we exist to teach the abled a lesson” but that isn’t it — because they’re not going to necessarily stay in able-landia, the world is changing for at least the medium term, and millions of people recovering from severe pneumonia isn’t going to result in millions of able healthy not-chronically ill people. They will need us, for solidarity and to know how to live well and we will need their mass political support even if it is new and based on their own new needs. (I’m thinking free universal health care here.)

That said, hi, I’m actually a bit scared, knowing we’re all going to get this sooner or later, and having had a lot of respiratory illnesses, I’m scared of having a worse one, because it’s scary and hurts and you feel super anxious not breathing well, and it would be a heinous way to die and I don’t want to die. However, if I do, not to be morbid, at least I have the comfort that I have had a really great life.

On the hunt

After 7 years at Mozilla I am now looking for a new job. 70 of us were laid off in mid-January. I tweeted about it on the day of the layoff; my tweet was quoted in the tech press and some newspapers. For a few days, this got a lot of attention. Meanwhile, also on the day of the layoffs, we started a Slack channel for mutual aid, and a spreadsheet with our names, contact info, job titles, and links to resumes or LinkedIn profiles. From the tweet getting the attention, a lot of recruiters and hiring managers looked at our spreadsheet. And, awesomely, I found out later that when Wayfair laid off 500+ people, they copied our spreadsheet format for their own organizing! This, for me, put a healthy spin on the layoff. The solidarity we expressed was and is very cheering. The story was now about our teamwork and support for each other.

As I looked into open release manager positions it became clear that the closest role to it was Technical Program Manager, and you can think of release management as a specialty of being a TPM.

Initially I was keeping notes on what I applied for in the Mac Notes app, but that got clunky. So, I created a project board in GitHub to manage all the applications I was sending out. Each job listing became a GitHub issue, and the project board has columns for “Interested”, “Applied”, “Interviewing”, “On-site”, and “Nope”. As my applications move through these stages I simply move its card. Within the columns, it’s also useful to me to have colored labels for “Waiting for a response”, “Scheduling in progress”, “Interview scheduled” and “Study needed”. Each issue contains the job listing, a link to the listing, names of people who I’ve talked with and their contact info. And, every interview or email I have for that job gets its own comment on the issue.

Sharing that project board didn’t work as easily as I would like. I made a generic version of the repo, with blank cards and an explanation of a way to use it, but when you fork a public repo, you can’t then make it private. The project boards also don’t fork – they have to be copied separately.

So, I made the same job hunting board in Trello and have shared it for anyone to use.

It’s very helpful to have an organized system like this — it lets you apply to many jobs at once and keep all the details readily at hand.

I am actually enjoying the interviews and studying for them. To study, I read about the company, maybe looking up all the tech in the stack they use or reading about the general space they’re in, their competitors, etc. For someone like me who enjoys diving into endless Wikipedia ratholes this is a pleasure. I try to write out what I’ve learned, sometimes more than once to synthesize the information in different ways.

Another way to study and prepare is to write out my answers to various common questions. For a program or release manager role, this seems to be focused on describing situations you’ve been in and what you’ve done. For example, describe a technically complex project you worked on and how you managed it. Describe a time when you got negative feedback and how you responded. Tell about a time when you had to balance many different projects and what tools you used and describe the result. So, here I tried to reflect on things I’d done at Mozilla that I was particularly proud of and could remember well enough to describe! Writing them out in paragraphs and then as bullet points means that I won’t get stuck for answers to questions about my own experiences.

Another type of question that needs study is the “system design” problem. So, say you are starting out on a project to create a photo sharing app. WHAT DO YOU DO. Fun! At least I think so. There’s plenty of guides on thinking through problems of this sort, some general and some specific. Here’s one I really liked, Vasanth’s System Design Cheatsheet. You can take this general structure and work through some specific situations like a photo sharing app or a messaging app.

Anyway, I miss Mozilla, and working on Firefox, but I’m learning a lot and keeping my spirits up. I have plenty of interviews. Wherever I end up I’ll learn some new skills and advance in my career. Going into Mozilla, I wanted to work as part of a large collaboration alongside many other engineers. I definitely got that — I learned so much and am grateful for all the opportunities I had there and fabulous people I got to meet.

Firefox release, diner interlude, gingerbread

After some especially intense weeks at work (leading up to this week’s Firefox 66 release) we then had to respond to the Pwn2own exploits. It went pretty much like last year when we also released in under a day; everyone worked hard and some people worked long hours to make it happen. I’m so proud to be part of Mozilla and get to work with such smart and dedicated people.

Between the release on Tuesday and the security-driven release on Thurs/Fri I spent a bunch of time going over and summarizing the various problems & uncertainties. It is very interesting to try and judge importance, impact, and “risk” in a software release. On the one hand you are offering a lot of improvements and fixes but you will inevitably also break something else for some other population of users. Is it an overall improvement for most users? Is some particular population (that may not be a majority) impacted by a new problem? All users of a particular site will crash with the new version, but with the old version, everyone editing a document with a Korean keyboard can’t use their backspace key. The different issues don’t cancel each other out, but still have to be compared and weighed. You start out reading bug and crash reports, and end up pondering epistemology and trying to steer a course in decision making through rocky waters — the geography of operating systems, hardware, web sites, and standards where nothing ever stands still. In the end the pattern seems to remain the same: cautiously release, pause and fix the worst new problems as best we can, then go full throttle. It will never be rock solid, like how you’d have to be releasing software for NASA, though, amazingly, that seems to be what people expect.

By the way, my boots came out great! I stripped off the glaze and brown dye with acetone, dyed them with Angelus red and wine-red and a bit of black, mink-oiled them, put on a Resolene sealant coat, then a coat of neutral polish. Now, I can look down at my boots and think YAY! RED! rather than seeing a sort of yucky ochre.

red boots

Ended my work day early (after pulling long hours for a while) and headed out to my sister’s house for the afternoon. BART continues to entertain me. I had a nice look at Oakland 19th street station and its beautiful deep varigated blue tiling. At first I thought they were bricks, but they’re actually thick tiles laid over a wire mesh. I may make this station the “Water” artifact puzzle for the game in honor of the lovely tiles. (Originally that was going to be Lake Merritt, but it needs to be a station on the Red line.)

Realized on the way that I hadn’t had lunch and barely had breakfast – I stopped at Mama’s Royal Cafe & had a biscuit sandwich and endless cups of decaf. The waiter spotted me playing Ingress and turned out to be a long time player on my same team (the Resistance or blue team)! I tried to work on my game a bit, but didn’t get far, too fried to really think things through. This is a great cafe — relaxing, gorgeous, cozy, good food.

At Laura’s I helped my nephew make gingerbread for his school bake sale (5 cakes’ worth so we mixed it all up in a huge pot.) I then ate like half a pan of gingerbread (for dinner I guess). Laura and I worked on our wordpress sites – I needed to change the theme of mine and she was just setting up a new one. Also, a couple of years ago I migrated in some way that broke all my images from past posts. That is now fixed! Huzzah! I also ended up minorly hacking this new theme to force it not to do post excerpts, which I fucking hate. Just let me scroll forever and read other people’s long posts! But no… the fashion is so heavily for showing excerpts and making people click a zillion times and load new pages. Bah. I don’t CARE if you’re on your phone – you can scroll! It’s been a long time since I even looked at php but, reassuringly, it all came back to me.

gingerbread mixing

It was my son’s 19th birthday on Friday as well and he had a final and then was heading off to a weekend camping LARP with his dad. I’ll see him next week! But, I have to admit I went and looked at pics of him from babyhood on in a sentimental way. He’s so grown up and wonderful, and I’m so so proud of him.

milo-hashtag-sweater

Actual work work

I should mention my actual work while I’m blogging about stuff. “My” Firefox release is now in beta, Firefox 66. We have a team of release managers so can rotate ownership of upcoming releases. Usually this means you’re in the hot seat every 3 releases, about every 4 months. We have a bigger team now so there is more breathing room and we can support each other more; basically that means we’re less burned out. Yay! (A couple of years ago there were like, 3 of us and one was the team manager.)

The feeling of ownership is somewhat silly since it is an enormous collaborative effort, but it helps in the job to follow one version closely, you care about it and are able to filter out & not pay so much attention to the other versions in development. (In practice, that is a lot of email I can skim and archive when it isn’t for “my” release.) The release engineers also rotate through version ownership. It’s a good system.

If you’d like to see all the bugs fixed for Firefox 66 so far, between its birth as Firefox Nightly last December and now, here’s a Bugzilla query which you shouldn’t click if you’re on your phone or a slow connection because it’s going to take a while to load – it will show a list of the 3000+ bugs already fixed. Probably don’t click that unless you really want to wait a minute and a half for the page to load.

While Firefox 66 is in beta, I’m watching for fixes in the version right behind it, Firefox 67, that we might be able to bring to users more quickly. We backport, or uplift, between 200 and 400 issues while a version is in beta. Here’s what I’ve approved to uplift so far, patches from about 40 bugs. It’s helpful when looking at these lists to sort the information different ways (by clicking on the column headers.) These next few weeks till March 19 (the release date) will be my crunch time.

Today I did about one million different things. Hilariously, as so much of our work is right out in the open, you can see some of those one million things (in 68 bugs), at least the bits of it that were me reading a lot of bug reports and figuring out what to do with them (poke someone from another team, engineers, QA, etc, add relevant tags or other info, and while I’m looking, decide how important it is for it to be in Firefox 66.)

Work from home looks

I really enjoyed these cartoons today:

There are 4 pages of work from home outfits of uncanny accuracy to how I normally dress at least, until noon or so. Some details vary, but I totally put my hair (short as it is) into a top of the head ponytail and I tuck my tattered pajamas into my (too big, mens’) socks. The t-shirt boob tuck is also just TOO REAL. I did wear actual pants today. My t-shirt is one that I got in 1988 at the Guinness factory in Dublin which has miraculously survived all this time with no holes and amazing softness.

The artist has an adorable etsy shop!

Playing catch-up and tweaking small habits

Coming back to work after 6 weeks leave – Here is my plan.

* Bugzilla needinfo: A few people were still trying to talk to me while I was out so, doing that first.
* Deal with email: inbox ~2000, anything older than a week, I will archive it in large batches by filtering and then read whatever is leftover and seems important.
* Study the calendar and absorb where we are in the current release cycle
* Read meeting notes: my team meetings, product cross-functional, recent channel meetings
* Read the post-mortem notes for the 62 release, and the subsequent dot releases, though that may depress me (I got sick in the last stages of this (“my”) release)
* Figure out what I should be doing next, probably that means prep for Firefox 65 if I’ll be the release owner for that, and I believe for ESR 60.4.0 (that goes along with the 64 release)
* I can always peck away at some new regression triage

That’s plenty for the next day or so.

Meanwhile during my recovery from surgery I have been trying to change or add small daily habits. Another list!

* I have integrated doing 3-5 minutes of gentle tai chi a few times a day (first thing in the morning, mid-morning, and before lunch are the most important).
* Writing and drawing around 15 minutes each, even if not particularly inspired, I have to stop whatever else I’m doing and give it a try. Sometimes I end up going further or having good ideas!
* Making sure to go outside and lie in the sun, while we still have sunny patches on the front porch and on our back patio. Sun hour is currently around 9:45 to 11 in the front. By late October we won’t have any more direct sun, not until March. So I had better take advantage while it’s still here (And also, it structures my day nicely — important, as Coleridge says, to organize the hours and give them a soul.)
* Posting more here, in my more private journal, or writing in my notebook rather than just on Facebook, which has become an ingrained bad habit.
* I moved Twitter off the front page of my phone and replaced it with Duolingo and Feedly, so now when I have the impulse to zone out reading Twitter (and rage-tweeting about politics) I instead either read some actual blogs that I like, or do some poking away at Duolingo. (Spanish and French). I also still look over Hacker News which usually has something worth reading, if only so that I can laugh at n-gate afterwards
* Sending snail mail. When I realized I’d be in bed for weeks, I asked for postcards from people, and got around 100 cards! It was very cheering. I’m still answering that batch of cards.

Here’s a little sharpie marker illustration of a black cat from one of my drawing sessions!
drawing of a black cat

Nifty addition to treeherder

At work I just found out we have a nice change in Treeherder, the tool that monitors current Firefox (and other) builds. Without writing my usual 10 pages of explanation and backstory, I’ll just say that Treeherder shows whether the release engineering infrastructure has started the release promotion process to take the builds from the changeset specified and do some super mystery magic on them to make them suitable for actual release to Firefox users. We get an email from the notification system that this happened, but now we can follow along in the same tool we use to watch tests pass or fail.

gecko decision task for firefox and fennec

In this case, I used a different tool (Ship-It) to set up the parameters to take the test builds for the 1a24837f9ed232d8d2dc4535d11ee53c9847b109 changeset (say it 6 times, fast) for Firefox 59 beta 7 (plus the android and developer edition versions) and declare us ready to kick off this process. Instead of checking email notifications that only go to a particular mailing list, or diving straight into TaskCluster, I can see that near the end of the enormous list of automated tests running on various platforms, “Gecko Decision Task”. This tells us that the builds are now being “promoted”. I haven’t tried drilling deeper yet, but if you click on any of the links there (such as “promote_firefox”) then you get even more detail, including links to TaskCluster and its myriad, confusing joys.

As usual, I think it’s damn cool that all this happens “in the open” at Mozilla, so you don’t even have to be logged into anything to see quite a lot of detail. Anyone with an interest can learn a lot here, or even get involved and contribute, because of this level of commitment to transparency. It’s a good way to find out if you like the work, or to get work experience that you can easily show off in the future.

Captain's log, stardate 2016-10-26

Once again I resolve to write about my work at Mozilla as a Firefox release manager. It’s hard to do, because even the smallest thing could fill LONG paragraphs with many links! Since I keep daily notes on what I work on, let me try translating that in brief. When moved, maybe I’ll go into depth.

This week we are coming into the home stretch of a 7 week release cycle. “My” release for right now is Firefox 49, which was released on I’m still juggling problems and responses and triaging for that every day. In a week and a half, we were scheduled to release Firefox 50. Today after some discussion we pushed back that schedule by a week.

Meanwhile, I am also helping a new release manager (Gerry) to go through tracked bugs, new regressions, top crash reports, and uplift requests for Aurora/Developer Edition (Firefox 51). I’m going through uplift requests for Firefox 45.5.0esr, the extended support release. There’s still more – I paid some attention to our “update orphaning” project to bring users stuck on older versions of Firefox forward to the current, better and safer versions.

As usual, this means talking to developers and managers across pretty much all the teams at Mozilla, so it is never boring. Our goal is to get fixes and improvements as fast as possible while making sure, as best we can, that those fixes aren’t causing worse problems. We also have the interesting challenges of working across many time zones around the world.

Firefox stuffed animal  installed

Today I had a brief 1:1 meeting with my manager and went to the Firefox Product cross-functional meeting. I always find useful as it brings together many teams. There was a long Firefox team all hands discussion and then I skipped going to another hour long triage meeting with the platform/firefox engineering managers. Whew! We had a lively discussion over the last couple of days about a performance regression (Bug 1304434). The issues are complicated to sort out. Everyone involved is super smart and the discussions have a collegiate quality. No one is “yelling at each other”, while we regularly challenge each other’s assumptions and are free to disagree – usually in public view on a mailing list or in our bug tracker. This is part of why I really love Mozilla. While we can get a bit heated and stressed, overall, the culture is good. YMMV of course.

By that time (11am) I had been working since 7:30am, setting many queries in bugs, and on IRC, and in emails into motion and made a lot of small but oddly difficult decisions. Often this meant exercising my wontfix powers on bugs — deferring uplift (aka “backport” ) to 50, 51, or leaving a fix in 52 to ride the trains to release some time next year. As I’m feeling pretty good I headed out to have lunch and work from a cafe downtown (Mazarine – the turkey salad sandwich was very good!)

This afternoon I’m focusing on ESR 45, and Aurora 51, doing a bit more bug triage. There are a couple of ESR uplifts stressing me out — seriously, I was having kittens over these patches — but now that we have an extra week until we release, it feels like a better position for asking for a 2nd code review, a bit more time for QA, and so on.

Heading out soon for drinks with friends across the street from this cafe, and then to the Internet Archive’s 20th anniversary party. Yay, Internet Archive!