<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>macOS on Junian Dev</title>
    <link>https://www.junian.dev/tags/macos/</link>
    <description>Recent content in macOS on Junian Dev</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <managingEditor>author@junian.dev (Junian Triajianto)</managingEditor>
    <webMaster>author@junian.dev (Junian Triajianto)</webMaster>
    <copyright>Copyright &amp;copy; 2014 - 2026 Junian.dev</copyright>
    
	    <atom:link href="https://www.junian.dev/tags/macos/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>How to Set an 80% Battery Charge Limit on MacBook without Third-Party App</title>
      <link>https://www.junian.dev/tech/macbook-battery-charge-limit/</link>
      <pubDate>Wed, 25 Mar 2026 14:30:00 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/tech/macbook-battery-charge-limit/</guid>
      <description>&lt;p&gt;For the longest time, I relied on a third-party app called AlDente just to do one simple thing: Stop my MacBook from charging to 100%.&lt;/p&gt;
&lt;p&gt;If you’ve read my previous &lt;a href=&#34;https://www.junian.dev/tech/macos-manual-battery-charge-limit/&#34; title=&#34;Manual MacBook Battery Charge Limit using AlDente app&#34;&gt;how to manually set battery charge limit&lt;/a&gt; post, you know I used tools like AlDente for this. It worked great, but honestly, I always wished Apple would just build this feature directly into macOS.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Start macOS Recovery and Connect to the Internet Without Wi-Fi</title>
      <link>https://www.junian.dev/tech/macos-recovery-internet-without-wifi/</link>
      <pubDate>Fri, 20 Mar 2026 04:00:00 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/tech/macos-recovery-internet-without-wifi/</guid>
      <description>&lt;p&gt;Previously, I wrote about &lt;a href=&#34;https://www.junian.dev/tech/macos-recovery-fix-missing-wifi/&#34;&gt;how to restore the missing Wi-Fi icon in macOS Recovery&lt;/a&gt;.
That solution works just fine for most Mac users.&lt;/p&gt;
&lt;p&gt;But recently, in March 2026, Apple released the new &lt;a href=&#34;https://amzn.to/4rZqBgH&#34; title=&#34;Buy MacBook Air M5 on Amazon&#34;&gt;&lt;strong&gt;MacBook Air M5&lt;/strong&gt;&lt;/a&gt; and &lt;a href=&#34;https://amzn.to/40SOdZn&#34; title=&#34;Buy MacBook Pro M5 Pro on Amazon&#34;&gt;&lt;strong&gt;MacBook Pro M5&lt;/strong&gt;&lt;/a&gt;.
They look like great machines, but I’ve received a lot of reports from people who are unable to activate their M5 Macs.&lt;/p&gt;
&lt;p&gt;You see, some people use Migration Assistant to set up their new MacBook M5.
They want to transfer data from their old Mac to the new one.
From what I gathered, everything goes smoothly until they reach the Activation screen in macOS Recovery.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fix Missing Wi-Fi in Recovery Assistant After Resetting Your Mac</title>
      <link>https://www.junian.dev/tech/macos-recovery-fix-missing-wifi/</link>
      <pubDate>Thu, 19 Mar 2026 04:00:00 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/tech/macos-recovery-fix-missing-wifi/</guid>
      <description>&lt;p&gt;So you want to reset your Mac to factory default.
Maybe you want to sell it.
Or maybe you just want a fresh start.
Whatever it is, you know what you’re doing.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;UPDATE 2026/03&lt;/strong&gt;: If you&amp;rsquo;re an owner of &lt;a href=&#34;https://amzn.to/4rZqBgH&#34; title=&#34;Buy MacBook Air M5 on Amazon&#34;&gt;&lt;strong&gt;MacBook Air M5&lt;/strong&gt;&lt;/a&gt; or &lt;a href=&#34;https://amzn.to/40SOdZn&#34; title=&#34;Buy MacBook Pro M5 Pro on Amazon&#34;&gt;&lt;strong&gt;MacBook Pro M5&lt;/strong&gt;&lt;/a&gt; that&amp;rsquo;s shipped in March 2026, this method won&amp;rsquo;t work. There is a known bug in macOS Recovery shipped in those Macs that cause missing Wi-Fi icon during Activation. You can still &lt;a href=&#34;https://www.junian.dev/tech/macos-recovery-internet-without-wifi/&#34;&gt;activate your M5 Mac using wired internet access&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Install Mendeley Desktop for Mac with Homebrew</title>
      <link>https://www.junian.dev/tech/mendeley-desktop-mac-homebrew/</link>
      <pubDate>Mon, 16 Mar 2026 20:00:00 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/tech/mendeley-desktop-mac-homebrew/</guid>
      <description>&lt;p&gt;Recently I noticed that the official &lt;a href=&#34;https://github.com/Homebrew/homebrew-cask/commit/a9a297dbba75be11191f831e28bd406ab9eee1d9&#34;&gt;Homebrew Cask&lt;/a&gt; removed the Mendeley Desktop app for Mac from their repository.&lt;/p&gt;
&lt;p&gt;That makes sense because this app hasn’t been updated for a very long time and has actually been replaced by the new Mendeley Reference Manager app.&lt;/p&gt;
&lt;p&gt;But maybe you’re currently writing a paper and still want to use the Mendeley Desktop app until your paper is accepted or you graduate. If that’s the case, you can still install it using the Homebrew package manager through a Homebrew Tap that I manage.&lt;/p&gt;</description>
    </item>
    <item>
      <title>File Copy, Cut, and Paste Keyboard Shortcuts on Mac</title>
      <link>https://www.junian.dev/tech/mac-file-copy-cut-paste-keyboard-shortcuts/</link>
      <pubDate>Tue, 03 Mar 2026 04:00:00 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/tech/mac-file-copy-cut-paste-keyboard-shortcuts/</guid>
      <description>&lt;p&gt;If you&amp;rsquo;re coming from Windows, you&amp;rsquo;re probably familiar with its keyboard shortcuts to copy and paste files (&lt;kbd&gt;ctrl&lt;/kbd&gt; + &lt;kbd&gt;c&lt;/kbd&gt;, &lt;kbd&gt;ctrl&lt;/kbd&gt; + &lt;kbd&gt;v&lt;/kbd&gt;) or cut and paste (&lt;kbd&gt;ctrl&lt;/kbd&gt; + &lt;kbd&gt;x&lt;/kbd&gt;, &lt;kbd&gt;ctrl&lt;/kbd&gt; + &lt;kbd&gt;v&lt;/kbd&gt;).&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;re new to macOS, the shortcuts are a bit different — but actually more comfortable to press.&lt;/p&gt;
&lt;p&gt;For copy and paste, it’s quite similar. You just replace &lt;kbd&gt;ctrl&lt;/kbd&gt; with &lt;kbd&gt;⌘ command&lt;/kbd&gt;.&lt;/p&gt;
&lt;p&gt;But for cut and paste, it works slightly differently.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Take a macOS Window Screenshot Without the Shadow Background</title>
      <link>https://www.junian.dev/tech/macos-screenshot-without-shadow/</link>
      <pubDate>Thu, 26 Feb 2026 04:00:00 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/tech/macos-screenshot-without-shadow/</guid>
      <description>&lt;p&gt;I take a lot of macOS app screenshots for my blog.&lt;/p&gt;
&lt;p&gt;The default screenshots look beautiful — whether it’s the entire screen, a selected portion, or a selected window.&lt;/p&gt;
&lt;p&gt;One special thing when you capture a macOS window is that it automatically adds a soft shadow around it.
It looks good. It looks polished.&lt;/p&gt;
&lt;p&gt;Most of the time, I don’t need to remove it.&lt;/p&gt;
&lt;p&gt;But in some cases, that shadow really takes up extra space. So I started wondering: is there a way to take a macOS window screenshot without the shadow?&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Take Screenshot on Mac with Keyboard Shortcuts</title>
      <link>https://www.junian.dev/tech/macos-screenshot-shortcuts/</link>
      <pubDate>Tue, 24 Feb 2026 04:00:00 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/tech/macos-screenshot-shortcuts/</guid>
      <description>&lt;p&gt;I take a lot of screenshots for my blog, and doing that regularly without remembering the shortcuts is a mistake.&lt;/p&gt;
&lt;p&gt;There are basically three different ways to take a screenshot on macOS.&lt;/p&gt;
&lt;p&gt;Each one has its own shortcut.&lt;/p&gt;
&lt;p&gt;So here are all the shortcuts you need to remember to take screenshots on macOS.&lt;/p&gt;
&lt;h2 id=&#34;screenshot-app-shortcut&#34;&gt;Screenshot App Shortcut&lt;/h2&gt;
&lt;p&gt;&lt;kbd&gt;⌘ command&lt;/kbd&gt; + &lt;kbd&gt;shift&lt;/kbd&gt; + &lt;kbd&gt;5&lt;/kbd&gt;&lt;/p&gt;
&lt;p&gt;If you don’t want to remember all the individual shortcuts, just remember this one.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Install .NET 11 SDK Preview on macOS Side-by-Side with Homebrew</title>
      <link>https://www.junian.dev/dev/install-dotnet-sdk-11-macos/</link>
      <pubDate>Mon, 23 Feb 2026 04:00:00 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/dev/install-dotnet-sdk-11-macos/</guid>
      <description>&lt;p&gt;Microsoft recently released &lt;a href=&#34;https://devblogs.microsoft.com/dotnet/dotnet-11-preview-1/&#34;&gt;.NET 11 Preview 1&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you want to try it without removing your existing installed .NET SDKs on macOS, you can install it side-by-side using the Homebrew package manager.&lt;/p&gt;
&lt;p&gt;First, tap the Homebrew repository I maintain:&lt;/p&gt;

&lt;figure class=&#34;highlight&#34;&gt;
    &lt;button class=&#34;btn-clipboard chroma&#34; title=&#34;Copy to clipboard&#34;&gt;&lt;i class=&#34;fa icon-clipboard&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 24 24&#34; class=&#34;feather feather-copy&#34;&gt;&lt;rect x=&#34;9&#34; y=&#34;9&#34; width=&#34;13&#34; height=&#34;13&#34; rx=&#34;2&#34; ry=&#34;2&#34;/&gt;&lt;path d=&#34;M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1&#34;/&gt;&lt;/svg&gt;&lt;/i&gt;&lt;span class=&#34;msg-clipboard&#34;&gt;&lt;/span&gt;&lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;brew tap junian/homebrew-dotnet&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
    
&lt;/figure&gt;&lt;p&gt;Then install the .NET 11 SDK Preview:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Xcode Command Line Tools Download and Installation FAQ</title>
      <link>https://www.junian.dev/dev/xcode-command-line-tools-installation-faq/</link>
      <pubDate>Thu, 19 Feb 2026 04:25:35 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/dev/xcode-command-line-tools-installation-faq/</guid>
      <description>&lt;p&gt;Xcode is a full-featured IDE from Apple for creating apps for iPhone, iPad, Mac, Apple Watch, and Apple TV.&lt;/p&gt;
&lt;p&gt;You probably need some of its tools without installing the entire package.
Maybe you want to write command-line software on macOS, or maybe you need to use the &lt;a href=&#34;https://brew.sh&#34;&gt;Homebrew&lt;/a&gt; package manager.&lt;/p&gt;
&lt;p&gt;In that case, you only need a subset of it, which is the Xcode Command Line Tools.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Not in the mood for reading? Watch the &lt;a href=&#34;https://www.junian.dev/dev/xcode-command-line-tools-installation-faq/#video&#34;&gt;video&lt;/a&gt; instead.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Apple Logo  Character Emoji Keyboard Shortcut</title>
      <link>https://www.junian.dev/tech/apple-logo-character-emoji-keyboard-shortcut/</link>
      <pubDate>Wed, 18 Feb 2026 04:00:00 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/tech/apple-logo-character-emoji-keyboard-shortcut/</guid>
      <description>&lt;p&gt;You’ve probably noticed that I regularly write about Apple products, especially the Mac and iPhone.&lt;/p&gt;
&lt;p&gt;I use the Apple logo quite often, but I keep forgetting the keyboard shortcut. So I decided to write it down here.&lt;/p&gt;
&lt;p&gt;I’m not talking about the apple fruit emoji (🍎). I’m talking about the Apple logo () — the company that makes the Mac and iPhone.&lt;/p&gt;
&lt;p&gt;If you’re in a hurry and don’t want to bother remembering the keyboard shortcut, here’s the Apple logo character ready for copy and paste:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fix Drag and Drop Issue in the Finder App on macOS</title>
      <link>https://www.junian.dev/tech/macos-fix-drag-and-drop/</link>
      <pubDate>Tue, 17 Feb 2026 04:00:00 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/tech/macos-fix-drag-and-drop/</guid>
      <description>&lt;p&gt;Hi, this is a quick blog post for today.&lt;/p&gt;
&lt;p&gt;I suddenly experienced something weird when trying to drag and drop using the Finder app.&lt;/p&gt;
&lt;p&gt;I used to be able to drag and drop documents into apps on my &lt;a href=&#34;https://amzn.to/4rY8JTO&#34; title=&#34;Buy MacBook Air M4 on Amazon&#34;&gt;MacBook Air M4&lt;/a&gt;.
Yesterday, I was doing my usual workflow to reduce image file sizes before uploading them to the internet using the ImageOptim app.
It usually works normally: select the image files, click and hold using the trackpad, then drag the files to the ImageOptim app.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Set Your MacBook Screen Resolution to 16:9</title>
      <link>https://www.junian.dev/tech/macos-16-9-screen-resolution/</link>
      <pubDate>Mon, 16 Feb 2026 04:00:00 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/tech/macos-16-9-screen-resolution/</guid>
      <description>&lt;p&gt;MacBooks don’t use a 16:9 aspect ratio, including my daily driver, the &lt;a href=&#34;https://amzn.to/4rY8JTO&#34; title=&#34;Buy MacBook Air M4 on Amazon&#34;&gt;MacBook Air M4&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Most modern MacBook displays are 16:10, which is great for productivity.
But sometimes you just need 16:9 for certain tasks.&lt;/p&gt;
&lt;p&gt;There are many such cases, for example:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Recording tutorials&lt;/li&gt;
&lt;li&gt;Testing how something looks on standard monitors&lt;/li&gt;
&lt;li&gt;Matching an external display output&lt;/li&gt;
&lt;li&gt;Or simply preferring the classic 16:9 layout&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I record a lot of videos, especially screencasts, for my YouTube channel.
YouTube itself recommends videos in a 16:9 resolution, such as 1920×1080 or 1280×720.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How I Set a Manual Battery Charge Limit on MacBook (Like iPhone 80% Limit)</title>
      <link>https://www.junian.dev/tech/macos-manual-battery-charge-limit/</link>
      <pubDate>Sun, 15 Feb 2026 04:00:00 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/tech/macos-manual-battery-charge-limit/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;UPDATE 2026/03:&lt;/em&gt; You can now set battery charge limit manually &lt;em&gt;without&lt;/em&gt; any 3rd-party app! Just update your macOS version to &lt;em&gt;Tahoe 26.4&lt;/em&gt; and &lt;a href=&#34;https://www.junian.dev/tech/macbook-battery-charge-limit/&#34;&gt;set the limit manually through &lt;em&gt;System Settings&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I work from home, play at home, and rest at home.
So naturally, I like keeping my devices plugged in because I rarely go out.&lt;/p&gt;
&lt;p&gt;The problem? I don’t like keeping my battery at 100% all the time.&lt;/p&gt;
&lt;p&gt;On newer iPhones, Apple gives you a manual charge limit.
You can set it to 80%, 85%, 90%, 95%, or 100%.
Super simple. Super useful. You’re in full control.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Open a Blocked macOS App (&#34;Apple Could Not Verify&#34; Fix)</title>
      <link>https://www.junian.dev/tech/macos-apple-could-not-verify-app/</link>
      <pubDate>Sat, 14 Feb 2026 19:00:00 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/tech/macos-apple-could-not-verify-app/</guid>
      <description>&lt;p&gt;Have you ever downloaded a macOS app from the internet, double-clicked it, and then seen this message:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;App Not Opened&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Apple could not verify app is free of malware that may harm your Mac or compromise your privacy.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;And the only options available are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Move to Trash&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Done&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;No &amp;ldquo;Open Anyway.&amp;rdquo;
No helpful button.
Just… nothing useful.&lt;/p&gt;
&lt;figure&gt;
    &lt;img src=&#34;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwiqZx24pGMjIBp1T0Yal5mH0XMfujvaD2zQ2BDobgj9gvd9uLXa1GCKGxheq_zSZ7z0rPOykcEzPhaMdEYdqBEJv5Zt3cZg7StrXj4NZu-eQG9IxvVIimO-McT7roz8clVnnNt9xY-bgM9hTC1ULptgIf8ATq1JnMhCA5LtFgZlDdpJMtutarmPlNP6I/s1600/macos-apple-could-not-verify-app-of-malware.png&#34; alt=&#34;Apple could not verify app is free of malware&#34;loading=&#34;lazy&#34;
    &gt;&lt;figcaption&gt;Apple could not verify app is free of malware&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;This happened to me when I tried opening the old &lt;strong&gt;Mendeley Desktop&lt;/strong&gt; app.
macOS blocked it to &amp;ldquo;protect my Mac,&amp;rdquo; which sounds scary.
But sometimes it just means the app isn’t notarized the way Apple wants.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Disable Liquid Glass on macOS Tahoe (macOS 26)</title>
      <link>https://www.junian.dev/tech/macos-disable-liquid-glass/</link>
      <pubDate>Fri, 13 Feb 2026 19:00:00 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/tech/macos-disable-liquid-glass/</guid>
      <description>&lt;p&gt;When Apple introduced the new Liquid Glass look in macOS 26 (Tahoe), my first reaction was, “Wow… that looks fancy.”&lt;/p&gt;
&lt;p&gt;My second reaction after using it for a few days: “Okay, I can’t see what’s written there.”&lt;/p&gt;
&lt;p&gt;Don’t get me wrong—it looks modern and sleek.
But sometimes I just want my UI to be solid and easy to read, especially when I’m working long hours.&lt;/p&gt;
&lt;p&gt;If you feel the same way, here’s how to tone it down—or straight up disable it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>CasaOS on macOS with External Drives</title>
      <link>https://www.junian.dev/tech/casaos-on-macos-with-external-drives/</link>
      <pubDate>Mon, 09 Feb 2026 19:00:00 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/tech/casaos-on-macos-with-external-drives/</guid>
      <description>&lt;p&gt;Previously, I wrote about how to install CasaOS on macOS, both as a &lt;a href=&#34;https://www.junian.dev/tech/macos-install-casaos/&#34;&gt;written guide&lt;/a&gt; and &lt;a href=&#34;https://www.junian.dev/yt/macos-install-casaos/&#34;&gt;in a video&lt;/a&gt;.
I received several similar questions, such as:&lt;/p&gt;
&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Any way to mount external volumes? Without volumes, it is useless. Please someone help.&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;How can I share my actual hard disks on CasaOS?&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Thanks for the tutorial, it works great. How do I configure an external USB HDD? Thank you.&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;It is working perfectly, but we have one “big” problem. I have three other external drives and I couldn’t mount them all into CasaOS.&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;Basically, many of you wanted to know how to mount external drives to CasaOS on macOS.
That makes sense, because Apple charges a premium for large internal storage, and it’s usually much cheaper to expand your homelab storage using external drives.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Download and Fix Mendeley Desktop Citation Plugin for Microsoft Word on macOS</title>
      <link>https://www.junian.dev/tech/macos-mendeley-desktop-microsoft-word-plugin/</link>
      <pubDate>Sat, 07 Feb 2026 19:00:00 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/tech/macos-mendeley-desktop-microsoft-word-plugin/</guid>
      <description>&lt;p&gt;If you’re still using Mendeley Desktop for Mac (yep, same here) and writing your research paper in Microsoft Word, chances are you’ve hit this annoying problem:&lt;/p&gt;
&lt;p&gt;You click &lt;strong&gt;Install Word Plugin&lt;/strong&gt; in Mendeley Desktop and it responds with something like &lt;strong&gt;Unable to install the Microsoft Word plugin.&lt;/strong&gt;&lt;/p&gt;
&lt;figure&gt;
    &lt;img src=&#34;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgit_V1rGjyXNCmZNMo3OoA6dkdH6iH-PvWvpvIV4Jn1RsZ5j2oKjtS8ygL0q_HmiRWGc9kbVAvcZgk9xLWPPnwWEBEY-cGxKTRoXZTXMKE6M8QGVjbNPH0DvUsmZqu-bkyQrOxUc0wCxD4Orajs_4mSkzspBLr2_RY34S-DG9IdmVwnwiPj-mGng_aIR0/s1600/macos-mendeley-desktop-install-ms-word-plugin.png&#34; alt=&#34;Mendeley Desktop for Mac MS Word Plugin Install&#34;loading=&#34;lazy&#34;
    &gt;&lt;figcaption&gt;Mendeley Desktop for Mac MS Word Plugin Install&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;Super helpful. 🙃&lt;/p&gt;
&lt;p&gt;The good news?
It’s totally fixable—and once you know how, it’s actually pretty simple.
I’ve had to do this more than once, so here’s the exact workaround that worked for me on macOS.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Old Pages, Numbers, and Keynote iWork macOS App Download Links</title>
      <link>https://www.junian.dev/tech/macos-old-pages-numbers-keynote-download-links/</link>
      <pubDate>Sat, 31 Jan 2026 19:00:00 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/tech/macos-old-pages-numbers-keynote-download-links/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;UPDATE 2026/04/13 RIP 🪦:&lt;/strong&gt; &lt;em&gt;&lt;a href=&#34;https://x.com/aaronp613/status/2043721472573636622?s=61&amp;amp;t=a-bloX1n-TZ50ofqhetO1A&#34;&gt;Per Aaron Perris, a MacRumors analyst&lt;/a&gt;, Apple has removed the non-Creator Studio version of Pages, Keynote, and Numbers for macOS.&lt;/em&gt;
&lt;em&gt;If you already had these apps, you can download them again from your purchase history. But if you&amp;rsquo;re a new user looking on the App Store, the only option you&amp;rsquo;ll find is the Creator Studio version.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Recently, Apple introduced Apple Creator Studio, which includes the latest versions of Pages, Numbers, and Keynote.
It is free to download and use, with an optional subscription for additional features.
For most users, this version works perfectly fine.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Installing Multiple .NET Versions on macOS with Homebrew</title>
      <link>https://www.junian.dev/dev/install-multiple-dotnet-macos-homebrew/</link>
      <pubDate>Wed, 03 Dec 2025 09:25:59 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/dev/install-multiple-dotnet-macos-homebrew/</guid>
      <description>&lt;p&gt;If you&amp;rsquo;re a .NET developer using macOS, you may want to install multiple .NET SDK versions side by side.
While you can do this manually, it can become a headache to maintain in the long term. As you install more SDKs, leftover files can accumulate and fill up your storage.&lt;/p&gt;
&lt;p&gt;Uninstalling older versions manually can also be tedious. You can refer to the &lt;a href=&#34;https://learn.microsoft.com/en-us/dotnet/core/install/remove-runtime-sdk-versions?pivots=os-macos&#34;&gt;official documentation&lt;/a&gt; for removal instructions. I even wrote &lt;a href=&#34;https://www.junian.dev/dev/dotnet-sdk-runtime-macos-removal/&#34;&gt;an uninstallation guide&lt;/a&gt; to remind myself how to do it properly.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Microsoft Office for Mac Older Download Links</title>
      <link>https://www.junian.dev/tech/microsoft-office-for-mac-download-links/</link>
      <pubDate>Tue, 02 Dec 2025 19:00:00 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/tech/microsoft-office-for-mac-download-links/</guid>
      <description>&lt;p&gt;Did you know that Microsoft 365 for Mac, Office 2024 for Mac, and Office 2021 for Mac support only the three most recent major versions of Apple’s macOS? As of September 2025, these are macOS Tahoe, macOS Sequoia, and macOS Sonoma.&lt;/p&gt;
&lt;p&gt;What if you&amp;rsquo;re using a macOS version older than Sonoma? Can you still use Microsoft Office on macOS?&lt;/p&gt;
&lt;p&gt;Yes. You can download and install the latest version compatible with your macOS release using the links below.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Managing macOS System Extensions From the Terminal</title>
      <link>https://www.junian.dev/tech/macos-system-extension-management/</link>
      <pubDate>Mon, 01 Dec 2025 19:00:00 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/tech/macos-system-extension-management/</guid>
      <description>&lt;p&gt;You can list installed system extensions on macOS from the Terminal.&lt;/p&gt;
&lt;p&gt;To do that, you can use the following command:&lt;/p&gt;

&lt;figure class=&#34;highlight&#34;&gt;
    &lt;button class=&#34;btn-clipboard chroma&#34; title=&#34;Copy to clipboard&#34;&gt;&lt;i class=&#34;fa icon-clipboard&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 24 24&#34; class=&#34;feather feather-copy&#34;&gt;&lt;rect x=&#34;9&#34; y=&#34;9&#34; width=&#34;13&#34; height=&#34;13&#34; rx=&#34;2&#34; ry=&#34;2&#34;/&gt;&lt;path d=&#34;M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1&#34;/&gt;&lt;/svg&gt;&lt;/i&gt;&lt;span class=&#34;msg-clipboard&#34;&gt;&lt;/span&gt;&lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;systemextensionsctl list&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
    
&lt;/figure&gt;&lt;p&gt;For example, on macOS I have several system extensions including the camera extension from Open Broadcaster Software or the OBS app.&lt;/p&gt;

&lt;figure class=&#34;highlight&#34;&gt;
    &lt;button class=&#34;btn-clipboard chroma&#34; title=&#34;Copy to clipboard&#34;&gt;&lt;i class=&#34;fa icon-clipboard&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 24 24&#34; class=&#34;feather feather-copy&#34;&gt;&lt;rect x=&#34;9&#34; y=&#34;9&#34; width=&#34;13&#34; height=&#34;13&#34; rx=&#34;2&#34; ry=&#34;2&#34;/&gt;&lt;path d=&#34;M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1&#34;/&gt;&lt;/svg&gt;&lt;/i&gt;&lt;span class=&#34;msg-clipboard&#34;&gt;&lt;/span&gt;&lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ systemextensionsctl list
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;m&#34;&gt;3&lt;/span&gt; extension&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;s&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--- com.apple.system_extension.cmio &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;Go to &lt;span class=&#34;s1&#34;&gt;&amp;#39;System Settings &amp;gt; General &amp;gt; Login Items &amp;amp; Extensions &amp;gt; Camera Extensions&amp;#39;&lt;/span&gt; to modify these system extension&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;s&lt;span class=&#34;o&#34;&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;enabled active  teamID  bundleID &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;version&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;      name    &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;state&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;*       *       TQ5W6RYNUV      com.antonmeier.webcamplus.server.macOS-Camera-Extension &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;2.0.0/3&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;       macOS-Camera-Extension  &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;activated enabled&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;*       *       2MMRE5MTB8      com.obsproject.obs-studio.mac-camera-extension &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;32.0.2/18749313472&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;     OBS Virtual Camera      &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;activated enabled&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--- com.apple.system_extension.network_extension &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;Go to &lt;span class=&#34;s1&#34;&gt;&amp;#39;System Settings &amp;gt; General &amp;gt; Login Items &amp;amp; Extensions &amp;gt; Network Extensions&amp;#39;&lt;/span&gt; to modify these system extension&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;s&lt;span class=&#34;o&#34;&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;enabled active  teamID  bundleID &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;version&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;      name    &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;state&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;*       *       VBG97UB4TA      com.objective-see.lulu.extension &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;4.2.0/4.2.0&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;  LuLu    &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;activated enabled&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
    
&lt;/figure&gt;&lt;p&gt;Now, let&amp;rsquo;s say you want to uninstall OBS. After you uninstall it, the OBS Camera extension is still there.
To remove it from your macOS, you can use the following command:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Using a Closed MacBook with an External Monitor (Clamshell Mode)</title>
      <link>https://www.junian.dev/tech/macbook-clamshell-mode/</link>
      <pubDate>Thu, 27 Nov 2025 17:00:00 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/tech/macbook-clamshell-mode/</guid>
      <description>&lt;p&gt;Previously I wrote about the &lt;a href=&#34;https://www.junian.dev/tech/macos-screen-mirror-keyboard-shortcut/&#34;&gt;keyboard shortcut to mirror a MacBook screen to an external monitor&lt;/a&gt;. I needed that because I couldn&amp;rsquo;t see half of my broken MacBook screen.&lt;/p&gt;
&lt;p&gt;While it worked great, it felt strange to keep the MacBook open with a blank or damaged display while looking at the external monitor. I have several wireless and Bluetooth mice and keyboards at home, so I wondered: can I connect my MacBook to an external monitor, use my Bluetooth keyboard and mouse, and close the MacBook lid?&lt;/p&gt;</description>
    </item>
    <item>
      <title>macOS Screen Mirror Keyboard Shortcut</title>
      <link>https://www.junian.dev/tech/macos-screen-mirror-keyboard-shortcut/</link>
      <pubDate>Mon, 24 Nov 2025 19:00:00 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/tech/macos-screen-mirror-keyboard-shortcut/</guid>
      <description>&lt;p&gt;My MacBook screen is broken! Can&amp;rsquo;t see anything! Need a repair ASAP!&lt;/p&gt;
&lt;p&gt;But, what about my data?&lt;/p&gt;
&lt;p&gt;Oh, I know. Let&amp;rsquo;s try connect it to an external monitor.&lt;/p&gt;
&lt;p&gt;Oh no! the MacBook screen is not mirrored automatically.&lt;/p&gt;
&lt;p&gt;Where is the menu to mirror the screen? Can&amp;rsquo;t find it anywhere! Can&amp;rsquo;t see anything!&lt;/p&gt;
&lt;p&gt;Is there a shortcut for it?&lt;/p&gt;
&lt;p&gt;Well, actually yes.&lt;/p&gt;
&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/sRJAzUL1jRk?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;
    &lt;/div&gt;
    &lt;p&gt;&lt;a href=&#34;https://www.youtube.com/@JunianDev?sub_confirmation=1&#34; target=&#34;_blank&#34;&gt;&lt;img src=&#34;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCSx6KT2geZz3TgDYUlDWgamXCCztHusZY4FsB5gQfyhAu-omBphLzVSc8wD6o7crJ64XYaN6lmMrQ6FN9zvulN1t-P-CCa9ZvLLFn7LGnXpS-Rb5rQHqS3DwLrkbS_tAHzDcrH0sUxzkSEeeTnAis7dZpzZJhouuPnI4USQnXfmrb37gP7CD0uHR4qh8I/s300/youtube-subscribe-button-and-bell-icon.png&#34; alt=&#34;Subscribe to Junian Dev YouTube channel&#34; /&gt;&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Windows App (formerly Microsoft Remote Desktop) for macOS Download Links</title>
      <link>https://www.junian.dev/tech/macos-microsoft-windows-app-downloads/</link>
      <pubDate>Sat, 22 Nov 2025 19:00:00 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/tech/macos-microsoft-windows-app-downloads/</guid>
      <description>&lt;p&gt;If you&amp;rsquo;re using an older version of macOS and want to access a Windows PC using the Microsoft Windows App, you may encounter compatibility issues.&lt;/p&gt;
&lt;p&gt;But don’t worry—I’ve compiled a list of the &lt;strong&gt;final compatible versions&lt;/strong&gt; of the Microsoft Windows App for older systems.&lt;/p&gt;
&lt;p&gt;You can install it either manually or by using the Homebrew package manager.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;You can use the classic &lt;a href=&#34;https://www.junian.dev/tech/macos-microsoft-remote-desktop-client-app/&#34;&gt;Microsoft Remote Desktop&lt;/a&gt; app for older versions of macOS.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Microsoft Remote Desktop Client App for Older macOS Versions</title>
      <link>https://www.junian.dev/tech/macos-microsoft-remote-desktop-client-app/</link>
      <pubDate>Wed, 19 Nov 2025 06:30:00 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/tech/macos-microsoft-remote-desktop-client-app/</guid>
      <description>&lt;p&gt;If you&amp;rsquo;re using an older version of macOS and want to access a Windows PC using the Microsoft Remote Desktop client app, you may run into compatibility issues.&lt;/p&gt;
&lt;p&gt;Recently, Microsoft rebranded the &lt;em&gt;Microsoft Remote Desktop&lt;/em&gt; app as the new &lt;a href=&#34;https://apps.apple.com/us/app/windows-app/id1295203466&#34;&gt;Windows App&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;At the time of writing, the Windows App requires macOS 13 (Ventura) or later to install and run.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;If you prefer the modern app, you can use the &lt;a href=&#34;https://www.junian.dev/tech/macos-microsoft-windows-app-downloads/&#34;&gt;Windows App&lt;/a&gt; on macOS instead.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Microsoft SQL Server on Apple Silicon ARM64 Mac</title>
      <link>https://www.junian.dev/dev/microsoft-sql-server-apple-silicon-mac/</link>
      <pubDate>Tue, 04 Nov 2025 19:00:00 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/dev/microsoft-sql-server-apple-silicon-mac/</guid>
      <description>&lt;p&gt;Have you ever wanted to develop a web app on your Apple Silicon Mac (M1, M2, and so on &amp;hellip;) that uses Microsoft SQL Server as its database engine?
I often do that when working on ASP.NET apps, since they’re commonly paired with SQL Server.
Most of the time, I can just use a remote SQL Server instance for development.
But sometimes I need to run one locally.&lt;/p&gt;
&lt;p&gt;Unfortunately, Microsoft SQL Server doesn’t officially support &lt;strong&gt;ARM64 macOS&lt;/strong&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Change the Default Screenshot Folder on macOS</title>
      <link>https://www.junian.dev/tech/macos-change-screenshot-folder/</link>
      <pubDate>Sun, 02 Nov 2025 19:00:00 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/tech/macos-change-screenshot-folder/</guid>
      <description>&lt;p&gt;I take a lot of screenshots on macOS, whether for work or content creation.
By default, macOS saves all screenshots to the &lt;code&gt;~/Desktop/&lt;/code&gt; folder.
That’s convenient because you can easily find them right on your Desktop.
But it can also get messy very quickly, especially if you record your screen often.&lt;/p&gt;
&lt;p&gt;When I’m doing screen recordings, I prefer my Desktop to look neat and uncluttered.
I don’t want my viewers to see my chaotic workspace.
So I wondered: can I change the default screenshot folder on macOS?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Enable Three Finger Window Drag on macOS</title>
      <link>https://www.junian.dev/tech/macos-three-finger-drag-window/</link>
      <pubDate>Thu, 30 Oct 2025 19:00:00 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/tech/macos-three-finger-drag-window/</guid>
      <description>&lt;p&gt;If you’re using a trackpad on your Mac, you’re probably familiar with dragging windows using it.
Normally, you press and hold the trackpad with one finger, then use another finger to move the window.&lt;/p&gt;
&lt;p&gt;While this method works fine, there’s actually a better and more comfortable way to drag windows. It&amp;rsquo;s called &lt;code&gt;three-finger drag&lt;/code&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Not in the mood for reading? Watch the &lt;a href=&#34;https://www.junian.dev/tech/macos-three-finger-drag-window/#video&#34;&gt;video&lt;/a&gt; instead.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;As the name suggests, three finger drag lets you move windows on macOS by simply placing three fingers on the trackpad, no pressing or clicking required.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Show File Extensions in Finder on macOS</title>
      <link>https://www.junian.dev/tech/macos-finder-show-file-extension/</link>
      <pubDate>Thu, 23 Oct 2025 19:00:00 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/tech/macos-finder-show-file-extension/</guid>
      <description>&lt;p&gt;I always recommend setting your operating system to display file extensions at all times whether the file type is known or unknown.&lt;/p&gt;
&lt;p&gt;The reason is simple: malware can easily pretend to be something it’s not.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Not in the mood for reading? Watch the &lt;a href=&#34;https://www.junian.dev/tech/macos-finder-show-file-extension/#video&#34;&gt;video&lt;/a&gt; instead.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;For example, an executable file can disguise itself as a PDF or an image file.
If you’re not careful, opening it could compromise your system.&lt;/p&gt;
&lt;p&gt;If you’re on macOS, you probably use the Finder app daily to browse files on your system.
Here’s how to make Finder always show file extensions:&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Listen to macOS Background Sounds</title>
      <link>https://www.junian.dev/tech/macos-background-sounds/</link>
      <pubDate>Tue, 21 Oct 2025 19:00:00 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/tech/macos-background-sounds/</guid>
      <description>&lt;p&gt;Do you enjoy calming background sounds like rain, campfires, or ocean waves?
If so, and you’re using macOS, you’ll be happy to know that it already includes built-in background sounds. They’re just a bit hidden in System Settings.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Not in the mood for reading? Watch the &lt;a href=&#34;https://www.junian.dev/tech/macos-background-sounds/#video&#34;&gt;video&lt;/a&gt; instead.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;To listen to background sounds on macOS, follow these steps:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Open &lt;code&gt;System Settings.app&lt;/code&gt; by clicking the Apple logo &lt;code&gt;&lt;/code&gt; → &lt;code&gt;System Settings…&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Click &lt;code&gt;Control Center&lt;/code&gt; from the sidebar.&lt;/li&gt;
&lt;li&gt;Scroll to the bottom until you see the &lt;code&gt;Hearing&lt;/code&gt; section.&lt;/li&gt;
&lt;li&gt;Check &lt;code&gt;Show in Menu Bar&lt;/code&gt; under the &lt;code&gt;Hearing&lt;/code&gt; section.&lt;/li&gt;
&lt;/ul&gt;
&lt;figure&gt;
    &lt;img src=&#34;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoNhOG9BooDDp1FkcOfFJIyazxdl_pleYzJ3OM2uSt5dUtYoAuAUXWutYaJm6M3JWNo0epgmqaJGM2gG85XM7XX-QbeDNpSrhX2Yp-O07FJkKEZzHhccx6FxnvEpsoBtChv1AJFe8XC2l2-yJg_yK4oHw_R-XzvqEuhPw37k877MYmCpI4hN158t9ARNA/s1600/macos-menu-bar-background-sounds-settings-marked.png&#34; alt=&#34;System Settings → Control Center → Hearing&#34;loading=&#34;lazy&#34;
    &gt;&lt;figcaption&gt;System Settings → Control Center → Hearing&lt;/figcaption&gt;&lt;/figure&gt;&lt;ul&gt;
&lt;li&gt;Look at the top menu bar and find the &lt;code&gt;ear 👂 icon&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Click it, then click the &lt;code&gt;circle button with musical notes&lt;/code&gt; to turn background sounds on or off.&lt;/li&gt;
&lt;li&gt;You can also choose which sound you’d like to listen to!&lt;/li&gt;
&lt;/ul&gt;
&lt;figure&gt;
    &lt;img src=&#34;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyotuDK5Hdcmkz__XZm3JoQ752ilgrhDikKeIM4o1CaYQ6cuxuUKM_SW-PAEovzx9E-m1jJD8uEOtJAO7Ooa5asGYFzucZV6K7zlxgpZPIeGMraa8rphFQOdkxKMkxleEw_poDY1BjSY5IjTPrzkxIv53bQJ8I2OjezI4UvV2tAdAuAOQd0jgjf2ILiqM/s500/macos-menu-bar-background-sounds.png&#34; alt=&#34;Hearing Background Sounds from Menu Bar&#34;loading=&#34;lazy&#34;
    &gt;&lt;figcaption&gt;Hearing Background Sounds from Menu Bar&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;Alternatively, you can activate it through the &lt;code&gt;Accessibility&lt;/code&gt; menu:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Disable macOS Auto Update</title>
      <link>https://www.junian.dev/tech/macos-disable-auto-update/</link>
      <pubDate>Mon, 20 Oct 2025 19:00:00 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/tech/macos-disable-auto-update/</guid>
      <description>&lt;p&gt;Most of the time, it’s recommended to update macOS to the latest version for better security and new features.&lt;/p&gt;
&lt;p&gt;But sometimes the update itself can be problematic, like the recent macOS 26 &lt;em&gt;Tahoe&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;If you don’t want macOS to automatically download new versions, you can disable it in &lt;strong&gt;System Settings&lt;/strong&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Not in the mood for reading? Watch the &lt;a href=&#34;https://www.junian.dev/tech/macos-disable-auto-update/#video&#34;&gt;video&lt;/a&gt; instead.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Here’s how to do it:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Open &lt;strong&gt;System Settings.app&lt;/strong&gt; by clicking the Apple logo &lt;code&gt;&lt;/code&gt; → &lt;code&gt;System Settings…&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Go to the &lt;code&gt;General&lt;/code&gt; section in the sidebar.&lt;/li&gt;
&lt;li&gt;Click&lt;code&gt;Software Update&lt;/code&gt; on the right side.&lt;/li&gt;
&lt;li&gt;Click the &lt;code&gt;ⓘ&lt;/code&gt; icon next to &lt;code&gt;Automatic Updates&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Uncheck &lt;code&gt;Install macOS updates&lt;/code&gt; to stop automatic installation.&lt;/li&gt;
&lt;li&gt;Uncheck &lt;code&gt;Download new updates when available&lt;/code&gt; to stop automatic downloads.&lt;/li&gt;
&lt;li&gt;Click &lt;code&gt;Done&lt;/code&gt; when you’re finished.&lt;/li&gt;
&lt;/ul&gt;
&lt;figure&gt;
    &lt;img src=&#34;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-U1Sptd1Tg6-KC-4C_QGpoZnM81YON5GTf0BgUuJSnqCKTDN8CFXNxuTuuaCtYlEyUEu2qsE-SH-5M_rS3sS2s8Bc3UB9yrBra0RW3942FK7EW0FPncKumb7CiG7rLUd-HAoL48_OyQAZ5gDqm3oO4D3a_QhT-Klj1NO0qrWwZv4goV6yXLesOGrzFU4/s1600/macos-disable-auto-update.png&#34; alt=&#34;Disable macOS Auto Update&#34;loading=&#34;lazy&#34;
    &gt;&lt;figcaption&gt;Disable macOS Auto Update&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;That’s it! The next time there’s a new update, macOS won’t download or install it automatically.
You’ll have full control over whether to stay on your current version or upgrade to the new one.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fixing exFAT Drives on macOS</title>
      <link>https://www.junian.dev/tech/macos-fix-exfat/</link>
      <pubDate>Sat, 13 Sep 2025 03:33:02 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/tech/macos-fix-exfat/</guid>
      <description>&lt;p&gt;exFAT is a storage format created by Microsoft that is portable across platforms. This means you can read and write to exFAT-formatted drives from any operating system, including macOS.&lt;/p&gt;
&lt;p&gt;Unfortunately, exFAT support on macOS can be unreliable. My external drives formatted with exFAT have occasionally become corrupted.&lt;/p&gt;
&lt;p&gt;Disk Utility is often unable to repair this at first, but there is a way to fix it:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Use &lt;code&gt;diskutil list&lt;/code&gt; to find the correct drive identifier.&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;Look under the IDENTIFIER column for an entry like &lt;code&gt;disk1s1&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;Run &lt;code&gt;sudo fsck_exfat -d &amp;lt;identifier&amp;gt;&lt;/code&gt;. For example: &lt;code&gt;sudo fsck_exfat -d disk1s3&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;code&gt;-d&lt;/code&gt; flag enables debug mode, so you&amp;rsquo;ll see your files as they&amp;rsquo;re processed.&lt;/li&gt;
&lt;/ul&gt;
&lt;ol start=&#34;3&#34;&gt;
&lt;li&gt;If prompted with &lt;code&gt;Main boot region needs to be updated. Yes/No?&lt;/code&gt;, answer &lt;code&gt;YES&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Open Disk Utility again; you should now be able to repair the drive successfully.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;See the Apple man page below for more details on the &lt;code&gt;fsck_exfat&lt;/code&gt; utility.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Uninstall Old .NET SDK and Runtime Versions on macOS</title>
      <link>https://www.junian.dev/dev/dotnet-sdk-runtime-macos-removal/</link>
      <pubDate>Mon, 08 Sep 2025 09:43:28 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/dev/dotnet-sdk-runtime-macos-removal/</guid>
      <description>&lt;p&gt;If you&amp;rsquo;re a .NET developer using macOS, you might not realize that old versions of the .NET SDK and Runtime can take up valuable storage space.
When you install a new .NET version, previous versions are usually left behind.
This is often helpful for testing different .NET versions side by side.&lt;/p&gt;
&lt;p&gt;Fortunately, you can easily identify all installed .NET versions on macOS using Terminal.&lt;/p&gt;
&lt;h2 id=&#34;check-installed-net-sdks-and-runtimes&#34;&gt;Check Installed .NET SDKs and Runtimes&lt;/h2&gt;
&lt;p&gt;First, let&amp;rsquo;s see which .NET SDKs and Runtimes are installed on your system. Run the following command:&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Fix &#39;gpg: decryption failed: No pinentry&#39; on macOS</title>
      <link>https://www.junian.dev/tech/macos-gpg-decryption-failed-no-pinentry/</link>
      <pubDate>Sun, 07 Sep 2025 06:53:08 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/tech/macos-gpg-decryption-failed-no-pinentry/</guid>
      <description>&lt;p&gt;Recently, while using the &lt;code&gt;pass&lt;/code&gt; password manager command-line tool on macOS, I encountered the following error message:&lt;/p&gt;

&lt;figure class=&#34;highlight&#34;&gt;
    &lt;button class=&#34;btn-clipboard chroma&#34; title=&#34;Copy to clipboard&#34;&gt;&lt;i class=&#34;fa icon-clipboard&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 24 24&#34; class=&#34;feather feather-copy&#34;&gt;&lt;rect x=&#34;9&#34; y=&#34;9&#34; width=&#34;13&#34; height=&#34;13&#34; rx=&#34;2&#34; ry=&#34;2&#34;/&gt;&lt;path d=&#34;M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1&#34;/&gt;&lt;/svg&gt;&lt;/i&gt;&lt;span class=&#34;msg-clipboard&#34;&gt;&lt;/span&gt;&lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gpg: public key decryption failed: No pinentry
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gpg: decryption failed: No pinentry&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
    
&lt;/figure&gt;&lt;p&gt;This issue occurs because the required dependency, &lt;code&gt;pinentry&lt;/code&gt;, is missing. On macOS, you need to install &lt;code&gt;pinentry-mac&lt;/code&gt;. To fix this, run:&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Update Safari without macOS Upgrade</title>
      <link>https://www.junian.dev/tech/update-safari-without-macos-upgrade/</link>
      <pubDate>Thu, 19 Dec 2024 07:30:49 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/tech/update-safari-without-macos-upgrade/</guid>
      <description>&lt;p&gt;You might want to use the latest version of Safari while keeping the same macOS version.&lt;/p&gt;
&lt;p&gt;This is understandable, as web apps these days update very quickly, and some features are only available in the latest versions of web browsers.&lt;/p&gt;
&lt;p&gt;Normally, you can only update Safari by upgrading the entire macOS. However, it is still possible to update Safari without a full macOS upgrade.&lt;/p&gt;
&lt;p&gt;The option to update Safari is somewhat hidden, but don&amp;rsquo;t worry! By following this guide, you&amp;rsquo;ll be able to find and install the update.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Run Brave Browser without CORS Restriction</title>
      <link>https://www.junian.dev/dev/brave-disable-cors/</link>
      <pubDate>Mon, 18 Nov 2024 06:26:16 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/dev/brave-disable-cors/</guid>
      <description>&lt;p&gt;As a web developer, you likely need to test your REST API locally. When using a browser like Brave Browser, you might encounter issues such as the following message.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Access to fetch at &amp;lsquo;http://localhost:8080/api&amp;rsquo; from origin &amp;lsquo;http://localhost:8000&amp;rsquo; has been blocked by CORS policy: No &amp;lsquo;Access-Control-Allow-Origin&amp;rsquo; header is present on the requested resource. If an opaque response serves your needs, set the request&amp;rsquo;s mode to &amp;rsquo;no-cors&amp;rsquo; to fetch the resource with CORS disabled.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Run Safari Browser without CORS Restriction</title>
      <link>https://www.junian.dev/dev/safari-disable-cors/</link>
      <pubDate>Sun, 17 Nov 2024 11:28:56 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/dev/safari-disable-cors/</guid>
      <description>&lt;p&gt;As a web developer, you likely need to test your REST API locally. When using a browser like Safari, you might encounter issues such as the following messages.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Origin http://localhost:8081 is not allowed by Access-Control-Allow-Origin. Status code: 200&lt;/p&gt;
&lt;p&gt;Fetch API cannot load http://localhost:8080/api/ due to access control checks.&lt;/p&gt;
&lt;p&gt;Failed to load resource: Origin http://localhost:8081 is not allowed by Access-Control-Allow-Origin. Status code: 200&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Don&amp;rsquo;t worry, this is actually a strong security feature implemented by modern web browsers.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Run Microsoft Edge without CORS Restriction</title>
      <link>https://www.junian.dev/dev/microsoft-edge-disable-cors/</link>
      <pubDate>Fri, 25 Oct 2024 12:59:57 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/dev/microsoft-edge-disable-cors/</guid>
      <description>&lt;p&gt;As a web developer, you likely need to test your REST API locally. When using a browser like Microsoft Edge, you might encounter issues such as the following message.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Access to fetch at &amp;lsquo;http://localhost:8000/api&amp;rsquo; from origin &amp;lsquo;http://localhost:3000&amp;rsquo; has been blocked by CORS policy: No &amp;lsquo;Access-Control-Allow-Origin&amp;rsquo; header is present on the requested resource. If an opaque response serves your needs, set the request&amp;rsquo;s mode to &amp;rsquo;no-cors&amp;rsquo; to fetch the resource with CORS disabled.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Ensure Rosetta 2 is Installed on macOS</title>
      <link>https://www.junian.dev/dev/macos-install-rosetta-2/</link>
      <pubDate>Wed, 09 Oct 2024 09:00:00 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/dev/macos-install-rosetta-2/</guid>
      <description>&lt;p&gt;If you are using a Mac with Apple Silicon (M1 / M2 / M3), you may encounter software or applications that are not natively designed for the ARM-based architecture.&lt;/p&gt;
&lt;p&gt;To run these Intel-based apps on your Mac, you need Rosetta 2, a translation tool that enables compatibility.&lt;/p&gt;
&lt;p&gt;This guide will walk you through how to ensure that Rosetta 2 is installed on your macOS.&lt;/p&gt;
&lt;p&gt;To get started, you&amp;rsquo;ll need to open the Terminal app on your Mac. You can find it in the Applications &amp;gt; Utilities folder, or you can use Spotlight to search for it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Run Google Chrome without CORS Restriction</title>
      <link>https://www.junian.dev/dev/google-chrome-disable-cors/</link>
      <pubDate>Mon, 07 Oct 2024 10:02:06 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/dev/google-chrome-disable-cors/</guid>
      <description>&lt;p&gt;If you&amp;rsquo;re a Web developer you probably have a task to test your REST API locally.
When you&amp;rsquo;re using a browser like Google Chrome, you may experience some issues like the following message.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Access to fetch at &amp;lsquo;http://localhost:8080/api&amp;rsquo; from origin &amp;lsquo;http://localhost:8000&amp;rsquo; has been blocked by CORS policy: No &amp;lsquo;Access-Control-Allow-Origin&amp;rsquo; header is present on the requested resource. If an opaque response serves your needs, set the request&amp;rsquo;s mode to &amp;rsquo;no-cors&amp;rsquo; to fetch the resource with CORS disabled.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Installing AUTOMATIC1111 Stable Diffusion Web UI on macOS with Apple Silicon</title>
      <link>https://www.junian.dev/tech/macos-install-stable-diffusion-webui/</link>
      <pubDate>Wed, 02 Oct 2024 15:46:44 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/tech/macos-install-stable-diffusion-webui/</guid>
      <description>&lt;p&gt;I want to play and research about Generative AI, especially image generation with Stable Diffusion, but I don&amp;rsquo;t have an NVIDIA-powered GPU.&lt;/p&gt;
&lt;p&gt;Luckily, my MacBook Air, powered with M1 Apple Silicon, is powerful enough for Stable Diffusion.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m gonna share with you how I&amp;rsquo;m able to install and run Stable Diffusion Web UI on macOS with Apple Silicon.&lt;/p&gt;
&lt;!--adsense--&gt;
&lt;h2 id=&#34;install-dependencies&#34;&gt;Install Dependencies&lt;/h2&gt;
&lt;p&gt;The first thing to do is you need to have the Homebrew package manager installed.
If you don&amp;rsquo;t know how you can read the guide &lt;a href=&#34;https://www.junian.dev/tech/macos-install-homebrew/&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Install ALL Google Fonts on macOS</title>
      <link>https://www.junian.dev/tech/macos-google-fonts/</link>
      <pubDate>Sun, 15 Sep 2024 08:11:03 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/tech/macos-google-fonts/</guid>
      <description>&lt;p&gt;Google Fonts is a collection of free licensed font families.
It has hundreds of fonts freely used for personal and commercial purposes.
It is popular mostly among web developers and designers.&lt;/p&gt;
&lt;p&gt;One time I want to use the same font from my web to my vector design.
I can just install the desired fonts and use them on macOS.
But what if I want to experiment with other fonts?&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Not in the mood for reading? Watch the &lt;a href=&#34;https://www.junian.dev/tech/macos-google-fonts/#video&#34;&gt;video&lt;/a&gt; instead.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Install CasaOS on macOS</title>
      <link>https://www.junian.dev/tech/macos-install-casaos/</link>
      <pubDate>Sat, 14 Sep 2024 12:05:15 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/tech/macos-install-casaos/</guid>
      <description>&lt;p&gt;I have an unused Mac at home that I use as a homelab server.
Naturally, I self-host several web apps and services on it.&lt;/p&gt;
&lt;p&gt;Usually, I use Docker and manually write &lt;code&gt;docker-compose.yaml&lt;/code&gt; files to run web applications.
It works great, but maintaining multiple &lt;code&gt;docker-compose.yaml&lt;/code&gt; files is pretty tedious for a homelab setup.&lt;/p&gt;
&lt;p&gt;I asked myself: is there a simpler way to install web apps on macOS?
Something as simple as the macOS App Store itself?&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Install Docker Desktop on macOS with a Package Manager</title>
      <link>https://www.junian.dev/tech/macos-install-docker/</link>
      <pubDate>Sat, 14 Sep 2024 07:31:56 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/tech/macos-install-docker/</guid>
      <description>&lt;p&gt;Docker is a useful piece of software.
Usually, Developers use it for the development and deployment of their apps.&lt;/p&gt;
&lt;p&gt;But we as a user also can benefit from Docker, especially if we want to install and use web-based apps.&lt;/p&gt;
&lt;p&gt;Enough intro, let&amp;rsquo;s get started.&lt;/p&gt;
&lt;!--adsense--&gt;
&lt;p&gt;I recommend installing the Homebrew package manager first on your macOS. If you don&amp;rsquo;t know how I already wrote it &lt;a href=&#34;https://www.junian.dev/tech/macos-install-homebrew/&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Once you have Homebrew on your Mac, you can install Docker Desktop from the Terminal.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Install Homebrew Package Manager on macOS</title>
      <link>https://www.junian.dev/tech/macos-install-homebrew/</link>
      <pubDate>Thu, 12 Sep 2024 16:34:14 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/tech/macos-install-homebrew/</guid>
      <description>&lt;p&gt;If you&amp;rsquo;re a macOS user and want a convenient way to manage and install software, Homebrew is the go-to package manager. It simplifies installing, updating, and removing apps and command-line tools.&lt;/p&gt;
&lt;p&gt;In this guide, I&amp;rsquo;ll walk you through the steps to install Homebrew and show you how to use it to install software.&lt;/p&gt;
&lt;h2 id=&#34;open-terminal&#34;&gt;Open Terminal&lt;/h2&gt;
&lt;p&gt;First, we need to access the Terminal, the command-line interface for macOS. Here&amp;rsquo;s how to do it:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mac Owner using PC: How to Use the &#39;open&#39; Command in Windows</title>
      <link>https://www.junian.dev/tech/windows-open-command-like-macos/</link>
      <pubDate>Mon, 29 Apr 2024 16:04:57 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/tech/windows-open-command-like-macos/</guid>
      <description>&lt;p&gt;As a macOS user, one question that always bothers me is what is the Windows equivalent of the &lt;code&gt;open&lt;/code&gt; command used in macOS.&lt;/p&gt;
&lt;p&gt;When I&amp;rsquo;m using the macOS Terminal, I usually open a file using a default program by using the &lt;code&gt;open&lt;/code&gt; command like this:&lt;/p&gt;

&lt;figure class=&#34;highlight&#34;&gt;
    &lt;button class=&#34;btn-clipboard chroma&#34; title=&#34;Copy to clipboard&#34;&gt;&lt;i class=&#34;fa icon-clipboard&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 24 24&#34; class=&#34;feather feather-copy&#34;&gt;&lt;rect x=&#34;9&#34; y=&#34;9&#34; width=&#34;13&#34; height=&#34;13&#34; rx=&#34;2&#34; ry=&#34;2&#34;/&gt;&lt;path d=&#34;M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1&#34;/&gt;&lt;/svg&gt;&lt;/i&gt;&lt;span class=&#34;msg-clipboard&#34;&gt;&lt;/span&gt;&lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;open filename.txt&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
    
&lt;/figure&gt;&lt;p&gt;How about on Windows?&lt;/p&gt;</description>
    </item>
    <item>
      <title>VSCode Avalonia Extension Download .NET Runtime Issue</title>
      <link>https://www.junian.dev/dev/vscode-avalonia-requested-to-download-dotnet-runtime/</link>
      <pubDate>Wed, 17 Apr 2024 16:08:38 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/dev/vscode-avalonia-requested-to-download-dotnet-runtime/</guid>
      <description>&lt;p&gt;So I want to start using AvaloniaUI on macOS, but suddenly it always happens.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;AvaloniaTeam.vscode-avalonia requested to download the .NET Runtime.
Downloading .NET version(s) 8.0.4~arm64 &amp;hellip;.Error
Failed to download .NET 8.0:
Web Request to &lt;a href=&#34;https://dot.net/v1/dotnet-install.sh&#34;&gt;https://dot.net/v1/dotnet-install.sh&lt;/a&gt; Failed: n[r].split is not a function. Aborting. Please ensure that you are online.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;To solve that, just open the VSCode &lt;code&gt;settings.json&lt;/code&gt; and configure it with the following settings.&lt;/p&gt;

&lt;figure class=&#34;highlight&#34;&gt;
    &lt;button class=&#34;btn-clipboard chroma&#34; title=&#34;Copy to clipboard&#34;&gt;&lt;i class=&#34;fa icon-clipboard&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 24 24&#34; class=&#34;feather feather-copy&#34;&gt;&lt;rect x=&#34;9&#34; y=&#34;9&#34; width=&#34;13&#34; height=&#34;13&#34; rx=&#34;2&#34; ry=&#34;2&#34;/&gt;&lt;path d=&#34;M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1&#34;/&gt;&lt;/svg&gt;&lt;/i&gt;&lt;span class=&#34;msg-clipboard&#34;&gt;&lt;/span&gt;&lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;dotnetAcquisitionExtension.existingDotnetPath&amp;#34;&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nt&#34;&gt;&amp;#34;extensionId&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;ms-dotnettools.csharp&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nt&#34;&gt;&amp;#34;path&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;/usr/local/share/dotnet/dotnet&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nt&#34;&gt;&amp;#34;extensionId&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;ms-dotnettools.csdevkit&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nt&#34;&gt;&amp;#34;path&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;/usr/local/share/dotnet/dotnet&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nt&#34;&gt;&amp;#34;extensionId&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;visualstudiotoolsforunity.vstuc&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nt&#34;&gt;&amp;#34;path&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;/usr/local/share/dotnet/dotnet&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nt&#34;&gt;&amp;#34;extensionId&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;AvaloniaTeam.vscode-avalonia&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nt&#34;&gt;&amp;#34;path&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;/usr/local/share/dotnet/dotnet&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
    
&lt;/figure&gt;&lt;p&gt;That&amp;rsquo;s it, now you can use &lt;code&gt;AvaloniaUI&lt;/code&gt; on VSCode with auto-complete and everything.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Retrieving Keychain Passwords in Swift for macOS</title>
      <link>https://www.junian.dev/dev/swift-get-keychain-password/</link>
      <pubDate>Wed, 17 Apr 2024 10:45:40 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/dev/swift-get-keychain-password/</guid>
      <description>&lt;p&gt;In Swift development for macOS applications, securing sensitive information like passwords is equally important.
macOS provides a secure storage mechanism called Keychain, where you can store passwords, keys, tokens, and other sensitive data.
This tutorial will guide you through the process of retrieving passwords from the Keychain in Swift for macOS applications.&lt;/p&gt;
&lt;p&gt;To work with the Keychain, you need to import the &lt;code&gt;Security&lt;/code&gt; framework in your Swift file.
Now, let&amp;rsquo;s create a function that retrieves passwords from the Keychain.
Add the following function to your Swift file.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Fix the &#39;zsh compinit: insecure directories&#39; Error on macOS</title>
      <link>https://www.junian.dev/dev/macos-fix-zsh-compinit-insecure-directories/</link>
      <pubDate>Mon, 30 Oct 2023 20:34:43 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/dev/macos-fix-zsh-compinit-insecure-directories/</guid>
      <description>&lt;p&gt;If you&amp;rsquo;ve recently installed the &lt;a href=&#34;https://brew.sh&#34;&gt;Homebrew package manager&lt;/a&gt; on macOS, you might encounter an error message in your Terminal similar to this:&lt;/p&gt;

&lt;figure class=&#34;highlight&#34;&gt;
    &lt;button class=&#34;btn-clipboard chroma&#34; title=&#34;Copy to clipboard&#34;&gt;&lt;i class=&#34;fa icon-clipboard&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 24 24&#34; class=&#34;feather feather-copy&#34;&gt;&lt;rect x=&#34;9&#34; y=&#34;9&#34; width=&#34;13&#34; height=&#34;13&#34; rx=&#34;2&#34; ry=&#34;2&#34;/&gt;&lt;path d=&#34;M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1&#34;/&gt;&lt;/svg&gt;&lt;/i&gt;&lt;span class=&#34;msg-clipboard&#34;&gt;&lt;/span&gt;&lt;/button&gt;
    &lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-zsh&#34; data-lang=&#34;zsh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;zsh compinit: insecure directories, run compaudit &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; list.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Ignore insecure directories and &lt;span class=&#34;k&#34;&gt;continue&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;y&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; or abort compinit &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;n&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;?
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;compinit: initialization aborted&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
    
&lt;/figure&gt;&lt;p&gt;This error can be frustrating, but you don&amp;rsquo;t need to worry.
This guide will walk you through the steps to resolve it.
We&amp;rsquo;ll cover what causes the error and how to fix it quickly.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Convert macOS Icon (.icns) to Image (.png)</title>
      <link>https://www.junian.dev/tech/icns-to-png/</link>
      <pubDate>Tue, 07 Apr 2020 14:35:24 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/tech/icns-to-png/</guid>
      <description>&lt;p&gt;Let&amp;rsquo;s say you want to write a blog post for a certain macOS app.
You write it great, add screenshots here and there to make the tutorial easy to follow.
It&amp;rsquo;s all done, until it&amp;rsquo;s time to publish.
You probably need to make a cover image at the top of your post or for social media thumbnail.
To make it relevant, you might need the icon of the app.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Not in the mood for reading? Watch the &lt;a href=&#34;https://www.junian.dev/tech/icns-to-png/#video&#34;&gt;video&lt;/a&gt; instead.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Permanently Enable macOS Night Shift</title>
      <link>https://www.junian.dev/tech/macos-permanent-night-shift/</link>
      <pubDate>Sat, 28 Mar 2020 06:59:45 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/tech/macos-permanent-night-shift/</guid>
      <description>&lt;p&gt;Since the first time Apple introduced built-in Night Shift on macOS, I was really excited to use it daily.
The purpose of Night Shift is to change your monitor color temperature by reducing the blue part of the color to make your eyes more comfortable to see the monitor at night.
I like the color temperature a lot and I plan to keep it turned on all the time.
Not just for nighttime, but also daytime!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Solving Netflix and Apple TV&#43; Flickering on macOS</title>
      <link>https://www.junian.dev/tech/macos-netflix-tv-flickering/</link>
      <pubDate>Wed, 13 Nov 2019 12:48:58 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/tech/macos-netflix-tv-flickering/</guid>
      <description>&lt;p&gt;I have noticed lately it&amp;rsquo;s awfully annoying when streaming some videos on macOS.
It&amp;rsquo;s constantly flickering when in full-screen mode.&lt;/p&gt;
&lt;p&gt;The first thing I notice is when I stream Netflix with Safari in full-screen mode.
Then another thing also happened when I streamed Apple TV+ using their new &lt;code&gt;TV.app&lt;/code&gt;, which is also in full-screen mode.&lt;/p&gt;
&lt;p&gt;I was wondering what could possibly be causing this.&lt;/p&gt;
&lt;p&gt;Some forums said that it is a bug on macOS when you turn the subtitle on.
I tried to disable the subtitle and yes it doesn&amp;rsquo;t flicker.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Delete macOS Local Time Machine Snapshots</title>
      <link>https://www.junian.dev/tech/delete-macos-local-time-machine-snapshots/</link>
      <pubDate>Fri, 27 Sep 2019 09:12:15 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/tech/delete-macos-local-time-machine-snapshots/</guid>
      <description>&lt;p&gt;Recently, I&amp;rsquo;ve been running out of SSD space on my &lt;a href=&#34;https://www.amazon.com/Apple-MacBook-13-inch-1-4GHz-quad-core/dp/B07V49KGVQ/ref=as_li_ss_tl?keywords=macbook&amp;#43;pro&amp;amp;qid=1566960946&amp;amp;s=gateway&amp;amp;sr=8-3&amp;amp;linkCode=ll1&amp;amp;tag=juniandotnet-20&amp;amp;linkId=507229368be84f1fc9c64d4f5732e143&amp;amp;language=en_US&#34;&gt;13&amp;quot; MacBook Pro&lt;/a&gt;.
I tried to scan for the entire disk using &lt;a href=&#34;http://www.derlien.com&#34;&gt;Disk Inventory X&lt;/a&gt; and found nothing substantial.
Until I finally read an article explaining the cause of suddenly losing disk space.&lt;/p&gt;
&lt;p&gt;Did you know that since macOS High Sierra and later, a Time Machine local snapshot is created and saved before installing any macOS update?&lt;/p&gt;
&lt;p&gt;I honestly didn&amp;rsquo;t know until I read the knowledge base &lt;a href=&#34;https://support.apple.com/en-us/HT204015&#34;&gt;article&lt;/a&gt; from Apple website.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Creating Xamarin.Mac App Distribution in DMG File</title>
      <link>https://www.junian.dev/dev/xamarin-mac-dmg-creation/</link>
      <pubDate>Sat, 25 Aug 2018 05:57:45 +0700</pubDate>
      <author>author@junian.dev (Junian Triajianto)</author>
      <guid>https://www.junian.dev/dev/xamarin-mac-dmg-creation/</guid>
      <description>&lt;p&gt;When you finished developing a macOS desktop app using Xamarin and want to distribute it to end user, you have 3 choices using Visual Studio: Apple App Store distribution, save to disk as &lt;code&gt;.app&lt;/code&gt; file, and portable &lt;code&gt;.pkg&lt;/code&gt; installer.
Except for &lt;code&gt;.app&lt;/code&gt; distribution, you&amp;rsquo;re going to need an Apple Developer ID to create them.&lt;/p&gt;
&lt;p&gt;Now, what if you currently for some reasons don&amp;rsquo;t have an Apple Developer ID.&lt;/p&gt;
&lt;p&gt;One solution is you can just zip the &lt;code&gt;.app&lt;/code&gt; file and distribute it.
But personally, I think that&amp;rsquo;s not an elegant solution because some users don&amp;rsquo;t know that they should put the file to &lt;code&gt;/Applications/&lt;/code&gt; folder.
Even though that&amp;rsquo;s not mandatory, it&amp;rsquo;s better to organize all the apps inside &lt;code&gt;/Applications/&lt;/code&gt; folder.&lt;/p&gt;</description>
    </item>
    
  </channel>
</rss>
