<?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: Brisbane Web Developer</title>
    <description>The latest articles on DEV Community by Brisbane Web Developer (@brisbanewebdeveloper).</description>
    <link>https://dev.to/brisbanewebdeveloper</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%2F456549%2F9a0d0432-8732-425a-b9a9-3ce314e6d3a5.png</url>
      <title>DEV Community: Brisbane Web Developer</title>
      <link>https://dev.to/brisbanewebdeveloper</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/brisbanewebdeveloper"/>
    <language>en</language>
    <item>
      <title>How to Transfer Ollama Model Settings Between Hugging Face Models</title>
      <dc:creator>Brisbane Web Developer</dc:creator>
      <pubDate>Sun, 13 Jul 2025 01:25:29 +0000</pubDate>
      <link>https://dev.to/brisbanewebdeveloper/how-to-transfer-ollama-model-settings-between-hugging-face-models-2ih9</link>
      <guid>https://dev.to/brisbanewebdeveloper/how-to-transfer-ollama-model-settings-between-hugging-face-models-2ih9</guid>
      <description>&lt;h2&gt;
  
  
  Situation
&lt;/h2&gt;

&lt;p&gt;I had a model called &lt;code&gt;hf.co/aaa/Example-XXX:YYY&lt;/code&gt; in Ollama, and I found the model at &lt;a href="https://huggingface.co" rel="noopener noreferrer"&gt;Hugging Face&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Today, I found a fine-tuned model and tried to use it, but noticed that &lt;code&gt;ollama show&lt;/code&gt; does not show &lt;code&gt;TEMPLATE&lt;/code&gt; etc, and the output is unexpected (e.g. It does not stop answering etc).&lt;/p&gt;

&lt;p&gt;Say, &lt;code&gt;ollama pull&lt;/code&gt; names the fine-tuned model as:&lt;br&gt;
&lt;code&gt;hf.co/bbb/FineTuned-Example-XXX:Q4_M&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;And you decided to apply the same settings from:&lt;br&gt;
&lt;code&gt;hf.co/aaa/Example-XXX:YYY&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Commands
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Delete the model downloaded
# - I did this, but you can actually keep it and just replace it
#   with a new configuration
ollama rm hf.co/bbb/FineTuned-Example-XXX:Q4_M

mkdir my_modelfiles

cd my_modelfiles

ollama show --modelfile hf.co/aaa/Example-XXX:YYY &amp;gt; example.txt

# Amend "example.txt" to say:
# FROM hf.co/bbb/FineTuned-Example-XXX:Q4_M

# Create the model with the modified file:
ollama create hf.co/bbb/FineTuned-Example-XXX:Q4_M -f example.txt

# Check the model:
ollama show hf.co/bbb/FineTuned-Example-XXX:Q4_M

# Run the model:
ollama run hf.co/bbb/FineTuned-Example-XXX:Q4_M "Hello."
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>ai</category>
      <category>ollama</category>
      <category>linux</category>
      <category>huggingface</category>
    </item>
    <item>
      <title>Avoid an extra message from not using Amazon Bedrock when running the fabric command</title>
      <dc:creator>Brisbane Web Developer</dc:creator>
      <pubDate>Sun, 29 Jun 2025 02:51:23 +0000</pubDate>
      <link>https://dev.to/brisbanewebdeveloper/avoid-an-extra-message-from-not-using-amazon-bedrock-when-running-the-fabric-command-2ch2</link>
      <guid>https://dev.to/brisbanewebdeveloper/avoid-an-extra-message-from-not-using-amazon-bedrock-when-running-the-fabric-command-2ch2</guid>
      <description>&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;I noticed that the recent &lt;a href="https://github.com/danielmiessler/Fabric" rel="noopener noreferrer"&gt;fabric&lt;/a&gt; (v1.4.219, while I was writing this) displays an extra output when:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You run the command&lt;/li&gt;
&lt;li&gt;You have the file &lt;code&gt;$HOME/.aws/credentials&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Your AWS credential does not have the permission for &lt;a href="https://aws.amazon.com/bedrock/" rel="noopener noreferrer"&gt;Amazon Bedrock&lt;/a&gt; (as I do not use it).
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;fabric -L
---
Bedrock failed to list foundation models: operation error Bedrock: ListFoundationModels, https response error StatusCode: 403, RequestID: 12345678-1234-1234-1234-123412341234, AccessDeniedException: User: arn:aws:iam::123412341234:user/example is not authorized to perform: bedrock:ListFoundationModels because no identity-based policy allows the bedrock:ListFoundationModels action

Available models:

Ollama

        [1]     ...
        [2]     ...
(Omitting)

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

&lt;/div&gt;



&lt;h2&gt;
  
  
  Workaround
&lt;/h2&gt;

&lt;p&gt;I cloned their Git Repository, asked &lt;code&gt;GitHub Copilot + ChatGPT 4.1&lt;/code&gt; why the extra unexpected message, and figured that it refers to an environment variable &lt;code&gt;AWS_SHARED_CREDENTIALS_FILE&lt;/code&gt; so that if I set something, the current code sees as you have a legitimate AWS credential, thereby avoiding the output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$HOME/.config/fabric/.env
---
(Omitting)
AWS_SHARED_CREDENTIALS_FILE=.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>tips</category>
      <category>fabric</category>
      <category>macos</category>
      <category>linux</category>
    </item>
    <item>
      <title>Revolutionizing AI: How LLM like QwQ or Deepseek-R1 etc, Ollama, WireGuard, and Fabric Can Supercharge Your Workflow</title>
      <dc:creator>Brisbane Web Developer</dc:creator>
      <pubDate>Thu, 06 Mar 2025 09:19:52 +0000</pubDate>
      <link>https://dev.to/brisbanewebdeveloper/revolutionizing-ai-how-deepseek-r1-ollama-wireguard-and-fabric-can-supercharge-your-workflow-429g</link>
      <guid>https://dev.to/brisbanewebdeveloper/revolutionizing-ai-how-deepseek-r1-ollama-wireguard-and-fabric-can-supercharge-your-workflow-429g</guid>
      <description>&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$HOME/.config/fabric/.env
======
DEFAULT_VENDOR=Ollama
DEFAULT_MODEL=qwq:latest
OLLAMA_API_URL=http://example.wireguard:12345
YOUTUBE_API_KEY=AIxb12345B0pQ8jL2nRt3xD5xH2wNabCd1dY-Z
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$HOME/bin/ytext
======
#!/bin/bash

FABRIC_DIR="$HOME/.config/fabric"

url="$1"
options="${@:2}"

fabric -sp extract_wisdom -y "$url" $options &amp;amp;&amp;amp; echo

session_name=$(echo "$options" | grep -oE -e "--session[ =][^ ]+" | sed -E 's/--session[ =]//')
if [ -n "$session_name" ];
then
  echo
  echo "Further prompts:"
  echo "fabric --session $session_name"
  echo
fi
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Store the transcript
ytext 'https://www.youtube.com/watch?v=example' --session example
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Investigate further
fabric --session example "What is ..."
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
    </item>
    <item>
      <title>Amend Location Changer not working with macOS Sequoia (macOS 15.0 (24A335))</title>
      <dc:creator>Brisbane Web Developer</dc:creator>
      <pubDate>Tue, 24 Sep 2024 11:37:04 +0000</pubDate>
      <link>https://dev.to/brisbanewebdeveloper/amend-location-changer-not-working-with-macos-sequoia-macos-150-24a335-3h61</link>
      <guid>https://dev.to/brisbanewebdeveloper/amend-location-changer-not-working-with-macos-sequoia-macos-150-24a335-3h61</guid>
      <description>&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/eprev/locationchanger" rel="noopener noreferrer"&gt;Location Changer&lt;/a&gt; stopped working after updating to &lt;a href="https://www.apple.com/au/macos/macos-sequoia/" rel="noopener noreferrer"&gt;macOS Sequoia&lt;/a&gt; (macOS 15.0 (24A335)).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Found that it gets this message &lt;code&gt;You are not associated with an AirPort network.&lt;/code&gt; when fetching the current Wi-Fi network name.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Solution
&lt;/h2&gt;

&lt;p&gt;This takes longer time to retrieve the current Wi-Fi network name, but I have not found another way so far.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; Install &lt;a href="https://jqlang.github.io/jq/" rel="noopener noreferrer"&gt;jq&lt;/a&gt; for the next step:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;brew install jq
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;2.&lt;/strong&gt; Revise the way to extract the current Wi-Fi network&lt;/p&gt;

&lt;p&gt;&lt;code&gt;system_profiler SPAirPortDataType&lt;/code&gt; displays the current network connection details and the option &lt;code&gt;-json&lt;/code&gt; does in JSON format which is easier to extract the Wi-Fi network name:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/usr/local/bin/locationchanger::Around the line 16
======
SSID=`system_profiler -json SPAirPortDataType | jq -r '.SPAirPortDataType[0].spairport_airport_interfaces[0].spairport_current_network_information._name'`
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  References
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://dev.to/brisbanewebdeveloper/amend-location-changer-not-working-with-macos-144-3ofb"&gt;Amend Location Changer not working with macOS 14.4&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>tutorial</category>
      <category>wifi</category>
      <category>macos</category>
      <category>network</category>
    </item>
    <item>
      <title>How to amend files in WP-Engine with VS Code</title>
      <dc:creator>Brisbane Web Developer</dc:creator>
      <pubDate>Mon, 24 Jun 2024 11:28:49 +0000</pubDate>
      <link>https://dev.to/brisbanewebdeveloper/how-to-amend-files-in-wp-engine-with-vs-code-ljn</link>
      <guid>https://dev.to/brisbanewebdeveloper/how-to-amend-files-in-wp-engine-with-vs-code-ljn</guid>
      <description>&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;I started using VS Code Extension &lt;code&gt;ftp-simple&lt;/code&gt; because it let me amend the file directly.&lt;/li&gt;
&lt;li&gt;It is useful if you do not have to work with Sass (Their environment does not provide the commands &lt;code&gt;node&lt;/code&gt; or &lt;code&gt;git&lt;/code&gt;).&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Example Settings
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Create a new SFTP Setting at WP-Engine Environment.

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://wpengine.com/support/sftp/#Locate_SFTP_Credentials" rel="noopener noreferrer"&gt;Read this bit and the next section "Add SFTP User" about how to do that&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;At VS Code, press &lt;code&gt;Ctrl + Shift + p&lt;/code&gt; and then select &lt;code&gt;ftp-simple : Config - FTP connection setting&lt;/code&gt;.&lt;/li&gt;

&lt;li&gt;Make sure of setting &lt;code&gt;sftp&lt;/code&gt; to &lt;code&gt;type&lt;/code&gt;.
&lt;/li&gt;

&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[
  {
    "name": "Example Staging Website",
    "host": "examplestg.sftp.wpengine.com",
    "port": 2222,
    "type": "sftp",
    "username": "examplestg-example",
    "password": "exampleexampleexampleexample1234",
    "path": "/",
    "autosave": true,
    "confirm": false
  },
  {
    "name": "Example Live Website",
    "host": "example.sftp.wpengine.com",
    "port": 2222,
    "type": "sftp",
    "username": "example-example",
    "password": "exampleexampleexampleexample1234",
    "path": "/",
    "autosave": true,
    "confirm": false
  }
]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Amend the files in WP-Engine directly
&lt;/h2&gt;

&lt;p&gt;Press &lt;code&gt;Ctrl + Shift + p&lt;/code&gt; and then select &lt;code&gt;ftp-simple: Remote directory open to workspace&lt;/code&gt;.&lt;/p&gt;

</description>
      <category>vscode</category>
      <category>tutorial</category>
      <category>webdev</category>
      <category>wordpress</category>
    </item>
    <item>
      <title>How to install docker-compose 2 for Debian bookworm</title>
      <dc:creator>Brisbane Web Developer</dc:creator>
      <pubDate>Wed, 10 Apr 2024 13:28:03 +0000</pubDate>
      <link>https://dev.to/brisbanewebdeveloper/how-to-install-docker-compose-2-for-debian-bookworm-dde</link>
      <guid>https://dev.to/brisbanewebdeveloper/how-to-install-docker-compose-2-for-debian-bookworm-dde</guid>
      <description>&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;I cannot install docker-compose-v2 via apt command for Debian bookworm.&lt;/p&gt;

&lt;h2&gt;
  
  
  Solution
&lt;/h2&gt;

&lt;p&gt;Create the package by myself and install it by using some tools.&lt;/p&gt;

&lt;h2&gt;
  
  
  Steps
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Install update-golang
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;mkdir -p /usr/local/src/github.com/udhos/update-golang
cd /usr/local/src/github.com/udhos/update-golang
git clone https://github.com/udhos/update-golang .

# Run with non-root user with "sudo"
# - Error happens otherwise
# - Latest version of Go for Debian bookworm was 1.19,
#   but the further steps required Go 1.22.1(?)
#   so that I installed the latest version
RELEASE=1.22.2 sudo ./update-golang.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Install "makdeb" command
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;bash -ci "$(wget -qO - 'https://shlink.makedeb.org/install')"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Create the package docker-compose_2 and install it
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;mkdir /usr/local/src/mpr.makedeb.org/docker-compose
cd /usr/local/src/mpr.makedeb.org/docker-compose
git clone https://mpr.makedeb.org/docker-compose .
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;When I was doing this, it tried to install Go 1.19 and its decencies so that I disabled the line:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;PKGBUILD
======
# makedepends=('golang-go&amp;gt;=1.17')
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;and I installed only the decencies:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt install libpkgconf3 pkg-config pkgconf pkgconf-bin
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;and then created the package:&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



&lt;p&gt;and then installed the package:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo dpkg -i docker-compose_2.26.1-1_amd64.deb
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;and then confirm if it is installed by running &lt;code&gt;docker compose&lt;/code&gt; instead of &lt;code&gt;docker-compose&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ docker compose version
Docker Compose version v2.26.1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Reference
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.perplexity.ai/search/Can-I-install-q7Gx.nvZRPW5jJQapU4xdg" rel="noopener noreferrer"&gt;Can I install docker-compose-v2 for Debian?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>liinux</category>
      <category>debian</category>
      <category>docker</category>
    </item>
    <item>
      <title>Amend Location Changer not working with macOS 14.4</title>
      <dc:creator>Brisbane Web Developer</dc:creator>
      <pubDate>Mon, 08 Apr 2024 08:44:23 +0000</pubDate>
      <link>https://dev.to/brisbanewebdeveloper/amend-location-changer-not-working-with-macos-144-3ofb</link>
      <guid>https://dev.to/brisbanewebdeveloper/amend-location-changer-not-working-with-macos-144-3ofb</guid>
      <description>&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/eprev/locationchanger" rel="noopener noreferrer"&gt;Location Changer&lt;/a&gt; to automatically activate the network interface depending on the current Wi-Fi network, stopped working.&lt;/p&gt;

&lt;h2&gt;
  
  
  Solution
&lt;/h2&gt;

&lt;p&gt;Revise the way to extract the current Wi-Fi network :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/usr/local/bin/locationchanger
======
# SSID=`/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I | grep ' SSID' | cut -d : -f 2- | sed 's/^[ ]*//'`
SSID=`networksetup -listallhardwareports | awk '/Wi-Fi/{getline; print $2}' | xargs networksetup -getairportnetwork | sed 's/[^:]*: //'`
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Reference
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/eprev/locationchanger/pull/30" rel="noopener noreferrer"&gt;Prefer networksetup and skip root runs #30&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>macos</category>
      <category>tutorial</category>
      <category>wifi</category>
      <category>network</category>
    </item>
    <item>
      <title>How to finish the installation of Loki in Debian 12 bookworm</title>
      <dc:creator>Brisbane Web Developer</dc:creator>
      <pubDate>Fri, 29 Sep 2023 07:44:40 +0000</pubDate>
      <link>https://dev.to/brisbanewebdeveloper/how-to-finish-the-installation-of-loki-in-debian-12-bookworm-1adi</link>
      <guid>https://dev.to/brisbanewebdeveloper/how-to-finish-the-installation-of-loki-in-debian-12-bookworm-1adi</guid>
      <description>&lt;h2&gt;
  
  
  Context
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;apt-get install loki&lt;/code&gt; did not let me start the service.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I noticed
&lt;/h2&gt;

&lt;p&gt;Just had a look at this file and decided to check if the user &lt;code&gt;loki&lt;/code&gt; exists, and it did not :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/etc/systemd/system/loki.service
======
(Omitting)
[Service]
Type=simple
User=loki
(Omitting)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Extra Step
&lt;/h2&gt;

&lt;p&gt;The following resolved to enable to run the service with &lt;code&gt;systemctl restart loki&lt;/code&gt; :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;useradd --system loki
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  References
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://psujit775.medium.com/how-to-setup-loki-in-ubuntu-20-04-f7aab49910fc" rel="noopener noreferrer"&gt;How to setup Loki in Ubuntu 20.04&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>linux</category>
      <category>tips</category>
      <category>debian</category>
    </item>
    <item>
      <title>Note: Show longer history on macOS terminal</title>
      <dc:creator>Brisbane Web Developer</dc:creator>
      <pubDate>Sat, 22 Apr 2023 22:20:00 +0000</pubDate>
      <link>https://dev.to/brisbanewebdeveloper/note-show-longer-history-on-macos-terminal-3p2f</link>
      <guid>https://dev.to/brisbanewebdeveloper/note-show-longer-history-on-macos-terminal-3p2f</guid>
      <description>&lt;h2&gt;
  
  
  Solution
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Change the default behaviour of &lt;code&gt;history&lt;/code&gt; command.&lt;/li&gt;
&lt;li&gt;Change the value &lt;code&gt;-50&lt;/code&gt; if that is too much.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;~/.zshrc
======
alias history='history -50'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Apply above change
exec zsh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Reference
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://stackoverflow.com/questions/26846738/zsh-history-is-too-short" rel="noopener noreferrer"&gt;zsh history is too short [closed]&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>macos</category>
      <category>tutorial</category>
      <category>terminal</category>
      <category>shell</category>
    </item>
    <item>
      <title>How to use VS Code Remote SSH with WP Engine</title>
      <dc:creator>Brisbane Web Developer</dc:creator>
      <pubDate>Sat, 11 Mar 2023 14:09:06 +0000</pubDate>
      <link>https://dev.to/brisbanewebdeveloper/how-to-use-vs-code-remote-ssh-with-wp-engine-c35</link>
      <guid>https://dev.to/brisbanewebdeveloper/how-to-use-vs-code-remote-ssh-with-wp-engine-c35</guid>
      <description>&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;UPDATE&lt;/strong&gt; : Other co-workers do not want to deal with Git so that now I use &lt;a href="https://dev.to/brisbanewebdeveloper/how-to-amend-files-in-wp-engine-with-vs-code-ljn"&gt;ftp-simple&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;UPDATE&lt;/strong&gt; : I kind of stopped using this way after other people started touching the same environment. Another reason I stopped doing this is that it is troublesome to compile Sass files and then upload it. It is better to &lt;a href="https://wpengine.com/support/git/" rel="noopener noreferrer"&gt;do the dev work in your local environment with Git and then push it to WP-Engine's remote repository&lt;/a&gt; (&lt;a href="https://wpengine.com/builders/git-version-control-in-local/" rel="noopener noreferrer"&gt;Another page explaining about that&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;So I wanted to use &lt;a href="https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-ssh" rel="noopener noreferrer"&gt;VS Code Remote SSH&lt;/a&gt; to amend the files in &lt;a href="https://wpengine.com/" rel="noopener noreferrer"&gt;WP Engine&lt;/a&gt;, and I could not have done it even though the file &lt;code&gt;/usr/local/etc/ssh/usermode_sshd_config&lt;/code&gt; looks they let me do that.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Tried this by using 2 SSH connections and that did not work
ControlMaster yes
LocalForward 127.0.0.1:12222 127.0.0.1:2222
======
channel 2: open failed: administratively prohibited: port forwarding is disabled for 127.0.0.1:2222
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And therefore, I decided to attempt to establish SSH Reverse Port Forwarding from WP Engine to an Extra Server, and then use &lt;a href="https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-ssh" rel="noopener noreferrer"&gt;VS Code Remote SSH&lt;/a&gt; to connect to WP Engine through the Extra Server because I discovered that WP Engine has &lt;code&gt;ssh&lt;/code&gt; command :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[VSC Remote SSH]---&amp;gt;[Your PC]---&amp;gt;[Extra Server]---&amp;gt;[WP Engine]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Although that method worked, the preparation is troublesome. It may be better to use another VS Code Extension such as &lt;a href="https://marketplace.visualstudio.com/items?itemName=satiromarra.code-sftp" rel="noopener noreferrer"&gt;SFTP&lt;/a&gt; or do the coding work at another environment. &lt;del&gt;Additionally, note that &lt;a href="https://wpengine.com/support/ssh-gateway/" rel="noopener noreferrer"&gt;the connection gets cut off after 10 minutes&lt;/a&gt; :&lt;/del&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;del&gt;WP Engine uses a sandboxed SSH “sidecar” that sits alongside your server with a timeout of 10 minutes.&lt;/del&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;UPDATE&lt;/strong&gt; : I included &lt;code&gt;ServerAliveInterval&lt;/code&gt; to &lt;code&gt;~/.ssh/config&lt;/code&gt; and that solved above issue.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;UPDATE&lt;/strong&gt; : I kept using VSC Remote SSH for awhile to do the dev work with WP Engine because I prefer applying the same way to do the dev work, and I have not got an issue so far.&lt;/p&gt;

&lt;h2&gt;
  
  
  Requirements
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://wpengine.com/support/ssh-gateway/" rel="noopener noreferrer"&gt;You can access WP Engine via SSH on the terminal&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Another host, Extra Server, allowing you to SSH from WP Engine.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Although, this is fundamentally a copy-and-paste solution, you must be able to assemble this information to fit your own.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Steps
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Add a new user at Extra Server to SSH from WP Engine
&lt;/h3&gt;

&lt;p&gt;This user is used only for this purpose. If you want to reuse the existing user, you can skip this step.&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# "rbash" restricts the user to perform things
adduser --shell /bin/rbash --ingroup nogroup wpe_pf

# Restrict the user more
cd /home/wpe_pf
chown root:root .bash_logout .bash_profile .bashrc .profile
# "readonly PATH=xxx" is like "const PATH = xxx;"
# restricting what the user can see
# ($HOME/bin does not exist)
echo "readonly PATH=$HOME/bin" &amp;gt; .bash_profile
echo "export PATH" &amp;gt;&amp;gt; .bash_profile
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The following setting may make above redundant, but just in case:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/etc/ssh/sshd_config
or
/etc/ssh/sshd_config.d/101-wpe_pf.conf
======
# Avoid the user for WP Engine to do much but SSH
Match User wpe_pf
  PermitTTY no
  X11Forwarding no
  PermitTunnel no
  GatewayPorts no
  # This does not work with "/bin/rbash"
  # ForceCommand /usr/sbin/nologin
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;service ssh reload
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





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

&lt;/div&gt;



&lt;h3&gt;
  
  
  Create a new SSH Key
&lt;/h3&gt;

&lt;p&gt;This key is used to connect to the Extra Server from WP Engine. If you want to reuse the existing key, you can skip this step.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519.wp-engine-example -C "example@example.com"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Include what &lt;code&gt;~/.ssh/id_ed25519.wp-engine-example.pub&lt;/code&gt; has to the file &lt;code&gt;~/.ssh/authorized_keys&lt;/code&gt; on Extra Server.&lt;/p&gt;

&lt;h3&gt;
  
  
  Place 2 files at WP Engine
&lt;/h3&gt;

&lt;p&gt;To begin, SSH to WP Engine via the terminal.&lt;/p&gt;

&lt;p&gt;Copy the private SSH key &lt;code&gt;~/.ssh/id_ed25519.wp-engine-example&lt;/code&gt; to &lt;code&gt;/sites/example/_wpeprivate/id_ed25519.wp-engine-example&lt;/code&gt;, and then run :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;chmod 400 /sites/example/_wpeprivate/id_ed25519.wp-engine-example
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;and then create a new script (where &lt;code&gt;ssh-ed25519 AAAAAAAAAAAA...&lt;/code&gt; represents your public SSH key) :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/sites/example/_wpeprivate/ssh-reverse-pf.sh
======
#
# The copy of this script may be better to be kept in your PC
# in case you copied a WP Engine Environment from the one not having this script
#
# Location of the SSH file in WP Engine
SSH_AUTH_FILE=~/.ssh/authorized_keys
# SSH Private Key for Extra Server
SSH_IDENT_FILE=/sites/example/_wpeprivate/id_ed25519.wp-engine-example
# SSH Public Key for WP Engine
# Using the same key for Extra Server would be easier to manage
# because this script may get wiped out when copying the environment
# and the source environment does not have this script
SSH_PUB_KEY='ssh-ed25519 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA example@example.com'
SSH_SERVER=my_user@my-server.com
SSH_PORT=12222

chmod 600 $SSH_AUTH_FILE &amp;amp;&amp;amp; \
echo "$SSH_PUB_KEY" &amp;gt;&amp;gt; $SSH_AUTH_FILE &amp;amp;&amp;amp; \
echo "Establishing Reverse Porting Forwarding" &amp;amp;&amp;amp; \
ssh -C -o StrictHostKeyChecking=accept-new -i $SSH_IDENT_FILE -R 127.0.0.1:$SSH_PORT:127.0.0.1:2222 $SSH_SERVER
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;and then change the permission :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;chmod 700 /sites/example/_wpeprivate/ssh-reverse-pf.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;and log out from WP Engine.&lt;/p&gt;

&lt;h3&gt;
  
  
  Amend ~/.ssh/config
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Host *
  PermitLocalCommand yes

Host wp-engine
  HostName example.ssh.wpengine.net
  User example
  IdentityFile ~/.ssh/id_ed25519.wp-engine-example
  Compression yes
  ServerAliveInterval 60
  RequestTTY yes
  LocalCommand ssh-keygen -R "[localhost]:12222"
  RemoteCommand /sites/example/_wpeprivate/ssh-reverse-pf.sh
Host extra-server
  HostName extra-server.com
  User my_user
  IdentityFile ~/.ssh/id_ed25519.wp-engine-example
  Compression yes
  LocalForward 127.0.0.1:12222 127.0.0.1:12222
Host wp-engine-pf
  HostName localhost
  User wpe-user
  Port 12222
  IdentityFile ~/.ssh/id_ed25519.wp-engine-example
  StrictHostKeyChecking accept-new
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Note : If you need to handle multiple WP Engines, you may need to create multiple settings. For each additional setting, use a different port number instead of "12222" (which is used as an example in this article).&lt;/p&gt;

&lt;h3&gt;
  
  
  Log in WP Engine
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ssh wp-engine
# OR
# Keep running with the infinite loop
# in case "ServerAliveInterval" does not work
# because it gets cut off every 10 minutes...?
while true; do ssh wp-engine; sleep 2; done
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Above "ssh" command establishes SSH connection to WP Engine and then runs the script &lt;code&gt;ssh-reverse-pf.sh&lt;/code&gt; to establish another SSH connection to Extra Server.&lt;/p&gt;

&lt;p&gt;That another SSH connection is initiated by WP Engine and it creates the port forwarding as to forward the data from Extra Server to WP Engine (SSH Server in WP Engine). Thus, it is called Reverse Port Forwarding as WP Engine initiates the SSH connection but the port forwarding is in other way round :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# "ssh" command
[Your PC]---SSH---&amp;gt;[WP Engine]
# The script "ssh-reverse-pf.sh"
[WP Engine]---SSH---&amp;gt;[Extra Server]
[Extra Server]---Port Forward---&amp;gt;[WP Engine]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Log in Extra Server
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ssh my-server
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This SSH is to forward the data from VS Code Remote SSH to Extra Server so that the extension can SSH to WP Engine :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[Your PC]------&amp;gt;[Extra Server]------&amp;gt;[WP Engine]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Connect to WP Engine with VS Code Remote SSH
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Have the setting &lt;code&gt;Remote.SSH: Enable Remote Command&lt;/code&gt; ticked.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;SSH to Your PC (with &lt;code&gt;wp-engine-pf&lt;/code&gt; in this example).&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;[VSC Remote SSH]---&amp;gt;[Your PC]---&amp;gt;[Extra Server]---&amp;gt;[WP Engine]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  ToDo
&lt;/h2&gt;

&lt;p&gt;Create my first VS Code Extension who does the things above once the settings are created...?&lt;/p&gt;

</description>
      <category>vscode</category>
      <category>ssh</category>
      <category>wordpress</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>How to reduce the size for MP4 file</title>
      <dc:creator>Brisbane Web Developer</dc:creator>
      <pubDate>Tue, 27 Dec 2022 09:21:58 +0000</pubDate>
      <link>https://dev.to/brisbanewebdeveloper/how-to-reduce-the-size-for-mp4-file-1c0h</link>
      <guid>https://dev.to/brisbanewebdeveloper/how-to-reduce-the-size-for-mp4-file-1c0h</guid>
      <description>&lt;h2&gt;
  
  
  Command
&lt;/h2&gt;

&lt;p&gt;In my case, my MP4 file became &lt;code&gt;1.1MB&lt;/code&gt; from &lt;code&gt;16MB&lt;/code&gt; with this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ffmpeg -i input.mp4 -vcodec libx265 -crf 28 output.mp4
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Reference
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://unix.stackexchange.com/questions/28803/how-can-i-reduce-a-videos-size-with-ffmpeg" rel="noopener noreferrer"&gt;How can I reduce a video's size with ffmpeg?&lt;/a&gt;&lt;/p&gt;

</description>
      <category>gratitude</category>
    </item>
    <item>
      <title>Avoid AutoRaise to activate the window while pressing down the Command Key</title>
      <dc:creator>Brisbane Web Developer</dc:creator>
      <pubDate>Sat, 14 May 2022 15:45:02 +0000</pubDate>
      <link>https://dev.to/brisbanewebdeveloper/avoid-autoraise-to-activate-the-window-while-pressing-down-the-command-key-305h</link>
      <guid>https://dev.to/brisbanewebdeveloper/avoid-autoraise-to-activate-the-window-while-pressing-down-the-command-key-305h</guid>
      <description>&lt;p&gt;UPDATE: The author of AutoRaise spent time to take care of the issue I encountered initially. And therefore, what I initially tried to avoid is no longer an issue. However, &lt;a href="https://github.com/sbmpost/AutoRaise/issues/77" rel="noopener noreferrer"&gt;I got another situation&lt;/a&gt; so that I am still applying this hack to my laptop.&lt;/p&gt;

&lt;p&gt;UPDATE: After I sent the Pull Request with this amendment, I was told to try &lt;code&gt;mouseStop=true&lt;/code&gt;, and that kind of works, but it's not perfect so that I am using both the feature and my amendment at the moment.&lt;/p&gt;

&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;I use &lt;a href="https://www.macbartender.com/" rel="noopener noreferrer"&gt;Bartender&lt;/a&gt; and &lt;a href="https://github.com/sbmpost/AutoRaise" rel="noopener noreferrer"&gt;AutoRaise (installed via Homebrew)&lt;/a&gt;, and the window usually gets activated by AutoRaise when I want to select the icon in Bartender's hidden menu bar.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;I decided to avoid AutoRaise to activate the window while I am pressing the command key.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With above amendment, I can select the icon in Bartender's hidden menu bar as follows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Move the mouse to the menu bar.&lt;/li&gt;
&lt;li&gt;Show Bartender's hidden menu bar and then press the command key.&lt;/li&gt;
&lt;li&gt;Keep pressing down the command key until the mouse cursor reaches to the icon.&lt;/li&gt;
&lt;li&gt;Release the command key.&lt;/li&gt;
&lt;li&gt;Click the icon (The icon doesn't move to the menu bar and shows the sub menus if you kept pressing down the command key).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This hack avoids AutoRaise to get activated while pressing the command key so that it gets easier to reach to the window when there is another window on the path in some cases (You may not need this hack if the distance between the windows is close enough with the parameter &lt;code&gt;mouseStop&lt;/code&gt;).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxjk7hc1vmdlhvl1qyrw0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxjk7hc1vmdlhvl1qyrw0.png" alt="Another Issue" width="800" height="183"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How To Install via Install Script
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;This command downloads &lt;a href="https://raw.githubusercontent.com/brisbanewebdeveloper/AutoRaise/latest/install-custom-version.sh" rel="noopener noreferrer"&gt;the install script&lt;/a&gt; and then executes it :&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Remove &lt;code&gt;AutoRaise&lt;/code&gt; from &lt;code&gt;System Preference &amp;gt; Security &amp;amp; Privacy &amp;gt; Accessibility &amp;gt; Privacy&lt;/code&gt; at first.&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="s1"&gt;'https://raw.githubusercontent.com/brisbanewebdeveloper/AutoRaise/77-make-it-work-with-bartender-custom/install-custom-version.sh'&lt;/span&gt; | sh
&lt;span class="c"&gt;# OR&lt;/span&gt;
&lt;span class="c"&gt;# curl 'https://raw.githubusercontent.com/brisbanewebdeveloper/AutoRaise/latest/install-custom-version.sh' | sh&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  How To Install Manually
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;This is what above install script does in case you prefer installing manually.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Remove &lt;code&gt;AutoRaise&lt;/code&gt; from &lt;code&gt;System Preference &amp;gt; Security &amp;amp; Privacy &amp;gt; Accessibility &amp;gt; Privacy&lt;/code&gt; at first.&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;# Create the source directory
# ("myUser" is to be your own username)
mkdir -p /Users/myUser/src/brisbanewebdeveloper/AutoRaise
cd /Users/myUser/src/brisbanewebdeveloper/AutoRaise

# Download the custom version
git clone git@github.com:brisbanewebdeveloper/AutoRaise.git .
git checkout 77-make-it-work-with-bartender-custom
# OR
# git checkout latest

# Build the customised program
make clean &amp;amp;&amp;amp; make CXXFLAGS=-DALTERNATIVE_TASK_SWITCHER

# Overwrite the one installed via Homebrew
# (Using "ditto" because "cp" command can get error)
chmod 555 AutoRaise
sudo ditto AutoRaise /opt/homebrew/opt/autoraise/bin/

# Remove the files downloaded
rm -fr /Users/myUser/src/brisbanewebdeveloper

# Restart with the custom program
brew services restart autoraise
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  How To Uninstall
&lt;/h2&gt;

&lt;p&gt;Just reinstall the program:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;brew reinstall autoraise
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Reference
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://developer.apple.com/documentation/security/updating_mac_software" rel="noopener noreferrer"&gt;Updating Mac Software&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>tutorial</category>
      <category>macos</category>
    </item>
  </channel>
</rss>
