Monday, December 30, 2019

Outsmarting Your GPS

On December 26, 2019, our family attempted to drive from Los Angeles to Las Vegas via Interstate 15 which is the shortest distance and requires driving over 2 mountain ranges. We are very familiar with the drive because we’ve done it so many times. Shortly after leaving Los Angeles County, we connect with I-15 North and soon begin the climb up the Cajon Pass which is situated between the San Bernardino Mountains and the San Gabriel Mountains and has a peak elevation of 3,776 feet. After clearing the Cajon Pass, I-15 North winds through Hesperia, Victorville, Barstow, and Baker. The second major climb along I-15 North takes us over Mountain Pass which in a desert region about 15 miles from the Nevada border and has a peak elevation of 4,730 feet. After that, it’s the final stretch to Primm and then Las Vegas. See the following illustration for an overview of the route.



Here are closeups of Cajon Pass and Mountain Pass (click any image to enlarge):

   

There were a number of factors that led to tactical errors on the day of our fateful journey. First, we felt comfortable navigating to and from Las Vegas as described above. Second, we heard that there may be snow in the mountains, but we assumed that it would be at higher elevations where people go to ski. Third, and this is the main point of the blog, we blindly and faithfully followed our GPS. To make a long story short, we got trapped between the Cajon Pass and Mountain Pass due to snowstorms and icy roads resulting in closure of I-15. Because many other motorists were also trapped, there were no hotel vacancies so we spent the night in our cars. For more of the gory details, see this video:


Let me focus on a sequence of events that contributed to us getting a bad recommendation from our GPS (Waze). First, we knew there were on-and-off closures of I-15 that day. In fact, our first attempt to traverse the Cajon Pass was thwarted by a road closure. We decided to drive home, but at 2:21 PM, I-15 North was re-opened.


Stubbornly, we decided to make a second attempt. After all, we had reservations for our hotel and a show. Caltrans laid gravel on the road to improve traction, and we got over the Cajon Pass without incident. As of 2:55 PM, I-15 at Mountain Pass was open, but we were still a couple hours away from Mountain Pass.


Snow continued falling, the temperature kept dropping, and Mountain Pass was closed in both directions at 4:00 PM.


Meanwhile, Waze was recommending that we continue on I-15 North and did NOT force us onto a viable alternate route. This screenshot is from 4:04 PM, but Waze kept making the same recommendation for the next several hours.



Mountain Pass was not re-opened until the next morning after it had stopped snowing. This meant that motorists had to either stay on I-15 in a standstill, take an alternate route through open roads, or retire for the evening. We chose the latter, which meant spending the night in our cars.

I’d like to emphasize that this is not so much a criticism of Waze which I think is a really fantastic GPS application. It is more of a reminder for all of us to use technology as an aid but not to be fully dependent on it without thinking things through. Technology may have limitations, and it appears that even though Caltrans was tweeting updates about road closures, perhaps that information was not made available to Waze in a timely manner. In any case, it can be helpful to check multiple sources of information about traffic, road conditions, weather reports, etc. to get you to your final destination in the quickest and safest manner. Sometimes that means you have to outsmart your GPS.

Monday, December 23, 2019

Lee Family 2019 Year In Review


Our Lee Family 2019 Year In Review is now available, with prior editions available here. Depending on the device you are using, you might be prompted by Dropbox to sign in, download the mobile app, or continue to the website—you can simply select the option to continue.

As usual, our home movies are available on Victor’s YouTube channel.

Thursday, December 12, 2019

Costco.com Price Adjustment

Recently I purchased an item from Costco.com, only to discover 2 days later that the item was offered for $15 less due to holiday promotional pricing. Fortunately, the Costco Customer Service website makes it easy to request a price adjustment. According to the terms, “Costco.com will gladly issue a credit for the difference between the price you paid and the promotional price, if your purchase was made online at Costco.com and was within 30 days prior to the change in price.”

When I submitted my request, I was asked for my Costco membership number, order number, the price I paid, the promotional price of the item, and some basic contact information. When my item shipped, I was charged the original full price. One day later, I received a refund notification from Costco.



Not once did I have to explain my situation or even make a phone call. I love consumer-friendly policies like this, and I also love it when technology works. Happy holidays everyone!

Tuesday, November 26, 2019

UberX at LAX

I travel frequently for business, and I usually take Uber to and from Los Angeles International Airport (LAX). For many years, I’ve been able to summon an UberX car for curbside pickup from any of several ride sharing zones distributed throughout the airport. However, starting October 29, 2019, UberX pickups at LAX were transitioned to a new location called LAX-it. Note that Uber Black and Uber Black SUV continue to pick up passengers curbside at the terminals.

I thought I’d share my experience after summoning my first Uber ride from LAX-it. The first thing I had to do was find the shuttle that would take me from the terminal to the new Uber pickup point. Although Uber pickups were formerly on the departure (upper) level, the LAX-it shuttle is boarded from the arrivals (lower) level. Pickup points are shown in the following figure:



Depending on the terminal where you arrive, the shuttle may take up to 15 minutes to drive you to the Uber pickup point. According to the LAX-it website, it is about a 3-minute walk from Terminal 1 and an 8-minute walk from Terminals 7 and 8.

My next decision was when to summon my UberX ride. I arrived at Terminal 4 which is about a 10-mimute shuttle ride to LAX-it. Out of curiosity, I searched for available cars immediately upon boarding the shuttle, and the Uber app quoted me an UberX ride for $24. However, not knowing exactly when I’d arrive, I didn’t want to summon a car and keep the driver waiting so did not request the ride just yet. As the shuttle took me closer to LAX-it, I kept checking UberX fares, and I saw the prices increase to $30, $40, and eventually $50. I hypothesized that this was due to surge pricing as a result of a busload of passengers all requesting UberX rides at around the same time. I decided to wait until I knew exactly where I was going before officially requesting my UberX car.

After the shuttle dropped us off at LAX-it, there were plenty of signs that directed me to the UberX pickup area. Note that Uber Pool and Uber XL pickup points are in a different area. There are also separate designated areas for Lyft, taxis, and other ground transportation.



When I arrived at the UberX pickup area, I saw a short line, along with signage that provides travelers with instructions on how to request an UberX car. After you request UberX, instead of being paired with a specific UberX driver, you are provided with a 6-digit PIN. When you get to the front of the UberX line, you approach the next available UberX driver and provide your PIN. The UberX driver enters the PIN into his/her app, and that provides the driver with your destination.

   

My ride was priced at $45, almost double the fare that I was initially quoted. I wonder if it would have honored the initial $24 fare, despite me being more than 10 minutes away from my Uber driver. Next time I take UberX from LAX, I will try to request my PIN immediately after getting on the shuttle to see if it will let me lock in a rate while I am still en route to LAX-it. If you have any thoughts on the optimal time to request your UberX PIN, leave a comment below!

Sunday, November 17, 2019

I’m Not Working Out, I’m Just Walking

On most days, I walk my child to school and/or back home from school. On most days, my Apple Watch interrupts me to tell me this:


While I am able to mute the workout reminder for a day, does anyone know how I can mute the workout reminder permanently? According to Apple’s Work out with your Apple Watch support page, “To turn this setting on or off, open the Settings app on your Apple Watch, tap Workout, then go to Start Workout Reminder.” However, I don’t have a Workout option on my Apple Watch’s Settings app. Anyone know how to stop the madness?

Saturday, October 5, 2019

UFC: Undisputedly Fantastic Content

The UFC is not a fight company, it’s a production company—
one of the biggest in the world—that just happens to sell fights.

This is a quote from Into the Cage: The Rise of UFC Nation by Nick Gullo. As a mixed martial arts (MMA) fan who not only watches MMA fights but also follows matchmaking, fight preparation, fight promotion, weigh-ins, and post-fight press conferences, most of which is available on YouTube, this made complete sense to me. I’ve always been impressed with not just the depth of insider coverage of the UFC (which stands for “Ultimate Fighting Championship”), but also the quality of video production. A sampling of UFC programs that I regularly watch include (in no particular order):

  • UFC Countdown: summarizes the journey of the fighters leading up to UFC events
  • UFC Inside the Octagon: analysts profile fighter strengths, weaknesses, and fight strategy
  • UFC Embedded: an inside view of the lives of fighters in the days leading up to an event
  • UFC Connected: a detailed focus on UFC fighters and their lives in and out of the octagon
  • Dana White: Lookin’ for a Fight: Dana and his buddies watch local fight promotions; show production is in an adrenaline-pumping, profanity-laced travel vlog format
  • Dana White’s Contender Series: a fight card in between UFC events, with certain fighters on each episode awarded UFC contracts

There are also special video series such as UFC: 25 Years in Short. And let’s not forget The Ultimate Fighter reality TV series whose season 1 finale arguably saved the UFC from bankruptcy. Since I make home movies and have my own YouTube channel, I can appreciate the professional production quality of all UFC videos. The UFC really does invest a lot of effort in keeping its fan base engaged in its business 365 days a year, and a big part of that, at least from my experience, is through high quality video content. Recently I came across an article that provides insight into the UFC’s finances, and it provided the following chart:



Content production costs totaled a whopping 19.6% of all UFC expenses in 2015. The only larger expense category was fighter compensation (23.0%), and coming in third was employee compensation (11.3%). In other words, the UFC spends almost twice as much money producing content as it does paying its own employees. Note that there is a separate category for marketing costs (10.4%), exclusive of content production.

Elsewhere in the book, Nick Gullo summarizes a conversation with UFC President Dana White. Dana asserts that boxing promoters don’t invest in the sport because they simply coordinate and promote boxing matches, then take their money and run. Gullo writes:
On the flip side, the UFC “four walls” the event—which means they handle everything: broadcast production, ticket and merchandise sales, designing posters, you name it. The organization 24/7 promotes its fighters, pushes them in the UFC magazine and The Ultimate Fighter, features them on the UFC website, the television shows, video blogs, billboards. Drive down the highway, enter a grocery store, flip on the TV, wherever you turn it’s UFC Nation. And because they do everything and control everything, they deliver product that eclipses boxing.
I appreciate when my world view is challenged by a new perspective, and I agree that the UFC is a production company that happens to sell fights. I think this also supports Bill Gates’ assertion that content is king. While there are other MMA promotions such as Bellator, ONE Championship, Professional Fighters League, Titan Fighting Championships, Rizin Fighting Federation, and many others, the UFC is in a class of its own by any measure. I believe that its content production and its “four walls” approach has a lot to do with its success.

Even if you are not a fan of MMA, hopefully you’ll at least click on some of the links and appreciate the high quality UFC video content.

Monday, September 9, 2019

Verizon Wireless Safety Mode

Our family doesn’t usually consume a large amount of wireless data. While we often use our desktop and mobile devices to stream music and video content through our wifi connection at home, we generally use our cellular data sparingly while on the road. Therefore, we subscribe to a 2 GB data plan through Verizon Wireless.

About a year ago, I activated a complimentary Safety Mode option that allows users to continue using cellular data at reduced speeds if they run out of data before the end of their billing cycle. This past month, we vacationed in Maui and also took a road trip to Arizona, New Mexico, and Texas to visit some national park service sites. We used up our 2 GB allowance of data several days before the end of our billing cycle, so Safety Mode kicked in.

According to Verizon Wireless, data speeds in Safety Mode are reduced to 128 Kbps. I wanted to verify for myself, so I installed Speedtest for iOS and checked for myself. Here’s my result:


A download speed of 0.05 Mbps x 1024 = 51.2 Kbps, about half of the advertised speed. For comparison, I checked the speed of my Spectrum wifi connection:


As a final comparison, at the start of my new billing cycle, I checked the normal speed of my Verizon Wireless connection:


From this I can conclude that (1) at least relatively speaking, the results of Speedtest seem to be on target; and (2) my Safety Mode data speed appears to be slower than advertised. Despite this finding, I think it is fantastic that I have a way to get cellular data beyond my monthly allowance without being charged overages or being required to upgrade my plan.

Sunday, September 8, 2019

Support for Legacy iOS

I have an iPad 2 (512 MB DDR2 RAM, 16 GB flash memory) that I use primarily for reading e-books and playing music, while our newer iPad and iPhones are used for more modern and processor-intensive applications. The iPad 2 was released in March 2011 (more than 8 years ago) and was discontinued in March 2014. For many years, I had assumed that it would be forever stuck on iOS 9.3.5 which was released in August 2016. To my surprise, I discovered that Apple released iOS 9.3.6 in July 2019, nearly 3 years after iOS 9.3.5.


According to a Apple Support document, this update was released “to make sure that its GPS, date, and time continue to work properly” and applies to iOS 9 and 10. It goes on to say “This is due to the GPS time rollover issue that began affecting GPS-enabled products from other manufacturers on April 6, 2019. Affected Apple devices are not impacted until November 3, 2019.”

I’m pleased that Apple has decided to support these legacy operating systems. It’s one of the reasons why I enjoy being a part of the Apple ecosystem. The fact that I can still use an 8-year old iPad (and a 12-year old mid-2007 24-inch iMac) is testimony to the total cost of ownership and the value of these products.

Friday, August 30, 2019

Panoramic Photos with GoPro



I enjoy shooting landscape photos, particularly in our U.S. national parks. Sometimes when trying to photograph a wide panoramic view, I simply can’t squeeze the entire landscape into a single photo. That’s when I use a technique where I take multiple side-by-side overlapping images and stitch them together using a software application. A useful tutorial is provided by Digital Photography School.

For most casual photographers, the built-in panoramic setting in mobile phones will suffice, but since I’m a photo geek, I prefer to shoot in RAW, apply color corrections to the individual photos, stitch, rotate, crop, and make other finishing touches. I know it requires a lot more steps, but I like the results and frankly am fascinated by the computations that are involved in the stitching process.

On a recent trip to Maui, I wanted to travel lightly and decided to leave my DSLR at home and shoot only with my iPhone and GoPro. Blasphemy, I know! While hiking in the Summit District of Haleakalā National Park, my iPhone battery died so I began shooting photos and videos with my GoPro HERO7 Black. As expected, I found myself in a scenario where I decided it would be best to take multiple images and later stitch them into a panorama.

Not having previously done this with a GoPro, and recognizing that GoPro cameras have super wide angles and significant barrel distortion, I made sure to overlap each individual photo even more than I usually do with my DSLR. The individual photos are here if you want to play with them:

      
      

Panoramic stitching applications use different methods to combine images, so it is not surprising that I got different results from three photo stitching applications. It is possible that their computational methods are detailed elsewhere, but my main focus is on the end result. Here is a summary of my findings.

Adobe Lightroom Classic CC 2017

Fail. The Panorama Merge feature in Adobe Lightroom was unable to stitch together the GoPro photos.


I got the same result with the other 2 projection options. Granted, this is an older version of Lightroom, and it is possible that the latest version would produce different results. In any case, when it successfully stitches photos, I prefer to use Lightroom for panoramas because it is the focal point of my RAW processing workflow.

PhotoStitcher 1.6

Fail. The application said that there were not enough key points.


I got the same results while trying multiple projection options. Once again, this is an older version, and I have not upgraded to version 2 because I frankly don’t use this application very much.

PTGui Pro 10.0

Winner! This is the application that I used to create the panoramic photo that is pictured at the top of this blog. Here is a screenshot of the unedited preview:


Obviously I haven’t been upgrading my software because version 11 is available at the time of this writing, and I assume that the current version would also successfully stitch the GoPro images.

Conclusion: From this comparison and also from prior experiences, I feel that PTGui is the most powerful stitching tool that I’ve tried. If your only available option is a wide angle lens, and if other applications are unable to create panoramas, try PTGui. However, the old adage that “an ounce of prevention is worth a pound of cure” definitely applies here—try to shoot panoramas with a lens that has less barrel distortion to begin with. I hope you’ve found this to be helpful.

Sunday, August 25, 2019

Mapping the U.S. National Parks

About a decade ago, I thought it would be a fun goal to try to visit all of the national parks in the United States. They are managed by the National Park Service, and currently there are 61 of them. If you also count national monuments, national historic sites, national seashores, and other national park system designations, there are currently a total of 419 units.

Over the years, I've maintained a spreadsheet of the national parks that I've visited. Not only have I periodically documented which one's I've visited, I've also had to make a few recent additions such as Pinnacles NP (established in 2013), Gateway Arch NP (2018), and Indiana Dunes NP (2019). However, a friend suggested that I create a map to visualize my progress, so I created one using Google My Maps:



I plan to update this map over time, but as of today I've visited 31 of 61 U.S. national parks. Not surprisingly, I've been more likely to visit national parks that are closer to home (Los Angeles). In fact, I've visited all of the national parks in California (9), Utah (5), Arizona (3), New Mexico (1), and Oregon (1) which are within striking distance of a 1-week road trip. Since Hawaii is one of our popular vacation destinations, it also made sense to visit its 2 national parks. Because travel logistics to Florida permitted, I've also checked off its 3 national parks.

Visiting the remainder of the U.S. national parks will require some careful planning (and time and money). I'm not only referring to the ones in the continental U.S. Namely, there are some national parks in Alaska that do not have navigable roads (Katmai NP, Lake Clark NP, Kobuk Valley NP, and Gates of the Arctic NP) so will require either chartered flights and/or backpacking trips. Also potentially challenging are American Samoa NP and Virgin Islands NP because of their distance from home, but commercial flights and lodging are available.

It is fitting that I wrote this blog on the 103rd anniversary of the National Park Service which was formed when the Organic Act was signed into law on August 25, 1916.

Thursday, July 4, 2019

Windows 10 Update Fail and Reinstalling Office 365

For work, I run Windows 10 in a Parallels Desktop virtual machine. Today my Windows Update informed me that a cumulative update for Windows 10 from version 1809 (a.k.a. October 2018) to version 1903 (a.k.a. May 2019). Given that I've been experiencing performance issues, I was hoping that this update would fix those problems and gladly chose to install it. Everything appeared to go smoothly, and I was prompted to restart my machine. However, after a successful restart, I was notified that the update failed to install.



I'm not sure if it's related, but I found a Forbes article about how Microsoft has blocked Windows 10 updates for some Mac users, as well as a Windows Support article addressing the same issue. Neither of them specifically apply to Windows 10 updates on Parallels Desktop, but I wonder if the same underlying issue applies. In any case, I decided to wait for Microsoft to address its underlying issues and wait for the next update.

Shortly thereafter, I noticed that all of my Office 365 Business applications were missing: Outlook, Word, Excel, PowerPoint, etc. I assume that there were updates to those applications as part of version 1903, but since the update failed, I was left without any of those apps. Fortunately, I was able to easily re-install those apps without requiring any CD/DVD installer or password/serial number combinations. If you have an Office 365 Business account, use the following steps:

From there, simply follow the instructions and in a few short minutes you should be back in business, both figuratively and literally. Hope this helps!

Sunday, June 16, 2019

Location Services Double Fail

A couple weeks ago, the clutch on my car died, and I was stranded on the road. Fortunately, I have free roadside assistance as part of my car insurance policy and called the toll-free number to schedule a tow. There was an option to speak to an agent and another option to pinpoint my location if I had a mobile phone. I opted for the latter, hoping to use modern technology to expedite my request. I was sent a text message with a link to begin my request:


So far so good. Upon clicking the link, I was taken to page on my web browser where it asked me to enter my vehicle location:


It stated that location services were required in order to use the map. Although I confirmed that I had enabled Location Services on my iPhone in Settings > Privacy > Location Services, I hadn't additionally enabled location services for my web browser (Safari). Not having realized that at the time, I decided to try entering my location in the search bar instead. I was at the corner of Sepulveda Blvd and National Blvd, so tried entering that intersection to no avail. It required an actual street address, not an intersection.

Feeling like this was taking too long, I abandoned the high-tech option and tapped a phone icon on the webpage which connected me to a live agent at All City Tow Service. I verified my insurance plan and told her my location (intersection of Sepulveda Blvd and National Blvd), and she said a tow truck should arrive in 45 minutes. Hooray for humans—a triumph over technology! Humans 1, Technology 0. I also received a text message confirmation from All City Tow Service.


I noticed the discrepancy between what the All City Tow Service agent told me (45 minutes) vs. the text message confirmation (90 minutes). Otherwise, all the other information looked correct. As I waited for the tow truck, I made work-related phone calls. About 90 minutes later, the tow truck still had not arrived. I clicked on the text message link to the website again, and given that my location was manually entered by the live agent, I was taken directly to a map:


I noticed immediately that the pin was placed on the wrong intersection (again, my car was at the corner of Sepulveda Blvd and National Blvd, but the pin was on the other side of the freeway). Fearing that the tow truck driver would not find me, I called All City Tow Service to have them update my location. It turns out that the tow truck driver went to the pinned location, did not see me, and left. So they dispatched a 2nd tow truck driver, and I provided a physical street address on Sepulveda Blvd that they could correctly enter for my location. I was given a wait time of 30 minutes. That was a little frustrating, but 30 minutes didn't seem that bad. Plus, a parking enforcement officer had come moments earlier and set up cones in the road to help divert traffic around my car which was blocking the middle lane of a 3-lane street, so I was not concerned about traffic safety.

About 45 minutes later, there was no tow truck in sight. I called All City Tow Service again to confirm that they had the correct address, and they confirmed the street address. However, something seemed to have gone awry with the 2nd tow truck driver (they did not answer my question about what exactly happened), so they dispatched a 3rd driver, and I was given a wait time of 45 minutes.


It was lunchtime anyway, so I grabbed a burger and continued waiting curbside. Another independent tow truck driver pulled up and offered to tow my car for $60. I was slightly tempted to take the offer but declined. Fortunately, the 3rd tow truck arrived almost exactly 45 minutes later, and I had my car towed to the mechanic.



My total wait time was 3 hours. Humans 0, Technology 0.

Saturday, May 4, 2019

GoPro HERO7 Black Microphone Port

Earlier this year, I wrote about my new toy, a GoPro HERO7 Black. I've really enjoyed using its video capabilities. Normally I shoot in 2.7K at 60fps which gives me plenty of flexibility in making 1080p videos with cropping, image stabilization, or both.

Although I do have the case and various mounts, most commonly I shoot handheld videos without the casing. In doing so, I have discovered that sometimes I inadvertently cover up the microphone port with my fingers which muffles the sound. Given that the GoPro HERO7 Black is waterproof, I had always assumed incorrectly that the microphone was using the same port as the speakers on the bottom of the camera.

The owner's manual does not show the location of the microphone port, so I searched Google. All of the search results led me to external microphone products or general reviews of the camera. After doing some of my own testing, I discovered that there is a separate microphone port on the side of the camera—it's the tiny hole above the power button, as shown in the upper left portion of this image:



So for those of you who shoot handheld videos with the GoPro HERO7 Black and were wondering the same thing, I hope this helps you too.

Wednesday, March 20, 2019

Airline Elite Status + Basic Economy Fare = ?

I have Platinum status (50,000 miles + $6,000 in one calendar year) on American Airlines. Benefits include complimentary auto-requested first class upgrades on short flights, early upgrade confirmations, mileage bonuses, priority checkin, 2 free checked bags, ability to select seats with extra legroom at no extra cost, and a variety of other perks.

In the last several years, many airlines have introduced low-cost airplane tickets that have certain restrictions. American Airlines has a Basic Economy Fare that has the following rules:


Have you ever wondered what would happen if an American Airlines customer with elite status (i.e., Gold, Platinum, Platinum Pro, or Executive Platinum) were to buy a Basic Economy Fare? Which rules would prevail? Specifically, the benefit that I care about the most is the ability to select a seat with extra legroom, and that comes with all levels of elite status.

As I was booking my American Airlines flight on Expedia, it defaulted to the Basic Economy Fare for $331 and asked for an additional $160 to get around the restrictions above. Since there was an Expedia policy to allow for free cancellations within 24 hours of booking, I selected the Basic Economy Fare, completed my transaction, and then went to the American Airlines website to see if I could leverage my Platinum status to select a seat. What do you think happened? Drumroll please...

The Basic Economy Fare restrictions trump the Platinum status benefits. Boo! Hiss! I have never achieved Platinum Pro or Executive Platinum, but I assume that the Basic Economy Fare restrictions prevail over any kind of elite status. I also assume that other airlines would have the same policies, but I have not personally verified. In any case, thank goodness for Expedia's 24-hour free cancellation policy. Turns out that I found a better flight on Southwest for less money. Hooray, Digital Daddy for the win!

Sunday, February 24, 2019

ECG on Apple Watch Series 4



You may be aware that there is a new ECG app on the Apple Watch Series 4. An Apple Support page provides instructions on how to use the app and interpret the results. Since I'm a doctor and a geek, I'll try to provide a little more context about the Apple Watch ECG capabilities in layman's terms.

The Apple Watch ECG tracing (a portion of mine is pictured above) is a subset of what is formally known as a "12-lead ECG" that might be used in doctor's offices and hospitals. A full 12-lead ECG might look something like this:


It's called a 12-lead ECG because there are 12 combinations of the leads that are placed on a patient's body, with each lead representing the electrical signals between 2 points on the body. Those 12 leads are I, II, III, aVR, aVL, aVF, V1, V2, V3, V4, V5, and V6. The placement of those 12 leads on a patient's body and the understanding of the differences between those leads are beyond the scope of this blog, but suffice it to say that in certain scenarios, it is important to look at ECG tracings from multiple leads to tell what is going on.

A 12-lead ECG can reveal many different kinds of findings, such as:
  • Arrhythmias: atrial fibrillation, atrial flutter, ventricular tachycardia, ventricular fibrillation, Wolf-Parkinson-White syndrome, sick sinus syndrome (tachy-brady syndrome), atrioventricular nodal reentrant tachycardia, multifocal atrial tachycardia, wandering atrial pacemaker, 1st/2nd/3rd-degree atrioventricular block, premature atrial contractions, premature ventricular contractions, long QT syndrome, asystole, and many others
  • Ischemia (insufficient supply of oxygen to heart muscles): unstable angina and acute myocardial infarction (heart attack)
  • Structural abnormalities: cardiac aneurysms, dextrocardia, congenital heart defects, hypertrophic obstructive cardiomyopathy, atrial septal defects, and others
  • Miscellaneous: hyperkalemia, hypokalemia, hypercalcemia, hypocalcemia, digoxin effect, pericarditis, and many others
The Apple Watch Series 4 (and presumably beyond) can identify normal sinus rhythm (i.e., a normal rhythm that is found in healthy hearts) and atrial fibrillation (an abnormal heart rhythm in which there is no predictable periodicity to the heartbeats and the notable absence of a certain kind of electrical signal known as a P wave on the ECG), but it cannot currently identify any other problems such as the partial list above.

After demonstrating success with the detection of atrial fibrillation, I think it would be fairly straightforward for Apple to identify several other kinds of arrhythmias (from the partial list above) on a Series 4 Apple Watch simply by updating the software, and I predict that we will see this capability sometime soon. However, it makes a lot of sense to start with identifying atrial fibrillation because it is one of the most common cardiac arrhythmias, has potentially serious consequences if left undetected and untreated, and is fairly straightforward to computerize its detection on ECG.

That being said, there are some conditions such as detecting heart attacks that are unlikely to be performed on an Apple Watch because a heart attack results in ECG changes in some leads but not others, depending on its location. That is why we use all 12 leads to look for signs of ischemia in all regions of the heart. The Apple watch ECG tracing is more or less equivalent to lead I on a 12-lead ECG. It is essentially a 1-lead ECG or a "telemetry strip" reading.

I hope this sheds some light on the Apple Watch ECG app's current capabilities and limitations. Tim Cook recently stated, "if you zoom out into the future, and you look back, and you ask the question, 'What was Apple's greatest contribution to mankind,' it will be about health." With Apple's introduction of HealthKit (June 2014), the Health app (June 2014), ResearchKit (March 2015), CareKit (March 2016), and now the ECG app (December 2018), I think Apple is in an excellent position to do just that.

Saturday, February 23, 2019

Updates on macOS Mojave App Store

I have a MacBook Pro and iMac, both running macOS Mojave 10.14.3. Several days ago my MacBook Pro told me that I had an update waiting to be installed.



I dutifully updated my NordVPN application, and because I have the same application running on my iMac, I turned on the iMac, launched the App Store, and planned to update the app there too. However, the NordVPN update was nowhere to be found.



I could not find an option to check for updates or to refresh the App Store, so I waited several minutes to no avail.  I tried quitting and re-launching the App Store, but still no success. It wasn't until the next day that the App Store on my iMac gave me the option to update my NordVPN application.

So this made me wonder if there is some sort of queueing protocol where not all users are given the option to update applications at the same time, perhaps to avoid server bandwidth issues? Anyone else see similar behavior on 2 separate Macs?

Friday, February 22, 2019

I'm All In


I've purchased a variety of Apple products over the years: Apple //e, Mac Classic II, 17-inch G4 iMac, 24-inch Mid-2007 iMac, and 27-inch Late-2012 iMac. Our family also owns two iPads, two iPhones, and an Apple TV. I've also used MacBook Pros for work and was recently gifted a set of AirPods. A couple of years ago, I bought an Apple Watch for my wife but had not used one myself until a couple weeks ago when we won an Apple Watch Series 4 in a raffle—woo hoo, come to Digital Daddy!

Clearly I am fully invested in the Apple ecosystem. In any case, I'll be blogging in the near future about some observations related to the Apple Watch so stay tuned!

Excuses Excuses


As described in my previous post, I recently bought a GoPro HERO7 Black. It records video at 4K (3840 x 2160). It's technically not my first device that is capable of capturing 4K video. My GoPro HERO3+ Black records video at 4K 15fps, but I found the 15fps frame rate to be unacceptable in most situations, so I mostly used 2.7K 30 fps and 1080p 60fps. However, my GoPro HERO7 Black records video at 4K 60fps (woo hoo) which means that I'll be recording a lot more 4K video.

Much to my dismay, Final Cut Pro X told me that my Late 2012 27-inch iMac (2.9 GHz Intel Core i5 processor) isn't quite powerful enough to edit 4K video (or larger). I proceeded to edit a 4K project anyway, and sure enough the skimming and previewing of 4K video is quite choppy and results in a significantly degraded editing experience. However, upon export, the 4K video plays smoothly in VLC Media Player, QuickTime Player, and of course YouTube.

The bottom line is that now I have an excuse to buy a new 27-inch Retina 5K iMac. 🤓

Thursday, January 31, 2019

Be a HERO


Daddy bought a new toy—a GoPro HERO7 Black. Woo hoo! I upgraded from my HERO3+ Black to take advantage of the following features in the HERO7 Black: waterproof body, 4K60 video, HDR photo mode (and an enhanced HDR option which they call SuperPhoto), image stabilization (which they call HyperSmooth), a touch screen interface, and GPS tagging. There are other nifty features such as live streaming and voice control, but I don’t expect to use them much. However, while playing with the settings in the GoPro iOS app, I was pleasantly surprised to learn of 2 more features that were not well advertised on the GoPro website.

The first feature is RAW image file format. When browsing the touch screen interface, you’ll see a RAW option in the photo settings that you can toggle on or off. Note that this setting does not appear to be available in the GoPro iOS app. When toggling the RAW setting to on, the GoPro stores both a .JPG and .GPR file. The .JPG file allows you to view the photo in your camera, while the .GPR file can be processed like any other RAW image file in Photoshop or Lightroom. One of the things I like most about RAW image files is the ability to reduce noise from images taken in low light as well as the ability to adjust highlights and shadows (to a much greater degree than .JPG files). The .GPR files averaged 6-7 MB for 12 MP photos taken at 4000x3000 resolution. Interestingly, unlike the GoPro HERO3+, there is no option in the HERO7 to save photos in smaller resolutions (not that I’d use those options, which is probably why they no longer exist). See What is RAW Format? for more information. For a nice overview of photo features, see this article.

The second feature is H.265 video compression, also known as high-efficiency video coding or HEVC, which basically means that videos are compressed more efficiently than ever before. While this setting does not appear to be available in-camera, the GoPro iOS app lets you toggle between “Most Compatible” (H.264) and “High Efficiency” (H.265) options. With H.265 video compression, files are approximately half the size as compared with H.264 for the same recording quality. See HEVC Explained for more information.

So far I’ve just been experimenting with my new GoPro at home, but I’ve been impressed with all the new features that have been added in the last several models. I can’t wait to start shooting actual events with my new toy.

Monday, January 21, 2019

Delayed Voice Messages


It happened again today. I received a notification that I had received a voice message on my iPhone 6 Plus running on the Verizon Wireless network. Strange, I thought, since I was using the phone at the time, and it did not ring, nor was it silenced. Looking at my voice messages, there were 3 new messages. One message was recorded right at that time, but the other 2 had been recorded in the past, one as early as January 4, 2019 (17 days ago).

Something similar also happened to me in December 2018 after an airplane flight from Los Angeles to Indianapolis. I thought at the time that maybe switching time zones and synchronizing with another Verizon tower might have triggered the display of several voice messages, some of which were recorded weeks prior.

This forum appears to address an issue that sounds similar to mine. The user's issue was resolved by resetting the network settings. I reset the network settings on my phone, and after a short pause, it force-restarted the phone. FYI that it had also erased my WiFi networks and passwords, so don't do this unless you have to. Fingers crossed that I'll be receiving my voice messages in a timely manner. If I haven't responded to one of your voice messages, please text me or call me again!

Saturday, January 12, 2019

Earthquake Alerting

About an hour ago, I felt a small earthquake and found details on the USGS website:
https://earthquake.usgs.gov/earthquakes/eventpage/ci38423128/executive



While I felt only a small jolt, I did wonder if the shaking would continue to increase in intensity or if the worst was over. Fortunately that's all I felt.

Recently I downloaded ShakeAlertLA and wondered why I did not receive an alert and if the app even registered the quake at all. Launching the app, it looks like this particular earthquake did not register in its system:


I do understand that there are many "small" earthquakes that are detected every day, so it does not make sense to alert users to every single one that is detected. However, I could not find a setting where I could set an earthquake magnitude parameter, above which I could get an alert and visualize it on the map. I suppose that would be nice, although I am also guessing that alerting capabilities might vary depending on the magnitude and other features of the earthquake.

In doing some research, this article states that ShakeAlertLA will issue alerts for all earthquakes and aftershocks in Los Angeles county of magnitude 5.0 or greater. In any case, it is also clear that the early warning system is still undergoing research and development, and I applaud the work in progress which I believe will eventually save many lives.