OMG, please share this one if you could, or how I could go about learning to do this this myself. NHL scheduling is madness in and unto itself and despite my best efforts to stay on top of it I regularly miss games.
Most of my workflows/automations depend on Drafts. A few of them:
Drafts: tap on a widget item to create/open daily journal; based on a template, includes current “top of mind” principles and collates active reminders and calendar items for the day, with a header for my goals for the day, four time block headers and a carryover/tomorrow header.
Drafts: review yesterday: action that appends a list of links to drafts modified created yesterday to yesterday’s daily journal, along with any completed reminders.
Drafts: new project: create a reminder item with project details, along with a linked iThoughts map (I track projects as reminders via GoodTask, which allows for a kanban view, among other things).
Drafts: open/reference project: lists active projects with options to copy a project code, copy a project link or open project assets (item(s) in reminders; iThoughts map)
Drafts: workout log: create new workout log based on choice of templates; with associated actions to log reps/weight/duration per exercise and log duration of workout to calendar when complete.
Drafts: log duration of time tracked task to calendar when complete; if task has an associated reminder, open GoodTask to mark that reminder done.
Shortcuts: overnight (4am) automations to capture stats for Charty widgets; mostly drawn from data in Drafts…
Shortcuts: convert Youtube link to Invidious link (using this shamefully often of late).
I started listing all of the little things that make my life just a little bit easier, most of which are so ingrained I’d forgotten that I set them up.
And then my daily SuperDuper backup started. So the ones that have paid off for me are:
- Time Machine
I’ve set these up over the years and they just happen. And they’ve saved me on more than one occasion.
It’s pretty clever — I used a macro I found on the KM forums that worked with Chrome, Firefox and Safary, but modified it to also include Brave; at some point I’ll do the same with Edge if I need it enough.
I didn’t mention it initially, but it also captures any text selected on the page and inserts it as a markdown blockquote after the title/url link.
Here’s the macro I invoke when looking at a web page:
The first action of that macro calls a more complicated macro (the one I found on the KM forums and then modified) — see below. Happy to send you the
.kmmacros files for both if that’s useful. I’m not sure if the forum will let me post them here.
There are a few Shortcuts I created that I’ve been using every day. They are so simple, it is hard to believe, but Shortcuts was the glue that made it stick. 3 of them are shortcuts for Things. One is to show me my Errands, another to show my Phone list and third to show tasks I marked Important.
The other shortcut is from a developer named @ryanjamurphy that launches a log item for my Obsidian daily note.
The last one I use every day is a Shortcut I developed to show me the pdf front page of the NY Times.
So my conclusion is you don’t have to have long sophisticated automations, short and simple can also make things work the way you want.
This is a little adjacent to what you might have meant, @ryanjamurphy, but one thing I’ve done that took some investment but feels like it’s paid off is to go through the trouble of assigning photos to people I text regularly and also creating companies and putting their logos as their contact image for automated texts I get from companies. Here’s a screenshot of my messages app sidebar, for example:
(The calendar one is from an automated service that reminds me of an appointment I have)
In terms of workflow, my main workflow improvement has been to move from Evernote (good memories there) and finally settling up on a totally file-based archive on iCloud, with KM/BTT macros for launching Finder windows with my favourite folders, which also include managing my bookmarks as .webloc files in Finder.
Setting a keyboard macro to insert a sortable date (like 20221117) allow me to name my files with that timestamp and having a hard timestamp that will resist migrations, copys, moves, and not change because it is in the title so sorting by name will sort by date (this may or may not work for everyone).
In terms of knowledge management at work, my personal triumph has been slowly building up a document repository… on a Google Sheet file with links to other Google Slides documents. I work as a technology strategy consultant so having access to all my previous deliverables to find the specific deck I am looking for is key, so the Sheets document includes info like language, clients, industries, practices, success cases, technical architectures and the associated proposal budget.
It’s amazing how even the most simple workflows deliver great values.
I use KM pretty extennsivly liek you with moving windows / confit palletts (best thing I’ve implemented in the last 3 years to free up other to keys)
What does hammerspoon do that you are not able to accomplish with KM? I use to have Karibiner-Elements just for the Caps Lock / Hyperkey Macros I setup in KM. Now i just use hyperkey app for that which is far more lightweight. BUt I haven’t heard of hammerspoon curious to its function.
@fuzzygel What I found useful for some tricky documents was to select the text in the PDF (all of the files I do this with are PDFs) and then paste the text into a text editor like BBEdit that can show you all of the spaces and invisible characters that exist in that text that you can’t see in the PDF but that Hazel will see. Your attempts to write patterns that will match will be much more informed.
First and maybe most pivotal step for me is always to find a version of the schedule that I can open in a spreadsheet. The NHL doesn’t appear to offer that on its main site, but I found one on the media site at the bottom of this page.
I start by doing some data cleaning in the spreadsheet, eliminating columns I don’t want and changing some formatting with find and replace. For instance, I’d use three-letter city abbreviations instead of the full city names this spreadsheet uses. Much easier to read in Monthly view or when you’re checking an iPhone calendar. I used to have AppleScript make that change programmatically, but it’s a little brittle (the way I know how to do it with my primitive coding skills), so eventually I just started doing it during the cleaning stage.
Once I have the data cleaned, I have an AppleScript go row-by-row, assigning each row/event to a calendar. I’ve switched back and forth between using Fantastical or Calendar as the target app, although off the top of my head I can’t remember why. I think maybe Fantastical chokes on certain symbols or something. I’ll take a look at my scripts when I have a chance. (Only have my iPad with me right now.) I think they could be generalized fairly easily.
I also tried Hey.com and adopted the ideas to Fastmail.
Created a small guide many months ago. Wanted to also create guides for other mail providers but never did.
Feel free to have a look
This is great info, and yes please by all means if you think of it later take a look at the scripts, it’s much appreciated.
This is brilliant. I just set up a Hazel rule for this! Thanks.
My two most-used workflows are pretty simple:
Reply with signed PDFs. My secretary sends me letters/documents that I need to review and sign. I open the attachment in Preview and add my signature there. I then have a keystroke which prints to PDF, puts that PDF in Yoink, closes the original PDF, and starts a reply to my secretary’s message. I then drag the signed PDF from Yoink to the email message and send it back. I could probably automate that last step if I dug into it, or just have my secretary add my signature herself, but that’s something to set up another day.
Automate “Last Actions” with Things. I’ve written in another thread about how “Next Actions” in GTD never worked for me, but “Last Actions” clicked and I’ve been using them for a few years. In Things, I put my cursor in the main line of a task and type “;do”. Keyboard Maestro cuts the task out of the task field and moves it to the top of the note field, and returns the cursor to the task field and inserts the date, where I can type what I just did (rarely with a quick mention about what I need to do next, because it is usually obvious in my line of work).
Hammerspoon and KM have a lot of overlap. The biggest difference is that you write Hammerspoon actions in code (lua, specifically), while KM has a more visual interface.
I mostly use Hammerspoon for what think of as modal, interfaceless automation.
So for example, I have several automations that start with a keypress; that puts me in a particular mode, but there isn’t necessarily a visual indicator that I’ve entered Mode X. Then I press another key – that amounts to selecting an option from a conflict palette in KM, and determines which automation will be run; then I get a prompt for some text entry; and that text is used to complete a URL that Hammerspoon then opens. It relies on muscle memory.
I could accomplish the same thing in KM, and I used to use KM before switching to Hammerspoonn for these automations. But I find KM is more unwieldy when it comes to nesting if statements or otherwise building in several variations to a given workflow. And it was ever so slightly less reliable at times (for example, I find KM’s dialogs don’t always vanish when I hit the escape key).
All in all, for some kinds of automation, Hammerspoon and lua make more sense. For others, KM does.
That said, if I need more of a user interface, I’ll probably go with KM. And I think KM has a bigger and beginner-friendlier support community.
@tf2 Every time I look at Hammerspoon I find it intriguing, but as I know nothing of Lua I put it aside for another day. As the weather turns cold in these parts and I look for more indoor activities to pursue that day may be upon me. Can you suggest a good starting point for learning Lua? Thanks.
Absolutely. Some suggestions:
Getting Started – Hammerspoon’s own tutorial
Learn Lua in Y Minutes – a good lua reference/primer for people already familiar with programming
A big caveat: I came to lua after getting pretty good at python, which I did after getting OK at php, which I did after taking a single Java evening course, which I took years after dabbling in AppleSoft Basic and Tutor in my youth. So it was fairly approachable for me.
Like many of you, I don’t have huge workflow automations, but a lot of small ones which I love.
- Creating a daily note with all my (work) appointments and opening that file at the right spot. Usually I am too lazy to take little notes here and there, but with this file always there, it is so simple that I actually write them down. I just write down everything in there. If needed later, I can split it into separate notes. It is the information I would no take “on purpose” that I get by having the note always ready.
- Sorting away frequently downloaded files.
- Keyboard shortcut to open a new empty browser in the middle of the main screen (otherwise I get often stuck with the open tabs and don’t do, what I set out to do)
- Keyboard shortcut to show the notification center, this shows me the calendar for the day. For me it is usually simple things like that, but if I was to move to another space to my calendar app, there is a chance I would get lost doing other stuff.
- Having a split keyboard with multiple thumb keys and a custom layout. Think hyper key on steroids. Then think of something even better. It is at least that good. All those thumb key can be pressed for another layer. Eg I have cut copy paste on the homerow (default position of the fingers). Very small gain, but also very often used. (Maybe think of Streamdeck, but without moving away your fingers from your keyboard. It comes also with keys arranged in colums )
- Simple window management (I use btt for that because it can handle moving windows across spaces very well)
- I use the vimari plugin for safari. The main shortcuts I use are next tab, previous tab and close tab. Those are all single key shortcuts. This makes browsing with a lot of tabs a breeze. Use case: searching for something, opening possible hits in new tabs, quickly going through them to compare.
- I have an Alfred workflow to open a new Things window (again middle of the main screen) with a specific project, area or tag (search based). I have also saved some combinations. This makes taking a quick glance at a context (eg a person when in a call) so simple that I actually do it.
All those things reduce friction, which in turn makes me continue what I was doing. The gain in (micro-)seconds might be very little, but the gain in not stopping the flow is huge. Or in doing something at all, because it takes almost no effort.
Back when I had an iMac instead of a laptop, I had automations in place for backups that were really handy (as one or two others have mentioned).
But the best part of those automations was setting them up for specific times: in the morning, I would have the drives unmount from the Mac (while remaining physically plugged in). Since the drives weren’t unmounted, I would never hear my spinning disks click during the day.
After midnight, I would have the iMac mount the hard drives and let Time Machine and whatever else do it’s thing until 9am.
The whole thing was set up in Keyboard Maestro using AppleScript. I can see if I still have those scripts for mounting and unmounting drives if anybody would find them useful.
Related to this, I have Thunderbird configured to store the email library in an external drive folder. I have a BTT automation that launches Thunderbird as soon as the exact volume name is present, and unmounts it when I close Thunderbird, and the same with Logic Pro, because my sample libraries are on a external drive.
This is more convenient than it sounds (I know if I plug the drive, the app will be there in a second or two) and also avoids unclean mounts.