December 5, 2021

7 Things This Week [#38]

A weekly list of things I found interesting, posted on Sundays. Sometimes themed, often not.


1️⃣ Dropping Off a Cliff with Jimmy Chin, the World’s Greatest Adventure Filmmaker | GQ

For more than 20 years now, the mountains have been the crucible in which Chin has forged his singular life. He is a professional climber, sponsored by The North Face; a mountain photographer, sponsored by Canon; a filmmaker with National Geographic. He shoots big-budget commercials for blue-chip companies like Ford. More recently, of course, he’s also become the codirector of nail-biting, award-winning documentaries–Meru (2015), Free Solo (2018), and The Rescue (2021)– that reevaluate the limits of human potential. Through that multifaceted success, Chin has become a citizen of two worlds: He’s a Manhattanite and a Jackson local, a dirtbag climber who’s at home on the red carpet. More than anything, perhaps, he’s the consummate generalist whose constellation of skills has never aligned in quite the same way for anyone ever before. Plus, there’s the snow-melting smile.

I’ve long admired Jimmy Chin. His drive, his professionalism, his raw talent, and his balance of the things he loves. This was an excellent feature. Really inspirational. I can’t wait to check out his upcoming book, There and Back: Photographs from the Edge.

Oh, and he’s an awe-inspiring follow on Instagram!

2️⃣ Tom Holland on Spider-Man’s Future, Zendaya, and His Paparazzi Nightmares | GQ

When Holland started making it in Hollywood–a debut in 2012’s The Impossible, followed by small parts in Wolf Hall and In the Heart of the Sea–he leaned in to his balletic talents, literally throwing himself into every job. (This approach is written in the subtle S-bend of his nose, which he has broken twice, once on the set of The Lost City of Z, and again on Chaos Walking.) I’m like a Duracell battery. I’m the bunny,” Holland says. It’s that energy that comes through onscreen, whether he’s doing backflips as Spider-Man, or pulling on fishnets and grinding to Rihanna on Lip Sync Battle: determination bordering on desperation. Anytime I’ve ever watched him work, he does it 150 percent,” his Spider-Man costar Zendaya says. It’s incredible to watch.”

Another feature in the Men of the Year’ issue, Tom Holland has impressed me over the past few years as an actor. He’s excellent as Spider-Man, but I also really enjoyed him in Cherry. Beyond acting, though, he’s always come across as a genuinely nice guy. From what everyone quoted in this article says, that seems to be true. And intensely dedicated to his craft.

I can’t wait to check to No Way Home in a few weeks. It’ll be my first time in a theater in two years.

3️⃣ And what’s up with celebrities longing for woodworking? From those two GQ articles:

He’s certain of something: I definitely don’t think I want to be an actor for the rest of my life.” Before Hollywood, Holland briefly trained as a carpenter, a craft he still loves. I’ve always been really good with my hands. If something’s broken, I can always figure out a way of fixing it.” He has this romantic idea of buying apartment buildings and renting them out cheaper than they need to be, because I don’t need the money.” (Tom Holland)

and

In between the packing, Chin takes a moment to sit out on the deck, his chair turned toward the sun. He looks like a surfer again, in shorts and flip flops, hugging his knee to his chest, an almond milk vanilla latte at his feet. I’m very fortunate that I’ve found the things that I found in my life,” he tells me. Climbing and skiing and surfing, and photography, and filmmaking, and telling stories. But I don’t know. I might’ve found a lot of satisfaction being a cabinet maker.” (Jimmy Chin)

Get you a celebrity who can do both. 😉 By the by, Nick Offerman seems like the most down-to-earth star. His books are all on my reading list.

4️⃣ Conversation About Junior vs. Senior | Accidental Tech Podcast

At timestamp 1:27:59, Casey, John, and Marco explore a listener question asking what differentiates a junior developer from a senior developer. I appreciated the nuance of the conversation, and wholeheartedly agree with where they landed. To me, putting the specific field aside, a junior position is for someone who mostly needs assistance to complete their core job. A senior position should be for someone who can, through the wisdom of experience, provide that assistance to others. The whole chapter is only a handful of minutes, and well worth a listen.

5️⃣ Kettleball Commercial | DocMorris - YouTube

You’ve probably seen this commercial make its rounds throughout the internet already (it’s actually from 2020!), but I wanted to link to it nonetheless. It hits all my feels. 10/10.

6️⃣ Billie Eilish: Same Interview, The Fifth Year | Vanity Fair - YouTube

I’m so much more open to stuff now.” On the verge of 100 million followers, Billie Eilish is ready to step back into the world as the most comfortable version of herself. Filled with new life experience, two more Grammys than last year, and a few less of her infamous one-liners, Billie Eilish truly is happier than ever. From hosting the Met Gala to being the reason Oscar de la Renta no longer sells fur, watch to see how much Billie has grown since her first interview in 2017 with Vanity Fair.

I love that Billie Eilish keeps making these with Vanity Fair, though I wonder when she’ll eventually be unable to do it on the same date each year. It’s fascinating to watch her grow up, both physically and emotionally. It makes me wonder how I would answer such questions, and react to the time capsule-like versions of myself. Would I, too, disagree with my former self, or be on the same page year-to-year?

7️⃣ The Beauty of Bézier Curves | Freya Holmér - YouTube

Bézier curves - how do they do?

They’re used for animation, text rendering, and all sorts of curved shapes! But how do they actually work? well, like, that’s what the video is about, so, watch it to find out etc!!

And, finally, this video awoke the math nerd in me and brought me back to my AP Calc days. The animations are sublime. The explanations are (nearly) coherent even for someone a decade out of their last math class. And I always wondered what the bézier curve feature in graphics applications would do. Now I know!


Thanks for reading 7 Things! If you enjoyed these links, or have something else neat to share, please drop me a line on Twitter or shoot me an email!

7 Things


December 2, 2021

Now, December 2021

🆕 What’s New?

Hey there, I’m back at it with a Now update after taking November off. I didn’t intend to take the month off, but things were busy evolving, and I never found a good moment to catalog what I was up to. So what happened the last couple of months? Well…I…

  • Travelled to Michigan to celebrate my nephew’s birthday (dressed as his favorite Blippi ) and meet my new niece for the first time.
  • Went back to Michigan for a whirlwind trip to celebrate a close friend’s birthday.
  • Took care of our sick dog, who contracted kennel cough after an interview day at the local dog boarders (he was okay after a week of antibiotics).
  • Had friends over for a Halloween party. It was wonderful to see so many of them again after so long.
  • Signed up for an expedition to summit Mount Rainier, which you might remember from my July Now update. It’ll be the biggest thing I’ve ever climbed, by far, but I’ll be doing it with experts and with good friends. I’m so excited!
  • Travelled back to the Adirondacks to support my wife as she interviewed for a position at a rural hospital. Which led to…
  • Celebrating with my wife when she secured the position. It looks like we’re moving to the Adirondack Mountains!
  • Then anxiously scouring the housing market for a place to live in a month. Which led, thankfully, to finding a cute house to rent. It will be our first time living in a standalone home together, to which we are very much looking forward.
  • This means we are currently working on booking moving logistics, ending our current lease, downsizing (as much as we can before the holidays) our possessions, and wrapping up our obligations here in Ohio.
  • Oh, and we hosted our first Thanksgiving with my wife’s immediate family. It, too, was a great time with tasty food and good company.

As I said, it’s been a busy couple of months. 😅

📱 Apps I’m Trying

It’s been a slow month for trying new apps on my phone. The only one of note is Upnext, which is the latest app I’m testing on my quest for the perfect read-it-later app. Upnext is limited to a Testflight beta right now, so I don’t want to say too much. I also haven’t given it a complete shake (Reeder’s simple swipe-to-save is so ingrained at this point). But, I like its solid YouTube integration, also that it shows reading, listening, and watching times in the main list view, and its clean interface. It doesn’t hurt that their team added HeyDingus as a content source within hours of a support request. I don’t typically use the built-in sources for any of these apps, preferring to rely on RSS, but it was cool nonetheless!

On the iPad, I’ve been trying a ton of Safari Extensions. I’m pretty impressed that having a bunch of them installed doesn’t noticeably slow down my browsing. Here are some of my favorites so far:

Vidimote. Restores all the native video controls that you’d expect in iPadOS to all kinds of web videos. (Universal)

Noir. Adds beautiful dark modes to websites that don’t have them. A keyboard shortcut quickly toggles it on and off if it doesn’t look right. (Mac) (iPhone/iPad)

AMP Shockwave. Google AMP pages seem to be on their way out, but this extension redirects to the canonical page for any that are left. (iPhone/iPad)

Grammarly for Safari. Helps to make sure my writing on the web is as good as it can be. (Mac) (iPhone/iPad)

Honey. Gotta snag those coupon codes in the holiday season, and Honey does it automatically. (Mac) (iPhone/iPad)

Keyword Search. I have so many ways to trigger specific kinds of web searches now, but I love that Keyword Search syncs between my macOS and iOS devices and works straight from Spotlight on iPadOS, too. (Universal)

Super Agent for Safari. I pretty much installed this and have left it alone, so it’s hard to say for sure if it’s working, but supposedly it fills out those cookie prompts automatically. I think I’ve seen way fewer of them, so 👍. (Universal)

Vinegar. My newest addition; it automatically converts YouTube videos and embeds to native HTML vides sans all the tracking. It’s not perfect but is intriguing. (Universal)

On macOS, I’ve installed many of the same extensions, but also a few Shortcut utilities as I explore the app’s new frontier on Mac:

Shortery. I’m astounded that Shortcuts for macOS didn’t ship with even a hint of automation. With an always-on machine, Shortcuts on Mac could be the perfect hub to run scheduled shortcuts without all the badgering notifications getting in the way like on mobile. Luckily, Shortery steps in to fill that gap. (Mac)

ShareBot for Shortcuts. Again, third-party developers fill in gaps left by Apple. ShareBot adds a macOS Share Sheet extension to (with some tweaking) allow input to be passed to shortcuts like is done with the iOS Share Sheet. (Mac)

Actions. Like Toolbox Pro, Actions adds addition, well, actions to integrate into Shortcuts. It adds additional capability to work with lists, colors, time, a few Mac-specific actions, and more. And it’s free! (Universal)

📚 Stuff I’m Reading

After a couple of busy months, I again fell behind on my reading queue. I finally caught up while recovering from my booster shot, save for the excellent articles from The Verges decade anniversary feature.

I also reserved Several Short Sentences About Writing by Verlyn Kinkenborg, which I’m eager to dig into.

And I found audiobooks of the Cirque du Freak series by Darren Shan, which have been my bedtime listens lately. I loved that series back in middle school, and it’s fun to return to it. I’m two books in so far and still marvel at the imagination of the story.

🎵 On Heavy Rotation

All of Julia Wolf’s and Jake Scott’s discographies. Weird, wonderful, and oddly comforting.

Red (Taylor’s Version) by Taylor Swift. Early songs re-recorded with the wisdom and talent of a global phenomenon? Yes, please!

30 by Adele. Why do I always think that she’s older than she is? We’re only three years apart in age, but her voice imbues years.

= by Ed Sheeran. Another banger.

📺 Things I’m Watching

I’ve been mainly off TV lately. But my wife and I have started bingeing The Good Place, which I’m still enjoying three seasons in.

tick, tick…BOOM! had phenomenal acting and exciting music. I’ve always loved Andrew Garfield, but he killed it with this performance. It’s always so impressive when a talented actor is also a great singer. Oh, and I had no idea it was about the real-life playwright Jonathan Larson until the credits rolled.

🤷‍♂️ Hobbies I’m Hobbying

Uh… Reading? Writing here? Exploring what moving to a new hosting platform could unlock and how much effort it would take? Procrastinating on my next Challenge! installment? Playing with Shortcuts? Learning as much as I can about our future home?

I’ve been a bit light on hobbies. Luckily once we move to the Adirondacks, I’ll be surrounded by beautiful places to explore. I can’t wait!

Now Journal


November 28, 2021

7 Things This Week [#37]

A weekly list of things I found interesting, posted on Sundays. Sometimes themed, often not.


1️⃣ Apple’s unexciting 2021 Mac and iPhone software prove it should take a break from annual OS updates | The Verge

To solve the issues of lackluster annual updates, Apple should do two things. First, it should continue to build out point releases with additional features throughout the year or even unbundle app updates from its annual releases entirely. Did the FaceTime team come up with a great new feature that’ll make pandemic chatting easier? Release it when it’s ready! Second, it should start to space out its major software releases, waiting an extra year or two between iOS or macOS versions to ensure that when it does release a new” operating system, there are actually big changes to be excited about.

Honestly, I have to agree with Chaim. Not that I’m disappointed with this fall’s software releases, but I think an extended time frame between major releases would do both Apple and its users a lot of good. It would hopefully mean that more quality of life enhancements would get pushed out in point updates, and more advanced features would get the time they require for major versions. It’s been a long time since I’ve tried to convince my wife to update her devices. She’s not one to get excited about new features, and they come at such a pace that it can be exhausting to keep up. I’m all for extending out that period by six to twelve months for sure.

2️⃣ Emojis Are Folklore | Emojipedia

Emojis are constantly in flux” which is why they need to be documented and archived.

This was a fun 📖. I’m surely not the first to say this, but emojis are modern hieroglyphics. Even though it feels a little 🥴 to put stock into these little pictures, they’ve found what I believe to be a permanent place in human 🗣️.

3️⃣ Museum of Forgeries | MSCHF

By forging Fairies en masse, we obliterate the trail of provenance for the artwork. Though physically undamaged, we destroy any future confidence in the veracity of the work. By burying a needle in a needlestack, we render the original as much a forgery as any of our replications.

If you missed this drop by MSCHF when it was active, it’s still worth checking out their site. This type of devilishly creative projects are fascinating, and something that I hope never leaves internet culture. It reminds me of a Banksy stunt, actually.

4️⃣ Morgan Stanley analysts think Apple’s self-driving EV must be a shared service and not an owned car’ | 9to5Mac

Yesterday’s Bloomberg report indicated that Apple’s ideal outcome is that the Apple Car would have no steering wheel and pedals.” Instead, it would be designed for complete autonomy. While it’s unclear whether Apple would be able to achieve this with its 2025 timeline, Morgan Stanley analysts say that a car without a steering wheels or pedals must be a shared service and not an owned car.”

Shared service for Apple’s car product? Now, where have I heard that idea before? Here’s what I wrote back in January:

By introducing this type of ride-hailing service, rather than a car for people to own, Apple would avoid the messy business of showrooms, loans and leases, and the extravagant price that a Designed by Apple in California” vehicle would undoubtedly cost. Apple could scale the service at their pace and only in the places that allow unmanned vehicles. And, since I imagine that owning an iPhone or Apple Watch will be required to access this service, Apple could design the vehicle’s features to integrate tightly, privately, and securely with their existing products and services.

I don’t know what the future holds for Apple, but I stand by my prediction. A ride-sharing service sounds far more attainable and useful than building out luxury cars for individual purchases.

5️⃣ Launch: Vinegar | And A Dinosaur

YouTube5 was a Safari extension back when Flash was still a thing and hated by everyone. It replaced the YouTube player (written in Flash) with an HTML <video> tag.

And now the YouTube player situation has gotten bad enough that we need another extension to fix it. That’s where Vinegar comes in. Vinegar also replaces the YouTube player (written in who-knows-what) with a minimal HTML <video> tag.

I discovered this Safari Extension via Daring Fireball and can confirm that it’s as seamless and delightful as billed. If you want a more native video experience from YouTube.com or anywhere YouTube videos are embedded, grab this app.

6️⃣ Bo Burnham’s Inside and White Liberal Performative Art” | F.D Signifier

Bo Burnham’s Inside currently streaming on Netflix is one of the best things I’ve seen all year. It perfectly captures so much of the emotions I think all of us felt in the last 18 months or so… emotions that we probably should keep close since things are going in reverse.

However, some parts of Bo Burnham’s experimental special were… a bit othering. I realized that as a whole the special wasn’t for me. It was a deeply personal piece that spoke explicitly to Bo’s experiences and worldview, and as a straight white male”, there’s definitely some elements of his worldview that aren’t going to look the same from my standpoint.

This got me thinking about other works of art with similar themes. I think there’s tons of art made by white creators that speak explicitly to a white worldview in a way that isn’t explained by just being for general audiences”. I named it White Liberal Performative Art” and I’m super proud of myself for that lol.

In this video I give a little background on what brought me to this idea and how Bo Burnham’s Inside works as a proof of concept for it.

This was my first exposure to F.D Signifier’s channel. I enjoyed Inside immensely, but I also appreciate this perspective from someone who has a very different background from me. It’s healthy for me to expand who I hear from to avoid getting stuck in an echo chamber. F.D mentioned that he used to be a teacher, and it’s apparent from this video — the research, the impassioned stance, the clear communication — that he was a quality educator.

7️⃣ Everything Apple Newsletter - Issue #3

A tweet. Follow the link to read on Twitter.
Read on Twitter

If you’ll allow me this bit of indulgence, a year into writing this blog I as big a rush from seeing anything that I’ve written gets shared elsewhere as I ever have — which is to say a huge thrill. So when I got a Twitter notification saying I was mentioned by Kyle Reddoch the other day, my heart leaped for joy! It looks like Kyle is getting his own site started for sharing his journey into app and Shortcuts development, along with an Apple-focused newsletter. If you like what I write here at HeyDingus, I think you’ll enjoy Kyle’s work.


Thanks for reading 7 Things! If you enjoyed these links, or have something else neat to share, please drop me a line on Twitter or shoot me an email!

7 Things


Megan McArdle, writing at The Atlantic:

Our educational system is almost designed to foster a fixed mind-set. Think about how a typical English class works: You read a great work” by a famous author, discussing what the messages are, and how the author uses language, structure, and imagery to convey them. You memorize particularly pithy quotes to be regurgitated on the exam, and perhaps later on second dates. Students are rarely encouraged to peek at early drafts of those works. All they see is the final product, lovingly polished by both writer and editor to a very high shine. When the teacher asks What is the author saying here?” no one ever suggests that the answer might be He didn’t quite know” or That sentence was part of a key scene in an earlier draft, and he forgot to take it out in revision.”

Or consider a science survey class. It consists almost entirely of the theories that turned out to be right—not the folks who believed in the mythical N-rays,” declared that human beings had forty-eight chromosomes, or saw imaginary canals on Mars. When we do read about falsified scientific theories of the past—Lamarckian evolution, phrenology, reproduction by spontaneous generation”—the people who believed in them frequently come across as ludicrous yokels, even though many of them were distinguished scientists who made real contributions to their fields.

You never see the mistakes, or the struggle,” says Dweck. No wonder students get the idea that being a good writer is defined by not writing bad stuff.

True to form, this linked article has sat in my writing queue for months and months. At first, it was because I thought I had something profound (read: mildly interesting) to say about it. Probably something about how it spoke right to the core of me as a writer and perhaps a person. I often recognize that projects are put on the back burner until the perfect time,” which does not exist.

So the article sat. And waited. And waited. And every time I edited something to be published, I’d see it in my In-Progress’ folder and think, Oh, I should finish my thoughts on that.”

A screenshot of my writing queue with this article listed.
Here it has sat for far too long.

Eventually, it became somewhat of a joke in my mind. Oh, haha, I’m procrastinating writing about the article about procrastination. That’ll make a funny story.” But, no, I don’t have any profound thoughts to share about the article except to say that you should read it. Especially if you struggle with getting words onto the page, it’ll make you feel seen and less alone trapped between your mind and your fingers.

So why am I publishing today? What finally made me get it out of the queue and onto the web? Mainly because of something Greg Morris wrote (paraphrasing F. Scott Fitzgerald) that I’d like to take to heart for this blog:

If you have thoughts that you want to express, just because others have similar thoughts doesn’t make them any less valid. I don’t publish because I want to publish things, I do it because I have something that I want to publish.

I’d been waiting to share Megan’s article because I wanted to say something different and unique to me. Instead, I waited, frozen with indecision, and said nothing at all. This blog is written first and foremost for people who like the things I like. I write what I would enjoy reading and hope others out there will find it and nod along. Saving it in perpetuity did no one any good.

So, I resolve to care less about saying the right thing” and instead just say the things that I want to say. I may fall back into this habit, but now I have a public record to look back at and remember what this thing is for.

And the second reason I’m publishing today is that it’s Thanksgiving here in the US. And I’m thankful to you, dear reader, for finding my small corner of the internet. I’m grateful for having a place to share my excitements and frustrations and that anyone at all has cared to read. I’m especially thankful for those of you who have felt the urge to reach out — it’s really been something special to chat back and forth and get to know such kind strangers on the internet.

Thanks for reading.🧡 And have a happy Thanksgiving. 🦃🙏🫂

Go to the linked site →

Linked Blogging


November 23, 2021

Writing My First Script

Editor’s Note: I was looking through my ever-piling list of potential posts and found this one that never got published. I wrote it back in July, so it’s a few months late, but I’m still proud and wanted to document it here.

As part of my summer hobby to learn a bit about coding, I feel like a whole new world has opened up. I now understand just enough to be dangerous and to scratch my itches. As a heavy user of Drafts, I’d always wondered how folks made complex actions using Javascript. Today I took a stab at my own simple one.

Enjoy!


I created my first scripting action today! It was also the first time I’ve ever tried to learn/use javascript, and I’m far more proud of it than is warranted.

My goal was to create a prompt that would allow me to choose from several formats to insert the current date into my current draft. I started with the Prompt action but couldn’t understand how to take the output of the prompt and change it into anything useful. All I could get out of the prompt was the text that made up the button I pressed.

So…I went down the (admittedly) much harder route and tried to figure out how to use a script to display a prompt and do what I wanted. It took a while, with much-referencing example actions in the Drafts Directory, the Drafts Script Reference, and this forum.

Here’s the result: Insert Current Date (Prompt). And here’s a screencast of it working using a keyboard command.

And here’s the script. It’s my first one, so I have a lot to learn. If anyone has suggestions on how to streamline the code, I’d love to learn. As Dani Rojas says in Ted Lasso, Roast me, amigo!”

// # Insert a formatted date in Drafts.app using a prompt.

// Store selection
const [st, len] = editor.getSelectedRange();

// Create prompt
var p = Prompt.create();

p.title = "Insert Formatted Date";

// Arrange the buttons in the order in which you prefer. The top button will be highlighted by default and can be selected by pressing the 'Return' key when prompted.
p.addButton("yyyy-mm-dd");
p.addButton("Month d, yyyy");
p.addButton("mm/dd/yyyy");
p.addButton("mm-dd-yyyy");
p.addButton("mm/d/yy");
p.addButton("mm-d-yy");

// Show prompt
p.show();

var b = (p.buttonPressed)

var ymd = draft.processTemplate("2021-07-18")
var mdy = draft.processTemplate("[[date|%B %e, %Y]]")

// Process dates based on button selection and set variable for the processed date (pd).
if (b == "yyyy-mm-dd") {
    var pd = draft.processTemplate("2021-07-18")
    }
if (b == "Month d, yyyy") {
    var pd = draft.processTemplate("[[date|%B %e, %Y]]")
    }
if (b == "mm/dd/yyyy") {
    var pd = draft.processTemplate("[[date|%m/%d/%Y]]")
    }
if (b == "mm-dd-yyyy") {
    var pd = draft.processTemplate("[[date|%m-%d-%Y]]")
    }
if (b == "mm/d/yy") {
    var pd = draft.processTemplate("[[date|%m/%e/%y]]")
    }
if (b == "mm-d-yy") {
    var pd = draft.processTemplate("[[date|%m-%e-%y]]")
    }

// Take action
if (pd != undefined) {
    // Insert processed date template into the draft at the selected range or point
    editor.setTextInRange(st, len, pd);
    // Reactivate the editor with the insertion point at the end of the newly added date
    editor.setSelectedRange(st + pd.length, 0);
}

editor.activate();

I posted this to the Drafts Community Forum and did indeed get some feedback. You can follow along with its progress on that page. Since then, I’ve updated the action a few times, and the version available from my page on the directory includes all the new features. The Drafts community is one of the best on the internet. 🥰

Coding Scripts


A couple of months back, fed up with the proprietary https://apple.news links that get shared from Apple’s News app, I built a shortcut to fetch the original web URL for a particular article.

If you live in an Apple-only ecosystem, Apple News links may not cause frustration in your life. But as soon as you want to share a link for others to read that sweet new article you came across, it gets tricky. Does the recipient know what Apple News is, and will they trust the funny-looking link? Do they even have an Apple device to read it on?

Furthermore, even as a subscriber to Apple News+ through Apple One, articles are littered with ads. I’d rather save it to my read-it-later queue, which strips out all the ads and lets me peruse the article along with my other saved reads. The apple.news links do not save nicely to Reeder, so getting the original URL is necessary.

I built a shortcut to clean up” Apple News links and then re-share them with the Share Sheet:

Get the Clean Up Apple News Links shortcut → Original Version | Latest Version

How It’s Made

A screenshot of the actions that comprise the Clean Up Apple News Link shortcut.
Short, sweet, and human-readable. Just the way I like my shortcuts!

1️⃣ Even though the shortcut is set to receive URLs only from the Share Sheet, it falls back to receive the clipboard if nothing was shared. Since the clipboard might contain any number of things, like a paragraph of text with the link somewhere in the middle, I use a Get URLs action to make sure the rest of the shortcut uses only the link. It may not be necessary, but I use Get Item from List action to act on just the first URL received.

2️⃣ In the event that the shortcut receives a non-Apple News link, this If block checks for the apple.news domain and displays a notification if it’s not from Apple News. Since you likely wanted to share that URL anyway, it pulls up the Share Sheet. (Editor’s Note: There should be a Stop Shortcut action before the End If to prevent the rest of the shortcut from running. Get the latest version that uses that method.)

3️⃣ Here’s the magic part: A Get Contents of URL action (probably the most versatile action in all of Shortcuts) run with the Apple News link returns all the essential bits of the webpage that redirects to the News app.

A screenshot showing the result of the Get Contents of URL action.
The webpage returned by the Get Contents of URL action. Luckily, you can get the links embedded in this page, one of which is the original web URL.

4️⃣ It turns out that the Click/Tap Here” link is the original URL. Another Get Item from List action grabs that first link.

5️⃣ Let’s share that thing!

Get the Clean Up Apple News Links shortcut → Original Version | Latest Version


UPDATE: A few days ago, I came across Jason Snell’s shortcut (member’s post) that is built with a similar method but uses RegEx (I’m really going to have to learn that someday) and might be more future-proof. I’ve combined the best parts of both our shortcuts into the latest version.

Shortcuts


A weekly list of things I found interesting, posted on Sundays. Sometimes themed, often not.


1️⃣ Why is it that spiders crawl” but dogs walk” when both creatures use all their legs?

2️⃣ I wonder if Apple Stores have the highest compute power per square foot of any retailer? Just as they’ve topped the chart for most revenue per square foot for many years. It certainly seems that with the power of their ever-progressing processors, and the fact that they put the latest chips into as many products as they can, and that typically only the latest products are out on the floor — it’s got to be up there despite the relatively small footprint of most Apple Stores. (Related: I’d love to see a chart of average processing power per Apple Store over time. It’d be neat to see the inflection points.)

3️⃣ If cats could FaceTime, would they bother to call you? (I like to think that mine would. 😻)

4️⃣ You shine a laser at the moon. The particles shoot there at the speed of light, right? But then you shake the laser back and forth exceptionally quickly. Could you theoretically make the dot on the moon move faster than the speed of light? (Yes, I know that the dot is constantly new particles, so, no, not really. But I like to think that I could break the laws of nature.

5️⃣ Does every sound ever made still exist on earth? Sound waves technically get smaller and smaller, quieter and quieter, the less energy they have, right? But do they ever stop, or just asymptote their way toward nothingness?

6️⃣ Related to 5️⃣: What if the stars aligned, you had a burst of extraordinary brainpower, and you could inexplicably hear one of those ever-diminishing sound waves of someone talking who had long passed on? Might you think you had heard a ghost?

7️⃣ Let’s say we could follow a single molecule of H2O from its inception on Earth to today. Since 97% of Earth’s water is in the oceans, is it likely that any given molecule has lived its entire life undisturbed in the ocean, or that it has gone through an uncountable number of physical changes? Evaporated into a gas, condensed as a cloud, precipitated as rain? And what is the total mileage of that single molecule? Certainly shorter if it has lived only in the ocean, right? (Sorry, I snuck in a couple of extra questions in this one.)


If you got a kick out of these questions, you might also like the Shower Thoughts account on Twitter. And if you have answers to any of these questions, I’m all ears! ⬇️⬇️⬇️


Thanks for reading 7 Things! If you enjoyed these links, or have something else neat to share, please drop me a line on Twitter or shoot me an email!

7 Things


If you’ve ever tried to copy an Amazon item link, you know that more times than not, it’s horrendously long and filled with tons of unnecessary tracking or reference tags. And if you’re an Amazon Affiliate, you know that it’s not terribly easy to get your unique affiliate link out of the mobile app, especially if you have multiple Amazon accounts (nor does the SiteStripe play nicely with iOS Safari).

And if you’re like me, you’d want one tool to fix both those problems. You’ve come to the right place.

My Amazon Affiliate Linker shortcut ingests Amazon URLs (both long and short versions) and spits back out a nicely formatted smile.amazon.com link with your Affiliate ID that can be opened, shared, or copied.1 Here it is in action on an iPad:

Get the Amazon Affiliate Linker shortcut → Original Version | Latest Version

Background

A few months back, I wrote a post about my desk setup, and a page to track my current gear. It allowed me to catalog what I use, made me clean up my desk to look presentable, and let me rapid-fire my opinions on my daily-use tech. It also provided the prime2 opportunity to check out affiliate links with Amazon. As a free site, any way that I can recoup some costs associated with keeping HeyDingus online without detracting from the reading experience is worth looking into.

Signing up to be an Amazon Affiliate is easy, and getting the tagged links from their desktop site is pretty straightforward with Amazon’s built-in SiteStripe. There are even tools made for the Mac to clean up and tag links, which I’ve used a few times. But, as I mentioned above, it’s challenging to get the links from Amazon’s mobile app or on iOS in general. That’s where Shortcuts — particularly now that it’s available across iPhone, iPad, and Mac — comes in.

My Shortcuts Philosophy

When I make shortcuts, I try to keep two things in mind:

  1. Make the actions obvious so they can be understood when it eventually needs to be updated or debugged.
  2. Use built-in actions, rather than ones provided by third-party apps, whenever possible. Especially if it’s going to be shared, I’d prefer that users not need to download additional apps.

The most straightforward way to match specific parts of a URL would be to use RegEx. But I don’t know RegEx, which violates guideline #1. Or I could use more advanced and user-friendly actions from something like ToolBox Pro to isolate what I needed, but then there’s guideline #2 out the window.

For a little while, I used a somewhat basic version of the shortcut you see below. It went something like this:

  1. Get URL.
  2. Expand URL.
  3. Split the URL by forward slashes, and keep the first four or five segments.
  4. Replace https://www.amazon.com/ with smile.amazon.com and add the affiliate tag to the end.
  5. Copy to clipboard.

It worked with the most straightforward URLs but utterly failed when it came to more-complicated-but-still-common links. This new version builds in more smarts based on how I’ve learned that Amazon product URLs are structured and gives more options for using the new link.

And, best of all, it follows my two guiding principles. It’s all native actions available on both iOS and macOS. Plus, the actions follow logical sense, even without the documentation comments I’ve added. (By the way, I tend to put those comments before the actions they describe.)

Without further ado, let’s take a look!

How It’s Made

A screenshot of the shortcut marked up into main steps.
There’s probably a way to do this in far fewer steps, but it’s the best I could come up with without also having to learn RegEx.

1️⃣ I’ve configured the shortcut to accept text, rich text, Safari webpages, and URLs as input. That allows it to get both regular links that are shared from long-presses on URLs or from Safari, and also from plain text links that I highlight and share from the copy/paste menu.

You might have noticed that it’s set to receive from Nowhere, though. That’s because I consolidate most of my link-related shortcuts behind a separate URL Menu shortcut so as not to overpopulate the Share Sheet.3 So if you want this shortcut to appear in the Share Sheet as its own option, just change Nowhere to Show in Share Sheet.

If no input is found, it falls back to checking the clipboard.

2️⃣ The first Text action is where you’d put your Amazon Affiliate ID. It is populated by answering a setup question but can be changed later by replacing the text in this action. Per Guideline #1, I’ve expressly set the variable here, even though the Magic Variable produced could be named on its own.

3️⃣ A Get URLs action ensures that a proper URL is generated even if text is passed as input. Next, that URL is expanded with Expand URL to take care of any URL shortener or redirect tricks. Finally, the expanded URL is split by forward slashes using Split Textso that each component can be acted upon individually.

4️⃣ A Repeat With Each action paired with an If action checks each component to see if it’s the dp’ or gp’ string that always precedes the Amazon Standard Identification Number or ASIN.4

5️⃣ If it is dp’ or gp,’ a Calculate action adds 1 to the repeat index, which is the component’s number in the list of parts split in Step 3️⃣. By adding 1 and setting a new variable, I can refer to the ASIN with its index number later. Since I can’t be sure where the dp/ASIN part of the URL will occur in the raw link, this bit of math is my workaround. The repeat action does nothing with any other bits of the URL.

6️⃣ Now, I get the ASIN with a Get Item from List action by using its precise index number.

7️⃣ The only problem with the ASIN part of the URL is that sometimes, that string between forward slashes includes reference trackers of its own. Since I only want the actual ASIN, I had to figure out how to isolate it. It turns out that ASIN are always ten characters, and I’ve only ever seen them be at the front of that string of text. So, with another Split Text action, I break the string apart by each character. I only keep the first ten characters using Get Item from List and put them back together with Combine Text. That result overwrites as the new ASIN variable.

8️⃣ This step is where it all comes together, literally. Using a URL action, I build the new URL with only the bits I need. https://smile.amazon.com/dp/ is the standard domain. The ASIN variable pulls in those ten characters that refer to a specific item on Amazon. Finally, the Affiliate ID tag is added to the end.[I always feel better about linking to a full URL where you can see the Affiliate ID. It feels more honest than obscuring it with a shortened URL. If I find some time, I plan to update all the short affiliate links on this site to these more readable versions.]

9️⃣ And finally, what to do with the new beautified and affiliated URL? I’ve included opening it in Safari, sharing it with the Share Sheet, and copying it to the clipboard in the Choose from Menu action. Of course, you can always add your preferred destinations to the menu. You’ll notice that the menu shows the final URL, which is an excellent way to confirm that the shortcut manipulated it correctly.

In the example video above, this shortcut changes the URL for a Black Diamond Contact Crampon from the awful
https://www.amazon.com/Black-Diamond-Contact-Crampon-Polished/dp/B002YHI57M/ref=sr_1_5?keywords=black+diamond+contact+crampon&qid=1637036417&qsid=136-8045076-1704738&sr=8-5&sres=B002YHI57M%2CB013WZETQA%2CB0018I3T5Q%2CB013WZEUOG%2CB0144VTNX0%2CB0046GV350%2CB0144VTKE2%2CB07HGQ2RDZ%2CB003XUIKEC%2CB077MT4NDM%2CB01ICI3F2Q%2CB004BN7FHS%2CB098JZ7SFQ%2CB07H4H98ZF%2CB08GXVNWWB%2CB07CWNGR92%2CB0094GO6ZG%2CB01IQQXXDA%2CB0038UP3NI%2CB014939NKQ
to a human-readable
https://smile.amazon.com/dp/B002YHI57M/?tag=heydingusnet-20.


Turning my original straightforward, 6-action shortcut into a 38-action one doesn’t scream simplicity. But I am proud of how I worked around most edge cases without resorting to something like RegEx. One day I’ll learn what those obscure patterns mean, but that day is not today. I also think and hope it makes the shortcut more approachable to more people. Since I often use others’ shortcuts as starting points for mine, I want people to feel like they follow what’s happening and that they can adjust it to fit their needs.

As for me, I’m glad that I can now use the same lightning fast tool5 across each of my devices.


Get the Amazon Affiliate Linker shortcut → Original Version | Latest Version


  1. By shopping through Amazon Smile, each of your purchases will benefit a charity of your choice. 0.5% of every eligible purchase gets donated straight to them. I also use a Safari extension to make sure every Amazon link gets redirected to a Smile link, so I never have to remember. ↩︎

  2. 😆 Sorry about that one. ↩︎

  3. A tip for another time. ↩︎

  4. What are dp’ and gp,’ you ask? No idea. I like to think of them standing for direct product’ and global product,’ but my quick web search did not reveal an actual answer. ↩︎

  5. Text manipulation is quick! ↩︎

Shortcuts Blogging


File this under scratching your own itch’. I like to use embedded tweets here on my blog. I like that they can provide context around the tweet, like included media or threads, as well as make it easy to jump right to the tweet in the Twitter app. Plus, I feel that the HTML provides a passable fallback to regular text if the platform doesn’t support embeds. But how to easily get the necessary HTML?

I created a shortcut that accepts a tweet URL from the share sheet or clipboard and then returns the appropriate HTML ready for pasting from the clipboard. Here it is running on the Mac:

Get the Copy as Embedded Tweet shortcut → Original Version | Latest Version

Background

Twitter’s method for embedding a tweet is laughable coming from a mobile-first platform. There’s no way to copy it directly from the Twitter app, you must use their website and then hop through publish.twitter.com. Yuck.

So I searched around in the usual places for a shortcut that would do it, but couldn’t find one. That’s when I remembered the Tweet Deets’ shortcut that I use to copy a tweet’s contents as Markdown. It was created by Matthew Cassinelli as a proof of concept for John Gruber, and upon checking its actions, I realized it uses publish.twitter.com and got me 80% of what I needed.

How It Was Made

Screenshot of the shortcut’s actions, annotated with steps taken.
Get Contents of URL comes in clutch again by providing the full HTML as one of its dictionary values.

1️⃣ Quick tip: Don’t sleep on the Shortcut Input options. You used to have to use workaround actions to check for input, count the items passed, and then get the clipboard if no input was found. With iOS 15 and macOS 12, you can eliminate a bunch of actions by using the built-in configurations to only get the clipboard if no input is provided.

2️⃣ After checking the dictionary returned by the Get Contents of URL action, I saw that one of the values was the full HTML. All I needed to do was get that as text and copy it to the clipboard.

3️⃣ Because I’m fancy, though, I prefer to have media centered on my site. So I included a quick Replace Text action to add the necessary bit for it to be centered before copying it to the clipboard.

4️⃣ I like to have confirmation for my expected result, so I use a Show Result action to confirm that the HTML was indeed copied to the clipboard. I used to use the Show Notification action for this purpose on other shortcuts, but I’ve found that it clogs up the Notification Center. With Show Result, I can check that the right tweet was copied and dismiss it with one tap.

What I love about Shortcuts is that if you can’t find a solution to a problem, with relatively little effort you can create one and put it out into the world for others to use. Now this tool exists, and even if no one else finds it, I’ll be happy to have it in my toolbox.

Get the Copy as Embedded Tweet shortcut → Original Version | Latest Version

Shortcuts Blogging


November 14, 2021

7 Things This Week [#35]

A weekly list of things I found interesting, posted on Sundays. Sometimes themed, often not.


1️⃣ Here are all of the ways watchOS 8 and Series 7 point to greater iPhone independence… and what’s still missing | 9to5Mac

While watchOS 8 seems like a light update on the surface, it’s actually indicative of much larger changes that are likely coming down the road. One thing that has become increasingly obvious is that Apple is preparing for greater independence from the iPhone. They’re making several changes both in watchOS 8 and with Apple Watch Series 7 that make using an Apple Watch independently better than ever.

Could this be why watchOS 8 was light on flashy features? Maybe Apple spent their time re-architecting the OS to be free of its ties to the iPhone. I wouldn’t be surprised if watchOS finally gets its iOS 5 coming of age” moment next year.

2️⃣ How Stupid is the Metaverse? | Birchtree

And what about smart watches? I’m getting real time data on my heart, my breathing, my blood oxygen, my activity, and there’s a little voice assistant on there who can tell me basically anything I want to know (your results may vary, but it ain’t bad). And of course your wireless earbuds are announcing things to you as they happen so you don’t even need to look at your phone or raise your wrist to see what you’re friend just texted you.

I’ve felt for a while that we were already well into the age of AR. Matt cemented that feeling for me when he listed just a few of the ways our mobile devices already mix the physical and digital worlds. I use lots of this proactive and reactive data every day.

3️⃣ If I could make Things 4… | A Better Computer

Another thing from Matt Birchler is this video in which he dreams up some great new features for the next version of Things. I use Things every day, and I wholeheartedly agree with all of Matt’s suggestions, including natural language processing, basic collaboration or list sharing, the ability to add attachments, and even a subscription service for more regular updates. It’s been about four years since Things 3 came out, so I feel like a new major version is due soon! Matt’s mock-ups are spot on, looking exactly at how I think Cultured Code would build the features into the actual app.

4️⃣ Updating The Verge’s background policy | The Verge

Nilay Patel, Editor-in-Chief, writing about how big companies have taken things too far in demanding how the information they share gets attributed:

This list could go on and on — the clear pattern is that tech companies have uniformly adopted a strategy of obfuscating information behind background. It’s also easy to see why companies like to abuse background: they can provide their point of view to the media without being accountable for it. Instead, journalists have to act like they magically know things, and readers have to guess who is trustworthy and who is not.

I had no idea that there was a middle ground between on the record” and off the record”. Nilay is right, it does confuse readers like me. I commend The Verge for taking a hard stance, loudly and proudly. I’ve long trusted their reporting and can now do so with even more confidence.

5️⃣ The 4:15 to San Francisco | tyler.io

But what caught my ear was when he started talking about audio processing and microphones. It was something along the lines of…

Yeah, we made a new way to cancel out noise you don’t want to hear using extra microphones. In fact, you know what? Apple is using our stuff in the next iPhone. They’re gonna put a second mic on the back of the phone to get rid of background noise when you’re talking to someone.

It turns out the guy wasn’t lying.

Pretty neat story about hearing an Apple rumor in real life that actually came true! Just a couple of weeks ago, I was explaining this exact feature to someone about how the iPhone uses its back microphone to cancel out noise on calls.

6️⃣ An Ingenious Recipe Format for Nerds | Craig Mod - Twitter

I can’t stop thinking about this recipe format. Sure, it could get complicated. But in general, this looks clear, scalable, and easy to follow.

7️⃣ Taylor Swift - All Too Well: The Short Film | Taylor Swift - YouTube

Written & Directed by: Taylor Swift

Starring: Sadie Sink, Dylan O’Brien & Taylor Swift

Poignant acting; it made my heart clench. Well set to the music, too!


Thanks for reading 7 Things! If you enjoyed these links, or have something else neat to share, please drop me a line on Twitter or shoot me an email!

7 Things