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’ Category

I really dislike MacOS choosing machine names, and having the long machine names and short hostnames in separate places to change (one of them command-line only)

Posted by jpluimers on 2024/12/05

After installing my Apple Silicon MacBook, I found out my machine had gotten named automatically in two different ways:

  1. readable name Jeroen’s Macbook Pro
  2. full name Jeroens-MacBook-Pro
  3. local hostname Jeroens-MacBook-Pro.local
  4. actual hostname Jeroens-MBP
  5. HostName from scutil

A few reasons I dislike that:

  • Having 5 different names for the same machine creates a mess
  • They chose for me where I like to choose myself
  • They use spaces, quotes and hyphens where I like single a complete word
  • They use mixed case where I like single case (preferably lower case) as not all other computers handle mixed case well

Finding out how to fix all this was a tedious job as I had to keep refining queries:

Read the rest of this entry »

Posted in Apple, Apple Silicon, ARM Mac, Mac, Mac OS X / OS X / MacOS, MacBook, MacBook-Pro, Power User, Terminal | Leave a Comment »

Not just on a new tab: MacOS chrome crashes when command + shift + i is pressed on a new tab [333424895] – Chromium

Posted by jpluimers on 2024/11/23

April 2024 this bug was reported: [Wayback/Archive] chrome crashes when command + shift + i is pressed on a new tab [333424895] – Chromium

That one was fixed, but it looks shortcuts like Command (⌘) + Shift + I still break Chrome when used on a tab pointing to a web-site.

Hopefully the original fix at [Wayback/Archive] Fix crash in sharing menu (5449679) · Gerrit Code Review will help people fixing the standing issue as well.

Related (I plan to file a bug report when the number of my open tabs is closer to zero from the current 200+):

Read the rest of this entry »

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

512GB to 8TB for your M1: Mac Studio Storage Upgrade – Made EASY with Custom Parts – YouTube

Posted by jpluimers on 2024/08/24

Video: [Wayback/Archive] Mac Studio Storage Upgrade – Made EASY with Custom Parts – YouTube

Tweets in [Wayback/Archive] Thread by @dosdude1 on Thread Reader App

  1. Just finished an awesome upgrade on an M1 Mac Studio, upgrading the stock 512GB of storage to its maximum of 8TB. Thanks to Gilles of Polysoft Services reverse-engineering and designing a custom storage module PCBs, I was able to perform the upgrade with ease!
  2. Be sure to check out my video of the complete upgrade process, found here: www.youtube.com/watch?v=HDFCurB3-0Q

The PCB are by [Wayback/Archive] Polysoft – centre de services à Tours/[WaybackSave/Archive] Gilles AUREJAC (@gillesaurejac) / X Hopefully, they will be available for sale soon.

Tweet images:

Read the rest of this entry »

Posted in Hardware, iMac, M1 Mac, Mac, Power User | Leave a Comment »

Be aware: do not skip MacOS full upgrades (as you might miss out crucial firmware updates)

Posted by jpluimers on 2024/04/08

One of the odd things with Apple computers it that firmware updates are part of the MacOS updates.

From this Dutch thread:

[Wayback/Archive] WheelieNick on Twitter: “@jpluimers Welke firmware precies weet ik niet maar je moet er vanuit gaan als je naar iets wat boven high sierra staat wil gaan dat je altijd eerst naar high siërra moet. Niet van normaal siërra naar big sur bijvoorbeeld. Ik doe trouwens altijd tussenstappen, dus van high siërra naar”

I have bumped into this myself where I skipped an upgrade, then the Mac would not recognise certain media formatted with Apple File System – Wikipedia using intermediate versions of MacOS.

The intermediate versions of MacOS had introduced some firmware changes the newer MacOS version upgrade did not apply.

–jeroen

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

Excel 2011/2010: Conditional formatting of TRUE / FALSE values in an Excel range

Posted by jpluimers on 2024/02/13

The conditional formatting feature in Excel is so cool!

If you use FALSE and TRUE expressions to check validity, you can easily make these red and green.

[Wayback/Archive] Conditional formatting of TRUE / FALSE values in an Excel 2010 range – Super User (thanks [Wayback/Archive] tbone for asking and [Wayback/Archive] digitxp for answering):

Read the rest of this entry »

Posted in Apple, Excel, Mac, Mac OS X / OS X / MacOS, Office, Office 2010, Office 2011 for Mac, Power User, Windows | Leave a Comment »

Towards a work setup on a hardened host and doing everything in VMs

Posted by jpluimers on 2023/04/21

SwiftOnSecurity posted this interesting tweet in 2021: [Archive] SwiftOnSecurity on Twitter: “Lenovo P1 Gen3 with 12core Xeon, 64GB RAM, two 1TB M.2 SSDs. Running Windows Server 2022 with the Hyper-V role. All hardening applied to host OS, almost nothing happens here except managing guest VMs. On the second SSD I then have Win10 VMs joined to the corporate domain.” / Twitter.

I wonder if a similar setup can be done using an Apple M1 based machine as host and running all work in virtual machines.

Swift had some issues getting cameras and microphones to work: [Archive] SwiftOnSecurity on Twitter: “The problem here is Teams. If I want to pass through my webcam and microphone that could get a bit dicey, despite HyperV Enhanced Session being essentially an RDP session. For now I’m using my phone for Teams microphone. Also I’m not sure how well thermal management will work….” / Twitter

This resulted in some answers and interesting links:

Some more interesting tweets in that thread:

–jeroen

Posted in Apple, M1 Mac, Mac, Power User, Windows | Leave a Comment »

Way easier to fix on Intel MacBook machines than I thought: macos kernel_task high cpu dual screen

Posted by jpluimers on 2023/03/13

The links found via [Wayback/Archive] macos kernel_task high cpu dual screen – Google Search were daunting.

In the end, the issue ways way easier to fix than I thought: open up your Intel MacBook (you need pentalobe screwdrivers for that), then with some compressed air, clean the dust (especially from the fans).

This post saved my day [Wayback/Archive] kernel_task takes up 500% of my CPU when plugging in external monitor – MacBook Pro 15″ Retina Display Mid 2015 – iFixit

Things I haven’t tried yet:

  • Cleaning out more free space from HDD
  • Using plain HDMI cable into the HDMI cable port
  • Taking MBP apart and cleaning any potential dust


Block Image

I faced the very same issue that you guys are facing and based on input from another forum decided to get my 2016 MPB fans cleaned out.

This made an immediate impact where when I connected my external display to the MBP.pre-cleaning, it would overheat causing the fans to spin at 6000 rpm or thereabout and the kernel_task would eat up 500%-900% of the CPU rending the system unusable.

This simple cleanup of the fans has allowed me to connect the monitor with no kernel panic anymore and even though the fans run around 5000 rpm now the CPU and GPU are running around 10 degrees cooler now.

The same picture is in [Wayback/Archive] macos – MacBook Pro high CPU with external monitors – Ask Different.

An even dirtier MacBook was at [Wayback/Archive] External Display – High CPU Usage – MacBo… – Apple Community.

Links that were interesting but unhelpful:

–jeroen

Read the rest of this entry »

Posted in Apple, Mac, MacBook, MacBook Retina, MacBook-Air, MacBook-Pro, Power User | Leave a Comment »

Getting your public IP address from the command-line when http and https are blocked: use DNS

Posted by jpluimers on 2022/12/28

Years ago, I wrote Getting your public IP address from the command-line. All methods were http based, so were very easy to execute using cURL.

But then in autumn 2021, Chris Bensen wrote this cool little blog-post [Wayback/Archive] Chris Bensen: How do I find my router’s public IP Address from the command line?:

dig -4 TXT +short o-o.myaddr.l.google.com @ns1.google.com

At first sight, I thought it was uncool, as the command was quite long and there was no explanation of the dig command trick.

But then, knowing that dig is a DNS client, it occurred to me: this perfectly works when http and https are disabled by your firewall, but the DNS protocol works and gives the correct result:

# dig -4 TXT +short o-o.myaddr.l.google.com @ns1.google.com
"80.100.143.119"

This added the below commands and aliases to my tool chest for *nix based environments like Linux and MacOS (not sure yet about Windows yet :), but that still doesn’t explain why it worked. So I did some digging…

IPv4

  • command:
    dig -4 TXT +short o-o.myaddr.l.google.com @ns1.google.com
  • command removing outer double quotes:
    dig -4 TXT +short o-o.myaddr.l.google.com @ns1.google.com | xargs
  • alias:
    alias "whatismyipv4_dns=dig -4 TXT +short o-o.myaddr.l.google.com @ns1.google.com | xargs"

IPv6

  • command:
    dig -6 TXT +short o-o.myaddr.l.google.com @ns1.google.com
  • command removing outer double quotes:
    dig -6 TXT +short o-o.myaddr.l.google.com @ns1.google.com | xargs
  • alias:
    alias "whatismyipv6_dns=dig -6 TXT +short o-o.myaddr.l.google.com @ns1.google.com | xargs"

How it works

Let’s stick to dig and IPv4 as that not having IPv6 (regrettably still) is the most common situation today:

# dig -4 TXT +short o-o.myaddr.l.google.com @ns1.google.com
"80.100.143.119"

What it does is request the DNS TXT record of o-o.myaddr.l.google.com from the Google DNS server ns1.google.com and returns the WAN IPv4 address used in the DNS request, which is for instance explained in [Wayback/Archive] What is the mechanics behind “dig TXT o-o.myaddr.l.google.com @ns1.google.com” : linuxadmin.

Since these are TXT records, dig will automatically double quote them, which xargs can remove (see below how and why):

# dig -4 TXT +short o-o.myaddr.l.google.com @ns1.google.com | xargs
80.100.143.119

The DNS query will fail when requesting the Google Public DNS servers 8.8.8.8 or 8.8.4.4:

# dig -4 TXT +short o-o.myaddr.l.google.com @8.8.8.8
"2a00:1450:4013:c1a::103"
"edns0-client-subnet 80.101.239.0/24"

Or, with quotes removed (the -L 1 ensures that xargs performs the quote-pair removal action on each line):

# dig -4 TXT +short o-o.myaddr.l.google.com @8.8.8.8 | xargs -L 1
2a00:1450:4013:c1a::103
edns0-client-subnet 80.101.239.0/24

This request is both slower than requesting the ns1.google.com server and wrong.

The reason is that only ns1.google.com understands the special o-o.myaddr.l.google.com hostname which instructs it to return the IP address of the requesting dig DNS client.

That 8.8.8.8 returns a different IP address and an additional edns0-client-subnet with less accurate information is explained in an answer to [Wayback/Archive] linux – Getting the WAN IP: difference between HTTP and DNS – Stack Overflow by [Wayback/Archive] argaz referring to this cool post: [Wayback/Archive] Which CDNs support edns-client-subnet? – CDN Planet.

Not just ns1.google.com: any DNS server serving the google.com domain

Since o-o.myaddr.l.google.com is part of the google.com domain, the above works for any DNS server serving the google.com domain (more on that domain: [Wayback/Archive] General DNS overview  |  Google Cloud).

Getting the list of DNS servers is similar to getting the list of MX servers which I explained in Getting the IP addresses of gmail MX servers, replacing MX record type (main exchange) with the NS record type (name server) and the gmail.com domain with the google.com domain:

# dig @8.8.8.8 +short NS google.com
ns3.google.com.
ns1.google.com.
ns2.google.com.
ns4.google.com.

The ns1.google.com DNS server is a special one of the NS servers: it is the start of authority server, which you can query using the SOA record type that also gives slightly more details for this server:

# dig @8.8.8.8 +short SOA google.com
ns1.google.com. dns-admin.google.com. 410477869 900 900 1800 60

The difference between using NS and SOA records with dig are explained in the [Wayback] dns – How do I find the authoritative name-server for a domain name? – Stack Overflow answer by [Wayback/Archive] bortzmeyer who also explains how to help figuring out SOA and NS discrepancies (note to self: check out the check_soa tool originally by Michael Fuhr (I could not find recent content of him, so he might have passed away) of which source code is now at [Wayback/Archive] Net-DNS/check_soa at master · NLnetLabs/Net-DNS).

So this works splendid as well using ns4.google.com on my test system:

# dig -4 TXT +short o-o.myaddr.l.google.com @ns4.google.com | xargs
80.100.143.119

The xargs removes outer quotes removal trick

[Wayback/Archive] string – Shell script – remove first and last quote (“) from a variable – Stack Overflow (thanks quite anonymous [Wayback/Archive] user1587520):

> echo '"quoted"' | xargs
quoted

xargs uses echo as the default command if no command is provided and strips quotes from the input.

More on https versus DNS requests

Some notes are in [Wayback/Archive] How to get public IP address from Linux shell, but note the telnet trick now fails as myip.gelma.net is gone (latest live version was archived in the Wayback Machine in august 2019).

Via

–jeroen

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

The only practical way of running x86 VMs on Apple M1 seems to be QEMU based UTM

Posted by jpluimers on 2022/07/01

Few articles exist on running x86 VMs on Apple M1 architecture.

This is the best I found, and clearly states that QEMU based UTM is the way to go, but notably lacks 3D support: [Wayback/Archive.is] Apple Silicon M1: How to run x86 and ARM Virtual Machines on it? | by Dmitry Yarygin | Mar, 2021 | Medium

Without VMs, but running Windows x86_64 code is already possible using Windows 10 for ARM via Parallels: [Wayback] Windows 10 on M1 Macs: What you can do (virtualization, sorta) and can’t (Boot Camp) | Macworld.

VMware Fusion is not going to support x86_64 virtualisation anytime soon as per [Wayback/Archive.is] Fusion on Apple Silicon: Progress Update – VMware Fusion Blog – VMware Blogs

What about x86 emulation?

We get asked regularly about running x86 VMs on M1 Macs. It makes total sense… If Apple can emulate x86 with Rosetta 2, surely VMware can do something too, right?

Well, the short answer is that there isn’t exactly much business value relative to the engineering effort that is required, at least for the time being. For now, we’re laser focused on making Arm Linux VMs on Apple silicon a delight to use.

So, to be a bit blunt, running x86 operating systems on Apple silicon is not something we are planning to deliver with this project. Installing Windows or Linux from an x86 ISO, for example, will not work.

More on UTM, which is open source:

Now hopefully someone posts a Wiki of running x86_64 Windows on Apple M1 (:

This is a small start that it can be done [Wayback/Archive.is] Has anyone tried running Delphi on Windows ARM? – Delphi IDE and APIs – Delphi-PRAXiS [en]

It works well. I’ve managed to build and run my VCL and FMX projects on Android, iOS, Windows and Mac without any problems.
Note that both Windows ARM and the way it runs Delphi are still in preview so tread carefully!
On 4/18/2021 at 8:01 PM, Der schöne Günther said:
Can you confirm it cannot only build projects but also debug them?
I can debug Windows and Android no problem. I’m having issues debugging iOS as it’s stopping in the IDE but showing the CPU rather than code views. I believe this might be a badly built component I need to re-install rather than an issue with the environment but can’t confirm either way at the moment.

An update on the debugging issues on iOS – it’s all working now. My VM just needed a restart and I can debug without problems now.

--jeroen

Posted in Apple, M1 Mac, Mac, Mac OS X / OS X / MacOS, Power User, Qemu, UTM, Virtualization, Windows, Windows 10 | Leave a Comment »

Kris on Twitter is a bit radical against shell scripts. Learn why.

Posted by jpluimers on 2022/04/13

I say to people: only use shell interactively, don’t write scripts. Never. Not one.
But Kris, they ask, why so radical?
Because of this:

is the literal English Google Translation of the German text

Ich sage den Leuten: benutzt Shell nur interaktiv, schreibt keine Scripte. Nie. Nicht eines.
Aber Kris, fragen sie, wieso so Radikal?
Deswegen:

then links to [Wayback/Archive] Jan Schaumann on Twitter: “TIL zgrep(1) is a shell script. BSD basically does “zcat | grep”, but GNU does “gzip -dc | sed”. How did I learn that? The fun way! CVE-2022-1271, arbitrary-file-write and code execution vulnerability in GNU zgrep / gzip. …”:

Read the rest of this entry »

Posted in *nix, *nix-tools, Apple, ash/dash, ash/dash development, bash, bash, BSD, Development, Mac, Mac OS X / OS X / MacOS, Power User, Scripting, Software Development | Leave a Comment »