High Accuracy GPS with RTK in Orlando

Global Navigation Satellite Systems (GNSS)   receivers have made incredible improvements over the last twenty years. I remember having to stand outside for 10 minutes waiting for a US only Global Positioning System (GPS) receiver to lock onto 4 satellites so that I could get a fix with less than 100m accuracy (due to selective availability).   Now, you can buy a $220 GNSS receiver that can track 60 satellite channels simultaneously, start from cold in 25 seconds, lock into signals from satellites launched by four different countries (the USA, Russia, European Union, and China) and gets 2.5 to 5 meter accuracy all on it’s own without correction signals.

Here is a plot of the calculated location for a stationary antenna over time without correction signals (3D fix mode):

GPS location wondering around a 1m accuracy circle
As you can see, all of the readings are within a 1 meter circle of accuracy, which is quite good for finding your location on earth, but not (quite) accurate enough to drive a robotic lawnmower around and miss the petunias. [And from day to day you may be off by a few more meters…]
Continue reading

Build an 8×8 play structure with dimensional lumber

How to build an 8×8 play structure out of dimensional lumber.

8 foot by 8 foot play structure around a tree

360 view of the play structure. – Spherical Image – RICOH THETA

List of materials and tools for the basic structure (part 1)

Lumber:

  • 4x Pressure Treated (Ground Contact) 4×4 posts, 12′ long (8′ or 10′ possible for shorter platforms)
  • 2x Pressure Treated 2×8 beams, 8′ long
  • 9x Pressure Treated 2×6 Joists, 8′ long (possibly 10 or 11 needed if building box around a tree)
  • 6-8x Pressure Treated 2x4s (6 required for fancy corner braces and assembly bracing, but 8 suggested to make things easier. A few small pieces of scrap 2×4 are very useful for temporarily shelves to hold up boards if you are working alone.)

Hardware:

  • 12x 5/8″ galvanized lag bolts, 4″ long – mounting beams to 4×4 posts
  • 8x 5/16″ galvanized lag bolts, 4″ long – mounting end joists to 4×4 posts
  • 16x galvanized joist hangers (may need more if boxing the tree)
  • 100x 1.5″ galvanized structural screws – joist hangers to beams (can be replaced with 9 gauge galvanized nails if disassembly is not anticipated)
  • 100x 2.5″ galvanized structural screws – joists to beams (can be replaced with galvanized nails)
  • 1lb box of 3″ deck screws (used for attaching bracing together and temporarily mounting beams/joists, not actually part of the finished play structure)
  • Water sealing wood stain (to color/preserve the wood)

Tools Required:

  • Digging tools: Shovel & Post Hole Digger (+ clippers to cut small roots)
  • Wheelbarrow or other way to transport dirt and mix concrete
  • Hoe or concrete mixer, razor knife to open concrete bags
  • Cordless Drill, drill bits, screw drivers
  • Framing Level (4′ or longer suggested), large framing square
  • Tape Measure & pencil,
  • Metal rod (probe for roots), spraypaint or pegs to mark digging locations
  • Adjustable Wrench and/or ratchet driver and sockets for lag bolts
  • Hammer for setting the joist hangers and “persuading” joists into position.
  • Step ladder if you are building a tall platform, or are short.
  • Brush or sprayer for applying wood stain.

List of materials and tools for the flooring and corner braces (part 2)

  • 2x 4×8 exterior grade plywood (for floor)
    or
  • 17x 5.5″ composite deck boards (for floor)
  • 2 lbs of 2″ deck screws
  • Circular saw to clean up the edges of the deck boards (if used)
  • 4x-6x Pressure Treated 2x4s (8′ long) for the corner braces
  • Miter Saw (chop saw), circular saw, or hand saw (for simple corner braces)
  • Compound miter saw (if doing fancy corners)
  • 8x 5/16″ galvanized lag bolts (3″ long) for corner brace to beam/joist connections
  • 8x 5/16″ galvanized lag bolts (4″ long) for corner brace to 4×4 post connections
  • Premium waterproof wood glue for corner brace assembly
  • 2.5″ galvanized nails (or extra 2.5″ structural screws) for corner brace assembly

 

2×4 Basics Bench Brackets

I used 10 2×4 basics bench brackets to add bench/walls to 2 sides of the play structure. They come with all of the hardware you need, but I also purchased/used the following lumber for the bench seats & backs:

6x   2x6x10 Pressure Treated boards for seats & top-rail.
6x 2x4x10 Pressure Treated boards for back rests.

[an additional 4x 2x4x10 pressure treated boards are needed if you want to include the bottom safety rails.]

If you have a VR headset, or just want to wave your phone around in the air, you can watch this 360 video of my son running through the play structure:

 

I used OpenScad to mock-up the basic design to determine what lumber to buy for the basic platform and visualize what it would look like. You can download it here: plan_boxtree.scad

What is the COVID-19 Case Fatality Rate (Death Rate)?

Nobody knows for sure what the Case Fatality Rate for Covid-19 is in the general population. (It changes based upon the demographics of the population and the quality of healthcare in the region, and can not be accurately calculated until a large number of people have fully recovered.) Currently the US estimate is hovering around 6% of those infected die, but this is likely inflated by the fact that many cases are asymptomatic and/or are never confirmed by a test.

Estimates from various countries have ranged from 0.07% in Singapore to 6% in the United States. Because many cases may be un-diagnosed this 6% estimate is likely to be high. (In Italy it was 14%.)

But due to the involuntary experiment currently spreading through the prisons of Ohio, along with good reporting by the state, we can generate an estimate of the CFR within the Ohio prison system.

On May 22nd 2020 when I downloaded DRCCOVID-19Information from the https://coronavirus.ohio.gov/ website, the corrections system had 4090 prisoners recovered from COVID-19, with 61 deaths (and 277 inmates still infected).   If we discount the inmates who are still infected (not yet recovered) and only look at those who have recovered (or died) we get a case fatality rate of 61 / (61 + 4090) = 61 / 4151 = .01469525 or 1.469 percent (you can round that up to 1.5%)

Of course, if 200 of those 277 “not yet recovered” are currently on ventilators, this CFR number will go up in the future….but this are the numbers we have to work with today.

So 1.5% of Ohio prisoners who were infected with Covid-19 have died.   (Ohio has 35,464 prisoners in isolation, so approximately 11.7% of them have been infected).

This CFR is 15 times higher than that of the seasonal flu (0.1%).   Of course, because prisoners are not generally representative of the US population (the demographics of prisoners skew young, while oldest adults are more frequently killed by covid-19) this CFR will not be the same as for the general population. But it does give us a ballpark number to think about for a lower limit.

If we take 1.5% CFA times 11.7% infected times the 330 million population of the US, we would get 579,150 deaths. If we let it spread to 60% of the population, that would be 2.97 million deaths.

Of course, other research has estimated the CFR in the US to be hovering around 6%.
But that is likely due to missing many un-diagnosed cases because of lack of testing.
So I would use the 1.5% as a lower bound on the CFR in the general population.

Luckily, most Americans are not housed in prisons and can social distance to more effectively prevent the spread of covid-19, so we have not gotten anywhere near 11.7% of the population infected. Yet.

It is also uncertain if prisoners get better healthcare in prison than the general population, but my guess would be no (at least for the 89% of people who could afford health insurance before the pandemic hit).

Related evidence:

  • “Among the 3,711 passengers on the Carnival Corp-owned Diamond Princess cruise ship that was quarantined in Yokahama, Japan in February, 712 tested positive for the coronavirus, according to the CDC. Of the passengers who tested positive, 47% were asymptomatic at the time of testing; nine ultimately died. ”
    9 deaths / 712 confirmed positive = 1.26% case fatality rate. [Source]
  • A related scientific paper with similar numbers (1.3%)   can be found here.
  • According to the Marshal Project, on May 24th 2020, at least 415 inmates have died in the US, with at least 29,000 infected (which is a CFR of 1.43%).

 

Schwarzenegger voice: It’s not a flu!

Covid-19 is a novel coronavirus, and is not a flu (influenza). It is more contagious than the flu, and more deadly than the 2009-2010 N1H1 swine flu.

For example, the first case of the H1N1 flu in America was detected on April 15th 2009.   86 days later, on June 10th 2009, there were 211 recorded deaths (37,246 cases).

The first case of Covid-19 in America was detected on January 20th 2020. 86 days later (April 15th, 2020) there were 32,900 deaths (654,425 cases).

In fact, the CDC’s best estimates place the total death toll of the H1N1 flu for the entire year (April 12, 2009 to April 10, 2010) in the range of 12,469 deaths (8,868-18,306).

In summary, the (86 day) fatalities of covid-19 is already three times higher than the full year (365 day) fatalities from H1N1, even with the physical distancing and safer at home policies attempting to stop transmission.   This is not #JustAnotherFlu.

Why only 100,000 deaths would be amazing

National officials have stated that we may see 100,000-200,000 deaths from Covid-19. I hope the death toll will be lower, but worry it may be much higher.

From April 12, 2009 to April 10, 2010, CDC estimated there were 60.8 million cases (range: 43.3-89.3 million), 274,304 hospitalizations (range: 195,086-402,719), and 12,469 deaths (range: 8868-18,306) in the United States due to the (H1N1)pdm09 virus. – https://www.cdc.gov/flu/pandemic-resources/2009-h1n1-pandemic.html

These numbers indicate that the H1N1 (Swine flu) had a case fatality ratio (CFR) in the US of between .04 and .009 percent. Note that 1 in 3 adults over 60 had antibodies to H1N1, perhaps from an exposure in their childhood.

The World Health Organization reported that 1 in 5 people (20-27%) were infected by H1N1 in the fist year, and “Based on an estimate of around 200,000 deaths, they said the case fatality ratio was probably less than 0.02 percent.” – https://www.reuters.com/article/us-flu-h1n1-pandemic-idUSBRE90O0T720130125

In England the CFR was calculated to be 0.026 percent.

The contagiousness of H1N1 (R0) is estimated to be between 1.4 and 1.6, which means that every infected person infects 1.4 to 1.6 other people. (As long as this number is above 1.0, the growth rate is exponential.)

The Bad News

Reports from China suggest that with good medical support (i.e. hospitals not overloaded) the case fatality rate for COVID-19 is as low as 0.7 percent. [The CFR in Italy where hospitals are overloaded is currently in the 3.7 – 11 percent range.]

The contagiousness of COVID-19 is estimated to be as high as 2.7 (every infected person infects 2.7 others) with no stay-at-home orders. Seattle is one of the first cities in the US to implement physical distancing procedures and the growth rate there has slowed. One model predicts that the R0 has been reduced to 1.4 by the physical distancing implemented in Washington State, which is much better than 2.7, but still about as infectious as the H1N1 flu.

If COVID-19 infects 60.8 million people in the US, and has a CFR of 0.7 percent, that is 425,600 deaths.   [Of course, if it infects 60 million people the case fatality rate may jump as all of our hospitals will be overwhelmed, because about 10-15% of infections normally result in hospitalization.] So an R0 of 1.4 is not good enough.

As a point of comparison, the CDC estimates that smoking results in more than 480,000 deaths in the USA every year. (1 in 5 deaths annually.)

The only way to prevent this is to reduce the contagiousness with extreme physical distancing. In China they were able to bring the R0 number below 1, allowing the growth rate to fizzle out with severe quarantine methods. South Korea was able to achieve a similar result with ample testing and contact tracing / containment.

 

Related news stories & Updates

The Privacy Preserving Anti-Coronavirus app Google can and should build

Many people already trust Google with their location data (unless you proactively turned off location history on your android phone and Google maps, Google knows where you have been and how long you spent there.)   Obviously, all of these people are trusting Google to follow it’s privacy policy and not release this information. [Google is not alone here, the major mobile phone carriers also have all this data, and you can’t turn that location tracking off….]

What happens when you start to cough, get a fever, and (can hopefully) get tested for the Coronavirus? If you have a positive result, the local health department should be asking you who you interacted with in the last 5-10 days, and then contact THOSE people to tell them they should self-isolate and get tested if they come down with symptoms.   Presumably you’ll tell them about everybody you remember interacting with, but you might forget that 3 days ago you paid for gas at the counter of the local 7-11, or not know the name of that guy that traded you his Aldi cart for your virus covered quarter so he wouldn’t have to return it to the cart stand to get his own quarter deposit back.

Here is where Google can help everybody. Once you have received a positive diagnosis, your   local health department sends Google your gmail address (google account name).   Google emails you asking for your permission to share your location history for the last 5-10 days with the Health Department.   If you give permission, Google will share that data with the health department, who now knows that you spent 8:10-8:20am last Friday at the 7-11 and 4:30-5pm at Aldi grocery shopping on Tuesday. Having this location history can potentially help the health department, but what they really need is to be able to contact the people you interacted with.

Google can help with this by cross-checking your location history with the location history of everyone else who uses an Android phone (50-70% of the population). People who may have crossed your path could be sent a proactive email letting them know that “From 8:10-8:20am on Friday a person who has subsequently tested positive for coronavirus visited the same 7-11 that you visited from 8:15-8:25am”.   No need to share your name, just the fact that exposure was possible. Those people could be given the option to share their contact information with the local health department by clicking a link. This would allow the local health department to sort by risk, and they might choose to make a followup phone call to those people who spent a considerable amount of time in the same locations as you. (They probably wouldn’t have the manpower to call everyone that was at the same gas station, but if you forgot about the monthly bookclub meeting where 10 people’s phones spent 2 hours near your phone, this could be incredibly useful information for them to have….)

The key privacy preserving idea is that sharing your location data would be optional.
If you chose to share your location history, Google would anonymously notify those people who may have intersected with your travel history, and then THEY would have the choice to share their contact information (or not) with the health department (not you). Most people (who have not turned off location history) already “trust” google with their location history, so proactively cross-checking to find intersections with anonymous notifications should not be seen as a major a privacy violation.

Obviously, it would be scary to receive an email from Google telling you that you might have used the same gas-pump as somebody infected with the coronavirus, and there would certainly be a LOT of false positives (If the cross-checking algorithm was too aggressive, it might pair up everybody who stopped at the same stoplight at the same time in their commute, for example….).   I trust that the UX (User Experience) people (and lawyers) at Google could write the emails in a suitably non-threatening way “Out of an abundance of caution, we wanted to let you know that there is a small possibility that you shared the same location as a person who later tested positive for the coronavirus.”

I argue that a little bit of scaring would be a net social benefit. If you were receiving a daily email with a list of the times and places you were near an infected person, social distancing would go up immediately. If Google is more worried about scaring away their users than the global good, they could make a website that people would have to deliberately visit to find out if any coronavirus positive intersections were found for their location history, but this would remove significant portions of the benefit.

I’m sure that many smart people inside Google have already come up with this idea and there are internal debates about privacy and public relations going on internally between them and the lawyers. We should tell Google that this is a perfect time to “Not be Evil”.

 

Links:

Singapore has created an application like this, but it requires that everybody install the same application to trade encrypted contact information. So either the government makes it a requirement that you run the application to leave your house, or it is not as effective.

MIT has released an app that can log your location history completely privately, but it does not collect contact information from others, and has no way to cross-correlate with other’s tracking history.

Apple & Google are working together on ways for iPhones and Android devices to work natively with contact tracing applications.
https://www.apple.com/newsroom/2020/04/apple-and-google-partner-on-covid-19-contact-tracing-technology/

COVID-19 / Coronavirus Resources / Reading List

Stuck at home, I’ve spent too much time reading the internet about the Coronavirus. Below are the most useful resources I have found for understanding what is going on and what is likely to come in the future.

If you only have 8 minutes, this video is the best overview I’ve found:

https://www.youtube.com/watch?&v=BtN-goy9VOY

Status Tracking

Why Social Distancing?

What needs to improve?

Actions you should take

About Covid-19 / Coronavirus

Timeline Back to Normal

Humor

Older links that are still relevant:

 

How Harley Quinn: Birds of Prey could have been so much better.

My wife and I went to see Harley Quinn: Birds of Prey for Valentines day. And yes, it was at least 50% her idea. The movie wasn’t bad, and had several good moments, but it could have been so much better.

My wife appreciated “the girls” kicking a lot of male ass, but several of the fight scenes went on for too long with too much gratuitous gruesome violence. (Maybe not as bad as the Myth Busters diving suit episode, but did Harley Quinn really need to break a bad guy’s leg in three different places with three different hits?) The bad guys were sick and gruesome as well, which served as their only character development and justification for getting their asses kicked.

The best parts of the movie—where they didn’t take themselves too seriously and embraced the camp without actually putting “Bam” and “Pow!” on-screen — almost rose to the level of Tim Burton’s Batman. Quirks like the ode to the breakfast sandwich,   stealing a mini-van as a getaway vehicle, Huntress being socially awkward, or one-liners such as “Hair-band?” shone like lighthouses in the fog, indicating where the movie could have gotten things so much better. Some of the action shots were amazing: Glitter Bomb bean-bag riot gun attack on the police station, baseball bat floor bounce, the fun-house fight scene, and the roller skate car chase. But many of them wore out their welcome and went on too long and over the top with violence.

I understand that the source material is dark, gritty and violent, but really, who has actually read those comics? Forget the canon, and pander to the crowds. Make it fun and campy, go for a PG-13 rating, and develop the other characters a bit more. Margot Robbie does a great job with Harley Quinn, but the other actresses didn’t have enough to work with.   As my wife said, “It’s no Wonder Woman”.

Project Source 11″ LED Integrated Light Failure (Flashing) IPX8011LS-ORB

Two and a half years ago I purchased a 2 pack of LED integrated lights for my house from Lowes. They were the IPX8011LS-ORB units, and cost $50 for the two pack. Recently, the electronics in one failed such that the light would flash on and off quickly (2-4 times a second) instead of saying lit continuously once the electronics puck heated up. Here are some photos of the old/bad unit (click to enlarge).

Some of the model numbers I found in the old unit: C041218 (18W LED Driver Triac dimming)   BG0358-110C036-03 (on the circuit board) HH-03 94V0 E327405 4515 (also on the circuit board.

Luckily, it came with a 3 year warranty and I was able to find my receipt, so I took it to Lowes and they replaced it with one that looked exactly the same on the outside, but had a different item number on the box and a completely different set of electronics on the inside. Photos of the new unit, which has worked fine so far:

Serial/Model numbers/markings I found on the new unit: 41056, F11-1L   L.MAC6-1430-L021-00, KF-FAND-S008-V00 2019.01.07 1400LM (1400 Lumen?), Intertek 4008733,

DONGGUAN KEE TAT LIGHTING LTD.

 

UPDATE: March 2022, the 2nd (original) unit from the (original) 2 pack failed in the same way (out of warranty). I replaced it with an inexpensive fixture that takes replaceable (LED) bulbs.   [The replacement unit from the 2019 failure is still working fine…]

Ego 21″ mower (LM2100SP) 3rd self propel motor failure & repair report

My Ego 21″ self propelled electric lawnmower started on its third self propel unit failure back in June of 2019.   For those keeping track, I bought the Ego 21″ mower back in April 2017, and it’s self propel unit failed in October of 2017 I took it to Home Depot to be repaired (which took 6 weeks) and the repaired self propel unit lasted until July of 2018. Ego customer support was nice enough to send out a replacement mower that time, so my downtime was only 10-15 days, and I was hopeful that the replacement mower might have a better self propel unit in it. Unfortunately, that one started to fail in June of 2019, so it looks like the lifespan of my self propel units are 4 months, 10 months and 11-16 months.

So, back in June 2019, the self propel unit just stopped working much like it had previously. I called Ego customer support and they offered to ship me a replacement mower. We had that all set up, but the next day I went out to push-mow the rest of my lawn, and lo-and-behold, the self propel unit had “reset” and was working again! So I called Ego back and canceled the replacement.     Unfortunately, although the self propel unit had not totally failed, it had not fully recovered, and still had some issues that got gradually worse over time. Specifically, the top speed was reduced, and over the next several months, the power and top speed appeared to keep dropping. Eventually it got to a point where it would not propel the mower up a slight hill without me assisting. Eventually, in January of 2020, the self propel unit failed completely, and did not “reset” itself.

Ego shipped me a replacement mower and I shipped the bad mower (my 2nd) to them, so I am now on my 3rd Ego mower (and year 3 of my 5 year warranty). However, for the first time in 3 self-propel failures the SP unit is different! The new mower (manufacture date October 2019) has a different style of self propel unit when compared to the three units that had failed on it in the past. The old unit had a gearbox on the drive shaft and the motor body stuck upwards at a 90 degree angle. The new unit has the motor body above but parallel (horizontal) to the drive shaft. I don’t know if the old unit had a fan, but the new unit has a fan clearly visible.

Older Self Propel Unit

 

New Self Propel Unit

Objectively, the new self propel drive unit doesn’t look as impressive as the older unit, but given the number of failures I have had with the old style, I’m excited to have something change (and hopefully improve). From a performance standpoint, the new self propel unit works just as well as the old style, so there is no loss in performance. I just hope that it will have more longevity than the older units.

I suspect that the size of my yard (which is large enough that it takes me two 7.5 AH batteries to mow it in the fall/winter, and up to four 7.5 AH battery charges in the heat of summer) may be the reason the self propel unit’s are failing. I suspect I’m putting a lot more “miles” on the SP unit than most Ego owners, plus they seem to be failing in the heat of the summer. I’m not sure if that is due to heat related problems, or if it’s due to the grass growing more in the summer.