Posts

Cold and flu care from a former doctor

Disclaimers: I no longer have a medical license. I last practiced medicine in 2001. This recipe is not scientifically based. It's just what I do for myself. TL;DR: Water, Advil, Afrin, rest. * Drink water. You know you're drinking enough when your urine is clear or just slightly yellow. If it's clear you don't need to drink more. * Caffeine: Don't change your caffeine intake. If you stop you'll get withdrawal symptoms. Increasing might interfere with your ability to sleep. Caffeine is also a diuretic and might interfere with your ability to use your urine color to track your fluid intake. * Fevers / aches: Take your favorite medicine (Advil, Aleve, Tylenol) around the clock for 48 hours. They seem to work better if you take them before you have a fever spike instead of after, probably because it takes a while for them to kick in. Of the three choices there is no best choice -- pick the one that has worked for you in the past. * Aspirin: Skip it. That stuf...

Replacing the spray arm on a Frigidaire Gallery dishwasher

Our dishwasher has three rotating spray arms. The ones on the top and bottom of the unit are permanently attached to the water support. The middle one, however, is attached to the dish tray. It gets its water from a hole in the back of the dishwasher -- the seal is made by a rubber gasket on the back of the spray arm. Our dishwasher was probably purchased in 2010 (it came with our rental). By 2015 the gasket had decayed. Unfortunately, you can't just buy a replacement gasket. Doubly unfortunately, most parts sites want to sell you the entire upper dish tray, which runs $65 or so. However, I can confirm that you can replace the spray arm alone. It has the number 1544679 molded into it. For my dishwasher (model FGHD2433KF1) the Electrolux replacement part 154468502 fits fine. I bought one from Amazon . There are repair videos on YouTube -- it's trivial to replace. (This post is basically search engine bait on the part numbers -- I spent an hour online trying to figure ...

How to set up a Chromecast with a Logitech Harmony Remote

The Logitech Harmony Remote configuration software isn't very well suited to setting up a Chromecast. Here's what I did to make it work: First add the Chromecast as a device: 1. Go to "Devices" then "Add Device". 2. Select "Computer" then "Media Center PC" (yes, this is confusing) 3. Select manufacturer Google, then enter the device name "Chromecast". The software will warn you that it can't control the Chromecast. That's OK, just proceed. Second, create an activity to watch the Chromecast: 1. Go to "Activities" then "Add Activity" 2. Select "No - manually add an Activity to my setup" 3. Choose "Utility" then "Generic Activity" 4. Set it up to use your TV and receiver, with the appropriate inputs selected. 5. Use "Settings" to "Rename activity" to something like "Watch Chromecast". This seems like it would be enough, but it is...

Medical tests and software tests, part 2

Medical test interpretation may have lessons for the interpretation of complex software integration test suites. In Chrome, these integration tests are often implemented as "browser tests" or "pyauto tests" that involve spawning a running browser in a separate process and controlling it from the test process. These tests are sufficiently complex that they have a significant false-positive failure rate, which makes a report of a test failure difficult to interpret. This is similar to common medical test suites. For example, a "urinalysis" is a set of several tests of urine: concentration, protein level, signs of white blood cell activity, etc. In general medical tests are not ordered unless there is a specific potential illness being investigated, but sometimes they get ordered routinely and come back with unexpected abnormalities. How do doctors deal with this? A common abnormal finding on a urinalysis is a trace amount of blood. Blood can be a sign of...

"Bugs" vs. "defects" in software

Errors in software have been called "bugs" since at least the 1940s, when Admiral Grace Hopper discovered a moth stuck in a mechanical relay in an early computer at Harvard University. The term has stuck, with a vengeance. Now even end users of software refer to misbehaving software as "buggy" or worse as "bugged." I dislike the term bug.  To me, the word bug makes it sound like the error crept into the software from the outside. The code was fine, until the bugs got to it. Or worse, it sounds like the software spoiled somehow—we left it on the shelf too long and it got "buggy". But software doesn't work that way. Computers are highly deterministic. If the software misbehaves, to a first, second, and third approximation it's because the programmer made a mistake. It might be an excusable mistake—software is incredibly complex and can be hard to understand. An innocuous change in module A can cause a catastrophic failure in module B. But...

Software automated tests versus medical tests

Medical tests can teach us about how we interpret software automated test results. Ever have blood work ordered by your doctor? Say you’re having some stomach pain and it’s worse than the usual upset stomach. If you see your doctor he might order some “liver tests” with names like ALT (alanine animotransferase), bilirubin, and alkaline phosphatase. Each test result will be printed next to a “normal range”, like bilirubin = 1.0 (0.3 to 1.9) mg/dL. Even if one or two of the tests are out of range your doctor may say they are “normal” and tell you your liver is working OK. Doctors have been doing this sort of laboratory test analysis for a hundred years. Can it teach us anything about unit tests, integration tests, and the types of results we encounter in software? Software is probably the most complex thing humans have ever made. If each individual variable was the equivalent of a mechanical device “moving part” then even a medium size program would be more complicated than the Space Shu...

Test

Some preliminary text. Kittens from sytes Adopt a kitten Some other text.