Tonal home gym review

I got a Tonal a few years ago and it has been a life-changing machine. I’ll go into some detail in this post as to why I feel that way. One of my pet peeves when I read product reviews is the review that evaluates a complex product in too short of a time period (e.g. “My verdict on X after 7 days”). This review is not one of those. As of this week, I’m on a 57-week streak of pretty consistent 3x/week full-body use. I’ve done close to 200 workouts on the Tonal and I’ve lifted over 1 million pounds. I have really put this machine through its paces. (Here’s another solid review from someone who used Tonal for nine months).

For the first year or so I had it, I didn’t use it consistently but late in summer 2022, I decided to commit to it. I’m not trying to become a body-builder and I’m not one of those guys who does ice baths or jumps on the latest fitness trend that I heard on some podcast. I’m just trying to be healthier, age a little more gracefully, and enjoy life. I turned 51 in June and (finally) realized that strength training is an important part of staying healthy as you get older. I have also lost some weight and one of the risks when you do that is muscle loss. Strength training is one way to maintain muscle mass which is incredibly important to one’s metabolism.

I normally wouldn’t post a marketing video for a product but it’s kind of difficult to describe exactly how the Tonal works in words. The 30-second video shows you the basics. In a nutshell the machine sits flat on the wall but has two mechanical arms along with attachments that you hold on to to do various exercises. Each arm can produce up to 100 pounds of resistance using magnets inside the machine.

I mentioned my 57-week streak in the first paragraph. That streak is made up of fairly consistent 3x/week full-body use during that period. Based on Tonal’s proprietary “strength score,” I am 2-3x as strong as I was when I started using the machine (depending on which muscles you are measuring) and relative to other male Tonal users, I’ve moved from bottom third in strength to top 20%. I feel stronger than any time I can remember in my life since I took a weightlifting class when I was a 19-year-old college student. I honestly didn’t think it was possible to feel this way at 51 and Tonal is a huge part of it. (One note: I have also been much more intentional and thoughtful about daily protein intake during this period — though not totally obsessive — so that is probably helping. That’s a whole other post.)

The benefits show up in other ways, too. This summer, I went on vacation and had the opportunity to play tennis which I hadn’t done in probably 35 years. I played every day for three days for 60-90 minutes each day. There are a lot of movements in tennis that you don’t do in day-to-day life and I was expecting to be sore. Much to my surprise, I had absolutely zero soreness and it could only be due to the fact that I had been working all those muscles consistently for a year on Tonal. This experience gave me confidence that I was ready to try any reasonable physical activity without the dread of middle-aged soreness. I’ve seen this in other ways, too: moving heavy boxes, carrying heavy packages that I’ve picked up and need to walk home (as you do in NYC), doing manual labor around the house. Mentally, this has taken me from an anxious place when it comes to straining my muscles to a default “YES” on pretty much anything. Realizing that soreness or even injury are not necessarily inevitable consequences of aging really cemented my long-term commitment to strength training.

Price

The biggest challenge with Tonal is the price. I spent a good portion of my life flat-broke where every dollar had a huge impact on my personal solvency each month so I know this could be a serious obstacle for many. The headline price is definitely expensive: $3745 for the device (a sale price at the moment) plus $495 for the “smart accessories,” which are absolutely required if you want to actually use the machine (they really shouldn’t be listed separately). There are zero-interest finance options with a term as long as 48 months that bring the price down to a bit below ~$100/month but that doesn’t include the monthly subscription of $59.95 so you’re looking at around $150/month all-in if you are able to finance it. All that said, many of us spend that much or more just on streaming providers or delivery food every month so while the price is hefty, spending that much to prioritize one’s physical health doesn’t seem as crazy.

(It’s not my motivation in writing this post but if you decide to buy a Tonal, you can use my referral link and get $125 off the price and I get a free month of membership.)

Ok, back to the machine. . .

My workout style

My workout style is decidedly anti-social. I like playing sports with people and I like going on bike rides with friends. But when it comes to intense workouts, I would rather not see anyone or speak to anyone. I’ve tried personal trainers before and it was just another person to coordinate in my life and another appointment to keep. I went to the gym in my neighborhood pretty regularly to do cardio before the building literally collapsed during the pandemic (that was so 2020 — talk about weird reasons to no longer go to the gym). But even when I went to the gym, I didn’t really like the weight room vibe — anyone who has spent time lifting weights in a gym knows that I mean. Tonal addresses all of those issues really nicely. To put it simply, Tonal removes nearly every last excuse you might have as to why you’re not doing strength training.

What I like about the Tonal

  • Like having a trainer. There is as huge library of workouts with dozens of trainers, all with different personalities and approaches. Most offer 4-week programs you can take. My general approach has been to sign up for a 4-week program and sign up for another as soon as I finish the first one. You choose the frequency of workouts, your level (beginning, intermediate, advanced), focus (lower, core, upper, or full body), and desired duration of each workout. The schedule takes care of itself and you are presented with a set of exercises each day that you work out. There have been periods where I was doing (3) 45-60 minute workouts a week and others where I’ve done (5) 20-minute workouts. Pre and post-stretching is built-in so I never have to worry if I’m doing that right. Other than strength, there is an emphasis on mobility and balance throughout. At the end of the workouts, the trainer tells you when to come back for the next workout. Super easy.
  • Just show up. This is related to the trainer point above: all you have to do is show up. The trainer guides you through the movements. You see the movements demonstrated from multiple angles. You don’t have to think about if you’re doing the right amount of weight or if you are doing the right stretches or anything else. Just turn on the machine and follow the trainer’s instructions.
  • Resistance automatically adjusts as needed. The first time you use Tonal, you go through a short calibration exercise that consists of a few compound movements covering your full body. This sets your starting weight for all movements. As you get stronger, the system detects it and raises the weights. Two of the key challenges I always had with free weights and other weight machines are 1) what weights to start with, and 2) figuring out when to up the weights and by how much. If you’re curling 30 lb dumbbells, when do you decided to go to 35? (and they usually are in 5 lb increments). On the Tonal, if you’re doing curls at 30 lbs and the machine notices that is getting easier for you, it’ll bump the number up just a tad to 31. If you’re at 30 and you can’t complete a set, it might bump you down to 29 or 28. This way, you’re always working your hardest but it happens almost imperceptibly. You literally never have to think about it again once you get started.
  • Gamification and data. The system generates a lot of data and keeps you engaged by encouraging you to maintain your weekly streaks. A “strength score” is computed after every workout so you can see your progress overall and individually with upper body, lower body, and core. You can see where your strength score falls percentile-wise across all tonal users or by gender. For each individual exercise, the system keeps a full history so you can see how much you’ve improved for, say, lat pull-downs. Any time you break a personal record, Tonal makes a really satisfying sound as soon as you finish the set. All of this integrates with my Apple Watch and Apple Health so it’s nice that my workouts on Tonal gets into the system alongside other activities like biking and walking.
  • On the go” program. You might be thinking, “this sounds good at home, but what do I do when I’m traveling?” Tonal’s mobile app has a set of “on the go” exercises that you can do on the road and they count towards your streaks. These consist of bodyweight exercises like plans, push-ups, crunches, lunges, etc. My current 57-week streak includes a few weeks of using these exercises on the floor of hotels and Airbnbs when I’m out of town. The “on the go” exercises aren’t as strenuous as being on the machine but they do just fine for maintaining while you’re away. (My desire to keep my streak had me exercising on every single trip I took this year — a first for me — including a rough morning in Mexico after a night of way too much mezcal. . . but I had to keep the streak.)
  • Safety. If you’ve ever done free weights in a gym, decided you could do some bench presses without a spotter, then found yourself with a bar on your neck that you couldn’t lift, you know what I mean. With the Tonal, you can really push yourself to your limits without worrying about safety. To use the bench press as an example, Tonal has a bar that feels very much like a free weights bar with no weights on it but there’s a button attached that you can press with your thumb to toggle resistance from off to on and back to off. If you just can’t get that last rep in, you just tap the button with your thumb (easy even under heavy resistance) and the resistance disappears. I don’t worry at all about lifting alone.
  • Takes up very little space. According to the installation instructions, you need a 7′ x 7′ space to install and use Tonal. That’s not nothing (especially in places like NYC) but it’s a very small spatial price to pay for a complete strength training system that requires absolutely nothing else.

Conclusion: one of the best products I’ve ever used!

There are very few products that I can unequivocally recommend but this is absolutely one of them. Like any other physical activity, though, you still have to do the work. There are days that I don’t feel like doing my program but, honestly, it would be so incredibly lame not to just do it given the convenience. The Tonal will still have you sweating and feeling spent after a workout but once you get some momentum (and Tonal does everything it can to help you with that), the benefits will compound and it’ll all be worth it.

My first YouTube video: be the Internet you want

The Internet can be an ugly place but beneath all the noise of social media, it can still be a beautiful place. In recent months, I’ve found myself spending some late nights and early mornings on YouTube going deep on an amazing piece of music gear I got for my birthday this year: the Roland BOSS RC-600 looper. It’s only through the heroic contributions of regular YouTube folks like Teej or Ross Gallagher that I’ve been able to make any sense of this device — and it’s a BEAST (in the best possible way – I’ve never had more fun with a piece of music gear!)

There was a particular issue I was struggling with that I figured out on my own by connecting what I had learned from YouTube and a random nugget on a message board. I couldn’t find a YouTube video explaining it (and I had suffered many hours figuring it out) so I decided to make a YouTube video myself to save others the trouble I went through: “Using a MIDI device (Morningstar MC6 Pro) as a multi-effects pedal using ASSIGN on the Roland Boss RC-600”:

I’m spending a lot less time on social media these days to avoid the toxicity but making this YouTube video reminded me that if I want the Internet to be better, I can choose to participate in making the Internet that I want — and that Internet is populated by people trying to make music in their basements, bedrooms, and garages and the Good Samaritans who make lo-fi instructional videos to help them do it. If I help just one person get to the joyful experience of making music a little more quickly with this video, it’s worth it.

(Quick musical update while we’re here: Way back in 2019 / 2020, I wrote about what I had learned taking piano lessons after six months and one year. Well, I’m still at it. Four years later, I’ve continued lessons — adding guitar as well — and also completed eight college-level music classes at Berklee Online with coursework in everything from ear training to improvisation to music theory to piano performance to producing music with Logic. I put a band together — named Humbled by the Void in tribute to the late David Berman — for a party and we played a six-song set. And yes, there’s a Soundcloud. It’s all been life-changing and awesome for this now 51-year-old.)

Technology *and* liberal arts

One of the most misguided notions I’ve seen in my life is that in one’s career and education you have to choose between a technical path and a non-technical one. It is a false choice. Anyone who has worked with a great engineer who also is a gifted communicator knows what I mean. In an increasingly complex world, people building the products and systems we all use need to be well-rounded and better-informed more than ever. As platforms deal regularly with issues like ethnic violence, having some history and political science majors in the room along with the computer science experts should be considered downright necessary. We should be encouraging liberal arts majors to spend more time studying technology and the engineering majors should spend more time outside of the tech buildings on campus. Yes, and. . .

Instead, we have a culture that still largely diminishes the study of liberal arts as un-serious and enrollment in humanities programs is falling across the country (see this recent New Yorker piece: “The End of the English Major.”) As technology has become fully embedded in our daily lives, most of the issues we face are cultural, historical, sociological, and political. We need people who engage with and understand those contexts more than ever.

In his last address to Apple developers before he passed, Steve Jobs himself challenged this notion, saying:

Technology alone is not enough. It’s technology married with the liberal arts, married with the humanities, that yields the results that makes our hearts sing.

I agree with Steve. It’s technology *and* liberal arts.

ChatGPT as a programming assistant for infrequent coders

I haven’t written code every day for many years but every now and then, a project emerges that requires a little bit of coding. This tends to happen about once a year. In the past, the cost of revving up the coding engine could be pretty high:

  • I would have to re-learn the basics of Git. I keep a private repository of my few coding projects on Github but don’t code often enough for even basic Git commands to be committed to memory.
  • I like working on the command line so inevitably I would have a new computer and have to generate new ssh keys so I wouldn’t have to enter a password when I’m working with the remote Github repository. (I have been using password-less ssh for close to 30 years now and I have never been able to remember the process!)
  • If I’m working with a 3rd party API, I need to read through the documentation to figure out how to do whatever it is that I want to do. Sometimes there is sample code for the language I’m using and sometimes there isn’t.
  • For some projects, credentials are required. I try to handle those responsibly so I have to re-learn Amazon Secrets Manager. . . and that means I have to re-learn the interface for whatever language I’m using to Amazon Secrets Manager.
  • With all that in place, I can now focus on the task at hand.

None of the above is “hard” in a technical sense but it’s all kind of a pain if you don’t code frequently and your environment hasn’t been tended to for a while. My life is also busy so all the grunt work of setting up and maintaining a programming environment is very far down my list of important things to do. For all of the above, I usually figure it all out by using Google but that usually involves digging through documentation (sometimes contradictory or just out-of-date). In the past, I’ve usually reached a point of fatigue with the whole process at this point and then question whether I should be coding again at all.

I have a project in mind that I won’t describe in great detail here but the gist of it is that I want to take bookmarks from Pinboard and make a set of web pages with the data. I decided to use ChatGPT to rev up the coding engine this time and it was so much easier and more immediately productive than other times I’ve been down this path. I’m including my ChatGPT prompts and responses below so you can see what I mean.

It remains to be seen just how deeply ChatGPT penetrates knowledge work and I’m skeptical in many ways — but for this kind of work, it feels pretty magical, especially for a rusty programmer who just wants to get something done.


ChatGPT prompt: Describe basic git commands typically used when working with a remote repository on Github

Here are some basic git commands that are typically used when working with a remote repository on Github:

  1. git clone: This command is used to create a local copy of a remote repository. For example, if you want to clone a repository from Github, you can run the command git clone <repository-url>.
  2. git add: This command is used to stage changes made to a local repository before committing them. For example, if you have made changes to a file in your local repository, you can stage those changes by running the command git add <file-name>.
  3. git commit: This command is used to commit staged changes to a local repository. For example, if you have staged changes to a file in your local repository, you can commit those changes by running the command git commit -m "commit message".
  4. git push: This command is used to push committed changes from a local repository to a remote repository. For example, if you have committed changes to a file in your local repository and want to push those changes to Github, you can run the command git push.
  5. git pull: This command is used to fetch and merge changes from a remote repository to a local repository. For example, if someone else has made changes to a file in the remote repository, you can fetch and merge those changes into your local repository by running the command git pull.
  6. git branch: This command is used to list, create, or delete branches in a local repository. For example, if you want to list all the branches in your local repository, you can run the command git branch.
  7. git merge: This command is used to merge changes from one branch to another in a local repository. For example, if you want to merge changes from the feature-branch to the master branch in your local repository, you can run the command git merge feature-branch.

These are just some of the basic git commands that are commonly used when working with a remote repository on Github. There are many other git commands that can be used to perform more advanced tasks, such as resolving conflicts, rebasing branches, and more.

ChatGPT prompt: using the command line, how do I set up a git client to work with a remote repository including setup of keys so I can work without a password

To set up a Git client to work with a remote repository and configure SSH keys for passwordless access, you can follow these steps:

  1. Install Git on your machine, if it is not already installed.
  2. Generate an SSH key pair using the ssh-keygen command: ssh-keygen -t rsa -b 4096 -C "your_email@example.com" This command will generate a new SSH key pair using RSA encryption and a bit length of 4096. Replace “your_email@example.com” with your email address.
  3. Add the public key to your Git hosting provider (e.g. GitHub, GitLab, Bitbucket, etc.) by following their instructions for adding an SSH key.For example, to add a key to a GitHub account, navigate to the “Settings” page, click on “SSH and GPG keys”, and then click on “New SSH key”. Paste the contents of the public key (usually found in ~/.ssh/id_rsa.pub) into the “Key” field.
  4. Test the SSH connection by running the following command: ssh -T git@github.com Replace github.com with the hostname of your Git hosting provider. You should see a message similar to the following: Hi username! You've successfully authenticated, but GitHub does not provide shell access. If you see an error message instead, double-check that you’ve added the public key to your Git hosting provider correctly.
  5. Configure Git to use the SSH key for passwordless access by running the following commands: git config --global user.name "Your Name" git config --global user.email "your_email@example.com" git config --global core.sshCommand "ssh -i ~/.ssh/id_rsa" Replace “Your Name” and “your_email@example.com” with your name and email address, respectively. The last command tells Git to use the SSH key for all SSH connections.
  6. Clone the remote repository to your local machine using the SSH URL: git clone git@github.com:username/repo.git Replace username with your Git username and repo with the name of the repository you want to clone.

That’s it! You should now be able to use Git to push and pull changes to and from the remote repository without entering a password each time.

ChatGPT prompt: write a sample client in PHP that uses the Pinboard v2 API to fetch a list of all bookmarks

(Note: my first prompt simply asked about the Pinboard API and I got a v1 sample. I prompted again and asked for v2)

Sure! Here’s an example PHP client that uses the Pinboard v2 API to fetch a list of all bookmarks:

<?php

// Replace with your own Pinboard API credentials
$username = "your_username";
$apikey = "your_apikey";

// Set the URL for the API request
$url = "https://api.pinboard.in/v2/posts/all?auth_token={$username}:{$apikey}&format=json";

// Set up a cURL session to send the API request
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($curl);
curl_close($curl);

// Decode the JSON response
$bookmarks = json_decode($response, true);

// Loop through the bookmarks and output their titles and URLs
foreach ($bookmarks['posts'] as $bookmark) {
    echo $bookmark['description'] . "\n";
    echo $bookmark['href'] . "\n\n";
}

?>

Make sure to replace your_username and your_apikey with your own Pinboard API credentials. This client uses cURL to send the API request and fetch the JSON response. It then uses json_decode() with the true parameter to parse the JSON into a PHP associative array, and loops through the array to output the titles and URLs of each bookmark.

Note that the Pinboard v2 API requires authentication using a username and API token, unlike the v1 API which uses a username and password.

ChatGPT prompt: write php code for using Amazon Secrets Manager

(Note: I also asked ChatGPT the same question but without using Composer)

To use Amazon Secrets Manager in PHP, you will need to install the AWS SDK for PHP. You can do this by running the following command:

codecomposer require aws/aws-sdk-php

Once you have installed the AWS SDK for PHP, you can use the following code to access a secret stored in Amazon Secrets Manager:

<?php

require 'vendor/autoload.php';

use Aws\SecretsManager\SecretsManagerClient;

$secretsManager = new SecretsManagerClient([
    'version' => 'latest',
    'region'  => 'us-east-1' // replace with the region where your secret is stored
]);

$secretName = 'mySecret';
$result = $secretsManager->getSecretValue([
    'SecretId' => $secretName
]);

$secret = $result['SecretString'];
echo $secret;

?>

In this code, we first load the AWS SDK for PHP using the autoload.php file. Then, we create a new SecretsManagerClient object and provide it with the region where our secret is stored. We also provide the name of the secret we want to access.

Next, we call the getSecretValue method on the SecretsManagerClient object, passing in the name of the secret. This method returns a result object, which we can use to access the secret value.

Finally, we retrieve the secret value from the result object and print it to the screen. Note that the secret value is returned as a string, so you may need to parse it into the appropriate format for your application.

Language gaps as an opportunity to connect

A couple of weeks ago, I found myself standing in line at a store in Oaxaca, Mexico that sells boxes and packing tape. I was at the tail end of a one-week trip and I had three bottles of mezcal and two packages of mole that weren’t going to make it back unless I packed and shipped them so this was a critical mission. I took two years of Spanish in high school and two more years in college and had gotten to the point where I could read novels in Spanish, but my skills had gotten rusty. This was a time to push myself with some real-world interaction. The shop I visited wasn’t a tourist place and the people in line all seemed to be locals going about their daily business — the only common factor among us was needing boxes and packing materials.

I planned my conversation in my head and was able to say that I needed a box to pack some bottles along with tape and bubble wrap. I was feeling pretty satisfied with myself until the clerk asked “¿Cuantos metros?” (how many meters?) referring to the bubble wrap. My scheme broke down when I couldn’t think of how to ask “how wide is the bubble wrap?” I froze and pulled out my phone and was able to power through using Google Translate’s Conversation feature (which is amazing). I finished my purchase and ended the conversation by saying “Gracias por su paciencia con mi español” (thank you for your patience with my Spanish.) The clerk smiled and I left with a little better Spanish though at the cost of the overall efficiency of the establishment. (btw, if you ever need boxes and packing materials in Oaxaca, Pepe Cartón is the place).

Fast-forward to several days later and I found myself standing with my 11-year-old son at Newark Airport waiting for a pre-arranged airport pickup after a visit to relatives in North Carolina. It was late and I had that tired please-get-me-home feeling that all parents have at the end of such trips. I was messaging with the driver in the ride share app and I noticed that each response to whatever I said was, “OK, got it!” with “translated via Google Translate” under it. I looked at his profile and it was all in Chinese.

A lot of time passed and I wondered why he hadn’t picked us up yet. I noticed that the app had told him to pick us up in Terminal B so he was circling there — but we were in Terminal A. I’ll save you the play-by-play of how we finally connected but by the time the driver found us, he was pretty stressed and so was I. But it was then that I had a moment of recognition: the driver was me standing in line at the packing store in Oaxaca, doing his best to communicate but not quite getting there. I remembered how the clerk in Oaxaca smiled at me as I stumbled and I decided to extend the driver the same human courtesy. I could tell when he picked us up that he expected us to be angry but I just smiled and said, “Thank you.” I assume he understood because he seemed to calm a bit.

There was definitely a distinct part of me that wanted to rail against the situation and be angry — I am paying for this ride and it should “just work” and why is this happening? I could feel the energy within me of the guy we’ve all heard in airports railing to someone on the other end of a call about the indignity of all of the travel pain he has endured, which is usually not that much in the grand scheme but always told in dramatic terms that rival the epic sweep of the Aeneid. But life is full of miscues and mistakes and here was a guy who had the bravery to come to a country where he didn’t know the language and get out on the road to try to make a living. When I thought about this, my mood quickly switched from irritation to admiration.

Finally in the car, I pulled out my phone, put Google Translate into Conversation mode, and said, “Thank you for driving us home.” I translated it to Chinese and played that translation for the driver. He smiled and thirty minutes later we were home.

Talking about OmniFocus on the Omni Show podcast

I almost never do podcasts but when the Omni Show called and asked me to talk about a piece of software that has been essential to my life for 15+ years (OmniFocus) I had to say yes. OmniFocus is how I manage my day-to-day life and I couldn’t live without it. Here is how they describe the episode:

In this episode, we learn how he uses OmniFocus to help manage his workload and bring order to his life.

Chad shares personal insights he’s gained as a CEO, including the importance of living an authentic life and staying true to oneself. We talk through the belief that personal improvement doesn’t happen by accident, and how the right productivity habits can keep anyone optimally engaged.

Here’s the podcast (audio and transcript at link but also available in the usual places you find your podcasts).

Gas vs. electric stoves: notes from my own direct experience

You might have heard a couple of weeks ago that NY Governor Kathy Hochul came out in favor of banning gas stoves starting in 2030 or 2035, depending on the nature of the project. This kicked off a firestorm of alarm, consternation, and misinformation, adding another log to the culture war fire. I’ll leave the culture war to others but wanted to write here about my direct experience switching to an electric stove after using gas stoves for most of my life. I’ve been using an electric stove (induction specifically) for two years now so everything below is from direct hands-on experience. In short, I love my induction stove and it feels like a serious upgrade from gas.

When most people hear “electric stove,” I’m pretty sure they think of the 1980s version of an electric stove, with the coils that turn red when you turn the knob to high. I grew up with one of those and have occasionally stayed in Airbnb’s with them. Those electric cooktops do, in fact, suck and are terrible to cook on. Induction is a completely different experience.

First: a simple $69.99 step to make such a decision easier

When we were renovating our house, we had to make many decisions that we knew we would have to live with and one of them was what kind of stove we would use. Our idealistic selves wanted an all-electric home using as much clean energy as possible. I have used gas for nearly all of my life and was skeptical of induction, mainly because I hadn’t used it — but I was curious. I fretted a little about the decision and then my wife had a great idea — we could buy one of these single-burner induction cooktop from Ikea for $69.99 and actually test it out instead of speculating. Our renovation was going to take multiple years and we didn’t have to make our final decision just yet, so we put that $69.99 Ikea induction burner on the counter beside our gas stove and started using it to cook our usual foods. Once I had direct experience, I never looked back. Induction is awesome (and it was the linchpin in being able to have what is now an all-electric home).

Update 2/23/23: One library in Northampton, MA now lets patrons check out induction cooktops for free (1, 2). Very cool. I hope other libraries take note.

Speed of cooking with electric vs. gas.

Electric (induction specifically) is much faster than gas. I know this from direct experience doing everything from boiling water to searing a steak. There is no “debate” to be had here.

You can see a live demonstration of the speed difference below on this “Ask This Old House” segment:

Precise control when cooking

While I’m not a professional chef, I cook a lot. Even simple things that I cook require fairly fine-grained temperature control. For example, I know from reading recipes that pancakes cook best on a 375° surface. Of course, you can cook by “feel” with induction but I like to be scientific about things when I can. I have an infrared gun that I point at the pan as I turn the heat up (see photo) to get the surface temperature.

I’ve noticed that when I dial up the heat on my induction cooktop, the temperature moves very predictably. And when I accidentally go a little too far heating up a pan, it goes down just as predictably when I turn the dial the other way. I’m able to hit 375° reliably when I’m making pancakes and they come out great every time.

Top chefs increasingly love induction. In “The Case for Induction Cooking, Versus Gas Stoves,” you can read about how Eric Ripert, the chef of Le Bernardin, renovated two of his homes and opted for induction. “After two days, I was in love. It’s so much more precise than watching a flame. You can really focus on your cooking and pay attention to what’s inside the pan, not what’s underneath it.”

On this topic, also check out “Professional chefs tout the culinary — and environmental — advantages of induction stoves.”

Practical shortcomings of induction

The only practical shortcoming I’ve identified from induction is that cooking in a typical wok on an induction stovetop isn’t really possible. Induction depends on direct contact with the pan so a round-bottom wok on a flat induction surface doesn’t generate the intense heat on the rounded sides of a wok. There are solutions for that, though. You can see a consumer-grade induction wok demonstrated here by Jon Kung that you can buy yourself. There are commercial options available, too, if you’re super-serious about wok cooking.

If you’re in a position where you’re making the same gas vs. induction choice we did and you feel a little nervous about it, give induction a try. I think you’ll be really happy with it and be very pleasantly surprised.

Home setup of two Internet providers with automatic failover

As more of our lives depend on Internet access, it has become increasingly important that the Internet be up all the time. Most providers are pretty solid these days but no provider is perfect. My primary provider has few outages but I’ve had at least two multi-hour outages and occasional 5-minute glitches. I work mostly from home coaching busy executives over Zoom and don’t want to waste their valuable time with technical glitches if I can help it — if you have 5 minutes of downtime and it’s the wrong 5 minutes, it can be super-distracting. And from a family perspective, if the Internet goes down at home, everyone immediately yells out for me to fix it. I decided to solve the problem by getting a 2nd inexpensive Internet provider and it has been awesome. Here’s how I set that up.

When it comes to tech gear, I’m a little like the guy who constantly tweaks a hot rod in his garage even though in reality he really only needs to drive to the grocery store. In that spirit, my home router is an enterprise-grade Unifi Dream Machine Pro. For an enterprise router, it’s not that expensive — $379. (I setup a VPN on it a while back because I *could*, not because I had any use case. . . but then I found myself outside of the US trying to watch an NBA playoff game and VPN’ed into my home network to get around the geo restrictions that were blocking me from watching the game. If you’re tried to use commercial VPN services, you’ve probably seen that they’re increasingly unable to evade the major streaming providers so this was a big win. If you build it, they will come. . . )

The Unifi Dream Machine Pro (UDM Pro) has two WAN ports. For the less technical, WAN means “wide area network” but just think of it as a connection to the Internet. Consumer-grade routers usually have just one WAN port for the provider you are using but since the UDM Pro has two, you can connect two providers to it. The device OS for the UDM Pro has a WAN Failover capability meaning that if your primary Internet provider goes down, it detects the outage immediately and flips to the backup. When the primary comes back, it automatically flips back.

Having two Internet providers for very occasional outages sounds expensive, and it could be — but I noticed recently that Verizon started offering a $25/month 5G wireless router for existing Verizon Wireless customers. Given the nature of my business and all the things in my household that depend on the Internet, $25/month seems well worth it to have rock-solid Internet. (Sure, you could tether off of your phone when your Internet goes down, but setting up other family members at a moment’s notice is a pain. And what if you — the full-time home network administrator — are not home?) With the UDM Pro and WAN Failover, your existing wireless network can theoretically just keep working. I like the idea of the backup to my cable Internet being wireless since presumably if there was an incident like a cable cut in the street, my failover would be less likely to be affected (though I haven’t tested that assumption).

So how did this work in practice? I got the Verizon 5G router to use as my backup Internet. It was easy to set up. Like any wireless device, it needs to have good reception so I set it up near a window and plugged it into the backup WAN port on my UDM Pro. The video at the bottom of this post goes through the rest of the setup details. It’s also easy if you have basic network knowledge.

My primary cable connection tends to get about 300 mbps down and 50 mbps up when I’m using my laptop around the house and the secondary (the 5G) gets about 30 mbps down and 10-15 mbps up so the service. To test out if this would work for my family’s typical usage, I unplugged my primary Internet for 48 hours and didn’t tell anyone in my family that I did it. I randomly asked my wife and son if they had noticed any Internet issues and they just gave me puzzled looks. To further test, I re-enabled the primary Internet and then randomly unplugged it when I knew everyone was using their devices. I got notifications on my admin apps that the Internet had failed over to the backup. No cries for help! Everything just kept humming along.

Now I unplug the primary Internet occasionally just to enjoy the fruits of my labor. Once I even had people over to watch a big football game and the Internet went out during the game, which we were watching on a streaming service. No one noticed except me since I got the failover alert on the admin app.

So, in the final analysis, setting things up this way was a Very Good Thing. If you can spring for the UDM Pro ($379) and 5G service ($25-$35) in addition to your primary Internet, you can set this all up for yourself in less than an hour.

RIP Billy Packer

This morning, I got numerous texts from friends noting that Billy Packer had died. As one friend shared, “If you’re our age, it’s like the Big Bang – Billy Packer and college hoops were always there, before time.” And that is true. He called every Final Four in my life that I can remember. Billy Packer was a legend in North Carolina where I grew up, having played for Wake Forest before becoming a ubiquitous college basketball color commentator. Love him or hate him (and some people did!) Packer was a key part of the landscape.

I grew up in an NC State household. My dad went to NC State and was followed by my brother. I wasn’t that interested in college basketball until I was 11 and the 1983 NC State “Cardiac Pack” pulled off one of the greatest runs and championship upsets in all of sports history. Even now, watching that final shot and Lorenzo Charles’ thoroughly improbable last-second dunk gives me chills and fills me with emotion (even today, I probably watch it at least three times a year). That’s when I became addicted to college hoops and the sweeping narratives that grip the country every year during March Madness. And, of course, Billy Packer called that game.

In a certain sense, I realize that sports are trivial, but experiencing that championship with my dad was one of the highest points of our time together on this earth and I can’t think of those moments without hearing Billy Packer’s voice (“THEY WON IT!”) RIP Billy Packer.

Nobuyuki Tsujii and experiencing new music

I love music. Growing up in North Carolina, I had a steady diet of top 40 radio with a heavy dose of country music from my mother (especially Loretta Lynn, George Jones, and Tammy Wynette). While I listen to a wide variety of music, I still feel like I’ve barely scratched the surface on genres like classical, or more generally, music from outside the United States. I’ve been trying to actively change that.

Over the past few years, I’ve been making a special effort to buy tickets to performances by artists I don’t already know and in genres explicitly outside what I know. NYC has so many amazing venues with decades of proven curatorial excellence so it’s easy to do here. This approach has led me to see artists like Senegalese superstar Youssou N’Dour and Brazilian legend Caetano Veloso (check out this New Yorker piece on him: “How Caetano Veloso Revolutionized Brazil’s Sound and Spirit.”) I walked into those shows knowing nothing about the artists or their music, or even the language they were singing in. Without fail, I leave those shows a huge fan and the music becomes part of my musical identity. (If you get a chance to see either Youssou N’Dour or Caetano Veloso – DO IT. Wow. A couple of the best shows I’ve ever seen.)

We went to one of those don’t-know-anything-about-this-artist shows last night at Carnegie Hall. The performer was Nobuyuki Tsujii, a Japanese pianist. Before these shows, I make a special effort NOT to read about the performer or listen to the music since I want to experience it fully with no pre-conceptions or pre-defined expectations. When we walked up to Carnegie Hall, the body of people in line was electric. After the crowd filed in and he came out to perform, the crowd went crazy. For the next two hours, we were blown away (see program below). We found ourselves yelling for an encore as part of a rapturous standing ovation (and we got three encores interspersed with the curtain calls).

I’m so glad we went — we’re now Nobuyuki Tsujii’s newest fans. Be sure to go see him (and other artists you might not know) when you get the chance.