The point of flexibility isn’t so that you can free up more time so that you can take on a side hustle or sign your kid up for her fifth sports league or just fill it with more work. The point is that you will have more time to 1) figure out who you [are] when work is no longer the axis of your life and 2) to actually use that time to care about and for other people.
Here in DC, members of the general public who want a COVID vaccine register for one on a website where appointments are made available in batches. Eligibility has recently expanded to include people under 65 with certain high-risk medical conditions, which means a larger group than ever is attempting to book one of the 4000 or so appointment slots when they’re initially released.
As you might imagine, the appointment-booking website is absolutely buckling under the strain. It’s been a frustrating experience, made worse by how DC’s CTO has described the situation:
Throughout the crashes and subsequent apologies, the refrain has been, “the system is experiencing high demand! Thirty thousand people are trying to use it at once! Keep refreshing! The real problem is that DC needs more vaccine!”
And yes, DC does need more vaccine, just like everyone else, but plentiful vaccine isn’t going to make a website able to handle an entirely predictable number of visitors.
DC is a city of 700,000 people. I do not know the precise number of people who are currently eligible to be vaccinated, but it’s not at all a stretch to think at least 100,000 (and probably more) people in this city are seniors, part of a critical workforce group, or have extremely common health conditions like diabetes or high blood pressure. But the website is absolutely collapsing at around 30,000 concurrent connections.
Now, I am not a developer or server engineer. But I do work with people who are to keep some extremely high-traffic, high-profile websites online. And more to the point, I spend a lot of time explaining to non-technical clients how the decisions they make can affect the availability of their high-traffic websites. And based on that experience I can tell you that 30,000 concurrent users is just not that many.
When you need a web service to be available to a large number of users, there are broadly three ways you can improve it:
Increase technical resources: You buy more processor cycles, more bandwidth, more servers, until you can handle all your traffic through pure brute strength. This can be expensive; cloud tech has made it more accessible than it used to be, but costs can still be unpredictable and high.
Increase efficiency: You reduce the amount of work the server has to do per user. You design your application to have fewer clicks, fewer writes to the database, fewer files that have to be served.
Manage demand: You reduce the number of users that hit the site all at once. An application and environment that would fail at 30,000 users can often handle 15,000 just fine, so how do you make sure all 30,000 people aren’t using it at the same time?
The DC form makes inadequate use of all three of these strategies.
Managing demand is another way to say “flattening the curve.”
This is probably the most important one in the case of COVID vaccines. There’s a limited supply available every week. DC is trying to ensure equity in the process by prioritizing slots for the less-affluent wards hardest hit by COVID. As a result, only about 3000-4000 appointments become available at the time. So even the fact that 30,000 users (and probably many more, 30,000 is just the point at which the server runs out of resources) are all trying to book appointments at once is a problem. 90% of users are going to come away disappointed even if the website performs perfectly.
Rather than throwing 4000 appointments on the website at 9AM and letting the Hunger Games happen, what if DC had registered residents in advance (say, during the months we were all staying home, waiting for vaccines to be approved), and then started contacting people as they became eligible? Most of the information in the form is pretty static- name, address, occupation, medical condition. The only information that has to be established at the time of making the appointment is the actual appointment time/location and the person’s COVID status.
Pre-registration and contacting people when their turn comes up means people are only being offered an appointment when there’s one available for them, and it also increases equity for residents who don’t have flexible jobs that let them refresh a browser for an hour while trying to get through or reliable home internet access. But for web performance it also drastically cuts down on the number of people simultaneously using a form that writes to the database, and reduces the amount of data being written at once.
If you’re only having to accommodate <5000 people at a time on your form, efficiency in the form itself matters less and making sure you have enough server resources gets a lot cheaper. But let’s just say that it’s a few months from now, vaccine is more plentiful, and you can release 30,000 appointments at once. What then?
Efficiency is about design choices as well as technical choices.
Even at high demand, you can make your form as lightweight as possible. I think DC’s form has made a good start at that: there’s minimal styling, no decorative assets, and the couple of external services invoked (CAPTCHA and maps) are critical for the functioning of the form, there are some weird UX/UI choices happening that cause some inefficiency. For example, after you’ve entered your contact information and answered the COVID status questions, the page reloads and shows you the data you just typed in, with a checkbox asking you to attest that all that data is true. That’s an entire page request that doesn’t need to be there.
Additionally, when you look for an appointment slot, the form defaults to showing you the next week, and if the next week is booked up, it shows no appointments available. There might be appointments available after that, but then you have to adjust the date picker and try again. Why doesn’t the display just start from the next available appointment? Again, this is multiple page loads that don’t have to happen, not to mention just a confusing UX.
Throw money server resources at the problem.
We’ve already established that we shouldn’t have a situation where 100,000 eligible people are competing for 3000 slots. But if you’re going to do that, you should probably contract with your cloud provider (Microsoft Azure in this case) to allow 100,000+ concurrent connections. Not doing that just makes for an aggravating situation for even the people who do manage to score one of the coveted appointments. It’s expensive, and that’s why the other ways of managing this problem are so important, but the entire point of cloud infrastructure is that it’s easier to provision additional resources on-demand.
Despite these criticisms, I don’t want to come down too hard on DC, or other state and local governments, for not having their act completely together on this. The pandemic has been mismanaged from the top and that has left governments that should have been able to cooperate with a federal plan having to make it up as they go along. But DC is full of civic-minded tech experts who could and would have advised on these systems had they been asked to. Instead, we have a situation where trying to get scheduled for a COVID vaccine is like trying to score concert tickets before they sell out. We can and should do better.
…you mean like, after an armed insurrection at the Capitol? The week of the inauguration? SO GLAD YOU ASKED.
There are 25,000 National Guard troops deployed to DC right now. That’s more American troops than are currently deployed to Afghanistan (note: the low numbers of troops in Afghanistan is a GOOD thing, don’t get it twisted, but DC is not a large city.)
The security perimeter for the inauguration includes not just the major federal buildings and the National Mall, but also nearly all of downtown, Union Station, 3 of the bridges into the city from Virginia, big chunks of NoMa, and nearly the entire neighborhood of Capitol Hill (not just where Congress and the Supreme Court are, but where people live). Parking garages all over the city are closed. Residents are being told not to get out lest they might not be able to get home.
Don’t get me wrong; in DC we are accustomed to inaugurations. A perimeter goes up a day or two ahead of time around the general area of the White House, Mall, and Capitol, you know you’ll have to pass through security to get on to the Mall to watch, and the city pretty much shuts down for the day and everyone takes the day off.
But all of this started a full week before the actual inauguration and has thrown the lives of hundreds of thousands of people into disarray.
Meanwhile, folks are falling all over themselves to provide restaurant food for the paid troops occupying the city, while the unhoused population in that perimeter is cut off from the social services they depend on. Families who are dependent on nutrition programs during the COVID shutdown are cut off from meal distribution. For an entire damn WEEK.
The perimeter is pretty tight; the only arrests have been one-off randos who “forgot” about the gun in the back of the truck, or people who are clearly disturbed in some way. But now the new concern is that if the visiting fash can’t cause mayhem downtown, they’ll start acting out elsewhere in the city. You know, in our neighborhoods.
So I plan to spend some portion of Wednesday sitting on my porch, conspicuously sharpening my axe, and glaring at anybody with Trump paraphernalia on their car.
Here are some articles to read about how DC residents are experiencing these events:
Inside the Capitol siege Washington Post recounting of the many and varied ways DC’s lack of control of its own National Guard and city operations hamstrung both preparation and response on January 6th.
Here are some on-the-ground mutual aid groups working to keep folks safe who have to venture downtown to work, and make sure our unhoused neighbors have food and resources while all this is going on. There are lots more, but here’s a good starter list:
Remora House: Venmo: @Remorahouse_dc
Feed the People: Venmo: @Charity-Sade CashApp: $CharitySade
DC Fridge Collective: CashApp: $dcfridgecollective
The last thing I bought before the pandemic also happens to be the best thing I’ve bought all year.
In March, I bought a Tern GSD electric cargo bike, specced for carrying my 6 year old son (and occasionally a buddy) on the back. I had big plans for this thing: I would ride it across town to pick him up from school. We’d explore all our DC parks. We’d have picnics and playdates and all kinds of adventures.
But, you know: 2020 happened.
I had saved up for my bike for months, figuring I’d buy it in early spring to get maximum use out of it before the weather got bad again. I took a deep breath and placed the order for it on March 8th. The last day of in-person school was March 13th. I picked up the bike March 14th. And then DC locked down, even parks and playgrounds. I spent a month or so with buyer’s remorse; I had just spent thousands of dollars on a fancy bike to carry the kid around on and we had nowhere to go!
But as the weather warmed up, we started to find our rhythm with it. We scheduled outdoor, masked playdates on the college campus quad up the street. Eventually playgrounds re-opened. And since outdoors is the safest way for my extroverted, only child to get the social interaction he craves, we started finding ways to make long stretches of outdoor time more comfortable.
DC summers are extremely humid. I didn’t understand what “it’s not the heat, it’s the humidity” truly meant until I moved here. And we have tons of mosquitoes, especially in our neighborhood. Congress’ annual August recess started because it’s so terrible here at that time. Usually I spend summer indoors, avoiding the sweat, the sunburn, and the bugs, but that wasn’t going to work for us this year. So we had to find ways to make outdoors work for us. Enter the GSD.
The thing about a bike is that unlike a car, you can roll it right up to wherever you happen to be hanging out, instead of parking it on the street and walking. And of course, a cargo bike can carry much more than passengers, and the electric assist makes it feasible to take on the extra weight. So in addition to being a mode of transport, a cargo bike is also an excellent cart for transporting all the creature comforts that make a long stretch of outdoor socializing comfortable. Here are a few of the things we’ve taken to bringing along with us (none of these links are affiliate links):
Ultralight camp chair: Bringing your own chair means that you can always place it in shade instead of being at the mercy of whatever park benches are available. I like this one from Helinox, because it has a high weight rating (critical for the plus-sized user!) and packs down to practically nothing. I can and have carried a standard camp chair with us on outings with the help of some bungies for stability, but this weighs practically nothing, fits entirely inside my pannier, and doesn’t make it awkward for my son to sit on the back of the bike. This pretty much just lives in my pannier now.
Growler of ice water: We always bring our water bottles, but running around and playing with your buddies is thirsty work, and especially in humidity, wearing a mask over your nose and mouth no less. Having enough water can turn an hour-long playdate into a multi-hour one. So I bring a half-gallon, insulated growler of ice water from home to refill water bottles with. It’s enough for us and his friends. We usually use this one from Swig Savvy, but we’ve used this one from Duluth Trading Company as well. The key is that they’re well-insulated, and the mouths are wide enough to fit ice in.
Lightweight beach blanket: Eventually the kids get tired/cranky and want to rest, but don’t have their own camp chair in the shade. So I put out a blanket to lie on. I use this one because I had it on hand from an actual trip to the beach, but I like it because it folds down to fit in a tiny stuff sack, and being water-resistant and sand-resistant means it stays pretty clean when spread out on grass, too. I just put stuff on the corners of it to keep it from blowing away.
Other miscellaneous comforts: I keep sun screen and bug spray in the front basket. Charlie usually likes to bring a variety of Hot Wheels cars to share with whoever we’re meeting up with. There’s usually a frisbee stuck in a pannier, a bag of snacks, a light-colored towel (good for draping over seats if the bike is parked in the sun, good for wiping down playground equipment after a rain), and a tote bag stashed to bring things into the house with when we’re done.
Bluetooth shower speaker (UPDATED 9/17/20): I added a $20 speaker to the rear bars of the bike so we can listen to music while we ride. This seems to have been the tipping point. Now my son actually asks me to take him places on the bike instead of the car. The model I bought has a rubber strap on the back so it affixes firmly to the child bars, and it gets about 4-5 hours of playtime from a charge, which is enough for many jaunts around the neighborhood, or one long afternoon playdate.
Now that we’ve been in physical distancing mode for a few weeks, I’m trying to get out of bunker mentality and figure out how to live like this for a while. Depending on who you ask and which theory of the the testing numbers they subscribe to, we could be doing this straight through for a year or more, or we could be doing it in waves for a while.
There’s been a weird impulse to engage in pre-nostalgia for this time, with lots of preachy memes about the value of everyone slowing down and cooking more and spending time with their families, and children looking back on this time as an extended summer vacation, and just… gross. This is a crisis caused in large part by a failure of political leadership. It didn’t have to be this way. I plan to hold our national leadership accountable for that failure in any way I can.
And yet. We have this enforced time at home together whether we want it or not. While I feel a certain sense of responsibility to stay angry about it, it’s also my job to help keep the family running, and to ensure my son feels safe and protected. So it would not be the worst thing if he grows up and remembers long afternoons playing with LEGO, reading books, making pizza dough with Dad, and taking family bike rides.
So I’m giving myself a break on anything I can. I’m only emphasizing some basic skills practice for school, plus the video calls so he can feel connected to his teacher and classmates. Reading books and acting out elaborate stories with his toys is plenty of exercise for his mind at this age.
I’m trying to add what I can, too. I try to eat breakfast and/or lunch with the fam. I’m trying to prioritize getting out on my bike as much as possible, even though my grand designs of picking Charlie up from school and taking him and his friends to the playground on it are on hold. I’m doing Zoom happy hours with friends (but not too many, because we overdid it that first week and it was exhausting). I’m trying to get more outdoors time, at least before the mosquitos start showing up.
And I’m resisting (loudly at times) the urge to ratchet up the precautions and the sanitizing of every possible surface and the shaming others for not social distancing to some arbitrary standard of “correctness.” Not because people shouldn’t Clorox wipe their Amazon boxes if it really makes them feel better, but because this performative “I’m being SO much more careful which means I will be extra safe, and therefore I need YOU to do the same thing” behavior is counterproductive and anxiety-inducing for everyone else. We have to live like this, possibly for a long time. We cannot do that if we are constantly worried if we’re doing enough, perfectly enough, to say 100% safe.
While state and local governments are scrambling to limit the effects of COVID-19 in their communities, there’s a lot of talk about how to handle being suddenly forced into remote work.
Since I work at Automattic, I’m already working remotely and my job will remain largely the same. But I’m anticipating that my 6 year old son’s school will soon announce a lengthy closure, and that means I’ll need to juggle my job with his needs all day, for potentially weeks at a time. I can take some time off, of course; we have unlimited PTO. But since hundreds of my coworkers will potentially be in the same position, how much time and when it makes sense to take it is still very much a question. And besides, with everything closed, I’ll just be sitting at home anyway.
My son is very social, and an only child, so our usual way of occupying him when there’s no school is playdates with friends. Those are harder to come by as we’re all practicing social distancing.
So this is what I’m thinking for how we’ll get through the next several weeks:
Consistency: I’m thinking I’ll write up a daily schedule, with clearly-designated times for screen time, playing or reading by himself, any school assignments that need to be completed, and doing activities with Mom and/or Dad. Perhaps we’ll even go over it every morning like they do in circle time at school.
Novelty: I’m working on getting a stash of small LEGO sets and other small toys that I can occasionally dole out, sort of like the “bring wrapped toys on airplane trips” advice, but stretched out over multiple weeks.
Choice: We’ll make a list of activities that he can choose for the time with parents. We can cross them off as we do them, so we don’t end up playing SORRY! ten days in a row. Some of my ideas:
Bake banana bread (math! fractions! following directions! deliciousness!)
Play board or card games.
Write a story, then stage scenes with LEGO minifigs, and then I’ll take photos of them and print them out with my smartphone photo printer, and we can make a book out of it.
Go for a ride on a cargo bike to explore the outdoors a bit.
Listen while a parent reads some of a chapter book.
FaceTime with a friend.
I think this is going to be a long period of disruption, friends. Stay safe out there.
Tonight I learned that They Might Be Giants is doing a tour next year for the 30th anniversary of Flood. My delight at this news was tempered by the way I crumbled into dust when I realized that album will indeed be 30 years old next year.
It’s hard to overstate the importance of Flood for people who were nerdy kids in the early 90s. You see, in the long long ago, before most people had the Internet, and before the stuff we liked was being made into major international blockbusters, before geeks were cool, Flood was a nerdy-kid shibboleth. If you dropped a reference to the “blue canary in the outlet by the light switch” and someone got it, you knew you were going to be friends.
And unlike a lot of the things we loved in the early 90s, Flood holds up pretty well. I will never hear the phrase “minimum wage” without immediately imagining that whip-crack sound effect afterward, reminding us that minimum wage is effectively “I would pay you less if I could.” The lyrics of “Your Racist Friend” are sadly as relevant as ever, with literal white nationalists setting national policy.
So when the tour hits DC in April, I’ll be there, singing every word to every song.
It’s not a new observation, but I’m pretty well done reading articles about productivity and “morning routines to help you win your day” (is my day a competition?) from wealthy dudes* who do not have caregiving responsibilities.
Like, you can get up at 5 AM and go for a run in the park and then come back and meditate for 30 minutes and drink a perfectly-balanced green juice before taking a cold shower, reading for 30 minutes, writing in your journal, and THEN commute to the office? How nice for you. Who is cleaning the juicer?
My morning starts at 6 when my alarm goes off. I do not make the bed at this point, because my husband is still in it. I try to get up a bit before everyone else in the hope of being up and showered and dressed before my 6 year old wakes up and wants my attention. (Admittedly, I move very slowly in the mornings and need to build in “stare into space and think about stuff” time; not everyone does.) He’s pretty capable of getting himself dressed, though he frequently argues with me about it, so my husband and I tag-team him through it. If I’m very lucky, I get downstairs before him and have a few minutes to think about my own breakfast needs before he comes tumbling down and wanting a waffle or a jelly sandwich or something, which I will repeatedly remind him to eat while he gets distracted by telling elaborate stories with his Legos.
If it’s my turn to take him to school, we leave around 8-ish, fight traffic and get to school around 8:30-ish, and then when I have the car to myself on my way back, I can sneak in a podcast or some new music I’ve been wanting to listen to. If traffic is on my side, I can steal a few more minutes to read something or do some other hobby before I get online at 9AM.
If it’s my husband’s turn to take him to school, they leave around 8-ish, and I have the unspeakable luxury of an entire hour to myself to do whatever I think will start my day off right. I try to fit in some reading or some art time, but the truth is I’m often using this time to finish up the dishes or tidy up a little.
And look, I’m pretty privileged: I have a well-paid job, where I work entirely from home. I don’t have to worry about making it to an office on time, and if I get online a little later than I wanted to, no one is standing over me to question me about it. I have a partner who can and does actively participate in parenting, and I only have the one child to be responsible for. Just one school drop-off, no elder-care or other caregiving responsibilities. But the presence of one young child in my house pretty much wrests away control of my morning.
So here are the habits I’m trying to stick with, because I have a reasonable level of control over them:
Get 8 hours of sleep. I just need it. I can get by on 6 or 7, but that catches up to me quick. I’m just happier and more functional when I prioritize getting 8 hours.
No devices for 1-2 hours after waking up. At our Automattic Grand Meetup a couple of weeks ago, Jim Kwik spoke, and something he said stuck with me: for the first hour after you wake up in the morning, your brain is at its most relaxed and focused it will be all day, so if the first thing you do is reach for your smartphone, you’re just training yourself to be distracted. So I’ve set my phone to show me no notifications at all until 8AM. Frequently by 7:30, our day has gotten rolling enough that I need to look things up or start an Instacart order or something, but by then I’ve theoretically been awake for 90 minutes. I’ve been liking the results from this.
Make time for reading and other self-enrichment activities. I can’t read novels in 30-minute chunks; all I want is to lose myself in a story for hours. But I can read books to learn stuff in small chunks, and I can draw quick sketches or write out quick journal entries. I’m only going to be able to do more than one of these activities on days when I’m not taking my son to school, but on days when I do, I can carve out time for one of them. The point of this exercise is as much about the actual activity as it is about making the effort to prioritize myself when allocating my own time, which is something I’m notoriously bad at.
*I mean, I’m done reading these takes from people without caregiving responsibilities in general, but it’s almost always dudes whose articles about the 25 things they do every morning that require complete solitude go viral.
Our neighborhood playgroup got an email this morning from one of the parents on it, breaking the news that they have been diagnosed with a medical condition that will require a grueling course of treatment that will likely last months, but also expressing gratitude for the way they knew they could count on us to show up for their family in the times ahead.
And they were right. The mobilization was immediate and impressive. Our phones lit up with WhatsApp notifications: plans to provide child care and meals, to take the older child along on the playgroup beach weekend that the affected family was going to have to back out of, and to designate point people to coordinate our efforts so they wouldn’t be overwhelmed. “Playgroup Strong,” we tell each other.
When I’m feeling a very particular combination of helplessness and rage, say, the kind I felt the day Christine Blasey Ford testified, my coping strategy is to cook.
I don’t mean that I pick a new recipe and cook an elaborate meal. I don’t mean that I bake decadent treats to self-soothe by sheetcaking. I mean that I cook like your great-grandmother who lived through the Depression. I cook like a pioneer farmer’s wife. I make huge vats of stock from scraps and bones. I cook beans in that stock and make stew. I fill the freezer with enough dinners to last weeks.
So anyway, after our family got some upsetting news about someone important to us, tonight I took out a vacuum-sealed bag of homemade meatballs from the 5 pound batch I made the day Bill Barr’s half-assed summary of the Mueller Report came out, simmered them on the stove for half an hour in some crushed tomatoes, garlic, and herbs, and fed my family homemade meatball subs for dinner.
Because cooking is how I remind myself that I always have my own back.