Enabling Apple Intelligence on macOS 15.1 (Sequoia) Developer Beta

I have spent the last week or so being very confused on how to enable the macOS 15.1 Beta onto my M2 MacBook Air. I finally stumbled across the method and it made sense once I found it but it was not very intuitive. There are now two separate macOS 15 beta channels and you will need to open System Settings and navigate to General > Software update > Beta Updates. You will need to choose macOS Sequoia 15.1 Developer beta by clicking on the i symbol to the right.

Dialog box for Beta Updates on macOS, showing a dropdown menu with options: “Off,” “macOS Sequoia 15.1 Developer Beta” (selected), “macOS Sequoia Public Beta,” and “macOS Sequoia Developer Beta.” Below, an Apple Account is listed with the email “gatewayy@gatewayy.net.” There is a “Done” button.

Once you have selected the new beta channel you Mac should download the update and install it. Once you have installed the update and logged back in you will not immediately have the limited set of Apple Intelligence features. Apple has made them opt-in in order to not bog down their new Private Cloud Compute infrastructure that they are building out. To join the waitlist you will need to open System Settings once again and navigate to the Siri section there is a new Apple Intelligence & Siri section. You will need to select the Join Apple Intelligence Waitlist… button to proceed.

Siri settings page featuring “Apple Intelligence & Siri” with a beta label, described as a personal intelligence system integrated into Mac, apps, and Siri. A “Join Apple Intelligence Waitlist…” button is present, with a note below about reserving a spot to experience personalized intelligence.

Get past the marketing dialog.

Apple Intelligence setup screen with a beta label. Features listed include “New Ways to Express Yourself,” “The Start of a New Era for Siri,” and “Built for Privacy.” There are “Not Now” and “Continue” buttons at the bottom. A link for “About Apple Intelligence & Privacy…” is also present.

You are now on the waitlist and you should see a preparing dialog.

Siri settings page showing “Apple Intelligence & Siri” with a beta label. Description states it is a personal intelligence system integrated into Mac, apps, and Siri. “Apple Intelligence” status is “Preparing.” A note below indicates users will be notified when it becomes available for their Mac.

It took around fifteen minutes for this to happen and you should see the dialog change to enable Apple Intelligence and you should see a notification informing you that the feature is ready to be enabled. I am assuming that somewhere behind the scenes something regarding Apple’s Private Cloud Compute is being created for your device.

Now, you will see a few short dialogs giving you a brief overview of the current Apple Intelligence features.

You are now up and running with Apple Intelligence. It is very much early days and only a very small set of features are available with more to come in the next few months.

Auto update your brew casks and formulas

If you use the popular Homebrew package manager on MacOS you are very familar with running something similar to this command on a regular basis.

brew update && brew upgrade && brew cleanup

this type of command informs Homebrew to update it’s list of package versions, locate any that need to be updated, and clean up any left over files generated by there processes. If you remember to run this all the time then it is a pretty quick command, but if like me, you forget to do this for weeks or months at a time it can start to take quite some time to finish it’s maintenance.

Yesterday, I was looking into ways to automate this process through adding the command to Cron or to have Cron run a shell script or apple script file with the commands in it. After some quick searching on my search engine of choice, Kagi, I found a great Github project called Homebrew Autoupdate.

The project describes itself thusly.

An easy, convenient way to automatically update Homebrew.

This script will run brew update in the background once every 24 hours (by default) until explicitly told to stop, utilising launchd.

brew upgrade and brew cleanup can also be handled automatically, but are optional flags.

Notifications are enabled by default using a new, code-signed, universal AppleScript applet.

https://github.com/DomT4/homebrew-autoupdate

If you decide to install this project every morning you can look forward to notifications like this.

Screenshot 2024 07 14 At 8.44.13 am

Do you already use this project? If you tried it, what did you think? Hit me up on Mastodon or my Contact page so we can discuss it or you can ask me any questions you might have.

Determine MacOS version from Terminal (CLI)

As you may or may not know the way most people determine what version of MAcOS they are running is by clicking on the Apple Menu in the upper left hand corner of the screen and selecting About this Mac. You will see a popup dialog that looks something like this.

Apple Photos Document
I am using MacOS’ Dark Mode so you might not see this exact window.

If you would like a geekier and possibly faster way to determine this you can launch Terminal by either using Spotlight Search (Click the magnifying class (🔍) in your Mac’s Menu Bar or use the hand keyboard shortcut of ⌘(Command)+Space. Once the appliation finsihes launching you will see a window that looks something like this:

Screenshot 2024 06 12 At 12.41.33 pm
I have gone a little nuts with customizing my terminal experience so your will most likely look totally different. 🙂

There are two commands you can now run that will display your MacOS version:

#Simple Output:
gatewayy@Swordfish-II ~ sw_vers -productVersion
15.0

#More detailed Output:
gatewayy@Swordfish-II ~ system_profiler SPSoftwareDataType
Software:

    System Software Overview:

      System Version: macOS 15.0 (24A5264n)
      Kernel Version: Darwin 24.0.0
      Boot Volume: Macintosh HD
      Boot Mode: Normal
      Computer Name: Swordfish II
      User Name: Brett Elliff (gatewayy)
      Secure Virtual Memory: Enabled
      System Integrity Protection: Enabled
      Time since boot: 1 day, 17 hours, 29 minutes

I keep having to search for this, so I thought I might as well put this down so others can benefit from the knowledge. If you have any questions, thoughts, etc. you can reach me via my Contact page or feel free to DM me on Mastodon.

Via: SuperUser

A nice Windows Task Manager tip I stumbled across this weekend

A screenshot of the Windows 10/11 Task manager application.

I stumbled across this interesting article this week from The Verge from my beloved NetNewsWire feeds. The article is titled Today I learned you can easily pause the Windows Task Manager to stop apps moving around. The gist of the article is the below quote for those in a hurry. 😝

I can’t believe I’ve been struggling with apps in the Task Manager randomly moving around without realizing there’s a simple keyboard shortcut to pause the Task Manager and stop its contents in their tracks. Yup, all you have to do is hold down the CTRL key and it will pause the Task Manager on both Windows 10 and Windows 11, and perhaps even older versions of Windows, too.

Tom Warren via The Verge

This tip only applies to Windows 10 and 11 and I wish I had known this years ago! At any rate as you can see in the original article at your leisure and I hope it helps out others out there in this wide world.

How to correct a WSL VM so that it can use a VPN

This is a really weird edge case that I came across at work. After an update to Windows subsystem for Linux (WSL) I was no longer able to use my Cisco AnyConnect VPN connection to connect to any of the infrastructure I manage.

WSL (112) ERROR: CreateProcessParseCommon:782: Failed to translate

Currently, the only method that I have to use a WSL Virtual Machine (VM) is to use this great third party script so that my VM knows how to actually use a network. I do with Microsoft had an easier way to do this, WSL has no network connectivity once connected to a VPN. 🤦🏻‍♂️

At any rate, all of these weird tech issues aside with how I choose to SSH into the systems I manage at work, this is how you correct the error WSL (112) ERROR: CreateProcessParseCommon:782: Failed to translate when attempting to use a WSL VM on a VPN Connection. You will need to edit the .profile folder in your home directory (/home/your_userneame_here) and add the following line to the end of the file.

wsl.exe -d wsl-vpnkit --cd /app service wsl-vpnkit start

To apply the fix, power cycle your WSL VM with your method of choice. I hope this helps and same you time having to search all over the Internet or watch a Youtube “tutorial” what wastes your time. If you have any questions, etc. hit me up via one of the methods on my contact page. Thanks for stopping by! 🙂

Recreating discontinued menu items from Cracker Barrel

My family dines at this restaurant semi regularly and sometime during the COVID “end times” the chain discontinued two of our favorite breakfast items, the Uncle Herschel’s Favorite and the Sunrise Sampler. The staff of course does not know why menu items are changed as this is a decision made at the corporate level so there is no point in complaining to them about the missing items. I did find a thread on the Cracker Barrel Subreddit (yes that is a thing) where I was able to recreate my personal favorite, the Uncle Herschel’s Favorite and my Brother found a random review on Trip Advisor that provided his favorite, the Sunrise Sampler. In the off chance that someone else is wanting to dine on these two lost menu items I thought that providing the workaround we discovered might be helpful to others out there.

The Uncle Herschel’s Favorate (modified)

  • Two Eggs (scrambled with cheese)
  • Grits
  • Farm-Raised Catfish
  • Fried eggs
  • Biscuits & Gravy

In order to recreate this item on today’s menu you will need to choose the Build Your Own Homestyle Breakfast option from the menu. Fortunately, this comes with Biscuits & Gravy and two eggs already! For myself I would ask to have them scrambled with cheese but you choose your eggs however you wish. Now we will need to make the following selections:

  • Choose catfish as the meat (grilled).
  • Choose fried apples as the side.
  • Add gets as an additional side.

If you are not a catfish fan you can choose whatever other meat option that you wish.

The Sunrise Sampler

  • Two eggs (scrambled with cheese)
  • Grits
  • Fried Apples
  • Hashbrown Casserole
  • Meat sampler (Bacon, Sausage, and Country Ham)
  • Biscuits & Gravy

Much like the prior item you will need to choose the Build Your Own Homestyle Breakfast option from the menu. Fortunately, this will come with Biscuits & Gravy and two eggs already! My Brother would also ask to have them scrambled with cheese but you choose your eggs however you wish. Now we will need to make the following selections:

  • Choose meat sampler as the meat.
  • Choose fried apples as the side.
  • Add hash brown casserole as an additional side.
  • Add grits as an additional side.

This is as close to the original items as we have been able to determine. Unfortunately, these now cost more than the original items but it replicates everything else that you want from Breakfast! Feel free to contact me on Mastodon if you know of a cheaper way to do this or lament other list menu items from this Midwestern stable!

Happy Holidays Everyone!

A Christmas orniment hanging on a Christmas Tree with Happy Holidays written in front of it.

I just wanted to wish everyone out there in this increasing crazy world out there. I have not felt much like celebrating the holidays since I lost my Wife three years ago but this years has me feeling much more into the spirit of things. With that being said I hope that you and yours have the happiest of holidays! 😀

How to clone permission of a directory of file onto another file or directory in Linux

In my day job I recently came across a much easier was to deal with file and/or directory permissions on Linux based systems. Typically, to determine the permissions of a file or directory you would use the ls command with various potions appended to the end of the command and to change the same file or directory’s permissions you would use the chmod command. As I recently discovered the chmod is also able to clone or copy permissions as well as manually set them.

To lustrate what I ma talking about let’s create a hypothetically example where we have two files with the following permissions.

$ ls -l file*
-rwxr-xr--. 1 lrendek lrendek 0 Apr  7 14:39 file1
-rw-rw-r--. 1 lrendek lrendek 0 Apr  7 14:40 file2

If we wanted to copy the permissions from file 1 onto file2 we would run the following option appended to the chmod command.

$ chmod --reference=file1 file2

As we can see the permissions for file2 have been cloned from file1.

$ ls -l file*
-rwxr-xr--. 1 lrendek lrendek 0 Apr  7 14:39 file1
-rwxr-xr--. 1 lrendek lrendek 0 Apr  7 14:40 file2

If we extend this example further we can also clone the permissions of a directory as well!

$ ls -ld dir*
d--x--x--x. 2 lrendek lrendek 40 Apr  7 14:52 dir1
drwxrwxr-x. 2 lrendek lrendek 40 Apr  7 14:52 dir2
$ chmod --reference=dir1 dir2
$ ls -ld dir*
d--x--x--x. 2 lrendek lrendek 40 Apr  7 14:52 dir1
d--x--x--x. 2 lrendek lrendek 40 Apr  7 14:52 dir2

I had a little bit of an issue finding this but stubbled across this site that provided me with the syntax and examples. Although, I am making this entry mainly for myself but I also hoping that this post will make another Sys. Admin. Job easier. Uf you have any questions, comments, etc. please feel free to contact me on my Contact page or on Twitter.

Run Neofetch on every terminal window on macOS


2024 Update: The sole maintainer of Neofetch, dylanaraps, is no longer programming so all development and updates have stopped for Neofetch. Ars Technica has published an article with additional information about this. The article also provides some really nice looking alternatives. I will most likley be switching over to Fastfetch. I will most likley make a new post here if I do decide to switch over.


Neofetch is really neat open source tool for displaying your system information on your command line oof choice. There are a lot of instructions on the Internet explaining how to do this on most Linux based system. There is a lot less information for Unix like systems such as macOS. Currently, I am running macOS Monterey and as this version of the operating system now uses ZSH over the traditional Bash shell for the Terminal app . Eventually, I figured out that this difference in default shells is why I could not get this to work. If you want to do this for yourself you will need to first install the application.

Now, unlike installing most applications on macOS there is no graphical installer so instead we have to use the fantastic macOS package manager Homebrew. in order to do this open up Terminal and run this command:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Once this is complete and you run this command:

brew install neofetch

Once neoffetch has been installed running it is super easy, just do:

neofetch

Great, now that we have neofetch installed, if you want to run this. every time a Terminal window opens we need to create a .zshrc file in your home directory which will run the neofetch command every time you open a new Terminal window.

 sudo nano .zshrc

then you just add the command into this new blank file

Don’t forget to do ctrl+x to save the file. 🙂

If all went well you should see something similar to this once you quit and open Terminal.

If you have any issues or questions feel free to DM me on Twitter or use the contact form on this site.

Useful Linux CLI commands

Some of these are pretty basic and some are a bit more advanced and/or obscure in my opinion. I hope they are also useful to others out there. Please not that files names and file paths are just made up examples and might not fit what you are attempting to accomplish.

  • cd – change directory
  • Carl + c – cancels the currently running foreground operation
  • pod – s/how your current fill file path
  • cp /path/to/file.txt /path/to/your/new/file.txt – copy a file from one location to another location
  • move (rename) a file from one location to another location – mv file1.txt file1.back.txt
  • show the tail end of a file with any new additions that are written to the file – tail -f /var/log/messages.log
  • determine if a node is online – ping duck.com
  • determine the network route to a given node – trace route duck.com
  • perform a DNS lookup on a given address – nslookup duck.com
  •  show xx number of lines at the tail end of a file – Show the tail end of a file with any additions – tail -f /var/log/messages
  • run a shell script – bash shellscript.sh OR sh shellscript.sh
  • check drive mappings for the currently mounted file system – do -h
  • change to another system user – su username
  • easy way to change to the root user if you have sudo level access – sudo -i