30th May 2019

I wrote recently about how I’m automating my daily journal, and it mainly focussed around how I started the writing, as the publishing was quite a manual process.

However, I’ve now managed to automate the publishing part of my writing process. Which I’ve been using for every blog post since, not just my daily journal.

I started off with Federico Viticci’s Publish to WordPress shortcut1, which he posted on his incredible Behind the Tablet article. But I had to make a few changes to make it work with the way I’ve configured my blog.

Here’s Federico’s description of his shortcut:

Publish a Markdown post to WordPress via the Shortcuts action extension. The shortcut can extract the h1 Markdown header from a post and use it as title. Optionally, you can publish both standard and “linked list” post types by adding a custom field supported by your WordPress installation.

The changes I made were:

  • Changing the Format parameter of the ‘Post to WordPress’ action to Ask When Run. This way I can alter between standard and link type posts. The shortcut already handled linked posts so it could extract a URL and add that as a custom field on a post. But my theme styles linked posts slightly differently, and it depends on the post format to do that.
  • I also changed the Publish Date parameter to Ask When Run as sometimes I like to schedule posts. Or if I’m publishing my journal, and I’ve slightly run into the next day, I like to make sure it’s published on the correct date.
  • One section I removed was the file saving, as I don’t particularly need another copy of the final results. I like to think of my blog as the place for canonical copies.
  • The last action was to open MacStories in the browser, so of course, I changed that to the url of this blog. So I can quickly check out the live version.

In essence, it’s a relatively simple shortcut, in that it takes text and publishes it here on my blog. However it takes care of so much of the annoying parts of the publishing process, such as setting the categories, tags, post types, extracting links for sources, and still more. I guess that’s the perfect case for automation.

One last thing I have to call out, is the natural language parsing when entering a publish date for a post. When using the web interface for WordPress, I found it really irritating to use the date/time picker. But now I can write something like “tomorrow at noon” or “yesterday at 23:00”, and it just understands it perfectly.

I’m not sure if this will directly benefit anyone, but I hope it at least shows some benefits of using automation when publishing to a blog. And also, that it’s very beneficial to keep checking out the many Shortcuts that people like Federico are sharing.

Download Federico’s “Publish to WordPress” shortcut.

Download my modified “Publish to WordPress” shortcut.


  1. The shortcut also includes the Title Case action from my app, Text Case. Which I (with a massive bias) find very helpful. 
17th May 2019

Since the start of this year, I’ve been writing a daily journal on a separate part of this blog.

After I started writing the entries, I realised I didn’t want the boring task of creating the file in a specific directory, and creating the same title/header over and over again. So I added a tiny bit of automation.

Things Task

iVBORw0KGgoAAAANSUhEUgAABS0AAAo4CAYAAAC8JoK+AAABgmlDQ1BzUkdCIElFQzYxOTY2LTIu-2.PNG

The first thing I did was to set up a task in Things, that repeated every day, simply to tell me to write my journal. After a while, I noticed that I would sometimes get very close to 12 before remembering about it. So I added a reminder for 11 pm, which gives me a bit of time to delay and still get it done in time.

Journal Template Shortcut

To take the hassle out of creating the initial file, I created a relatively small shortcut that creates the template and opens it in iA Writer.

I have a specific directory for my journal entries, and this keeps them all in one place.

It also uses the current date to create the filename and the heading for the post.

From there, it opens iA Writer, so I can jot down what I did in that day. And it’s ready to be published

You can download my “Journal Template” shortcut for reference.

Linking the Shortcut to the Things Task

Image.PNG

While Things is useful enough to help me remember I need to write my entry, and the shortcut helps to create the initial file, I also linked these together.

I did that by adding a custom URL into the body of the Things task, so whenever it notified me, I could tap on the task and then on the link. It would then launch the shortcut, and lets me immediately start writing.

It also allows me to not starting right away, as sometimes I’m not in the best place to do it, or I just want to put it off a bit longer.

The url is quite simple, and is in the following format:

shortcuts://run-shortcut?name={name}

{name} is the name of the Shortcut, but URL encoded. You may be able to work this out yourself, but my app Text Case can also do this for you.

More Automation

After I finish writing my journal entry for the day, I then publish it to my blog. I use the built-in “New Draft on WordPress” share extension, which then opens the draft in Safari where I can add the category, and publish.

It’s a reasonably quick task, but something else I plan on automating. So in the near future, I will be creating another shortcut, that can take the latest journal entry and publish it to my blog using the specific category and time I like.

7th June 2018
Permalink

We believe that a truly smart bank should empower people to manage their money in a way that suits them. Today, we’re proud to announce that we’re the first bank to partner with the world’s largest automation platform — IFTTT!

In a nutshell, IFTTT lets you personalise how you manage your money. You can create your own rules, called Applets, to connect your Monzo account to the services you regularly use. For example, say you use the iOS Health app to log your calories. With IFTTT, you could enable our pre-made Applet that means every time you buy anything at Starbucks, you’ll automatically log 200 calories on iOS Health.

Yet nother reason why Monzo is the best bank in the world.

Read about Monzo’s IFTTT Integration.

30th May 2018
Permalink

Tim Hardwick, writing for Mac Rumors:

Stationery Pad is a handy way to nix a step in your workflow if you regularly use document templates on your Mac. The long-standing Finder feature essentially tells a file’s parent application to open a copy of it by default, ensuring that the original file remains unedited.

Stationery Pad doesn’t get much attention these days, but it’s a neat alternative to repeatedly editing templates and using the “Save As…” command, which can lead to overwriting the original file if you’re not too careful.

I had no idea this existed. I will most certainly be making use of it in the future.

1st March 2018
Permalink

Matt Birchler has a pretty common request for Siri, and that is the ability to schedule requests.

While all of these assistants can turn things on, turn them off, move thing up and down, and such, they can only do those things now. I can turn on the lights now. I can open the garage door now.

It makes so much sense for this to be supported. Sure you might be able to schedule actions inside of an app. But if voice is an official method of input, you should be able to do everything with it.

There’s not even a particularly high barrier in creating a delay/schedule system. The simplest method I can think of, is that when a voice assistant hears a request with a related time, all it needs to do is store that exact request (even plain text is fine), along with the date/time. Then the system can set its own reminder, and at that time, it simply performs the request automatically, and deletes it from the queue.

9th October 2017
Permalink

At this years MacSysAdmin conference, Sal Soghoian (the king of automation) talked about his new role at the Omni Group, and work that they have been focussing on.

The talk was titled “OmniJS: Automation Magic comes to iOS and macOS”, and you can guess everything from that. There’s a bunch of demos from Sal, showing off the new scripting possibilities (on iOS and macOS), and it’s really impressive.

You can find the video, presentation slides, and information on the entire conference at the MacSysAdmin 2017 page.

10th February 2017

Federico Viticci, the King of iOS Automation has just written a great piece, regarding the latest update to Workflow for iOS.

With today’s 1.7 update, the Workflow team isn’t introducing Instant Variables. Instead, they’ve rebuilt the engine behind variables on a new system called Magic Variables, which completely reimagines how you can create workflows and connect actions for even more powerful automations.

More than a mere tweak for power users, Magic Variables are the next step in Workflow’s goal to enable everyone to automate their iOS devices. By making workflows easier to create and read, Magic Variables are the app’s most important transformation to date, and the result far exceeds my expectations.

I’m not a full time iOS user for work purposes, but with the features and innovation that is happening on the iOS platform, it makes me ever so more curious to take a bigger step. Just today I we looking at my automation options on macOS, and although there’s things like Keyboard Maestro, or the built-in Automator, there just isn’t a Workflow alternative.

Time like these make me wonder what it would be like moving fully over to iOS, but as an app developer it seems like I’ll be to macOS for a while. I’m certainly not saying I dislike the Mac platform, I’m a huge fan of it, and I’m loving my new Touch Bar MacBook Pro, but there’s just more happening over there.

The grass seems greener.

30th January 2017

Over the past few days I’ve been setting up my own media server, and in particular, Plex. Plex is a great tool that can do wonderful things to your media collection, but the one thing that I just love is that it can take plain video files, an then give it so much context. It really makes your library something to look at.

The Server

The actual server itself is my old MacBook Pro, which I don’t think is the best machine for the job, but it’s the best spare machine I have available at the minute. I’m not going to write down all the specs, but it’s got an i5, 4 GB Ram, and a 1 TB hard drive. The only job of this machine however, is to manage my collection, the storage is a 3 TB NAS drive that I’ve had for a while.

My Collections

At the minute I have three different libraries in Plex, one for all the movies I have downloaded, second for the TV Shows, and then I have also included my iTunes Media folder as a library, as I have a huge number of films in iTunes.

Now let’s get on to how I populate these libraries (Leaving some ethical behaviour behind of course).

TV Shows

The TV Shows are just video files that I have collected over the years and obtain manually, there are a few applications that can track new episodes, and even download them automatically, but I haven’t found any that I deem good enough. I don’t watch many tv shows, so a tiny bit of manual work isn’t a big deal for this.

Movies

My Movie collection is a mix, I have ripped some movies in the past (I hate DVDs), and also have a rather magical automation for downloading other movies I like. Here is a step by step process on how this automation works:

  1. Find a movie on Trakt, and add it to my watch list.
  2. CouchPotato finds new additions in my Trakt watch list, and then populates them in it’s own database.
  3. Every so often, CouchPotato will check to see if any of the added movies are available to download (with some quality preferences).
  4. CouchPotato then sends these links to download to Transmission, which is currently running as a local web server.
  5. Transmission will triage each addition, and with some specific restrictions like cumulative download limits and speed limits (that actually change depending on the time of day), start these downloads, and place them in the correct folder on the NAS.
  6. Plex Media Server tries to detect when new files are added to the libraries (It also checks regularly), and then it will analyse the media, add it to the library, and also put together all the needed metadata.

It’s a really fast process, and I enjoy how little work I have to do to make something happen. I’m sure the process may change in the future, but at the minute it feels pretty seamless.

iTunes

This is definitely where my main content comes from, it’s where I get all of my favourite content. Even to a point where I will have a copy of a film, but I will then also purchase it on iTunes. Because it means I get the best quality available, any iTunes extras, and I also feel like it’s future proofing my movie collection slightly.

Thoughts

I’m starting to really see why I hear so many good things about Plex, it’s easy to set up, it work’s nearly everywhere, and it just makes my media collection look amazing.

Running my own media server is something I think I will take further, and if I can pick up a cheap Mac Mini soon, that may be the next step. With my Amazon Dot, and now this small project, automation is becoming a fun hobby.

1st December 2016

I just set up a nice little automation on my Mac that I just had to share with everyone, it’s quite small, but it’s a big help to me when writing my project report for university.

I’m writing it in iA Writer at the minute, and I’m certainly making full use of the content blocks for things like images, and referencing separate bits of text. But I wanted a way to take a screenshot, and then have it available to me to embed into the document. It meant I had to google a few things about AppleScript, but that seemed pretty simple.

To keep my project folder nice and tidy, I created a new folder inside it called “Resources”. At the minute it’s just for images, but who knows!

Then I created a new rule in Hazel, to detect any file in my Inbox folder[1] that has the tag “KeepTrack”[2], which then moves it into the appropriate Resources folder that I just created. It then runs a small bit of AppleScript to copy the correct text to my clipboard, that I can then paste into iA Writer.

set the clipboard to "/Resources/" & item 1 of inputAttributes

The inputAttributes is the variable Hazel provides, and I have only set one item to pass through, the full name of the file that was matched, so “Image.png” could be one.

Then I’ll get something like /Resources/Image.png in my clipboard, that iA Writer will accept as a content block and show the image!

Hazel Rule

So it’s not a grand automation workflow, but it’s something that I worked out due to the fantastic capabilities of Hazel!

I’m starting to really love the app, and it’s allowing me to automate my work on my Mac even more.

If you want to get Hazel yourself, you can find it on the Noodlesoft Store.


  1. This is a folder on my desktop, that I use to quickly throw files into. I pretty much have all of my rules in this folder. ↩︎
  2. The name of my project. ↩︎
7th July 2016

The need and desire for automation in our daily lives is constantly growing, and IFTTT is one of the main services you can use to link many different actions together. It’s probably the automation service for the web.

The only problem with things like this, is that it takes a while to get used to how it works, and also how to get the best out of it.

Luckily, Katie Floyd has written a great article explaining the fundamentals of IFTTT :

IFTTT, which is short for If This Then That, is a web-based service that allows users to create simple recipes to control web-connected devices and services. I’ve talked about IFTTT quite a bit on my podcast, but one of the comments I receive regularly is that people just don’t quite not how to get started, or aren’t sure how IFTTT can fit in their life. To help, I thought I’d give some basic examples of how I’m using IFTTT.

She covers linking home devices, getting notifications with certain triggers, and a few other examples.