Sep 04, 2021
8 mins read
I had expected August to be a relatively quiet month. In the UK many people take holidays in August, children are on their summer break from school and the weather is usually as fine and sunny as it gets. I even had a week off planned with my family. The quiet however was not to be. Colleagues taking annual leave, central European colleagues returning from their leave charged with things to get done, some work-related training course assessments, and a busy trip to see family we had not seen much of lately due to the pandemic left me pretty busy or exhausted for the majority of the month. But that's not to say I did not accomplish anything on any of my personal projects.
I managed to sneak in under the wire at the end of the month to get a quick post out on something that piqued my interest a little earlier in the month.
As you may have noted, this year I've been working on cleaning up, developing and publishing some of my Alfred workflows. Something that occurred to me was that I had never seen anything for an Alfred URL scheme that would allow me to trigger a workflow from another app. Only via AppleScript. Given that Keyboard Maestro allows macros to be triggered by a URL call, and macros can also call AppleScript, it seemed like an obvious diversion to try my hand at building a Keyboard Maestro macro to bridge the gap for me.
While the more advanced automation tools can call AppleScript, for me the "killer" feature of this approach was that I can embed hyperlinks in process documentation that can run the related Alfred workflow for me. That includes parameters to pass to the workflow too, making it very flexible.
Speaking of Alfred workflows, hot on the heels of v1.3.0 of my Doctor Drafts update in July, I put out v 1.4.0 and 1.5.0 in August.
Version 1.4.0 brought official support for the new Universal Actions feature of Alfred. These allow you to work with text and files within Alfred using the Universal Action hotkey. This expands where you can use Doctor Drafts and opens up a whole new level of power. The release also added fallback searches for Drafts, added a Drafts forum direct search option, fixed a small search UI bug, and of course added lots of new documentation to support you.
Back in June, a user on the Drafts forum , and kind coffee donor, @Ehler, recommended adding an update function to the workflow. I am not big on necessarily having a fully automated updater for something where my code and structure is so open. It feels a bit risky and I would rather that users were fully aware of what was changing on their machine when it comes to things of mine they are choosing to use. Trust is great, but I want to help people remain aware, not hide things from them. But, the idea of having something to notify users when an update was available, absolutely something I could look at; which is what I tackled in this most recent release.
Version 1.5.0 includes a workflow that checks the remote version available versus the local version and will indicate to the status. There are a variety of ways to call this with a few different parameters that allow a check to be forced and show information with slightly different levels of verbosity. Fortunately the architecture of Doctor Drafts also allowed me to add something in that gets called practically every time a workflow gets run. This, combined with some settings and defaults, means it will check periodically to see if an update is available.
This release also contains something that resolves something that has been "bugging" me for a while. Doctor Drafts includes some options to view some quick reference material. This has been using the command line quick look resource viewer which always slaps "[DEBUG]" across the window's title bar. Since I am not really debugging, I found this gnawed away at me a little each time I used it. In this release I resolved it by incorporating an Automator workflow and using that instead. While Automator is ultimately being superseded by Shortcuts on the Mac, I plan to add support for that too once it is in the mainstream, and both the quick look and Automator options will probably remain. It is practically no effort to keep a bit of backwards compatibility for those who are unable to or are holding back on upgrading to the next OS. After all niche and pro software stability and compatibility is often something that can take months to get to a point reliable enough for production use.
Running Scripts on Servers
Over on the Automators podcast forum, one of my online hangouts of choice, one of the members (@jeremycherfas) posted a request for some insight into switching to running scripts on a server. What started out as a quick answer rapidly grew into something more like a short blog post covering a variety of options. Why not see how many of these you use or know about.
Behind the Scenes
The Obsidian posts I mentioned last month have not progressed much this past month, but they are still in progress and I keep adding additional post ideas for Obsidian to my blog ideas. As something I use practically daily and am still tailoring to my use, I expect I'll have stuff to call on for some time to come. Yesterday for example I set-up my Elgato Stream Deck with an Obsidian profile adding an option to load a workspace and my daily note in just the layout and display I want, and I linked in a PowerShell script I wrote for doing some of my automated filing of notes. There's almost always something new and interesting with that app.
My Drafts library and action groups updates have been lingering a bit and I did make some progress on the next update this month, but not in the direction I had originally planned. I have a whole new "thing" taking shape that is shaping up rather nicely but is taking some effort. It involves working with YAML which is not my preferred option for having to parse with code; not when you look at the whole YAML specification anyway. But, what might be an interesting tease is that I'm looking at some Mac-only functionality.
One of the things I have been taking a course on and studying for work this month is around Robotic Process Automation (RPA) - the practice of using computers to directly automate the interactions a user might make rather than using an Application Programming Interface (API) approach. It is something I came across over two decades ago where some consultants came in to the place I was working, developed a solution that interacted with our mainframe system at many times the speed of a normal user, and then let hundreds of these bots loose on doing data processing based on spreadsheets. Sufficed to say, the mainframe operations were not optimised for that sort of focused use, because no one from IT had seemingly been involved. The result was a negative impact across the business, and while it was resolved once the right local IT folks got involved for the capacity planning and optimisation, it gave me a shrewd insight into the dark side of RPA and automation in general. Things have moved on, and the technology is far more flexible, sophisticated, and reliable these days. I have colleagues who develop our RPA capability for our own platform, but in my technical and often external platform focus, my view is a broader one, and I feel like I'm now much more current with my understanding of the approaches that have been adopted and it is interesting to see how it has developed to a more no-code/low-code approach.
I am hoping I will be able to get more posts up on my blog this month, but I am also keen to get a long overdue Drafts library and action group update out too. Given how many training courses I want to try and fit in before they expire at the end of the month and how many time bound ones I have starting towards the end of the month I think something is probably going to end up giving. What that will be, I will end up determining along the way. Nothing is critical, so I have the luxury of being able to shift to whatever I am finding interesting and will motivate me to get the most from my time.
I definitely have a lot I would like to get done and my ideas list is growing well right now, so there is no risk of me running out of things to make and share with you all.
Once again I have been writing this during part of one of my coffee shop visits. I have never been a morning person, but each Saturday I am dragging my semi-comatose body out of bed at 5 AM, getting ready, and heading out on my mountain bike for a 6 AM start at a coffee shop a short ride out of the city. Getting out while it is quiet like this is not fun, but once I am sat in my own corner of the shop with my heavy dose of caffeine, I do find I am able to think about things a little differently than when I am in my home office; where I seem to have spent most of my life this past couple of pandemic-ridden years.
Thank you to all those who have donated coffee funds. They are being gratefully received on these early Saturday morning trips.