<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Achal Rajyaguru</title>
    <description>The latest articles on DEV Community by Achal Rajyaguru (@achal_rajyaguru_693e42d79).</description>
    <link>https://dev.to/achal_rajyaguru_693e42d79</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3564127%2F036b3558-dbf0-4e79-9f0b-7f63b1895402.jpg</url>
      <title>DEV Community: Achal Rajyaguru</title>
      <link>https://dev.to/achal_rajyaguru_693e42d79</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/achal_rajyaguru_693e42d79"/>
    <language>en</language>
    <item>
      <title>Make the Mac Dock Appear Instantly</title>
      <dc:creator>Achal Rajyaguru</dc:creator>
      <pubDate>Thu, 16 Oct 2025 09:45:50 +0000</pubDate>
      <link>https://dev.to/achal_rajyaguru_693e42d79/make-the-mac-dock-appear-instantly-5h63</link>
      <guid>https://dev.to/achal_rajyaguru_693e42d79/make-the-mac-dock-appear-instantly-5h63</guid>
      <description>&lt;h1&gt;
  
  
  How to Make the Dock Appear Instantly When Dock Hiding Is Turned On
&lt;/h1&gt;

&lt;p&gt;macOS hides the Dock smoothly by default, but this animation introduces a short delay every time you hover to reveal it. If you prefer an instant response, you can remove both the hover delay and the slide-in animation using Terminal.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;The Dock has two built-in slowdowns:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Hover delay&lt;/strong&gt; — a short pause before it starts showing.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Animation time&lt;/strong&gt; — the duration of the slide-in motion.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Both can be disabled.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Fix
&lt;/h2&gt;

&lt;p&gt;Open &lt;strong&gt;Terminal&lt;/strong&gt; and run:&lt;/p&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

defaults write com.apple.dock autohide-delay -float 0
defaults write com.apple.dock autohide-time-modifier -float 0
killall Dock
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>bash</category>
      <category>zsh</category>
      <category>macos</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Automate Homebrew Updates on macOS (Once a Day, Silently)</title>
      <dc:creator>Achal Rajyaguru</dc:creator>
      <pubDate>Tue, 14 Oct 2025 09:24:34 +0000</pubDate>
      <link>https://dev.to/achal_rajyaguru_693e42d79/automate-homebrew-updates-on-macos-once-a-day-silently-2b7a</link>
      <guid>https://dev.to/achal_rajyaguru_693e42d79/automate-homebrew-updates-on-macos-once-a-day-silently-2b7a</guid>
      <description>&lt;p&gt;If you use &lt;a href="https://brew.sh" rel="noopener noreferrer"&gt;Homebrew &lt;/a&gt;to install apps or developer tools, you probably run commands like brew update and brew upgrade often.&lt;/p&gt;

&lt;p&gt;Wouldn’t it be great if your Mac handled that automatically—without you having to open Terminal?&lt;/p&gt;

&lt;p&gt;In this post, you’ll set up a simple, invisible background script that updates both Homebrew casks (macOS apps) and formulae (CLI packages) once per day. It runs quietly at login—no pop-ups, no notifications, no visible windows.&lt;/p&gt;

&lt;p&gt;⸻&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Find Your Mac Username
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;You’ll need your macOS username for one of the commands later.&lt;/li&gt;
&lt;li&gt;Open Terminal and type:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;whoami
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Press Enter, and you’ll see something like:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;john
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;&lt;p&gt;That’s your username.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In the steps below, replace every YOUR_MACS_USERNAME with your actual username (for example, john).&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;⸻&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Create the Auto-Update Script
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;This script checks if it already ran today. If not, it runs Homebrew’s update and upgrade commands in the background — silently.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Copy and paste this into Terminal:&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;mkdir -p ~/.scripts
cat &amp;lt;&amp;lt; 'EOF' &amp;gt; ~/.scripts/brew_auto_update.sh
#!/bin/zsh

LOGFILE="$HOME/.scripts/brew_daily.log"
TODAY=$(date +"%Y-%m-%d")

# Skip if today's update already ran
if grep -q "$TODAY" "$LOGFILE" 2&amp;gt;/dev/null; then
    exit 0
fi

# Silent Homebrew maintenance
/opt/homebrew/bin/brew update &amp;gt;/dev/null 2&amp;gt;&amp;amp;1
/opt/homebrew/bin/brew upgrade --cask &amp;gt;/dev/null 2&amp;gt;&amp;amp;1
/opt/homebrew/bin/brew upgrade --formula &amp;gt;/dev/null 2&amp;gt;&amp;amp;1
/opt/homebrew/bin/brew upgrade &amp;gt;/dev/null 2&amp;gt;&amp;amp;1
/opt/homebrew/bin/brew cleanup &amp;gt;/dev/null 2&amp;gt;&amp;amp;1

# Mark completion
echo "$TODAY" &amp;gt;&amp;gt; "$LOGFILE"
EOF

chmod +x ~/.scripts/brew_auto_update.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;This creates and saves the script in a hidden folder ~/.scripts and makes it executable.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;⸻&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Create the LaunchAgent
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;This tells macOS to automatically run the script when you log in.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Copy and paste this into Terminal (replace YOUR_MACS_USERNAME with your own username):&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;mkdir -p ~/Library/LaunchAgents
cat &amp;lt;&amp;lt; 'EOF' &amp;gt; ~/Library/LaunchAgents/com.user.brewautoupdate.plist
&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;
&amp;lt;!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"&amp;gt;
&amp;lt;plist version="1.0"&amp;gt;
&amp;lt;dict&amp;gt;
    &amp;lt;key&amp;gt;Label&amp;lt;/key&amp;gt;
    &amp;lt;string&amp;gt;com.user.brewautoupdate&amp;lt;/string&amp;gt;
    &amp;lt;key&amp;gt;ProgramArguments&amp;lt;/key&amp;gt;
    &amp;lt;array&amp;gt;
        &amp;lt;string&amp;gt;/bin/zsh&amp;lt;/string&amp;gt;
        &amp;lt;string&amp;gt;/Users/YOUR_MACS_USERNAME/.scripts/brew_auto_update.sh&amp;lt;/string&amp;gt;
    &amp;lt;/array&amp;gt;
    &amp;lt;key&amp;gt;RunAtLoad&amp;lt;/key&amp;gt;
    &amp;lt;true/&amp;gt;
    &amp;lt;key&amp;gt;KeepAlive&amp;lt;/key&amp;gt;
    &amp;lt;false/&amp;gt;
    &amp;lt;key&amp;gt;StandardOutPath&amp;lt;/key&amp;gt;
    &amp;lt;string&amp;gt;/dev/null&amp;lt;/string&amp;gt;
    &amp;lt;key&amp;gt;StandardErrorPath&amp;lt;/key&amp;gt;
    &amp;lt;string&amp;gt;/dev/null&amp;lt;/string&amp;gt;
&amp;lt;/dict&amp;gt;
&amp;lt;/plist&amp;gt;
EOF

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Now load the agent into macOS:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;launchctl load ~/Library/LaunchAgents/com.user.brewautoupdate.plist

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;⸻&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4: Verify It’s Working
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;To confirm that it’s loaded:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;launchctl list | grep brewautoupdate
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;If you see an entry like this, it’s running:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;0 com.user.brewautoupdate&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;To check whether it ran today:&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cat ~/.scripts/brew_daily.log
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Each line shows the date the updater completed successfully.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;⸻&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 5: Disable (Optional)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;If you ever want to stop the automation, run:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
launchctl unload ~/Library/LaunchAgents/com.user.brewautoupdate.plist

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;⸻&lt;/p&gt;

&lt;p&gt;Done.&lt;br&gt;
Your Mac now keeps itself updated with no interruptions and no visible background processes. Simple, efficient, and future-proof.&lt;/p&gt;

</description>
      <category>bash</category>
      <category>automation</category>
      <category>macos</category>
      <category>dev</category>
    </item>
  </channel>
</rss>
