Visualizing Sports Betting with Python; Evolution of a Bankroll Over Time With +EV Betting

I think there is a lack of eloquent visual representations online of how someone wins / loses money over time with sports betting.

I’ve used a basic Python script to simulate the evolution of a sports bettor’s bankroll over time and aim to use it to show how players will win or lose money over time, depending on their betting strategy. I describe how most sports bettors lose money, and show how +EV betting or promo hunting is profitable for most. I write with the expectation you are new to most information here. If the phrases like Kelly criterion or positive expected value have any meaning to you, I would just skip to the figures below.

The mathematical and computational underpinnings of what we do here are the modeling of a stochastic process best described as a discrete-time random walk. Among many other things these have important implications in financial modeling and this lecture from a University of Leicester economics course provides a summary.

Assumptions for below:

  • Your starting account balance is $1000
  • Your unit size is $10 (you place $10 on each bet)
  • We somehow know the true probability for the outcomes of sporting events
  • We place 500 bets

Reality for >90% of players: Losing money in the long run (two-sided lines of -110 / -110 for an event whose true probability is 0.5)

You are betting on an event which is truly, unambiguously, 50/50 (e.g., the coin toss at the Super Bowl) and your sportsbook offers two-sided lines of -110 / -110. In other words, as is the case with any bet, if you pick wrong you lose your entire staked amount. If you win, you profit ~90% of your stake. This is effectively what every sportsbook offers and how every casual gambler plays.

Bankroll of 10 different players over the course of 500 bets.

The exact numbers depend very much on the sportsbook and the market you are betting on. Some markets have much more generous lines. Main lines are much more liquid than player props, and sportsbooks are much more confident in their NFL main lines than, say, Major League Table Tennis games props, and will offer better odds accordingly. The first few paragraphs on BettorOdds’ write-up describe this better than I will.

Simulated for 10 different players, you can see the natural ebb and flow of a bankroll. There is a natural variance and some players “get hot” but in the long run, the loss of money is inevitable when the odds are -110 (i.e., your profit on winning bets is 90% of your stake). Put in more statistically sound terms — you will lose money when placing bets with negative expected value.

I ran it over 500 iterations, much to the dismay of my laptop’s CPU. I’d love to do more but I’m at a coffee shop and my laptop is on battery. Anyway– note that almost every bettor loses money in the long run. The occasional gambler will find luck and find himself up over a short period of time — the simulation indicated by the orange line finished at a bankroll of $1002 after 500 bets. All others were down some significant amount. Despite some brief stretch of luck found by orange, over infinitely many iterations (bets), every bettor will lose money. This is the multi-billion dollar investment thesis of Las Vegas sportsbooks and we are certain it is true from practice as well as probability.

A perfectly fair sportsbook who offers odds that perfectly reflect the true probability of events occurring

Bankroll of 10 different players over the course of 500 bets.

This theoretical sportsbook does not wish to make any money, but only provide liquidity to the betting market. In the long run, your return on investment will tend towards zero and averaged over many simulations, your bankroll will remain near its starting balance… well, probably. Kind of. Not really. Below the image I will take a quick detour on random walks in stochastic processes— I would ignore this and skip to the next image if that sounds boring.

In reality what I describing above is an unbiased random walk, and there is a small but non-zero chance that variance wipes out your bankroll entirely. In other words, you go on an exceedingly cold streak that wipes out your bankroll entirely, and now you are broke with no possibility of recovery. It may be easier to imagine this if your account balance is $100 and your bet size is $50. Lose your first two bets and it’s over. Even if you work your way up to a $200 balance, lose 4 bets in a row and it’s over. It’s not hard to imagine a coin landing on heads 4 times in a row. If you flip the coin 10,000 times, the probability approaches 1.

This phenomenon is described as “gambler’s ruin” and there are mathematical tools for describing the probability that you are broke after t bets, with some starting bankroll n. Or the probability that you reach a certain account balance after t bets without being ruined. A real-life gambler, if he is playing responsibly, assigns his bet size to some percent of his bankroll such that losing money in the long run won’t entirely bankrupt him but slowly tick down his bankroll closer and closer to zero with each loss.

The mathematical underpinnings of this are beyond the scope of my knowledge but I think should be well within the reach of undergraduate probability classes. See this lecture from an MIT course on probability in computer science. There is a LibreText chapter on Introductory Probability which describes it in section 12.1.

Sportsbook offers line of +110 for an event whose true probability is 0.5:

Bankroll of 10 different players over the course of 500 bets.

Sportsbook offers line of +130 for an event whose true probability is 0.5:

Bankroll of 10 different players over the course of 500 bets.

As you will basically never find lines this good without boosts / promos, this is effectively promo betting or promo hunting; taking a normal -110 / -110 main line and applying a 50% boost to it. Even if you randomly choose sides, hitting 50% of these bets will lead to positive returns. You have some wiggle room and do not even need to hit half of them.

There will never be a main line or prop bet whose line strays this far from the true odds for more than a few minutes. There are computers and humans who will hammer the bet until the sportsbook either removes it or lowers its odds to minimize risk.

How can we say we know the true probability for a sporting event?

I will write this part later– I wanted to publish the graphics today

Thanks!

  • This simulation uses the following Python libraries:
    • NumPy (https://numpy.org/): Developed and maintained by the NumPy community
    • Matplotlib (https://matplotlib.org/): Developed and maintained by the Matplotlib development team
    • Pillow (https://python-pillow.org/): Developed and maintained by the Pillow contributors.
  • Grinstead and Snell’s Introduction to Probability was helpful.
  • This lecture from a University of Leicester economics course was helpful.

 

How to identify year of a Titleist ProV1 by markings

Every graphic I saw online was either outdated or didn’t go back far enough, so this is my attempt to put a more comprehensive one out on the internet. I have 2013 through 2025 on here, and will update as I find old ones in the woods. The 2025 ball has not yet been released to market and is in testing with professionals right now. The image is from Titleist’s media release here. Titleist, if I need to take this down please email me.

The blurring off to the right was because I wanted to add the 2025 ball but was out of space (and didn’t want to retake the picture)

Titleist has ProV1s on a q2 year release cycle, so only odd years have releases. For a list of logos from year 2000 to 2019, see this blog post from Titleist themselves.

Can You Hit A Ball Out Of TopGolf? Simulations And Real Data

Quick summary:

  • It is very difficult to hit a ball over the net at Top Golf
  • For you, me, and anyone you know who is a long hitter, absolutely not.
  • For anyone you know who plays professional golf, no.
  • For a long-hitting pro golfer, from the top floor, using a ball superior to a TopGolf ball, it’s very plausible.
  • For a competition-level long driver, it’s very likely.
  • Below is an example of the model – many more included under ‘Results’
  • This is all based on a linear model I have relating the speeds / spin of TopGolf balls to regular balls. This is limited in nature and probably fails to describe extreme conditions well

Assumptions:

  • TopGolf dimensions are 250 yards to the back of the net, which is 150 feet tall
  • These are perfectly straight drives and all spin is backspin
  • We are hitting TopGolf balls, unless specified otherwise – TopGolf balls do NOT launch / fly like regular balls!
  • We are at sea level, unless specified otherwise
  • TopGolf balls have similar aerodynamics to regular balls

 

Methods and reasoning:

  • I am using OptimalFlight, a model created by Todd M. Kos of Quality Golf Stats, to model flight based on input trajectory parameters
  • The ball’s flight function was solved for the output when x = 250, i.e., input x being distance, and output returning the ball’s altitude (in yards) at that distance. TopGolf nets measure 50 yards high at 250 yards, so if f(250) > 50, the ball will clear the net
  • I have no idea how to pull functions out of Excel so there was a messy step where everything was fit to a polynomial regression function, in the end the impact from this was negligible

TopGolf balls do not behave the same as regular golf balls. Based on Trackman 4 data I reported here, off driver the ball speed is 4.6% lower, launch is 6.1% lower, and spin is 28.6% higher. These data match my anecdotal experience at TopGolf (I’m not a walking launch monitor but I can tell spin was high and speeds were down a bit). Simulations will be ran using these modified numbers, as these changes in trajectory have a significant impact on distance and apex, and thus the potential to clear the TopGolf net.

I used the data above to make a simple, linear model relating regular balls to TopGolf balls. This linear model assumes a constant, proportional relationship between the performance of the two classes of golf balls. In reality, I think at extreme swing speeds / launch conditions, factors like material deformation and aerodynamic drag will not be captured by what I do here. Does a TopGolf ball’s dimple pattern lead to more drag and shorter flight than, say, a ProV1? I have no idea.

Long drivers routinely get ball speeds >220mph, so it may be a bold assumption that my data at ~150mph describe the relationship well. Some more complex model underlies the relationship of these balls that I don’t have the ability to describe.

It’s unclear what the dimensions of an average TopGolf are. Some sources describe length as 215 yards, some say 240, some say 250, and some imply 267. With the lack of clarity I’ll assume 250, which is one of the more commonly reported figures online. Most sources agree on a 150 foot fence height. One source quoted a TopGolf spokeswoman at a 170 fence height.

 

An example of the average PGA Tour driver’s parameters being modeled into a trajectory using OptimalFlight.
Solving the polynomial fit to our model’s ball flight, where f(250) returns the ball’s altitude in yards at 250 yards distance. For this shot, it was approx 19.1 yards, which does not clear the 50 yard net.

Results:

Average male golfer (14.5 handicap):

  • Average male data from Trackman.
  • Ball speed: 132.6 mph →126.5 mph with TopGolf ball
  • Spin: 3275 rpm → 4212 rpm
  • Launch: 12.6° → 11.8°
  • Doesn’t even make it to the net so I didn’t waste my time with a polynomial regression or drawing a net on this graph.
His ball never even makes it to the net. Good effort though!!

Average female LPGA Tour driver:

Average male PGA Tour driver:

His ball intercepts the net at 10.0 yards. It would have carried 263.2 had its flight not been obstructed (remember – this model uses a TopGolf ball)

 

Typical / good drive from Rory McIlroy:

  • As of March 12th, 2023, Rory’s average driver ball speed in competition is 184.6 mph. In 2017 Rory tweeted his launch monitor numbers, including a ball speed of 184.1 mph, so I think this is a good enough approximation of his current average. This likely represents a better than average strike given the carry and total.
  • Ball speed: 184.1 mph → 175.6 mph with TopGolf ball
  • Spin: 2523 rpm → 3245 rpm
  • Launch: 12.5° → 11.7°
  • His ball intercepts the net at 34.1 yards of height. The first to threaten it!
  • This shot would have carried 297.9 had its flight been unobstructed. Had it been a normal ball rather than a TopGolf ball, this carry would have been 320-330 at sea level.

 

OK, What if Rory brought a TP5x or ProV1 to TopGolf and hit that, and he’s also on the 3rd floor??

  • Same input parameters as above, I just did not apply the speed / spin / launch penalties of a TopGolf ball
  • 184.1 mph, 2523 rpm, 12.5° launch
  • I made the assumption that the hitting surface of the top deck is 30 feet from the ground level. It may be higher but I do not have any numbers on this.
  • Just mere inches short!
Just a hair short of the 50 yd / 150 foot net! As a reminder, the graphic of the net is just a quick addition in Photoshop – the true answer comes from solving our polynomial regression for f(250), which in this case was 49.9 yards.

Great strike from 2022 World Long Drive Champion, Martin Borgmeier:

 

So can you hit a ball out of TopGolf? The answer is yes, if you are a world champion-level long driver of the ball–  OR an extremely long hitter who:

  • A) brings their own balls to TopGolf (this is probably banned, if not criminal)
  • B) hits from the top floor
  • C) plays at high altitude,
  • or likely a combination of at least 2 of these

 

Do TopGolf Balls Fly Shorter Than Regular Golf Balls? Data on Trackman

Quick summary:

  • TopGolf balls do not go as far as typical golf balls
  • For me, carry distances were down 8%
  • There are multiple reasons why it is advantageous for them to do this

 

Methods and materials:

The $20,000 behemoth (that can somehow be rented for $30/hour!?!?)

Trackman 4 was used, indoors, with about 12 feet of unobstructed flight. All data were normalized to sea level and 75 °F.

A single TopGolf ball was used, which certainly limits the validity here. For what it’s worth I did not steal it, for some reason my driving range has a few random TopGolf balls that occasionally find their way into our buckets. So I guess I did steal it, just not from TopGolf. Regardless, I plan to throw it back on the range next time I hit a bucket to alleviate this crushing weight on my conscience.

A RCT ProV1x was used (what is RCT?), as this was Trackman and it’s difficult to get spin readings without a RCT ball.

To ensure the ‘input’ was close enough to make a fair comparison, I ensured clubhead speeds were equivalent in both groups. I excluded several early PW shots as there was a warm-up bias where I was swinging a few mph slower at the beginning of the session. After the exclusions, the clubhead speeds were nearly identical at 76.4mph and 76.5mph in the two groups. Club path, face to path, and angle of attack were consistent within the groups as well, as AoA especially would influence backspin. I excluded one data point from the driver ProV1x data, where I swung a few mph faster.

 

Limitations

There was only about 12 feet of unobstructed ball flight for Trackman to read. Of note, Trackman gave me several italicized spin numbers with TopGolf balls (italics means spin was not actually measured but only estimated based on impact conditions – i.e., italics = less accurate – more info here) I did not get any italicized parameters with the RCT ProV1x.

This means the spin accuracy is questionable. Indoors, this is difficult to avoid. As discussed above, I only had one TopGolf ball to use.

Discussion

Results can be seen in the images at the top of this page.

This provides context to the observation that many of us have made when we go to TopGolf, which is that it feels like the ball doesn’t go anywhere.

Results reflect what I have seen in many range balls, which is more spin off of woods, less spin off of irons or wedges. Had I hit my 56°, I suspect spin would have dropped from 10,000 to something like 8,000 rpm. A slight penalty on ball speeds as well. Anecdotally, I have seen about a 5% ball speed dropoff from range balls to TopGolf balls, however I’ve never had the chance to compare a premium ball to TopGolf.

I find this information useful because it plays into the argument of whether one can drive a ball over TopGolf’s back net. I hope to follow up with another post on that, but the limited flight of TopGolf balls becomes quite relevant here.

Why is this the case?

Golf balls meant for course play and golf balls meant for repeated usage on a driving range have fundamental differences in design. Balls meant for play on a course (we’ll call them “premium balls”) are optimized for launch and spin to provide the best performance. The urethane covers on these premium balls, while providing the best trajectory and spin profile, are soft and cannot stand repeated impacts. Balls for driving ranges (and TopGolf) are built less for performance but instead for survival – they have essentially the hardest, most durable covers feasible, to ensure their survival over thousands of impacts. For some driving ranges, balls are replaced annually or even less often.

In addition, premium golf balls’ cores are once again designed to optimize launch and speed. TopGolf balls require the inclusion of an RFID chip in their plastic core (see image below!). This foreign, non-homogenous core almost certainly is less efficient than a normal core, and ball speeds will take a hit compared to balls that do not necessitate the inclusion of chips.

Finally, it suits TopGolf from a business perspective to have limited flight golf balls. Even without RFID chips, some driving ranges choose to use limited flight golf balls, which are designed to be slower, to save space. Driving ranges with real estate limitations use these often. A TopGolf range is expensive to construct, and needing 250 yards of range and fencing saves costs over a 350 yard range, which might be typical for a normal driving range.

Inside of a TopGolf ball. Credit to Reddit user “u/JamberoniIcedTea” for image

Mevo Accuracy Compared To Trackman (2022)

Quick summary:

  • I compared the Mevo ($400) to the current gold standard of doppler radar launch monitors, the Trackman 4 ($19,000)
  • The Mevo performs extremely well for ball speed (on any given shot, less than 1% off)
  • The Mevo performs very well for club speed (usually less than 3% off)
  • The Mevo performs pretty well for carry (usually less than 5% off)
  • Spin and launch angle are highly erratic and are almost unusable (20-60% off)
  • Below are the simplest and fastest graphs to summarize the accuracy:

 

Overview, methods:

Picture of Mevo next to a Trackman 4 unit
Where the magic happened….

The Mevo ($450) is a portable radar launch monitor, which uses Doppler radar to measure different parameters of a golf shot. There is a wide variety of launch monitors at various price points, but at the top end for radar models is the Trackman 4 (starting at $18,995), which is the gold standard I used for these tests. Owning one is impractical for almost everyone outside of pros and coaches, but thankfully they can be rented for $30/hour where I live. I spent a couple sessions hitting on one and comparing its read of each shot to the Mevo. Both devices were calibrated for the altitude I usually play at in Akron (1,000 ft. above sea level).

Data was collected indoors with 8 feet of unobstructed ball flight. Reflective metallic stickers were used on each ball to improve accuracy, per the recommendations of Flightscope. I used Taylormade TP5x’s for all shots. I include “2022” in the title because a disgusting amount of data interpretation happens behind the scenes with these companies and their proprietary calculations, and Flightscope’s firmware updates improve accuracy even as the hardware remains the same.

I think it’s realistic to break this down to two parts – accuracy for individual shots, and accuracy for club gapping purposes (i.e., looking at averages for 5-10 shots with each club). For the latter, if someone hits 10 shots with each club, the individual variation doesn’t matter as much so long as the averages are close to the true (Trackman) averages. So for individual shots, I’m going to avoid using “average % error” as that could smooth out any nuance if the Mevo mixes over-reads with under-reads – it would improperly return a value very close to zero. I’ll use the absolute value of % difference on each shot. I’ll show the % difference for individual shots for a couple sets of data (there is too much data for this to be practical for each shot and club). For session averages, these will be true averages.

 

Below is some of the raw data after I pasted everything from both Trackman and Flightscope’s websites to Excel:

Example of some of the data used to generate these graphs

Results: Comparing session averages (5-15 shots with each club)

Results: Comparing the parameters for individual shots:

For 16 swings of a driver, I compared the ball speed (mph) that Trackman measured and the ball speed that Mevo measured. Below is the percent difference from Trackman’s speed that Mevo’s measured on these 16 individual swings. The Mevo never missed a shot and never differed by more than 0.8%. On average, it slightly misread on the high side. It is important to point out that the differences here are extremely minute – the session average on Trackman was 149.2mph, whereas Mevo’s was 148.8mph. This difference is too small to have any actionable impact, even on a professional fitting.

Below is the same data for the other parameters:

Results: Average difference from Trackman (Abs):

As discussed above, I think using the absolute value of the difference from Trackman on each individual shot is a fair way to gauge “how far from the true value might this be?” when you are using your Mevo on the range and receive a carry distance or ball speed. So below is the average of this difference on each shot:

Discussion:

Mevo performed admirably given the price point and its competitors. Its ball speed measurements are effectively indistinguishable from Trackman. At 160mph, a 0.5% difference would be reading 159.2-160.8mph, which is not significant enough for anyone to care about, outside of robotic equipment testing. Club speed is largely consistent, if slightly more inaccurate. Launch angle was consistently over-estimated. Spin was highly erroneous. Carry is influenced by spin and launch, and poorly read spin numbers influenced carry distance at times. To give an example, here is a tale of two reads with a 4 Hybrid shot that I struck thin:

  • Trackman: 127.2mph, 14.8* launch, 3300 spin → 199.1 yard carry
  • Mevo: 127.1mph, 20.8* launch, 7250 spin → 175.6 yard carry

The gruesomely over-estimated spin and launch lead to a low carry distance, even though Mevo nailed the ball speed.

I think the best use of the Mevo is if you have some sort of baseline familiarity with your launch monitor numbers, particularly ball speed. For people trying to build swing speed, ball speed is an important parameter to watch when using your driver. And the Mevo’s ball speed is effectively indistinguishable from your true (Trackman) ball speed. If Mevo reads a spin of 6,000rpm on a well struck driver shot, it is useful to be able to say “I know that’s not true” and throw out the carry distance, which would be skewed, while understanding the ball speed is still fine to interpret.

Limitations:

Trackman isn’t infallible, and even though it was treated as the ‘true’ values, it’s only an estimate. In indoor settings some professionals prefer photometric launch monitors (e.g., GC Quad). Its true strength lies in outdoor use where it can track the full flight of a shot. As these tests were performed indoors, they are limited. However Trackman likely represents the technical limitation of Doppler radar launch monitors as of 2022, and my goal was to see how close a $400 device can come to this standard.

I also wonder how the prescence of more than one radar device affects reading. These units are effectively floodlights, however instead of visible light from a bulb, it’s longer radio waves emitted from an antenna (or in the case of Trackman, an array of multiple antennae at different frequencies). I wonder if the additional radiation from Trackman would actually improve the performance of the Mevo, which is normally limited by its small size and its meager power as a battery-operated device. If anyone has experience in signal processing and has insight… feel free to email me!

 

I will add more data with irons this fall as I have time.

 

Can You Take a 12-Lead ECG on the Apple Watch?

Quick summary:

  • Yes, you can! ✅
  • I used a Series 7 GPS, however anything going back to the Series 4 will work (excluding the SE)
  • Breakdown by leads:
    • Limb leads (I, II, III) all can be recorded easily ✅
    • Augmented leads (aVL, aVR, aVF) can still be measured by the Apple Watch but they require an extra step – this step involves using a wire and I did not go through the trouble of it (steps to accomplish this can be seen in this professor’s article)
    • Precordial leads (V1-V6) can be successfully approximated and multiple methods will work ✅
  • Below is an image of an ECG I made from my own heart, following the methods characterized in this article:
  • At the bottom of the article I include an actual heart attack as measured by an Apple Watch (compared to the patient’s professional ECG)

Overview:

The art of using a 1-lead device (or 2-electrode device) to record all 12 ECG leads is not new – in 2008, Dr. Grier at NDSU outlined the framework for doing this with handheld devices, far before smart watches even hit the market. However, unlike those 16 year old devices and even new home ECG readers (e.g., Kardia’s products), Apple Watches offer a ubiquity that makes them interesting for this purpose if chest pain strikes in a location with forcibly delayed healthcare access (skiing, hiking, airplanes).

Measuring I, II, III, aVL, aVF, aVR:

Leads I, II, and III can be easily measured on the Apple Watch. The watch uses its back crystal as the positive electrode and the crown as the negative electrode. Below is a sketch of how Lead I can be measured. Leads II and II can be similarly measured.

Due to overwhelming demand from readers – here is a schematic of how I took this photo (it was not easy)
  • Lead I: Watch on left wrist, right finger on crown
  • Lead II: Watch on lower abdomen, right finger on crown
  • Lead III: Watch on lower abdomen, left finger on crown
  • Augmented leads (if desired): try this website from Dr. Grier, or this guide

The augmented leads are a bit more complicated. Unlike the other leads which are largely just the potential difference between two different points on our body, the augmented leads are calculated. Their calculation averages two locations and then uses the actual potential from another location – the same professor mentioned above, Dr. Grier, has a very nice graphic that explains it better than I can:

eHeart: Introduction to ECG EKG

Measuring these leads would thus involve using a wire to connect different body parts (e.g., left arm and left leg), then holding that to the watch, while the other part (e.g., right arm) completes the circuit on the watch. I did not have wire handy and also wanted to simulate a situation where someone could be in a remote or inaccessible location (e.g., skiing, on a plane, etc.) where an Apple Watch is the only tool they have.

Measuring Precordial Leads, V1-V6:

We unfortunately must take an aside to discuss ECG theory because discussion of precordial leads is nonsense without exploring it. Leads I-III have easy to understand measurements, much like connecting a multimeter to the positive and negative end of an AA battery, there is a positive and negative electrode, and the difference in potential between them is easily measured. The precordial leads (V1-V6) overly the chest wall at 6 different positions, however they don’t have a clearly apparent second electrode. There is no actual second electrode, but instead a theoretical position deep in the chest (under the heart) known as Wilson’s Central Terminal to which the precordial leads are compared. That theoretical point obviously doesn’t have a lead placed on it but is approximated by averaging all the limb leads and treating that potential as the reference to which the precordial leads are compared against. It is assumed to be nearly zero and unchanging during the cardiac cycle.

The details and derivation of this are discussed in detail in a 1975 text, “Bioelectromagnetism: Principles and Applications of Bioelectric and Biomagnetic Fields” by Malmivuo and Plonsey, which is by far the best text on this subject that I have found. In section 15.3 of this text, the precordial leads specifically and Wilson’s Central Terminal are discussed.

Wilson’s original description of why it was necessary to develop an “indifferent electrode” and how his team at UMich accomplished it.
Wilson, et. al, (1934). Electrocardiograms that represent the potential variations of a single electrode. American Heart Journal, 9(4), 447-458.

The original publications are in the American Heart Journal, whose volumes from 1932-1934 are archived online for free. In summary, Wilson’s Central Terminal cannot be faithfully created on an Apple Watch without connecting all of your limbs with copper wires and then connecting that to one of the Apple Watch electrodes. This is unwieldy and defeats the purpose of a portable, wearable ECG. However, there are means to approximate it which are effective. I found two approaches in the literature to this approximation:

  1. Using the right arm (wrist) as an approximation was the simplest approach, and was described and validated by a cardiologist in this 2019 publication
  2. Using the right arm (wrist) with the left wrist wrapped around it, as described in this 2019 publication by German cardiologists
    • They called their precordial leads “Wilson-like” leads
    • Their methodology involved only recording V1, V4 and V6 as recording more was cumbersome for patients (after measuring all 6 myself, I’m inclined to agree)
    • Their methodology was tested on actual STEMI patients, and their Apple Watch ECGs were used by cardiologists to successfully identify not only infarct, but the location of the infarct (LAD).

For my own measurements, I was intrigued by the second approach, so I performed it by their methodology as follows:

  • V1: Watch on right 4th intercostal space (ICS), right index finger on crown with left hand wrapped around right wrist
  • V2: Watch on left 4th ICS, right index finger on crown with left hand wrapped around right wrist
  • V3: between V2 and V4
  • V4: Watch on left 5th ICS, mid clavicular line, right index finger on crown with left hand wrapped around right wrist
  • V5: Watch on left 5th ICS, anterior axillary line, right index finger on crown with left hand wrapped around right wrist
  • V6: Watch on left 5th ICS, mid axillary line, right index finger on crown with left hand wrapped around right wrist

I would suggest following an image like this one if you plan to replicate this yourself.

My Own ECG:

Below is the monstrosity I spent the last 30 minutes recording, outputting as 9 separate PDFs, then stitching together in Photoshop. Of note, these are not simultaneous readings from each lead, but 9 discrete intervals recorded individually.

Brief overview of how this 9-lead ECG does and doesn’t provide more information than a 1-lead ECG:

  • Rate:
    • could be obtained on one lead
  • Rhythm:
    • likewise to above
  • PR:
    • The interval would be unchanged regardless of the number of leads but we do get new information with multiple views of the PR segment. Additional information about reciprocal changes has implications for ischemia and atrial morphology (e.g., Liu’s criteria for atrial infarct/ischemia, changes in V1 seen with right / left atrial enlargement which we now have access to on the precordial leads)
  • QT:
    • likewise to above
  • Axis:
    • lack of aVF would initially appear limiting, however I being positive and III being (roughly) isoelectric suggests my QRS axis is normal and something like +30 degrees. So the added leads do give us more information in yet another way.
  • R-wave progression:
    • Definitely not possible on a 1-lead ECG
  • ST segments:
    • Definitely not possible on a 1-lead ECG unless changes are only in lateral leads. My ST segments are visualized and lie on the baseline on every lead. I’m a bad patient as I am guessing I don’t have any current ischemia, and this ECG supports that (2024 update; I remain alive so I suspect that I was correct).  In studies where patients have had actual ST segment elevations, MI patients have been followed with these sort of Apple Watch 6 or 9-lead recreations… they have routinely been detected!

Discussion:

Academics who have published on this topic have published interesting results such as using actual STEMI patients, comparing the Watch ECGs to professionally performed ones, as well as having actual cardiologists perform blind reads of ECGs to assess sensitivity and specificity. The results have consistently shown that the Apple Watch, while unwieldy, can perform largely accurate ECGs.

An undergraduate student’s December 2020 review article on this topic, “Einthoven and precordial lead accuracy of smartwatch-acquired electrocardiographs: a review of the literature”, can be found here. It is a great discussion of the underlying electrophysiology, successes, and limitations of this topic.

I think the most interesting cases are taking actual STEMI patients and seeing how accurately the Apple Watch could measure them. Out of Italy, this 2020 JAMA Cardiology article used Series 4 Apple Watch ECGs to record 100 patients (54 STEMIs, 27 NSTEMIs, 19 controls). In their supplemental materials, they included a comparison of a STEMI as perceived by the Apple Watch vs. their standard ECG equipment:

From Spaccarotella, C. A. M., Polimeni, A., Migliarino, S., Principe, E., Curcio, A., Mongiardo, A., … & Indolfi, C. (2020). Multichannel electrocardiograms obtained by a smartwatch for the diagnosis of ST-segment changes. JAMA cardiology, 5(10), 1176-1180.

 

I think there is true utility to these, but only in very specific scenarios where access to medicine is forcibly delayed. If transit to a hospital is possible, then precious door-to-balloon time would be wasted as you place an Apple Watch in 9-12 various spots over your bare chest and arms. However, situations that come to mind are remote recreation (skiing, hiking), airplane travel, and catastrophe, where most owners of Apple Watches would be expected to have them on-hand, and there is a forced delay until emergency personnel can get you to a hospital / cath lab.

The natural follow up question to this is whether or not this hyper-early detection (not only pre-ED but pre-ambulance!) would actually change outcomes. I’m not sure I’m qualified to answer that. The impact of early ECGs on STEMI care has been explored in several studies, however those have been more directed at whether or not having paramedics perform ECGs pre-hospital will improve outcomes.

This article was last updated November 2024.

2021 NFL All-COVID Team (Offense)

Aaron Rodgers headlines our 2021 All-COVID team. Photo by me, September 30, 2012.

I am honored to present the 2021-22 NFL All-COVID team, presented by the PFFA*, with the motto “COVID got their guy”. Defensive selections to be announced in a follow up post.

*PFFA, the Pro Football Fans Association, is not a real association and its only member is me. For legal reasons I’d like to emphasize that I have no relationship to the NFL. 

Brief selection notes:

This is my selection of an All-Pro team that only consists of those who contracted COVID this season. Players who contracted COVID only during the 2020 season were not considered eligible (e.g., Trent Williams). Players who contracted it during the camps and OTAs that preceded the 2021 season were considered eligible (e.g., Penei Sewell). Players needed to test positive for the virus – only landing on the COVID list doesn’t count as that includes players in the protocol for a close contact, etc.

The offensive selections:

Offense
PositionFirst teamSecond team
QuarterbackAaron Rodgers, Green BayLamar Jackson, Baltimore
Running backDalvin Cook, MinnesotaAustin Ekeler, Los Angeles
Wide receiverDavante Adams, Green BayMike Evans, Tampa Bay
Tyreek Hill, Kansas CityKeenan Allen, LA Chargers
Amari Cooper, Kansas CityMike Williams, LA Chargers
Tight endTravis Kelce, Kansas CityDarren Waller, Las Vegas
Left tackleRashawn Slater, Los AngelesTaylor Lewan, Tennessee
Left guardQuenton Nelson, IndianapolisJon Feliciano, Buffalo
CenterCorey Linsley, Los AngelesMatt Paradis, Carolina
Right guardZach Martin, DallasMark Glowinski, Indianapolis
Right tacklePenei Sewell, DetroitD.J. Humphries, Arizona

 

Liquid Cooler for the Surface Pro 7

Liquid cooler on the back of my Surface Pro

I used a liquid cooler originally made for mobile phones to externally cool my Surface Pro 7.

The Pro 7 with an i3 or i5 processor doesn’t come with a fan and relies on heat conduction through a heatsink and its metal frame to cool itself (‘passive cooling’). This is problematic when the device is under high load, or doing hard work. In most computers, a fan overlying the CPU would speed up to counteract the higher temperatures.  The Surface Pro does not have this luxury and therefore has no safety net to avoid unsafely high temperatures. Because of this, its only option when things get too hot is to throttle the power to its own CPU. As the CPU is the engine that runs the laptop, this slows the laptop down noticeably. To keep it from throttling I wanted to do something to improve its ability to stay cool.

Methods

Linked above, I used a liquid cooler from Aliexpress that was intended for mobile phone gamers. I ripped off the clasp that holds one end of the phone down and it is perfectly suited to sit on the back of a laptop.

The heatsink would be most effectively placed over the hottest point on the device. In a Surface Pro, this is the part of the case that overlies the CPU (center-upper right if you are looking at the screen). I have included a thermal image below which supports my experience of this being true.

from https://www.windowscentral.com/surface-pro-7

Ideally we would have some sort of thermally conductive paste gluing the metal case to our liquid cooler’s heatsink, but as anyone who has installed a CPU can tell you, it’s gross and I don’t want it on my laptop. I found that the heatsink was able to do a satisfactory job just resting against the laptop.

Effectiveness

The graph I attached at the bottom uses Passmark’s PerformanceTest 10.1, specifically testing the CPU benchmark. The grey line demonstrates what will happen under typical conditions – after only 6 minutes of heavy use, CPU benchmarks have dropped by ~35%.

With the liquid cooler running during these serial benchmarks, the CPU was able to maintain close to full speeds after several minutes of work. The raw data here involved a drop from 9944.6 to 9330.6, only a ~6% decrease in CPU benchmarks.

If you are seeing this post, you’ve stumbled onto something I’m working on that is incomplete. I’ve published it anyway as I work on it

Graph comparing performance under normal conditions and liquid cooled conditions

Ulysses’ Gaze – Sarajevo, Ithaca, and the Cyclical Nature of the Film

This is the 2nd half of an essay I wrote for an upper division Classics course at Ohio State University. With the scarcity of recent writing on this film, I wanted to give others a chance to stumble on it. Some minor edits were made to improve readability as I have excluded the first part of the essay.


The Siege of Sarajevo was a 1,425-day long siege that is among the most brutal attacks on a civilian population in recent memory. For background, there were three prominent ethnic groups in Bosnia and Herzegovina; Croats, Serbs, and Bosniaks. Ethnic tensions were at a breaking point. After the early 1990’s breakup of Yugoslavia, nationalism was at a peak. In a 1991 census, “44% of the population considered themselves Muslim (Bosniak), 32.5% Serb and 17% Croat, with 6% describing themselves as Yugoslav” (Klemencic 2004). The three ethnic groups each had a vision for their state’s future. An independence referendum was voted on completely by ethnic lines. As war began, Serbs fought to keep territories from claiming independence, and Croats and Bosniaks fought together against them. Eventually war broke out between Bosniaks and Croats as well.

 

The Serbs began an ethnic cleansing of Bosniaks, which Serbia and some others still deny to this day (several prominent Serb leaders – both Bosnian Serbs and Serbians – were found guilty of genocide in UN war tribunals). By April 1992, the rebel Serbs controlled 70% of the country and began shelling the Bosnian capital of Sarajevo (Carroll 2009). This war torn city has become of the most identifiable parts of the Bosnian War.

 

Though it may be only a few paragraphs in history textbooks on our side of the Atlantic, it was a total-war hellscape in Bosnia. In September 1992 (in the 5th month of the siege which would last 41 months more), William Pfaff wrote;

 

“They will not be conquered because a large modern industrial city of 350,000 people cannot be taken other than by a street-by-street infantry and tank assault, which is entirely beyond the abilities of the Serb militia. The actual resistance of Sarajevo`s people consists mainly of getting up each morning, going to whatever work they are doing, doing it, carrying on, finding something to eat, avoiding the snipers, and sleeping fitfully through the nighttime bombardments.” (Pfaff 1992)

A boy plays on a tank in Grbavica, a district in Sarajevo. ODD ANDERSEN/AFP/Getty Images

Serb forces fired an average of 300 shells per day into the city. Snipers were described as shooting “anything that moved”. This ‘anything’ very much included children. Thousands died in the siege, many (although not all) by the tactical, calculated bullets of snipers.

Various accounts of their actions were brought up in UN war tribunals, however I did not find any information on snipers being indicted for war crimes. In a quest to avoid biased sources (and regarding the Bosnian War, there is no shortage of these), I found YouTube footage from a 2012 UN International Criminal Tribunal for the former Yugoslavia (ICTY) prosecution, where prosecutor Dermot Groome lays out a case against former Bosnian Serb general Ratko Mladic. I realize that a prosecutor is, by nature, a biased party, but I am drawn to the legitimacy of the UN. Here, he described the sniper fire:

 

“Mladic’s use of snipers in the context of the attack on the civilian population was not at all like the use of snipers in armed conflict. It was a strategy of shooting civilians from a hiding spot, giving them no warning or reasonable prospect of taking cover. It was about creating insecurity, about creating terror.” (ICTY 2012)

 

Groome also presents the observations of a volunteer firefighter in Sarajevo:

 

“The thing I noticed about certain attacks was that Serb shooters would go after the youngest in the family… in a crowd of girls, it seems the most attractive would be shot. It seems there was something very personal, almost grudge attacks, doing whatever would cause the most pain to survivors.” (ICTY 2012)

Full quote from volunteer firefighter at 6:35 in part 5/5 (side note – it appears that video quality was not a priority of the UN war tribunals)

 

All in all, I have probably spent enough time delving into the horrors of the Siege of Sarajevo for the purposes of this essay. In short – it was Hell.

 

Knowing what we do about the Siege, it makes sense now that a foggy day was such a special occasion for Sarajevans in the final scenes of Ulysses’ Gaze. Under the blanket of fog, the civilians were shrouded from sniper fire. I found this quote[1] from the archive curator, Ivo Levy, especially powerful:

 

“Footsteps and voices? […] the fog… I sensed it. In this city, the fog is man’s best friend. Does it sound strange? It’s because it’s the only time the city gets back to normal. Almost like it used to be. The snipers have zero visibility. Foggy days are festive days here, so let’s celebrate!”

 

The curator hears music in the background, and excitedly says;

 

“Music… oh yes. A youth orchestra… Serbs, Croats, [Bosniak] Muslims… they come out when there is a ceasefire. They go from place to place and make music in the city. How about it, shall we go out too?”

 

After spending several paragraphs above discussing the atrocities of the Siege, this scene is especially meaningful. In a bloody, genocidal war, this youth orchestra is symbolic and idealistic, representing a group of the three ethnic groups coming together in the time of peace. It represents how things could be, or maybe how they used to be.

 

A arrives at Sarajevo after escaping Calypso’s island, notably wearing another man’s clothes. However, A’s time in Sarajevo does not end as happily as Odysseus’ journey ended in Ithaca. As he and Levy enjoy the foggy day in Sarajevo, they run into Naomi, the daughter of Levy (played by Morgenstern, the same actress who plays essentially every woman A interacts with). They dance, as she likely represents a Penelope figure. Naomi, A, and Levy begin to walk down the river, but a car of soldiers rolls up off-screen. Levy tells A to stay back as he follows his daughter to investigate. Following a Classical Greek tradition of off-screen deaths, Levy and his daughter are gunned down by soldiers behind the wall of fog. A finds their bodies and wails in a long shot where the camera backs away just enough for him to be completely obscured by the fog.

 

In a great stroke of luck, I was able to find a PDF [2] of ‘Interviews’, 195 pages of combined Theo Angelopolous interviews translated and published as a book. Here, I found the transcript of an Israeli radio show where Angelopolous described his fascination with Saravejo:

 

“­­My Interest in politics and the Balkans is very easy to explain. Look at the history of this century and you will notice that its first momentous event took place in Sarajevo, and now, as we approach the end of the century, we are again in Sarajevo. This proves to what extent we have all failed. Living in the Balkans, I am naturally much closer to the events, and much more concerned than the rest of Europe. I wanted to shoot in Sarajevo, but couldn’t. Everything was lined up for us to go there. We were all ready to go, waiting for our plane in Ancona, when the plane that left before us was turned back because the bombing had started again.” (Interviews 2001)

 

The 20th century history of Bosnia began and ended with tragedies in Sarajevo. To some degree, the entire 20th century history of Europe is bookended by these tragedies. In 1914, Archduke Franz Ferdinand was assassinated in Sarajevo (Backhouse 2018). At the time of the film’s release in 1995, Sarajevo was in the midst of its siege.

 

This argument about the cyclical nature of the film originally came from Marinos Pourgouris, a Greek academic, and his chapter in “Mythistory and Narratives of the Nation in the Balkans”. The famous journey of Odysseus had a beginning and an end in Ithaca, and his return brings a sense of order back to Ithaca. In Ulysses’ Gaze, references are made to the cyclical nature of A’s journey. In the beginning of the film, as he has returned to Greece from America, he states, “my end is my beginning”. [3]

 

Closing:

 

This film is far from a typical Hollywood film, the typical type of film I engage with. Angelopolous himself has expressed a great deal of disdain for where film is heading and how Hollywood has changed cinema in Greece:

 

We know that European cinema is not doing very well lately; less tickets are sold. The theatres today are no longer that privileged place of encounter between the creative artist and his audience. There is a small elitist minority still looking for that encounter, but the vast majority is favoring the American movies, which, as far as I am concerned, are not films but just images printed on celluloid.”

 

As I discussed on page 2 (note – this refers to part of the essay that I did not upload), the reviews for this film were highly polarized. Considering the raving endorsements and scathing critiques of Ulysses’ Gaze, I think this film is a great example of how a film can be received in such profoundly different ways based on the lived experiences of different people. Long spans of it still don’t make sense to me, but having learned more about the history of the region, I can appreciate the depth of the film. As someone who generally doesn’t understand deep, symbolic art and film, it was very exciting to take a deep dive into some of this film’s scenes as they related to Balkan history and Homer’s Odyssey.

 

A Few Random Angelopolous Quotes (curated by Dan Fainaru)

 

“In any case, Greeks are a nation of emigrants. At the turn of the century, half of them went to America. There are one and a half million Greeks in the U.S. There are already 300,000 in Germany. They are everywhere, and instead of contributing to Greek economy at home, they are working for others. The Americans are coming into Greece now, claiming they wish to industrialize the country, but of course they will do it only if it is profitable for them. And Greece, for many, is now the fifty-first state of the Union.”

 

Question: You are implying Greece is a Third World country.

Angelopolous: That is the way things are. The Third World is not limited to Africa and Latin America. If you ask me, it includes Greece and Turkey too. We do not belong to the West, we are not part of Eastern Europe-we live at the crossroads of modern civilization. However, we happen to occupy a strategic point in the Middle East; therefore, we are important to American politics. Had it not been the case, their attitude towards us would have been completely different.

 

Q: You mentioned that Ulysses’ Gaze is, among other things, a love story. But is it really about love or the impossibility of loving? At one point, your protagonist says, “I am crying because I cannot love you.”

A : That phrase is taken from Homer’s Odyssey. Ulysses remained seven years on Calypso’s island, but he would often go down to the sea and cry. For he could not love Calypso; he was always thinking of Penelope. He wanted to love her, but couldn’t. As a matter of fact, at the end of my film, the hero meets once again his first love. It’s a film about firsts-first love, first look, the initial emotions that will always be the most important in one’s life.

 

Footnotes:

[1]: timestamp 2:24:27 in this YouTube version of the film (all timestamps in this essay refer to this video)

[2]: Available from Amazon here – https://www.amazon.com/dp/1578062160

[3]: timestamp 13:08

 

 

References:

 

Andersen, Odd. A Young Boy Plays 22 April 1996 on a Tank. April 22, 1996. Accessed December 5, 2018. https://www.gettyimages.co.uk/detail/news-photo/young-boy-plays-22-april1996-on-a-tank-in-the-sarajevo-news-photo/134244637.

Getty Images states “Photo credit should read ODD ANDERSEN/AFP/Getty Images”

 

Angelopoulos, Theo. Greece, 1997. Accessed November 29, 2018. https://www.youtube.com/watch?v=hO3b-bHmu1Q.

(Ulysses’ Gaze available on YouTube here)

 

Alberó, Pere. “A Gaze by Ulysses towards the Balkans.” Quaderns De La Mediterrània 23 (2016): 115-23. Accessed November 27, 2018. https://www.iemed.org/observatori/arees-danalisi/arxius-adjunts/quaderns-de-la-mediterrania/qm23/A Gaze by Ulysses towards the Balkans_Pere_Albero_QM23.pdf.

 

Chouinard, Alain. “Historical Argument, Involuntary Memory, and the Subversion of Balkanist Discourse within Theo Angelopoulos’ Ulysses’ Gaze.” OffScreen. February 2016. Accessed November 28, 2018. https://offscreen.com/view/balkanist-discourse-ulysses-gaze#fn-5-a.

 

Carroll, Chris. “Serbs Face the Future.” National Geographic. July 2009. Accessed December 05, 2018. https://www.nationalgeographic.com/magazine/2009/07/serbs/.

 

Ebert, Roger. “Ulysses’ Gaze Movie Review & Film Summary (1997).” RogerEbert.com. April 18, 1997. Accessed November 27, 2018. https://www.rogerebert.com/reviews/ulysses-gaze-1997.

 

Fainaru, Dan, ed. Theo Angelopoulos : Interviews. Jackson, MS: University Press of Mississippi, 2001.

 

Howe, Desson. “Ulysses’ Gaze.” The Washington Post. September 16, 1997. Accessed November 27, 2018. http://www.washingtonpost.com/wp-srv/style/longterm/movies/videos/ulyssesgaze.htm?noredirect=on.

 

Klemencic, Matjaz, Matjaž Klemenčič, and Mitja Žagar. The former Yugoslavia’s diverse peoples: a reference sourcebook. Abc-clio, 2004.

 

Pfaff, William. “LIFE, DEATH AND SURREALISM IN THE HELL THAT IS SARAJEVO.” Chicago Tribune. September 27, 1992. Accessed December 09, 2018. https://www.chicagotribune.com/news/ct-xpm-1992-09-27-9203280117-story.html.

 

Pourgouris, Marinos. Mythistory and Narratives of the Nation in the Balkans. Edited by Tatjana Aleksić. Newcastle: Cambridge Scholars Publishing, 2007.

Chapter 9 covers Ulysses’ Gaze

 

“Prosecution Opening Statements – Mladić (Part 5/5) – 16 May 2012.” YouTube, International Criminal Tribunal for the Former Yugoslavia (ICTY), 18 May 2012, youtu.be/rQ2SfiPJ-cI.

 

Stratton, David. “Ulysses’ Gaze Review.” SBS News. December 31, 2008. Accessed November 28, 2018. https://www.sbs.com.au/movies/review/ulysses-gaze-review.

 

[1] timestamp 2:24:27 in this YouTube version of the film (all timestamps in this essay refer to this video)

[2] A PDF obtained in a perfectly legally manner, certainly not from a virus-ridden Russian website

[3] Timestamp 13:08