• Bad Graphs

    Lots of people these days are making graphs about how the number of cases of COVID-19 is growing in a particular location. Since the data is messy, people are having a hard time extrapolating into the future from these graphs. Well, epidemiologists and other experts probably know what they are doing, but the rest of us are just squinting at the graphs and trying to figure out what “flattening the curve” should look like.

    There is a physicist with a viral YouTube video in which he promotes a new way of graphing this data. Can we still say “viral” in this situation or has that become insensitive? Normally I despise all videos on the internet (for various reasons), but I watched this one because my smart friends seemed to like it – and to like the graph that the physicist was hawking.

    I’m not linking to his video because I am petty.

    I’m also too lazy to draw some graphs of my own, so this is going to be all math and words. Sorry not sorry.

    In any event, the physicist is drawing a graph that he says doesn’t include time but is actually a parametric graph in which time is the parameter. The \(x\)-axis of his graph is the log of the number of cases, and the \(y\)-axis of his graph is the log of the number of new cases. This is already sufficiently obfuscated that most people are not actually understanding the underlying ideas. Even those in quantitative fields might not realize that this use of a log-log plot means that there are some shenanigans going on and that we should be wary of this graph.

    Now, he admits that he’s not actually graphing the log of the number of new cases on the \(y\)-axis because that was too noisy. He is graphing the log of the average number of new cases per day, averaged over the past week. Those of us in the math biz should recognize “the number of new cases per day” as “the rate of change of the number of cases,” which is to say “the derivative.”

    So to recap, we have some function \(f(t)\) that represents the number of cases on day \(t\), and we are drawing a parametric curve of the form \((x(t), y(t))\) where \(x(t) = \log(f(t))\) and \(y(t) = \log(f’(t))\).

    Since we’re in the exponential growth part of the pandemic, we can approximate \(f(t) = Ce^{kt}\). We also have \(f’(t) = Cke^{kt}\). So plugging these into the physicist’s parametric equations, we are plotting points of the form \[(\log(Ce^{kt}), \log(Cke^{kt})),\] which simplifies to \[(\log(C) + kt, \log(C) + \log(k) + kt).\] We can eliminate the parameter \(t\), which makes our plot the much more comprehensible \(y = x + \log(k)\).

    This is why the plots from so many countries ended up on the same line: Because if the underlying model is exponential, this log-log plot is going to give you a line of slope 1 and with intercept \(\log(k)\). But based on the scale of the plot (and the noise in the data), you are not going to see much difference in the value of \(\log(k)\) over the sorts of time scales that we are looking at.

    In plain language, this physicist’s graph can not give us any information about whether we are flattening the curve. This graph can make it really clear once we’re no longer following an exponential model, but it does not make it easy to see how the parameters of an exponential model change over time.

  • For Want of a Floor the Hot Water Was Lost

    On Wednesday morning, I opened the dishwasher to grab a mug, and the bottom of the dishwasher was filled with water. Had there been any more water at all in the dishwasher, there would have been a flood, possibly causing significant water damage to both my apartment and the apartment downstairs.

    I figured that the dishwasher was not draining correctly, and I started bailing it out. How great that the dishwasher is designed so that the amount of water that is uses is just less than the amount of water that would cause a flood if there was improper draining! It is pretty hard to bail out a wide but shallow extent of water, and since I needed to “go” to work (start working from home), I put Jim in charge. Was the filter clogged? Did the pump die? Jim watched some YouTube videos and took apart most of the inside of the dishwasher in order to get to the bottom of the story. Clearly the dishwasher did not want just anyone to do this, as you need a special star-shaped screwdriver head to remove some of the parts. We have special screwdrivers.

    After he had taken apart most of the dishwasher, we poured some of the last of our strategic reserves of white vinegar down into the lowest part of the draining mechanism. We have really hard water here. Enough hard water that the cat’s water dish gets caked with deposits within a day or so.

    A few hours later, we checked on the dishwasher. It was filling with water again. Turns out that it was not an issue with it draining improperly. It is an issue with the water inlet valve. The electronics of the dishwasher tell this valve to open and close in order to send water into the dishwasher at various times in the cleaning cycle. This valve had failed, and it was stuck somewhat open. Until we could replace this valve (or the entire dishwasher), the only way to prevent a flood was to turn off the water to the dishwasher. Since we are having a pandemic, we are unwilling to have workers come into the apartment for anything short of an emergency.

    We were very lucky that I had not put the dishes away the previous night and that I needed to look in the dishwasher in the morning and that I saw that there was a problem.

    Turned off the water to the dishwasher. The same shut-off valve also controls the hot water for the sink. Not only will we be washing dishes by hand, but we don’t have any hot water in our kitchen sink. This is annoying but not an emergency as we can fill up a container with hot water from the bathtub and pour it into the sink to wash dishes. I ordered a new water inlet valve and paid extra for it to be shipped overnight by FedEx.

    In preparation for replacing the water inlet valve, I decided to clean the area of the floor around the bottom of the dishwasher because I was going to be lying on the floor with my hands up under the dishwasher in order to install the new valve. Replacing this valve is inconvenient but not particularly complicated. You take off the panel at the bottom-front of the dishwasher, remove the bracket that holds the valve to a support bar that runs along the front of the opening, uscrew the valve from the bracket, unplug the electronic controls, disconnect the water inlet and outlet hoses, and then run all these steps backwards with the new valve. Check for leaks before replacing the front panel.

    You can not remove the bottom panel of my dishwasher. Ever since this dishwasher has been installed, whenever someone remodeled the apartment by replacing the floor, no one uninstalled the dishwasher in order to put the new floor under the dishwasher. Every new floor stops just in front of the dishwasher. The dishwasher stands behind what is easily an inch of floor. The top layer of floor is made up of thick travertine tiles. The dishwasher access panel (and the entire dishwasher) is blocked behind a wall of floor. I measured, and it is probably impossible to remove this dishwasher and then replace it with a new one, as the space between the top of the current floor and the bottom of the cabinets is less than the height of a dishwasher. Replacement would involve at least one of the following: Make the floor shorter or make the countertop higher. This requires a contractor and a crew. With a reasonable floor, replacing the valve could be done with me and YouTube (or one appliance repairer). With a reasonable floor, replacing the entire dishwasher could be done in about 20 minutes by a team of people doing appliance delivery and installation. I am not having a construction crew remodel the kitched during a pandemic.

    Since we have lived here, the refrigerator has died, the dryer has died, and the handle has come off the microwave. And now the dishwasher leaks. Every day I am regretting more and more my decision to continue living in a small apartment in a cute neighborhood with lots of shops and restaurants (all closed) instead of taking my money out of the stock market and trying to buy a house with a yard in the suburbs.

    By Thursday morning I was such an anxious mess that I was worried that the refrigerator had broken again. I put my hand against it to see if I feel the vibrations of it running. I think it was running? It was cold inside. When Jim woke up I made him double-check that the refrigerator was running. It was. For now.

    FedEx brought the new dishwasher valve (which I can’t install due to lack of access) on Friday. The FedEx driver rang the bell (not actually a bell but more of a loud blaring noise that upsets the cats), and I went over to the intercom panel to release the gate latch downstairs. The bell rang again, and I pressed the button again. No one came to deliver anything, so I guessed that the driver was delivering something to someone else. I checked my email and FedEx had emailed me about a delivery exception due to lack of access. I went downstairs and had Jim press the buzzer. The gate did not unlatch. Our intercom panel is broken. My dishwasher valve will be redelivered on Monday or I can go pick it up at FedEx (hell no). Whatever, don’t need it now.

    Restoring our ability to have hot water from the kitchen faucet would require installing a separate shutoff valve for the dishwasher. Doing this the right way would involve turning off the water to the entire building and replacing the current shutoff valve with one that has a separate shutoff for each line coming out of it. Isn’t this the way that it should be according to the building code? Didn’t we just live through a plumbing debacle that included a code inspection from the city? Didn’t the plumbers put extra holes in the walls so that they could install a separate shutoff for the refrigerator’s icemaker? So many mysteries. Doing this the hacky way involves installing a second valve inline with the dishwasher’s supply line (or a cap on the outlet that leads to the dishwasher’s supply line). At this point it seems like bad luck to try to meddle with things any more.

  • Clearly This Is My First Pandemic

    You know how people say, “this is not my first rodeo”? Well, this is very obviously my first pandemic. I am all discombobulated. And then there is the pressure about what to write here. I worry that some sort of social historian of the future is going to look at all the things that we wrote and all the memes and whatnot and draw some sort of scholarly conclusions about our time. Or will judge us. Do I want the judgement of the future? No, I can not deal with any more judgement.

    So the pandemic is getting off to a pretty shaky start. Pandemic noob that I am, I really don’t have a handle on how exactly this disease is transmitted and what the relative risks are. There was a lot of hype about hand-washing and hand sanitizer and not touching your face, which made it really seem like virus-touching was what we needed to be worried about. A lot of news about surfaces. It can remain on copper for 4 hours, cardboard for 24 hours, stainless steel for anywhere from 2 to 120 hours, plastic for 72 hours, and cruise ships for 408 hours. I do not have any cruise ships in my home, but I definitely have a lot of cardboard and plastic, much of which has arrived lately because I have been having things delivered.

    Now the virus buzz seems to be pivoting to invisible floating clouds of virons. Some internet source that I will never be able to find again asserts that virus-touching is not a big deal but that virus-breathing is a much bigger deal than we had originally been led to believe. Still worse, it claims that the invisible cloud of virus extends not just a polite social distance of six feet away but rather a more troublesome 15 feet away. And that it can linger for three hours. And that the virus-spreaders might not even know that they are the source of a cloud of virus.

    I am trying not to have inessential stuff delivered. My goal is to stay pretty close to the minimum amount of stuff that I will need and not buy more than that. Not only does that make it easier for other people to get what they need, but I do not want warehouse and delivery staff to need to leave their homes any more than necessary. Nor do I want any more people than necessary breathing near my front door.

    We ordered groceries to be delivered today. This I can justify because clearly we need to eat, and we ordered sane amounts of normal groceries. And, knowing ourselves, we did not order the sort of produce that goes bad quickly in your fridge. After bringing the grocery bags into the house, I started washing the the food before putting it away. The virus-touching science seems to be somewhat unsettled at this point, so it seemed safer to wash everything. Never did figure out what to do about the eggs because our egg cartons are all made of a fragile cardboard (maybe wait 24 hours?) that disintegrates in water. Worse yet, I made a terrible rookie mistake in my grocery-washing, and I was spraying my food with soapy water, based on the internet animations of soap molecules having both polar and non-polar ends and, thus, disassembling some sort of lipid structure of the virus. However, I later realized that my blasts of soap were spattering off the surface of the groceries and sending droplets of who-knows-what into the air. I think that I could recover from this error because my city only has 20 COVID-19 patients in intensive care right now, which means that if I get sick from my poor grocery-washing technique in the next few days that I should still be able to get medical treatment.

    At this point I would like to remind you that the symptoms of panic attacks overlap with the symptoms of just about anything else that you might worry about. But that also means that you’ll need to decide if it’s the right time to stop dismissing your symptoms as “just a panic attack” and call a doctor.

  • Will the Plumbing Saga Ever End?

    The plumbers started the repipe of the building on February 10. That was almost a month ago. This project was advertised to take roughly 2-4 days per pair of apartments. Each upstairs/downstairs pair has its water pipes branch off the main service in roughly the same place. The main service runs along the center of the building, in the ceilings of the downstairs units.

    So when were they going to start here?

    First, they were going to start here on February 20. Then it was supposed to be February 24. Then it was supposed to be February 26. They started on February 27.

    Finally on Friday, March 6 they had finished the plumbing work, and the work passed inspection. They claimed that when they come back on Monday, March 9 that they will patch my drywall and put my laundry machines back in the laundry closet so that I can do laundry again. They also noted that the apartment downstairs from me had pretty serious damage (main pipes in the ceilings were replaced, too) and that all the drywall-fixing is going to take a while.

    Today I patched the drywall in my laundry closet. Tomorrow I’ll sand the joint compound, put on a second coat, and call it good enough. It’s going to be behind my washing machine, so no one will see it. My laundry machines can go back to where they belong, and my cats will have fewer opportunities to climb inside my walls.


    In my act of defiance against the horrible interior norms of California, I am not going to apply texture to my repair work. Even though the rest of the wall is textured and the cut-out pieces I replaced are textured. I hate texture. If I were not motivated to get this all done as quickly as possible, I would have applied a skim coat to all the walls in the laundry closet, sanded them smooth (despite the shortage of drywall-sanding masks), and had a small part of my home with smooth walls. If the stock market unbreaks itself enough for me to think about buying a house, I dream of having all the walls made smooth before I move in.

  • Stress Knitting

    I knit a sweater in 10 days. From cast on to bind off, including blocking and weaving in the ends. The whole 900 yards. In 10 days. Sure, it was bulky yarn, but I’m not usually one to actually finish knitting things. And I’m usually pretty terrible at all those fiddly steps at the end to get the darn thing actually finished.

    I took this picture on Sunday, before I had finished weaving in the ends. But I promise you that they are woven in; I wore the sweater to work yesterday. The reason the photo is cropped that way is because in order for you to see the texture in the black yarn, there is so much light entering the frame that everything light-colored is completely obliterated due to over-exposure.


    Why did I knit a sweater in 10 days? Well, the other option was heavy drinking, and that really did not fit in with the rest of my plans.

    Some stuff changed at work, and now there are a bunch of new rules. I had to add an extra column to one of the database tables so that it was clearer which parts of the information have special restrictions. This sort of change was not really a big deal. It was a little bit stressful, though, because I had to run a query that modified data on the live server.

    There are some other new rules, and I am anxious about the way in which they were implemented. For example, we are no longer supposed to go in the door that doesn’t latch correctly because after a zillion warnings for us to check that the door is latched correctly, someone always forgot, and then the door wasn’t actually closed. But some people are still using the door! And that strikes at my sense of fairness. WHY ARE YOU USING THE FORBIDDEN DOOR! IT IS FORBIDDEN! And the front desk staff are now in the position of enforcing the rule about the forbidden door. If I were in charge, I would have also changed the lock on the door because that really would have stopped people from using the forbidden door.

    There are also more rules coming, but they are currently secrets. Perhaps I will no longer be able to say things on the internet about there being rules. Perhaps I will no longer be able to tell you that the door is forbidden. As it has a quite large NO ENTRY sign on it, I can’t imagine that it is a secret that this door is forbidden.

    You can see why “knitting a sweater” is a better option than drinking when these are the sorts of concerns that are stressing one out.

    Oh, and all of the politics-people are terrible in one way or another. Sure, some of them are more terrible than others, but none of them are non-terrible.

    I’ve also taken advantage of the coronavirus panic to convince myself to cancel a doctor’s appointment with the extra-specialist. I wasn’t all that keen on seeing the extra-specialist anyway, and now I’m certainly not going to sit in a waiting room of a large medical building with lots of doctors (not just specialists and extra-specialists). I didn’t actually cancel. I rescheduled for his next available, which is in May. He’s a busy guy; I’m sure that they’ll find someone to fill in my spot.

    The whole reason that I was seeing the extra-specialist in the first place is that the specialist wants to know more about things that don’t really matter.

    Back in December I saw the specialist (note: this is NOT a neurologist), and the conversation unfolded somewhat like this (obviously paraphrased):

    Specialist: So how is everything?

    Me: Pretty good. I now have a minor symptom, but it’s not bad.

    Specialist: There is no reason why you would have that symptom. Some people have that symptom because they have a funny-shaped bone in their heads. We could do a CT-scan to look at the bones in your head!

    Me: I have had two CT-scans and three MRIs (one of which you ordered) of my head in the past three years. Can you look at the bone on one of those scans?

    Specialist: No, no, no. We need a special scan to look at the bone.

    Me: What if it’s not because of the bone?

    Specialist: That happens. We don’t know why. In that case we can’t do anything.

    Me: What if it is the bone, what would we do?

    Specialist: We could do surgery on your head to change the bone. It doesn’t always work.

    Me: What if it is the bone and we don’t do anything?

    Specialist: You would still have the symptom.

    Me: Let’s pass on the CT-scan.

    Specialist: But I really, really, really want to know if the bone is responsible for your symptom. I am very curious! If you won’t do the scan, can you talk to my colleague, the extra-specialist, in case he has a good idea why you are having the symptom?

    So at the time, I agreed to talk to the extra-specialist because his office is kind of on my way to work, and I had forgotten that my new health insurance is based on people charging me unpredictable and seemingly random amounts of money only loosely connected to medical treatments that I receive.

    But now does not seem to be the right time for me to go and sit around a waiting room with a bunch of hypochondriacs with regular colds who will then give me their regular colds and then force me into isolation like some sort of biblical leper until I get over the cold. Not only does this medical building have shared waiting rooms for wildly different types of doctors, but it also pressures you into checking in with a touch-screen kiosk and makes you authenticate yourself with a palm-scanner. Do not need.

    And I have not even mentioned the plumbers. They are replacing every single pipe in the entire building. My walls are full of holes. My washing machine and dryer are in my living room because many of these pipe-accessing holes in the wall are in the laundry closet. Seemingly aribitrary parts of my apartment have no running water. For example, my kitchen had no water for three days. This ordeal has lasted almost a week so far and has no signs of ending soon. My cats are currently incarcerated at a pet resort to keep them from setting themselves on fire with the plumbers’ acetylene torches or getting stuck in the walls or whatever cats do during major plumbing projects.

    I might need to make another sweater.

  • Knitting and Codes

    Sorry for yet another blogging drought. My recreational internet time has been devoted to trying to participate in a contest in which I could win eight skeins of yarn and some other stuff (needles, stitch markers, a pattern, pins, that kind of stuff).

    You wouldn’t be too surprised about the form of the contest: Interact with the brand’s partners in various ways to get codes and submit the codes on the contest web page. The more codes you submit, the more likely you are to win the yarn.

    A discussion has come up on the internet: Should you collaborate with others to get more codes. If I could find some codes and you could find some other codes, should we share our codes with each other? And here is where the structure of the contest comes into play. So far most of the discussion that I’ve seen has been about the ethics of collaborating and people’s intuitions about how much this affects their chances of winning.

    This is not your standard type of raffle in which you put all the tickets into a hat and then keep drawing until you have awarded all the prizes. I haven’t taught our combinatorics classes, but I wouldn’t be surprised if we had a problem about standard raffles. In this case, if we collaborate, I may lose my edge over you, but we both have an advantage over the people who can not find as many codes as our team can. And based on what I have seen about the world, the distribution of who has how many codes is likely to be a power distribution, so only a few people will be out at the front of the pack with a lot of codes.

    If one reads the Terms of Service of the contest, the way it works is that there is going to be one drawing for each code. Everyone who found a particular code will be in the running for the prize that is attached to that particular code. If you have already won, then you can not win again.

    The math has to work out different here. In the standard raffle example, if you were the only person to find the rarest code in the whole world (and no other codes), you have almost zero chance of winning. However, in the raffle being used in this internet contest, you would be guaranteed to win.

    If I were the sort of person who had an independent study student looking for a math project, I’d have my student work on it. There has got to have been a lot of work done already on the various ways to run raffles, but who knows how much of it is from the standpoint of determining whether you should collaborate with others to gain entry into this particular type of raffle. If there is existing work, that would give a student something to build off of. As is the trend these days, I would imagine that the student would learn enough Python to run some simulations of various numbers of codes, entrants, collaborators, etc. I would not be surprised at all if one of the flavors of this problem had an optimal solution when the ratio of some important quantity to some other important quantity were 1/e.

    This problem also reminds me of an old problem about the Green Card diversity lottery, back when it was done on paper. In the old lottery, the government would draw out paper applications at random, and if your application was chosen, you were eligible for a Green Card. However, if your application was chosen more than once (only one entry per person!), then you did not get anything (and were probably banned from ever coming to the United States). In this case, the question was to find the optimal number of applications to send in. Now that everything is done on computer, this question is obsolete.

    Since I’m not particularly likely to win the contest, I decided to buy some more yarn that I don’t need and to knit myself a sweater that looks kind of like the ones that the models are wearing in the advertisements for the contest. I think that this means that the real winner here is the yarn store.

  • Midweek Update

    Clearout Week continued, finishing Day 3 today. Team leads have set a goal of closing 100 tasks by the end of the week. Fortunately, closing an obsolete task as “no action” or merging a duplicate in to another task also counts as closing a task. I may have been pressured to close a task that probably deserved more attention than it received.

    But there will be prizes if we close enough tasks! One of the prizes is virtual badges to adorn our avatars on the task management system. As I am an administrator of the system (and the person who is in charge of the care and feeding of the system), I could give myself a badge whenever I want. In fact, I have enough power over the system that I could shift the permissions domain for badge-creation that people could only create and edit badges during certain phases of the moon. Have I mentioned this before? One of the built-in permissions modules has a moon-phase option. This is delightful. This is more delightful than some sort of bug badge.

    Due to poor planning on my part, some of my Clearout Week tasks may not get done by the end of the week. I’m rewriting a cron that mangles the database in such a way that every time you want to test it, you need to restore a few tables on your test server to their previous state. It might also set some values in a cache somewhere to stop it from running again if it tries to run too soon; I might also need to fuss with my computer’s clock.

    One of my other tasks might not get done because if it goes badly, the live server may have a little bit of downtime. And it seems polite to let the users know with more than a day or two in advance of that the live server might go down during business hours (when these users typically expect it to be working flawlessly). Assuming that things go well, they wouldn’t notice anything. But can you really count on everything going well? It might make sense to schedule this outside of business hours, but I want to be sure that there are helpful people around because “phone a friend” is not the best situation to be in when the server is broken and your colleauges are not really your friends and they don’t use the phone. Oh, and we have an external deadline to complete this task in the next 30 days.

    And then there is the task to move some files from one directory to another and change the values that are checked for by one particular function. This is either going to be delightfully trivial or a massing heckin’ nightmare.

    Since it is always hiring season, I helped interview someone today.

    Speaking of seasons, we are having a season today here in San Diego! It is called “winter,” and it is not even ironic winter. I wore my winter coat! It has been so long since I have worn my winter coat that it still had a drycleaning tag from back when I lived in Knoxville. It was 39 Fahrenheit degrees this morning.

    If this weather keeps up, it will be too cold to go out in a t-shirt. Which is a shame, as if we reach our 100 task goal for the week, we get to design an exclusive t-shirt for the team.

subscribe via RSS