On my MacBook Pro with retina display, when I take a screenshot, the image is saved with a DPI of 144. But, using ImageOptim to compress the image with Strip JPEG/PNG Metadata enabled will remove (or reset) the DPI setting to 72 DPI - resulting in a double sized image when displayed in Preview and Quick Look. Here is how I correct this.

From macOS Catalina 10.5 onwards, zsh is the default shell, instead of bash. I have a lot to learn about this shell, and so far, this is how I configured zsh... There is an overload of snippets on-line, but I’ve not seen a post doing what I do, so hopefully this helps someone!

Grrr, to no one’s surprise, my MacBook Pro with butterfly keyboard is experiencing keyboard issues. In my case, a keypress on “j” is often triggered twice, resulting in “jj”. And with the lockdowns, I don’t want to risk a repair! So, here is a quick workaround using Karabiner-Elements v12.9.0.

I recently needed to setup a Kubernetes cluster without an external DNS and without Internet access. In the old days, static IPs could be mapped to FQDNs by creating entries in the hosts file, but that won’t work with Kubernetes. With Internet access, the typical solution would be to use a wildcard DNS like xip.io or nip.io. Instead, the workaround is by hardcoding the mapping in the CoreDNS configuration.

While testing out Grav, it’s quite easy to setup a local instance on a macOS computer, since macOS already comes with a suitable web server (Apache 2.4.x and PHP 7.x). I never realized I didn’t actually describe how I set it up, but just wanted to point out one important change.

Here’s how I “changed” an app’s home screen icon on iPhone. I’m so OCD that I want my home screen dock icons (the tray at the bottom) to be all of the same colour! Actually, changing an icon is not possible, but creating a new shortcut with an icon of my choice is!

For me, Microsoft PowerShell is hard! I can’t wrap my mind around data pipelines (|). Instead, I keep reverting to if/then, loops and other traditional programming paradigms, similar to what I’d do in UNIX shell!

I recently had a bunch of screen shots that I wanted to OCR, so that I could search for text content in the future. I found an open source solution called OCRmyPDF (created by jbarlow83 over on GitHub) to be very simple to use. It’s also very well documented with many usage examples, including my preferred option - from a Docker container.

Every time Apple releases a new version of macOS, I have to go in and re-configure Apache with PHP the way I want it. So this time, I thought I’d automate the configuration changes with a single command.

I was building a single page website using Bulma, and I wanted to achieve effects similar to what I was familiar with using Bootstrap’s Creative one page theme. As you know, Bulma (mostly) does not provide any JavaScript code, so I had to code the Smooth Scrolling and Scroll Spy features I missed. I intentionally avoided jQuery! So I present my solution using plain-old JavaScript.

I really don’t know how to explain today’s post. In short: I want to copy drawings and images out of Microsoft Office in PNG format. On macOS, copy-and-paste seems to prefer the TIFF format, resulting in large Office files. I’d rather the images be converted to PNG, preserving transparency but providing high compression. However, this is more complicated than it seems, because of limitations in Office and PowerPoint in particular...