Touch a folder or file in macOS Finder

Touch is a unix utility for Linux and macOS that updates the modified and access timestamps on a file.

In macOS Finder and Windows File Explorer I typically sort my files by Date Modified in reverse order, to put the most recently used files on top. This makes it easier to find stuff I am working on now, but some of those files aren’t modified and don’t move to the top. Touch can take care of that, but there is no built-in touch integration in Finder.

But it can be done in Automator.


Launch Automator from the Launchpad. Automator will present you with an Open dialog. Select “New Document”.

Automator will present you with a new document.

In the “Choose a type for your document” modal select “Quick Action” and “Choose”.

The modal will close and you can now edit the document. In “Workflow receives current” select “files or folders”. Next to “in” select “”. You can also change the Image or Color to suite your tastes, but they are not necessary.

Now you need to add an Action. Scroll down to “Run Shell Script” and drag the action into the workflow builder.

Now you need to customize the Run Shell Script action. I left Shell at /bin/zsh (Catalina default), but you can change it to your favorite. In “Pass input” select “as arguments”.

With the last selection, Automator adds a template script to the script editor.

for f in “$@”
echo “$f”

In the editor change “echo” to “touch”.

You are now ready to save the Automator document. In the “File” menu select “Save…” or type ⌘S. In “Save quick action as” enter “Touch”. Then select “Save”.

The file is saved in $HOME/Library/Services as “Touch.workflow”, and appears in System Preferences Extensions.

In Finder the Touch menu now appears in the Actions menu.

IT Service Management

Hyperledger Indy Walkthrough Sequence

Here is a UML Sequence Diagram based on the Hyperledger Indy Walkthrough. This is my first attempt to summarize the sequence of events when an identity owner (“Alice”) attempts to make claims and have them validated by another party (“Acme Corp”, validator).

The code is linked above. I appreciate your review and feedback, especially as it relates to the functionality of Hyperledger Indy.


A Domain-Specific Architecture for Deep Neural Networks | September 2018 | Communications of the ACM

Moore’s Law is dead. Let’s not mince words.

DRAM chips introduced in 2014 contained eight billion transistors. Chips with 16-billion will not be mass produced until 2019. At the very least, the growth exponent has flattened.

Meanwhile, the company associated with Moore, Intel, is struggling to stay relevant with its CISC architecture. The RISC-based ARM architecture used by Apple in the iPad line is approaching the performance of Intel, while using significantly less power.

The lesser-known Dennard Scaling law is also dead. Power utilization is scaling more linearly with the number of circuits.

What this means, in practice, is new computing nodes based on traditional architectures will require more power to feed smaller advances in performance. Consumers haven been aware of this trend already, but it will only get worse until new architectures achieve mainstream status. And then advances will depend a lot more on what you are planning to do with it.

We are already at the early edge of this. Or not. Gamers have long been aware of the benefits of graphical processing units (GPUs) for improve gaming performance and would pay dearly for those benefits. GPUs exploit parallelism in matrix calculations (see linear mathematics) to significantly improve performance in specific domains (I.e. gaming) while leaving other forms of computation untouched. Few other desktop computing applications exploit GPUs capabilities.

There are a couple popular exceptions:

  • Bitcoin mining

  • Neural network learning

The rise in these applications has been a boon for Nvidia, while the recent declines in the former has dropped the bottom out of their growth projections.

What the death of Moore’s Law and Denning Scaling portends is:

  • Flattening of general purpose processing CPUs.

  • A shift from CISC to RISC CPU architectures. Apple and Microsoft have already shown signs they want to shift their PCs towards ARM-based processors that use less power — this will be pronounced by 2020.

  • Increasing reliance on alternative, domain-specific computation architectures that excel in specific areas.

Other buzzwords include:

  • Field Programmable Gate Arrays (FPGAs)

  • Custom ASICs

  • Tensor Processing Unit (TPU)

  • Neuromorphic computing

Most of these concepts are not new, but all are becoming newly relevant.

I have to admit I find the literature on computing architecture to be tedious and dull. I stopped following advances in Intel chips a long time ago. However, if computing architecture is your thing, it is a great time to be alive.

A Domain-Specific Architecture for Deep Neural Networks | September 2018 | Communications of the ACM
— Read on

IT Service Management

GitOps: A Path to More Self-service IT – ACM Queue

Some technological trends are consistent over time:

  • Dematerialization: hardware that accomplishes the same functionality becomes smaller and lighter.

  • Virtualization: hardware stacks are collapsed into software ones. Virtualization enables the configuration and implementation of such stacks in code.

  • Infrastructure as Code (IaC): The corollary of the previous item.

  • Automation: frequently performed tasks are automated to reduce the need for human intervention.

In this article, Thomas A. Limoncelli, frequent blogger and author of several books on system administration, proposes a system in which users can find the appropriate “Service Request” from a Git repository, modify the request for the new application, and propose a review icon as a pull request.

Upon review and approval, it can be submitted to the Continuous Integration (CI) pipeline for implementation.

This may work for some organizations, but it isn’t a good general solution for most organizations, for several reasons:

  • Not all hardware is virtualized in all organizations.

  • Not all virtualized hardware can be integrated with the CI pipeline.

  • Not all users have the technical sophistication to submit requests in this manner.

Nevertheless, the article proposes an interesting mechanism in which some IT organizations can advance the state of the art for some of their service requests, while using and advancing their existing DevOps investments.

GitOps: A Path to More Self-service IT – ACM Queue
— Read on

IT Service Management Trends

Do boring speakers really talk for longer?

This headline violates Betteridge’s Law of Headlines — Yes, boring speakers do drone on longer than interesting ones.

Although brief, the article contains some good pointers to keep in mind for my upcoming presentation on Managing IT in 2019.

“Dull talks at conferences can feel interminable.”
— Read on

IT Service Management

Let’s Stop Playing “Service Provider” and “Customer” – Tedder Consulting

Doug Tedder has accurately captured the general trend away from managing IT as distinct services published through a service catalog, captured from users as service requests, that deliver value to customers. These may still be useful as conceptual models, but relatively few organizations publish a service catalog in such a literal manner. What happens to “service management” frameworks like ITIL? I don’t have an answer, but in the short-term, perhaps not much.

Most users of ITIL never made the conceptual leap from processes to services. Therefore, ITIL remains the definitive framework for commonly used processes, such as Incident Management, Problem Management, and Change Management. I am not suggesting ITIL captures the state of the art even in these areas. ITIL’s shortcomings are well documented, and we hope they will be addressed in the upcoming refresh of ITIL.

IT and business thinking of itself respectively as a “service provider” and “customer” may have been a good idea at one time, but that time has passed. How does IT and the business need to act in the digital age? Doug Tedder discusses.
— Read on

IT Service Management

Malicious AI Report

Malicious AI Report
— Read on

This will prove to be some interesting weekend reading material. I have no comments at the moment as I have read it yet.

IT Service Management

Gil Kalai’s Argument Against Quantum Computers | Quanta Magazine

Because noise…


Demonstration of Data Analysis with Quantum Computing

It’s hard to miss the news on quantum computing. Breakthroughs in the last few years have demonstrated the opportunities and potential of quantum computing. The question is whether it will scale to more qbits while maintaining the stability of quantum entanglement. There are detractors, but it is too promising and far-reaching to ignore.

The work that Huang and co have done is to run this algorithm on a quantum computer in a proof-of-principle experiment. The team uses a six-photon quantum processor to analyze the topological features of Betti numbers in a network of three data points at two different scales. And the outcome is exactly as expected.

Of course, this example is not so hard for classical computers or even human brains to analyze. But the key point is that the Chinese have made it work on a quantum computer, a device that is set to dramatically outperform conventional computers in the coming years.

Article in Technology Review

IT Service Management

The Era of Quantum Computing Is Here. Outlook: Cloudy | Quanta Magazine

Midway through 2017, researchers at Google announced that they hoped to have demonstrated quantum supremacy by the end of the year. (When pressed for an update, a spokesperson recently said that “we hope to announce results as soon as we can, but we’re going through all the detailed work to ensure we have a solid result before we announce.”)

It would be tempting to conclude from all this that the basic problems are solved in principle and the path to a future of ubiquitous quantum computing is now just a matter of engineering. But that would be a mistake. The fundamental physics of quantum computing is far from solved and can’t be readily disentangled from its implementation.