What's the Tipping Point for Being a "Power User"?

I haven’t used the shell since the days of MS-DOS, and barring the occasional dip into Terminal, haven’t really seen the need since jumping over to macOS, to get to grips with it.

My limited understanding is that one of the most readily accessible gains to be had by a ‘power-user’, would be the file manipulation options – that are potentially far quicker and comprehensive than using Finder etc.

So renaming, moving, copying, comparing files etc.

What else is there though? Sincere question – what would make it worthwhile to want to dive back into the ‘shell’, as opposed to using workflows/macros on the GUI-side of things?

It’s main advantage is scripting support for whatever, I rolled my own automation system ages ago and for instance I have a bash script to open a pile of applications.

It’s also a highly workload dependent, as a developer, I dip into terminal several times a day, to handle installing dependencies, starting servers, etc.
Homebrew is the best thing to ever happen to the terminal in my opinion.

I can see the point that use of the terminal is a way of drawing an arbitrary line to say what is and is not a power user, but I think it is limiting to say you have to use the terminal to be a power user.

For instance you could spend all day editing videos and have advanced workflows and be what many people would consider a power user, and never touch the terminal, which is why I stand behind my previous post as to the definition of a power user being liked to a mindset rather then a specific product.

My angle on this is decidedly not Mac-centric (being a SQL Server DBA and recovering developer) but database, system and network administration, which had become heavily GUI-dependent from about 1998-2012, has seen a massive shift back to the terminal as networks have grown to huge proportions, entire companies have operated within cloud environments like AWS and Azure.

Heck, Microsoft shipped Exchange 2007 with many tasks only available from a console, no GUI existed for them at all. And what GUI there was, was only a wrapper around console commands.

As a shell addict for about 20 years (who went through withdrawls between college and the resurgence of the shell on Windows in the late '00s/early '10s), it’s much easier for me to logically think through a script in a shell (text) form. I’ve dipped my toe into Automator but the GUI abstraction just confuses me because I can’t really grasp what’s happening.

Other reasons for liking the terminal:

  • You can’t put mouse clicks in source control
  • You can edit a shell script in any text editor
  • If you can do it on a console/terminal you can script it almost as easily because, at a minimum, your script can just replay those same commands
  • Your script becomes documentation of your systems/environment. Where do these files get copied? It’s right there, in plain text.
  • GUIs add memory and processing overhead if you’re connecting to a system remotely. With the right infrastructure, you don’t even have to log into the server directly when scripting
  • Terminals and the tooling available from them are becoming cross-platform now. I’m approaching a point where I can use a shell on macOS to manage my SQL Server instances which run on Windows. With the right shell/terminal/console (whatever you want to call it), the OS on my desktop matters less and less, which means I can edge closer to using macOS inside a Windows shop.

Shell:

  • every computer has exactly the same “interface”. I just need to sync the .zshrc file.
  • before I buy a program, I check if there’s a port out there. Many programs (paid!) duplicate features already existing in shell tools. Sync a folder? rsync. Start jobs at a given time/interval? cron/crontab. Scripted image manipulation? ImageMagick. Text conversion? pandoc. Custom renaming? No tool out there that comes even close to shell scripting. And so on.
  • You can “create” commands by storing scripts in /usr/bin.
  • shell scripting is the threshold to coding/programming. -> Power user.
  • Remote access: ssh. What`s faster?
  • etc.
1 Like

I don’t open up the terminal often, but I feel things get pretty fast between Alfred (or probably Launchbar) and Hazel for just file manipulation. Of course those are both paid utilities.

To me, being a power user is really simple. It means being able to fix your own stuff after it hits the fan. A competent user can get stuff done as long as everything’s in order. It’s how someone handles a situation where everything’s not in working order.

1 Like

Buying an MPU t-shirt has to automatically qualify one as a power user! Yeah!!?

1 Like

Being able to fix your own stuff, but knowing when to call a real professional.
Having a healthy respect for (but not fearful of) Terminal, because sometimes you need to rebuild a Fusion Drive.
Using your own custom keyboard shortcuts.
Having multiple backups of your main computer.
Doing the best you can with the tools you have.

image

2 Likes

Relevant:

1 Like