iOS Geekery

My iPad Upgrade

You may have observed that my frequency of writing here has slowed a bit, but I’m not dead yet. Vic and I are working on a website for Ronnie’s soon-to-debut podcast. In addition to that, I’ve spent some fairly non-productive time this past week playing with a major upgrade to my iPad life, namely a 2020 12.9” iPad Pro with Magic Keyboard.

My 2020 12.9” iPad Pro with Magic Keyboard

Coming from a 10.5” 2019 iPad Air, this iPad Pro seemed massive at first, and I really worried that I’d made a mistake. But now I know I didn’t. I do a lot of work on my iPad, and I love the screen real estate.

I also use my iPad as a tablet much of the time, if not most of the time, and while the 12.9” model is a little more unwieldy for that, it’s fine. …

(Read More)

Regular Expressions and Shortcuts, Part 4

This post is part of a series on Regular Expressions and their applications in the Shortcuts app.

Regular Expressions and Shortcuts, Part 1

Regular Expressions and Shortcuts, Part 2

Regular Expressions and Shortcuts, Part 3

Regular Expressions and Shortcuts, part 3.5

Using regular expressions in shortcuts is pretty simple. The Match Text block will always treat the text to match as a regular expression, and the Replace Text block has an option to treat the text to replace as a regular expression.

Shortcut actions to grab file names from a directory listing supplied by Secure Shellfish

In the above image, the Match Text block takes the directory contents list, which looks like this:

hugo-files/data/links/cars.json
hugo-files/data/links/podcasts.json
hugo-files/data/links/language.json
hugo-files/data/links/apps.json
hugo-files/data/links/security.json
hugo-files/data/links/linux.json
hugo-files/data/links/programming.json
hugo-files/data/links/apple.json

And performs a match to grab just the file name without the file extension, using the regular expression I talked …

(Read More)

Regular Expressions and Shortcuts, Part 3.5

This post is part of a series on Regular Expressions and their applications in the Shortcuts app.

Regular Expressions and Shortcuts, Part 1

Regular Expressions and Shortcuts, Part 2

Regular Expressions and Shortcuts, Part 3

Before continuing on and looking at how to integrate the regular expression we’ve been talking about so far into a shortcut, I want to incorporate a piece of feedback from Allister Jenks.

I originally came up with this:

^(?:.+\/){1,}(.+)\.json$

Allister points out that there’s a much more logical and concise way of doing it.

He’s right, of course. The following works perfectly and makes more sense.

^(?:.+\/)+(.+)\.json$

Actually, we don’t even need the + after the first group, thanks to greedy matching. By …

(Read More)

Regular Expressions and Shortcuts, Part 3

This post is part of a series on Regular Expressions and their applications in the Shortcuts app.

Regular Expressions and Shortcuts, Part 1

Regular Expressions and Shortcuts, Part 2

Hi, it’s me again, the guy with the terrible regular expression that I keep yammering on and on about:

^(?:.+\/){1,}(.+)\.json$

Last time I explained how (.+\/){1,} works to match file path directories in a file name, like these:


hugo-files/data
hugo-files/
hugo-files/data/links/

I did not explain, however, why the first part of the regular expression contains ?: inside the first set of parenthesis, like this:

(?:.+\/){1,}

In order to understand this, you have to understand the role of the parenthesis in regular expressions.

First, they do what I said last time they do: group things together for the purposes of applying a subsequent modifier to everything in the group. In our case, because …

(Read More)

Regular Expressions and Shortcuts, Part 2

Last time, I presented a case in which I wanted to take a list of files complete with file path, and extract just the file name without the extension.

So basically, I get a list of file names that come back like this:


hugo-files/data/links/cars.json
hugo-files/data/links/podcasts.json
hugo-files/data/links/language.json
hugo-files/data/links/apps.json
hugo-files/data/links/security.json
hugo-files/data/links/linux.json
hugo-files/data/links/programming.json
hugo-files/data/links/apple.json


And I want to turn it into the following list instead, by getting rid of the directory paths and the .json file extensions:


cars
podcasts
language
apps
security
linux
programming
apple


I do this in my shortcut using a Match Text action with the following regular expression:

^(?:.+\/){1,}(.+)\.json$

It looks mind-bogglingly weird if you’re not used to regular expressions, and certainly someone skilled with them could probably perform the same task with a much more elegant version, but this does the job for me, and it’s really quite simple. …

(Read More)