I just came across this great list of command line tools for macOS by Saurabh, and to be honest, I had never heard of quite a few of them.
For example, who knew about
textutil that can convert text documents between types like
Or also a tool like
networkQuality that can measure your internet speed? It even gives you a great readable output like this:
Downlink: capacity 105.573 Mbps, responsiveness 64 RPM - Uplink: capacity 6.886 Downlink: capacity 103.467 Mbps, responsiveness 64 RPM - Uplink: capacity 6.880 Downlink: capacity 100.457 Mbps, responsiveness 64 RPM - Uplink: capacity 6.890 [...] ==== SUMMARY ==== Uplink capacity: 8.511 Mbps Downlink capacity: 20.053 Mbps Responsiveness: Low (67 RPM) Idle Latency: 36.917 milliseconds
If you use the command line at all on your Mac, I recommend at least giving this list a once over.
Although I’d say I’m primarily a Mac user, I do tend to go back and forth occasionally between macOS and Linux. And while Linux isn’t a singular OS, there are a lot of common features that I’ve used on various Linux installations that I really wish would be better supported on macOS.
I wrote about tiling window managers on macOS back in 2021, which is one of said features. And it’s one that I find makes working a lot more efficient and organised.
However, to really get the best out of a tiling window manager, I think you also need to have good a workspace manager. On macOS that comes in the form of Spaces. And while that may let you use multiple fixed workspaces, I find the implementation a bit lacking
You can configure Spaces to have a fixed number of “Desktops” always enabled, and to have them not continuously change order (which is a stupid default option in my opinion).
However, there are a few things that you can’t do with Spaces:
- Give each workspace a name.
- Associate a workspace to an application.
- Efficiently move windows between workspaces.
- Quickly move back and forward between workspaces.
The main problem I have with spaces is the speed of navigation. Because when I mean I want to move between workspaces, I want it to be instant. I don’t want animations between workspaces. I want to quickly switch, and carry on with what I’m doing.
Except with Spaces, you’ll get a short panning animation as you move to another space (with Reduce motion it becomes a fade instead). It’s not that long, but it’s enough to make me pause what I’m doing. It’s enough to just slightly irritate me.
Any keyboard shortcuts are also bound to the same animations.
It might not seem like a big complaint. But these types of small hinderances, are part of what makes me keep going back to Linux. The one thing universally I hate about using technology is when I feel like I’m being slowed down. Especially, when it’s just to show me a nice animation.
You can do a bit more if you use Amethyst (which is what I use for a tiling window manager). That lets you configure keyboard shortcuts to move windows around, but it doesn’t deal with moving your focus between workspaces.
Yet another great piece by Riccardo Mori. A fascinating read, and one that has somewhat echoed feelings I have in regard to what Apple are doing with their software.
Matt Birchler has written a great piece on the current state of the iPad, and how it might not be the best device for real work. Not because of the hardware, but because of iPadOS. And maybe what should exist, is an iPad-type device that runs macOS.
I haven’t used my iPad for anything serious in a while, and I think the main reason is something Matt also brings up:
I’ve spent the last year using an M1 Pro MacBook Pro, and it’s been glorious. Apple made all the right decisions with this machine, and it’s an absolute dream for me.
I totally agree. I too have a M1 Pro MacBook Pro, and it’s my favourite Apple device. I still enjoy using a Linux laptop, but that’s besides the point for now. If you’re comparing iPadOS and macOS, macOS has to be the operating system where I feel comfortable and capable to get work done.
The iPad for me has always been an enjoyable device to use when you’re doing light tasks, simple automations, and, of course, media consumption. But at the same time, there’s always been friction when you want to do something that isn’t quite supported. Or at least a task that iPadOS hasn’t been specifically designed to accomplish.
Rather than simply being a computer that can do computer things, it seems to me that the iPad does iPad things. That’s not necessarily a negative thing. But it sure would be great if there was a compromise. If you could run a “desktop-class” OS such as macOS on a flexible (and quite capable) device such as the iPad.
You may have heard about Vinegar, since it’s been doing the rounds recently. However, if you haven’t, It’s essentially a Safari extension that makes YouTube videos look better, and act like standard HTML videos. Which means they use Safari’s native video player, which means that you have slightly more control over the video, but at the same time you do lose some functionality that YouTube has in their player.
As you can see, the video player still lets you change the video quality, use subtitles, stream to an AirPlay device, etc. So the basic functionality is there. And it makes Picture-in-Picture a lot easier to access, as the YouTube player requires three clicks, and the native player has a button in the top-left corner.
And as much as I would say that YouTube looks better with the native player, and that it’s easier to use, there are still downsides. For example, autoplay doesn’t work, you can’t access the YouTube Miniplayer, you can’t toggle Theatre Mode, and you can’t pause/play the video using the space bar.
The downsides will have different levels of importance to different people, and I’m personally a bit in the middle. I’m definitely keeping it installed, and going to be using it by default, but there are certainly ways it can be improved.
What I can say, is that it’s definitely worth it’s £1.79 price. Which seems to be an opinion shared by others, as it’s currently sitting in second place in the Utilities category of the Mac App Store in the UK.
Since starting to use Linux, I’ve been hearing more about window managers, and especially tiling window managers. I started to play around with them on my Linux install (I’m now using Kubuntu), and after some getting used to the keyboard shortcuts, I found it to be really useful to quickly be able to rearrange windows, and also have everything visible at once.
That’s why a few days ago I tried to see what I could achieve on my Mac. I’d tried BetterSnapTool recently, but wanted something with a bit more control. After watching a to of demos on YouTube of people’s setups, it seems as if yabai was the most popular option. I was starting to get the feel of it, but it never felt stable. Sometimes as I was typing in Safari’s address bar, the windows would attempt to readjust as if I’d moved something. But it just resulted in a bunch of flickering. Add on that you need to disable SIP before installing yabai, it never felt like a great choice.
But, I looked a bit more, and I discovered another option, Amethyst. I checked out the website, and it looked reasonably simple to grasp the basics of, while also offering an absolute ton of options. This is what I wanted ideally, as I want to be able to use it straight away, but I didn’t want to be stuck with a really restricted experience.
By default, it has over 50 different actions that are configured with keyboard shortcuts. Right now, I’m using about five of them regularly, and I already feel faster on my Mac.
There are a few default layouts, and you even create them yourself, but I’ve been using the “Tall” layout the whole time, and I think it’s certainly enough for now. That basically means that there’s one window to the left, and all other windows are in a vertical stack to the right.
Here’s an example of how my Mac usually looks:
On the left, I have the “main” window, this is usually a web browser or text editor. Then on the right, there’s usually at least one terminal window, and maybe a few extras.
How I’ve been using the right side is that I’ll have a handy terminal window to perform quick commands, like managing a git repository, but also windows that I might want to occasionally check out. So if I’m writing code, I might have a terminal to the right for git, and a web browser while I’m looking at how to do a certain task.
There are times where I’d like a full-screen app, for example when I’m writing, I like to have just Ulysses open, or if I’m reading a long web page, I might want to also have that as big as possible. For this, I usually use a different desktop. Amethyst does have a bunch of shortcuts for managing desktops, but I’ve not got the hang of those yet.
As for the shortcuts that I do use, I can adjust the width of the focussed window, by using
SHIFT + OPT + L to make it bigger and
SHIFT + OPT + L to make it smaller. And if the window you have focused is in a vertical stack, then they are all resized at the same time.
To move focus between windows, you can cycle through them clockwise with
SHIFT + OPT + K, and clockwise with
SHIFT + OPT + J. Most of the time I do this via the trackpad, but the shortcuts can be useful.
But I’d say the most useful is
SHIFT + OPT + RETURN, which swaps the focussed window with the “main” window. Essentially making it the big window on the left of my display. It becomes key when there are three or more windows on the right, and I want to quickly make it bigger. Then when I’m done, I can just focus on the previous window and make that the main window again.
There are definitely some drawbacks to using a tiling window manager. The main one is that you can’t have two big windows, with one behind the other. This has forced me into multiple desktops, but also hide or quit applications when I’m finished with them.
The only thing I’m not sure about is how it will deal with multiple monitors. Maybe I’ll try that out soon.
For now, I’m enjoying how fast it feels to navigate between windows on my Mac, and hopefully, I’ll get the hang of some more shortcuts soon.
If you’re a developer and use macOS Monterey, then you may have come into issues when using ports
7000 on your local machine. And seeing as these are pretty common ports, I can imagine that this will affect quite a few people.
It turns out, what’s using these ports is the new AirPlay Receiver functionality added in Monterey.
You can find this in the Sharing pane of System Preferences. And if you don’t care about having it enabled, then you can just uncheck it, and the ports will be free.
However, if you do want to make use of AirPlay Receiver, then all you need to do is first disable it, run your local server, and then enable AirPlay Receiver again. It will then use a different port.
I wrote a tweet a few hours ago, explaining what I think Apple should do with Safari:
With the amount of tampering that Apple have done with the new Safari design in the betas, I think it would be wise for the whole redesign to be postponed for a later point release.That way they can spend more time getting feedback instead of rushing small tweaks.Tweet
However, since Twitter isn’t exactly the best place for anything except quick opinions and hot takes, I thought I’d go into a bit more detail here on my blog.
My thinking is that because the changes to Safari on all platforms have received such widespread criticism (with varying degrees) and that Apple has been constantly tweaking (mildly) Safari during the beta process, then it should be clear that it is not going to be widely appreciated when released to the public.
Sure, enthusiasts will always care that bit more than the average user, but the complaints that I have and that I have seen, aren’t about insignificant details, but about the fundamental usability. And you’d expect with the number of users that will eventually be using the next version of iPadOS, and iOS, and macOS, then that has the potential to cause a lot of negativity and frustration simply because Apple wanted to redesign the built-in browser.
I’m somewhat of the opinion that Apple should take a tad more risk in their designs and try some new things now and then. But then again, making the built-in web browser less usable for potentially hundreds of millions of users isn’t a good move. No matter how much “courage” you have.
I think it’s only fair to include here that at the start of the beta, I was open to a new Safari design. I think the tab groups are a good idea, the tab bar looked a bit fresher on iPadOS and macOS, and the address bar was moved to the bottom of the screen on the iPhone, making it easier to reach.
But as I used it more on all platforms, I started to spot the weaknesses. The (initial) tab design on macOS and iPadOS didn’t work well with more than 5/6 tabs (although this has been slightly improved), the address bar on the iPhone regularly got in the way of content, and there’s been the apparent massacre of buttons within Safari on all platforms. In the latest round of betas, a few buttons have returned, but overall I believe that this version of Safari is not fit for purpose.
So in my opinion, I believe the wisest thing for Apple to do would be to either revert the major design changes or at least have it as an opt-in setting for people to choose. That way, they can receive more constructive feedback, spend some real time rethinking the design, and delivering a better version of Safari in a point release.
My ideal solution would be for Safari to keep some of the new features, like the tab groups, Quick Notes, the tab overview, and possibly even the new address bar on macOS. But the new floating address bar in iOS, the tab bar in iPadOS and macOS, and the sparseness of buttons should be at most an alternative and not the default option for all users.
I’m not saying that Safari should never be changed, but it shouldn’t be changed for the sake of it. This design has been proved to already be a bad move, and I don’t believe that mailing small tweaks here and there are going to fix the major flaws.
Notification Centre on macOS is a feature that’s confused me for a while and one that I think wastes a lot of it’s potential primarily because I don’t think its anywhere as convenient as its counterpart on iOS.
I would guess that it’s down to the interaction needed to use it. On an iOS device, you can see your notifications on the Lock Screen and can swipe up to reveal the full Notification Centre. But on macOS, it’s hidden behind the date and time in the menu bar. So it’s certainly not as visible or accessible.
This hidden nature leads me to hardly ever use it. So when I do open it up, it’s full of old notifications that I need to clear out.
There’s also the fact that notifications in Big Sur are plain dumb. If you’ve used Big Sur, then I’m sure you understand. I don’t think I need to go any deeper.
But in general, I think that notifications on macOS could be a super helpful feature. It just needs to be brought out of the shadows. It needs to be accessible, and actions should be able to be accomplished with a single click or swipe.
Apple has now added a fifth default Search engine option to iOS, iPadOS, and macOS. And that new addition is Ecosia.
Ecosia is a search engine that has been produced to plant trees. Not literally, but the profit from the search ads are used to plant trees, and therefore to help the environment.
I heard about Ecosia quite a few years ago, but it didn't seem to work that well for me. I've tried it again recently, and it seems to have improved a lot. So I'm going to be setting it as default on all of my devices to really try it out. For the simple reason that if I can get reasonable search results, then there really isn't a negative, only a positive effect of trees being planted.
To be honest, although Apple added DuckDuckGo to the list of default search engines, I didn't really expect them to add any more. DuckDuckGo just seemed like a privacy-focussed alternative to Google.
I wonder how many people will switch to Ecosia, and if Apple will add even more options in the future? Maybe they will make their own?
Apple has updated a documentation page detailing the company’s next steps to prevent last week’s Gatekeeper bug from happening again, as Rene Ritchie spotted. The company plans to implement the fixes over the next year.Apple had a difficult launch day last week. The company released macOS Big Sur, a major update for macOS. Apple then suffered from server-side issues.Third-party apps failed to launch as your Mac couldn’t check the developer certificate of the app. That feature, called Gatekeeper, makes sure that you didn’t download a malware app that disguises itself as a legit app. If the certificate doesn’t match, macOS prevents the app launch.
A pretty embarrassing bug for such a big day.
There’s yet another update to Text Case, and it brings with it three new formats, theme syncing, and an action extension for the macOS version!
Smart Quotes – This changes any straight single of double quotation marks, into their curly equivalents, all based on your localisation.
Small Caps – ᴛᴜʀɴ ʏᴏᴜʀ ᴛᴇxᴛ ɪɴᴛᴏ sᴏᴍᴇᴛʜɪɴɢ ʟɪᴋᴇ ᴛʜɪs!
Upside Down – Just another fun one, this attempts to flip the characters upside down.
These new formats are available on all versions of Text Case, iOS, iPadOS, and macOS.
Automatic Theme Syncing
Text Case has support for themes, but previously you would have to manually switch between them. With this version, you can select “Automatic” to have the Text Case theme sync with the light/dark mode of your system. This works on both iOS, iPadOS, and macOS!
Format Text Action Extension for macOS
On the iOS/iPadOS version of Text Case, there’s an Action Extension that lets you select text anywhere, and then get direct access to the different formats in Text Case. This is now coming to the macOS version, with essentially the same behaviour.
Now you can select a portion of text anywhere in macOS, right-click, and under “Share”, there should be a “Convert Text” action. (If it doesn’t appear, you will have to go to System Preferences, Extensions, Actions, etc enable it.)
That will bring up the Text Case UI, and selecting a format will result in the formatted text being copied to your clipboard!
I’ve been slowly working on this for quite a few months now, but I think it’s finally time to release Text Case for Mac.
With it comes all 32 formats that are currently supported in the iOS app, and the same customisation options (except custom app icons).
To recap all of those:
- Title Case (AP, APA, CMOS, MLA)
- URL Encoded/Decoded
- Capitalise Words
- Sentence Case
- Strip HTML
- Strip/Trim Whitespace
- Markdown Blockquote
- Markdown Code Block
- Markdown Ordered/Unordered List
- Markdown to HTML
- Camel Case
- Snake Case
- Pascal Case
- Kebab Case
- Mocking Spongebob
- Base64 Encoded/Decoded
- Clap Case
In fact the macOS version is 2.4.4, and the iOS version is sitting at just 2.4.3. The only differences being some improvements to the Emoji format, where some localisations could cause the format to not work at all (it now defaults to English if it doesn’t support the language). And also some macOS specific changes, which are mainly to remove parts of the app that won’t work such as Siri Shortcuts support, and also fine tuning the macOS experience.
There are things that I’m already planning on adding the Mac version, such as an Extension so you can format text from outside the app, similar to how the Action Extension works in IOS, and also other automation support such as URL schemes. However, I feel that it’s much more beneficial for people to have Text Case for Mac now, rather than waiting even longer to get it into peoples hands. Because just like the iOS app, I really like to adapt the app to users feedback, and I already have a few extra formats (such as small caps) that I plan on adding soon. I also want to see what I can do with the Touch Bar!
Have a look at the Mac version:
Quick Look, the infinitely valuable tool on the Mac that lets you near-enough instantly preview a file. It’s really impressive the number of file formats it supports, but there are always going to be a few things it doesn’t. And that’s where plugins come into it.
One great one that I discovered via twitter today is QuickLookJSON. I’m sure you’ve already guessed what it does. But anyway, I may as well show you as well.
It not only displays JSON files though, it indents them properly, applies a colour scheme, and also lets you expand and collapse any of the data. That last one alone makes it super easy to navigate through a big JSON file.
brew cask install quicklook-json
There’s a bunch of other plugins that add further support to Quick Look, like adding syntax highlighting to code, rendering Markdown, and even allowing navigation through a .zip archive in the preview. You can find all of these on one page on GitHub, thanks to Sindre Sorhus.
I’m really glad to be announcing a project that started at the end of last year. I have worked my way through every major release of macOS since the Mac OS X Public Beta and catalogued them in an extensive collection of screenshots.
Currently, the library includes 1,502 images. That’s 1.6 GB worth of screenshots.
This is something really only he could do. I’ve had a look through some of them, and it’s fun to see how the OS has evolved, and to see the iterations between big changes.
I’ve just come across a rather helpful tip on Reddit, and it’s a simple key combination to toggle hidden files and folders in Finder.
CMD + SHIFT + .
It also works in the Open/Save dialog windows.
I’ve just upgraded my Mac to the latest Mojave beta, and I’ve discovered a new wallpaper!
In a previous update the Desktop Pictures folder was split into two sections – Dynamic Desktop and Desktop Pictures. The first section containing the photo of the Mojave desert, which contained a dynamic, and two still (night and day) versions.
This new one is called “Solar gradients” and comes in just a dynamic format. Of course it’s a rather simple wallpaper, and the majority of the time it’s a two-colour gradient, but it will show you the sun rising, the sky getting brighter, followed by the sun fading away, and a darker blue and black combination for the night sky.
A quick tip – If you want to preview a dynamic desktop, when you navigate to the Desktop & Screen Saver pane in System Preferences, just select the wallpaper, and the preview image will cycle through the different segments.
After watching the Keynote, I was thoroughly impressed. While there still isn’t a dark mode for iOS, I can imagine it coming soon. And there are a lot of cool things that were announced.
While watching the event, I took a note of the top 4 for each OS, excluding tvOS, because who cares?
So here they are:
- Siri Shortcuts
- Screen Time
- Automatic Workout Detection
- Walkie Talkie
- Interactive Notifications
- Dark Mode
- Dynamic Desktop
- Mac App Store
I plan on doing some writing about the new features, but in more of an opinionated way, rather than a simple informative guide. You’ll find these with the WWDC 18 tag.
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.
Say you write an iOS app, and now you want to write the Mac version.
Assuming there’s a data model, maybe a database, some networking code, that kind of thing, then you can use that exact same code in your Mac app, quite likely without any changes whatsoever.
I agree with Brent here. I’ve never really understood the argument that AppKit is that difficult to understand, so that’s why people don’t port native apps over. Surely the underlying logic of the app is the hard part, and linking the functionality to the interface is the easier part?
I would say I’m more of an iOS developer, simply because I’ve spent more time on it. But I’ve also made a few Mac applications. Sure, a resizing window is a bit more complex than a relatively fixed screen size, and some the interface elements are names slightly differently.
It’s just different, for both sets of people. But not as difficult as it may seem.