The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 1,862 other subscribers

Archive for the ‘Mac OS X / OS X / MacOS’ Category

Boomer screenshots: wondering why Windows still has no keyboard shortcut for saving a screenshot or screen snippet to disk

Posted by jpluimers on 2022/03/14

With the disappearing PrtScn buttons on modern keyboards, boomer screenshots are about the only way to easily persist a screenshot, as these are the only available Windows screenshot shortcuts:

  • PrtScn: copies full screenshot to the clipboard; multiple invocations overwrite the clipboard
  • Windows + PrtScn: saves full screenshot to a file; multiple invocations saves to new files
  • Windows + Shift + S: copies full screen or part of the screen to the clipboard, and allows manual action to start snippet tool to save the clipboard contents; often looses the image when on remote desktop connections or when copying something else to the clipboard; multiple invocations overwrite the clipboard

Now look at macOS what a choices, and how less messy than on Windows:

macOS has various shortcuts to save (partial) screenshots to clipboard or file

macOS has various shortcuts to save (partial) screenshots to clipboard or file

For macOS 10.14 Mojave and newer, you can even set the folder (default: Desktop) to save the screenshots to:

I want this ease in Windows as well, and maybe I can in part without installing external tools and modifying existing shortcuts to make things easier:

Written after bumping into [Archive.is] Jeff Atwood on Twitter: “Someone just called a smartphone pic of their monitor a “boomer screenshot” and I literally LOLed 🤣… “

–jeroen

Posted in Apple, LifeHacker, Mac OS X / OS X / MacOS, Power User, PowerToys, Windows, Windows 10 | Leave a Comment »

How to get old versions of macOS – Apple Support

Posted by jpluimers on 2022/03/11

Note just because of a Mac being incompatible, but also because of 32-bit apps being incompatible ruling out Cataline (10.15) or newer.

[Wayback] How to get old versions of macOS – Apple Support

If your Mac isn’t compadmgtible with the latest macOS, you might still be able to upgrade to an earlier macOS, such as macOS Catalina, Mojave, High Sierra, Sierra, or El Capitan.

Download macOS

It takes time to download and install macOS, so make sure that you’re plugged into AC power and have a reliable internet connection.

Safari uses these links to find the old installers in the App Store. After downloading from the App Store, the installer opens automatically.

Safari downloads the following older installers as a disk image named InstallOS.dmg or InstallMacOSX.dmg. Open the disk image, then open the .pkg installer inside the disk image. It installs an app named Install [Version Name]. Open that app from your Applications folder to begin installing the operating system.

links for 10.13 and newer on the Apple site are App-Store only, so you need to download, then save the installer in a safe place.

Alternative download methods and notes on certificate expirations:

–jeroen

Posted in Apple, Mac OS X / OS X / MacOS, macOS 10.12 Sierra, macOS 10.13 High Sierra, OS X 10.10 Yosemite, OS X 10.11 El Capitan, Power User | Leave a Comment »

Bash functions to encode and decode the ‘Basic’ HTTP Authentication Scheme

Posted by jpluimers on 2022/02/24

IoT devices still often use the ‘Basic’ HTTP Authentication Scheme for authorisation, see [Wayback] RFC7617: The ‘Basic’ HTTP Authentication Scheme (RFC ) and [Wayback] RFC2617: HTTP Authentication: Basic and Digest Access Authentication (RFC ).

Often this authentication is used even over http instead of over https, for instance the Egardia/Woonveilig alarm devices I wrote about yesterday at  Egardia/Woonveilig: some notes about logging on a local gateway to see more detailed information on the security system. This is contrary to guidance in:

  • RFC7617:
       This scheme is not considered to be a secure method of user
       authentication unless used in conjunction with some external secure
       system such as TLS (Transport Layer Security, [RFC5246]), as the
       user-id and password are passed over the network as cleartext.
  • RFC2617:
       "HTTP/1.0", includes the specification for a Basic Access
       Authentication scheme. This scheme is not considered to be a secure
       method of user authentication (unless used in conjunction with some
       external secure system such as SSL [5]), as the user name and
       password are passed over the network as cleartext.

Fiddling with those alarm devices, I wrote these two little bash functions (with a few notes) that work both on MacOS and in Linux:

# `base64 --decode` is platform neutral (as MacOS uses `-D` and Linux uses `-d`)
# `$1` is the encoded username:password
function decode_http_Basic_Authorization(){
  echo $1 | base64 --decode
  echo
}

# `base64` without parameters encodes
# `echo -n` does not output a new-line
# `$1` is the username; `$2` is the password
function encode_http_Basic_Authorization(){
  echo $1:$2 | base64
}

The first decodes the <credentials> from a Authorization: Basic <credentials> header into a username:password clean text followed by a newline.

The second one encodes a pair of username and password parameters into such a <credentials> string.

They are based on these initial posts that were not cross platform or explanatory:

  1. [Wayback] Decode HTTP Basic Access Authentication – Stack Pointer
  2. [Wayback] Create Authorization Basic Header | MJ’s Web Log

–jeroen

Posted in *nix, *nix-tools, Apple, Authentication, bash, bash, Communications Development, Development, HTTP, Internet protocol suite, Linux, Mac OS X / OS X / MacOS, Power User, Scripting, Security, Software Development, TCP, Web Development | Leave a Comment »

MacOS Finder group by is called “Arrange by” and is under the “Gear” icon

Posted by jpluimers on 2022/02/18

I forgot how I had my MacOS Finder lists grouped by age and wanted to turn this off for one Finder window (normally grouping by age is very useful).

It turns out ‘group by’ is actually called ‘arrange by’ and is under the ‘gear’ icon.

Disabling is very easy [Wayback] Can I turn off grouping by date in Finder… – Apple Community

Oh, it might just be the arrange by. Click the gear up at the top and chagne arrange by to NONE. See if that helps.

But there is a catch: besides the current window, it also affects any new windows you open (existing other open windows are not affected by the change unless you restart Finder).

–jeroen

 

 

Posted in Apple, Mac OS X / OS X / MacOS, Power User | Leave a Comment »

Creating a bootable USB installer for ESXi on other operating systems than Windows

Posted by jpluimers on 2022/02/17

I wrote about Creating a bootable USB installer for ESXi and use it to create a bootable ESXi installation.

Just in case I ever need to do this on a non-Windows system, some links:

–jeroen

Posted in *nix, Apple, ESXi6, ESXi6.5, ESXi6.7, ESXi7, Linux, Mac OS X / OS X / MacOS, Power User, Virtualization, VMware, VMware ESXi, Windows | Leave a Comment »

Character set reencoding link archive

Posted by jpluimers on 2022/02/10

I will likely need some of these links in the future:

–jeroen

Posted in Apple, Development, Encoding, Mac, Mac OS X / OS X / MacOS, Power User, Software Development, Unicode | Leave a Comment »

dd on MacOS / OS X with progress report

Posted by jpluimers on 2022/01/21

Since dd on Apple does not support progress parameters via [Wayback] macos dd progress – Google Search:

  • [Wayback] Quick: dd with progress indication on macOS

    A nice way I found to get progress indication whilst still being able to benefit from the huge speed increase in using /dev/rdiskX is to install a tool called pv, also known as [WayBack] Pipe Viewer.

    Example:

    sudo dd if=/dev/rdiskX bs=1m | pv -s 64G | sudo dd of=/dev/rdiskY bs=1m

    Another way to achieve something similar would be to use brew to install coreutils, which will come with a newer version of dd that supports the status option.

    Example:

    gdd if=/dev/diskX of=/dev/diskY bs=1m status=progress

  • [Wayback] el capitan – How can I track progress of dd – Ask Different

    You just need to enter a controlT character from the keyboard while the dd command is executing.

    By pressing the controlT character, you are sending the same SIGINFO signal to the dd command that the command pkill -INFO -x dd sends.

     

    dd itself doesn’t provide a progress bar. You may estimate the progress of the dd copy process by adding a pkill -INFO command though.

    Example:

    dd if=/dev/zero of=/dev/null bs=64m count=1000 & while pkill -INFO -x dd; do sleep 1; done
  • [Wayback] dd progress indicator on OSX

    signal siginfo is coupled to key-combination CTRL-T. No need to use kill, you can just type CTRL-T in the terminal window where dd is running.

–jeroen

Posted in *nix, *nix-tools, Apple, iMac, Mac, Mac OS X / OS X / MacOS, MacBook, MacBook Retina, MacBook-Air, MacBook-Pro, MacMini, Power User | Leave a Comment »

Need to revisit osquery: SQL powered operating system instrumentation, monitoring, and analytics supports more platforms and also aggregates to central log locations

Posted by jpluimers on 2022/01/18

Almost two years ago, GitHub – facebook/osquery: SQL powered operating system instrumentation, monitoring, and analytics published from the automatic blog queue.

It was in the midst of my rectum cancer treatment, so I was glad the blog queue back then was still about 18 months deep.

This meant I looked into osquery in 2018, which I remember because I needed it on MacOS as I did not want to remember the syntax for MacOS specific commands on getting system information. It also coincides with how much my repository fork was behind: [Wayback: jpluimers/osquery commits/Archive: jpluimers/osquery commits].

Fast forward to now, the breath of systems I’m involved with has widened, so I was glad to see that Kristian Köhntopp mentioned it:

So time to try it again (:

The links he mentioned:

  • [Wayback/Archive] Welcome to osquery – osquery

    osquery is an operating system instrumentation framework for Windows, OS X (macOS), Linux, and FreeBSD. The tools make low-level operating system analytics and monitoring both performant and intuitive.

  • [Wayback/Archive] Welcome to osquery – osquery: High Level Features
    The high-performance and low-footprint distributed host monitoring daemon, osqueryd, allows you to schedule queries to be executed across your entire infrastructure. The daemon takes care of aggregating the query results over time and generates logs which indicate state changes in your infrastructure. You can use this to maintain insight into the security, performance, configuration, and state of your entire infrastructure. osqueryd‘s logging can integrate into your internal log aggregation pipeline, regardless of your technology stack, via a robust plugin architecture.
    The interactive query console, osqueryi, gives you a SQL interface to try out new queries and explore your operating system. With the power of a complete SQL language and dozens of useful tables built-in, osqueryi is an invaluable tool when performing incident response, diagnosing a systems operations problem, troubleshooting a performance issue, etc.
  • [Wayback/Archive] osqueryd (daemon) – osquery
  • [Wayback/Archive] osqueryi (shell) – osquery
  • [Wayback/Archive] Aggregating Logs – osquery
  • [Wayback/Archive] AWS Logging – osquery

Main site: [Wayback/Archive] osquery | Easily ask questions about your Linux, Windows, and macOS infrastructure

Repository: [Wayback/Archive] osquery/osquery: SQL powered operating system instrumentation, monitoring, and analytics.

–jeroen

Posted in *nix, *nix-tools, Apple, Development, DevOps, Facebook, Infrastructure, Mac, Mac OS X / OS X / MacOS, Power User, SocialMedia, Software Development, Windows | Leave a Comment »

Patching ESXi so you can boot a MacOS virtual machine from it

Posted by jpluimers on 2022/01/13

This is totally opposite to yesterday’s Secure Boot post: [Wayback/Archive.is] shanyungyang/esxi-unlocker: VMware ESXi macOS

macOS Unlocker V3.0.2 for VMware ESXi
=====================================

1. Introduction
---------------

Unlocker 3 for ESXi is designed for VMware ESXi 6.5, 6.7 and 7.0

The patch code carries out the following modifications dependent on the product
being patched:

* Fix vmware-vmx to allow macOS to boot
* Fix libvmkctl to allow vSphere to control the guest

The code is written in Python as it makes the Unlocker easier to run and
maintain on ESXi.

+-----------------------------------------------------------------------------+
| IMPORTANT:                                                                  |
| ==========                                                                  |
|                                                                             |
| Always uninstall the previous version of the Unlocker before using a new    |
| version. Failure to do this could render VMware unusable.                   |
|                                                                             |
+-----------------------------------------------------------------------------+

2. Installation
---------------
Copy the distribution file to the ESXi host datastore using scp or some other
data transfer system. If you want to use the source version (i.e. from GIT) see
"5. Building" fist.

Decompress the file from the ESXi console or via SSH:

    tar xzvf esxi-unlocker-xxx.tgz

(xxx - will be the version number, for example, 300)

Run the command from the terminal:

    ./esxi-install.sh

Finally reboot the server.

3. Uninstallation
-----------------
Open the ESXi console or login via SSH and change to the folder where the files were extracted.

Run the command from the terminal:

    ./esxi-uninstall.sh

Finally reboot the server.

4. Notes
--------
A. There is a command added called esxi-smctest.sh which can show if the patch is successful. It must be run from a
terminal or SSH session. The output should be:

/bin/vmx
smcPresent = true
custom.vgz     false   32486592 B

Note: The uncompressed size reported for custom.vgz will vary depending on the ESXi version.

B. The unlocker can be temporarily disabled during boot by editing the boot options and adding "nounlocker".

5. Building
-----------
If you want to use a version which is not availbale as a distribution (e.g. the code from "master" branch)
you need to first build the package.

Checkout the repository:

    git clone https://github.com/shanyungyang/esxi-unlocker.git

(if you don't have git installed you can download ZIP archive from GitHub instead)

Enter the directory and build:
    
    cd esxi-unlocker
    ./esxi-build.py

If everything went correctly the ouput should be:

    ESXi-Build for macOS

    Timestamping files...

    Creating unlocker.tgz...
    etc/
    etc/rc.local.d/
    etc/rc.local.d/unlocker.py

    Creating esxi-unlocker-301.tgz...
    unlocker.tgz
    esxi-install.sh
    esxi-uninstall.sh
    esxi-smctest.sh
    readme.txt

The package you need to copy in the example above is esxi-unlocker-301.tgz (NOT unlocker.tgz!).

6. Thanks
---------

Thanks to Zenith432 for originally building the C++ unlocker and Mac Son of Knife
(MSoK) for all the testing and support.

Thanks also to Sam B for finding the solution for ESXi 6 and helping me with
debugging expertise. Sam also wrote the code for patching ESXi ELF files and
modified the unlocker code to run on Python 3 in the ESXi 6.5 environment.

History
-------
26/09/18 3.0.0 - First release
01/05/20 3.0.1 - Fix for ESXi 7.0
10/18/20 3.0.1 - Fix for ESXi 7.0 U1 (7.0.1)

(c) 2011-2018 Dave Parsons

–jeroen

Posted in Apple, ESXi6, ESXi6.5, ESXi6.7, ESXi7, Mac OS X / OS X / MacOS, Power User, Virtualization, VMware, VMware ESXi | Leave a Comment »

I wish I had known “How to rename multiple files at once on Mac | iMore” ages ago

Posted by jpluimers on 2022/01/04

Coming from a Windows and Linux background, I was used that mass renaming files was a non-stock feature and getting it right usually a pain in the butt.

How glad I was to find out [Wayback] How to rename multiple files at once on Mac | iMore

Believe it or not, it used to be a real pain to batch-rename files on Mac. Times have changed and so have the names of those 15 files.

Prior to OS X Yosemite, there was no simple way to rename multiple files at the same time on the Mac. Some people set up Automator rules. Others tried workarounds to rename files in third-party apps. Finally, Apple realized our heartache and created a much simpler way to rename multiple files at once, and it’s only gotten easier as macOS updates continue. Here’s how to batch-rename files on your Mac.

The only mass-rename I regularly need is fixing typos or OCR errors in filenames: this means replacing certain text with another piece of text.

That’s this easy:

Read the rest of this entry »

Posted in Apple, Mac OS X / OS X / MacOS, macOS 10.12 Sierra, macOS 10.13 High Sierra, OS X 10.10 Yosemite, OS X 10.11 El Capitan, Power User | Leave a Comment »