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.
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 selectionconst [st, len] = editor.getSelectedRange();
// Create promptvar 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 actionif (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. 🥰
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:
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.
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.
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.
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.)
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!
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:
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:
Make the actions obvious so they can be understood when it eventually needs to be updated or debugged.
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:
Get URL.
Expand URL.
Split the URL by forward slashes, and keep the first four or five segments.
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
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 actualASIN, 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.
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.
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. ↩︎
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. ↩︎
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:
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
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.
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.
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.
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.
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.
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.
Following my habit of purchasing at least one pair of headphones per year, I’ve spent a few days with the newly-released Beats Fit Pro. Here are my brief first impressions of what I think are (spoilers) Beats’ bests buds to date.
These buds come with all the bells and whistles. ⌘
Comfort
Pretty comfortable upon first putting them in. More comfy than I expected.
I think I found the “right” place for the wing tip, but I keep wanting to adjust. Need to try to place and leave it.
There’s a surprising amount of forgiveness in where you place the wing tip in your ear. You can twist the buds forward and back to wherever is most comfortable. Personally I put the bud in, tuck the wing tip under one of the ear ridges, and then rotate the bud back slight to “lock” it into place.
They come with standard in-ear tips. My ears are weird and I’ve never quite found the right size tips before. I’m going to have to try them all out to determine what’s most comfortable and doesn’t easily break the seal. So far the mediums are pretty good, but the larges make my ear feel too full.
Very secure. I’m confident they won’t fall out even when eating or running.
They indeed do not fall out when eating or running. In fact, they were great on a run! Did not slip out, or work their way out of my ear canal. That’s more than I can say for the Powerbeats Pro, which I’ve been using for about a year. The right Powerbeats consistently slip far enough out of my ear canal while running that it affects sound quality and is super distracting. Different ear tip sizes didn’t help, so I resorted to basically only ever using the left one. With Beats Fit Pro, I can finally use both buds again!
I’m pretty used to sleeping with AirPods in, but that’s probably not feasible with the Beats since rolling over onto them engages the button which pauses or changes noise setting. Also it pushes more uncomfortably into the ear.
Sound
Sound is good! Bass is predictably more noticeable than in regular AirPods. I think I prefer AirPods for podcasts, but music is really enjoyable in the Beats Fit Pro.
Noise cancelation is impressive. Doesn’t make my head feel as funny as with AirPods Pro, but also not not there.
Transparency mode is kind of funny. You can hear the world around you as if there’s nothing in your ears, but my ears still feel full. It’s not a bad feeling, just a little weird.
While running, transparency worked well with music playing. With the Powerbeats Pro, which do not have transparency mode (or active noise cancellation, btw), I didn’t really feel comfortable with both buds in while on a run. They blocked too much noise.
The Rest
Having the earbud surface as physical button is best. It uses all the standard click controls from back in the wired earpods days. I’ll miss volume control from the Powerbeats (which are certainly going up for sale). It’s possible to change a setting so that a press-and-hold on the button of the left or right earbud will adjust the volume up or down, but then there’s no easy access to noise cancelation/transparency modes.
The case is the only real drawback.
It uses USB-C rather than lightning (which I understand, but don’t like).
I could overlook USB-C if it had Qi charging. The lack of wireless charging is this product’s biggest miss.
It’s quite large for the size of the buds, and isn’t as pocketable as AirPods or AirPods Pro. I’d prefer smaller case at the expense of battery life.
The case has a cheap plastic feel compared to AirPods. Harder to open.
The Apple marketing machine got to me. In my mind, earbuds are supposed to be white. So I opted for the white pair, also thinking they’d to be easier to spot if I dropped them. After a few days, I slightly regret that color choice as they’ll probably get dirty faster. I may exchange them for the black pair, we’ll see.
Conclusion So Far
After a few days, I’ve decided that Beats Fit Pro are, for me, like a better AirPods Pro at a lower cost. They stay in my ears, sound great, and come with all the bells and whistles like spatial sudio and noise cancelation features. I wish they were more pocketable and had wireless charging, but otherwise are wonder-buds. They’re the real deal.
Ultimately, I foresee keeping AirPods 2 in my pocket for daily drivers, and keep the Beats Fit Pro in my bag for fitness and anytime I want noise cancelation. They’re so much more travel-friendly than AirPods Max, and worked great for blocking out airplane noise on a recent trip.
Bonus: AirPods (3rd generation) Impressions
When the latest non-pro AirPods were announced, they were an insta-buy for me. I received them on launch day and was super excited for them. Unfortunately, as soon as I popped them into my ears, I knew I wouldn’t be able to keep them.
The good stuff:
Sound quality was amazing.
For spoken word audio (like podcasts), the sound was crisp in a way that the first two generations of AirPods never has been.
For music, the bass was instantly more noticeable than earlier AirPods. I’ve never been unhappy with the sound quality from AirPods, but the latest generation is a big step up.
Spatial Audio support is a treat. I really enjoy it for both videos (with dynamic head tracking) and music (with static head tracking).
MagSafe case is cool, but actually made it harder to grab and go. Unless your charger is heavy or stuck down, it likes to come up with the case. But it’s not a bad addition.
The button on the stem is both more versatile for controls, and feels less silly than tapping on earbuds.
The bad stuff:
The shape change made it incompatible with the right ear. Yup, just one of them. It’s bigger and fit snuggly in my left, but my right ear has always had issues with earbuds (except for the previous generation AirPods, and now the Beats Fit Pro).
It never felt secure in my right ear, and even moderate activity made it tumble out.
I wanted so badly to love the 3rd-gen AirPods. And if my ears were both shaped like my left one is, then I’d happily use them for years to come. But t’was not to be, which makes me doubly thankful that the Beats Fit Pro were introduced at almost the same time, and will work for even more use cases.
A weekly list of things I found interesting, posted on Sundays. Sometimes themed, often not.
I thought it’d be fun to look at the songs I have in the Music app with the highest number of plays. You’ll see that most of these tracks harken from my iTunes days and were songs that I loaded on an iPod where they racked up plays. These days, it’s rare for a song to get dozens of plays like these have, since all the world’s music is now just a swipe away, no matter where I am.
Note: The title links below go to https://song.link pages which redirect to all the major music streaming services for your listening convenience.
With “American Pie” you get a peek into how I learn lyrics. I have notoriously bad hearing, and really have to concentrate to understand most songs’ lyrics. And for songs that I want to learn by heart, they get put on repeat. About a decade ago as summer camp staff, once a week a group of my friends and I would sing this song as lunchtime entertainment for all the campers. So I had to learn it. There are a lot of words in this 8-minute song. And, yes, I can still sing it all from memory.
Appropriately, I discovered this song via one of those classic iPod commercials. It bops hard, and I immediately downloaded it. I still put it on if I need a pump up track.
To be honest, I don’t know why this song is so high up on the list. Probably something…something teenage angst. I mean, it’s a good song, and I still enjoy it. But listening to it again tonight I get strong teen romance vibes. I imagine it racked up a significant number of its plays through my van stereo parked in the driveway while skirting date night curfew.
The Tarzan soundtrack was one of the very first CDs that I ripped into iTunes. It was one of my favorite movies as a kid, and I dig a bunch of the songs off it. Years later, my college roommate and I had it on a shared playlist of songs that we called “Bat Cave Jams”. Yes, that was the name for our dorm room because we were just that cool. At times, we enforced a rule that in order to enter the room you had to do a jig to one of the songs on that playlist. Good times…
This is the only non-lyrical song on this list. I discovered it from my jazz band friends in high school and got obsessed. We wanted so badly to get the sheet music and learn to play it. The tuba (sousaphone) solo in the middle of the song is next level, while the rest is showcase for bright and loud trumpet runs. We even used the song in the intro for our group’s school morning announcements videos. (Please don’t judge that video too harshly, we were very proud of it at the time and enjoyed learning to do the practical speed effects. 😝)
See #4. “Trashin’ the Camp” was also on the playlist and often played because of its fun scat singing throughout. Although I am a bit embarrassed to realize that this means ’N Sync has a spot in my Top Played list. 😳
And finally #1. The Some Nights album came out the year I started college and I imprinted on it hard that first semester. Turns out that Fun. band member, Andrew Dost, actually graduated from my university, which is probably why their music was featured during the freshman opening events that fall. “Some Nights” the song was my favorite song for a few years, and I still turn it up loud to jam out to this day.
I hope you enjoyed this trip down memory lane with me. While this list doesn’t really represent the music I gravitate toward these days, I still get a kick out of all of these tracks.
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!
To ensure that the same widgets will be displayed in both orientations, Apple has made some changes to the iPadOS 15 home screen. The icons are now smaller with a different grid, which results in more empty space on the sides. On the iPad mini 6, the icons are not only tiny, but the empty area looks even worse.
Maybe now we know why widgets didn’t come to the iPadOS Home Screen along with iOS last year. Turns out there’s a lot to consider for an OS that spans many screen sizes, pixel densities, screen orientations, and aspect ratios.
Speaking of aspect ratios, the only thing about the new iPad mini that I don’t love is that it’s aspect ratio has changed. It’s followed in the steps of the 11-inch iPad Pro and gotten taller, but less wide. Maybe it’s just me, but I thought Apple nailed the screen ratio with the original iPad at 3:4, and wish that it kept that ratio despite any actual size adjustments. 3:4 just says iPad to me, and the taller ratio makes it seem more like an Android tablet instead.
Merlin and Alex had what I thought was a really great discussion on how social media and the internet at large are affecting us. Merlin also let loose on how he feels that YouTube is both a miracle and a monstrosity. Conversational gems like this are pretty common on Do By Friday, which is why I happily support the show as a Cox’s Cuck on Patreon. They unlocked this episode’s After Show because they went deeper on the social media conversation, so if you want to get a feel for what the extra content is like, I suggest you try this one out!
Both the M1 Pro and M1 Max look like incredibly differentiated designs, much different than anything we’ve ever seen in the laptop space. If the M1 was any indication of Apple’s success in their silicon endeavors, then the two new chips should also have no issues in laying incredible foundations for Apple’s Mac products, going far beyond what we’ve seen from any competitor.
While much of the technical details go over my head,I always look forward to the Anandtech analysis of computer performance. They typically give it to us straight. That’s why I’m now doubly excited by the new M1 Pro and M1 Max based on Anandtech’s enthusiasm for them.
Through thick and thin, the Apple Magic Mouse has been by my side. Competitors will always tempt me, but that trusty Magic Mouse may well be the best Apple money I’ve ever spent.
I, too, love the Magic Mouse. I’d still be using the original if it was fully compatible with iPadOS’s pointer features. But it isn’t, so I picked up a Space Grey Magic Mouse 2 last year, and anticipate using it for years and years to come. The ergonomics have always been good for me.
I might use AirPods more often than any other individual Apple device I own. I wear them throughout the work day for Zoom calls, listening to music, and podcasts. I also use them each night with the Apple TV to watch quietly while while Josh is heading to bed and use them to listen to podcasts before I go to sleep.
I cosign basically everything here in Mike’s first impressions of the 3rd generation AirPods.
I, too, insta-bought a pair after the keynote since my 2nd generation AirPods are having some microphone issues and the batteries are slowly dying. And while I love the sound (much improved) and the button (squeeze controls are way better than tap controls), and appreciated the improved water resistance (which I think is what damaged my 2nd-gen pair), I ultimately had to return them because the right one wouldn’t stay in my ear.
I hope Apple keeps iterating on the design, or offers multiple shapes with the updated features in the future. In the meantime, I’ll keep rocking my 2nd-gen pair (still for sale, btw).
Hate waiting at traffic lights? Yeah, me too. Good thing the Netherlands has smarter traffic lights to make sure that happens as little as possible. It’s amazing what you can do when you design to move as many people as possible, instead of as many cars as possible.
This video was fascinating and also frustrating now that I know that North American traffic lights are so much dumber than they could be. Seems like with an impending overhaul to electric vehicles, it would be a prime time to rethink the way our roads work in order to move more people rather than more cars.
I would like to see Apple replace that 13-inch MacBook Pro with a larger MacBook Air. I could see the lineup looking something like this:
13-inch MacBook Air from $999
15-inch MacBook Air from $1299
14-inch MacBook Pro from $1999
16-inch MacBook Pro from $2499
This would give people who want a larger screen but don’t need the power — or the expense — of the MacBook Pro a new option.
Stephen Hackett lays out a good argument for adding a new model to the MacBook Air lineup. I’ve imagined a similar lineup for a while, but in my ideal future the 12-inch MacBook is revived with a 14-inch bigger sibling. Apple tried and failed to retire the MacBook Air name in the past, but the Apple Silicon transition gives them another shot to simplify their notebook naming to ‘MacBook’ and ‘MacBook Pro’.
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!
Here’s a quick shortcut that I put together tonight after being inspired by @RyanMorey on Twitter. This shortcut fetches individual lines of text from the webpage that’s created and curated by Merlin Mann. I’ve linked to Merlin’s bits of wisdom in the past, and I look forward to every new addition.
You can use this screenshot to follow along with the action descriptions below. ⌘
1️⃣ After seeing that @RyanMorey’s shortcut relied on text hardcoded into an action, I thought I could probably update it to always pull from the latest collection on the web. Getting the body text of the article is trivial (using a URL action and Get Article from Safari Reader action), but filtering out the lines of text that aren’t actually bits of wisdom took a few tries. I didn’t want the shortcut to serve up the front matter, nor the section headings or footer text.
2️⃣ At first, I thought I could use RegEx to match and keep only lines of text that contained a bullet character. But after dipping into the rabbit hole that is RegEx, I realized it was more than I was ready to learn. Instead, I split the body text by new lines with a Split Text action, and then brute force attack each line (using Repeat with Each) with an If action, which collects only lines with that bullet character in a new variable. I don’t love this implementation, but since it’s just text, the shortcut still runs very quickly, and it means I was able to use only built-in actions.
3️⃣ The next action (Get Item from List) does one more filter to remove the introductory thoughts, which are also bulleted at the beginning of the document. From that final list of actual lines of wisdom, I get one random item (another Get Item from List action) and then reformat it slightly with a Match Text action to remove the bulleted list characters.
4️⃣ The final action is Show Result, which presents the final wisdom. When run from Siri, it will either display the text on screen or speak it aloud to you, depending on your Siri settings and how you initiated the shortcut.
Note: This shortcut, unfortunately, does not run on the Mac at the time of writing. While the Mac did recently get the Shortcuts app in macOS Monterey, some actions are not yet supported, including the Get Article from Safari Reader action on which this shortcut hinges.
This was a fun experiment to figure out how to scrape a bit of data from a webpage that wasn’t designed for serving it up in that way. I’m sure it could be adapted for similar uses on other pages.
Thanks to @RyanMorey for the initial idea and foundational shortcut, and of course, to Merlin Mann for creating the document and continuing to add to it.