<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>All Posts - Dimas Maulana</title>
    <link>https://dimasmaulana.pages.dev/posts/</link>
    <description>Dimas Maulana Website</description>
    <generator>Hugo 0.150.0 &amp; FixIt v0.4.3-20260130042349-e23a50d7</generator>
    <language>en</language>
    <lastBuildDate>Wed, 30 Apr 2025 20:42:16 +0700</lastBuildDate>
    <atom:link href="https://dimasmaulana.pages.dev/posts/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Sync Nextcloud Contact Groups with Android and iOS</title>
      <link>https://dimasmaulana.pages.dev/posts/software/sync-nextcloud-contact-groups-with-android-and-ios/</link>
      <pubDate>Wed, 30 Apr 2025 20:42:16 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/software/sync-nextcloud-contact-groups-with-android-and-ios/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/software/">Software</category>
      <description>&lt;p&gt;Nextcloud is a powerful self-hosted cloud platform that includes built-in support for contacts and calendars via the CardDAV and CalDAV protocols. If you&amp;rsquo;re looking to keep your contact groups synced across Android and iOS devices using Nextcloud, this guide will show you how to do it with the help of &lt;a href=&#34;https://www.davx5.com/&#34; target=&#34;_blank&#34; rel=&#34;external nofollow noopener noreferrer&#34;&gt;DAVx⁵&lt;/a&gt;—a popular open-source CardDAV/CalDAV sync app for Android.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;why-sync-contact-groups&#34;&gt;&lt;span&gt;Why Sync Contact Groups?&lt;/span&gt;&#xA;  &lt;a href=&#34;#why-sync-contact-groups&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Syncing contact groups ensures better organization and smoother communication across devices. If you maintain separate personal, business, or family groups in Nextcloud, syncing them helps keep things consistent across your mobile devices.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Send Files Between iOS and Android With LocalSend</title>
      <link>https://dimasmaulana.pages.dev/posts/software/send-files-between-ios-and-android-with-localsend/</link>
      <pubDate>Tue, 29 Apr 2025 08:56:49 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/software/send-files-between-ios-and-android-with-localsend/</guid>
      <description>&lt;p&gt;Transferring files between iOS and Android devices has historically been complicated due to ecosystem limitations. LocalSend offers a straightforward, local network-based solution for seamless file sharing across platforms without relying on cloud services or internet connectivity.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;what-is-localsend&#34;&gt;&lt;span&gt;What is LocalSend?&lt;/span&gt;&#xA;  &lt;a href=&#34;#what-is-localsend&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;LocalSend is an open-source, cross-platform application that enables direct file transfers between devices on the same local network (Wi-Fi). It supports iOS, Android, Windows, macOS, and Linux. All transfers are encrypted and occur without sending data to external servers, preserving privacy and speed.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Android Mirroring with Scrcpy</title>
      <link>https://dimasmaulana.pages.dev/posts/software/android-mirroring-with-scrcpy/</link>
      <pubDate>Mon, 28 Apr 2025 17:46:35 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/software/android-mirroring-with-scrcpy/</guid>
      <description>&lt;p&gt;Scrcpy is a free and open-source tool that allows you to mirror your Android device’s screen to your computer. It provides high-performance, low-latency screen mirroring and works over USB and Wi-Fi connections. This guide explains how to set up and use Scrcpy efficiently.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;prerequisites&#34;&gt;&lt;span&gt;Prerequisites&lt;/span&gt;&#xA;  &lt;a href=&#34;#prerequisites&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;Android device with USB debugging enabled&lt;/li&gt;&#xA;&lt;li&gt;Computer (Windows, macOS, or Linux)&lt;/li&gt;&#xA;&lt;li&gt;Scrcpy installed on the computer&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;step-by-step-guide&#34;&gt;&lt;span&gt;Step-by-Step Guide&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-by-step-guide&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;h3 class=&#34;heading-element&#34; id=&#34;1-install-scrcpy-on-your-computer&#34;&gt;&lt;span&gt;1. Install Scrcpy on Your Computer&lt;/span&gt;&#xA;  &lt;a href=&#34;#1-install-scrcpy-on-your-computer&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Windows&lt;/strong&gt;: Download and run &lt;code&gt;scrcpy.exe&lt;/code&gt; from the GitHub release page.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Backing Up Your Mac to a Windows Time Machine Server</title>
      <link>https://dimasmaulana.pages.dev/posts/software/backing-up-your-mac-to-a-windows-time-machine-server/</link>
      <pubDate>Thu, 05 Dec 2024 16:03:13 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/software/backing-up-your-mac-to-a-windows-time-machine-server/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/software/">Software</category>
      <description>&lt;p&gt;While Time Machine is traditionally used with an Apple Time Capsule or another Mac, it&amp;rsquo;s possible to set it up with a Windows machine as the server. This guide outlines the steps involved.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;prerequisites&#34;&gt;&lt;span&gt;Prerequisites&lt;/span&gt;&#xA;  &lt;a href=&#34;#prerequisites&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;A Windows machine with sufficient storage space.&lt;/li&gt;&#xA;&lt;li&gt;A Mac running macOS Monterey or later.&lt;/li&gt;&#xA;&lt;li&gt;Basic familiarity with file sharing and network settings on both platforms.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;step-by-step-guide&#34;&gt;&lt;span&gt;Step-by-Step Guide&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-by-step-guide&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;1. Setting Up the Windows Server:&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>HDD Getting Slow With APFS Partition on Mac</title>
      <link>https://dimasmaulana.pages.dev/posts/software/hdd-getting-slow-with-apfs-partition-on-mac/</link>
      <pubDate>Wed, 04 Dec 2024 15:39:22 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/software/hdd-getting-slow-with-apfs-partition-on-mac/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/software/">Software</category>
      <description>&lt;p&gt;Many Mac users experience slowdowns on their hard drives (HDDs) when they are partitioned with APFS and reach full capacity. This is because APFS, while efficient, doesn&amp;rsquo;t offer defragmentation capabilities like HFS+.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;the-problem-with-apfs&#34;&gt;&lt;span&gt;The Problem with APFS&lt;/span&gt;&#xA;  &lt;a href=&#34;#the-problem-with-apfs&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;APFS (Apple File System) is a modern file system designed for speed and efficiency on solid-state drives (SSDs). However, it doesn&amp;rsquo;t have built-in defragmentation, which can lead to performance issues when the drive becomes full.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Refreshing Your Virtual Machine List in VirtualBox on Windows via SSH CLI</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/refreshing-your-virtual-machine-list-in-virtualbox-on-windows-via-ssh-cli/</link>
      <pubDate>Thu, 14 Nov 2024 08:40:11 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/refreshing-your-virtual-machine-list-in-virtualbox-on-windows-via-ssh-cli/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <description>&lt;p&gt;Sometimes, when working with VirtualBox on Windows, you might encounter an issue where your virtual machine list doesn&amp;rsquo;t update correctly, even after making changes like unlocking an encrypted drive. This can be frustrating when you&amp;rsquo;re trying to manage your VMs.&lt;/p&gt;&#xA;&lt;p&gt;This article will guide you through a solution to refresh your VirtualBox VM list via the command line interface (CLI) accessed via SSH.&lt;/p&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;the-problem&#34;&gt;&lt;span&gt;The Problem&lt;/span&gt;&#xA;  &lt;a href=&#34;#the-problem&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;p&gt;Let&amp;rsquo;s say you have a virtual machine stored on an encrypted drive. When Windows starts, the drive is locked. You can unlock the drive via SSH, but when you try to list your virtual machines using &lt;code&gt;vboxmanage&lt;/code&gt; within your SSH session, you might still get an &amp;ldquo;access denied&amp;rdquo; error.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Delete Referenced Photos Origin Files From Mac Photos</title>
      <link>https://dimasmaulana.pages.dev/posts/software/delete-referenced-photos-origin-files-from-mac-photos/</link>
      <pubDate>Fri, 08 Nov 2024 15:41:27 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/software/delete-referenced-photos-origin-files-from-mac-photos/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/software/">Software</category>
      <description>&lt;p&gt;This guide explains how to delete referenced photos from Mac Photos and safely remove referenced photos using a dedicated application.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;export-referenced-photos-as-original-photos&#34;&gt;&lt;span&gt;Export Referenced Photos as Original Photos&lt;/span&gt;&#xA;  &lt;a href=&#34;#export-referenced-photos-as-original-photos&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;Open the &lt;strong&gt;Photos&lt;/strong&gt; app on your Mac.&lt;/li&gt;&#xA;&lt;li&gt;Select the photos you want to delete.&lt;/li&gt;&#xA;&lt;li&gt;In the &lt;strong&gt;File&lt;/strong&gt; menu, choose &lt;strong&gt;Export Original&lt;/strong&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Select a designated folder to save the exported photos.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;find-duplicate-files&#34;&gt;&lt;span&gt;Find Duplicate Files&lt;/span&gt;&#xA;  &lt;a href=&#34;#find-duplicate-files&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;Download and install a duplicate finder application like &lt;strong&gt;DupeGuru&lt;/strong&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Launch DupeGuru and select the folder where you saved the exported photos and referenced photos folder.&lt;/li&gt;&#xA;&lt;li&gt;Run a scan to identify duplicate files.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;delete-duplicate-files&#34;&gt;&lt;span&gt;Delete Duplicate Files&lt;/span&gt;&#xA;  &lt;a href=&#34;#delete-duplicate-files&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;Review the list of duplicate files generated by DupeGuru.&lt;/li&gt;&#xA;&lt;li&gt;Delete all identified duplicate files.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; This process assumes all file names are unique. If duplicates have similar names, you might need to manually review and select the correct files to delete.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Unlocking Luks Encrypted Disk via SSH on Ubuntu Server</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/unlocking-luks-encrypted-disk-via-ssh-on-ubuntu-server/</link>
      <pubDate>Fri, 08 Nov 2024 11:29:59 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/unlocking-luks-encrypted-disk-via-ssh-on-ubuntu-server/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <description>&lt;p&gt;This article provides a step-by-step procedure for unlocking and accessing a Luks encrypted disk using SSH on an Ubuntu server.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;install-dropbear&#34;&gt;&lt;span&gt;Install Dropbear&lt;/span&gt;&#xA;  &lt;a href=&#34;#install-dropbear&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;To enable SSH access on your Ubuntu server, you&amp;rsquo;ll need to install Dropbear. Run the following commands:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Resolving Missing OpenSSH Service Configuration After Uninstallation</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/resolving-missing-openssh-service-configuration-after-uninstallation/</link>
      <pubDate>Fri, 08 Nov 2024 10:27:57 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/resolving-missing-openssh-service-configuration-after-uninstallation/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <description>&lt;p&gt;This article explains how to address a potential issue with OpenSSH configuration after uninstalling and reinstalling the service.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;the-problem&#34;&gt;&lt;span&gt;The Problem&lt;/span&gt;&#xA;  &lt;a href=&#34;#the-problem&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;When OpenSSH is uninstalled via the Installer, the configuration for the &lt;code&gt;sshd&lt;/code&gt; service might be removed. Even if you reinstall OpenSSH through the Feature option, the configuration may still be missing. This can prevent SSH from functioning properly.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Resolving SSH Key Loading Issues on Windows</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/resolving-ssh-key-loading-issues-on-windows/</link>
      <pubDate>Thu, 07 Nov 2024 22:34:09 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/resolving-ssh-key-loading-issues-on-windows/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <description>&lt;p&gt;While SSH is commonly associated with Linux and Unix systems, it can also be configured on Windows. This guide focuses on resolving SSH key loading issues specifically for Windows environments.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;understanding-the-challenge&#34;&gt;&lt;span&gt;Understanding the Challenge&lt;/span&gt;&#xA;  &lt;a href=&#34;#understanding-the-challenge&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Similar to Linux/Unix, the default SSH configuration on Windows might only load keys authorized by administrators, typically stored in a location like &lt;code&gt;%ProgramData%\ssh\administrators_authorized_keys&lt;/code&gt;. This restricts user access unless they are explicitly added to the administrator-authorized keys.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Rsync to Windows Open SSH</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/rsync-to-windows-open-ssh/</link>
      <pubDate>Wed, 06 Nov 2024 16:40:20 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/rsync-to-windows-open-ssh/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <description>&lt;p&gt;Attempting to perform an rsync operation from a Linux or macOS system to a Windows machine directly using the &lt;code&gt;rsync&lt;/code&gt; command will fail. This is because Windows does not have a built-in &lt;code&gt;rsync&lt;/code&gt; utility.&lt;/p&gt;&#xA;&lt;p&gt;A typical command like &lt;code&gt;rsync /source/ target-hostname:/mnt/e/target/&lt;/code&gt; will result in an error.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;solution&#34;&gt;&lt;span&gt;Solution&lt;/span&gt;&#xA;  &lt;a href=&#34;#solution&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Leverage the power of the Windows Subsystem for Linux (WSL) to enable rsync functionality on your Windows system.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Unable to Create GitHub Project Items on iPhone Safari Browser</title>
      <link>https://dimasmaulana.pages.dev/posts/development/unable-to-create-github-project-items-on-iphone-safari-browser/</link>
      <pubDate>Tue, 20 Aug 2024 10:38:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/unable-to-create-github-project-items-on-iphone-safari-browser/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;GitHub mobile app does not allow creating project items, forcing users to access the web version via Safari browser. However, when using the board view on an iPhone running Safari, the &amp;ldquo;Add Item&amp;rdquo; input is not visible when scrolling down.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;solution-1-add-to-home-screen&#34;&gt;&lt;span&gt;Solution 1: Add to Home Screen&lt;/span&gt;&#xA;  &lt;a href=&#34;#solution-1-add-to-home-screen&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;Open &lt;code&gt;github.com&lt;/code&gt; from your iPhone&amp;rsquo;s Safari browser.&lt;/li&gt;&#xA;&lt;li&gt;Click the &amp;ldquo;Share&amp;rdquo; button on the bottom of the navigation bar.&lt;/li&gt;&#xA;&lt;li&gt;Select &amp;ldquo;Add to Home Screen.&amp;rdquo;&lt;/li&gt;&#xA;&lt;li&gt;On the &amp;ldquo;Add to Home Screen&amp;rdquo; page, click the &amp;ldquo;Add&amp;rdquo; button.&lt;/li&gt;&#xA;&lt;li&gt;Access GitHub from your home screen. You will now be using the PWA version without a navigation bar.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;solution-2-use-chrome-app&#34;&gt;&lt;span&gt;Solution 2: Use Chrome App&lt;/span&gt;&#xA;  &lt;a href=&#34;#solution-2-use-chrome-app&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Alternatively, you can also use the Google Chrome app on your iPhone, which displays the &amp;ldquo;Add Item&amp;rdquo; input correctly when accessing GitHub project boards.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Setting up Local AI Chat on VSCode on Mac</title>
      <link>https://dimasmaulana.pages.dev/posts/software/setting-up-local-ai-chat-on-vscode-on-mac/</link>
      <pubDate>Fri, 21 Jun 2024 20:29:49 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/software/setting-up-local-ai-chat-on-vscode-on-mac/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/software/">Software</category>
      <description>&lt;p&gt;In this tutorial, we&amp;rsquo;ll guide you through the process of installing and setting up the ollama local AI chat service in VSCode on your Mac. We&amp;rsquo;ll also explore how to integrate it with the Continue extension for seamless AI-powered coding experiences.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;step-1-install-ollama&#34;&gt;&lt;span&gt;Step 1: Install ollama&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-1-install-ollama&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;To get started, open your terminal and run the following command:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Local AI Chat on Web-Based Client on Mac</title>
      <link>https://dimasmaulana.pages.dev/posts/software/local-ai-chat-on-web-based-client-on-mac/</link>
      <pubDate>Thu, 20 Jun 2024 14:26:18 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/software/local-ai-chat-on-web-based-client-on-mac/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/software/">Software</category>
      <description>&lt;p&gt;In this tutorial, we will set up a local AI chat client using ollama and Open WebUI. This will allow us to interact with our AI model locally without relying on any cloud services.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;install-ollama&#34;&gt;&lt;span&gt;Install ollama&lt;/span&gt;&#xA;  &lt;a href=&#34;#install-ollama&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;First, install ollama using Homebrew:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Local Chat AI on Mac</title>
      <link>https://dimasmaulana.pages.dev/posts/software/local-chat-ai-on-mac/</link>
      <pubDate>Wed, 19 Jun 2024 13:32:37 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/software/local-chat-ai-on-mac/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/software/">Software</category>
      <description>&lt;p&gt;In this post, we&amp;rsquo;ll be diving into the installation and usage of ollama, a local chat AI that runs on your Mac.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;installing-ollama&#34;&gt;&lt;span&gt;Installing Ollama&lt;/span&gt;&#xA;  &lt;a href=&#34;#installing-ollama&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;brew install ollama&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Once installed, you can pull down a pre-trained model (in this case, we&amp;rsquo;ll be using the &amp;ldquo;llama3&amp;rdquo; model):&lt;/p&gt;</description>
    </item>
    <item>
      <title>NAT Setup Using Cisco Packet Tracer</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/nat-setup-using-cisco-packet-tracer/</link>
      <pubDate>Fri, 14 Jun 2024 14:53:23 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/nat-setup-using-cisco-packet-tracer/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <category domain="https://dimasmaulana.pages.dev/categories/software/">Software</category>
      <description>&lt;p&gt;We will demonstrate a basic network address translation (NAT) setup, allowing multiple devices to access a server through various routers and wireless networks. This setup enables multiple devices from different locations to connect to a single server, making it a crucial component of many modern networks.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;step-1-adding-devices&#34;&gt;&lt;span&gt;Step 1: Adding Devices&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-1-adding-devices&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;Open Cisco Packet Tracer and create the following devices:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Laptop0&lt;/li&gt;&#xA;&lt;li&gt;Smartphone0&lt;/li&gt;&#xA;&lt;li&gt;PC0&lt;/li&gt;&#xA;&lt;li&gt;Wireless Router0&lt;/li&gt;&#xA;&lt;li&gt;Wireless Router1&lt;/li&gt;&#xA;&lt;li&gt;Wireless Router2&lt;/li&gt;&#xA;&lt;li&gt;Server0&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;step-2-configuring-ip-addresses&#34;&gt;&lt;span&gt;Step 2: Configuring IP Addresses&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-2-configuring-ip-addresses&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;Configure the IP addresses as follows:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Laptop0: DHCP (obtain an IP address from the router)&lt;/li&gt;&#xA;&lt;li&gt;Smartphone0: DHCP (obtain an IP address from the router)&lt;/li&gt;&#xA;&lt;li&gt;PC0: DHCP (obtain an IP address from the router)&lt;/li&gt;&#xA;&lt;li&gt;Wireless Router0: Internet IP - DHCP, Router IP - 192.168.1.1/24&lt;/li&gt;&#xA;&lt;li&gt;Wireless Router1: Internet IP - DHCP, Router IP - 192.168.2.1/24&lt;/li&gt;&#xA;&lt;li&gt;Wireless Router2: Internet IP - 10.0.0.100/8, Router IP - 192.168.0.1/24&lt;/li&gt;&#xA;&lt;li&gt;Server0: IP - 10.0.0.101/8&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;step-3-creating-connections&#34;&gt;&lt;span&gt;Step 3: Creating Connections&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-3-creating-connections&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;Create the following connections:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Cable from PC0 (LAN port) to Wireless Router1 (LAN port)&lt;/li&gt;&#xA;&lt;li&gt;Cable from Wireless Router0 (Internet port) to Wireless Router2 (LAN port)&lt;/li&gt;&#xA;&lt;li&gt;Cable from Wireless Router1 (Internet port) to Wireless Router2 (LAN port)&lt;/li&gt;&#xA;&lt;li&gt;Cable from Wireless Router2 (Internet port) to Server0 (LAN port)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;step-4-testing-connectivity&#34;&gt;&lt;span&gt;Step 4: Testing Connectivity&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-4-testing-connectivity&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;Test the connectivity by:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Pinging from each device to Server0:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Laptop0&lt;/li&gt;&#xA;&lt;li&gt;Smartphone0&lt;/li&gt;&#xA;&lt;li&gt;PC0&#xA;All pings should be successful, indicating that NAT is working as expected.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;step-5-testing-web-browsing&#34;&gt;&lt;span&gt;Step 5: Testing Web Browsing&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-5-testing-web-browsing&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;Test web browsing from each device to Server0:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Open a web browser on Laptop0 and access the IP address of Server0 (e.g., &lt;a href=&#34;http://10.0.0.101&#34; target=&#34;_blank&#34; rel=&#34;external nofollow noopener noreferrer&#34;&gt;http://10.0.0.101&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;The web page should load successfully.&lt;/li&gt;&#xA;&lt;li&gt;Repeat the same test with Smartphone0 and PC0.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;expected-results&#34;&gt;&lt;span&gt;Expected Results&lt;/span&gt;&#xA;  &lt;a href=&#34;#expected-results&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;All devices should be able to access the server through different routers and wireless networks, indicating that NAT is working as expected.&lt;/li&gt;&#xA;&lt;li&gt;This article demonstrates a basic NAT setup using Cisco Packet Tracer, where devices can access a server through different routers and wireless networks. The NAT allows devices on different subnets to communicate with each other.&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Network Switching and Routing using Cisco Packet Tracer</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/network-switching-and-routing-using-cisco-packet-tracer/</link>
      <pubDate>Thu, 13 Jun 2024 15:05:20 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/network-switching-and-routing-using-cisco-packet-tracer/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <category domain="https://dimasmaulana.pages.dev/categories/software/">Software</category>
      <description>&lt;p&gt;This guide uses Cisco Packet Tracer software to demonstrate switching and routing concepts, allowing users to explore and understand network architectures in a virtual laboratory environment. With this resource, users can design, build, test, and troubleshoot networks, experimenting with different scenarios and configurations in a risk-free setting.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;cross-over-cable&#34;&gt;&lt;span&gt;Cross Over Cable&lt;/span&gt;&#xA;  &lt;a href=&#34;#cross-over-cable&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#39;https://dimasmaulana.pages.dev/network-switching-and-routing-using-cisco-packet-tracer-cross-over.jpg&#39; alt=&#34;Cross Over Cable&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kanban T-Shirt Sizes</title>
      <link>https://dimasmaulana.pages.dev/posts/productivity/kanban-t-shirt-sizes/</link>
      <pubDate>Fri, 07 Jun 2024 10:53:59 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/productivity/kanban-t-shirt-sizes/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/productivity/">Productivity</category>
      <description>&lt;p&gt;As software development teams strive for better estimation and planning, they often face challenges in evaluating the complexity of tasks. To address this, we can leverage the Kanban T-shirt size framework to estimate effort, complexity, uncertainty, and risk. In this article, we&amp;rsquo;ll explore the common factors that influence our work and provide a practical guide on how to apply the Kanban T-shirt size.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;sizes&#34;&gt;&lt;span&gt;Sizes&lt;/span&gt;&#xA;  &lt;a href=&#34;#sizes&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;To simplify the estimation process, we can use a Kanban T-shirt size framework to categorize tasks based on these four factors. The most common sizes are:&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Create Kanban Card Description</title>
      <link>https://dimasmaulana.pages.dev/posts/productivity/how-to-create-kanban-card-description/</link>
      <pubDate>Thu, 06 Jun 2024 11:29:26 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/productivity/how-to-create-kanban-card-description/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/productivity/">Productivity</category>
      <description>&lt;p&gt;As teams adopt Agile methodologies, creating effective Kanban cards is crucial for efficient workflow management. In this article, we&amp;rsquo;ll explore the essential and optional elements of a well-crafted Kanban card description.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;essential-elements&#34;&gt;&lt;span&gt;Essential Elements&lt;/span&gt;&#xA;  &lt;a href=&#34;#essential-elements&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;&lt;strong&gt;Element&lt;/strong&gt;&lt;/th&gt;&#xA;          &lt;th&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Task Summary&lt;/td&gt;&#xA;          &lt;td&gt;Provide a brief overview of what needs to be done. This should give your team a clear understanding of the task&amp;rsquo;s objectives.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Acceptance Criteria&lt;/td&gt;&#xA;          &lt;td&gt;Specify what constitutes &amp;ldquo;done&amp;rdquo; for this task. How will you know it&amp;rsquo;s complete? Define the criteria that ensure the task meets its intended outcome.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;optional-elements&#34;&gt;&lt;span&gt;Optional Elements&lt;/span&gt;&#xA;  &lt;a href=&#34;#optional-elements&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;&lt;strong&gt;Element&lt;/strong&gt;&lt;/th&gt;&#xA;          &lt;th&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Notes or Ideas&lt;/td&gt;&#xA;          &lt;td&gt;Record relevant thoughts, questions, or observations that might be helpful in completing the task.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Key Takeaways&lt;/td&gt;&#xA;          &lt;td&gt;Summarize the most important points or decisions that need to be made about the task.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;example&#34;&gt;&lt;span&gt;Example&lt;/span&gt;&#xA;  &lt;a href=&#34;#example&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;&lt;strong&gt;Element&lt;/strong&gt;&lt;/th&gt;&#xA;          &lt;th&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Task Summary&lt;/td&gt;&#xA;          &lt;td&gt;Develop a new feature for our mobile app, &amp;ldquo;Friends List&amp;rdquo;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Acceptance Criteria&lt;/td&gt;&#xA;          &lt;td&gt;Feature must allow users to add and manage their friends&amp;rsquo; profiles, with the ability to see each other&amp;rsquo;s recent activities.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Notes or Ideas&lt;/td&gt;&#xA;          &lt;td&gt;Consider adding a &amp;ldquo;Request to Friend&amp;rdquo; button for users to request friendship with someone.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Key Takeaways&lt;/td&gt;&#xA;          &lt;td&gt;Ensure that the new feature integrates seamlessly with our existing social media features and user profiles.&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;By incorporating these essential and optional elements into your Kanban card descriptions, you&amp;rsquo;ll create a clear, concise, and actionable guide for your team. This will help streamline workflows, reduce misunderstandings, and increase productivity.&lt;/p&gt;</description>
    </item>
    <item>
      <title>A Step-by-Step Guide to Installing SadTalker on Mac</title>
      <link>https://dimasmaulana.pages.dev/posts/software/a-step-by-step-guide-to-installing-sadtalker-on-mac/</link>
      <pubDate>Wed, 05 Jun 2024 09:29:43 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/software/a-step-by-step-guide-to-installing-sadtalker-on-mac/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/software/">Software</category>
      <description>&lt;p&gt;For those new to the world of AI-powered chatbots, SadTalker is a popular open-source project that enables users to generate synthetic talking faces. While the official guide might not work for everyone, this detailed tutorial should help install SadTalker successfully on Mac.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;step-1-install-conda-with-miniforge&#34;&gt;&lt;span&gt;Step 1: Install Conda with Miniforge&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-1-install-conda-with-miniforge&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;brew install miniforge&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This is the first hurdle to overcome. Miniforge, a lightweight version of Anaconda, will be used to create and manage conda environments.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Solving Resolution Issues with VMware Fusion on Mac</title>
      <link>https://dimasmaulana.pages.dev/posts/software/solving-resolution-issues-with-vmware-fusion-on-mac-/</link>
      <pubDate>Mon, 03 Jun 2024 08:11:28 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/software/solving-resolution-issues-with-vmware-fusion-on-mac-/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/software/">Software</category>
      <description>&lt;p&gt;When using VMware Fusion on a Mac, resolution issues can become distorted or incorrect after switching between screens. This is a common problem that&amp;rsquo;s easily solvable!&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;issue&#34;&gt;&lt;span&gt;Issue&lt;/span&gt;&#xA;  &lt;a href=&#34;#issue&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Incorrect display settings can cause the screen to become distorted or incorrect after switching between screens. This issue is more noticeable when switching from the host screen back to the VMware Fusion window where the game or application is running.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mouse Won&#39;t Turn Around Correctly When Playing Several Games on Windows Inside VMware Fusion Virtual Machine on Mac</title>
      <link>https://dimasmaulana.pages.dev/posts/software/mouse-wont-turn-around-correctly-when-playing-several-games-on-windows-inside-vmware-fusion-virtual-machine-on-mac/</link>
      <pubDate>Wed, 29 May 2024 10:59:07 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/software/mouse-wont-turn-around-correctly-when-playing-several-games-on-windows-inside-vmware-fusion-virtual-machine-on-mac/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/software/">Software</category>
      <description>&lt;p&gt;When playing several FPS games on my Mac using VMware Fusion, I have noticed that my mouse won&amp;rsquo;t turn around correctly.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;software&#34;&gt;&lt;span&gt;Software&lt;/span&gt;&#xA;  &lt;a href=&#34;#software&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;VMware Fusion (13.5.2)&lt;/li&gt;&#xA;&lt;li&gt;macOS Sonoma (14.5)&lt;/li&gt;&#xA;&lt;li&gt;Windows 11 Pro (23H2)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;cause&#34;&gt;&lt;span&gt;Cause&lt;/span&gt;&#xA;  &lt;a href=&#34;#cause&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;VMware detects the mouse movement inside the game and also in the host machine&amp;rsquo;s environment, which causes issues with mouse detection and handling. When I try to turn around using mouse, it cuts off at the edge of the virtual machine and is then detected as mouse movement in the host environment. For example, this issue affect Counter Strike 2 game.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Solving Menu Click Issues with OceanWP Theme in WordPress</title>
      <link>https://dimasmaulana.pages.dev/posts/software/solving-menu-click-issues-with-oceanwp-theme-in-wordpress/</link>
      <pubDate>Thu, 09 May 2024 15:02:25 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/software/solving-menu-click-issues-with-oceanwp-theme-in-wordpress/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/software/">Software</category>
      <description>&lt;p&gt;Are you experiencing issues with clicking menus with sub-menus when viewing your website on mobile devices? If so, this is a common problem many users face, especially those using the OceanWP theme.&lt;/p&gt;&#xA;&lt;p&gt;The solution to this issue lies in the theme&amp;rsquo;s customization settings. Specifically, you need to adjust the &amp;ldquo;Dropdown Target&amp;rdquo; setting for the mobile menu.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;step-by-step-solution&#34;&gt;&lt;span&gt;Step-by-Step Solution&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-by-step-solution&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;Log in to your WordPress dashboard and navigate to &lt;strong&gt;Appearance &amp;gt; Customize&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;Click on &lt;strong&gt;Header &amp;gt; Mobile Menu&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;In the &lt;strong&gt;Mobile Menu Settings&lt;/strong&gt;, scroll down to the &lt;strong&gt;Dropdown Target&lt;/strong&gt; section&lt;/li&gt;&#xA;&lt;li&gt;Select &lt;strong&gt;Icon&lt;/strong&gt; from the dropdown options&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;By setting the Dropdown Target to Icon, you&amp;rsquo;ll be able to click menus with sub-menus without any issues on mobile devices.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mapping Mac Fn Key to Application Key on External Keyboards</title>
      <link>https://dimasmaulana.pages.dev/posts/software/mapping-mac-fn-key-to-application-key-on-external-keyboards/</link>
      <pubDate>Thu, 14 Dec 2023 06:35:10 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/software/mapping-mac-fn-key-to-application-key-on-external-keyboards/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/software/">Software</category>
      <description>&lt;h2 class=&#34;heading-element&#34; id=&#34;introduction&#34;&gt;&lt;span&gt;Introduction&lt;/span&gt;&#xA;  &lt;a href=&#34;#introduction&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;In the realm of customization and personalization, tailoring your devices to work seamlessly according to your preferences is crucial for a productive workflow. For Mac users who connect external keyboards, remapping keys can significantly enhance the user experience. In this blog post, we&amp;rsquo;ll delve into the process of mapping the Mac Fn key to the Application key on an external keyboard using the powerful tool, Karabiner Elements.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Enabling the Fn Key on External Keyboards Without Fn Keys</title>
      <link>https://dimasmaulana.pages.dev/posts/software/enabling-the-fn-key-on-external-keyboards-without-fn-keys/</link>
      <pubDate>Mon, 11 Dec 2023 14:39:30 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/software/enabling-the-fn-key-on-external-keyboards-without-fn-keys/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/software/">Software</category>
      <description>&lt;h2 class=&#34;heading-element&#34; id=&#34;introduction&#34;&gt;&lt;span&gt;Introduction&lt;/span&gt;&#xA;  &lt;a href=&#34;#introduction&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Ever encountered the frustration of using an external keyboard with your Mac, only to realize that crucial keys like the Fn key are missing? Fear not! In this quick guide, we&amp;rsquo;ll delve into how you can harness the power of Karabiner Elements to empower your external keyboard with Fn key functionality.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Enabling MacBook Trackpad Gestures on Windows with Mac Precision Touchpad</title>
      <link>https://dimasmaulana.pages.dev/posts/software/enabling-macbook-trackpad-gestures-on-windows-with-mac-precision-touchpad/</link>
      <pubDate>Mon, 04 Dec 2023 07:53:04 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/software/enabling-macbook-trackpad-gestures-on-windows-with-mac-precision-touchpad/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/software/">Software</category>
      <description>&lt;h2 class=&#34;heading-element&#34; id=&#34;introduction&#34;&gt;&lt;span&gt;Introduction&lt;/span&gt;&#xA;  &lt;a href=&#34;#introduction&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;MacBook users often miss the smooth and intuitive trackpad gestures of macOS when running Windows on their devices. Fortunately, the &amp;ldquo;Mac Precision Touchpad&amp;rdquo; tool offers a solution, bringing advanced trackpad gestures to Windows-running MacBook devices. This guide will walk you through the installation process using Chocolatey and provide a reference to the official GitHub repository.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Lock Your Mac via Terminal</title>
      <link>https://dimasmaulana.pages.dev/posts/software/how-to-lock-your-mac-via-terminal/</link>
      <pubDate>Fri, 01 Dec 2023 18:08:27 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/software/how-to-lock-your-mac-via-terminal/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/software/">Software</category>
      <description>&lt;p&gt;Securing your Mac quickly can be achieved through Terminal commands. Please note that this method only turns off the display, and the actual lock screen with password protection is activated based on your system settings.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;opening-terminal&#34;&gt;&lt;span&gt;Opening Terminal&lt;/span&gt;&#xA;  &lt;a href=&#34;#opening-terminal&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;To initiate the process, open the Terminal application. You can find it by searching in Spotlight or navigating to Applications &amp;gt; Utilities &amp;gt; Terminal.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Hide the Notch and Fix Hidden Icon Notifications on Your MacBook</title>
      <link>https://dimasmaulana.pages.dev/posts/software/how-to-hide-the-notch-and-fix-hidden-icon-notifications-on-your-macbook/</link>
      <pubDate>Mon, 25 Sep 2023 20:20:24 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/software/how-to-hide-the-notch-and-fix-hidden-icon-notifications-on-your-macbook/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/software/">Software</category>
      <description>&lt;p&gt;The MacBook is renowned for its sleek design and impressive display, but some users may find the notch at the top of the screen distracting. Additionally, hidden icon notifications can be a common annoyance. If you wish to conceal the notch on your MacBook, achieve a 16:9 resolution, and address hidden icon notifications, you&amp;rsquo;ve come to the right place. In this article, we&amp;rsquo;ll guide you through the steps to make your MacBook&amp;rsquo;s notch disappear and ensure you never miss important notifications.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Best Practices for Writing Card Descriptions in Project Management</title>
      <link>https://dimasmaulana.pages.dev/posts/development/best-practices-for-writing-card-descriptions-in-project-management-/</link>
      <pubDate>Tue, 19 Sep 2023 08:28:23 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/best-practices-for-writing-card-descriptions-in-project-management-/</guid>
      <description>&lt;p&gt;Card descriptions play a crucial role in project management, particularly in agile methodologies and issue tracking systems like GitHub Projects. They serve as a central hub of information, guiding the team through the completion of tasks or user stories. In this article, we&amp;rsquo;ll explore best practices for writing effective card descriptions, with a focus on CRUD (Create, Read, Update, Delete) operations, and the use of acceptance criteria.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;the-basics-title-and-description&#34;&gt;&lt;span&gt;The Basics: Title and Description&lt;/span&gt;&#xA;  &lt;a href=&#34;#the-basics-title-and-description&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;At the core of every card description lies the title and description. These elements provide a concise summary and a detailed explanation of the task or issue at hand.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Prioritizing Data Privacy for Secure Transmission with Port Forwarding</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/prioritizing-data-privacy-for-secure-transmission-with-port-forwarding/</link>
      <pubDate>Wed, 13 Sep 2023 10:30:34 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/prioritizing-data-privacy-for-secure-transmission-with-port-forwarding/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <description>&lt;h2 class=&#34;heading-element&#34; id=&#34;introduction&#34;&gt;&lt;span&gt;Introduction&lt;/span&gt;&#xA;  &lt;a href=&#34;#introduction&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;In the world of secure data transmission, prioritizing data privacy is paramount. Two common approaches, Apache reverse proxy and port forwarding with &lt;code&gt;autossh&lt;/code&gt;, offer different solutions for transmitting data securely. In this article, we&amp;rsquo;ll explore the benefits of port forwarding with a primary focus on data privacy. We&amp;rsquo;ll also discuss how this approach can enhance the security of your sensitive information and compare it with the potential data privacy risks associated with Apache reverse proxy.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Renaming Markdown Files Based on Front Matter Date Using Bash Script</title>
      <link>https://dimasmaulana.pages.dev/posts/development/renaming-markdown-files-based-on-front-matter-date-using-bash-script/</link>
      <pubDate>Fri, 01 Sep 2023 05:21:49 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/renaming-markdown-files-based-on-front-matter-date-using-bash-script/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;Managing files with meaningful and structured names can greatly enhance organization and accessibility. Suppose you have a collection of Markdown files containing Front Matter sections, each with a &amp;ldquo;date&amp;rdquo; field. You want to rename these files using the date from their Front Matter section to create a consistent and informative naming scheme. This article will guide you through achieving this task using a bash script on macOS.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;prerequisites&#34;&gt;&lt;span&gt;Prerequisites&lt;/span&gt;&#xA;  &lt;a href=&#34;#prerequisites&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;Basic familiarity with the command line interface (CLI).&lt;/li&gt;&#xA;&lt;li&gt;A macOS environment with bash, grep, awk, and date utilities.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;scenario&#34;&gt;&lt;span&gt;Scenario&lt;/span&gt;&#xA;  &lt;a href=&#34;#scenario&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Let&amp;rsquo;s say you have a set of Markdown files in a folder. You want to rename these files based on the date mentioned in their Front Matter sections. Additionally, you want to exclude renaming any files named &amp;ldquo;README.md&amp;rdquo; or &amp;ldquo;template.md.&amp;rdquo;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Navigating Kanban Board From Idea to Execution</title>
      <link>https://dimasmaulana.pages.dev/posts/productivity/navigating-kanban-board-from-idea-to-execution/</link>
      <pubDate>Mon, 14 Aug 2023 05:55:20 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/productivity/navigating-kanban-board-from-idea-to-execution/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/productivity/">Productivity</category>
      <description>&lt;p&gt;In the dynamic world of project management, a Kanban board is your canvas for orchestrating the symphony of tasks and ideas. Whether you&amp;rsquo;re a seasoned conductor or just tuning in, understanding how to move cards from the &amp;ldquo;New&amp;rdquo; stage to the &amp;ldquo;Backlog&amp;rdquo; and eventually to the &amp;ldquo;Ready&amp;rdquo; stage is essential for a harmonious workflow. Let&amp;rsquo;s delve into these stages with practical examples to guide your journey.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;moving-from-new-to-backlog&#34;&gt;&lt;span&gt;Moving from &amp;ldquo;New&amp;rdquo; to &amp;ldquo;Backlog&amp;rdquo;&lt;/span&gt;&#xA;  &lt;a href=&#34;#moving-from-new-to-backlog&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Picture this: you&amp;rsquo;re struck by a lightning bolt of inspiration. It&amp;rsquo;s like discovering a new flavor for your culinary masterpiece. You&amp;rsquo;ve got the concept, the vision, the heart of it all. Here&amp;rsquo;s where your &amp;ldquo;New&amp;rdquo; stage card shines:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Troubleshooting iCloud Drive Stuck on Uploading Issue on Mac</title>
      <link>https://dimasmaulana.pages.dev/posts/software/troubleshooting-icloud-drive-stuck-on-uploading-issue-on-mac/</link>
      <pubDate>Fri, 30 Jun 2023 05:25:01 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/software/troubleshooting-icloud-drive-stuck-on-uploading-issue-on-mac/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/software/">Software</category>
      <category domain="https://dimasmaulana.pages.dev/categories/troubleshooting/">Troubleshooting</category>
      <description>&lt;p&gt;If you&amp;rsquo;re experiencing issues with iCloud Drive on your Mac, specifically where the syncing indicator remains stuck on the iCloud sync icon in Finder, you can try the following steps to resolve the problem:&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;steps-to-resolve-the-issue&#34;&gt;&lt;span&gt;Steps to Resolve the Issue&lt;/span&gt;&#xA;  &lt;a href=&#34;#steps-to-resolve-the-issue&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;h3 class=&#34;heading-element&#34; id=&#34;step-1-disconnect-from-wi-fi&#34;&gt;&lt;span&gt;Step 1: Disconnect from Wi-Fi&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-1-disconnect-from-wi-fi&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;ol&gt;&#xA;&lt;li&gt;Turn off your Mac&amp;rsquo;s Wi-Fi connection to make it offline. You can do this by clicking on the Wi-Fi icon in the menu bar and selecting &amp;ldquo;Turn Wi-Fi Off.&amp;rdquo;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;step-2-access-activity-monitor&#34;&gt;&lt;span&gt;Step 2: Access Activity Monitor&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-2-access-activity-monitor&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;ol&gt;&#xA;&lt;li&gt;Open the Activity Monitor on your Mac. You can find it in the Utilities folder within the Applications folder, or you can use Spotlight to search for &amp;ldquo;Activity Monitor.&amp;rdquo;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;step-3-find-and-terminate-the-bird-process&#34;&gt;&lt;span&gt;Step 3: Find and Terminate the &amp;ldquo;bird&amp;rdquo; Process&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-3-find-and-terminate-the-bird-process&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;In the Activity Monitor, locate the &amp;ldquo;bird&amp;rdquo; process. This process is responsible for iCloud syncing.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Switching Monitor and Keyboard Lids on MacBook with Ubuntu Text-Based UI</title>
      <link>https://dimasmaulana.pages.dev/posts/software/switching-monitor-and-keyboard-lids-on-macbook-with-ubuntu-text-based-ui/</link>
      <pubDate>Thu, 22 Jun 2023 16:16:38 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/software/switching-monitor-and-keyboard-lids-on-macbook-with-ubuntu-text-based-ui/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/software/">Software</category>
      <description>&lt;p&gt;If you&amp;rsquo;re using Ubuntu on a MacBook and prefer a text-based user interface, you may want to control the state of the monitor and keyboard lids. We will provide commands to switch the monitor and keyboard lids on and off, allowing you to customize your MacBook experience.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;switching-monitor-lid&#34;&gt;&lt;span&gt;Switching Monitor Lid&lt;/span&gt;&#xA;  &lt;a href=&#34;#switching-monitor-lid&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;To turn the monitor lid off and disable the backlight, use the following command:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Best Practices for Git Branch Naming Convention</title>
      <link>https://dimasmaulana.pages.dev/posts/development/best-practices-for-git-branch-naming-convention/</link>
      <pubDate>Thu, 08 Jun 2023 17:06:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/best-practices-for-git-branch-naming-convention/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In the world of software development, Git has become the go-to version control system for managing projects effectively. One aspect that greatly contributes to a streamlined development process is adopting a consistent and meaningful branch naming convention. In this article, we will delve into the best practices for Git branch naming, empowering teams to organize their work and collaborate efficiently.&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Branch Type&lt;/th&gt;&#xA;          &lt;th&gt;Branch Name Examples&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;develop&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;develop&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;main&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;main&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;feature&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;feature/user-authentication&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;feature/shopping-cart&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;feature/payment-integration&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;bugfix&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;bugfix/fix-login-issue&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;bugfix/1234&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;bugfix/calculate-total-error&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;release&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;release/1.0.0&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;release/alpha&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;release/beta&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;hotfix&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;hotfix/critical-bug&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;hotfix/4321&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;hotfix/typo-correction&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;1-develop-a-develop-branch&#34;&gt;&lt;span&gt;1. Develop a &lt;code&gt;develop&lt;/code&gt; Branch&lt;/span&gt;&#xA;  &lt;a href=&#34;#1-develop-a-develop-branch&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;To foster ongoing development work, establish a dedicated branch named &lt;code&gt;develop&lt;/code&gt;. This branch serves as the main staging area for integrating and testing new features before they are ready for production. By using this common convention, developers can easily identify where ongoing development work takes place.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Power of Atomic Habits Transforming Your Life One Step at a Time</title>
      <link>https://dimasmaulana.pages.dev/posts/productivity/the-power-of-atomic-habits-transforming-your-life-one-step-at-a-time/</link>
      <pubDate>Thu, 08 Jun 2023 16:51:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/productivity/the-power-of-atomic-habits-transforming-your-life-one-step-at-a-time/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/productivity/">Productivity</category>
      <description>&lt;p&gt;Habits are the building blocks of our lives, shaping our actions and outcomes. In his groundbreaking book, &amp;ldquo;Atomic Habits,&amp;rdquo; James Clear reveals the transformative power of small, incremental changes that compound over time. By harnessing the concept of atomic habits, we can make remarkable progress towards our goals and create lasting personal and professional growth. In this article, we will explore the core principles of atomic habits and provide practical examples of how to implement them in your daily life.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Naming Conventions for Production Environments</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/naming-conventions-for-production-environments-/</link>
      <pubDate>Tue, 06 Jun 2023 06:47:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/naming-conventions-for-production-environments-/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <description>&lt;p&gt;Naming conventions are a crucial aspect of software development, providing consistency and clarity in various stages of the development lifecycle. In this article, we will explore the most common naming conventions for production environments, focusing on GitLab CI/CD, GitHub Actions, domain names, branch names, Docker Compose files, and Dockerfile names.&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Naming&lt;/th&gt;&#xA;          &lt;th&gt;Common Convention&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;GitLab CI/CD Convention&lt;/td&gt;&#xA;          &lt;td&gt;prod&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;GitHub Actions Convention&lt;/td&gt;&#xA;          &lt;td&gt;prod&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Domain Names&lt;/td&gt;&#xA;          &lt;td&gt;example.com&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Branch Names&lt;/td&gt;&#xA;          &lt;td&gt;main/master&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Docker Compose Files&lt;/td&gt;&#xA;          &lt;td&gt;docker-compose.yml&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Dockerfile Names&lt;/td&gt;&#xA;          &lt;td&gt;Dockerfile&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;gitlab-cicd-convention&#34;&gt;&lt;span&gt;GitLab CI/CD Convention&lt;/span&gt;&#xA;  &lt;a href=&#34;#gitlab-cicd-convention&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;In GitLab CI/CD, the convention for naming pipeline stages in production environments commonly involves using &amp;ldquo;prod&amp;rdquo; as the keyword. This convention ensures that pipeline stages are easily identifiable and aligned with the production deployment process.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Naming Conventions for Development Environments</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/naming-conventions-for-development-environments-/</link>
      <pubDate>Tue, 06 Jun 2023 06:45:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/naming-conventions-for-development-environments-/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <description>&lt;p&gt;Naming conventions play a vital role in software development environments, providing consistency and clarity throughout the development process. In this article, we will explore the most common naming conventions for development environments, covering GitLab CI/CD, GitHub Actions, domain names, branch names, Docker Compose files, and Dockerfile names.&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Naming&lt;/th&gt;&#xA;          &lt;th&gt;Common Convention&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;GitLab CI/CD Convention&lt;/td&gt;&#xA;          &lt;td&gt;dev&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;GitHub Actions Convention&lt;/td&gt;&#xA;          &lt;td&gt;dev&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Domain Names&lt;/td&gt;&#xA;          &lt;td&gt;dev.example.com&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Branch Names&lt;/td&gt;&#xA;          &lt;td&gt;dev&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Docker Compose Files&lt;/td&gt;&#xA;          &lt;td&gt;docker-compose.dev.yml&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Dockerfile Names&lt;/td&gt;&#xA;          &lt;td&gt;Dockerfile.dev&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;gitlab-cicd-convention&#34;&gt;&lt;span&gt;GitLab CI/CD Convention&lt;/span&gt;&#xA;  &lt;a href=&#34;#gitlab-cicd-convention&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;When working with GitLab CI/CD, the most common convention for naming pipeline stages in development environments is to use &amp;ldquo;dev&amp;rdquo; as the keyword. This convention ensures compatibility and alignment with GitLab CI/CD&amp;rsquo;s pipeline system.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Naming Conventions Stage vs Staging in Software Development</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/naming-conventions-stage-vs-staging-in-software-development/</link>
      <pubDate>Tue, 06 Jun 2023 06:24:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/naming-conventions-stage-vs-staging-in-software-development/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <description>&lt;p&gt;Naming conventions play a crucial role in software development, providing clarity and consistency in various aspects of the development lifecycle. When it comes to naming environments, such as staging, development, and production, there can be variations and debates around the usage of &amp;ldquo;stage&amp;rdquo; and &amp;ldquo;staging.&amp;rdquo; In this article, we&amp;rsquo;ll explore the differences and common practices surrounding these terms.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;defining-staging-and-development-environments&#34;&gt;&lt;span&gt;Defining Staging and Development Environments&lt;/span&gt;&#xA;  &lt;a href=&#34;#defining-staging-and-development-environments&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Naming&lt;/th&gt;&#xA;          &lt;th&gt;Common Convention&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;GitLab CI/CD Convention&lt;/td&gt;&#xA;          &lt;td&gt;stage&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;GitHub Actions Convention&lt;/td&gt;&#xA;          &lt;td&gt;staging&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Domain Names&lt;/td&gt;&#xA;          &lt;td&gt;staging.example.com&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Branch Names&lt;/td&gt;&#xA;          &lt;td&gt;staging&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Docker Compose Files&lt;/td&gt;&#xA;          &lt;td&gt;docker-compose.staging.yml&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Dockerfile Names&lt;/td&gt;&#xA;          &lt;td&gt;Dockerfile.staging&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;Staging environments are integral to the software development process, serving as a dedicated space for testing and validation before deploying to production. In most cases, &amp;ldquo;staging&amp;rdquo; is commonly used as a noun to represent this environment. It refers to a stable and controlled testing area where developers can ensure their applications are functioning correctly and meet the required standards.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Choosing the Right Language for Asynchronous Web APIs</title>
      <link>https://dimasmaulana.pages.dev/posts/development/choosing-the-right-language-for-asynchronous-web-apis/</link>
      <pubDate>Sat, 03 Jun 2023 19:36:56 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/choosing-the-right-language-for-asynchronous-web-apis/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;Building powerful and inexpensive web APIs requires careful consideration of the programming language you use. This article compares various programming languages ​​for their suitability for handling asynchronous operations, scalability, and resource utilization. We dive deep into the strengths and limitations of languages ​​such as Node.js, Go, Java, Python, Ruby, and PHP to help you make informed decisions when choosing the right language for your project.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;nodejs&#34;&gt;&lt;span&gt;Node.js&lt;/span&gt;&#xA;  &lt;a href=&#34;#nodejs&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Event-driven asynchronous programming&#xA;Node.js is known for its asynchronous, event-driven programming model. It excels at handling concurrent requests by using a single thread and non-blocking I/O operations. However, due to its single-threaded nature, it may not be ideal for heavy CPU-based tasks.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Exploring the Benefits and Considerations of Serverless Architecture</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/exploring-the-benefits-and-considerations-of-serverless-architecture/</link>
      <pubDate>Sat, 03 Jun 2023 19:32:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/exploring-the-benefits-and-considerations-of-serverless-architecture/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <description>&lt;p&gt;Serverless architecture has revolutionized the way we develop and deploy applications, offering numerous benefits such as cost-effectiveness, scalability, and reduced operational overhead. In this article, we&amp;rsquo;ll delve into the world of serverless architecture, discussing its advantages, challenges, and important considerations when working with different serverless vendors.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;understanding-serverless-architecture&#34;&gt;&lt;span&gt;Understanding Serverless Architecture&lt;/span&gt;&#xA;  &lt;a href=&#34;#understanding-serverless-architecture&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Serverless architecture, often referred to as Function-as-a-Service (FaaS), is a cloud computing model where developers can build and run applications without the need to manage underlying infrastructure. Key characteristics of serverless include:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Personal Website Outline</title>
      <link>https://dimasmaulana.pages.dev/posts/development/personal-website-outline/</link>
      <pubDate>Tue, 30 May 2023 16:50:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/personal-website-outline/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;Within this article, you&amp;rsquo;ll find a prime example of a personal website outline that serves as a valuable reference. This exemplary outline showcases the best practices and design principles employed by experts in the field, offering inspiration and guidance for your web development projects.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;homepage&#34;&gt;&lt;span&gt;Homepage&lt;/span&gt;&#xA;  &lt;a href=&#34;#homepage&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Header:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Setting Up Nginx as a Reverse Proxy with Let&#39;s Encrypt and Fail2ban Using Docker Compose</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/setting-up-nginx-as-a-reverse-proxy-with-lets-encrypt-and-fail2ban-using-docker-compose/</link>
      <pubDate>Mon, 29 May 2023 05:25:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/setting-up-nginx-as-a-reverse-proxy-with-lets-encrypt-and-fail2ban-using-docker-compose/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <description>&lt;p&gt;In this article, we will explore how to set up a powerful and secure web server environment using Nginx as a reverse proxy with Let&amp;rsquo;s Encrypt SSL certificates and Fail2ban for enhanced security. We&amp;rsquo;ll leverage Docker Compose to simplify the deployment process and enable easy management of our services. By the end of this guide, you&amp;rsquo;ll have a robust setup that includes SSL encryption and protection against malicious actors.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;1-prerequisites&#34;&gt;&lt;span&gt;1. Prerequisites&lt;/span&gt;&#xA;  &lt;a href=&#34;#1-prerequisites&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Before starting, ensure that you have a server or virtual machine running a supported operating system. Additionally, make sure your domain name is properly configured and pointing to your server&amp;rsquo;s IP address.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Building and Deploying a React Application to Nginx HTML Folder using GitLab CI with Separate Runners</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/building-and-deploying-a-react-application-to-nginx-html-folder-using-gitlab-ci-with-separate-runners/</link>
      <pubDate>Fri, 26 May 2023 09:10:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/building-and-deploying-a-react-application-to-nginx-html-folder-using-gitlab-ci-with-separate-runners/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <description>&lt;p&gt;Deploying a React application involves building it on one server and deploying it to another. GitLab CI provides a robust solution for automating this process, allowing you to leverage different runners for the build and deployment stages. In this article, we will explore how to utilize GitLab CI to build a React application on a build server and deploy the built source to the Nginx HTML folder on a production server using separate runners.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Executing an Embedded Bash Script in Go with Interactive Input</title>
      <link>https://dimasmaulana.pages.dev/posts/development/executing-an-embedded-bash-script-in-go-with-interactive-input/</link>
      <pubDate>Fri, 26 May 2023 07:52:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/executing-an-embedded-bash-script-in-go-with-interactive-input/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;This article will delve further into the code and explain how to enable interactive input when executing the embedded Bash script. We&amp;rsquo;ll walk through the code and understand how to connect the Go program&amp;rsquo;s standard input to the command&amp;rsquo;s standard input, allowing interaction with the Bash script.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;1-overview-of-the-code&#34;&gt;&lt;span&gt;1. Overview of the Code&lt;/span&gt;&#xA;  &lt;a href=&#34;#1-overview-of-the-code&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;The provided code is a Go program that executes an embedded Bash script. It imports necessary packages such as &lt;code&gt;fmt&lt;/code&gt;, &lt;code&gt;log&lt;/code&gt;, &lt;code&gt;os&lt;/code&gt;, and &lt;code&gt;os/exec&lt;/code&gt; to handle command execution, input/output, and error handling.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Running an Embedded Bash Script with Command-Line Arguments in Go</title>
      <link>https://dimasmaulana.pages.dev/posts/development/running-an-embedded-bash-script-with-command-line-arguments-in-go/</link>
      <pubDate>Thu, 25 May 2023 22:07:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/running-an-embedded-bash-script-with-command-line-arguments-in-go/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In this article, we will explore how to embed a Bash script within a Go program and execute it while passing command-line arguments to the embedded script. This approach allows us to package the script directly within the Go binary, eliminating the need for an external script file. We will leverage the os/exec package and the Go embed feature to achieve this.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;prerequisites&#34;&gt;&lt;span&gt;Prerequisites&lt;/span&gt;&#xA;  &lt;a href=&#34;#prerequisites&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;Basic understanding of Go programming language&lt;/li&gt;&#xA;&lt;li&gt;Familiarity with executing shell scripts&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;step-1-embedding-the-bash-script&#34;&gt;&lt;span&gt;Step 1: Embedding the Bash Script&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-1-embedding-the-bash-script&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;To embed the Bash script in the Go program, we can use the Go embed feature. Place the Bash script file, named &lt;code&gt;bash.sh&lt;/code&gt; in this example, alongside the Go source file. Annotate the script content using the &lt;code&gt;//go:embed&lt;/code&gt; directive to indicate that it should be embedded in the binary:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Removing All Comments, Including Legal Ones on Vite Build</title>
      <link>https://dimasmaulana.pages.dev/posts/productivity/removing-all-comments-including-legal-ones-on-vite-build/</link>
      <pubDate>Thu, 25 May 2023 05:26:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/productivity/removing-all-comments-including-legal-ones-on-vite-build/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/productivity/">Productivity</category>
      <description>&lt;p&gt;In software development, comments serve as a valuable tool for code documentation, explanations, and annotations. However, there are situations where it may be necessary or desirable to remove all comments, including legal ones, from your Vite builds. In this article, we will explore how to achieve this by utilizing the legalComments option in Vite&amp;rsquo;s esbuild configuration.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;understanding-the-legalcomments-option&#34;&gt;&lt;span&gt;Understanding the &lt;code&gt;legalComments&lt;/code&gt; Option&lt;/span&gt;&#xA;  &lt;a href=&#34;#understanding-the-legalcomments-option&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Vite, a fast and efficient web development build tool, incorporates the esbuild plugin to optimize JavaScript and TypeScript code. One of the available options for esbuild is &lt;code&gt;legalComments&lt;/code&gt;, which allows developers to control the inclusion of legal comments in the final build output.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Enable Obfuscation on Vite Build with HTTP Headers</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-enable-obfuscation-on-vite-build-with-http-headers/</link>
      <pubDate>Thu, 25 May 2023 05:13:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-enable-obfuscation-on-vite-build-with-http-headers/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;Obfuscation is a technique used to obscure code and make it harder for others to understand or reverse-engineer. If you&amp;rsquo;re using Vite as your build tool for a JavaScript project and want to enable obfuscation, this article will guide you through the process. Additionally, we&amp;rsquo;ll explore how to enhance the security of your obfuscated code by configuring HTTP headers appropriately.&lt;/p&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;step-1-install-required-packages&#34;&gt;&lt;span&gt;Step 1: Install Required Packages&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-1-install-required-packages&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;p&gt;Step 1: Install Required Packages&#xA;Start by navigating to your project directory and opening the terminal. Then, run the following command to install the required dev dependencies:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Categorizing GitHub Issues by Size and Pomodoro Estimation</title>
      <link>https://dimasmaulana.pages.dev/posts/productivity/categorizing-github-issues-by-size-and-pomodoro-estimation/</link>
      <pubDate>Wed, 24 May 2023 10:17:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/productivity/categorizing-github-issues-by-size-and-pomodoro-estimation/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/productivity/">Productivity</category>
      <description>&lt;p&gt;Efficient project management is crucial for successful software development, and accurately estimating the size and duration of GitHub issues is a key component. By categorizing issues based on their size and estimating their duration using the Pomodoro Technique, development teams can effectively plan, prioritize, and allocate resources. This article explores a framework for categorizing GitHub issues into different sizes and provides guidelines for estimating their durations using Pomodoros.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;categorizing-issue-sizes&#34;&gt;&lt;span&gt;Categorizing Issue Sizes&lt;/span&gt;&#xA;  &lt;a href=&#34;#categorizing-issue-sizes&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Issue Size&lt;/th&gt;&#xA;          &lt;th&gt;Description&lt;/th&gt;&#xA;          &lt;th&gt;Pomodoro Estimate&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Tiny&lt;/td&gt;&#xA;          &lt;td&gt;Small and straightforward task&lt;/td&gt;&#xA;          &lt;td&gt;1 Pomodoro (25 minutes)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Small&lt;/td&gt;&#xA;          &lt;td&gt;Requires moderate effort and is relatively simple&lt;/td&gt;&#xA;          &lt;td&gt;2-4 Pomodoros (50 minutes to 2 hours)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Medium&lt;/td&gt;&#xA;          &lt;td&gt;Moderate effort, non-trivial task&lt;/td&gt;&#xA;          &lt;td&gt;4-8 Pomodoros (2 to 4 hours)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Large&lt;/td&gt;&#xA;          &lt;td&gt;Substantial effort, significant work&lt;/td&gt;&#xA;          &lt;td&gt;8-16 Pomodoros (4 to 8 hours)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;X-Large&lt;/td&gt;&#xA;          &lt;td&gt;Major undertaking, complex features or systems&lt;/td&gt;&#xA;          &lt;td&gt;More than 16 Pomodoros (8+ hours)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;To establish a common understanding within the development team, let&amp;rsquo;s use the following framework for categorizing GitHub issue sizes:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Organize Your Tasks Effectively with the Eisenhower Priority Matrix in Apple Reminders</title>
      <link>https://dimasmaulana.pages.dev/posts/productivity/organize-your-tasks-effectively-with-the-eisenhower-priority-matrix-in-apple-reminders/</link>
      <pubDate>Wed, 24 May 2023 09:55:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/productivity/organize-your-tasks-effectively-with-the-eisenhower-priority-matrix-in-apple-reminders/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/productivity/">Productivity</category>
      <description>&lt;p&gt;In our busy lives, it&amp;rsquo;s crucial to prioritize tasks effectively to ensure productivity and efficiency. One popular method for task management is the Eisenhower Priority Matrix, which helps you categorize tasks based on their urgency and importance. If you use Apple Reminders as your task management tool, you can easily implement the Eisenhower Priority Matrix within the app. In this article, we&amp;rsquo;ll guide you through the process of setting up the matrix using Apple Reminders&amp;rsquo; default priority levels.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Translating the Eisenhower Priority Matrix into GitHub Priorities</title>
      <link>https://dimasmaulana.pages.dev/posts/productivity/translating-the-eisenhower-priority-matrix-into-github-priorities/</link>
      <pubDate>Wed, 24 May 2023 09:52:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/productivity/translating-the-eisenhower-priority-matrix-into-github-priorities/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/productivity/">Productivity</category>
      <description>&lt;p&gt;The Eisenhower Priority Matrix is a popular tool for organizing tasks based on their importance and urgency. By categorizing tasks into four quadrants, it provides a visual representation of priorities. However, when it comes to managing tasks in a GitHub repository, it is useful to have a clear mapping of these priorities into default labels. In this article, we will explore how to translate the Eisenhower Priority Matrix into GitHub priority labels to effectively manage and prioritize tasks.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Resolving the Issue of Random Character Generation When Clicking the Mouse in tmux</title>
      <link>https://dimasmaulana.pages.dev/posts/software/resolving-the-issue-of-random-character-generation-when-clicking-the-mouse-in-tmux/</link>
      <pubDate>Wed, 24 May 2023 04:56:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/software/resolving-the-issue-of-random-character-generation-when-clicking-the-mouse-in-tmux/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/software/">Software</category>
      <category domain="https://dimasmaulana.pages.dev/categories/troubleshooting/">Troubleshooting</category>
      <description>&lt;p&gt;Tmux is a powerful terminal multiplexer that allows users to manage multiple sessions, windows, and panes. However, some users have reported an issue where tmux generates random characters when clicking the mouse. In this article, we will explore the cause of this problem and provide steps to resolve it.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;troubleshooting-steps&#34;&gt;&lt;span&gt;Troubleshooting Steps&lt;/span&gt;&#xA;  &lt;a href=&#34;#troubleshooting-steps&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;Terminal Emulator Settings:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Verify that your terminal emulator&amp;rsquo;s mouse settings are properly configured.&lt;/li&gt;&#xA;&lt;li&gt;Enable mouse reporting and ensure it is set to the appropriate mode based on your terminal emulator&amp;rsquo;s documentation.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Update Terminal Emulator:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Ensure that you are using the latest version of your terminal emulator.&lt;/li&gt;&#xA;&lt;li&gt;Older versions may have bugs or compatibility issues that have been resolved in newer releases.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Try a Different Terminal Emulator:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Test the issue with an alternative terminal emulator to determine if it is specific to your current one.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Disable Custom Mouse Configurations:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Temporarily disable any custom mouse settings, scripts, or plugins you have configured to check if they are causing the unexpected behavior.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Reset tmux Configuration:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Rename or move your existing &lt;code&gt;~/.tmux.conf&lt;/code&gt; file to start fresh with default settings.&lt;/li&gt;&#xA;&lt;li&gt;Launch a new tmux session to see if the issue persists without any custom configurations.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;solution&#34;&gt;&lt;span&gt;Solution&lt;/span&gt;&#xA;  &lt;a href=&#34;#solution&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;To stop generating random characters when clicking the mouse in tmux, follow these steps:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Configuring Apache in Docker Compose with Custom Log Settings and Size Limitation for Virtual Hosts</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/configuring-apache-in-docker-compose-with-custom-log-settings-and-size-limitation-for-virtual-hosts/</link>
      <pubDate>Sun, 21 May 2023 05:34:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/configuring-apache-in-docker-compose-with-custom-log-settings-and-size-limitation-for-virtual-hosts/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <description>&lt;p&gt;In this article, we will explore how to configure an Apache web server running in a Docker Compose environment with custom log settings and size limitation specifically for virtual host logs. We&amp;rsquo;ll cover the steps to set up the necessary volume mounts, configuration files, and log rotation to ensure that virtual host logs are limited in size. This will help you effectively manage disk space and maintain clean and manageable log files for your Apache server.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Deploying Docker Compose Production YAML on GitLab CI/CD</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/deploying-docker-compose-production-yaml-on-gitlab-cicd/</link>
      <pubDate>Wed, 17 May 2023 08:01:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/deploying-docker-compose-production-yaml-on-gitlab-cicd/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <description>&lt;p&gt;GitLab CI/CD provides powerful capabilities for automating the deployment of applications. Docker Compose is a popular tool for defining and managing multi-container Docker applications. In this blog post, we&amp;rsquo;ll explore how to deploy a Docker Compose production YAML file on GitLab CI/CD, even if the runner server and production server are not in the same location.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;prerequisites&#34;&gt;&lt;span&gt;Prerequisites&lt;/span&gt;&#xA;  &lt;a href=&#34;#prerequisites&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;Understanding of Docker Compose and GitLab CI/CD concepts.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;step-1-setting-up-the-runner&#34;&gt;&lt;span&gt;Step 1: Setting up the Runner&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-1-setting-up-the-runner&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;To begin, set up a dedicated runner on the runner server. This runner will handle the execution of the deployment pipeline. Ensure that Docker is installed and properly configured on the runner server.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Lock Xubuntu Remotely From SSH</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/lock-xubuntu-remotely-from-ssh/</link>
      <pubDate>Fri, 05 May 2023 11:01:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/lock-xubuntu-remotely-from-ssh/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <description>&lt;p&gt;In certain situations, such as when administering a remote server running Xubuntu, it can be useful to be able to lock the screen remotely. This can help ensure the security and privacy of the system, especially when multiple users have access to the server. In this blog post, we will walk you through the process of remotely locking the Xubuntu screen from SSH.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;prerequisites&#34;&gt;&lt;span&gt;Prerequisites&lt;/span&gt;&#xA;  &lt;a href=&#34;#prerequisites&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;To follow this guide, you&amp;rsquo;ll need the following:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Clone Multiple Github Repositories With Different Deployment Keys But The Same Username</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/clone-multiple-github-repositories-with-different-deployment-keys-but-the-same-username-copy/</link>
      <pubDate>Fri, 05 May 2023 08:20:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/clone-multiple-github-repositories-with-different-deployment-keys-but-the-same-username-copy/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <description>&lt;p&gt;Cloning multiple GitHub repositories with different deployment keys can be useful when you need to access multiple repositories using different SSH keys associated with the same GitHub account. This guide provides step-by-step instructions on how to clone multiple repositories with different deployment keys while using the same username. By following these steps, you can streamline your workflow and manage multiple repositories more efficiently.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;step-1-generate-deployment-keys&#34;&gt;&lt;span&gt;Step 1: Generate Deployment Keys&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-1-generate-deployment-keys&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;To begin, generate a deployment key for each repository you want to clone. Use the &lt;code&gt;ssh-keygen&lt;/code&gt; command on your local machine to create a unique key for each repository.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fixing Camera Issues After Kernel Update on MacBook with Ubuntu OS</title>
      <link>https://dimasmaulana.pages.dev/posts/software/fixing-camera-issues-after-kernel-update-on-macbook-with-ubuntu-os/</link>
      <pubDate>Thu, 20 Apr 2023 05:52:46 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/software/fixing-camera-issues-after-kernel-update-on-macbook-with-ubuntu-os/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/software/">Software</category>
      <category domain="https://dimasmaulana.pages.dev/categories/troubleshooting/">Troubleshooting</category>
      <description>&lt;p&gt;If you&amp;rsquo;re using Ubuntu as your operating system on a MacBook and have recently updated the kernel, you might encounter issues with your camera not working. This problem can be resolved by reinstalling the necessary drivers. We will guide you through the steps to fix the camera problem and get it up and running again.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;step-1-open-terminal&#34;&gt;&lt;span&gt;Step 1: Open Terminal&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-1-open-terminal&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;To begin, open the Terminal on your MacBook. You can do this by searching for &amp;ldquo;Terminal&amp;rdquo; in the Applications menu or by using the shortcut Ctrl+Alt+T.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fixing Git Commit Not Replacing Folder with Changed Case on Mac</title>
      <link>https://dimasmaulana.pages.dev/posts/development/fixing-git-commit-not-replacing-folder-with-changed-case-on-mac/</link>
      <pubDate>Wed, 19 Apr 2023 08:27:26 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/fixing-git-commit-not-replacing-folder-with-changed-case-on-mac/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/software/">Software</category>
      <category domain="https://dimasmaulana.pages.dev/categories/troubleshooting/">Troubleshooting</category>
      <description>&lt;p&gt;If you&amp;rsquo;re working on a Mac and using Git, you might run into an issue where Git won&amp;rsquo;t replace a folder that has had a change in case. For example, if you have a folder called &amp;ldquo;Article&amp;rdquo; and you change it to &amp;ldquo;article&amp;rdquo;, Git might not recognize the change and won&amp;rsquo;t replace the old folder with the new one.&lt;/p&gt;&#xA;&lt;p&gt;Fortunately, there is a solution to this problem. You can configure Git to not ignore case sensitivity by running the following command:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fixing Vault Unlock Issues on macOS Due to MacFuse Hang on Cryptomator</title>
      <link>https://dimasmaulana.pages.dev/posts/software/fixing-vault-unlock-issues-on-macos-due-to-macfuse-hang-on-cryptomator-/</link>
      <pubDate>Sun, 27 Nov 2022 05:41:36 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/software/fixing-vault-unlock-issues-on-macos-due-to-macfuse-hang-on-cryptomator-/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/troubleshooting/">Troubleshooting</category>
      <category domain="https://dimasmaulana.pages.dev/categories/software/">Software</category>
      <description>&lt;p&gt;Cryptomator is a popular open-source encryption software that allows users to secure their files and folders by creating encrypted vaults. However, like any software, Cryptomator may encounter occasional issues. One common problem on macOS is the inability to unlock a vault due to MacFuse hang. In this article, we will guide you through the process of reloading the MacFuse kernel extension to resolve this issue and regain access to your encrypted vault.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hostname Naming Conventions</title>
      <link>https://dimasmaulana.pages.dev/posts/development/hostname-naming-conventions/</link>
      <pubDate>Sun, 23 Oct 2022 12:00:35 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/hostname-naming-conventions/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;h2 class=&#34;heading-element&#34; id=&#34;overview&#34;&gt;&lt;span&gt;Overview&lt;/span&gt;&#xA;  &lt;a href=&#34;#overview&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;A hostname naming convention ensures consistency, clarity, and scalability in IT infrastructure. The naming scheme follows a structured format that includes the function, location, and serial number of a host.&lt;/p&gt;</description>
    </item>
    <item>
      <title>React Beautiful DND Override Z Index When Dragging</title>
      <link>https://dimasmaulana.pages.dev/posts/development/react-beautiful-dnd-override-z-index-when-dragging/</link>
      <pubDate>Thu, 29 Sep 2022 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/react-beautiful-dnd-override-z-index-when-dragging/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In React Beautiful DND, you can override the &lt;code&gt;zIndex&lt;/code&gt; property when an item is being dragged by adding a &lt;code&gt;style&lt;/code&gt; property to the &lt;code&gt;provided.draggableProps&lt;/code&gt; object inside the &lt;code&gt;&amp;lt;Draggable&amp;gt;&lt;/code&gt; component. Setting the &lt;code&gt;zIndex&lt;/code&gt; to &lt;code&gt;0&lt;/code&gt; in this style will ensure that the dragged item has a lower &lt;code&gt;zIndex&lt;/code&gt; value compared to other elements, which can be useful for controlling the stacking order during the drag operation. Here&amp;rsquo;s the code snippet you provided with the relevant line highlighted:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Issue Status Description Naming</title>
      <link>https://dimasmaulana.pages.dev/posts/development/issue-status-description-naming/</link>
      <pubDate>Tue, 20 Sep 2022 05:36:46 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/issue-status-description-naming/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;When tracking and managing issues, it is important to clearly define their status to ensure efficient resolution. Below are the commonly used issue status descriptions and their meanings:&lt;/p&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;new&#34;&gt;&lt;span&gt;&lt;strong&gt;New&lt;/strong&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#new&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;p&gt;An issue is marked as &amp;ldquo;New&amp;rdquo; when it has been reported but has not yet been assigned to any individual or group for investigation.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Query Repository Method Naming</title>
      <link>https://dimasmaulana.pages.dev/posts/development/query-repository-method-naming/</link>
      <pubDate>Mon, 29 Aug 2022 05:40:32 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/query-repository-method-naming/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;Spring Data JPA provides a powerful method-naming convention for query generation. By following these conventions, developers can create readable and efficient queries without writing explicit SQL or JPQL. This article explores various query method naming strategies, including equality, similarity, comparison conditions, multiple condition expressions, sorting, and recent changes in CrudRepository.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;1-equality-condition-keywords&#34;&gt;&lt;span&gt;1. Equality Condition Keywords&lt;/span&gt;&#xA;  &lt;a href=&#34;#1-equality-condition-keywords&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Exact equality is a common condition in queries. We have several options to express &lt;code&gt;=&lt;/code&gt; or &lt;code&gt;IS&lt;/code&gt; operators:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Issue Title Naming</title>
      <link>https://dimasmaulana.pages.dev/posts/development/issue-title-naming/</link>
      <pubDate>Wed, 17 Aug 2022 09:21:20 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/issue-title-naming/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;h2 class=&#34;heading-element&#34; id=&#34;user-story-titles&#34;&gt;&lt;span&gt;User Story Titles&lt;/span&gt;&#xA;  &lt;a href=&#34;#user-story-titles&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;A user story defines a behavior or feature that a solution must implement to meet user needs. The recommended formats for user story titles are:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Can&#39;t Open SQLite on WSL2 Windows 11</title>
      <link>https://dimasmaulana.pages.dev/posts/development/cant-open-sqlite-on-wsl2-windows-11/</link>
      <pubDate>Wed, 13 Jul 2022 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/cant-open-sqlite-on-wsl2-windows-11/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;SQLite is a popular, lightweight, and serverless database engine used in various applications. However, when working with SQLite on a Windows Subsystem for Linux (WSL2) in Windows 11, you may encounter issues related to file locking. In this article, we will explore the problem, its possible cause, and a solution to resolve it.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;problems&#34;&gt;&lt;span&gt;Problems&lt;/span&gt;&#xA;  &lt;a href=&#34;#problems&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;The primary issue you might face when trying to open an SQLite file located on WSL2 is that the database file is locked. This can prevent you from performing read and write operations on the database, making it challenging to work with SQLite effectively.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Switch Virtual Desktop With Mouse Gesture on Windows 11</title>
      <link>https://dimasmaulana.pages.dev/posts/development/switch-virtual-desktop-with-mouse-gesture-on-windows-11/</link>
      <pubDate>Thu, 30 Jun 2022 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/switch-virtual-desktop-with-mouse-gesture-on-windows-11/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;If you want to switch virtual desktops with mouse gestures on Windows 11, you can use a third-party software called StrokeIt. StrokeIt is a mouse gesture recognition program that allows you to perform various actions by drawing gestures with your mouse.&lt;/p&gt;&#xA;&lt;p&gt;Here&amp;rsquo;s how you can set up StrokeIt to switch virtual desktops on Windows 11:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Download and Install StrokeIt:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;You can download StrokeIt from its official website &lt;a href=&#34;http://www.tcbmi.com/strokeit/&#34; target=&#34;_blank&#34; rel=&#34;external nofollow noopener noreferrer&#34;&gt;here&lt;/a&gt;. Follow the installation instructions to set it up on your computer.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mi Band Record Incorrect In Bed Data on Sleep Variable of Health iOS</title>
      <link>https://dimasmaulana.pages.dev/posts/software/mi-band-record-incorrect-in-bed-data-on-sleep-variable-of-health-ios/</link>
      <pubDate>Mon, 20 Jun 2022 03:37:09 +0708</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/software/mi-band-record-incorrect-in-bed-data-on-sleep-variable-of-health-ios/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/software/">Software</category>
      <description>&lt;p&gt;If you&amp;rsquo;re experiencing issues with your Mi Band recording incorrect &amp;ldquo;In Bed&amp;rdquo; data on the Sleep variable in the Health app on iOS, there&amp;rsquo;s a simple solution you can try. This problem can often be resolved by adjusting your iOS device&amp;rsquo;s timezone settings. Here&amp;rsquo;s a step-by-step guide on how to do it:&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;step-1-open-the-settings-app-on-your-ios-device&#34;&gt;&lt;span&gt;Step 1: Open the Settings App on Your iOS Device&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-1-open-the-settings-app-on-your-ios-device&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Unlock your iOS device and locate the &amp;ldquo;Settings&amp;rdquo; app on your home screen. It looks like a gear icon and is typically found on the first page of your apps.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Login to a Shared Folder with Your Windows Account on Windows 11</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-login-to-a-shared-folder-with-your-windows-account-on-windows-11/</link>
      <pubDate>Wed, 15 Jun 2022 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-login-to-a-shared-folder-with-your-windows-account-on-windows-11/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;If you want to access a shared folder on Windows 11 using your Windows account password, follow these steps:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Open Settings&lt;/strong&gt;:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Click on the &lt;strong&gt;Start&lt;/strong&gt; button (Windows logo) in the taskbar.&lt;/li&gt;&#xA;&lt;li&gt;Click on the &lt;strong&gt;Settings&lt;/strong&gt; (gear-shaped) icon to open the Windows Settings app.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Navigate to Accounts&lt;/strong&gt;:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;In the Windows Settings app, click on the &lt;strong&gt;Accounts&lt;/strong&gt; category.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Change Sign-in Options&lt;/strong&gt;:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Under the Accounts section, click on &lt;strong&gt;Sign-in options&lt;/strong&gt; in the left sidebar.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Disable Windows Hello (Recommended)&lt;/strong&gt;:&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to See Currently Logged in Users in Windows 10 - 11</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-see-currently-logged-in-users-in-windows-10-11/</link>
      <pubDate>Tue, 17 May 2022 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-see-currently-logged-in-users-in-windows-10-11/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;If you want to see the currently logged-in users on a Windows 10 or Windows 11 system, you can use the Command Prompt and the &lt;code&gt;query user&lt;/code&gt; command. Here&amp;rsquo;s a step-by-step guide on how to do it:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Open Command Prompt:&lt;/strong&gt; Press &lt;code&gt;Win + X&lt;/code&gt; and select &amp;ldquo;Windows Terminal&amp;rdquo; or &amp;ldquo;Command Prompt&amp;rdquo; from the menu. You can also simply search for &amp;ldquo;Command Prompt&amp;rdquo; in the Windows search bar and open it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Building a Go Application with Docker: Optimized Dockerfile</title>
      <link>https://dimasmaulana.pages.dev/posts/development/building-a-go-application-with-docker-optimized-dockerfile/</link>
      <pubDate>Tue, 10 May 2022 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/building-a-go-application-with-docker-optimized-dockerfile/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In this article, we will walk through the creation of an optimized Dockerfile for building and running a Go application. This Dockerfile will focus on building only the binary of the Go application, resulting in a smaller and more efficient Docker image.&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;## Dockerfile for Building a Go Application&#xA;&#xA;```Dockerfile&#xA;# Stage 1: Build the Go Binary&#xA;FROM golang:1.17 as builder&#xA;&#xA;# Set the working directory inside the container&#xA;WORKDIR /app&#xA;&#xA;# Copy the Go application source code into the container&#xA;COPY . .&#xA;&#xA;# Set environment variables&#xA;ENV CGO_ENABLED=0&#xA;&#xA;# Fetch dependencies and build the Go binary&#xA;RUN go get -d -v ./...&#xA;RUN go build -o /tmp/api-server .&#xA;&#xA;# Stage 2: Create a minimal runtime image&#xA;FROM scratch&#xA;&#xA;# Copy the binary from the builder stage into the minimal image&#xA;COPY --from=builder /tmp/api-server /usr/bin/api-server&#xA;&#xA;# Define the command to run when the container starts&#xA;CMD [&amp;#34;api-server&amp;#34;, &amp;#34;start&amp;#34;]&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;In this Dockerfile, we use a multi-stage build to optimize the final Docker image. Here&amp;rsquo;s a breakdown of what each section does:&lt;/p&gt;</description>
    </item>
    <item>
      <title>React: Scroll to Top Instantly After Router Transition</title>
      <link>https://dimasmaulana.pages.dev/posts/development/react-scroll-to-top-instantly-after-router-transition/</link>
      <pubDate>Sat, 30 Apr 2022 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/react-scroll-to-top-instantly-after-router-transition/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In a React application, it&amp;rsquo;s common to want to scroll to the top of the page instantly after a router transition, such as when navigating to a new page or route. This provides a smooth user experience and ensures that the user starts reading the new content from the top of the page. To achieve this, you can use JavaScript&amp;rsquo;s &lt;code&gt;window.scrollTo()&lt;/code&gt; method with the &lt;code&gt;behavior: &#39;instant&#39;&lt;/code&gt; option. In this article, we&amp;rsquo;ll explore how to implement this behavior in a React application.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Rename Author on All Commits in Git</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-rename-author-on-all-commits-in-git/</link>
      <pubDate>Fri, 22 Apr 2022 05:36:06 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-rename-author-on-all-commits-in-git/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In Git, there may be situations where you need to update or correct author information on all commits, such as changing email addresses or fixing incorrect names. This guide will explain how to rename authors on all commits using the git-filter-repo tool.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;requirements&#34;&gt;&lt;span&gt;Requirements&lt;/span&gt;&#xA;  &lt;a href=&#34;#requirements&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;git-filter-repo: You can install it from the official repository at &lt;a href=&#34;https://github.com/newren/git-filter-repo&#34; target=&#34;_blank&#34; rel=&#34;external nofollow noopener noreferrer&#34;&gt;https://github.com/newren/git-filter-repo&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;procedure&#34;&gt;&lt;span&gt;Procedure&lt;/span&gt;&#xA;  &lt;a href=&#34;#procedure&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;h3 class=&#34;heading-element&#34; id=&#34;step-1-create-a-mailmap-file&#34;&gt;&lt;span&gt;Step 1: Create a .mailmap File&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-1-create-a-mailmap-file&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;p&gt;Create a file named &lt;code&gt;.mailmap&lt;/code&gt; in the root directory of your Git repository. This file will map the old author information to the new author information. The correct format for each entry is as follows:&lt;/p&gt;</description>
    </item>
    <item>
      <title>GIT Commit Message Naming</title>
      <link>https://dimasmaulana.pages.dev/posts/development/git-commit-message-naming/</link>
      <pubDate>Fri, 01 Apr 2022 04:51:17 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/git-commit-message-naming/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;h2 class=&#34;heading-element&#34; id=&#34;introduction&#34;&gt;&lt;span&gt;Introduction&lt;/span&gt;&#xA;  &lt;a href=&#34;#introduction&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;A well-structured commit message is crucial for maintaining a clean and readable project history. The Conventional Commits specification provides a standard format for commit messages, making it easier to generate changelogs, automate versioning, and improve collaboration. This document outlines the naming conventions and structure for Git commit messages.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Git Gitlab Flow</title>
      <link>https://dimasmaulana.pages.dev/posts/development/git-gitlab-flow/</link>
      <pubDate>Mon, 28 Mar 2022 06:17:30 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/git-gitlab-flow/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;GitLab Flow is a set of best practices for using Git with GitLab, combining elements of Git Flow and GitHub Flow to support various workflows. It emphasizes the use of feature branches for development, with integration to GitLab’s CI/CD pipeline for continuous testing and deployment.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;production-branch&#34;&gt;&lt;span&gt;Production Branch&lt;/span&gt;&#xA;  &lt;a href=&#34;#production-branch&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;flowchart TB&#xA;a--&amp;gt;b--&amp;gt;c--&amp;gt;d--&amp;gt;e&#xA;f--&amp;gt;g&#xA;c--deployment--&amp;gt;g&#xA;g--&amp;gt;h&#xA;a[development]&#xA;b[development]&#xA;c[development]&#xA;d[development]&#xA;e[development]&#xA;f[production]&#xA;g[production]&#xA;h[production]&lt;/code&gt;&lt;/pre&gt;&lt;h2 class=&#34;heading-element&#34; id=&#34;environtment-branches&#34;&gt;&lt;span&gt;Environtment Branches&lt;/span&gt;&#xA;  &lt;a href=&#34;#environtment-branches&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;flowchart LR&#xA;a--&amp;gt;b--&amp;gt;c--&amp;gt;d&#xA;e--&amp;gt;f--&amp;gt;g--&amp;gt;h&#xA;i--&amp;gt;j--&amp;gt;k&#xA;a--deploy to\npre-prod--&amp;gt;e&#xA;c--deploy to\npre-prod--&amp;gt;g&#xA;e--production\ndeployment--&amp;gt;j&#xA;a[staging]&#xA;b[staging]&#xA;c[staging]&#xA;d[staging]&#xA;e[pre-prod]&#xA;f[pre-prod]&#xA;g[pre-prod]&#xA;h[pre-prod]&#xA;i[production]&#xA;j[production]&#xA;k[production]&lt;/code&gt;&lt;/pre&gt;&lt;h2 class=&#34;heading-element&#34; id=&#34;release-branches&#34;&gt;&lt;span&gt;Release Branches&lt;/span&gt;&#xA;  &lt;a href=&#34;#release-branches&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;flowchart LR&#xA;a--&amp;gt;b--&amp;gt;c--&amp;gt;d--&amp;gt;e&#xA;a--&amp;gt;f--&amp;gt;g&#xA;c-.-chery-pick-.-&amp;gt;g&#xA;d--&amp;gt;i&#xA;a[main]&#xA;b[main]&#xA;c[main]&#xA;d[main]&#xA;e[main]&#xA;f[2.3-stable]&#xA;g[2.3-stable]&#xA;i[2.4-stable]&lt;/code&gt;&lt;/pre&gt;</description>
    </item>
    <item>
      <title>Issue Type</title>
      <link>https://dimasmaulana.pages.dev/posts/development/issue-type/</link>
      <pubDate>Mon, 28 Mar 2022 06:07:55 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/issue-type/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;h2 class=&#34;heading-element&#34; id=&#34;business-projects&#34;&gt;&lt;span&gt;Business Projects&lt;/span&gt;&#xA;  &lt;a href=&#34;#business-projects&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Business projects typically include the following issue types:&lt;/p&gt;</description>
    </item>
    <item>
      <title>User Roles Naming</title>
      <link>https://dimasmaulana.pages.dev/posts/development/user-roles-naming/</link>
      <pubDate>Sun, 27 Mar 2022 22:06:23 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/user-roles-naming/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;Effective user role naming is essential for managing access control and permissions in systems, applications, and organizations. Well-structured role names enhance clarity, consistency, scalability, and security, ensuring that responsibilities and access levels are accurately represented.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;key-principles&#34;&gt;&lt;span&gt;Key Principles&lt;/span&gt;&#xA;  &lt;a href=&#34;#key-principles&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;Clarity&lt;/strong&gt; – Role names should be self-explanatory and easily understood by all stakeholders.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Consistency&lt;/strong&gt; – Maintain uniform naming conventions across all roles to prevent confusion.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Scalability&lt;/strong&gt; – Design role names that accommodate future expansions or modifications.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Security&lt;/strong&gt; – Ensure that role names reflect the appropriate access levels without exposing sensitive information.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;example-role-hierarchy&#34;&gt;&lt;span&gt;Example Role Hierarchy&lt;/span&gt;&#xA;  &lt;a href=&#34;#example-role-hierarchy&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;flowchart LR&#xA;a[Site Visitor] --&amp;gt; b[Former Member]&#xA;a --&amp;gt; c[Registered Member]&#xA;a --&amp;gt; d[Known Visitor]&#xA;a --&amp;gt; e[Unknown Visitor]&#xA;c --&amp;gt; f[Premium Member]&#xA;c --&amp;gt; g[Trial Member]&lt;/code&gt;&lt;/pre&gt;&lt;h3 class=&#34;heading-element&#34; id=&#34;explanation&#34;&gt;&lt;span&gt;Explanation&lt;/span&gt;&#xA;  &lt;a href=&#34;#explanation&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Site Visitor&lt;/strong&gt;: A general user without an account.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Former Member&lt;/strong&gt;: A user who previously had an account but is now inactive.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Registered Member&lt;/strong&gt;: An active user with a registered account.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Premium Member&lt;/strong&gt;: A user with a paid or upgraded membership.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Trial Member&lt;/strong&gt;: A user on a temporary trial plan.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Known Visitor&lt;/strong&gt;: A non-registered user recognized through tracking mechanisms.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Unknown Visitor&lt;/strong&gt;: A completely anonymous user.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;conclusion&#34;&gt;&lt;span&gt;Conclusion&lt;/span&gt;&#xA;  &lt;a href=&#34;#conclusion&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;p&gt;Adopting structured and meaningful role names improves system usability, security, and scalability. Organizations should define roles carefully to align with business needs while maintaining clear distinctions in access levels.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Get Yesterday&#39;s Date in Bash on Mac and Ubuntu</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-get-yesterdays-date-in-bash-on-mac-and-ubuntu/</link>
      <pubDate>Fri, 04 Mar 2022 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-get-yesterdays-date-in-bash-on-mac-and-ubuntu/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In Bash scripting, there are various ways to retrieve yesterday&amp;rsquo;s date on both Mac and Ubuntu systems. Below, we&amp;rsquo;ll demonstrate two different methods for each operating system.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;mac&#34;&gt;&lt;span&gt;Mac:&lt;/span&gt;&#xA;  &lt;a href=&#34;#mac&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;h3 class=&#34;heading-element&#34; id=&#34;method-1-using-date-with--v-option&#34;&gt;&lt;span&gt;Method 1: Using &lt;code&gt;date&lt;/code&gt; with &lt;code&gt;-v&lt;/code&gt; option&lt;/span&gt;&#xA;  &lt;a href=&#34;#method-1-using-date-with--v-option&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;yesterday=$(date -v-1d &amp;#43;%F)&#xA;echo &amp;#34;Yesterday&amp;#39;s date on Mac: $yesterday&amp;#34;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;In this method, we use the &lt;code&gt;-v&lt;/code&gt; option with the &lt;code&gt;date&lt;/code&gt; command to subtract 1 day from the current date and format it as &lt;code&gt;%F&lt;/code&gt;, which gives the date in YYYY-MM-DD format.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Shell Bash Export variable</title>
      <link>https://dimasmaulana.pages.dev/posts/development/shell-bash-export-variable/</link>
      <pubDate>Fri, 04 Mar 2022 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/shell-bash-export-variable/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;It looks like you&amp;rsquo;re trying to use the &lt;code&gt;eval&lt;/code&gt; command in a Bash script to export variables loaded from a dotenv file using the &lt;code&gt;shdotenv&lt;/code&gt; tool. This is a common practice for setting environment variables from a configuration file. Here&amp;rsquo;s an explanation of what this code does:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;shdotenv&lt;/code&gt; is likely a command or script that reads a dotenv file (usually named &lt;code&gt;.env&lt;/code&gt;) and sets environment variables based on the key-value pairs defined in that file. Dotenv files are commonly used to store configuration variables for applications.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Golang Interface{} and Type Assertions</title>
      <link>https://dimasmaulana.pages.dev/posts/development/golang-interface-and-type-assertions/</link>
      <pubDate>Sat, 26 Feb 2022 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/golang-interface-and-type-assertions/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In Go (Golang), the &lt;code&gt;interface{}&lt;/code&gt; type is an empty interface that can hold values of any type. It is often used when you need to work with values of unknown or varied types. Type assertions allow you to extract and work with the underlying concrete type of a value stored in an &lt;code&gt;interface{}&lt;/code&gt;. Here, we&amp;rsquo;ll explore how to use &lt;code&gt;interface{}&lt;/code&gt; and type assertions in Go.&lt;/p&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;storing-different-types-in-an-interface&#34;&gt;&lt;span&gt;Storing Different Types in an &lt;code&gt;interface{}&lt;/code&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#storing-different-types-in-an-interface&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;p&gt;You can store values of different types in an &lt;code&gt;interface{}&lt;/code&gt;. Here&amp;rsquo;s an example:&lt;/p&gt;</description>
    </item>
    <item>
      <title>REST API Status Code Example</title>
      <link>https://dimasmaulana.pages.dev/posts/development/rest-api-status-code-example/</link>
      <pubDate>Fri, 25 Feb 2022 09:57:46 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/rest-api-status-code-example/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;h2 class=&#34;heading-element&#34; id=&#34;introduction&#34;&gt;&lt;span&gt;Introduction&lt;/span&gt;&#xA;  &lt;a href=&#34;#introduction&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;HTTP status codes are essential in REST APIs as they indicate the outcome of client requests. These standardized codes help clients understand whether their request was successful, requires further action, or encountered an error. Below is an overview of key HTTP status codes categorized by their respective classes.&lt;/p&gt;</description>
    </item>
    <item>
      <title>REST API Success Response Example</title>
      <link>https://dimasmaulana.pages.dev/posts/development/rest-api-success-response-example-/</link>
      <pubDate>Tue, 22 Feb 2022 22:03:47 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/rest-api-success-response-example-/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;h2 class=&#34;heading-element&#34; id=&#34;overview&#34;&gt;&lt;span&gt;Overview&lt;/span&gt;&#xA;  &lt;a href=&#34;#overview&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;This document provides an example of a successful response from a REST API when creating a new resource. The response follows a structured format, including essential details such as the resource ID, attributes, timestamps, and metadata.&lt;/p&gt;</description>
    </item>
    <item>
      <title>REST API Error Response Example</title>
      <link>https://dimasmaulana.pages.dev/posts/development/rest-api-error-response-example/</link>
      <pubDate>Tue, 22 Feb 2022 21:57:44 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/rest-api-error-response-example/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;REST APIs should provide clear and structured error responses to help clients understand and resolve issues effectively. Below are examples of different types of error responses that an API might return.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;single-error-responses&#34;&gt;&lt;span&gt;Single Error Responses&lt;/span&gt;&#xA;  &lt;a href=&#34;#single-error-responses&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;h3 class=&#34;heading-element&#34; id=&#34;incorrect-username-or-password&#34;&gt;&lt;span&gt;Incorrect Username or Password&lt;/span&gt;&#xA;  &lt;a href=&#34;#incorrect-username-or-password&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;{&#xA;    &amp;#34;type&amp;#34;: &amp;#34;/errors/incorrect-user-pass&amp;#34;,&#xA;    &amp;#34;title&amp;#34;: &amp;#34;Incorrect username or password.&amp;#34;,&#xA;    &amp;#34;status&amp;#34;: 401,&#xA;    &amp;#34;detail&amp;#34;: &amp;#34;Authentication failed due to incorrect username or password.&amp;#34;,&#xA;    &amp;#34;instance&amp;#34;: &amp;#34;/login/log/abc123&amp;#34;&#xA;}&lt;/code&gt;&lt;/pre&gt;&lt;h3 class=&#34;heading-element&#34; id=&#34;validation-errors&#34;&gt;&lt;span&gt;Validation Errors&lt;/span&gt;&#xA;  &lt;a href=&#34;#validation-errors&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;h4 class=&#34;heading-element&#34; id=&#34;title-must-be-defined&#34;&gt;&lt;span&gt;Title Must Be Defined&lt;/span&gt;&#xA;  &lt;a href=&#34;#title-must-be-defined&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;pre&gt;&lt;code&gt;{&#xA;    &amp;#34;data&amp;#34;: null,&#xA;    &amp;#34;error&amp;#34;: {&#xA;        &amp;#34;status&amp;#34;: 400,&#xA;        &amp;#34;name&amp;#34;: &amp;#34;ValidationError&amp;#34;,&#xA;        &amp;#34;message&amp;#34;: &amp;#34;title must be defined.&amp;#34;,&#xA;        &amp;#34;details&amp;#34;: {&#xA;            &amp;#34;errors&amp;#34;: [&#xA;                {&#xA;                    &amp;#34;path&amp;#34;: [&amp;#34;title&amp;#34;],&#xA;                    &amp;#34;message&amp;#34;: &amp;#34;title must be defined.&amp;#34;,&#xA;                    &amp;#34;name&amp;#34;: &amp;#34;ValidationError&amp;#34;&#xA;                }&#xA;            ]&#xA;        }&#xA;    }&#xA;}&lt;/code&gt;&lt;/pre&gt;&lt;h4 class=&#34;heading-element&#34; id=&#34;name-must-be-at-most-50-characters&#34;&gt;&lt;span&gt;Name Must Be At Most 50 Characters&lt;/span&gt;&#xA;  &lt;a href=&#34;#name-must-be-at-most-50-characters&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;pre&gt;&lt;code&gt;{&#xA;    &amp;#34;data&amp;#34;: null,&#xA;    &amp;#34;error&amp;#34;: {&#xA;        &amp;#34;status&amp;#34;: 400,&#xA;        &amp;#34;name&amp;#34;: &amp;#34;ValidationError&amp;#34;,&#xA;        &amp;#34;message&amp;#34;: &amp;#34;name must be at most 50 characters&amp;#34;,&#xA;        &amp;#34;details&amp;#34;: {&#xA;            &amp;#34;errors&amp;#34;: [&#xA;                {&#xA;                    &amp;#34;path&amp;#34;: [&amp;#34;name&amp;#34;],&#xA;                    &amp;#34;message&amp;#34;: &amp;#34;name must be at most 50 characters&amp;#34;,&#xA;                    &amp;#34;name&amp;#34;: &amp;#34;ValidationError&amp;#34;&#xA;                }&#xA;            ]&#xA;        }&#xA;    }&#xA;}&lt;/code&gt;&lt;/pre&gt;&lt;h4 class=&#34;heading-element&#34; id=&#34;this-attribute-must-be-unique&#34;&gt;&lt;span&gt;This Attribute Must Be Unique&lt;/span&gt;&#xA;  &lt;a href=&#34;#this-attribute-must-be-unique&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h4&gt;&lt;pre&gt;&lt;code&gt;{&#xA;    &amp;#34;data&amp;#34;: null,&#xA;    &amp;#34;error&amp;#34;: {&#xA;        &amp;#34;status&amp;#34;: 400,&#xA;        &amp;#34;name&amp;#34;: &amp;#34;ValidationError&amp;#34;,&#xA;        &amp;#34;message&amp;#34;: &amp;#34;This attribute must be unique&amp;#34;,&#xA;        &amp;#34;details&amp;#34;: {&#xA;            &amp;#34;errors&amp;#34;: [&#xA;                {&#xA;                    &amp;#34;path&amp;#34;: [&amp;#34;name&amp;#34;],&#xA;                    &amp;#34;message&amp;#34;: &amp;#34;This attribute must be unique&amp;#34;,&#xA;                    &amp;#34;name&amp;#34;: &amp;#34;ValidationError&amp;#34;&#xA;                }&#xA;            ]&#xA;        }&#xA;    }&#xA;}&lt;/code&gt;&lt;/pre&gt;&lt;hr&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;authentication-errors&#34;&gt;&lt;span&gt;Authentication Errors&lt;/span&gt;&#xA;  &lt;a href=&#34;#authentication-errors&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;h3 class=&#34;heading-element&#34; id=&#34;no-authorization-provided&#34;&gt;&lt;span&gt;No Authorization Provided&lt;/span&gt;&#xA;  &lt;a href=&#34;#no-authorization-provided&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;{&#xA;    &amp;#34;data&amp;#34;: null,&#xA;    &amp;#34;error&amp;#34;: {&#xA;        &amp;#34;status&amp;#34;: 403,&#xA;        &amp;#34;name&amp;#34;: &amp;#34;ForbiddenError&amp;#34;,&#xA;        &amp;#34;message&amp;#34;: &amp;#34;Forbidden&amp;#34;,&#xA;        &amp;#34;details&amp;#34;: {}&#xA;    }&#xA;}&lt;/code&gt;&lt;/pre&gt;&lt;h3 class=&#34;heading-element&#34; id=&#34;invalid-authentication&#34;&gt;&lt;span&gt;Invalid Authentication&lt;/span&gt;&#xA;  &lt;a href=&#34;#invalid-authentication&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;{&#xA;    &amp;#34;data&amp;#34;: null,&#xA;    &amp;#34;error&amp;#34;: {&#xA;        &amp;#34;status&amp;#34;: 401,&#xA;        &amp;#34;name&amp;#34;: &amp;#34;UnauthorizedError&amp;#34;,&#xA;        &amp;#34;message&amp;#34;: &amp;#34;Missing or invalid credentials&amp;#34;,&#xA;        &amp;#34;details&amp;#34;: {}&#xA;    }&#xA;}&lt;/code&gt;&lt;/pre&gt;&lt;hr&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;multiple-errors&#34;&gt;&lt;span&gt;Multiple Errors&lt;/span&gt;&#xA;  &lt;a href=&#34;#multiple-errors&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;h3 class=&#34;heading-element&#34; id=&#34;name-and-title-must-be-defined&#34;&gt;&lt;span&gt;Name and Title Must Be Defined&lt;/span&gt;&#xA;  &lt;a href=&#34;#name-and-title-must-be-defined&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;{&#xA;    &amp;#34;data&amp;#34;: null,&#xA;    &amp;#34;error&amp;#34;: {&#xA;        &amp;#34;status&amp;#34;: 400,&#xA;        &amp;#34;name&amp;#34;: &amp;#34;ValidationError&amp;#34;,&#xA;        &amp;#34;message&amp;#34;: &amp;#34;2 errors occurred&amp;#34;,&#xA;        &amp;#34;details&amp;#34;: {&#xA;            &amp;#34;errors&amp;#34;: [&#xA;                {&#xA;                    &amp;#34;path&amp;#34;: [&amp;#34;name&amp;#34;],&#xA;                    &amp;#34;message&amp;#34;: &amp;#34;name must be defined.&amp;#34;,&#xA;                    &amp;#34;name&amp;#34;: &amp;#34;ValidationError&amp;#34;&#xA;                },&#xA;                {&#xA;                    &amp;#34;path&amp;#34;: [&amp;#34;title&amp;#34;],&#xA;                    &amp;#34;message&amp;#34;: &amp;#34;title must be defined.&amp;#34;,&#xA;                    &amp;#34;name&amp;#34;: &amp;#34;ValidationError&amp;#34;&#xA;                }&#xA;            ]&#xA;        }&#xA;    }&#xA;}&lt;/code&gt;&lt;/pre&gt;&lt;hr&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;field-specific-validation-errors&#34;&gt;&lt;span&gt;Field-Specific Validation Errors&lt;/span&gt;&#xA;  &lt;a href=&#34;#field-specific-validation-errors&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;h3 class=&#34;heading-element&#34; id=&#34;field-too-short&#34;&gt;&lt;span&gt;Field Too Short&lt;/span&gt;&#xA;  &lt;a href=&#34;#field-too-short&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;{&#xA;  &amp;#34;placement&amp;#34;: &amp;#34;field&amp;#34;,&#xA;  &amp;#34;title&amp;#34;: &amp;#34;value too short&amp;#34;,&#xA;  &amp;#34;detail&amp;#34;: &amp;#34;field username must be at least 4 symbols&amp;#34;,&#xA;  &amp;#34;location&amp;#34;: &amp;#34;username&amp;#34;,&#xA;  &amp;#34;field&amp;#34;: &amp;#34;username&amp;#34;,&#xA;  &amp;#34;code&amp;#34;: &amp;#34;validation.min&amp;#34;,&#xA;  &amp;#34;expression&amp;#34;: &amp;#34;min&amp;#34;,&#xA;  &amp;#34;argument&amp;#34;: &amp;#34;4&amp;#34;,&#xA;  &amp;#34;traceid&amp;#34;: &amp;#34;74681b27-b1ea-454d-9847-d27059e19119&amp;#34;,&#xA;  &amp;#34;stacktraces&amp;#34;: [&#xA; {&#xA;   &amp;#34;file&amp;#34;: &amp;#34;model/response.go&amp;#34;,&#xA;   &amp;#34;function&amp;#34;: &amp;#34;model.(*ErrorMessage).LogStacktraceWithErr&amp;#34;,&#xA;   &amp;#34;linenumber&amp;#34;: 22,&#xA;   &amp;#34;realerror&amp;#34;: null&#xA; },&#xA; {&#xA;   &amp;#34;file&amp;#34;: &amp;#34;helpers/validator.go&amp;#34;,&#xA;   &amp;#34;function&amp;#34;: &amp;#34;helpers.Validator&amp;#34;,&#xA;   &amp;#34;linenumber&amp;#34;: 58,&#xA;   &amp;#34;realerror&amp;#34;: null&#xA; },&#xA; {&#xA;   &amp;#34;file&amp;#34;: &amp;#34;handlers/registration.go&amp;#34;,&#xA;   &amp;#34;function&amp;#34;: &amp;#34;handlers.RegistrationHandler&amp;#34;,&#xA;   &amp;#34;linenumber&amp;#34;: 61,&#xA;   &amp;#34;realerror&amp;#34;: null&#xA; }&#xA;  ]&#xA;}&lt;/code&gt;&lt;/pre&gt;&lt;h3 class=&#34;heading-element&#34; id=&#34;password-and-confirm-password-must-match&#34;&gt;&lt;span&gt;Password and Confirm Password Must Match&lt;/span&gt;&#xA;  &lt;a href=&#34;#password-and-confirm-password-must-match&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;{&#xA;  &amp;#34;placement&amp;#34;: &amp;#34;field&amp;#34;,&#xA;  &amp;#34;title&amp;#34;: &amp;#34;must be equal&amp;#34;,&#xA;  &amp;#34;detail&amp;#34;: &amp;#34;field password is not equal to field confirmpassword&amp;#34;,&#xA;  &amp;#34;location&amp;#34;: &amp;#34;password&amp;#34;,&#xA;  &amp;#34;field&amp;#34;: &amp;#34;password&amp;#34;,&#xA;  &amp;#34;code&amp;#34;: &amp;#34;validation.equal&amp;#34;,&#xA;  &amp;#34;expression&amp;#34;: &amp;#34;equal&amp;#34;,&#xA;  &amp;#34;argument&amp;#34;: &amp;#34;confirmpassword&amp;#34;,&#xA;  &amp;#34;traceid&amp;#34;: &amp;#34;e017ecb2-d72f-4f79-889f-6c42126970a8&amp;#34;,&#xA;  &amp;#34;stacktraces&amp;#34;: [&#xA; {&#xA;   &amp;#34;file&amp;#34;: &amp;#34;model/response.go&amp;#34;,&#xA;   &amp;#34;function&amp;#34;: &amp;#34;model.(*ErrorMessage).LogStacktraceWithErr&amp;#34;,&#xA;   &amp;#34;linenumber&amp;#34;: 22,&#xA;   &amp;#34;realerror&amp;#34;: null&#xA; },&#xA; {&#xA;   &amp;#34;file&amp;#34;: &amp;#34;helpers/validator.go&amp;#34;,&#xA;   &amp;#34;function&amp;#34;: &amp;#34;helpers.Validator&amp;#34;,&#xA;   &amp;#34;linenumber&amp;#34;: 58,&#xA;   &amp;#34;realerror&amp;#34;: null&#xA; },&#xA; {&#xA;   &amp;#34;file&amp;#34;: &amp;#34;handlers/registration.go&amp;#34;,&#xA;   &amp;#34;function&amp;#34;: &amp;#34;handlers.RegistrationHandler&amp;#34;,&#xA;   &amp;#34;linenumber&amp;#34;: 61,&#xA;   &amp;#34;realerror&amp;#34;: null&#xA; }&#xA;  ]&#xA;}&lt;/code&gt;&lt;/pre&gt;&lt;h3 class=&#34;heading-element&#34; id=&#34;incorrect-email-format&#34;&gt;&lt;span&gt;Incorrect Email Format&lt;/span&gt;&#xA;  &lt;a href=&#34;#incorrect-email-format&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;{&#xA;  &amp;#34;placement&amp;#34;: &amp;#34;field&amp;#34;,&#xA;  &amp;#34;title&amp;#34;: &amp;#34;incorrect email format&amp;#34;,&#xA;  &amp;#34;detail&amp;#34;: &amp;#34;field email has incorrect value&amp;#34;,&#xA;  &amp;#34;location&amp;#34;: &amp;#34;email&amp;#34;,&#xA;  &amp;#34;field&amp;#34;: &amp;#34;email&amp;#34;,&#xA;  &amp;#34;code&amp;#34;: &amp;#34;validation.email&amp;#34;,&#xA;  &amp;#34;expression&amp;#34;: null,&#xA;  &amp;#34;argument&amp;#34;: null,&#xA;  &amp;#34;traceid&amp;#34;: &amp;#34;cecda6b8-7ce8-4054-8c06-9382320afd78&amp;#34;,&#xA;  &amp;#34;stacktraces&amp;#34;: [&#xA; {&#xA;   &amp;#34;file&amp;#34;: &amp;#34;model/response.go&amp;#34;,&#xA;   &amp;#34;function&amp;#34;: &amp;#34;model.(*ErrorMessage).LogStacktraceWithErr&amp;#34;,&#xA;   &amp;#34;linenumber&amp;#34;: 22,&#xA;   &amp;#34;realerror&amp;#34;: null&#xA; },&#xA; {&#xA;   &amp;#34;file&amp;#34;: &amp;#34;helpers/validator.go&amp;#34;,&#xA;   &amp;#34;function&amp;#34;: &amp;#34;helpers.Validator&amp;#34;,&#xA;   &amp;#34;linenumber&amp;#34;: 58,&#xA;   &amp;#34;realerror&amp;#34;: null&#xA; },&#xA; {&#xA;   &amp;#34;file&amp;#34;: &amp;#34;handlers/registration.go&amp;#34;,&#xA;   &amp;#34;function&amp;#34;: &amp;#34;handlers.RegistrationHandler&amp;#34;,&#xA;   &amp;#34;linenumber&amp;#34;: 61,&#xA;   &amp;#34;realerror&amp;#34;: null&#xA; }&#xA;  ]&#xA;}&lt;/code&gt;&lt;/pre&gt;&lt;hr&gt;&#xA;&lt;p&gt;These error responses provide a consistent structure, making it easier for clients to handle errors programmatically and display meaningful messages to users.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Golang Go Get Postgres Error</title>
      <link>https://dimasmaulana.pages.dev/posts/development/golang-go-get-postgres-error/</link>
      <pubDate>Tue, 22 Feb 2022 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/golang-go-get-postgres-error/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;You are dealing with error handling in Go when working with PostgreSQL using the &lt;code&gt;pq&lt;/code&gt; package. The code you provided demonstrates two different ways to handle and extract error information from a &lt;code&gt;pq.Error&lt;/code&gt; type.&lt;/p&gt;&#xA;&lt;p&gt;Let&amp;rsquo;s break down both of these code snippets:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;Using Type Assertion:&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;pre&gt;&lt;code&gt;pqErr := err.(*pq.Error)&#xA;log.Println(pqErr.Code)&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;In this code, you are using a type assertion to check if the &lt;code&gt;err&lt;/code&gt; is of type &lt;code&gt;*pq.Error&lt;/code&gt;, and if it is, you extract the &lt;code&gt;Code&lt;/code&gt; field from the &lt;code&gt;pq.Error&lt;/code&gt; struct and log it. This approach assumes that &lt;code&gt;err&lt;/code&gt; is a &lt;code&gt;pq.Error&lt;/code&gt; type, and if it&amp;rsquo;s not, it will result in a runtime panic. So, it&amp;rsquo;s essential to be sure that &lt;code&gt;err&lt;/code&gt; is indeed of type &lt;code&gt;*pq.Error&lt;/code&gt; before using this approach.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Bash Shell Ignore Error on particular Command</title>
      <link>https://dimasmaulana.pages.dev/posts/development/bash-shell-ignore-error-on-particular-command/</link>
      <pubDate>Mon, 21 Feb 2022 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/bash-shell-ignore-error-on-particular-command/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In Bash scripting, you can use the &lt;code&gt;|| true&lt;/code&gt; construct to ignore errors for a particular command or script. This is a common technique used to ensure that a script continues executing even if a specific command fails. Here&amp;rsquo;s how it works:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;particular_script || true&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;In this example, &lt;code&gt;particular_script&lt;/code&gt; is the command or script that you want to run, and &lt;code&gt;|| true&lt;/code&gt; is added at the end of the command. The &lt;code&gt;||&lt;/code&gt; operator is used for conditional execution. It means that if &lt;code&gt;particular_script&lt;/code&gt; fails (returns a non-zero exit status), the &lt;code&gt;true&lt;/code&gt; command will always execute, effectively ignoring the error and allowing the script to continue running.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Delve Dlv Not Restart When Update Files On Golang Cosmtrek Air 12710…</title>
      <link>https://dimasmaulana.pages.dev/posts/development/delve-dlv-not-restarting-when-updating-files-in-go-using-cosmtrekair-12710/</link>
      <pubDate>Mon, 21 Feb 2022 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/delve-dlv-not-restarting-when-updating-files-in-go-using-cosmtrekair-12710/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;If you&amp;rsquo;re facing issues with Delve (&lt;code&gt;dlv&lt;/code&gt;) not restarting when updating files in your Go project using Cosmtrek/Air version 1.27.10 and encountering a &amp;ldquo;port address already in use&amp;rdquo; error, there are a couple of solutions you can try. This problem often occurs due to lingering Delve processes that prevent the tool from restarting properly.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;solution-1-revert-to-a-previous-version&#34;&gt;&lt;span&gt;Solution 1: Revert to a Previous Version&lt;/span&gt;&#xA;  &lt;a href=&#34;#solution-1-revert-to-a-previous-version&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;You can revert to a previous version of Cosmtrek/Air where this issue might not exist. To do this, follow these steps:&lt;/p&gt;</description>
    </item>
    <item>
      <title>REST API Testing Strategy What Exactly Should You Test</title>
      <link>https://dimasmaulana.pages.dev/posts/development/rest-api-testing-strategy-what-exactly-should-you-test/</link>
      <pubDate>Sat, 19 Feb 2022 17:01:42 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/rest-api-testing-strategy-what-exactly-should-you-test/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;API testing is a crucial part of software quality assurance, ensuring that APIs function correctly, securely, and efficiently. This guide details key test actions, test scenario categories, and test flows to ensure a thorough validation of API behavior.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;api-test-actions&#34;&gt;&lt;span&gt;API Test Actions&lt;/span&gt;&#xA;  &lt;a href=&#34;#api-test-actions&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Each API test involves several key actions:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Bash Script to Get the Directory of the Script File</title>
      <link>https://dimasmaulana.pages.dev/posts/development/bash-script-to-get-the-directory-of-the-script-file/</link>
      <pubDate>Thu, 17 Feb 2022 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/bash-script-to-get-the-directory-of-the-script-file/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In Bash scripting, it&amp;rsquo;s often useful to determine the directory where the script file is located. This can be particularly important if your script needs to access other files or resources relative to its own location. Here&amp;rsquo;s a Bash script snippet that accomplishes this task:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;#!/bin/bash&#xA;&#xA;# Get the directory of the script file&#xA;SCRIPT_DIR=$(cd -- &amp;#34;$(dirname -- &amp;#34;${BASH_SOURCE[0]}&amp;#34;)&amp;#34; &amp;amp;&amp;gt; /dev/null &amp;amp;&amp;amp; pwd)&#xA;&#xA;# Check if SCRIPT_DIR is empty or not&#xA;if [ -z &amp;#34;$SCRIPT_DIR&amp;#34; ]; then&#xA;  echo &amp;#34;Failed to determine the script directory.&amp;#34;&#xA;  exit 1&#xA;fi&#xA;&#xA;# Now, you can use SCRIPT_DIR for your operations&#xA;echo &amp;#34;The script is located in the directory: $SCRIPT_DIR&amp;#34;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Here&amp;rsquo;s a breakdown of what this script does:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Git Repository Naming</title>
      <link>https://dimasmaulana.pages.dev/posts/development/git-repository-naming/</link>
      <pubDate>Thu, 17 Feb 2022 05:48:49 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/git-repository-naming/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;This article explores best practices for naming Git repositories, ensuring clarity, consistency, and maintainability. It covers key considerations such as readability, versioning, project scope, and collaboration standards to help developers create effective repository names.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;microservices&#34;&gt;&lt;span&gt;Microservices&lt;/span&gt;&#xA;  &lt;a href=&#34;#microservices&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Better suited to a project team or department where multiple products exist and are made up of sub-components.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Shell Bash Check If Environment Exist</title>
      <link>https://dimasmaulana.pages.dev/posts/development/shell-bash-check-if-environment-exist/</link>
      <pubDate>Tue, 15 Feb 2022 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/shell-bash-check-if-environment-exist/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;Your provided code snippet appears to be a Bash script that checks if the &lt;code&gt;TARGET_PATH&lt;/code&gt; environment variable is empty and, if so, sets it to &lt;code&gt;~/go&lt;/code&gt; by appending an export statement to the &lt;code&gt;.bashrc&lt;/code&gt; file. This is a common technique to ensure that environment variables are set with default values if they are not already defined.&lt;/p&gt;&#xA;&lt;p&gt;Here&amp;rsquo;s a breakdown of what the code does:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;if [[ -z &amp;quot;${TARGET_PATH}&amp;quot; ]]; then&lt;/code&gt;: This line checks if the &lt;code&gt;TARGET_PATH&lt;/code&gt; environment variable is empty (i.e., its value is not set). The &lt;code&gt;-z&lt;/code&gt; flag is used to test if a string is empty.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Shell Bash Check PATH environment exist</title>
      <link>https://dimasmaulana.pages.dev/posts/development/shell-bash-check-path-environment-exist/</link>
      <pubDate>Tue, 15 Feb 2022 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/shell-bash-check-path-environment-exist/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;It looks like you are trying to check if a specific directory is included in the &lt;code&gt;PATH&lt;/code&gt; environment variable in a Bash script. The code you provided is almost correct, but it has a small issue. You can modify it as follows to make it work correctly:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;CHECK_PATH=&amp;#34;/root/go/bin&amp;#34;&#xA;&#xA;if [[ &amp;#34;:$PATH:&amp;#34; == *&amp;#34;:$CHECK_PATH:&amp;#34;* ]]; then&#xA;    echo &amp;#34;Path found in PATH environment. Skipping configuration...&amp;#34;&#xA;else&#xA;    echo &amp;#34;Path not found in PATH environment. You may need to add it.&amp;#34;&#xA;fi&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Here&amp;rsquo;s a breakdown of the changes made:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Separating Business Model and Logic Ensuring SRP in Car Class Design</title>
      <link>https://dimasmaulana.pages.dev/posts/development/separating-business-model-and-logic-ensuring-srp-in-car-class-design/</link>
      <pubDate>Mon, 14 Feb 2022 21:32:58 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/separating-business-model-and-logic-ensuring-srp-in-car-class-design/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In software architecture, adhering to the &lt;strong&gt;Single Responsibility Principle (SRP)&lt;/strong&gt; is crucial to maintaining clean, modular, and maintainable code. One common mistake is merging business models with business logic, leading to unnecessary dependencies and reduced scalability. This article explores how to properly separate these concerns using an MVC-based approach for a &lt;strong&gt;Car&lt;/strong&gt; class and its related components.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;issue-business-model-breaking-srp&#34;&gt;&lt;span&gt;&lt;strong&gt;Issue: Business Model Breaking SRP&lt;/strong&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#issue-business-model-breaking-srp&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;A Car class should represent a data model rather than handle business logic or external service interactions. However, integrating dependencies like &lt;code&gt;IFileSystemService&lt;/code&gt; into the Car class blurs the lines between the model and the business logic, leading to tightly coupled code that is harder to maintain and extend.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Rendering Empty Space in React</title>
      <link>https://dimasmaulana.pages.dev/posts/development/rendering-empty-space-in-react/</link>
      <pubDate>Fri, 11 Feb 2022 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/rendering-empty-space-in-react/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;Sometimes in React, you may need to render empty space or create gaps between elements. There are several ways to achieve this, and one common method is to use HTML entities like &lt;code&gt;&amp;amp;nbsp;&lt;/code&gt; within your JSX code. In this article, we&amp;rsquo;ll explore how to render empty space in React using various techniques.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;1-using-html-entities&#34;&gt;&lt;span&gt;1. Using HTML Entities&lt;/span&gt;&#xA;  &lt;a href=&#34;#1-using-html-entities&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;As mentioned in the question, you can use HTML entities like &lt;code&gt;&amp;amp;nbsp;&lt;/code&gt; to render empty space in React components. Here&amp;rsquo;s an example:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Using Singular Form for Collection Repo/Folder Name in Idiomatic Go</title>
      <link>https://dimasmaulana.pages.dev/posts/development/using-singular-form-for-collection-repofolder-name-in-idiomatic-go/</link>
      <pubDate>Thu, 10 Feb 2022 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/using-singular-form-for-collection-repofolder-name-in-idiomatic-go/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In the world of Go programming, adhering to idiomatic coding practices is highly valued. One of these practices pertains to the naming of collection repository or folder names. The Go community recommends using the singular form for such names, and this convention is followed consistently in various Go projects. Let&amp;rsquo;s take a closer look at this best practice.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;singular-vs-plural&#34;&gt;&lt;span&gt;Singular vs. Plural&lt;/span&gt;&#xA;  &lt;a href=&#34;#singular-vs-plural&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;When organizing your Go packages into repositories or folders, you&amp;rsquo;ll often find situations where you have multiple related packages that belong to a common category. Examples could include packages for various utilities, components, or modules. In such cases, it&amp;rsquo;s recommended to use the singular form for the repository or folder name.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hide Menu Bar Icons On Mac</title>
      <link>https://dimasmaulana.pages.dev/posts/development/hide-menu-bar-icons-on-mac/</link>
      <pubDate>Wed, 09 Feb 2022 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/hide-menu-bar-icons-on-mac/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;If you want to hide menu bar icons on your Mac, you can use the &amp;ldquo;Hidden Bar&amp;rdquo; app from the Mac App Store. Here&amp;rsquo;s a step-by-step guide on how to do this:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Open the Mac App Store&lt;/strong&gt;: Click on the App Store icon in your Dock or use Spotlight search (Cmd + Space, then type &amp;ldquo;App Store&amp;rdquo;) to open the Mac App Store.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Search for Hidden Bar&lt;/strong&gt;: In the App Store, use the search bar in the top right corner to search for &amp;ldquo;Hidden Bar.&amp;rdquo;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Setting up Collabora Online CODE on Nextcloud</title>
      <link>https://dimasmaulana.pages.dev/posts/development/setting-up-collabora-online-code-on-nextcloud/</link>
      <pubDate>Wed, 09 Feb 2022 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/setting-up-collabora-online-code-on-nextcloud/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;Collabora Online is an open-source office suite that can be integrated with Nextcloud to provide collaborative document editing features. In this guide, we will walk you through the process of setting up Collabora Online CODE on Nextcloud using Docker.&lt;/p&gt;&#xA;&lt;p&gt;Please note that this guide assumes you have Docker installed on your server and have Nextcloud already set up. If not, make sure to install Docker and set up Nextcloud before proceeding.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Unable To Use Httprequest When Upgrading From Dgrijalvajwt Go To Golang Jwtjwt Go Module</title>
      <link>https://dimasmaulana.pages.dev/posts/development/unable-to-use-httprequest-when-upgrading-from-dgrijalvajwt-go-to-golang-jwtjwt-go-module/</link>
      <pubDate>Mon, 31 Jan 2022 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/unable-to-use-httprequest-when-upgrading-from-dgrijalvajwt-go-to-golang-jwtjwt-go-module/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;If you are encountering issues when upgrading your Go application from using the &lt;code&gt;dgrijalva/jwt-go&lt;/code&gt; module to &lt;code&gt;golang-jwt/jwt&lt;/code&gt;, particularly when dealing with &lt;code&gt;http.Request&lt;/code&gt; objects, you might need to make some adjustments in your code. This guide provides a solution to this issue.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;error-in-the-code&#34;&gt;&lt;span&gt;Error in the Code&lt;/span&gt;&#xA;  &lt;a href=&#34;#error-in-the-code&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;You mentioned that you are facing an error in the following code:&lt;/p&gt;</description>
    </item>
    <item>
      <title>How Mirror Gitlab to Github or GIT to GIT</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-mirror-gitlab-to-github-or-git-to-git/</link>
      <pubDate>Sun, 30 Jan 2022 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-mirror-gitlab-to-github-or-git-to-git/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;To mirror a GitLab repository to GitHub or to mirror one Git repository to another Git repository, you can follow the steps outlined in the provided code snippet. Here&amp;rsquo;s a breakdown of the process:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Clone the GitLab Repository as a Mirror:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;git clone --mirror git@your-gitlab-site.com:username/repo.git&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This command clones the GitLab repository with the &lt;code&gt;--mirror&lt;/code&gt; option, which is similar to &lt;code&gt;--bare&lt;/code&gt; but also copies all refs as-is. It&amp;rsquo;s useful for creating a full backup or moving the repository.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Cant Open Port From Localhost To WSL Port On Windows</title>
      <link>https://dimasmaulana.pages.dev/posts/development/cant-open-port-from-localhost-to-wsl-port-on-windows/</link>
      <pubDate>Tue, 25 Jan 2022 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/cant-open-port-from-localhost-to-wsl-port-on-windows/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;h2 class=&#34;heading-element&#34; id=&#34;opening-ports-from-localhost-to-wsl-in-windows-using-wslhostpatcher&#34;&gt;&lt;span&gt;Opening Ports from Localhost to WSL in Windows using WSLHostPatcher&lt;/span&gt;&#xA;  &lt;a href=&#34;#opening-ports-from-localhost-to-wsl-in-windows-using-wslhostpatcher&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;When working with Windows Subsystem for Linux (WSL), you may encounter situations where you need to open a port from your localhost to a port in your WSL instance. This can be useful for various tasks, such as running web servers or accessing services within your WSL environment. One way to achieve this is by using a tool called &lt;strong&gt;WSLHostPatcher&lt;/strong&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Adding `data-bs-toggle` and `data-bs-target` Breaks Link in Bootstrap 5</title>
      <link>https://dimasmaulana.pages.dev/posts/development/adding-data-bs-toggle-and-data-bs-target-breaks-link-in-bootstrap-5/</link>
      <pubDate>Sun, 23 Jan 2022 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/adding-data-bs-toggle-and-data-bs-target-breaks-link-in-bootstrap-5/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In Bootstrap 5, when you try to add &lt;code&gt;data-bs-toggle&lt;/code&gt; and &lt;code&gt;data-bs-target&lt;/code&gt; attributes to a link (&lt;code&gt;&amp;lt;a&amp;gt;&lt;/code&gt; element) within a navigation bar (&lt;code&gt;&amp;lt;nav&amp;gt;&lt;/code&gt; element), you might encounter an issue where the link doesn&amp;rsquo;t work as expected. This can be frustrating, but it can be resolved with a few adjustments to your code.&lt;/p&gt;&#xA;&lt;p&gt;The &lt;code&gt;data-bs-toggle&lt;/code&gt; and &lt;code&gt;data-bs-target&lt;/code&gt; attributes are typically used for toggling Bootstrap components like dropdown menus and collapsible elements. When you add these attributes to a link, they can interfere with the link&amp;rsquo;s default behavior, preventing it from functioning correctly.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Postman Example</title>
      <link>https://dimasmaulana.pages.dev/posts/development/postman-example/</link>
      <pubDate>Fri, 21 Jan 2022 06:21:42 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/postman-example/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;h2 class=&#34;heading-element&#34; id=&#34;introduction&#34;&gt;&lt;span&gt;Introduction&lt;/span&gt;&#xA;  &lt;a href=&#34;#introduction&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Postman is a popular API testing tool that allows developers to automate and validate API responses efficiently. This guide provides examples of how to use variables, write tests, handle error responses, and perform asynchronous requests in Postman.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Bootstrap 5 Wont Collapse The Navbar When Nav Link Clicked On React</title>
      <link>https://dimasmaulana.pages.dev/posts/development/bootstrap-5-wont-collapse-the-navbar-when-nav-link-clicked-on-react/</link>
      <pubDate>Wed, 19 Jan 2022 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/bootstrap-5-wont-collapse-the-navbar-when-nav-link-clicked-on-react/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;You want to implement a collapsible navbar in a React application using Bootstrap 5, and you&amp;rsquo;re encountering an issue where the navbar doesn&amp;rsquo;t collapse when a navigation link is clicked. This issue can occur due to various reasons, and I&amp;rsquo;ll provide some steps to help you troubleshoot and potentially fix the problem.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;1-check-bootstrap-installation&#34;&gt;&lt;span&gt;1. Check Bootstrap Installation&lt;/span&gt;&#xA;  &lt;a href=&#34;#1-check-bootstrap-installation&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Ensure that you have Bootstrap 5 properly installed and included in your project. You should have Bootstrap CSS and JavaScript files included in your HTML or imported in your JavaScript file.&lt;/p&gt;</description>
    </item>
    <item>
      <title>React Link To Wont Refresh Target Component</title>
      <link>https://dimasmaulana.pages.dev/posts/development/react-link-to-wont-refresh-target-component/</link>
      <pubDate>Wed, 19 Jan 2022 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/react-link-to-wont-refresh-target-component/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;It appears that you are trying to use React Router to navigate to another component and pass state information to that component. However, you&amp;rsquo;ve noticed that the target component is not refreshing when you navigate to it. This behavior is actually by design in React Router. When you navigate to a route using &lt;code&gt;&amp;lt;Link&amp;gt;&lt;/code&gt; or &lt;code&gt;navigate&lt;/code&gt;, React Router typically does not unmount and remount the component by default. Instead, it updates the URL and re-renders the current component with the new route&amp;rsquo;s props and state.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Beautify / Format Script on Postman</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-beautify-format-script-on-postman/</link>
      <pubDate>Mon, 17 Jan 2022 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-beautify-format-script-on-postman/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;If you want to beautify or format a script in Postman, you can follow these simple steps to make your code more organized and readable. Beautifying or formatting your script can help improve code maintainability and collaboration with team members.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Open Postman&lt;/strong&gt;: First, make sure you have Postman installed on your computer. If you don&amp;rsquo;t have it, you can download it from the &lt;a href=&#34;https://www.postman.com/downloads/&#34; target=&#34;_blank&#34; rel=&#34;external nofollow noopener noreferrer&#34;&gt;official Postman website&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Create or Open a Request&lt;/strong&gt;: Open Postman and create a new request or open an existing one that contains the script you want to beautify/format.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Chrome Bookmarks Create Duplicate Item When Sync With Two Windows…</title>
      <link>https://dimasmaulana.pages.dev/posts/development/chrome-bookmarks-create-duplicate-items-when-syncing-with-multiple-windows-machines-with-icloud-extensions-enabled/</link>
      <pubDate>Sat, 15 Jan 2022 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/chrome-bookmarks-create-duplicate-items-when-syncing-with-multiple-windows-machines-with-icloud-extensions-enabled/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;If you are experiencing issues where Chrome bookmarks are creating duplicates when syncing with multiple Windows machines, especially when both machines have iCloud extensions enabled, you are not alone. This can be a common problem for users who rely on iCloud to keep their bookmarks in sync across devices. However, there is a solution to this issue.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;problem-description&#34;&gt;&lt;span&gt;Problem Description&lt;/span&gt;&#xA;  &lt;a href=&#34;#problem-description&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;The problem occurs when you have two or more Windows machines running Google Chrome, and both machines have the iCloud extension enabled. When you create a new bookmark on one machine, it may get duplicated on the other machines, resulting in cluttered and redundant bookmarks.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Guide to Digital Marketing</title>
      <link>https://dimasmaulana.pages.dev/posts/productivity/guide-to-digital-marketing/</link>
      <pubDate>Fri, 14 Jan 2022 10:23:04 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/productivity/guide-to-digital-marketing/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/productivity/">Productivity</category>
      <description>&lt;p&gt;In today&amp;rsquo;s digital landscape, having a strong online presence is crucial for businesses of all sizes. With the increasing competition on social media platforms and search engines, it&amp;rsquo;s essential to have a solid understanding of how to optimize your online presence to reach your target audience effectively. In this article, we&amp;rsquo;ll delve into the world of Search Engine Optimization (SEO), Online Ads/Search Engine Marketing (SEM), Social Media Engagement (SME), and Social Media Management.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Standardjs Jest Test Files Show Errors On Vscode With Create Create App</title>
      <link>https://dimasmaulana.pages.dev/posts/development/standardjs-jest-test-files-show-errors-on-vscode-with-create-create-app/</link>
      <pubDate>Fri, 14 Jan 2022 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/standardjs-jest-test-files-show-errors-on-vscode-with-create-create-app/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;You want to fix issues with ESLint configurations when working with Jest test files in a Create React App project within Visual Studio Code. This problem can occur due to the way ESLint and Jest interact in some setups. To resolve this, you can follow these steps:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Install ESLint Jest Plugin&lt;/strong&gt;:&lt;/p&gt;&#xA;&lt;p&gt;First, make sure you have the ESLint Jest plugin installed in your project. You can install it using npm or yarn:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Add Active Class When Specific Variables Equal On React</title>
      <link>https://dimasmaulana.pages.dev/posts/development/add-active-class-when-specific-variables-equal-on-react/</link>
      <pubDate>Sun, 09 Jan 2022 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/add-active-class-when-specific-variables-equal-on-react/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In React, you can conditionally add an &amp;ldquo;active&amp;rdquo; class to an element based on certain variables using conditional rendering. In your code snippet, it appears that you want to add the &amp;ldquo;active&amp;rdquo; class to a &lt;code&gt;list-group-item&lt;/code&gt; element when the &lt;code&gt;invoiceId&lt;/code&gt; is equal to &lt;code&gt;invoice.number&lt;/code&gt;. Here&amp;rsquo;s how you can achieve this in React:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;import React from &amp;#39;react&amp;#39;;&#xA;&#xA;function YourComponent({ invoiceId, invoice }) {&#xA;  return (&#xA;    &amp;lt;div&amp;gt;&#xA;      {/* ... Other JSX code ... */}&#xA;      &amp;lt;div className={`list-group-item list-group-item-action ${invoiceId === invoice.number ? &amp;#39;active&amp;#39; : &amp;#39;&amp;#39;}`}&amp;gt;&#xA;        {/* Your content for the list item */}&#xA;      &amp;lt;/div&amp;gt;&#xA;      {/* ... Other JSX code ... */}&#xA;    &amp;lt;/div&amp;gt;&#xA;  );&#xA;}&#xA;&#xA;export default YourComponent;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;In the code above:&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Bundle Bootstrap 5 with Webpack</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-bundle-bootstrap-5-with-webpack/</link>
      <pubDate>Sun, 09 Jan 2022 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-bundle-bootstrap-5-with-webpack/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In this tutorial, we will walk you through the process of bundling Bootstrap 5 with Webpack, a popular JavaScript module bundler. By bundling Bootstrap with Webpack, you can efficiently manage and optimize your project&amp;rsquo;s JavaScript and CSS assets.&lt;/p&gt;&#xA;&lt;p&gt;Before we begin, make sure you have Node.js and npm (Node Package Manager) installed on your system. You will also need a basic understanding of using npm and Webpack in your project.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Bundle Bootstrap-Icons That Have Sass And Font Resources With…</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-bundle-bootstrap-icons-that-have-sass-and-font-resources-with/</link>
      <pubDate>Sun, 09 Jan 2022 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-bundle-bootstrap-icons-that-have-sass-and-font-resources-with/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;To bundle Bootstrap Icons that have Sass and font resources with Webpack in production mode, you&amp;rsquo;ll need to make a few modifications to your Webpack configuration. Here&amp;rsquo;s a step-by-step guide on how to achieve this:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Install Dependencies&lt;/strong&gt;:&lt;/p&gt;&#xA;&lt;p&gt;First, make sure you have the necessary dependencies installed. You&amp;rsquo;ll need &lt;code&gt;sass-loader&lt;/code&gt;, &lt;code&gt;css-loader&lt;/code&gt;, &lt;code&gt;style-loader&lt;/code&gt;, &lt;code&gt;postcss-loader&lt;/code&gt;, and &lt;code&gt;resolve-url-loader&lt;/code&gt; to handle Sass and CSS files. You may also need the &lt;code&gt;file-loader&lt;/code&gt; or &lt;code&gt;url-loader&lt;/code&gt; for fonts and other assets.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Remove generated license file webpack</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-remove-generated-license-file-webpack/</link>
      <pubDate>Sun, 09 Jan 2022 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-remove-generated-license-file-webpack/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;It appears that you want to remove the generation of license comments in your webpack bundle. To achieve this, you can set the &lt;code&gt;extractComments&lt;/code&gt; option of the TerserPlugin to &lt;code&gt;false&lt;/code&gt;. This will prevent the plugin from extracting and adding license comments to your bundle. Here&amp;rsquo;s how you can modify your webpack configuration:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;const path = require(&amp;#39;path&amp;#39;);&#xA;const TerserPlugin = require(&amp;#39;terser-webpack-plugin&amp;#39;);&#xA;&#xA;module.exports = {&#xA;   optimization: {&#xA;      minimize: true,&#xA;      minimizer: [&#xA;         new TerserPlugin({&#xA;            extractComments: false, // Set this option to false&#xA;         }),&#xA;      ],&#xA;   },&#xA;   entry: &amp;#39;./web/src/js/main.js&amp;#39;,&#xA;   output: {&#xA;      filename: &amp;#39;bundle.js&amp;#39;,&#xA;      path: path.resolve(__dirname, &amp;#39;web&amp;#39;, &amp;#39;static&amp;#39;, &amp;#39;assets&amp;#39;, &amp;#39;js&amp;#39;),&#xA;   }&#xA;};&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;By setting &lt;code&gt;extractComments&lt;/code&gt; to &lt;code&gt;false&lt;/code&gt;, the TerserPlugin will not include license comments in your minified bundle. This should help you achieve your goal of removing the generated license file from your webpack output.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Go HTML Template Active nav-link Bootstrap</title>
      <link>https://dimasmaulana.pages.dev/posts/development/go-html-template-active-nav-link-bootstrap/</link>
      <pubDate>Fri, 07 Jan 2022 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/go-html-template-active-nav-link-bootstrap/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In the provided HTML code snippet, it appears to be a part of a Bootstrap navigation menu that is using Go&amp;rsquo;s HTML template syntax to conditionally add the &amp;ldquo;active&amp;rdquo; class to a navigation link based on a condition. In this case, it is checking whether the current page&amp;rsquo;s title is equal to &amp;ldquo;Home&amp;rdquo; and adding the &amp;ldquo;active&amp;rdquo; class if the condition is true.&lt;/p&gt;&#xA;&lt;p&gt;Let me break down the code for you:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Check Whenever locked or not via SSH on Windows</title>
      <link>https://dimasmaulana.pages.dev/posts/development/check-whenever-locked-or-not-via-ssh-on-windows/</link>
      <pubDate>Fri, 24 Dec 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/check-whenever-locked-or-not-via-ssh-on-windows/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;If you&amp;rsquo;re looking to determine whether a Windows machine is locked or not via SSH, you can use PowerShell commands to achieve this. The &lt;code&gt;Get-Process&lt;/code&gt; command with the &lt;code&gt;logonui&lt;/code&gt; argument can be used to check the status of the &amp;ldquo;LogonUI&amp;rdquo; process, which is responsible for the Windows login screen. If the &amp;ldquo;LogonUI&amp;rdquo; process is running, it typically means that the user is logged in and the machine is not locked. If the process is not running, it might indicate that the machine is locked or at the login screen.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Lock Windows 11 Remotely Using sleepwatcher Mac</title>
      <link>https://dimasmaulana.pages.dev/posts/development/lock-windows-11-remotely-using-sleepwatcher-mac/</link>
      <pubDate>Fri, 24 Dec 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/lock-windows-11-remotely-using-sleepwatcher-mac/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In this guide, we will walk you through the process of remotely locking a Windows 11 computer from your Mac using &lt;code&gt;sleepwatcher&lt;/code&gt;. This will require SSH access to your Windows machine configured with a public key instead of a password. Follow these steps to set up remote locking:&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;prerequisites&#34;&gt;&lt;span&gt;Prerequisites&lt;/span&gt;&#xA;  &lt;a href=&#34;#prerequisites&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;SSH Configuration&lt;/strong&gt;: Ensure that you have SSH access to your Windows 11 computer from your Mac, and it is set up to use a public key for authentication instead of a password. If you haven&amp;rsquo;t set up SSH with public key authentication, you can find guides online for this process.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Setting Up Windows SSH Server With Public Key Authentication</title>
      <link>https://dimasmaulana.pages.dev/posts/development/setting-up-windows-ssh-server-with-public-key-authentication/</link>
      <pubDate>Fri, 24 Dec 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/setting-up-windows-ssh-server-with-public-key-authentication/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In this guide, we will walk you through the steps to set up an SSH server on a Windows system and configure it to use public key authentication instead of a password. This enhances security by eliminating the need for password-based access and relying on cryptographic keys for authentication.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;prerequisites&#34;&gt;&lt;span&gt;Prerequisites&lt;/span&gt;&#xA;  &lt;a href=&#34;#prerequisites&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Before you start, ensure you have the following:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fixing The Backtick Key Issue With Barrier From Mac Server To Windows 11 Client</title>
      <link>https://dimasmaulana.pages.dev/posts/development/fixing-the-backtick-key-issue-with-barrier-from-mac-server-to-windows-11-client/</link>
      <pubDate>Thu, 23 Dec 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/fixing-the-backtick-key-issue-with-barrier-from-mac-server-to-windows-11-client/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;If you&amp;rsquo;re experiencing issues with the backtick key (`) not working when using Barrier to connect a Mac Server to a Windows 11 Client, you&amp;rsquo;re not alone. This can be a frustrating problem, but fortunately, there is a solution.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Problem Description:&lt;/strong&gt;&#xA;When using Barrier, a software KVM (keyboard, video, mouse) switch, to control your Windows 11 Client from a Mac Server, the backtick key (`) might not function as expected. This issue can disrupt your workflow, especially if you rely on this key for tasks like entering command-line commands or writing code.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Add -- - after tabs on VSCODE using Regex-</title>
      <link>https://dimasmaulana.pages.dev/posts/development/add-after-tabs-on-vscode-using-regex-/</link>
      <pubDate>Sun, 19 Dec 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/add-after-tabs-on-vscode-using-regex-/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;To add &amp;ldquo;- &amp;quot; after tabs on Visual Studio Code (VSCode) using regex, you can follow these steps:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Open VSCode.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Press &lt;code&gt;Ctrl + H&lt;/code&gt; (or &lt;code&gt;Cmd + H&lt;/code&gt; on macOS) to open the Find and Replace panel.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;In the Find input box, input the following regular expression to match tabs at the beginning of each line:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;(^\t*)&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Make sure to enable the &amp;ldquo;Use Regular Expression&amp;rdquo; option by clicking the &lt;code&gt;.*&lt;/code&gt; icon in the Find panel.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Check apt unattended upgrades will run today</title>
      <link>https://dimasmaulana.pages.dev/posts/development/check-apt-unattended-upgrades-will-run-today/</link>
      <pubDate>Fri, 10 Dec 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/check-apt-unattended-upgrades-will-run-today/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;To check if unattended upgrades will run today, you can use the &lt;code&gt;systemctl list-timers&lt;/code&gt; command with the &lt;code&gt;apt-daily.timer&lt;/code&gt; unit. This will provide information about the timer and when it is scheduled to run. Here&amp;rsquo;s how you can do it:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;systemctl list-timers apt-daily.timer&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Running this command will display output similar to the following:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;NEXT                          LEFT     LAST                          PASSED       UNIT                      ACTIVATES&#xA;Wed 2023-09-01 06:25:00 UTC  12h left Tue 2023-08-31 06:25:00 UTC  11h ago     apt-daily.timer           apt-daily.service&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;In this example output, you can see information about the next scheduled run of the &lt;code&gt;apt-daily.timer&lt;/code&gt; unit, including the time remaining until it runs again. You can check the &amp;ldquo;NEXT&amp;rdquo; column to see when the timer is set to trigger next.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Postgres Enable Password Login on Local</title>
      <link>https://dimasmaulana.pages.dev/posts/development/postgres-enable-password-login-on-local/</link>
      <pubDate>Fri, 26 Nov 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/postgres-enable-password-login-on-local/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;To enable password login on a local PostgreSQL database, you need to modify the &lt;code&gt;pg_hba.conf&lt;/code&gt; file and then restart the PostgreSQL service. Here are the steps in markdown format:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;## Enable Password Login on Local PostgreSQL&#xA;&#xA;1. Open the `pg_hba.conf` file for editing using a text editor. You can use `vim` as you mentioned or any other text editor of your choice. Replace `/usr/local/var/postgres/pg_hba.conf` with the correct path to your `pg_hba.conf` file if it&amp;#39;s located elsewhere.&#xA;&#xA;   ```shell&#xA;   vim /usr/local/var/postgres/pg_hba.conf&lt;/code&gt;&lt;/pre&gt;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;In the &lt;code&gt;pg_hba.conf&lt;/code&gt; file, locate the line that corresponds to the local connection method. It typically looks like this:&lt;/p&gt;</description>
    </item>
    <item>
      <title>User Story BDD Cucumber CRUD Operations Example</title>
      <link>https://dimasmaulana.pages.dev/posts/development/user-story-bdd-cucumber-crud-operations-example-/</link>
      <pubDate>Wed, 24 Nov 2021 10:59:04 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/user-story-bdd-cucumber-crud-operations-example-/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;h2 class=&#34;heading-element&#34; id=&#34;basic&#34;&gt;&lt;span&gt;Basic&lt;/span&gt;&#xA;  &lt;a href=&#34;#basic&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;Feature: Create Employee&#xA;&#xA;  Scenario: WITH ALL REQUIRED FIELDS IS SUCCESSFUL&#xA;  &#xA;    Given user wants to create an employee with the following attributes&#xA;      | id  | firstName | lastName | dateOfBirth | startDate  | employmentType | email               |&#xA;      | 100 | Rachel    | Green    | 1990-01-01  | 2018-01-01 | Permanent      | rachel.green@fs.com |&#xA;&#xA;    And with the following phone numbers&#xA;      | id  | type   | isdCode | phoneNumber | extension |&#xA;      | 102 | Mobile | &amp;#43;1      | 2141112222  |           |&#xA;      | 103 | Office | &amp;#43;1      | 8362223000  | 333       |&#xA;&#xA;    When user saves the new employee &amp;#39;WITH ALL REQUIRED FIELDS&amp;#39;&#xA;    Then the save &amp;#39;IS SUCCESSFUL&amp;#39;&lt;/code&gt;&lt;/pre&gt;&lt;h2 class=&#34;heading-element&#34; id=&#34;create-employee&#34;&gt;&lt;span&gt;Create Employee&lt;/span&gt;&#xA;  &lt;a href=&#34;#create-employee&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;Feature: Create Employee&#xA;&#xA;  Scenario Outline: &amp;lt;testCase&amp;gt; &amp;lt;expectedResult&amp;gt;&#xA;&#xA;    Given user wants to create an employee with the following attributes&#xA;      | id  | firstName   | lastName   | dateOfBirth   | startDate   | employmentType   | email   |&#xA;      | 110 | &amp;lt;firstName&amp;gt; | &amp;lt;lastName&amp;gt; | &amp;lt;dateOfBirth&amp;gt; | &amp;lt;startDate&amp;gt; | &amp;lt;employmentType&amp;gt; | &amp;lt;email&amp;gt; |&#xA;&#xA;    And with the following phone numbers&#xA;      | id  | type   | isdCode | phoneNumber | extension |&#xA;      | 111 | Mobile | &amp;#43;1      | 2141112222  |           |&#xA;      | 112 | Office | &amp;#43;1      | 8362223000  | 333       |&#xA;&#xA;    When user saves the new employee &amp;#39;&amp;lt;testCase&amp;gt;&amp;#39;&#xA;    Then the save &amp;#39;&amp;lt;expectedResult&amp;gt;&amp;#39;&#xA;&#xA;    Examples:&#xA;      | testCase                 | expectedResult | firstName | lastName | dateOfBirth | startDate  | employmentType | email               |&#xA;      | WITHOUT FIRST NAME       | FAILS          |           | Green    | 1990-01-01  | 2018-01-01 | Permanent      | rachel.green@fs.com |&#xA;      | WITHOUT LAST NAME        | FAILS          | Rachel    |          | 1990-01-01  | 2018-01-01 | Permanent      | rachel.green@fs.com |&#xA;      | WITHOUT DATE OF BIRTH    | FAILS          | Rachel    | Green    |             | 2018-01-01 | Permanent      | rachel.green@fs.com |&#xA;      | WITHOUT START DATE       | FAILS          | Rachel    | Green    | 1990-01-01  |            | Permanent      | rachel.green@fs.com |&#xA;      | WITHOUT EMPLOYMENT TYPE  | FAILS          | Rachel    | Green    | 1990-01-01  | 2018-01-01 |                | rachel.green@fs.com |&#xA;      | WITHOUT EMAIL            | FAILS          | Rachel    | Green    | 1990-01-01  | 2018-01-01 | Permanent      |                     |&#xA;      | WITH ALL REQUIRED FIELDS | IS SUCCESSFUL  | Rachel    | Green    | 1990-01-01  | 2018-01-01 | Permanent      | rachel.green@fs.com |&lt;/code&gt;&lt;/pre&gt;&lt;h2 class=&#34;heading-element&#34; id=&#34;get-employee&#34;&gt;&lt;span&gt;Get Employee&lt;/span&gt;&#xA;  &lt;a href=&#34;#get-employee&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;Feature: Get Employee&#xA;&#xA;  Background:&#xA;&#xA;    Given an employee with the following attributes&#xA;      | id  | firstName | lastName | dateOfBirth | startDate  | employmentType | email               |&#xA;      | 200 | Rachel    | Green    | 1990-01-01  | 2018-01-01 | Permanent      | rachel.green@fs.com |&#xA;&#xA;    And with the following phone numbers&#xA;      | id  | type   | isdCode | phoneNumber | extension |&#xA;      | 201 | Mobile | &amp;#43;1      | 2141112222  |           |&#xA;      | 202 | Office | &amp;#43;1      | 8362223000  | 333       |&#xA;&#xA;    When employee already exists&#xA;&#xA;&#xA;  Scenario: GET BY ID&#xA;&#xA;    When user wants to get employee by id 200&#xA;    Then the get &amp;#39;IS SUCCESSFUL&amp;#39;&#xA;    &#xA;    And following employee is returned&#xA;      | id  | firstName | lastName | dateOfBirth | startDate  | employmentType | email               |&#xA;      | 200 | Rachel    | Green    | 1990-01-01  | 2018-01-01 | Permanent      | rachel.green@fs.com |&#xA;&#xA;    And following employee phone numbers are returned&#xA;      | id  | type   | isdCode | phoneNumber | extension |&#xA;      | 201 | Mobile | &amp;#43;1      | 2141112222  |           |&#xA;      | 202 | Office | &amp;#43;1      | 8362223000  | 333       |&lt;/code&gt;&lt;/pre&gt;&lt;h2 class=&#34;heading-element&#34; id=&#34;update-employee&#34;&gt;&lt;span&gt;Update Employee&lt;/span&gt;&#xA;  &lt;a href=&#34;#update-employee&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;Feature: Update Employee&#xA;&#xA;  Background:&#xA;&#xA;    Given an employee with the following attributes&#xA;      | id  | firstName | lastName | dateOfBirth | startDate  | employmentType | email               |&#xA;      | 300 | Rachel    | Green    | 1990-01-01  | 2018-01-01 | Permanent      | rachel.green@fs.com |&#xA;&#xA;    And with the following phone numbers&#xA;      | id  | type   | isdCode | phoneNumber | extension |&#xA;      | 301 | Mobile | &amp;#43;1      | 2141112222  |           |&#xA;      | 302 | Office | &amp;#43;1      | 8362223000  | 333       |&#xA;&#xA;    When employee already exists&#xA;&#xA;&#xA;  Scenario Outline: &amp;lt;testCase&amp;gt; &amp;lt;expectedResult&amp;gt;&#xA;&#xA;    Given user wants to update an employee with the following attributes&#xA;      | id   | firstName   | lastName   | dateOfBirth   | startDate   | employmentType   | email   |&#xA;      | &amp;lt;id&amp;gt; | &amp;lt;firstName&amp;gt; | &amp;lt;lastName&amp;gt; | &amp;lt;dateOfBirth&amp;gt; | &amp;lt;startDate&amp;gt; | &amp;lt;employmentType&amp;gt; | &amp;lt;email&amp;gt; |&#xA;&#xA;    And with the following phone numbers&#xA;      | id  | type   | isdCode | phoneNumber | extension |&#xA;      | 301 | Mobile | &amp;#43;1      | 2141112222  |           |&#xA;      | 302 | Office | &amp;#43;1      | 8362223000  | 333       |&#xA;&#xA;    When user saves the employee &amp;#39;&amp;lt;testCase&amp;gt;&amp;#39;&#xA;    Then the save &amp;#39;&amp;lt;expectedResult&amp;gt;&amp;#39;&#xA;&#xA;    Examples:&#xA;      | testCase                 | expectedResult | id  | firstName | lastName | dateOfBirth | startDate  | employmentType | email               |&#xA;      | WITHOUT ID               | FAILS          |     | Rachel    | Green    | 1990-01-01  | 2018-01-01 | Permanent      | rachel.green@fs.com |&#xA;      | WITHOUT FIRST NAME       | FAILS          | 300 |           | Green    | 1990-01-01  | 2018-01-01 | Permanent      | rachel.green@fs.com |&#xA;      | WITHOUT LAST NAME        | FAILS          | 300 | Rachel    |          | 1990-01-01  | 2018-01-01 | Permanent      | rachel.green@fs.com |&#xA;      | WITHOUT DATE OF BIRTH    | FAILS          | 300 | Rachel    | Green    |             | 2018-01-01 | Permanent      | rachel.green@fs.com |&#xA;      | WITHOUT START DATE       | FAILS          | 300 | Rachel    | Green    | 1990-01-01  |            | Permanent      | rachel.green@fs.com |&#xA;      | WITHOUT EMPLOYMENT TYPE  | FAILS          | 300 | Rachel    | Green    | 1990-01-01  | 2018-01-01 |                | rachel.green@fs.com |&#xA;      | WITHOUT EMAIL            | FAILS          | 300 | Rachel    | Green    | 1990-01-01  | 2018-01-01 | Permanent      |                     |&#xA;      | WITH ALL REQUIRED FIELDS | IS SUCCESSFUL  | 300 | Rachel    | Green    | 1990-01-01  | 2018-01-01 | Permanent      | rachel.green@fs.com |&lt;/code&gt;&lt;/pre&gt;&lt;h2 class=&#34;heading-element&#34; id=&#34;delete-employee&#34;&gt;&lt;span&gt;Delete Employee&lt;/span&gt;&#xA;  &lt;a href=&#34;#delete-employee&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;Feature: Delete Employee&#xA;&#xA;  Background:&#xA;&#xA;    Given an employee with the following attributes&#xA;      | id  | firstName | lastName | dateOfBirth | startDate  | employmentType | email               |&#xA;      | 400 | Rachel    | Green    | 1990-01-01  | 2018-01-01 | Permanent      | rachel.green@fs.com |&#xA;&#xA;    And with the following phone numbers&#xA;      | id  | type   | isdCode | phoneNumber | extension |&#xA;      | 401 | Mobile | &amp;#43;1      | 2141112222  |           |&#xA;      | 402 | Office | &amp;#43;1      | 8362223000  | 333       |&#xA;&#xA;    When employee already exists&#xA;&#xA;&#xA;  Scenario: DELETE BY ID&#xA;&#xA;    When user wants to delete employee by id 400&#xA;    Then the delete &amp;#39;IS SUCCESSFUL&amp;#39;&lt;/code&gt;&lt;/pre&gt;&lt;h2 class=&#34;heading-element&#34; id=&#34;references&#34;&gt;&lt;span&gt;References&lt;/span&gt;&#xA;  &lt;a href=&#34;#references&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://medium.com/@bcarunmail/using-cucumber-datatable-for-crud-operations-7b00f7cac23f&#34; target=&#34;_blank&#34; rel=&#34;external nofollow noopener noreferrer&#34;&gt;https://medium.com/@bcarunmail/using-cucumber-datatable-for-crud-operations-7b00f7cac23f&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Troubleshooting Mouse Scrolling In Tmux Sessions On Iterm2</title>
      <link>https://dimasmaulana.pages.dev/posts/development/troubleshooting-mouse-scrolling-in-tmux-sessions-on-iterm2/</link>
      <pubDate>Sun, 21 Nov 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/troubleshooting-mouse-scrolling-in-tmux-sessions-on-iterm2/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;If you&amp;rsquo;re experiencing issues with mouse scrolling in your Tmux sessions on iTerm2, you can follow these steps to troubleshoot and resolve the problem:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Check iTerm2 Setting:&lt;/strong&gt;&#xA;Make sure that the &amp;ldquo;Scroll wheels send arrow keys when in alternate screen mode&amp;rdquo; option is enabled in iTerm2. You can find this setting in iTerm2&amp;rsquo;s preferences. Go to &lt;code&gt;iTerm2 &amp;gt; Preferences &amp;gt; Advanced&lt;/code&gt;, and ensure that the &amp;ldquo;Scroll wheels send arrow keys&amp;hellip;&amp;rdquo; option is set to &amp;ldquo;Yes.&amp;rdquo;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Enable Read Input When Debugging Golang on Visual Studio Code</title>
      <link>https://dimasmaulana.pages.dev/posts/development/enable-read-input-when-debugging-golang-on-visual-studio-code/</link>
      <pubDate>Fri, 19 Nov 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/enable-read-input-when-debugging-golang-on-visual-studio-code/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;It looks like you&amp;rsquo;re trying to set up debugging for a Golang application in Visual Studio Code, specifically focusing on enabling input reading during debugging. The configuration you&amp;rsquo;ve provided involves using the &lt;code&gt;launch.json&lt;/code&gt; and &lt;code&gt;task.json&lt;/code&gt; files to set up the debugger and tasks for your project.&lt;/p&gt;&#xA;&lt;p&gt;Here&amp;rsquo;s a breakdown of the configuration you&amp;rsquo;ve shared:&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;launchjson-configuration&#34;&gt;&lt;span&gt;&lt;code&gt;launch.json&lt;/code&gt; Configuration&lt;/span&gt;&#xA;  &lt;a href=&#34;#launchjson-configuration&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;In this configuration, you&amp;rsquo;re defining a launch configuration to connect to a remote server for debugging. Here are the key attributes:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Troubleshooting Barrier SSL Certificate Not Found</title>
      <link>https://dimasmaulana.pages.dev/posts/development/troubleshooting-barrier-ssl-certificate-not-found/</link>
      <pubDate>Tue, 16 Nov 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/troubleshooting-barrier-ssl-certificate-not-found/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;If you are encountering issues with Barrier when SSL is enabled and you are getting an error related to the SSL certificate not being found, you can follow these steps to generate and configure the SSL certificate.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;generating-the-ssl-certificate&#34;&gt;&lt;span&gt;Generating the SSL Certificate&lt;/span&gt;&#xA;  &lt;a href=&#34;#generating-the-ssl-certificate&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;You can generate a self-signed SSL certificate for Barrier using OpenSSL. Here are the steps:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Wordpress Center Align Block Widget on Footer Widget</title>
      <link>https://dimasmaulana.pages.dev/posts/development/wordpress-center-align-block-widget-on-footer-widget/</link>
      <pubDate>Tue, 02 Nov 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/wordpress-center-align-block-widget-on-footer-widget/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;To center align a block widget in the footer of a WordPress website, you can use custom CSS code. Here&amp;rsquo;s how you can do it:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Access Your WordPress Dashboard:&lt;/strong&gt;&#xA;Log in to your WordPress admin dashboard.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Navigate to the Customizer:&lt;/strong&gt;&#xA;In the dashboard, go to &amp;ldquo;Appearance&amp;rdquo; and then click on &amp;ldquo;Customize.&amp;rdquo;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Open Additional CSS:&lt;/strong&gt;&#xA;Look for the &amp;ldquo;Additional CSS&amp;rdquo; option in the Customizer menu. This is where you can add your custom CSS code.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Automate Your VirtualBox VMs with Autostart</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/automate-your-virtualbox-vms-with-autostart/</link>
      <pubDate>Fri, 08 Oct 2021 18:23:23 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/automate-your-virtualbox-vms-with-autostart/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <description>&lt;p&gt;This guide will walk you through setting up a system service to automatically launch your desired VirtualBox VMs, saving you precious time and effort.&lt;/p&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;configure-autostart-properties&#34;&gt;&lt;span&gt;Configure Autostart Properties&lt;/span&gt;&#xA;  &lt;a href=&#34;#configure-autostart-properties&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;ul&gt;&#xA;&lt;li&gt;Create a file named &lt;code&gt;autostart.properties&lt;/code&gt; in the folder &lt;code&gt;C:\Users\Admin\.VirtualBox&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Inside the file, define the following:&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre&gt;&lt;code&gt;default_policy = deny&#xA;Admin = {&#xA;    allow = true&#xA;    startup_delay = 10&#xA;}&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;default_policy = deny&lt;/code&gt;: This sets the default policy to deny all autostarts.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Admin = { allow = true; startup_delay = 10 }&lt;/code&gt;: This allows the user &amp;ldquo;Admin&amp;rdquo; to start VMs with a 10-second delay.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;set-system-variable&#34;&gt;&lt;span&gt;Set System Variable&lt;/span&gt;&#xA;  &lt;a href=&#34;#set-system-variable&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;ul&gt;&#xA;&lt;li&gt;Create a new system variable named &lt;code&gt;VBOXAUTOSTART_CONFIG&lt;/code&gt; and set its value to &lt;code&gt;C:\Users\Admin\.VirtualBox\autostart.properties&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;install-the-virtualbox-autostart-service&#34;&gt;&lt;span&gt;Install the VirtualBox Autostart Service&lt;/span&gt;&#xA;  &lt;a href=&#34;#install-the-virtualbox-autostart-service&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;ul&gt;&#xA;&lt;li&gt;Navigate to the VirtualBox installation directory: &lt;code&gt;cd &amp;quot;C:\Program Files\Oracle\VirtualBox&amp;quot;&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Run the following commands:&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre&gt;&lt;code&gt;.\VBoxAutostartSvc.exe install --user=Admin&#xA;.\VBoxManage.exe modifyvm &amp;#34;virtual-pc&amp;#34; --autostart-enabled on&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;Replace &lt;code&gt;&amp;quot;virtual-pc&amp;quot;&lt;/code&gt; with the actual name of your VM you want to autostart.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;check-and-start-the-service&#34;&gt;&lt;span&gt;Check and Start the Service&lt;/span&gt;&#xA;  &lt;a href=&#34;#check-and-start-the-service&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;ul&gt;&#xA;&lt;li&gt;Use the &lt;code&gt;sc&lt;/code&gt; command to check the service status: &lt;code&gt;sc query VBoxAutostartSvcadmin-pcadmin&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Start the service: &lt;code&gt;sc start VirtualBox Autostart Service VBoxAutostartSvcadmin-pcadmin&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;Congratulations!&lt;/strong&gt; Your VirtualBox VM is now set to autostart when your system boots.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fixing SSL Issue in Nextcloud</title>
      <link>https://dimasmaulana.pages.dev/posts/development/fixing-ssl-issue-in-nextcloud/</link>
      <pubDate>Fri, 17 Sep 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/fixing-ssl-issue-in-nextcloud/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;You want to fixing two common issues related to Nextcloud SSL and an SVG error related to ImageMagick. Let&amp;rsquo;s break down these instructions into steps for clarity:&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;fixing-ssl-issue-in-nextcloud&#34;&gt;&lt;span&gt;Fixing SSL Issue in Nextcloud&lt;/span&gt;&#xA;  &lt;a href=&#34;#fixing-ssl-issue-in-nextcloud&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;If you&amp;rsquo;re encountering SSL-related issues in Nextcloud, you can try the following steps:&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Backup and Restore WordPress with Docker Compose</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-backup-and-restore-wordpress-with-docker-compose/</link>
      <pubDate>Thu, 16 Sep 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-backup-and-restore-wordpress-with-docker-compose/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In this guide, we will walk you through the process of creating scripts to backup and restore a WordPress website running in Docker Compose. These scripts will help you safeguard your WordPress data and quickly restore it if needed.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;backup-wordpress-volumes&#34;&gt;&lt;span&gt;Backup WordPress Volumes&lt;/span&gt;&#xA;  &lt;a href=&#34;#backup-wordpress-volumes&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;h3 class=&#34;heading-element&#34; id=&#34;step-1-create-a-backup-script&#34;&gt;&lt;span&gt;Step 1: Create a Backup Script&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-1-create-a-backup-script&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;p&gt;First, you need to create a backup script. This script will use the &lt;code&gt;futurice/docker-volume-backup&lt;/code&gt; Docker image to back up the volumes associated with your WordPress and MariaDB containers.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Trim the whitespace characters from a Bash variable</title>
      <link>https://dimasmaulana.pages.dev/posts/development/trim-the-whitespace-characters-from-a-bash-variable/</link>
      <pubDate>Thu, 16 Sep 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/trim-the-whitespace-characters-from-a-bash-variable/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In Bash, you can trim whitespace characters from a variable using various methods, as shown in your code. Here&amp;rsquo;s a breakdown of the different approaches:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Remove Leading and Trailing White Spaces:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;NEW_VARIABLE=&amp;#34;$(echo -e &amp;#34;${VARIABLE_NAME}&amp;#34; | tr -d &amp;#39;[:space:]&amp;#39;)&amp;#34;&#xA;# NEW_VARIABLE=&amp;#39;aaa  bbb&amp;#39;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This method uses the &lt;code&gt;tr&lt;/code&gt; command to delete all whitespace characters, both leading and trailing, in the variable &lt;code&gt;VARIABLE_NAME&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Remove Only Leading White Spaces:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;NEW_VARIABLE=&amp;#34;$(echo -e &amp;#34;${VARIABLE_NAME}&amp;#34; | sed -e &amp;#39;s/^[[:space:]]*//&amp;#39;)&amp;#34;&#xA;# NEW_VARIABLE=&amp;#39;aaa  bbb  &amp;#39;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Here, &lt;code&gt;sed&lt;/code&gt; is used to remove only the leading whitespace characters from the variable.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Change WordPress Site URL With WP-CLI</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-change-wordpress-site-url-with-wp-cli/</link>
      <pubDate>Wed, 15 Sep 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-change-wordpress-site-url-with-wp-cli/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;If you need to change the domain URL of your WordPress site, you can use WP-CLI, a powerful command-line tool for managing WordPress. Changing the site URL is a common task, especially when migrating your site to a new domain. Here&amp;rsquo;s a step-by-step guide on how to do it with WP-CLI.&lt;/p&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;1-backup-your-wordpress-database&#34;&gt;&lt;span&gt;1. Backup Your WordPress Database&lt;/span&gt;&#xA;  &lt;a href=&#34;#1-backup-your-wordpress-database&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;p&gt;Before making any changes, it&amp;rsquo;s crucial to create a backup of your WordPress database. This ensures that you can restore your site if anything goes wrong during the URL change process.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Accessing Windows or Mac Host IP in Docker</title>
      <link>https://dimasmaulana.pages.dev/posts/development/accessing-windows-or-mac-host-ip-in-docker/</link>
      <pubDate>Tue, 14 Sep 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/accessing-windows-or-mac-host-ip-in-docker/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;When working with Docker containers on Windows or Mac, you might need to access the IP address of the host machine from within the container. Docker provides two convenient DNS names that you can use to achieve this: &lt;code&gt;host.docker.internal&lt;/code&gt; and &lt;code&gt;gateway.docker.internal&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;using-hostdockerinternal&#34;&gt;&lt;span&gt;Using &lt;code&gt;host.docker.internal&lt;/code&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#using-hostdockerinternal&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;p&gt;The DNS name &lt;code&gt;host.docker.internal&lt;/code&gt; allows you to access the IP address of the host machine from within a Docker container. This is particularly useful when you need to communicate with services running on the host, such as a development server.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Whatsapp Webjs Wont Reconnect After Macbook Sleep</title>
      <link>https://dimasmaulana.pages.dev/posts/development/whatsapp-webjs-wont-reconnect-after-macbook-sleep/</link>
      <pubDate>Thu, 26 Aug 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/whatsapp-webjs-wont-reconnect-after-macbook-sleep/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;You&amp;rsquo;re facing an issue with the &lt;code&gt;whatsapp-web.js&lt;/code&gt; library when trying to reconnect after your MacBook goes to sleep. The solution you&amp;rsquo;ve provided involves using a remote browser via Docker to run Chrome and then connecting &lt;code&gt;whatsapp-web.js&lt;/code&gt; to it using the &lt;code&gt;browserWSEndpoint&lt;/code&gt; option. This is a workaround to ensure that the connection is maintained even after your MacBook wakes up from sleep mode.&lt;/p&gt;&#xA;&lt;p&gt;Here&amp;rsquo;s a breakdown of the steps and code you&amp;rsquo;ve provided:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Docker Compose docker-compose-yml Command Multiline</title>
      <link>https://dimasmaulana.pages.dev/posts/development/docker-compose-docker-compose-yml-command-multiline/</link>
      <pubDate>Wed, 25 Aug 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/docker-compose-docker-compose-yml-command-multiline/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;Sure! The provided code snippet is meant to modify the Tomcat server information displayed when the server starts up. This can be achieved using Docker Compose by modifying the &lt;code&gt;docker-compose.yml&lt;/code&gt; file as follows:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;version: &amp;#39;3&amp;#39;&#xA;services:&#xA;  tomcat:&#xA;    image: tomcat:latest&#xA;    ports:&#xA;      - &amp;#34;8080:8080&amp;#34;&#xA;    command: &amp;gt;&#xA;      bash -c &amp;#34;mkdir -p /usr/local/tomcat/lib/org/apache/catalina/util/ &amp;amp;&amp;amp;&#xA;      echo server.info=PlantUML &amp;gt; /usr/local/tomcat/lib/org/apache/catalina/util/ServerInfo.properties &amp;amp;&amp;amp;&#xA;      catalina.sh run&amp;#34;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;In this Docker Compose configuration:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;We define a service named &lt;code&gt;tomcat&lt;/code&gt; based on the &lt;code&gt;tomcat:latest&lt;/code&gt; image.&lt;/li&gt;&#xA;&lt;li&gt;We map port 8080 from the host to port 8080 in the container to access the Tomcat server.&lt;/li&gt;&#xA;&lt;li&gt;The &lt;code&gt;command&lt;/code&gt; section is where the custom startup command is defined. The &lt;code&gt;&amp;gt;&lt;/code&gt; character is used to allow multiline commands.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;The custom command consists of the following steps:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mac Run PlantUML Server on Login</title>
      <link>https://dimasmaulana.pages.dev/posts/development/mac-run-plantuml-server-on-login/</link>
      <pubDate>Wed, 25 Aug 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/mac-run-plantuml-server-on-login/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;To run a PlantUML server on login for your Mac, you can follow these steps using Automator. This will ensure that the PlantUML server starts automatically every time you log in.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Step 1: Install PlantUML&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;First, make sure you have PlantUML installed on your Mac using Homebrew. You&amp;rsquo;ve already mentioned the command:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;brew install plant-uml&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Step 2: Create an Automator App&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Open &amp;ldquo;Automator&amp;rdquo; on your Mac. You can find it by searching for it in Spotlight or in the Applications folder.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Running Background Processes with Automator and Shell Scripts on Mac</title>
      <link>https://dimasmaulana.pages.dev/posts/development/running-background-processes-with-automator-and-shell-scripts-on-mac/</link>
      <pubDate>Wed, 25 Aug 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/running-background-processes-with-automator-and-shell-scripts-on-mac/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In this article, we&amp;rsquo;ll explore how to run background processes using Automator and shell scripts on a Mac. We&amp;rsquo;ll compare two methods, one using a basic shell command and the other employing the &lt;code&gt;nohup&lt;/code&gt; command for more robust background process management.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;method-1-using-a-basic-shell-command&#34;&gt;&lt;span&gt;Method 1: Using a Basic Shell Command&lt;/span&gt;&#xA;  &lt;a href=&#34;#method-1-using-a-basic-shell-command&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;To run a background process using a basic shell command in Automator, follow these steps:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Cant Copy Textbox from Java Jar Swing on Mac</title>
      <link>https://dimasmaulana.pages.dev/posts/development/cant-copy-textbox-from-java-jar-swing-on-mac/</link>
      <pubDate>Wed, 18 Aug 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/cant-copy-textbox-from-java-jar-swing-on-mac/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;If you&amp;rsquo;re using a Java Jar Swing application on a Mac and find that you can&amp;rsquo;t copy text from a textbox using the standard keyboard shortcuts, such as CTRL+C for copy and Command+V for paste, there might be several reasons for this issue. Below, we&amp;rsquo;ll explore some potential solutions to help you resolve this problem.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;1-check-the-key-bindings&#34;&gt;&lt;span&gt;1. Check the Key Bindings&lt;/span&gt;&#xA;  &lt;a href=&#34;#1-check-the-key-bindings&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Java Swing applications often rely on custom key bindings for certain actions. It&amp;rsquo;s possible that the copy and paste actions in your application have been customized or overridden. To check this:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Resolving Unresponsiveness of Open Apps Blocked by Lulu on macOS Big Sur</title>
      <link>https://dimasmaulana.pages.dev/posts/software/resolving-unresponsiveness-of-open-apps-blocked-by-lulu-on-macos-big-sur/</link>
      <pubDate>Sun, 15 Aug 2021 12:01:04 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/software/resolving-unresponsiveness-of-open-apps-blocked-by-lulu-on-macos-big-sur/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/software/">Software</category>
      <description>&lt;p&gt;If you&amp;rsquo;re experiencing unresponsiveness in open applications due to Lulu blocking certain processes, particularly on macOS Big Sur (version 11.5), this article provides a step-by-step solution to address the issue. Lulu is a firewall application that helps you monitor and control outgoing network connections. It may occasionally cause applications like Sketch, Adobe XD, and Adobe Photoshop to become unresponsive when attempting to connect to specific DNS IP addresses.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;solution-1-avoid-blocking-specific-dns-ip-addresses&#34;&gt;&lt;span&gt;Solution 1: Avoid Blocking Specific DNS IP Addresses&lt;/span&gt;&#xA;  &lt;a href=&#34;#solution-1-avoid-blocking-specific-dns-ip-addresses&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Launch Lulu:&lt;/strong&gt; Open the Lulu application on your Mac.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fixing Smooth Scroll Behavior Issue in Elementor WordPress on iOS Safari</title>
      <link>https://dimasmaulana.pages.dev/posts/development/fixing-smooth-scroll-behavior-issue-in-elementor-wordpress-on-ios-safari/</link>
      <pubDate>Tue, 03 Aug 2021 17:43:43 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/fixing-smooth-scroll-behavior-issue-in-elementor-wordpress-on-ios-safari/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;Smooth scrolling is a popular web design feature that enhances user experience by creating a fluid transition when navigating through a web page. However, there are instances where smooth scrolling might not work as expected, especially on specific platforms or browsers. This article addresses the issue of smooth scroll behavior not working in Elementor WordPress on iOS Safari and provides a solution using the smoothscroll-polyfill library.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;identifying-the-issue&#34;&gt;&lt;span&gt;Identifying the Issue&lt;/span&gt;&#xA;  &lt;a href=&#34;#identifying-the-issue&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Smooth scrolling can sometimes behave inconsistently across different browsers and devices. One common issue is when smooth scroll doesn&amp;rsquo;t work on iOS Safari when using the Elementor page builder in WordPress. Users may notice a lack of smooth animation when scrolling, which can impact the overall user experience of the website.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Speak Text Selection With Difference Language on iOS</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-speak-text-selection-with-difference-language-on-ios/</link>
      <pubDate>Mon, 19 Jul 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-speak-text-selection-with-difference-language-on-ios/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;To speak text selections in different languages on iOS, you can create a shortcut using the Shortcuts app. Here&amp;rsquo;s a step-by-step guide on how to do it:&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;create-a-shortcut&#34;&gt;&lt;span&gt;Create a Shortcut&lt;/span&gt;&#xA;  &lt;a href=&#34;#create-a-shortcut&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Open the Shortcuts App&lt;/strong&gt;: If you don&amp;rsquo;t have it installed, you can download it from the App Store.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Troubleshooting Apache Error Ah00558</title>
      <link>https://dimasmaulana.pages.dev/posts/development/troubleshooting-apache-error-ah00558/</link>
      <pubDate>Tue, 13 Jul 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/troubleshooting-apache-error-ah00558/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;When running the &lt;code&gt;apachectl configtest&lt;/code&gt; command in Apache, you may encounter the following error message:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;AH00558: apache2: Could not reliably determine the server&amp;#39;s fully qualified domain name, using domain.com. Set the &amp;#39;ServerName&amp;#39; directive globally to suppress this message&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This error occurs when Apache is unable to determine the fully qualified domain name (FQDN) of your server. It&amp;rsquo;s a warning rather than a critical error, but it&amp;rsquo;s a good practice to address it to avoid potential issues. Here&amp;rsquo;s how you can resolve this issue:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Troubleshooting GitLab Web IDE Error When Trying to Edit a File on a Private GitLab Using Apache Reverse Proxy</title>
      <link>https://dimasmaulana.pages.dev/posts/software/troubleshooting-gitlab-web-ide-error-when-trying-to-edit-a-file-on-a-private-gitlab-using-apache-reverse-proxy/</link>
      <pubDate>Mon, 12 Jul 2021 10:55:46 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/software/troubleshooting-gitlab-web-ide-error-when-trying-to-edit-a-file-on-a-private-gitlab-using-apache-reverse-proxy/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/software/">Software</category>
      <description>&lt;p&gt;GitLab Web IDE is a powerful web-based integrated development environment that allows users to edit, commit, and manage their GitLab projects directly from the browser. However, some users may encounter an error while trying to edit files in the Web IDE when accessing GitLab through an Apache reverse proxy. This article provides a step-by-step solution to resolve the &amp;ldquo;Error while loading the project data. Please try again&amp;rdquo; message that appears in this scenario.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Troubleshooting Snap Camera Not Working on Zoom on Mac</title>
      <link>https://dimasmaulana.pages.dev/posts/software/troubleshooting-snap-camera-not-working-on-zoom-on-mac/</link>
      <pubDate>Sat, 19 Jun 2021 09:07:49 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/software/troubleshooting-snap-camera-not-working-on-zoom-on-mac/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/software/">Software</category>
      <description>&lt;p&gt;Snap Camera is a popular desktop application that allows users to add various fun and creative filters to their webcam feed. However, some users may encounter issues when using Snap Camera with Zoom on a Mac. One common problem is that the Snap Camera application fails to work correctly or does not show up as an option within Zoom&amp;rsquo;s video settings.&lt;/p&gt;&#xA;&lt;p&gt;In this troubleshooting guide, we&amp;rsquo;ll go through the steps to resolve the issue of Snap Camera not working on Zoom for Mac users.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Prevent Your Screen from Turning Off on Windows</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-prevent-your-screen-from-turning-off-on-windows/</link>
      <pubDate>Mon, 07 Jun 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-prevent-your-screen-from-turning-off-on-windows/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;If you find that your Windows computer screen is turning off too quickly and you want to prevent it from doing so, you can use the &lt;code&gt;powercfg&lt;/code&gt; command to override the default power settings. This can be particularly useful if you&amp;rsquo;re watching a movie, giving a presentation, or working on a task that requires your screen to remain active for an extended period of time. Here&amp;rsquo;s how you can create, delete, and list power request overrides using the &lt;code&gt;powercfg&lt;/code&gt; command.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Fix Postfix Error Bind 0000 Port 25 Address Already In Use</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-fix-postfix-error-bind-0000-port-25-address-already-in-use/</link>
      <pubDate>Sun, 06 Jun 2021 10:27:34 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-fix-postfix-error-bind-0000-port-25-address-already-in-use/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;If you&amp;rsquo;re encountering the &amp;ldquo;Postfix Error: bind 0.0.0.0 port 25: Address already in use&amp;rdquo; error message, it means that the default SMTP port 25 is already in use by another service on your server. To resolve this issue, you can change the port that Postfix listens on for incoming email connections. Here&amp;rsquo;s how to do it:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Open your &lt;code&gt;master.cf&lt;/code&gt; configuration file using a text editor. You can use the &lt;code&gt;vim&lt;/code&gt; editor as mentioned in your provided instructions:&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Send Gmail Email With Postfix on Ubuntu</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-send-gmail-email-with-postfix-on-ubuntu/</link>
      <pubDate>Sun, 06 Jun 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-send-gmail-email-with-postfix-on-ubuntu/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In this guide, we will walk you through the steps to configure Postfix on an Ubuntu system to send emails through your Gmail account. This can be useful for various purposes, such as sending automated emails from your server. Follow these steps:&lt;/p&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;step-1-install-required-packages&#34;&gt;&lt;span&gt;Step 1: Install Required Packages&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-1-install-required-packages&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;p&gt;First, you need to install the necessary packages. Open a terminal and run the following command:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sending Email via Console with Custom From Address on Mac Using Gmail</title>
      <link>https://dimasmaulana.pages.dev/posts/development/sending-email-via-console-with-custom-from-address-on-mac-using-gmail/</link>
      <pubDate>Sat, 05 Jun 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/sending-email-via-console-with-custom-from-address-on-mac-using-gmail/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;If you want to send an email via the console on your Mac using a custom &amp;ldquo;From&amp;rdquo; address with Gmail, you can use the &lt;code&gt;sendmail&lt;/code&gt; command. Gmail&amp;rsquo;s SMTP servers can be configured to allow sending emails from custom addresses. Here&amp;rsquo;s how you can send an email from the console with a custom &amp;ldquo;From&amp;rdquo; address using &lt;code&gt;sendmail&lt;/code&gt;:&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;prerequisites&#34;&gt;&lt;span&gt;Prerequisites&lt;/span&gt;&#xA;  &lt;a href=&#34;#prerequisites&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;You should have a Gmail account set up.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Hear Your Own Microphone Voice on Mac</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-hear-your-own-microphone-voice-on-mac/</link>
      <pubDate>Fri, 04 Jun 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-hear-your-own-microphone-voice-on-mac/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;If you want to hear your own microphone voice on your Mac, you can easily do so using QuickTime Player. This can be useful for monitoring your audio input or for various recording and communication purposes. Follow these steps to set it up:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Open QuickTime Player:&lt;/strong&gt; You can find QuickTime Player in your Applications folder or by using Spotlight Search (press Command + Space, then start typing &amp;ldquo;QuickTime Player&amp;rdquo; and press Enter).&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Host Your Own Apple Contacts Account on Mac and iOS using Nextcloud</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-host-your-own-apple-contacts-account-on-mac-and-ios-using-nextcloud/</link>
      <pubDate>Fri, 04 Jun 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-host-your-own-apple-contacts-account-on-mac-and-ios-using-nextcloud/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;If you&amp;rsquo;re concerned about privacy or simply want more control over your contacts, hosting your own Apple Contacts account using Nextcloud is a great option. This allows you to store and sync your contacts securely on your own server. Here&amp;rsquo;s a step-by-step guide on how to set it up:&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;prerequisites&#34;&gt;&lt;span&gt;Prerequisites&lt;/span&gt;&#xA;  &lt;a href=&#34;#prerequisites&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Nextcloud Server&lt;/strong&gt;: You&amp;rsquo;ll need a Nextcloud server set up. You can either host your own Nextcloud server or use a Nextcloud hosting provider.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Host Your Own Apple Reminders on Mac and iOS</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-host-your-own-apple-reminders-on-mac-and-ios/</link>
      <pubDate>Fri, 04 Jun 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-host-your-own-apple-reminders-on-mac-and-ios/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;If you want to take control of your Apple Reminders and host them on your own server, you can do so by using Nextcloud, a popular open-source cloud platform. This guide will walk you through the process of setting up your own Apple Reminders service on your Mac and iOS devices.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;prerequisites&#34;&gt;&lt;span&gt;Prerequisites&lt;/span&gt;&#xA;  &lt;a href=&#34;#prerequisites&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Before you get started, make sure you have the following:&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Log All Script Output Inside the Script Itself</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-log-all-script-output-inside-the-script-itself/</link>
      <pubDate>Thu, 03 Jun 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-log-all-script-output-inside-the-script-itself/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;Logging script output is a common practice in shell scripting to keep track of what a script is doing, especially during debugging or troubleshooting. In this guide, we&amp;rsquo;ll show you how to log all script output inside the script itself using the &lt;code&gt;tee&lt;/code&gt; command and redirection.&lt;/p&gt;&#xA;&lt;p&gt;Here&amp;rsquo;s a simple example of a script that echoes some text and logs its output:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;#!/bin/bash&#xA;&#xA;# Define the path to the debug log file&#xA;DEBUGLOG=&amp;#34;/path/to/debug.log&amp;#34;&#xA;&#xA;# Redirect all output (stdout and stderr) to the debug log using tee&#xA;{&#xA;    echo &amp;#34;test&amp;#34;&#xA;    echo &amp;#34;test 2&amp;#34;&#xA;    echo &amp;#34;test 3&amp;#34;&#xA;} 2&amp;gt;&amp;amp;1 | tee -a &amp;#34;$DEBUGLOG&amp;#34;&#xA;&#xA;# Additional script commands go here&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;In this script:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sending Email with Gmail and Custom From Address Using GNU Mail</title>
      <link>https://dimasmaulana.pages.dev/posts/development/sending-email-with-gmail-and-custom-from-address-using-gnu-mail/</link>
      <pubDate>Thu, 03 Jun 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/sending-email-with-gmail-and-custom-from-address-using-gnu-mail/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In this guide, we will walk you through the process of sending an email using Gmail as the SMTP server and customizing the &amp;ldquo;From&amp;rdquo; address using the GNU Mail command-line utility on a Ubuntu-based system. This can be useful if you want to send emails from a specific address other than your Gmail account.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;prerequisites&#34;&gt;&lt;span&gt;Prerequisites&lt;/span&gt;&#xA;  &lt;a href=&#34;#prerequisites&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Before you begin, make sure you have the following prerequisites:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Running a Command in a Different Folder</title>
      <link>https://dimasmaulana.pages.dev/posts/development/running-a-command-in-a-different-folder/</link>
      <pubDate>Tue, 01 Jun 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/running-a-command-in-a-different-folder/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In a Markdown article, you can explain how to run a command in a different folder using the &lt;code&gt;cd&lt;/code&gt; command in Unix-like operating systems. Here&amp;rsquo;s how you can structure your article:&lt;/p&gt;&#xA;&lt;p&gt;Sometimes, when working in a Unix-like operating system (such as Linux or macOS), you may need to execute a command from a different directory than your current one. This can be done using the &lt;code&gt;cd&lt;/code&gt; command along with the desired command you want to run. In this article, we&amp;rsquo;ll explore how to run a command in a different folder.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Set Up DNSCrypt Using bitbar-dnscrypt-proxy-switcher</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-set-up-dnscrypt-using-bitbar-dnscrypt-proxy-switcher/</link>
      <pubDate>Fri, 21 May 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-set-up-dnscrypt-using-bitbar-dnscrypt-proxy-switcher/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;&lt;strong&gt;DNSCrypt&lt;/strong&gt; is a protocol that encrypts DNS traffic between your computer and the DNS server, enhancing your online privacy and security. The &lt;strong&gt;bitbar-dnscrypt-proxy-switcher&lt;/strong&gt; is a convenient way to control DNSCrypt using &lt;a href=&#34;https://getbitbar.com/&#34; target=&#34;_blank&#34; rel=&#34;external nofollow noopener noreferrer&#34;&gt;BitBar&lt;/a&gt;, a Mac menu bar application that allows you to add various plugins for quick access to information and functionality. In this guide, we&amp;rsquo;ll walk you through the steps to set up DNSCrypt using bitbar-dnscrypt-proxy-switcher.&lt;/p&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;prerequisites&#34;&gt;&lt;span&gt;Prerequisites&lt;/span&gt;&#xA;  &lt;a href=&#34;#prerequisites&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;p&gt;Before you begin, make sure you have the following prerequisites installed on your Mac:&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Disable Turbo Boost Without Asking Administrator Password On Turbo Boost Switcher</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-disable-turbo-boost-without-asking-administrator-password-on-turbo-boost-switcher/</link>
      <pubDate>Wed, 12 May 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-disable-turbo-boost-without-asking-administrator-password-on-turbo-boost-switcher/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;If you want to disable Turbo Boost on your Mac without having to enter the administrator password every time, you can use Turbo Boost Switcher and set it up to run as a root or as a service. Here are the steps to achieve this:&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;run-turbo-boost-switcher-as-root&#34;&gt;&lt;span&gt;Run Turbo Boost Switcher As Root&lt;/span&gt;&#xA;  &lt;a href=&#34;#run-turbo-boost-switcher-as-root&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Open the Terminal application. You can find it in the Applications folder under Utilities, or you can use Spotlight by pressing &lt;code&gt;Cmd + Space&lt;/code&gt; and typing &amp;ldquo;Terminal.&amp;rdquo;&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Prevent Auto Volume Changes on Google Meet in Chrome</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-prevent-auto-volume-changes-on-google-meet-in-chrome/</link>
      <pubDate>Fri, 30 Apr 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-prevent-auto-volume-changes-on-google-meet-in-chrome/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;Google Meet is a popular video conferencing tool, but one common issue users encounter is auto volume adjustment, which can be quite annoying during meetings. Thankfully, there&amp;rsquo;s a Chrome extension called &amp;ldquo;Disable Automatic Gain Control&amp;rdquo; that can help you stop auto volume changes on Google Meet. In this guide, we&amp;rsquo;ll walk you through the steps to install and use this extension.&lt;/p&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;step-1-install-the-chrome-extension&#34;&gt;&lt;span&gt;Step 1: Install the Chrome Extension&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-1-install-the-chrome-extension&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;p&gt;To get started, you&amp;rsquo;ll need to install the &amp;ldquo;Disable Automatic Gain Control&amp;rdquo; Chrome extension. Here&amp;rsquo;s how to do it:&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Copy Exif Meta Data From One File To Another Using Exiftool</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-copy-exif-meta-data-from-one-file-to-another-using-exiftool/</link>
      <pubDate>Thu, 29 Apr 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-copy-exif-meta-data-from-one-file-to-another-using-exiftool/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;Exiftool is a powerful command-line tool for manipulating and extracting metadata from a wide range of file types, including images and videos. In this guide, we will learn how to copy Exif metadata from one file to another using Exiftool.&lt;/p&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;prerequisites&#34;&gt;&lt;span&gt;Prerequisites&lt;/span&gt;&#xA;  &lt;a href=&#34;#prerequisites&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;p&gt;Before you begin, make sure you have Exiftool installed on your system. You can download it from the &lt;a href=&#34;https://exiftool.org/&#34; target=&#34;_blank&#34; rel=&#34;external nofollow noopener noreferrer&#34;&gt;Exiftool website&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Merge a Subtitle File Directly with a Movie on Mac using Subler</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-merge-a-subtitle-file-directly-with-a-movie-on-mac-using-subler/</link>
      <pubDate>Thu, 29 Apr 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-merge-a-subtitle-file-directly-with-a-movie-on-mac-using-subler/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;Subler is a powerful and user-friendly application for macOS that allows you to add subtitle files directly to your movie files. This can be incredibly useful if you have a movie without built-in subtitles or if you want to replace the existing subtitles with a different language or better-quality subtitles. In this guide, we will walk you through the process of merging a subtitle file with a movie using Subler.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fixing Puppeteer libgbm.so.1 Error on Ubuntu</title>
      <link>https://dimasmaulana.pages.dev/posts/development/fixing-puppeteer-libgbm-so-1-error-on-ubuntu/</link>
      <pubDate>Mon, 12 Apr 2021 19:28:33 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/fixing-puppeteer-libgbm-so-1-error-on-ubuntu/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;When trying to run Puppeteer on Ubuntu, you may encounter the following error:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;error while loading shared libraries: libgbm.so.1: cannot open shared object file: No such file or directory&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This error occurs because the required library &lt;code&gt;libgbm.so.1&lt;/code&gt; is missing on your system. To resolve this issue, you need to install the &lt;code&gt;libgbm&lt;/code&gt; development package. Here&amp;rsquo;s a step-by-step guide on how to fix it:&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;step-1-update-package-lists&#34;&gt;&lt;span&gt;Step 1: Update Package Lists&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-1-update-package-lists&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Before installing any packages, it&amp;rsquo;s always a good practice to update the package lists to ensure you are installing the latest versions available.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Sync with Rsync but Ignore .DS_Store Files</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-sync-with-rsync-but-ignore-dsstore-files/</link>
      <pubDate>Sat, 10 Apr 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-sync-with-rsync-but-ignore-dsstore-files/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;Rsync is a powerful command-line tool for synchronizing files and directories between two locations. However, when syncing macOS files to another location, you may encounter pesky &lt;code&gt;.DS_Store&lt;/code&gt; files, which are hidden metadata files created by the Finder. To exclude these files from your rsync operation, you can use the &lt;code&gt;--exclude&lt;/code&gt; flag. Below is an example of how to sync files while ignoring &lt;code&gt;.DS_Store&lt;/code&gt; files:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;### Command Explanation&#xA;&#xA;Let&amp;#39;s break down the command step by step:&#xA;&#xA;- `rsync`: This is the command itself.&#xA;- `--force`: This option tells rsync to overwrite files without asking for confirmation.&#xA;- `-ahviP`: These are a combination of options:&#xA;  - `-a`: Archive mode, which preserves various attributes of files and directories.&#xA;  - `-h`: Output numbers in a human-readable format (e.g., 1K, 2M).&#xA;  - `-v`: Verbose mode, which displays detailed information about the sync process.&#xA;  - `-i`: Itemize changes, displaying a summary of the changes made.&#xA;  - `-P`: Equivalent to `--partial --progress`, it keeps partially transferred files and shows progress during transfer.&#xA;- `--exclude &amp;#39;.DS_Store&amp;#39;`: This flag tells rsync to exclude any file or directory named `.DS_Store`.&#xA;- `--delete`: This option deletes files in the destination that are not present in the source. Be cautious with this option as it can result in data loss if not used carefully.&#xA;- `/Users/dimas/Vaults/Photos/`: This is the source directory you want to sync.&#xA;- `/Volumes/example/Photos/`: This is the destination directory where you want to sync the files.&#xA;&#xA;### Usage Notes&#xA;&#xA;1. **Source and Destination Paths**: Make sure to replace `/Users/dimas/Vaults/Photos/` and `/Volumes/example/Photos/` with your actual source and destination paths.&#xA;&#xA;2. **Be Careful with --delete**: The `--delete` option can remove files in the destination that are not in the source. Use it with caution to avoid unintentional data loss.&#xA;&#xA;3. **Backup**: Before running any rsync command with the `--delete` option, ensure you have a backup of your data in case something goes wrong.&#xA;&#xA;4. **Hidden Files**: `.DS_Store` files are just one example of hidden files on macOS. You can use the same `--exclude` flag to exclude other hidden files or directories if needed.&#xA;&#xA;With this command, you can effectively synchronize your files and directories while excluding `.DS_Store` files, keeping your destination directory clean and clutter-free.&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Feel free to customize the command according to your specific needs, such as excluding other hidden files or directories or adjusting the sync options to suit your preferences.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mac Install Default Path Languange</title>
      <link>https://dimasmaulana.pages.dev/posts/development/mac-install-default-path-languange/</link>
      <pubDate>Thu, 01 Apr 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/mac-install-default-path-languange/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;It looks like you want to provide instructions for installing Python 3 and Java 11 on a Mac using Homebrew and setting their default paths. Here&amp;rsquo;s a step-by-step guide in Markdown format:&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;installing-python-3&#34;&gt;&lt;span&gt;Installing Python 3&lt;/span&gt;&#xA;  &lt;a href=&#34;#installing-python-3&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Install Python 3 using Homebrew:&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Enable Bash Autocompletion on Mac</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-enable-bash-autocompletion-on-mac/</link>
      <pubDate>Tue, 30 Mar 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-enable-bash-autocompletion-on-mac/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;Bash autocompletion is a handy feature that can save you time and keystrokes when working in the terminal. It allows you to press the Tab key to automatically complete commands, file names, and more. Here, we&amp;rsquo;ll walk you through the process of enabling bash autocompletion on macOS using Homebrew.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;prerequisites&#34;&gt;&lt;span&gt;Prerequisites&lt;/span&gt;&#xA;  &lt;a href=&#34;#prerequisites&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Before you begin, ensure that you have Homebrew installed. If you don&amp;rsquo;t have it installed, you can get it from &lt;a href=&#34;https://brew.sh/&#34; target=&#34;_blank&#34; rel=&#34;external nofollow noopener noreferrer&#34;&gt;Homebrew&amp;rsquo;s official website&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Using Terminal Completion on iTerm2</title>
      <link>https://dimasmaulana.pages.dev/posts/development/using-terminal-completion-on-iterm2/</link>
      <pubDate>Tue, 30 Mar 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/using-terminal-completion-on-iterm2/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;iTerm2 is a popular terminal emulator for macOS that comes with a variety of features to enhance your command-line experience. One such feature is Terminal Completion, which allows you to quickly and efficiently complete commands, file paths, and more using keyboard shortcuts. In this article, we&amp;rsquo;ll explore how to use Terminal Completion in iTerm2 using the &lt;code&gt;Cmd + ;&lt;/code&gt; shortcut.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;what-is-terminal-completion&#34;&gt;&lt;span&gt;What is Terminal Completion?&lt;/span&gt;&#xA;  &lt;a href=&#34;#what-is-terminal-completion&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Terminal Completion, also known as tab completion, is a feature that helps you save time when typing commands in the terminal. It works by automatically suggesting and completing commands, file paths, directory names, and more as you type. This can be especially useful when working with long and complex commands or navigating through a directory structure with many nested folders.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Storing GIT Credentials Locally</title>
      <link>https://dimasmaulana.pages.dev/posts/development/storing-git-credentials-locally/</link>
      <pubDate>Mon, 29 Mar 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/storing-git-credentials-locally/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;When working with Git repositories, it&amp;rsquo;s often convenient to store your credentials locally to avoid repeatedly entering your username and password or personal access token. Git provides several methods for managing credentials, including caching and using credential helpers. Here, we&amp;rsquo;ll discuss how to store Git credentials locally on different operating systems and how to set a token for each project folder.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;storing-git-credentials-locally&#34;&gt;&lt;span&gt;Storing Git Credentials Locally&lt;/span&gt;&#xA;  &lt;a href=&#34;#storing-git-credentials-locally&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;h3 class=&#34;heading-element&#34; id=&#34;on-linux&#34;&gt;&lt;span&gt;On Linux&lt;/span&gt;&#xA;  &lt;a href=&#34;#on-linux&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;p&gt;To store Git credentials locally on a Linux system, you can use the &lt;code&gt;git config&lt;/code&gt; command with the &lt;code&gt;credential.helper&lt;/code&gt; setting set to &lt;code&gt;cache&lt;/code&gt;. This will cache your credentials for a specified period, typically 15 minutes, before requiring you to re-enter them.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Understanding Command Line Syntax</title>
      <link>https://dimasmaulana.pages.dev/posts/development/understanding-command-line-syntax/</link>
      <pubDate>Mon, 29 Mar 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/understanding-command-line-syntax/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;When working with command line interfaces (CLI), it&amp;rsquo;s essential to understand the syntax and formatting used to create and execute commands. The command line syntax can include special characters and conventions that dictate how commands should be structured and what elements are required or optional. Let&amp;rsquo;s break down the common command line syntax elements using examples from both a general explanation and a specific CLI usage sample.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;command-line-syntax-elements&#34;&gt;&lt;span&gt;Command Line Syntax Elements&lt;/span&gt;&#xA;  &lt;a href=&#34;#command-line-syntax-elements&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;h3 class=&#34;heading-element&#34; id=&#34;square-brackets--&#34;&gt;&lt;span&gt;Square Brackets [ ]&lt;/span&gt;&#xA;  &lt;a href=&#34;#square-brackets--&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;p&gt;The square brackets ( &lt;code&gt;[ ]&lt;/code&gt; ) in command line syntax indicate that the enclosed element, which can be a parameter, value, or information, is optional. Users have the choice to include one or more items within the square brackets or omit them entirely. It&amp;rsquo;s important not to type the square brackets themselves in the actual command line.&lt;/p&gt;</description>
    </item>
    <item>
      <title>List SSH Config Host</title>
      <link>https://dimasmaulana.pages.dev/posts/development/list-ssh-config-host/</link>
      <pubDate>Sun, 28 Mar 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/list-ssh-config-host/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In SSH configuration files, you can define multiple hosts with different settings. To list all the defined hosts in your SSH config file using the &lt;code&gt;sed&lt;/code&gt; command, you can use the following command:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;```bash&#xA;sed -n &amp;#39;/^#/!s/Host //p&amp;#39; ~/.ssh/config&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;&#xA;Here&amp;#39;s what this command does:&#xA;&#xA;- `sed` is a stream editor for filtering and transforming text.&#xA;- `-n` tells `sed` to suppress automatic printing.&#xA;- `/^#/!s/Host //p` is a `sed` expression:&#xA;  - `/^#/` matches lines that start with `#`, which are comments in the SSH config file.&#xA;  - `!` negates the match, so it selects lines that do not start with `#`.&#xA;  - `s/Host //` replaces the word &amp;#34;Host&amp;#34; with an empty string, effectively removing it from the line.&#xA;  - `p` instructs `sed` to print the modified lines.&#xA;&#xA;When you run this command, it will display a list of host names defined in your SSH config file, excluding any commented-out entries. This can be useful to quickly see the configured hosts on your system.&lt;/code&gt;&lt;/pre&gt;</description>
    </item>
    <item>
      <title>SSH Proxy Jump: Simplifying Secure SSH Connections</title>
      <link>https://dimasmaulana.pages.dev/posts/development/ssh-proxy-jump-simplifying-secure-ssh-connections/</link>
      <pubDate>Thu, 25 Mar 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/ssh-proxy-jump-simplifying-secure-ssh-connections/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;Secure Shell (SSH) is a widely-used protocol for securely connecting to remote servers over an untrusted network, such as the internet. SSH ensures the confidentiality and integrity of data exchanged between the client and server. However, managing SSH connections to servers with complex network configurations can be challenging. This is where SSH Proxy Jump, also known as SSH Jump Host or SSH Bastion Host, comes in handy.&lt;/p&gt;&#xA;&lt;p&gt;SSH Proxy Jump allows you to connect to a target server through an intermediate server, known as a jump host or bastion host. This intermediate server acts as a gateway, helping you traverse complex network topologies while maintaining security. In this article, we&amp;rsquo;ll explore how to use SSH Proxy Jump both via the command line and through SSH configuration files.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Essential Vim Commands for Log Messages and Plugin Mapping Details</title>
      <link>https://dimasmaulana.pages.dev/posts/development/essential-vim-commands-for-log-messages-and-plugin-mapping-details/</link>
      <pubDate>Sun, 21 Mar 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/essential-vim-commands-for-log-messages-and-plugin-mapping-details/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;Vim is a powerful text editor that offers a wide range of features and commands to enhance your productivity. In this article, we will explore two essential Vim commands that will help you manage log messages and check mapping details with plugins.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;1-viewing-log-messages&#34;&gt;&lt;span&gt;1. Viewing Log Messages&lt;/span&gt;&#xA;  &lt;a href=&#34;#1-viewing-log-messages&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;In Vim, log messages can be useful for debugging or understanding the history of your editing session. To view all log messages, you can use the &lt;code&gt;:messages&lt;/code&gt; command. Here&amp;rsquo;s how it works:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Connect Kubectl pods Kubernetes</title>
      <link>https://dimasmaulana.pages.dev/posts/development/connect-kubectl-pods-kubernetes/</link>
      <pubDate>Sat, 20 Mar 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/connect-kubectl-pods-kubernetes/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;To connect to a pod in Kubernetes using &lt;code&gt;kubectl port-forward&lt;/code&gt;, you can follow the command you provided:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;kubectl port-forward kubernetes-dashboard-7798c48646-ctrtl 8443:8443 --namespace=kube-system&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This command is useful when you want to access a service running inside a Kubernetes pod from your local machine. Here&amp;rsquo;s a breakdown of the command:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;kubectl port-forward&lt;/code&gt;: This is the command for port forwarding in Kubernetes.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;kubernetes-dashboard-7798c48646-ctrtl&lt;/code&gt;: This is the name of the pod you want to connect to. Replace it with the actual name of the pod you want to access.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;8443:8443&lt;/code&gt;: This specifies the port forwarding configuration. It forwards port 8443 on your local machine to port 8443 on the pod. You can adjust the port numbers as needed.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;--namespace=kube-system&lt;/code&gt;: This flag specifies the namespace in which the pod is located. In this case, it&amp;rsquo;s in the &lt;code&gt;kube-system&lt;/code&gt; namespace.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;After running this command, you can access the service running inside the pod on your local machine by connecting to &lt;code&gt;https://localhost:8443&lt;/code&gt; in your web browser. Make sure that the service you want to access is listening on port 8443 inside the pod for this to work.&lt;/p&gt;</description>
    </item>
    <item>
      <title>About Bash Profile And Bash.Rc On Mac OS</title>
      <link>https://dimasmaulana.pages.dev/posts/development/about-bashprofile-and-bashrc-on-mac-os/</link>
      <pubDate>Fri, 19 Mar 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/about-bashprofile-and-bashrc-on-mac-os/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;The macOS Terminal.app uses a series of scripts and configuration files to set up the shell environment before you see the command prompt. Here&amp;rsquo;s an overview of these files and how they are executed:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;/etc/profile&lt;/strong&gt;: This is a system-wide configuration file that is executed for all users when they start a new shell session. It sets up environment variables and configurations that are applicable to all users.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;/etc/bashrc&lt;/strong&gt;: This file is also system-wide and is typically sourced (executed) by &lt;code&gt;/etc/profile&lt;/code&gt;. It can contain additional configurations and environment variables that apply to all users and all shell sessions.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Moving Files from Google Drive Except Google Drive Files</title>
      <link>https://dimasmaulana.pages.dev/posts/development/moving-files-from-google-drive-except-google-drive-files/</link>
      <pubDate>Sun, 07 Feb 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/moving-files-from-google-drive-except-google-drive-files/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;If you want to move all files from Google Drive except for the ones with specific Google extensions (.gshortcut, .gdoc, .gsheet, .gslides, .gform, .gjam, .gmap, .gsite), you can use the &lt;code&gt;rsync&lt;/code&gt; command with the &lt;code&gt;--exclude&lt;/code&gt; option to specify the file extensions to be excluded. Additionally, you can exclude common system files like &amp;ldquo;Icon?&amp;rdquo; and &amp;ldquo;.DS_Store&amp;rdquo; to avoid transferring them. Here&amp;rsquo;s the command to achieve this:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;rsync -avP --exclude=&amp;#34;*.gshortcut&amp;#34; --exclude=&amp;#34;*.gdoc&amp;#34; --exclude=&amp;#34;*.gsheet&amp;#34; --exclude=&amp;#34;*.gslides&amp;#34; --exclude=&amp;#34;*.gform&amp;#34; --exclude=&amp;#34;*.gjam&amp;#34; --exclude=&amp;#34;*.gmap&amp;#34; --exclude=&amp;#34;*.gsite&amp;#34; --exclude=&amp;#34;Icon?&amp;#34; --exclude=&amp;#34;.DS_Store&amp;#34; --remove-source-files &amp;#34;Google Drive (example@gmail.com)/example/&amp;#34; ./temp&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Explanation of the command:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Running a Shell Script from Finder and Keeping the Filepath</title>
      <link>https://dimasmaulana.pages.dev/posts/development/running-a-shell-script-from-finder-and-keeping-the-filepath/</link>
      <pubDate>Fri, 22 Jan 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/running-a-shell-script-from-finder-and-keeping-the-filepath/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;If you&amp;rsquo;re a macOS user and want to run a shell script by double-clicking it in the Finder, you might encounter an issue with the working directory. By default, the working directory of the script becomes the user&amp;rsquo;s home directory, which can lead to unexpected behavior if your script relies on relative file paths. To ensure that your script runs with the correct working directory, you can include a specific command at the beginning of your script.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Running Selenium on Windows 10 from Ubuntu WSL</title>
      <link>https://dimasmaulana.pages.dev/posts/development/running-selenium-on-windows-10-from-ubuntu-wsl/</link>
      <pubDate>Fri, 22 Jan 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/running-selenium-on-windows-10-from-ubuntu-wsl/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;If you&amp;rsquo;re trying to run Selenium with Chrome headless on Ubuntu WSL and encountering issues, an alternative approach is to install the Selenium Standalone Server on your Windows 10 machine and then connect to it remotely from the Ubuntu WSL terminal. This can help you overcome the limitations of running Chrome headless directly within WSL.&lt;/p&gt;&#xA;&lt;p&gt;Here&amp;rsquo;s a step-by-step guide on how to achieve this:&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;step-1-set-up-selenium-standalone-server-on-windows-10&#34;&gt;&lt;span&gt;Step 1: Set Up Selenium Standalone Server on Windows 10&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-1-set-up-selenium-standalone-server-on-windows-10&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Install Java&lt;/strong&gt;: Ensure you have Java installed on your Windows 10 machine since Selenium requires it to run. You can download and install Java from the official website.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Resizing a File in Ubuntu by a Specific Size and Removing Lines from the Center</title>
      <link>https://dimasmaulana.pages.dev/posts/development/resizing-a-file-in-ubuntu-by-a-specific-size-and-removing-lines-from-the-center/</link>
      <pubDate>Tue, 12 Jan 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/resizing-a-file-in-ubuntu-by-a-specific-size-and-removing-lines-from-the-center/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;To resize a file to a specific size and remove lines from the center of the file in Ubuntu, you can use a combination of commands like &lt;code&gt;truncate&lt;/code&gt; and &lt;code&gt;head&lt;/code&gt; and &lt;code&gt;tail&lt;/code&gt;. Here&amp;rsquo;s how you can achieve this:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Resize the File to 10MB using &lt;code&gt;truncate&lt;/code&gt;:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;To resize a file to a specific size, you can use the &lt;code&gt;truncate&lt;/code&gt; command with the &lt;code&gt;--size&lt;/code&gt; (&lt;code&gt;-s&lt;/code&gt;) option. In this case, we want to resize the file &lt;code&gt;other_vhosts_access.log&lt;/code&gt; to 10MB:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tracing HTTPS Requests Using mitmproxy</title>
      <link>https://dimasmaulana.pages.dev/posts/development/tracing-https-requests-using-mitmproxy/</link>
      <pubDate>Mon, 11 Jan 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/tracing-https-requests-using-mitmproxy/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;Mitmproxy is a powerful tool that allows you to intercept, modify, and inspect network traffic. It&amp;rsquo;s commonly used for debugging, security testing, and analyzing HTTP/HTTPS traffic. In this article, we&amp;rsquo;ll explore how to trace HTTPS requests using mitmproxy, both with a regular proxy and a transparent proxy setup.&lt;/p&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;prerequisites&#34;&gt;&lt;span&gt;Prerequisites&lt;/span&gt;&#xA;  &lt;a href=&#34;#prerequisites&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;p&gt;Before you start, make sure you have mitmproxy installed. You can install it using &lt;code&gt;pip&lt;/code&gt;:&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Delete Old Journal Logs in Ubuntu</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-delete-old-journal-logs-in-ubuntu/</link>
      <pubDate>Fri, 01 Jan 2021 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-delete-old-journal-logs-in-ubuntu/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;If you&amp;rsquo;re running Ubuntu, you might accumulate a large amount of journal logs over time. These logs can take up valuable disk space. Fortunately, you can easily delete old journal logs to free up space on your system. Here&amp;rsquo;s how you can do it using the &lt;code&gt;journalctl&lt;/code&gt; command with the &lt;code&gt;--vacuum-time&lt;/code&gt; option.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;deleting-old-journal-logs&#34;&gt;&lt;span&gt;Deleting Old Journal Logs&lt;/span&gt;&#xA;  &lt;a href=&#34;#deleting-old-journal-logs&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;To delete old journal logs in Ubuntu, follow these steps:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Bash Check if Shell on Interactive or Login</title>
      <link>https://dimasmaulana.pages.dev/posts/development/bash-check-if-shell-on-interactive-or-login/</link>
      <pubDate>Fri, 11 Dec 2020 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/bash-check-if-shell-on-interactive-or-login/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In Bash, you can check whether the shell is running in an interactive or login mode using the provided commands. Here&amp;rsquo;s an explanation of each command and what it checks for:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;[[ $- == *i* ]] &amp;amp;&amp;amp; echo &#39;Interactive&#39; || echo &#39;Not interactive&#39;&lt;/code&gt;:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;This command checks the value of the special shell variable &lt;code&gt;$-&lt;/code&gt;, which contains a string of options and flags that are currently set for the shell.&lt;/li&gt;&#xA;&lt;li&gt;The &lt;code&gt;*i*&lt;/code&gt; pattern is used to check if the letter &amp;lsquo;i&amp;rsquo; appears anywhere in the value of &lt;code&gt;$-&lt;/code&gt;. If it does, it indicates that the shell is running in interactive mode.&lt;/li&gt;&#xA;&lt;li&gt;If &amp;lsquo;i&amp;rsquo; is found, it echoes &amp;lsquo;Interactive&amp;rsquo;, otherwise, it echoes &amp;lsquo;Not interactive&amp;rsquo;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;shopt -q login_shell &amp;amp;&amp;amp; echo &#39;Login shell&#39; || echo &#39;Not login shell&#39;&lt;/code&gt;:&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Fix Wrong Indentation When Pasting Source Code in VIM</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-fix-wrong-indentation-when-pasting-source-code-in-vim/</link>
      <pubDate>Fri, 11 Dec 2020 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-fix-wrong-indentation-when-pasting-source-code-in-vim/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;When copying and pasting source code into the VIM text editor, you might encounter issues with incorrect indentation due to the way VIM handles auto-indentation. This happens because VIM&amp;rsquo;s default behavior tries to adjust the indentation based on the surrounding code, which can lead to unwanted results when pasting code from external sources. To prevent this, you can use the &lt;code&gt;:set paste&lt;/code&gt; and &lt;code&gt;:set nopaste&lt;/code&gt; commands to toggle the paste mode. Here&amp;rsquo;s how to do it:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Wsl2 Ram Overload Om Host (draft)</title>
      <link>https://dimasmaulana.pages.dev/posts/development/wsl2-ram-overload-om-host-draftmd/</link>
      <pubDate>Tue, 08 Dec 2020 10:27:34 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/wsl2-ram-overload-om-host-draftmd/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;WSL 2 (Windows Subsystem for Linux 2) has gained significant popularity among developers for its ability to run a full Linux kernel alongside the Windows operating system. However, one common issue that users may face is RAM overload on the host machine. This can lead to performance degradation and even system crashes. One approach to mitigate this problem is by limiting memory and processor usage for WSL 2 by editing the &lt;code&gt;wsl.conf&lt;/code&gt; configuration file.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kill Child Process and Parent Process Bash Linux</title>
      <link>https://dimasmaulana.pages.dev/posts/development/kill-child-process-and-parent-process-bash-linux/</link>
      <pubDate>Tue, 08 Dec 2020 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/kill-child-process-and-parent-process-bash-linux/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;you want a set of Bash commands for managing processes in a Linux environment. Here&amp;rsquo;s an explanation of what each command does:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Kill Child Process and Parent Process&lt;/strong&gt;:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;pid=17844 &amp;amp;&amp;amp; pkill -TERM -P $pid &amp;amp;&amp;amp; kill $pid&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This command first assigns the value 17844 to the variable &lt;code&gt;pid&lt;/code&gt;. Then, it uses &lt;code&gt;pkill&lt;/code&gt; with the &lt;code&gt;-TERM&lt;/code&gt; option to send a termination signal to all processes with a parent process ID (PPID) equal to the value stored in &lt;code&gt;pid&lt;/code&gt;. Finally, it uses the &lt;code&gt;kill&lt;/code&gt; command to send a termination signal to the process with the PID stored in &lt;code&gt;pid&lt;/code&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Modifying Indentation in Vim</title>
      <link>https://dimasmaulana.pages.dev/posts/development/modifying-indentation-in-vim/</link>
      <pubDate>Tue, 08 Dec 2020 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/modifying-indentation-in-vim/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;Indentation settings are crucial for maintaining consistent and readable code. In Vim, you can easily modify indentation preferences using various commands. Here&amp;rsquo;s a breakdown of your provided commands and their effects:&lt;/p&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;converting-tabs-to-spaces&#34;&gt;&lt;span&gt;Converting Tabs to Spaces&lt;/span&gt;&#xA;  &lt;a href=&#34;#converting-tabs-to-spaces&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;p&gt;To replace tabs with spaces, follow these steps:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Working with Background Processes in Linux Bash</title>
      <link>https://dimasmaulana.pages.dev/posts/development/working-with-background-processes-in-linux-bash/</link>
      <pubDate>Tue, 08 Dec 2020 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/working-with-background-processes-in-linux-bash/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In Linux, you can manage processes in the background using various commands and keyboard shortcuts. This article will walk you through how to list, stop, start, and bring background processes to the foreground, as well as how to kill running processes.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;listing-processes&#34;&gt;&lt;span&gt;Listing Processes&lt;/span&gt;&#xA;  &lt;a href=&#34;#listing-processes&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;To list the processes running on your system, you can use the &lt;code&gt;ps&lt;/code&gt; command. Here&amp;rsquo;s the basic syntax:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Timing Shell Commands in Bash</title>
      <link>https://dimasmaulana.pages.dev/posts/development/timing-shell-commands-in-bash/</link>
      <pubDate>Fri, 04 Dec 2020 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/timing-shell-commands-in-bash/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;When working in a Unix-like environment, timing the execution of shell commands is a useful way to measure the performance of various operations. Bash provides a couple of approaches for timing shell commands: using the &lt;code&gt;/usr/bin/time&lt;/code&gt; command or setting the &lt;code&gt;TIMEFORMAT&lt;/code&gt; variable.&lt;/p&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;using-usrbintime-command&#34;&gt;&lt;span&gt;Using &lt;code&gt;/usr/bin/time&lt;/code&gt; Command&lt;/span&gt;&#xA;  &lt;a href=&#34;#using-usrbintime-command&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;p&gt;The &lt;code&gt;/usr/bin/time&lt;/code&gt; command is a versatile utility that can provide information about the resources used by a process, including the execution time. To time a command using &lt;code&gt;/usr/bin/time&lt;/code&gt;, you can use the following syntax:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Unanttended Upgrade Docker</title>
      <link>https://dimasmaulana.pages.dev/posts/development/unanttended-upgrade-docker/</link>
      <pubDate>Thu, 03 Dec 2020 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/unanttended-upgrade-docker/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;To configure unattended upgrades for Docker on a Debian-based system, you can add the following line to the &lt;code&gt;50unattended-upgrades&lt;/code&gt; file. This will ensure that Docker packages are automatically updated when unattended-upgrades runs.&lt;/p&gt;&#xA;&lt;p&gt;Here are the steps to do this:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Open a terminal on your Debian-based system.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Use a text editor to open the &lt;code&gt;50unattended-upgrades&lt;/code&gt; file for editing. You&amp;rsquo;ll typically find this file in the &lt;code&gt;/etc/apt/apt.conf.d/&lt;/code&gt; directory.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;pre&gt;&lt;code&gt;sudo nano /etc/apt/apt.conf.d/50unattended-upgrades&lt;/code&gt;&lt;/pre&gt;&lt;ol start=&#34;3&#34;&gt;&#xA;&lt;li&gt;Add the following line to the file, which specifies that Docker packages should be automatically upgraded:&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;pre&gt;&lt;code&gt;Unattended-Upgrade::Allowed-Origins {&#xA;    &amp;#34;${distro_id}:${distro_codename}-security&amp;#34;;&#xA;    &amp;#34;${distro_id}:${distro_codename}-updates&amp;#34;;&#xA;    &amp;#34;Docker:${distro_codename}&amp;#34;;&#xA;};&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This configuration tells unattended-upgrades to include the Docker repository for automatic updates, in addition to the security and regular updates repositories for your distribution.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Removing Orphaned Packages on Debian/Ubuntu with Deborphan</title>
      <link>https://dimasmaulana.pages.dev/posts/development/removing-orphaned-packages-on-debianubuntu-with-deborphan/</link>
      <pubDate>Wed, 02 Dec 2020 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/removing-orphaned-packages-on-debianubuntu-with-deborphan/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;When you install and remove packages on a Debian-based Linux distribution like Debian or Ubuntu, sometimes you end up with orphaned packages - packages that were installed as dependencies for other software but are no longer needed. These orphaned packages can take up disk space and clutter your system. One tool that can help you identify and remove these orphaned packages is &lt;strong&gt;Deborphan&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;what-is-deborphan&#34;&gt;&lt;span&gt;What is Deborphan?&lt;/span&gt;&#xA;  &lt;a href=&#34;#what-is-deborphan&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Deborphan is a command-line tool for identifying and removing orphaned packages on Debian-based systems. It analyzes the package dependencies and checks which packages are no longer required by any other installed packages. Once it identifies these orphaned packages, you can choose to remove them, freeing up disk space and keeping your system clean.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Enabling Root as Default User in WSL on Windows 10</title>
      <link>https://dimasmaulana.pages.dev/posts/development/enabling-root-as-default-user-in-wsl-on-windows-10/</link>
      <pubDate>Tue, 24 Nov 2020 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/enabling-root-as-default-user-in-wsl-on-windows-10/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;If you want to set the default user in Windows Subsystem for Linux (WSL) to &amp;ldquo;root&amp;rdquo; instead of your regular user, you can achieve this using PowerShell or by modifying the WSL configuration file. Please note that running WSL as the root user is generally not recommended for security reasons, as it can expose your system to potential risks. Proceed with caution and only if you have a valid reason for doing so.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Git Patch Applying and Creating Patches in Git</title>
      <link>https://dimasmaulana.pages.dev/posts/development/git-patch-applying-and-creating-patches-in-git/</link>
      <pubDate>Thu, 19 Nov 2020 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/git-patch-applying-and-creating-patches-in-git/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In Git, patches are a way to capture and apply changes made to a codebase. They can be useful for sharing changes between developers or for applying changes across different branches. In this article, we&amp;rsquo;ll explore how to create and apply patches in Git.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;creating-patches&#34;&gt;&lt;span&gt;Creating Patches&lt;/span&gt;&#xA;  &lt;a href=&#34;#creating-patches&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;h3 class=&#34;heading-element&#34; id=&#34;patching-non-staged-files&#34;&gt;&lt;span&gt;Patching Non-Staged Files&lt;/span&gt;&#xA;  &lt;a href=&#34;#patching-non-staged-files&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;p&gt;To create a patch for changes that have not been staged yet, you can use the following command:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Vim Search and Replace String</title>
      <link>https://dimasmaulana.pages.dev/posts/development/vim-search-and-replace-string/</link>
      <pubDate>Thu, 19 Nov 2020 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/vim-search-and-replace-string/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;Vim is a powerful text editor that offers various functionalities for searching and replacing strings within your text. Here are different ways to perform string replacements using Vim&amp;rsquo;s command mode:&lt;/p&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;replace-string-on-selected-line&#34;&gt;&lt;span&gt;Replace String on Selected Line&lt;/span&gt;&#xA;  &lt;a href=&#34;#replace-string-on-selected-line&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;p&gt;To replace a string on the currently selected line, you can use the &lt;code&gt;:s&lt;/code&gt; command. For instance, to replace all occurrences of &amp;ldquo;foo&amp;rdquo; with &amp;ldquo;bar&amp;rdquo; on the selected line, you can use the following command:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Setting Up Your Own Apple Notes Server</title>
      <link>https://dimasmaulana.pages.dev/posts/development/setting-up-your-own-apple-notes-server/</link>
      <pubDate>Sat, 10 Oct 2020 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/setting-up-your-own-apple-notes-server/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In this guide, we will walk you through the process of setting up your own Apple Notes server using Docker and the &lt;code&gt;tvial/docker-mailserver&lt;/code&gt; image. Please note that this setup will only provide an IMAP server, which can be used with Apple Notes for syncing your notes across devices. Let&amp;rsquo;s get started!&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;prerequisites&#34;&gt;&lt;span&gt;Prerequisites&lt;/span&gt;&#xA;  &lt;a href=&#34;#prerequisites&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Before you begin, make sure you have the following prerequisites:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fix Wordpress OceanWP Focus Border Visible After Click</title>
      <link>https://dimasmaulana.pages.dev/posts/software/fix-wordpress-oceanwp-focus-border-visible-after-click/</link>
      <pubDate>Tue, 06 Oct 2020 13:11:08 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/software/fix-wordpress-oceanwp-focus-border-visible-after-click/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/software/">Software</category>
      <description>&lt;p&gt;One common issue that users encounter when using the OceanWP theme in Wordpress is the visibility of the focus border after clicking on a link. This focus border can be distracting and interfere with the overall design of the website. Fortunately, this problem can be easily resolved with a simple CSS tweak.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;the-problem&#34;&gt;&lt;span&gt;The Problem&lt;/span&gt;&#xA;  &lt;a href=&#34;#the-problem&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;By default, when you click on a link in the OceanWP theme, a focus border is applied to indicate that the link is currently active. However, this focus border can remain visible even after the click, which is not desired for most websites.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Using Fail2ban Inside Docker with NET_ADMIN Capability</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/using-fail2ban-inside-docker-with-net-admin-capability/</link>
      <pubDate>Mon, 05 Oct 2020 09:55:49 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/using-fail2ban-inside-docker-with-net-admin-capability/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <description>&lt;p&gt;Fail2ban is a popular intrusion prevention tool designed to protect servers from brute-force attacks and other malicious activities by monitoring log files and taking proactive measures to block suspicious IP addresses. When running Fail2ban inside a Docker container, there are some additional considerations to ensure proper functionality. In this article, we will explore how to configure and run Fail2ban inside a Docker container, including the need for the &lt;code&gt;NET_ADMIN&lt;/code&gt; capability.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fixing Too many open files in system Error in Apache Docker Container</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/fixing-too-many-open-files-in-system-error-in-apache-docker-container/</link>
      <pubDate>Tue, 29 Sep 2020 17:18:26 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/fixing-too-many-open-files-in-system-error-in-apache-docker-container/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <description>&lt;p&gt;If you encounter the &amp;ldquo;Too many open files in system&amp;rdquo; error in your Apache Docker container, it means that the system has reached the limit on the number of files it can open, and this is causing issues with Apache&amp;rsquo;s configuration. Here&amp;rsquo;s a step-by-step guide on how to resolve this problem.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;1-check-the-current-file-limit&#34;&gt;&lt;span&gt;1. Check the Current File Limit&lt;/span&gt;&#xA;  &lt;a href=&#34;#1-check-the-current-file-limit&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;First, you need to check the current file limit on your system to understand the magnitude of the issue. To do this, run the following command:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Adding OneClick Chat to Order and WhatsApp Checkout in WordPress with Shipping Method</title>
      <link>https://dimasmaulana.pages.dev/posts/software/adding-oneclick-chat-to-order-and-whatsapp-checkout-in-wordpress-with-shipping-method/</link>
      <pubDate>Thu, 24 Sep 2020 10:27:34 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/software/adding-oneclick-chat-to-order-and-whatsapp-checkout-in-wordpress-with-shipping-method/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/software/">Software</category>
      <description>&lt;p&gt;To add a One-Click Chat to Order feature and send checkout details via WhatsApp, including the shipping method, you can make modifications to the &amp;ldquo;wa_button.php&amp;rdquo; file in your WordPress theme or plugin. Here&amp;rsquo;s a step-by-step guide on how to achieve this:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Open the &amp;ldquo;wa_button.php&amp;rdquo; file and locate the function where the WhatsApp message is being constructed. It might look something like this:&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;pre&gt;&lt;code&gt;function create_whatsapp_message($order) {&#xA;    // Existing code for creating the WhatsApp message&#xA;    $message = &amp;#34;Hello, thank you for your order!\r\n&amp;#34;;&#xA;    // ...&#xA;    // More existing code&#xA;    // ...&#xA;    $date = $order-&amp;gt;get_date_created()-&amp;gt;format (&amp;#39;F j, Y - g:i A&amp;#39;);&#xA;    // Add the shipping method information&#xA;    $shipping_method = &amp;#34;*Metode Pengiriman:*\r\n&amp;#34;.$order-&amp;gt;get_shipping_method().&amp;#34; &amp;#34;.$order-&amp;gt;get_shipping_total().&amp;#34;\r\n&amp;#34;;&#xA;    &#xA;    // Final output of the message&#xA;    $message .= &amp;#34;\r\n&amp;#34;.$total_price.&amp;#34;\r\n&amp;#34;.$shipping_method.&amp;#34;\r\n&amp;#34;.$payment.&amp;#34;\r\n*&amp;#34;.$customer.&amp;#34;* &amp;#34;.$address.&amp;#34;\r\n\r\n&amp;#34;.$thanks_label.&amp;#34;\r\n\r\n(&amp;#34;.$date.&amp;#34;)&amp;#34;;&#xA;    // Return the message&#xA;    return $message;&#xA;}&lt;/code&gt;&lt;/pre&gt;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Modify the existing code as shown above to include the shipping method information.&lt;/p&gt;</description>
    </item>
    <item>
      <title>MAC OS Bash Path Location</title>
      <link>https://dimasmaulana.pages.dev/posts/development/mac-os-bash-path-location/</link>
      <pubDate>Thu, 24 Sep 2020 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/mac-os-bash-path-location/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In macOS, the system-wide PATH variable is defined by the contents of the &lt;code&gt;/etc/paths&lt;/code&gt; file and the files within the &lt;code&gt;/etc/path.d/&lt;/code&gt; directory. These files determine the order and locations where the system looks for executable files when you run a command in the Terminal.&lt;/p&gt;&#xA;&lt;p&gt;Here&amp;rsquo;s a breakdown of each of these components:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;&lt;code&gt;/etc/paths&lt;/code&gt;&lt;/strong&gt;:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;This file contains a list of directories, one per line. These directories are automatically included in the system-wide PATH variable.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Restricting WooCommerce Cart to Only Allow One Item</title>
      <link>https://dimasmaulana.pages.dev/posts/development/restricting-woocommerce-cart-to-only-allow-one-item/</link>
      <pubDate>Fri, 11 Sep 2020 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/restricting-woocommerce-cart-to-only-allow-one-item/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;If you&amp;rsquo;re running a WooCommerce store and want to ensure that customers can only have one item in their cart at a time, you can achieve this by adding a filter to your &lt;code&gt;functions.php&lt;/code&gt; file. This will empty the cart whenever a new item is added, allowing only one product to be present in the cart at any given time.&lt;/p&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;step-1-adding-the-filter&#34;&gt;&lt;span&gt;Step 1: Adding the Filter&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-1-adding-the-filter&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;p&gt;Open your theme&amp;rsquo;s &lt;code&gt;functions.php&lt;/code&gt; file and add the following code:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Docker Limit Quota Folder</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/docker-limit-quota-folder/</link>
      <pubDate>Wed, 09 Sep 2020 12:08:41 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/docker-limit-quota-folder/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <category domain="https://dimasmaulana.pages.dev/categories/troubleshooting/">Troubleshooting</category>
      <description>&lt;p&gt;In this article, we will discuss how to create and mount a limited quota folder using Docker. This can be useful when you want to restrict the amount of disk space a specific folder can use within a Docker container.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;prerequisites&#34;&gt;&lt;span&gt;Prerequisites&lt;/span&gt;&#xA;  &lt;a href=&#34;#prerequisites&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Before we begin, make sure you have Docker installed on your system. You can download and install Docker from the official Docker website (&lt;a href=&#34;https://www.docker.com/%29&#34; target=&#34;_blank&#34; rel=&#34;external nofollow noopener noreferrer&#34;&gt;https://www.docker.com/)&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Troubleshooting Making Buttonizer Visible in WordPress when Using w2static Plugin</title>
      <link>https://dimasmaulana.pages.dev/posts/software/troubleshooting-making-buttonizer-visible-in-wordpress-when-using-w2static-plugin/</link>
      <pubDate>Fri, 04 Sep 2020 09:53:36 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/software/troubleshooting-making-buttonizer-visible-in-wordpress-when-using-w2static-plugin/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/software/">Software</category>
      <description>&lt;p&gt;If you&amp;rsquo;re facing difficulties with the visibility of the Buttonizer button on your WordPress site while using the w2static plugin, and you suspect that Buttonizer&amp;rsquo;s Ajax functionality might be causing the issue, you can attempt to resolve it by disabling the Ajax feature. Below are steps to guide you through the process:&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;1-access-your-wordpress-dashboard&#34;&gt;&lt;span&gt;1. Access Your WordPress Dashboard&lt;/span&gt;&#xA;  &lt;a href=&#34;#1-access-your-wordpress-dashboard&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Log in to your WordPress admin dashboard using your credentials.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Bash Scroll Won&#39;t Work</title>
      <link>https://dimasmaulana.pages.dev/posts/software/bash-scroll-wont-work/</link>
      <pubDate>Thu, 27 Aug 2020 07:36:37 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/software/bash-scroll-wont-work/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/software/">Software</category>
      <description>&lt;p&gt;If you&amp;rsquo;re encountering difficulties scrolling through content in your Bash terminal while using the &lt;code&gt;more&lt;/code&gt; or &lt;code&gt;less&lt;/code&gt; commands, there are several troubleshooting steps you can take to address the issue. These commands are designed to display the contents of files or command outputs one screen at a time. If scrolling isn&amp;rsquo;t functioning as expected, consider the following solutions:&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;1-utilize-keyboard-shortcuts&#34;&gt;&lt;span&gt;1. Utilize Keyboard Shortcuts&lt;/span&gt;&#xA;  &lt;a href=&#34;#1-utilize-keyboard-shortcuts&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;When using the &lt;code&gt;more&lt;/code&gt; or &lt;code&gt;less&lt;/code&gt; commands, you can employ the following keyboard shortcuts to navigate through the displayed content:&lt;/p&gt;</description>
    </item>
    <item>
      <title>WordPress Google Site Kit View Role Permission</title>
      <link>https://dimasmaulana.pages.dev/posts/software/wordpress-google-site-kit-view-role-permission/</link>
      <pubDate>Sat, 08 Aug 2020 13:39:17 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/software/wordpress-google-site-kit-view-role-permission/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/software/">Software</category>
      <description>&lt;p&gt;When using WordPress in conjunction with Google Site Kit, it&amp;rsquo;s important to understand the role permissions that are available for various user roles. Role permissions determine what actions users with different roles can perform within the WordPress dashboard.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;enabling-permissions&#34;&gt;&lt;span&gt;Enabling Permissions&lt;/span&gt;&#xA;  &lt;a href=&#34;#enabling-permissions&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;In WordPress, permissions are typically managed through the use of capabilities. Capabilities are specific actions that users can perform. By assigning different capabilities to different roles, you can control what users are allowed to do.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fixing WordPress Font Error Elements Kit Font Missing on WP2Static WordPress Plugin</title>
      <link>https://dimasmaulana.pages.dev/posts/software/fixing-wordpress-font-error-elements-kit-font-missing-on-wp2static-wordpress-plugin/</link>
      <pubDate>Sat, 01 Aug 2020 10:31:14 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/software/fixing-wordpress-font-error-elements-kit-font-missing-on-wp2static-wordpress-plugin/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/software/">Software</category>
      <description>&lt;p&gt;WordPress is a popular platform for building websites, and its extensibility is enhanced by various plugins. However, sometimes issues may arise, such as missing fonts, which can negatively impact the user experience. In this article, we will guide you through the steps to fix the &amp;ldquo;Elements Kit Font Missing&amp;rdquo; error when using the WP2Static WordPress plugin.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;step-1-identify-the-problem&#34;&gt;&lt;span&gt;Step 1: Identify the Problem&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-1-identify-the-problem&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;The error message suggests that fonts are missing from the Elements Kit Lite plugin, specifically two WOFF files. These fonts are essential for displaying the correct typography on your website.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Viewing Crash Logs on macOS</title>
      <link>https://dimasmaulana.pages.dev/posts/development/viewing-crash-logs-on-macos/</link>
      <pubDate>Sat, 18 Jul 2020 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/viewing-crash-logs-on-macos/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;macOS keeps crash logs to help diagnose and troubleshoot issues with applications and system services. These logs can provide valuable information when you&amp;rsquo;re experiencing problems or when an application unexpectedly quits. Here&amp;rsquo;s how to view crash logs on macOS:&lt;/p&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;using-the-finder&#34;&gt;&lt;span&gt;Using the Finder:&lt;/span&gt;&#xA;  &lt;a href=&#34;#using-the-finder&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Open Finder&lt;/strong&gt;: Click on the Finder icon in the Dock or press &lt;code&gt;Command + Space&lt;/code&gt;, then type &amp;ldquo;Finder&amp;rdquo; and hit &lt;code&gt;Return&lt;/code&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Refresh the Hosts File on a Mac</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-refresh-the-hosts-file-on-a-mac/</link>
      <pubDate>Sat, 11 Jul 2020 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-refresh-the-hosts-file-on-a-mac/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;The Hosts file on a Mac is a plain text file that maps hostnames to IP addresses. It can be useful for various purposes, such as blocking websites or redirecting domain names. If you&amp;rsquo;ve made changes to your Hosts file and they&amp;rsquo;re not taking effect, you may need to refresh the file or clear the DNS cache. Here&amp;rsquo;s how you can do it using the Terminal:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Open Terminal&lt;/strong&gt;: You can find Terminal in the Utilities folder within the Applications folder, or you can quickly access it using Spotlight (Cmd + Space, then type &amp;ldquo;Terminal&amp;rdquo;).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Forward All Parameters on Bash</title>
      <link>https://dimasmaulana.pages.dev/posts/development/forward-all-parameters-on-bash/</link>
      <pubDate>Fri, 10 Jul 2020 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/forward-all-parameters-on-bash/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In Bash, you can use the &lt;code&gt;&amp;quot;$@&amp;quot;&lt;/code&gt; special variable to forward all the parameters passed to a script or function. This allows you to pass all the arguments received by your script or function to another command. Here&amp;rsquo;s how you can use &lt;code&gt;&amp;quot;$@&amp;quot;&lt;/code&gt; in a Bash script or function:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;#!/bin/bash&#xA;&#xA;# Define a function that forwards all parameters to another command&#xA;forward_parameters() {&#xA;  # Call the desired command with all the parameters passed to this function&#xA;  some_command &amp;#34;$@&amp;#34;&#xA;}&#xA;&#xA;# Call the function and pass all the script&amp;#39;s arguments to it&#xA;forward_parameters &amp;#34;$@&amp;#34;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;In this example:&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Install and Use WordPress CLI (wp-cli)</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-install-and-use-wordpress-cli-wp-cli/</link>
      <pubDate>Fri, 10 Jul 2020 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-install-and-use-wordpress-cli-wp-cli/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;WordPress CLI, or wp-cli, is a powerful command-line tool that allows you to manage your WordPress websites directly from the terminal. It&amp;rsquo;s particularly useful for tasks like plugin installation, theme management, and database maintenance. In this guide, we&amp;rsquo;ll walk you through the installation and basic usage of wp-cli on a Linux system.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;prerequisites&#34;&gt;&lt;span&gt;Prerequisites&lt;/span&gt;&#xA;  &lt;a href=&#34;#prerequisites&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Before you begin, ensure that you have the following prerequisites in place:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Read Env File Using Bash</title>
      <link>https://dimasmaulana.pages.dev/posts/development/read-env-file-using-bash/</link>
      <pubDate>Fri, 10 Jul 2020 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/read-env-file-using-bash/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;It looks like you&amp;rsquo;re trying to read the contents of a &lt;code&gt;.env&lt;/code&gt; file using a bash script. The provided script uses the &lt;code&gt;source&lt;/code&gt; command to load the variables from the &lt;code&gt;.env&lt;/code&gt; file into the current shell environment. Additionally, it uses &lt;code&gt;set -o allexport&lt;/code&gt; to automatically export all subsequently defined variables to the environment.&lt;/p&gt;&#xA;&lt;p&gt;Here&amp;rsquo;s a breakdown of what each part of the script does:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;set -o allexport&lt;/code&gt;: This command enables the &lt;strong&gt;allexport&lt;/strong&gt; option, which means that any variable defined after this point will be automatically exported to the environment. In this case, it&amp;rsquo;s used to ensure that the variables read from the &lt;code&gt;.env&lt;/code&gt; file will be available to the rest of the script and any subsequent commands.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Bash Find and Replace (Substitute) String in a File</title>
      <link>https://dimasmaulana.pages.dev/posts/development/bash-find-and-replace-substitute-string-in-a-file/</link>
      <pubDate>Thu, 09 Jul 2020 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/bash-find-and-replace-substitute-string-in-a-file/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In Bash, you can use the &lt;code&gt;sed&lt;/code&gt; command to find and replace (substitute) strings within a file. This is a powerful text manipulation tool that allows you to make changes to a file&amp;rsquo;s content. Below, we&amp;rsquo;ll go over various examples of using &lt;code&gt;sed&lt;/code&gt; for find and replace operations.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;general-syntax&#34;&gt;&lt;span&gt;General Syntax&lt;/span&gt;&#xA;  &lt;a href=&#34;#general-syntax&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;The basic syntax for using &lt;code&gt;sed&lt;/code&gt; to find and replace is as follows:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Checking for Open and Used Ports</title>
      <link>https://dimasmaulana.pages.dev/posts/development/checking-for-open-and-used-ports/</link>
      <pubDate>Thu, 09 Jul 2020 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/checking-for-open-and-used-ports/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;When managing a system, it&amp;rsquo;s essential to know which ports are open and in use. This information can be vital for security and troubleshooting purposes. Here are several methods to check for open and used ports on a system, depending on your operating system and preference.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;option-1-using-the-lsof-command&#34;&gt;&lt;span&gt;Option 1: Using the &lt;code&gt;lsof&lt;/code&gt; Command&lt;/span&gt;&#xA;  &lt;a href=&#34;#option-1-using-the-lsof-command&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;The &lt;code&gt;lsof&lt;/code&gt; command (List Open Files) is a versatile tool for listing information about files and processes. It can also be used to identify open network ports. Below are examples of how to use &lt;code&gt;lsof&lt;/code&gt;:&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Create HTTP Basic Authentication with .htpasswd and .htaccess in Apache</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-create-http-basic-authentication-with-htpasswd-and-htaccess-in-apache/</link>
      <pubDate>Thu, 09 Jul 2020 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-create-http-basic-authentication-with-htpasswd-and-htaccess-in-apache/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;HTTP Basic Authentication is a simple yet effective way to secure web pages or directories on your Apache web server. It requires users to enter a username and password to access protected content. In this guide, we&amp;rsquo;ll walk you through the steps to set up HTTP Basic Authentication using &lt;code&gt;.htpasswd&lt;/code&gt; and &lt;code&gt;.htaccess&lt;/code&gt; files on an Apache web server.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;prerequisites&#34;&gt;&lt;span&gt;Prerequisites&lt;/span&gt;&#xA;  &lt;a href=&#34;#prerequisites&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Before you begin, ensure you have the following:&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Restore Deleted or Broken Apple Notes on Mac</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-restore-deleted-or-broken-apple-notes-on-mac/</link>
      <pubDate>Wed, 08 Jul 2020 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-restore-deleted-or-broken-apple-notes-on-mac/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;If you&amp;rsquo;ve accidentally deleted or encountered issues with your Apple Notes on your Mac, don&amp;rsquo;t worry; there&amp;rsquo;s a way to restore them. Apple Notes are not always stored in the obvious location, so follow these steps to recover your lost text or notes:&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Before proceeding, make sure you have a Time Machine (TM) backup of your Mac, as this method relies on it.&lt;/p&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;1-quit-the-notes-app-and-disconnect-from-the-internet&#34;&gt;&lt;span&gt;1. Quit the Notes App and Disconnect from the Internet&lt;/span&gt;&#xA;  &lt;a href=&#34;#1-quit-the-notes-app-and-disconnect-from-the-internet&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;ul&gt;&#xA;&lt;li&gt;First, close the Notes app if it&amp;rsquo;s open.&lt;/li&gt;&#xA;&lt;li&gt;Turn off your Wi-Fi or disconnect from the Internet to prevent your old notes from syncing during the restoration process.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;2-locate-the-apple-notes-folder&#34;&gt;&lt;span&gt;2. Locate the Apple Notes Folder&lt;/span&gt;&#xA;  &lt;a href=&#34;#2-locate-the-apple-notes-folder&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;ul&gt;&#xA;&lt;li&gt;Your iCloud notes are not stored in the typical &lt;code&gt;~/Library/Containers/com.apple.Notes&lt;/code&gt; location.&lt;/li&gt;&#xA;&lt;li&gt;Instead, navigate to &lt;code&gt;~/Library/Group Containers/group.com.apple.notes&lt;/code&gt;. This is where your iCloud-synced notes are stored.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;3-create-a-backup-of-the-notes-folder&#34;&gt;&lt;span&gt;3. Create a Backup of the Notes Folder&lt;/span&gt;&#xA;  &lt;a href=&#34;#3-create-a-backup-of-the-notes-folder&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;ul&gt;&#xA;&lt;li&gt;Copy the &lt;code&gt;group.com.apple.notes&lt;/code&gt; folder to a safe location, like your Desktop. This step ensures that you have a backup of your current notes configuration.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;4-restore-the-notes-folder-from-time-machine-backup&#34;&gt;&lt;span&gt;4. Restore the Notes Folder from Time Machine Backup&lt;/span&gt;&#xA;  &lt;a href=&#34;#4-restore-the-notes-folder-from-time-machine-backup&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;ul&gt;&#xA;&lt;li&gt;Access your Time Machine backup system.&lt;/li&gt;&#xA;&lt;li&gt;Locate and restore the &lt;code&gt;group.com.apple.notes&lt;/code&gt; folder to its original location, &lt;code&gt;~/Library/Group Containers/&lt;/code&gt;. This will revert your Notes app to a previous state where your lost notes should be available.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;5-open-the-notes-app&#34;&gt;&lt;span&gt;5. Open the Notes App&lt;/span&gt;&#xA;  &lt;a href=&#34;#5-open-the-notes-app&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;ul&gt;&#xA;&lt;li&gt;Launch the Notes app to access your restored notes.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;6-copy-and-paste-the-lost-text&#34;&gt;&lt;span&gt;6. Copy and Paste the Lost Text&lt;/span&gt;&#xA;  &lt;a href=&#34;#6-copy-and-paste-the-lost-text&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;ul&gt;&#xA;&lt;li&gt;To recover your lost text or notes, simply copy the content you need from the restored Notes app and paste it into another document, such as TextEdit.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;7-quit-the-notes-app-again&#34;&gt;&lt;span&gt;7. Quit the Notes App Again&lt;/span&gt;&#xA;  &lt;a href=&#34;#7-quit-the-notes-app-again&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;ul&gt;&#xA;&lt;li&gt;Close the Notes app once you&amp;rsquo;ve copied the desired text.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;8-delete-the-restored-notes-folder&#34;&gt;&lt;span&gt;8. Delete the Restored Notes Folder&lt;/span&gt;&#xA;  &lt;a href=&#34;#8-delete-the-restored-notes-folder&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;ul&gt;&#xA;&lt;li&gt;Delete the &lt;code&gt;group.com.apple.notes&lt;/code&gt; folder that you restored from your Desktop. This step is essential to ensure that you&amp;rsquo;re using the restored version of the Notes app.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;9-move-the-original-notes-folder-back&#34;&gt;&lt;span&gt;9. Move the Original Notes Folder Back&lt;/span&gt;&#xA;  &lt;a href=&#34;#9-move-the-original-notes-folder-back&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;ul&gt;&#xA;&lt;li&gt;Move the &lt;code&gt;group.com.apple.notes&lt;/code&gt; folder from your Desktop back to its original location, &lt;code&gt;~/Library/Group Containers/&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;10-reopen-the-notes-app&#34;&gt;&lt;span&gt;10. Reopen the Notes App&lt;/span&gt;&#xA;  &lt;a href=&#34;#10-reopen-the-notes-app&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;ul&gt;&#xA;&lt;li&gt;Launch the Notes app once more. You should now have access to your restored notes.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;11-reconnect-to-the-internet&#34;&gt;&lt;span&gt;11. Reconnect to the Internet&lt;/span&gt;&#xA;  &lt;a href=&#34;#11-reconnect-to-the-internet&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;ul&gt;&#xA;&lt;li&gt;Finally, turn your Wi-Fi or internet connection back on to allow your notes to sync with iCloud.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;By following these steps, you should be able to restore your deleted or broken Apple Notes on your Mac, ensuring that your important information is once again accessible.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Reset LaunchPad Mac Os</title>
      <link>https://dimasmaulana.pages.dev/posts/development/reset-launchpad-mac-os/</link>
      <pubDate>Wed, 08 Jul 2020 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/reset-launchpad-mac-os/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;You want to reset the Launchpad on your macOS using a terminal command. To make it easier for you, here&amp;rsquo;s a breakdown of the command you provided:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;# Reset Launchpad on macOS&#xA;&#xA;To reset the Launchpad on macOS, you can use the following terminal command:&#xA;&#xA;```shell&#xA;defaults write com.apple.dock ResetLaunchPad -bool true; killall Dock&lt;/code&gt;&lt;/pre&gt;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;defaults write&lt;/strong&gt;: This part of the command is used to write a value to a property list (.plist) file. In this case, you are writing a value to the com.apple.dock property list.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Troubleshooting Keyboard Suddenly Not Working But Connection Light Indicator Still Turned On Ativ Smart PC Pro</title>
      <link>https://dimasmaulana.pages.dev/posts/software/troubleshooting-keyboard-suddenly-not-working-but-connection-light-indicator-still-turned-on-ativ-smart-pc-pro/</link>
      <pubDate>Thu, 02 Jul 2020 07:22:02 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/software/troubleshooting-keyboard-suddenly-not-working-but-connection-light-indicator-still-turned-on-ativ-smart-pc-pro/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/software/">Software</category>
      <description>&lt;p&gt;If your keyboard suddenly stops working on your Ativ Smart PC Pro, but the connection light indicator is still turned on, it can be frustrating. However, there are several steps you can take to troubleshoot and potentially resolve the issue. Follow the steps below:&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;step-1-check-physical-connections&#34;&gt;&lt;span&gt;Step 1: Check Physical Connections&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-1-check-physical-connections&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Before diving into software-related solutions, it&amp;rsquo;s essential to ensure that there are no loose or damaged physical connections causing the problem. Follow these steps:&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Block IP By Country and Allow Uptime Monitor</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-block-ip-by-country-and-allow-uptime-monitor/</link>
      <pubDate>Wed, 03 Jun 2020 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-block-ip-by-country-and-allow-uptime-monitor/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In this guide, we will walk you through the steps to block traffic from specific countries using Cloudflare while allowing access to your uptime monitor IPs. We will cover how to achieve this both in Cloudflare&amp;rsquo;s Firewall Rules and on an Apache web server.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;cloudflare-firewall-rules&#34;&gt;&lt;span&gt;Cloudflare Firewall Rules&lt;/span&gt;&#xA;  &lt;a href=&#34;#cloudflare-firewall-rules&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;h3 class=&#34;heading-element&#34; id=&#34;step-1-log-in-to-cloudflare&#34;&gt;&lt;span&gt;Step 1: Log in to Cloudflare&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-1-log-in-to-cloudflare&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;ol&gt;&#xA;&lt;li&gt;Go to &lt;a href=&#34;https://www.cloudflare.com&#34; target=&#34;_blank&#34; rel=&#34;external nofollow noopener noreferrer&#34;&gt;Cloudflare&lt;/a&gt; and log in to your account.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;step-2-access-firewall-rules&#34;&gt;&lt;span&gt;Step 2: Access Firewall Rules&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-2-access-firewall-rules&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;In the Cloudflare dashboard, click on your domain.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Connect VPN via shell Mac</title>
      <link>https://dimasmaulana.pages.dev/posts/development/connect-vpn-via-shell-mac/</link>
      <pubDate>Mon, 11 May 2020 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/connect-vpn-via-shell-mac/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;To connect to a VPN via the shell on a Mac, you can use the &lt;code&gt;networksetup&lt;/code&gt; command, as you&amp;rsquo;ve mentioned. However, please note that the commands you provided seem to be for setting up a PPPoE service, not for connecting to a VPN. If you want to connect to a VPN, you&amp;rsquo;ll need to use a different command. Below are the steps to connect to a VPN via the command line on macOS:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Choosing Perfect Email Address</title>
      <link>https://dimasmaulana.pages.dev/posts/productivity/choosing-perfect-email-address/</link>
      <pubDate>Wed, 29 Apr 2020 10:27:28 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/productivity/choosing-perfect-email-address/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/productivity/">Productivity</category>
      <description>&lt;p&gt;As we navigate the world of online communication, it&amp;rsquo;s essential to maintain a professional yet personal email address that separates our work and personal lives. In this article, we&amp;rsquo;ll explore the significance of having a business personal email address and discuss some best practices for choosing one.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;why-have-a-business-personal-email-address&#34;&gt;&lt;span&gt;Why Have a Business Personal Email Address?&lt;/span&gt;&#xA;  &lt;a href=&#34;#why-have-a-business-personal-email-address&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Having a dedicated email address for your business or profession is crucial for several reasons:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Clearing Old Simulator Files in Xcode</title>
      <link>https://dimasmaulana.pages.dev/posts/development/clearing-old-simulator-files-in-xcode/</link>
      <pubDate>Thu, 23 Apr 2020 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/clearing-old-simulator-files-in-xcode/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;Over time, Xcode simulators can accumulate unused or outdated files, taking up valuable disk space on your machine. One effective way to free up space is by removing unavailable simulators using the &lt;code&gt;xcrun simctl&lt;/code&gt; command-line tool.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;using-xcrun-simctl-to-delete-unavailable-simulators&#34;&gt;&lt;span&gt;Using &lt;code&gt;xcrun simctl&lt;/code&gt; to Delete Unavailable Simulators&lt;/span&gt;&#xA;  &lt;a href=&#34;#using-xcrun-simctl-to-delete-unavailable-simulators&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;To remove unavailable simulators and their associated files, follow these steps:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Troubleshooting Unable to Install Ruby via rbenv Fixing Errors with cctools</title>
      <link>https://dimasmaulana.pages.dev/posts/development/troubleshooting-unable-to-install-ruby-via-rbenv-fixing-errors-with-cctools/</link>
      <pubDate>Thu, 09 Apr 2020 09:45:04 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/troubleshooting-unable-to-install-ruby-via-rbenv-fixing-errors-with-cctools/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;If you are encountering issues while trying to install Ruby via rbenv and see errors related to &amp;ldquo;cctools,&amp;rdquo; this article will guide you through the troubleshooting process to fix the problem. The error message you might encounter is:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;/usr/local/Cellar/cctools/855/bin/ranlib: object: apps/libapps.a(app_rand.o) malformed object (unknown load command 1)&#xA;ar: internal ranlib command failed&#xA;make[1]: *** [apps/libapps.a] Error 1&#xA;make: *** [all] Error 2&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The &amp;ldquo;cctools&amp;rdquo; package could potentially conflict with the Ruby installation process, causing this error. To resolve the issue, we will walk through the steps to uninstall the &amp;ldquo;cctools&amp;rdquo; package and proceed with installing Ruby via rbenv.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Install and Upgrade Google Chrome Browser on Ubuntu Server via Terminal</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-install-and-upgrade-google-chrome-browser-on-ubuntu-server-via-terminal/</link>
      <pubDate>Wed, 08 Apr 2020 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-install-and-upgrade-google-chrome-browser-on-ubuntu-server-via-terminal/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;Google Chrome is one of the most popular web browsers, and you may want to install or upgrade it on your Ubuntu Server. However, since Ubuntu Server doesn&amp;rsquo;t have a graphical user interface (GUI), you&amp;rsquo;ll need to install Chrome via the command line. This guide will walk you through the process of installing Google Chrome and keeping it up to date on your Ubuntu Server.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;prerequisites&#34;&gt;&lt;span&gt;Prerequisites&lt;/span&gt;&#xA;  &lt;a href=&#34;#prerequisites&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Before you begin, ensure that you have the following:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Troubleshooting CocoaPods Installation Error on macOS Catalina</title>
      <link>https://dimasmaulana.pages.dev/posts/development/troubleshooting-cocoapods-installation-error-on-macos-catalina/</link>
      <pubDate>Tue, 07 Apr 2020 07:23:51 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/troubleshooting-cocoapods-installation-error-on-macos-catalina/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <category domain="https://dimasmaulana.pages.dev/categories/troubleshooting/">Troubleshooting</category>
      <description>&lt;p&gt;If you&amp;rsquo;re encountering an error related to &lt;code&gt;ffi&lt;/code&gt; while installing CocoaPods on macOS Catalina, you can follow these steps to resolve the issue.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;step-1-install-ffi-with-a-specific-version&#34;&gt;&lt;span&gt;Step 1: Install FFI with a specific version**&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-1-install-ffi-with-a-specific-version&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;sudo gem install ffi -v &amp;#39;1.10.0&amp;#39;&lt;/code&gt;&lt;/pre&gt;&lt;h2 class=&#34;heading-element&#34; id=&#34;step-2-install-cocoapods&#34;&gt;&lt;span&gt;Step 2: Install CocoaPods**&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-2-install-cocoapods&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;sudo gem install cocoapods -n /usr/local/bin&lt;/code&gt;&lt;/pre&gt;&lt;h2 class=&#34;heading-element&#34; id=&#34;step-3-install-cocoapods-binary&#34;&gt;&lt;span&gt;Step 3: Install CocoaPods Binary**&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-3-install-cocoapods-binary&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;sudo gem install cocoapods-binary&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;If you&amp;rsquo;re still facing issues after following the above steps, you can try uninstalling all gems and then reinstalling CocoaPods. Here&amp;rsquo;s how you can do it:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fixing ffi error when installing CocoaPods on macOS Catalina</title>
      <link>https://dimasmaulana.pages.dev/posts/development/fixing-ffi-error-when-installing-cocoapods-on-macos-catalina/</link>
      <pubDate>Tue, 07 Apr 2020 07:23:32 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/fixing-ffi-error-when-installing-cocoapods-on-macos-catalina/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;If you encounter an error related to &amp;ldquo;ffi&amp;rdquo; when trying to install CocoaPods on macOS Catalina, follow these steps to resolve the issue:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Install ffi version 1.10.0:&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;pre&gt;&lt;code&gt;sudo gem install ffi -v &amp;#39;1.10.0&amp;#39;&lt;/code&gt;&lt;/pre&gt;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;Install CocoaPods:&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;pre&gt;&lt;code&gt;sudo gem install cocoapods -n /usr/local/bin&lt;/code&gt;&lt;/pre&gt;&lt;ol start=&#34;3&#34;&gt;&#xA;&lt;li&gt;Install CocoaPods-binary:&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;pre&gt;&lt;code&gt;sudo gem install cocoapods-binary&lt;/code&gt;&lt;/pre&gt;&lt;ol start=&#34;4&#34;&gt;&#xA;&lt;li&gt;If you still face issues after following the above steps, it&amp;rsquo;s recommended to uninstall all gems and then reinstall them:&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;pre&gt;&lt;code&gt;sudo gem list --no-version | xargs -L 1 sudo gem uninstall -n /usr/local/bin -ax&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Note: The command above will uninstall all gems from the default gem path. If you have gems installed in other locations, you may need to handle those manually.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Disk Cleanup Pro Keeps Removing iCloud Profile Picture</title>
      <link>https://dimasmaulana.pages.dev/posts/software/disk-cleanup-pro-keeps-removing-icloud-profile-picture/</link>
      <pubDate>Thu, 26 Mar 2020 07:48:56 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/software/disk-cleanup-pro-keeps-removing-icloud-profile-picture/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/software/">Software</category>
      <description>&lt;p&gt;If you&amp;rsquo;re facing the issue where Disk Cleanup Pro consistently removes your iCloud profile picture and you want to prevent this from happening, here&amp;rsquo;s a solution that involves excluding specific caches from being deleted.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;problem-description&#34;&gt;&lt;span&gt;Problem Description&lt;/span&gt;&#xA;  &lt;a href=&#34;#problem-description&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Disk Cleanup Pro is a utility program designed to help users free up disk space on their computers by removing unnecessary files and caches. However, it appears to be deleting the iCloud profile picture, causing inconvenience for users who wish to keep their profile picture intact.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Incorrect comma on decimal in GNUCash for Mac Big Sur</title>
      <link>https://dimasmaulana.pages.dev/posts/software/incorrect-comma-on-decimal-in-gnucash-for-mac-big-sur/</link>
      <pubDate>Wed, 18 Mar 2020 00:03:55 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/software/incorrect-comma-on-decimal-in-gnucash-for-mac-big-sur/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/software/">Software</category>
      <category domain="https://dimasmaulana.pages.dev/categories/troubleshooting/">Troubleshooting</category>
      <description>&lt;p&gt;If you&amp;rsquo;re encountering an issue with an incorrect comma on the decimal in GNUCash for Mac Big Sur, don&amp;rsquo;t worry! Here&amp;rsquo;s a step-by-step guide to help you address this problem.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;method-1-terminal-commands&#34;&gt;&lt;span&gt;Method 1: Terminal Commands&lt;/span&gt;&#xA;  &lt;a href=&#34;#method-1-terminal-commands&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;Open the Terminal application&lt;/strong&gt; on your Mac. You can find it in the &amp;ldquo;Utilities&amp;rdquo; folder within the &amp;ldquo;Applications&amp;rdquo; folder.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Run the following command&lt;/strong&gt; in the Terminal:&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;pre&gt;&lt;code&gt;defaults write -app Gnucash AppleLocale &amp;#39;en_DE@currency=IDR&amp;#39;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This command sets the AppleLocale for GNUCash to &amp;rsquo;en_DE&amp;rsquo; with the currency as &amp;lsquo;IDR&amp;rsquo;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Delete a Local Time Machine Snapshot on macOS</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-delete-a-local-time-machine-snapshot-on-macos/</link>
      <pubDate>Wed, 04 Mar 2020 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-delete-a-local-time-machine-snapshot-on-macos/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;Time Machine is a powerful backup tool on macOS that automatically creates local snapshots of your data in addition to regular backups on an external drive. These local snapshots can be helpful, but they can also take up valuable disk space. If you need to delete a local Time Machine snapshot on your Mac, follow these steps.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;step-1-open-terminal&#34;&gt;&lt;span&gt;Step 1: Open Terminal&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-1-open-terminal&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;To delete a local snapshot, you&amp;rsquo;ll need to use Terminal, which is a command-line interface on macOS. You can find Terminal in the &amp;ldquo;Utilities&amp;rdquo; folder within the &amp;ldquo;Applications&amp;rdquo; folder.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Managing Essential Packages in Ubuntu with debfoster</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/managing-essential-packages-in-ubuntu-with-debfoster/</link>
      <pubDate>Wed, 12 Feb 2020 11:43:19 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/managing-essential-packages-in-ubuntu-with-debfoster/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <description>&lt;p&gt;When using Ubuntu, it&amp;rsquo;s important to keep your system clean and organized by removing orphaned packages and unwanted dependencies. One useful tool for managing packages in Ubuntu is debfoster. In this article, we&amp;rsquo;ll explore how to use debfoster to keep only essential packages, remove unwanted dependencies, and maintain a tidy Ubuntu installation.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;installation&#34;&gt;&lt;span&gt;Installation&lt;/span&gt;&#xA;  &lt;a href=&#34;#installation&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;By default, debfoster may not be installed on your Ubuntu system. To install it, open a terminal and run the following command:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Installing Appium with Root User on Ubuntu - Permission Error</title>
      <link>https://dimasmaulana.pages.dev/posts/software/installing-appium-with-root-user-on-ubuntu---permission-error/</link>
      <pubDate>Mon, 10 Feb 2020 13:02:57 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/software/installing-appium-with-root-user-on-ubuntu---permission-error/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/software/">Software</category>
      <category domain="https://dimasmaulana.pages.dev/categories/troubleshooting/">Troubleshooting</category>
      <description>&lt;p&gt;When installing Appium on Ubuntu using the root user, you may encounter a permission error. However, this issue can be resolved by following a few steps. This article will guide you through the process of installing Appium successfully on Ubuntu using the root user.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;prerequisites&#34;&gt;&lt;span&gt;Prerequisites&lt;/span&gt;&#xA;  &lt;a href=&#34;#prerequisites&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Before proceeding with the installation, make sure you have the following prerequisites:&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Free Up Disk Space When Unable to Install Xcode</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-free-up-disk-space-when-unable-to-install-xcode/</link>
      <pubDate>Tue, 14 Jan 2020 19:04:39 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-free-up-disk-space-when-unable-to-install-xcode/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <category domain="https://dimasmaulana.pages.dev/categories/troubleshooting/">Troubleshooting</category>
      <description>&lt;p&gt;When trying to install Xcode, one common issue that users encounter is running out of disk space. This can be frustrating, especially if you need Xcode for development purposes. However, there are steps you can take to free up disk space and resolve this issue. One effective method is to remove the &lt;code&gt;com.apple.appstore&lt;/code&gt; folder from the &lt;code&gt;~/Library/Caches&lt;/code&gt; directory. This article will guide you through the process of deleting this folder to make space for Xcode installation.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Difference Between Programmer, Developer and Software Engineer</title>
      <link>https://dimasmaulana.pages.dev/posts/development/difference-between-programmer-developer-and-software-engineer/</link>
      <pubDate>Sun, 29 Dec 2019 06:31:54 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/difference-between-programmer-developer-and-software-engineer/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;Here&amp;rsquo;s a table outlining some of the key differences between programmers, developers, and software engineers:&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;&lt;/th&gt;&#xA;          &lt;th&gt;Programmer&lt;/th&gt;&#xA;          &lt;th&gt;Developer&lt;/th&gt;&#xA;          &lt;th&gt;Software Engineer&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Focus&lt;/td&gt;&#xA;          &lt;td&gt;Writing code&lt;/td&gt;&#xA;          &lt;td&gt;Building software systems&lt;/td&gt;&#xA;          &lt;td&gt;Designing and developing complex software systems&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Skills&lt;/td&gt;&#xA;          &lt;td&gt;Expertise in one or more programming languages&lt;/td&gt;&#xA;          &lt;td&gt;Proficiency in a wide range of programming languages and technologies&lt;/td&gt;&#xA;          &lt;td&gt;Strong foundation in computer science principles and software engineering methodologies&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Responsibility&lt;/td&gt;&#xA;          &lt;td&gt;Implementing code based on specifications&lt;/td&gt;&#xA;          &lt;td&gt;Developing software solutions that meet business needs and solve problems&lt;/td&gt;&#xA;          &lt;td&gt;Ensuring software systems meet functional and non-functional requirements and are scalable, reliable, and maintainable&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Role&lt;/td&gt;&#xA;          &lt;td&gt;Typically works on smaller projects or specific programming tasks&lt;/td&gt;&#xA;          &lt;td&gt;Works on larger software projects, collaborating with a team to create a complete solution&lt;/td&gt;&#xA;          &lt;td&gt;Often takes a leadership role in software development projects and is responsible for the design, architecture, and implementation of complex software systems&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Education&lt;/td&gt;&#xA;          &lt;td&gt;Can have a degree in computer science, but not always required&lt;/td&gt;&#xA;          &lt;td&gt;Usually has a degree in computer science, software engineering, or a related field&lt;/td&gt;&#xA;          &lt;td&gt;Typically has a degree in software engineering or computer science with a focus on software engineering&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Job Titles&lt;/td&gt;&#xA;          &lt;td&gt;Programmer Analyst, Application Programmer, Software Developer&lt;/td&gt;&#xA;          &lt;td&gt;Full Stack Developer, Web Developer, Mobile Developer&lt;/td&gt;&#xA;          &lt;td&gt;Software Engineer, Senior Software Engineer, Lead Software Engineer&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;</description>
    </item>
    <item>
      <title>iPhone Keeps Connecting and Disconnecting</title>
      <link>https://dimasmaulana.pages.dev/posts/software/iphone-keeps-connecting-and-disconnecting/</link>
      <pubDate>Fri, 27 Dec 2019 09:20:23 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/software/iphone-keeps-connecting-and-disconnecting/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/software/">Software</category>
      <category domain="https://dimasmaulana.pages.dev/categories/troubleshooting/">Troubleshooting</category>
      <description>&lt;p&gt;If your iPhone keeps connecting and disconnecting from your computer or charger, it can be a frustrating experience. This issue can be caused by various factors, including software glitches or hardware problems. In this article, we will walk you through some troubleshooting steps to help you resolve the issue. We will also discuss two permanent solutions: resetting the System Management Controller (SMC) and resetting the Non-Volatile Random-Access Memory (NVRAM) on your iPhone.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Reset Mac Dock Settings</title>
      <link>https://dimasmaulana.pages.dev/posts/development/reset-mac-dock-settings/</link>
      <pubDate>Thu, 28 Nov 2019 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/reset-mac-dock-settings/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;If you need to reset your Mac&amp;rsquo;s Dock settings to their default values, you can use the following commands:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;defaults delete com.apple.dock&#xA;killall Dock&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This will remove any customizations you&amp;rsquo;ve made to your Dock and return it to its default configuration.&lt;/p&gt;&#xA;&lt;h1 class=&#34;heading-element&#34; id=&#34;set-mac-dock-icon-size&#34;&gt;&lt;span&gt;Set Mac Dock Icon Size&lt;/span&gt;&#xA;  &lt;a href=&#34;#set-mac-dock-icon-size&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h1&gt;&lt;p&gt;You can adjust the icon size of your Mac&amp;rsquo;s Dock to your preference. Here are commands to set different icon sizes:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Creating Large Files Using Terminal</title>
      <link>https://dimasmaulana.pages.dev/posts/development/creating-large-files-using-terminal/</link>
      <pubDate>Fri, 01 Nov 2019 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/creating-large-files-using-terminal/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;To create large files on macOS, you can use the Terminal app. Follow these steps:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Open Terminal&lt;/strong&gt;: You can find Terminal in the Utilities folder within the Applications folder, or simply search for it using Spotlight.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Navigate to the Desired Directory&lt;/strong&gt;: Use the &lt;code&gt;cd&lt;/code&gt; command to navigate to the directory where you want to create the large file. For example, to navigate to your home directory, use:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;cd ~&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Create the Large File&lt;/strong&gt;: To create a large file filled with zeroes, you can use the &lt;code&gt;dd&lt;/code&gt; command. The following command creates a file named &amp;ldquo;hugefile&amp;rdquo; with a block size of 100MB:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Securely Erasing Free Space on a Mac Hard Drive</title>
      <link>https://dimasmaulana.pages.dev/posts/development/securely-erasing-free-space-on-a-mac-hard-drive/</link>
      <pubDate>Thu, 03 Oct 2019 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/securely-erasing-free-space-on-a-mac-hard-drive/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;When you delete files from your Mac&amp;rsquo;s hard drive, they are not immediately erased; instead, the space they occupied is marked as available for new data. Until new data overwrites that space, the old files can potentially be recovered using specialized software. To ensure that your sensitive data is completely irrecoverable, you can use the &lt;code&gt;diskutil secureErase&lt;/code&gt; command in the Terminal.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Important Note:&lt;/strong&gt; The following instructions involve using Terminal commands, which can have serious consequences if used incorrectly. Make sure to follow the steps carefully and double-check the commands before executing them.&lt;/p&gt;</description>
    </item>
    <item>
      <title>SSH Tunneling Auto Reconnect Alive</title>
      <link>https://dimasmaulana.pages.dev/posts/development/ssh-tunneling-auto-reconnect-alive/</link>
      <pubDate>Tue, 01 Oct 2019 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/ssh-tunneling-auto-reconnect-alive/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;SSH tunneling is a powerful technique for securely forwarding network traffic from one machine to another. It&amp;rsquo;s commonly used to access resources on a remote server as if they were local, especially in scenarios where you need to securely access services behind a firewall or from a different network. To ensure the SSH tunnel remains stable and automatically reconnects when there are interruptions, you can use tools like &lt;code&gt;autossh&lt;/code&gt; in combination with server and client-side configurations.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Fix Error Uninstalling Due to Missing Original MSI Installer</title>
      <link>https://dimasmaulana.pages.dev/posts/software/how-to-fix-error-uninstalling-due-to-missing-original-msi-installer/</link>
      <pubDate>Sun, 22 Sep 2019 07:28:16 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/software/how-to-fix-error-uninstalling-due-to-missing-original-msi-installer/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/software/">Software</category>
      <description>&lt;p&gt;Sometimes, when trying to uninstall a program, you might encounter an error message stating that the uninstallation is blocked due to a missing original MSI installer. This issue can be frustrating, but there are steps you can take to resolve it. Microsoft provides a tool to help fix problems that block programs from being installed or removed. Here&amp;rsquo;s how to use it:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Download the Troubleshooter:&lt;/strong&gt;&#xA;Visit the following Microsoft support page to download the &amp;ldquo;Program Install and Uninstall Troubleshooter&amp;rdquo;:&#xA;&lt;a href=&#34;https://support.microsoft.com/en-nz/help/17588/windows-fix-problems-that-block-programs-being-installed-or-removed&#34; target=&#34;_blank&#34; rel=&#34;external nofollow noopener noreferrer&#34;&gt;Program Install and Uninstall Troubleshooter&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Unable to Update Xcode Due to Insufficient Space Even with Sufficient Storage</title>
      <link>https://dimasmaulana.pages.dev/posts/development/unable-to-update-xcode-due-to-insufficient-space-even-with-sufficient-storage/</link>
      <pubDate>Sat, 21 Sep 2019 07:01:37 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/unable-to-update-xcode-due-to-insufficient-space-even-with-sufficient-storage/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <category domain="https://dimasmaulana.pages.dev/categories/troubleshooting/">Troubleshooting</category>
      <description>&lt;p&gt;If you are encountering issues while updating Xcode on your Mac, specifically the error message &amp;ldquo;Not Enough Space,&amp;rdquo; despite having ample storage available, there might be a workaround you can try. In some cases, Time Machine local snapshots could be occupying space on your system, preventing the update from proceeding. The following steps outline a potential solution to clear local snapshots and allow the Xcode update to proceed smoothly.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;clearing-time-machine-local-snapshots&#34;&gt;&lt;span&gt;Clearing Time Machine Local Snapshots&lt;/span&gt;&#xA;  &lt;a href=&#34;#clearing-time-machine-local-snapshots&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Open Terminal on your Mac. You can find it in the Applications &amp;gt; Utilities folder or use Spotlight search to locate it quickly.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Change Wordpress URL</title>
      <link>https://dimasmaulana.pages.dev/posts/development/change-wordpress-url/</link>
      <pubDate>Fri, 20 Sep 2019 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/change-wordpress-url/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;You want to change the URL of your WordPress website from &amp;rsquo;example.com&amp;rsquo; to &amp;rsquo;target-example.com&amp;rsquo;. To achieve this, you can follow the provided SQL commands. However, it&amp;rsquo;s essential to be cautious when making direct database changes like this, as it can potentially break your WordPress site if not done correctly. Always back up your database before making any changes.&lt;/p&gt;&#xA;&lt;p&gt;Here&amp;rsquo;s the provided code in Markdown format for better readability:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;### Change WordPress URL&#xA;&#xA;To change the WordPress URL from &amp;#39;example.com&amp;#39; to &amp;#39;target-example.com&amp;#39;, you can use SQL commands to update the necessary database tables. Before proceeding, make sure to back up your WordPress database for safety.&#xA;&#xA;1. Update the `wp_options` table:&#xA;   ```sql&#xA;   UPDATE wp_options SET option_value = replace(option_value, &amp;#39;example.com&amp;#39;, &amp;#39;target-example.com&amp;#39;) WHERE option_name = &amp;#39;home&amp;#39; OR option_name = &amp;#39;siteurl&amp;#39;;&lt;/code&gt;&lt;/pre&gt;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Update the &lt;code&gt;wp_posts&lt;/code&gt; table for post GUIDs:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Updating Chrome Remote Desktop on Docker</title>
      <link>https://dimasmaulana.pages.dev/posts/development/updating-chrome-remote-desktop-on-docker/</link>
      <pubDate>Thu, 12 Sep 2019 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/updating-chrome-remote-desktop-on-docker/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;If you&amp;rsquo;re looking to update Chrome Remote Desktop within a Docker container, you can follow these steps:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Access Your Docker Container:&lt;/strong&gt; First, use the &lt;code&gt;docker exec&lt;/code&gt; command to access the Docker container where Chrome Remote Desktop is installed. Replace &lt;code&gt;container_name&lt;/code&gt; with the actual name of your container.&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;docker exec -it container_name /bin/bash&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Download the Updated Package:&lt;/strong&gt; Once inside the container, utilize &lt;code&gt;wget&lt;/code&gt; to download the latest Chrome Remote Desktop package.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Setting Up Time Machine Backup on Ubuntu Server 18.04 with Samba 4.8</title>
      <link>https://dimasmaulana.pages.dev/posts/development/setting-up-time-machine-backup-on-ubuntu-server-1804-with-samba-48/</link>
      <pubDate>Tue, 10 Sep 2019 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/setting-up-time-machine-backup-on-ubuntu-server-1804-with-samba-48/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;Time Machine is a backup solution developed by Apple for macOS. You can set up a Time Machine backup destination on your Ubuntu Server 18.04 using Samba 4.8 to allow Macs on your network to back up their data. Here&amp;rsquo;s a step-by-step guide to help you achieve this:&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;1-install-samba-48&#34;&gt;&lt;span&gt;1. Install Samba 4.8&lt;/span&gt;&#xA;  &lt;a href=&#34;#1-install-samba-48&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;First, install Samba 4.8 by adding the PPA repository and updating your package list:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Column Width Issue with Negative Section Margin in Elementor</title>
      <link>https://dimasmaulana.pages.dev/posts/software/column-width-issue-with-negative-section-margin-in-elementor/</link>
      <pubDate>Fri, 30 Aug 2019 13:39:57 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/software/column-width-issue-with-negative-section-margin-in-elementor/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/software/">Software</category>
      <description>&lt;p&gt;When using Elementor, you may encounter a problem where the column width appears incorrect when applying a negative margin value to a section. This issue typically occurs when you set a negative margin for the section and expect the column width to adjust accordingly. However, Elementor doesn&amp;rsquo;t automatically recalculate the column width in this scenario.&lt;/p&gt;&#xA;&lt;p&gt;To resolve this problem, you can follow these steps:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Edit the page with Elementor.&lt;/li&gt;&#xA;&lt;li&gt;Locate the section where you have applied the negative margin.&lt;/li&gt;&#xA;&lt;li&gt;Within that section, find the column widget that is affected by the incorrect width.&lt;/li&gt;&#xA;&lt;li&gt;Click on the column widget to select it.&lt;/li&gt;&#xA;&lt;li&gt;In the Elementor left panel, navigate to the Advanced tab.&lt;/li&gt;&#xA;&lt;li&gt;Scroll down to the Custom CSS section.&lt;/li&gt;&#xA;&lt;li&gt;Add the following CSS code to adjust the column width:&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;pre&gt;&lt;code&gt;selector {&#xA;    width: auto !important;&#xA;    padding-left: 10px;&#xA;    padding-right: 10px;&#xA;}&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Replace &lt;code&gt;selector&lt;/code&gt; with the appropriate CSS selector for your column. It may be something like &lt;code&gt;.elementor-column-wrap&lt;/code&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Resize an LVM Logical Volume to Use Maximum Free Space</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-resize-an-lvm-logical-volume-to-use-maximum-free-space/</link>
      <pubDate>Mon, 26 Aug 2019 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-resize-an-lvm-logical-volume-to-use-maximum-free-space/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In Linux, Logical Volume Management (LVM) allows you to dynamically resize logical volumes to efficiently manage your storage. If you have free space available in your Volume Group and want to expand a logical volume to use this space, follow these steps:&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;checking-disk-space&#34;&gt;&lt;span&gt;Checking Disk Space&lt;/span&gt;&#xA;  &lt;a href=&#34;#checking-disk-space&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Before resizing the logical volume, it&amp;rsquo;s essential to check the available free space and the current usage using the &lt;code&gt;df -h&lt;/code&gt; command:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Docker Port Still Open Despite UFW Blocking</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/docker-port-still-open-despite-ufw-blocking/</link>
      <pubDate>Sun, 25 Aug 2019 20:17:30 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/docker-port-still-open-despite-ufw-blocking/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <description>&lt;p&gt;In some cases, users have reported issues where Docker containers continue to have open ports even after configuring the Uncomplicated Firewall (UFW) to block them. This can be a frustrating experience, but there are a few potential solutions to investigate.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;1-using-127001-as-the-host-ip&#34;&gt;&lt;span&gt;1. Using 127.0.0.1 as the Host IP&lt;/span&gt;&#xA;  &lt;a href=&#34;#1-using-127001-as-the-host-ip&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;One possible cause for this issue is the configuration of the Docker container&amp;rsquo;s network settings. By default, Docker containers run in their own isolated network environment, separate from the host machine. When specifying a port in the format &lt;code&gt;127.0.0.1:12100&lt;/code&gt; in your Docker Compose &lt;code&gt;.env&lt;/code&gt; file, you are binding the container port to the loopback interface on the container itself, rather than the host machine. Consequently, UFW might not have any control over this loopback interface.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Creating Compressed Archives for Each Folder with Title</title>
      <link>https://dimasmaulana.pages.dev/posts/development/creating-compressed-archives-for-each-folder-with-title/</link>
      <pubDate>Sat, 24 Aug 2019 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/creating-compressed-archives-for-each-folder-with-title/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;When dealing with a directory full of subdirectories, there might be instances where you want to package each subdirectory&amp;rsquo;s contents into separate compressed files. This can be particularly useful for organization, sharing, or backup purposes. One way to achieve this is by utilizing the power of shell commands, and specifically, the &lt;code&gt;tar&lt;/code&gt; command along with some other utilities.&lt;/p&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;the-command-breakdown&#34;&gt;&lt;span&gt;The Command Breakdown&lt;/span&gt;&#xA;  &lt;a href=&#34;#the-command-breakdown&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;p&gt;The command in question accomplishes this task through a combination of the &lt;code&gt;find&lt;/code&gt; and &lt;code&gt;tar&lt;/code&gt; commands. Here&amp;rsquo;s a breakdown of each component and its role:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Add Elementor on Wordpress OceanWP Modal</title>
      <link>https://dimasmaulana.pages.dev/posts/development/add-elementor-on-wordpress-oceanwp-modal/</link>
      <pubDate>Fri, 23 Aug 2019 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/add-elementor-on-wordpress-oceanwp-modal/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;To create a modal with Elementor in the OceanWP theme using the &amp;ldquo;Anywhere Elementor&amp;rdquo; plugin, you can follow these steps:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Install and Activate Plugins:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;First, make sure you have the OceanWP theme and Elementor plugin installed and activated on your WordPress website.&lt;/li&gt;&#xA;&lt;li&gt;Install and activate the &amp;ldquo;Anywhere Elementor&amp;rdquo; plugin if you haven&amp;rsquo;t already. You can find and install it from the WordPress Plugin Repository.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Create a Modal:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;In your WordPress dashboard, go to the &amp;ldquo;Templates&amp;rdquo; section under &amp;ldquo;Elementor.&amp;rdquo;&lt;/li&gt;&#xA;&lt;li&gt;Click on &amp;ldquo;Add New&amp;rdquo; to create a new template for your modal.&lt;/li&gt;&#xA;&lt;li&gt;Give your template a name and click &amp;ldquo;Create Template.&amp;rdquo;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Design Your Modal:&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Create an Infinite Animation Loop in Elementor Motion</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-create-an-infinite-animation-loop-in-elementor-motion/</link>
      <pubDate>Fri, 23 Aug 2019 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-create-an-infinite-animation-loop-in-elementor-motion/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;If you&amp;rsquo;re using Elementor and want to create an infinite animation loop for an element using the Elementor Motion Effects feature, you can achieve this by applying some custom CSS classes. In this tutorial, we&amp;rsquo;ll guide you through the process step by step.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;step-1-add-the-custom-css&#34;&gt;&lt;span&gt;Step 1: Add the Custom CSS&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-1-add-the-custom-css&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;To create an infinite animation loop, you&amp;rsquo;ll need to add the following custom CSS code to your WordPress website. This code sets the &lt;code&gt;animation-iteration-count&lt;/code&gt; property to &lt;code&gt;infinite&lt;/code&gt;, which means the animation will loop indefinitely:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Modify URL on Wordpress OceanWP Logo Banner</title>
      <link>https://dimasmaulana.pages.dev/posts/development/modify-url-on-wordpress-oceanwp-logo-banner/</link>
      <pubDate>Fri, 23 Aug 2019 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/modify-url-on-wordpress-oceanwp-logo-banner/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;To modify the URL on the WordPress OceanWP logo banner, you can follow these steps:&lt;/p&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;step-1-create-a-child-theme&#34;&gt;&lt;span&gt;Step 1: Create a Child Theme&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-1-create-a-child-theme&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;p&gt;Creating a child theme is essential to ensure that your customizations are not lost when the parent theme is updated. Here&amp;rsquo;s how to create a child theme:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Creating a Default VirtualHost Configuration in Apache</title>
      <link>https://dimasmaulana.pages.dev/posts/development/creating-a-default-virtualhost-configuration-in-apache/</link>
      <pubDate>Thu, 22 Aug 2019 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/creating-a-default-virtualhost-configuration-in-apache/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;When setting up an Apache web server, it&amp;rsquo;s important to handle requests that don&amp;rsquo;t match any specific hostname. This is achieved through a default VirtualHost configuration. Learn how to create a default VirtualHost to efficiently manage such requests.&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;&amp;lt;VirtualHost *:80&amp;gt;&#xA;   ServerName default&#xA;   DocumentRoot /var/www/default&#xA;   &amp;lt;Directory /var/www/default&amp;gt;&#xA;       Options FollowSymLinks&#xA;       AllowOverride None&#xA;       Require all granted&#xA;   &amp;lt;/Directory&amp;gt;&#xA;&amp;lt;/VirtualHost&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;In this guide, you&amp;rsquo;ll discover how to set up the default VirtualHost configuration, enabling your server to handle unmatched requests effectively. This approach ensures a seamless user experience and proper organization of your web server.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Send Email using teminal bash on Ubuntu 18-04</title>
      <link>https://dimasmaulana.pages.dev/posts/development/send-email-using-teminal-bash-on-ubuntu-18-04/</link>
      <pubDate>Wed, 21 Aug 2019 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/send-email-using-teminal-bash-on-ubuntu-18-04/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;The provided command is almost correct for sending an email using the &lt;code&gt;sendEmail&lt;/code&gt; utility in the terminal on Ubuntu 18.04. However, there are a couple of issues with the formatting. Here&amp;rsquo;s the corrected version of the command in markdown format as you requested:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;# Send Email using Terminal Bash on Ubuntu 18.04&#xA;&#xA;First, install the necessary packages:&#xA;&#xA;```bash&#xA;sudo apt install sendEmail libio-socket-ssl-perl libnet-ssleay-perl&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Then, you can use the &lt;code&gt;sendEmail&lt;/code&gt; command to send an email as follows:&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Mute a Video Using FFmpeg</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-mute-a-video-using-ffmpeg/</link>
      <pubDate>Tue, 20 Aug 2019 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-mute-a-video-using-ffmpeg/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In this tutorial, we&amp;rsquo;ll walk you through the process of muting a video using FFmpeg, a powerful command-line tool for video and audio processing. There are several ways to mute a video with FFmpeg, depending on your specific needs. We&amp;rsquo;ll cover muting a single video file and muting multiple video files in a folder while preserving metadata, including GPS information.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;mute-a-single-video-file&#34;&gt;&lt;span&gt;Mute a Single Video File&lt;/span&gt;&#xA;  &lt;a href=&#34;#mute-a-single-video-file&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;To mute a single video file, you can use the following FFmpeg command:&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Return Forbidden if Apache HTTPS is Accessed Directly Using IP</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-return-forbidden-if-apache-https-is-accessed-directly-using-ip/</link>
      <pubDate>Mon, 19 Aug 2019 19:04:39 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-return-forbidden-if-apache-https-is-accessed-directly-using-ip/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <category domain="https://dimasmaulana.pages.dev/categories/troubleshooting/">Troubleshooting</category>
      <description>&lt;p&gt;Here&amp;rsquo;s an example of how you can configure your Apache web server to return a &amp;ldquo;403 Forbidden&amp;rdquo; error if the HTTPS is accessed directly using the IP address. This configuration assumes that you have the &lt;code&gt;mod_ssl&lt;/code&gt; module installed and enabled in your Apache server.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;step-1-create-or-edit-the-apache-configuration-file&#34;&gt;&lt;span&gt;Step 1: Create or Edit the Apache Configuration File&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-1-create-or-edit-the-apache-configuration-file&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Open the Apache configuration file in a text editor. The location of the configuration file may vary depending on your operating system and Apache installation. Common locations include:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Customizing Tmux Behavior and SSH Banner Display</title>
      <link>https://dimasmaulana.pages.dev/posts/development/customizing-tmux-behavior-and-ssh-banner-display/</link>
      <pubDate>Mon, 19 Aug 2019 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/customizing-tmux-behavior-and-ssh-banner-display/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;Tmux is a versatile terminal multiplexer that allows you to manage multiple terminal sessions within a single window. Additionally, you can customize Tmux behavior to suit your preferences and automate tasks. This article presents a collection of Bash scripts designed to customize Tmux behavior and display an SSH banner when starting Tmux. Let&amp;rsquo;s explore each script&amp;rsquo;s purpose and functionality.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;script-1-show-ssh-banner-on-start-tmux&#34;&gt;&lt;span&gt;Script 1: Show SSH Banner on Start Tmux&lt;/span&gt;&#xA;  &lt;a href=&#34;#script-1-show-ssh-banner-on-start-tmux&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;pre&gt;&lt;code&gt;if [[ -z &amp;#34;$TMUX&amp;#34; ]]; then&#xA;    tmux has-session &amp;amp;&amp;gt; /dev/null&#xA;    if [ $? -eq 1 ]; then&#xA;        shopt -q login_shell &amp;amp;&amp;amp; exec tmux new&#xA;        exit&#xA;    else&#xA;        shopt -q login_shell &amp;amp;&amp;amp; exec tmux attach&#xA;        exit&#xA;    fi&#xA;else&#xA;    TMUX_WINDOW=$(tmux display-message -p &amp;#39;#{session_windows}&amp;#39;)&#xA;    if [ $TMUX_WINDOW == &amp;#34;1&amp;#34; ]; then&#xA;        shopt -q login_shell &amp;amp;&amp;amp; run-parts /etc/update-motd.d/&#xA;    fi&#xA;fi&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This script is designed to display an SSH banner when starting Tmux. It checks whether the &lt;code&gt;TMUX&lt;/code&gt; environment variable is empty, which indicates that Tmux is not currently running. If Tmux is not running and the current shell is a login shell, it starts a new Tmux session. If Tmux is already running, it attaches to the existing session. If there&amp;rsquo;s only one window in the Tmux session, the script runs the &lt;code&gt;/etc/update-motd.d/&lt;/code&gt; script to show a message of the day for SSH sessions.&lt;/p&gt;</description>
    </item>
    <item>
      <title>UFW Not Starting on Boot in Ubuntu 18.04</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/ufw-not-starting-on-boot-in-ubuntu-18-04/</link>
      <pubDate>Sun, 18 Aug 2019 13:19:42 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/ufw-not-starting-on-boot-in-ubuntu-18-04/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <description>&lt;p&gt;If you&amp;rsquo;re experiencing issues with the Uncomplicated Firewall (UFW) not starting on boot in Ubuntu 18.04, there are a few steps you can take to troubleshoot and resolve the problem. Here&amp;rsquo;s a step-by-step guide to fix the issue.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Please note:&lt;/strong&gt; Modifying system files requires administrative privileges. Make sure you have the necessary permissions before proceeding.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;editing-the-ufw-service-file&#34;&gt;&lt;span&gt;Editing the UFW Service File&lt;/span&gt;&#xA;  &lt;a href=&#34;#editing-the-ufw-service-file&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;Open a terminal or SSH session and log in to your Ubuntu 18.04 system.&lt;/li&gt;&#xA;&lt;li&gt;Use the following command to open the UFW service file in the Vim text editor:&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;pre&gt;&lt;code&gt;sudo vim /lib/systemd/system/ufw.service&lt;/code&gt;&lt;/pre&gt;&lt;ol start=&#34;3&#34;&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Inside the Vim editor, locate the line that reads &lt;code&gt;Before=network.target&lt;/code&gt;. You need to remove this line from the file. To do so, move the cursor to that line, press &lt;code&gt;dd&lt;/code&gt; to delete the line, and then save the file and exit Vim by typing &lt;code&gt;:wq&lt;/code&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Filtering Windows Events by User Account</title>
      <link>https://dimasmaulana.pages.dev/posts/development/filtering-windows-events-by-user-account/</link>
      <pubDate>Sun, 04 Aug 2019 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/filtering-windows-events-by-user-account/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In Windows, you can filter events in the event logs based on specific criteria, such as the user account associated with an event. This can be particularly useful for security and auditing purposes. Below are examples of XML queries that filter Windows events by user account using XPath expressions.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;example-1-filter-successful-logon-events-event-id-4624-by-user-account&#34;&gt;&lt;span&gt;Example 1: Filter Successful Logon Events (Event ID 4624) by User Account&lt;/span&gt;&#xA;  &lt;a href=&#34;#example-1-filter-successful-logon-events-event-id-4624-by-user-account&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;This example demonstrates how to filter successful logon events (Event ID 4624) in the Security event log for a specific user account, in this case, &amp;ldquo;john.doe.&amp;rdquo;&lt;/p&gt;</description>
    </item>
    <item>
      <title>SSHD Windows 10 Not Accepting Public Key</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/sshd-windows-10-not-accepting-public-key-/</link>
      <pubDate>Sun, 17 Mar 2019 16:10:44 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/sshd-windows-10-not-accepting-public-key-/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <category domain="https://dimasmaulana.pages.dev/categories/troubleshooting/">Troubleshooting</category>
      <description>&lt;p&gt;If you&amp;rsquo;re experiencing issues with SSHD on Windows 10 not accepting your public key, there are a few steps you can take to troubleshoot the problem. Follow the steps below to resolve the issue.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;step-1-open-the-sshd-configuration-file&#34;&gt;&lt;span&gt;Step 1: Open the SSHD Configuration File&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-1-open-the-sshd-configuration-file&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;To begin, open the SSHD configuration file using a text editor. In this example, we&amp;rsquo;ll use the Bash shell and the &lt;code&gt;vim&lt;/code&gt; editor. Open a command prompt and navigate to the following directory:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sharing Docker Daemon from Windows to Local Network</title>
      <link>https://dimasmaulana.pages.dev/posts/development/sharing-docker-daemon-from-windows-to-local-network/</link>
      <pubDate>Sun, 17 Mar 2019 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/sharing-docker-daemon-from-windows-to-local-network/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;To share the Docker Daemon running on a Windows machine with other devices on your local network, you can use the &lt;code&gt;netsh&lt;/code&gt; command to perform port forwarding. This will allow you to access the Docker Daemon remotely using the machine&amp;rsquo;s IP address and the forwarded port. Here&amp;rsquo;s how you can do it:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Open Command Prompt as Administrator&lt;/strong&gt;: To execute the &lt;code&gt;netsh&lt;/code&gt; command, you need administrative privileges. Right-click on the Command Prompt and choose &amp;ldquo;Run as administrator.&amp;rdquo;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Troubleshooting L2TP VPN Connection Issue on Windows 10</title>
      <link>https://dimasmaulana.pages.dev/posts/software/troubleshooting-l2tp-vpn-connection-issue-on-windows-10/</link>
      <pubDate>Wed, 13 Mar 2019 11:00:46 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/software/troubleshooting-l2tp-vpn-connection-issue-on-windows-10/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/software/">Software</category>
      <category domain="https://dimasmaulana.pages.dev/categories/troubleshooting/">Troubleshooting</category>
      <description>&lt;p&gt;If you&amp;rsquo;re experiencing difficulties connecting to an L2TP VPN (Layer 2 Tunneling Protocol) on Windows 10, there are a few troubleshooting steps you can follow. This guide will walk you through the process of adding a registry key and ensuring the necessary protocols are allowed to establish a successful L2TP VPN connection.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;adding-the-registry-key&#34;&gt;&lt;span&gt;Adding the Registry Key&lt;/span&gt;&#xA;  &lt;a href=&#34;#adding-the-registry-key&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;To begin, you&amp;rsquo;ll need to add a registry key that can help resolve L2TP VPN connectivity issues. Follow the steps below:&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Allow Root Login in Ubuntu 18.04</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-allow-root-login-in-ubuntu-1804/</link>
      <pubDate>Sun, 10 Mar 2019 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-allow-root-login-in-ubuntu-1804/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In Ubuntu 18.04, the root account is typically disabled for security reasons. However, there might be situations where you need to enable root login temporarily. Please note that enabling root login should be done with caution, and it&amp;rsquo;s recommended to only do so when absolutely necessary. Here&amp;rsquo;s a step-by-step guide on how to allow root login in Ubuntu 18.04:&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Step 1: Set the Root Password&lt;/strong&gt;&#xA;Before enabling root login, you need to set a password for the root account. Open a terminal and run the following command:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Introduction to rsync</title>
      <link>https://dimasmaulana.pages.dev/posts/development/introduction-to-rsync/</link>
      <pubDate>Tue, 05 Mar 2019 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/introduction-to-rsync/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;&lt;code&gt;rsync&lt;/code&gt; is a powerful and widely used command-line utility in Unix-like operating systems that facilitates efficient and reliable file synchronization and data transfer between directories or across different machines. It is particularly useful for remote backups, mirroring, and incremental transfers. The name &amp;ldquo;rsync&amp;rdquo; stands for &amp;ldquo;remote synchronization.&amp;rdquo;&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;basic-syncing&#34;&gt;&lt;span&gt;Basic Syncing&lt;/span&gt;&#xA;  &lt;a href=&#34;#basic-syncing&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;h3 class=&#34;heading-element&#34; id=&#34;syncing-folder-src-into-dest&#34;&gt;&lt;span&gt;Syncing Folder &lt;code&gt;src&lt;/code&gt; into &lt;code&gt;dest&lt;/code&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#syncing-folder-src-into-dest&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;p&gt;To synchronize the contents of a local folder &lt;code&gt;src&lt;/code&gt; into another local folder &lt;code&gt;dest&lt;/code&gt;, you can use the following command:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Working with Tar Compressed Archives in Linux</title>
      <link>https://dimasmaulana.pages.dev/posts/development/working-with-tar-compressed-archives-in-linux/</link>
      <pubDate>Tue, 05 Mar 2019 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/working-with-tar-compressed-archives-in-linux/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In Linux, the &lt;code&gt;tar&lt;/code&gt; command is commonly used for archiving and extracting files and directories. Tar archives can be compressed to save space using various compression algorithms like gzip (&lt;code&gt;*.tar.gz&lt;/code&gt;) or bzip2 (&lt;code&gt;*.tar.bz2&lt;/code&gt;). This guide will cover how to create, extract, and work with tar compressed archives in Linux.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;compressing-files-and-directories-with-tar&#34;&gt;&lt;span&gt;Compressing Files and Directories with Tar&lt;/span&gt;&#xA;  &lt;a href=&#34;#compressing-files-and-directories-with-tar&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;h3 class=&#34;heading-element&#34; id=&#34;1-create-a-tar-archive&#34;&gt;&lt;span&gt;1. Create a Tar Archive&lt;/span&gt;&#xA;  &lt;a href=&#34;#1-create-a-tar-archive&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;p&gt;To create a tar archive of a folder, use the &lt;code&gt;tar -cvpf&lt;/code&gt; command:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Compress Each Folder with one archive if archive is not exist</title>
      <link>https://dimasmaulana.pages.dev/posts/development/compress-each-folder-with-one-archive-if-archive-is-not-exist/</link>
      <pubDate>Sun, 03 Mar 2019 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/compress-each-folder-with-one-archive-if-archive-is-not-exist/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;The provided command is a shell script written in Bash that iterates through directories in the current directory, checks if an archive file (.tar.gz) already exists for each directory, and if not, it creates a compressed archive of the directory using the &lt;code&gt;tar&lt;/code&gt; command.&lt;/p&gt;&#xA;&lt;p&gt;Here&amp;rsquo;s an explanation of what the script does:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;for dir in `find . -maxdepth 1 -type d  | grep -v &amp;#34;^\.$&amp;#34; `; do&#xA;    if ! [ -e ${dir}.tar.gz ] ; then&#xA;        tar -cvzf ${dir}.tar.gz ${dir}&#xA;    fi&#xA;done&lt;/code&gt;&lt;/pre&gt;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;for dir in &lt;/code&gt;find . -maxdepth 1 -type d  | grep -v &amp;ldquo;^.$&amp;rdquo; &lt;code&gt;; do&lt;/code&gt;: This line starts a loop that iterates through all subdirectories (excluding the current directory) in the current directory.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Delete Except Newest Files Bash</title>
      <link>https://dimasmaulana.pages.dev/posts/development/delete-except-newest-files-bash/</link>
      <pubDate>Sun, 03 Mar 2019 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/delete-except-newest-files-bash/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;The provided Bash commands are useful for listing and deleting files, including dotfiles, except for the newest ones. Here&amp;rsquo;s a breakdown of what each command does:&lt;/p&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;list-all-files-except-the-newest-three&#34;&gt;&lt;span&gt;List all files except the newest three:&lt;/span&gt;&#xA;  &lt;a href=&#34;#list-all-files-except-the-newest-three&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;ls -t | tail -n &amp;#43;4&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;ls -t&lt;/code&gt;: Lists all files in the current directory sorted by modification time in descending order (newest first).&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;tail -n +4&lt;/code&gt;: Displays all lines starting from the fourth line. In this context, it shows all files except the newest three.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;delete-those-files&#34;&gt;&lt;span&gt;Delete those files:&lt;/span&gt;&#xA;  &lt;a href=&#34;#delete-those-files&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;ls -t | tail -n &amp;#43;4 | xargs rm --&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;xargs&lt;/code&gt;: Takes the output from the previous command (the list of files to delete) and passes them as arguments to the &lt;code&gt;rm&lt;/code&gt; (remove) command.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;rm --&lt;/code&gt;: Deletes the specified files.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;list-all-dotfiles-except-the-newest-three&#34;&gt;&lt;span&gt;List all dotfiles except the newest three:&lt;/span&gt;&#xA;  &lt;a href=&#34;#list-all-dotfiles-except-the-newest-three&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;ls -At | tail -n &amp;#43;4&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;ls -At&lt;/code&gt;: Lists all files, including dotfiles, sorted by modification time in descending order.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;tail -n +4&lt;/code&gt;: Displays all lines starting from the fourth line. It shows all dotfiles except the newest three.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;delete-dotfiles&#34;&gt;&lt;span&gt;Delete dotfiles:&lt;/span&gt;&#xA;  &lt;a href=&#34;#delete-dotfiles&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;ls -At | tail -n &amp;#43;4 | xargs rm --&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;xargs&lt;/code&gt;: Takes the output from the previous command (the list of dotfiles to delete) and passes them as arguments to the &lt;code&gt;rm&lt;/code&gt; (remove) command.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;rm --&lt;/code&gt;: Deletes the specified dotfiles.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;It&amp;rsquo;s important to use these commands with caution, especially the ones that involve deletion (&lt;code&gt;xargs rm --&lt;/code&gt;). Deleting files is irreversible, and there&amp;rsquo;s no easy way to recover them if you make a mistake. Make sure you&amp;rsquo;re in the correct directory and that you are certain about the files you want to delete before running these commands.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Removing Local Time Machine Snapshots</title>
      <link>https://dimasmaulana.pages.dev/posts/software/removing-local-time-machine-snapshots/</link>
      <pubDate>Sat, 02 Feb 2019 07:53:36 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/software/removing-local-time-machine-snapshots/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/software/">Software</category>
      <category domain="https://dimasmaulana.pages.dev/categories/troubleshooting/">Troubleshooting</category>
      <description>&lt;p&gt;If you are unable to find the &amp;ldquo;sudo tmutil disablelocal&amp;rdquo; command to remove all local copies of Time Machine snapshots, you can manually delete them using the following steps.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;step-1-list-local-snapshot-dates&#34;&gt;&lt;span&gt;Step 1: List Local Snapshot Dates&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-1-list-local-snapshot-dates&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;To begin, open the Terminal application on your Mac and enter the following command:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Setting up avahi-daemon on Ubuntu for hostname resolution</title>
      <link>https://dimasmaulana.pages.dev/posts/development/setting-up-avahi-daemon-on-ubuntu-for-hostname-resolution/</link>
      <pubDate>Thu, 31 Jan 2019 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/setting-up-avahi-daemon-on-ubuntu-for-hostname-resolution/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;Avahi is an open-source implementation of zero-configuration networking, also known as Bonjour or mDNS, which allows devices to automatically discover and communicate with each other on a local network without requiring any manual configuration. This guide will walk you through the process of setting up avahi-daemon on Ubuntu, enabling you to reach the hostname &lt;code&gt;ubuntu.local&lt;/code&gt; from the host OS, Samba, and through network discovery.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Step 1: Install Avahi Packages&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Open a terminal and execute the following command to install the required Avahi packages:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Troubleshooting Common Issues with the ATIV Smart PC Pro</title>
      <link>https://dimasmaulana.pages.dev/posts/software/troubleshooting-common-issues-with-the-ativ-smart-pc-pro/</link>
      <pubDate>Wed, 29 Aug 2018 07:05:46 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/software/troubleshooting-common-issues-with-the-ativ-smart-pc-pro/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/software/">Software</category>
      <category domain="https://dimasmaulana.pages.dev/categories/troubleshooting/">Troubleshooting</category>
      <description>&lt;p&gt;The ATIV Smart PC Pro is a versatile device that combines the functionality of a tablet and a laptop. However, like any electronic device, it can experience issues from time to time. In this article, we will discuss three common problems that users may encounter with the ATIV Smart PC Pro and provide step-by-step instructions to resolve them. We will cover the following issues: mouse double tap not working, brightness control not functioning properly, and difficulties in uninstalling the Samsung Update software.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Write Awesome User Stories</title>
      <link>https://dimasmaulana.pages.dev/posts/productivity/how-to-write-awesome-user-stories/</link>
      <pubDate>Tue, 05 Jun 2018 10:25:32 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/productivity/how-to-write-awesome-user-stories/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/productivity/">Productivity</category>
      <description>&lt;p&gt;In Software engineering, requirements gathering has multiple techniques. User stories are one of the most popular techniques in agile development. It&amp;rsquo;s a way to document stakeholders&amp;rsquo; requirements in an informal manner. The primary focus of a user story is talking about requirements value rather than writing a detailed specification of each functionality. Basically, a user story is a short statement mentioning the potential value that a specific stakeholder believes he/she would achieve from the solution/system. In addition, user stories are always complemented with Acceptance Criteria. Those criteria verify that the proposed designed solution is meeting the stakeholders&amp;rsquo; objectives.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Wordpress Roadmap</title>
      <link>https://dimasmaulana.pages.dev/posts/development/wordpress-roadmap/</link>
      <pubDate>Sun, 22 Apr 2018 13:19:28 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/wordpress-roadmap/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;WordPress is a powerful content management system (CMS) that enables developers to create dynamic websites. To become proficient in WordPress development, one must follow a structured roadmap covering both front-end and back-end technologies. Below is a detailed roadmap to mastering WordPress development.&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt; flowchart TB&#xA;  Start((Start)) --&amp;gt; HTMLCSS(HTML / CSS)&#xA;  HTMLCSS --&amp;gt; FE(Front End)&#xA;  FE --- FELEVEL{Level}&#xA;  FE --&amp;gt; BackEnd&#xA;  subgraph FE[Front End]&#xA;   direction TB&#xA;   FELEVEL --&amp;gt; Javascript&#xA;   Javascript --&amp;gt; jQuery&#xA;   Javascript --&amp;gt; AJAX&#xA;   FELEVEL --&amp;gt; React&#xA;   React --&amp;gt; REST(REST API)&#xA;  end&#xA;  subgraph BackEnd[Back End]&#xA;   PHP --&amp;gt; WPCore(WP Core)&#xA;   WPCore --&amp;gt; MySQL&#xA;  end&#xA;  BackEnd --&amp;gt; Finish((Finish))&lt;/code&gt;&lt;/pre&gt;&lt;h2 class=&#34;heading-element&#34; id=&#34;1-getting-started&#34;&gt;&lt;span&gt;1. Getting Started&lt;/span&gt;&#xA;  &lt;a href=&#34;#1-getting-started&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Before diving into WordPress, it is essential to have a strong foundation in basic web technologies:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Troubleshooting Docker HTTPD SSL Log Not Appearing</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/troubleshooting-docker-httpd-ssl-log-not-appearing/</link>
      <pubDate>Tue, 27 Mar 2018 12:32:35 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/troubleshooting-docker-httpd-ssl-log-not-appearing/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <category domain="https://dimasmaulana.pages.dev/categories/troubleshooting/">Troubleshooting</category>
      <description>&lt;p&gt;When working with Docker containers and the Apache HTTP Server (httpd) in SSL mode, it is important to monitor and analyze the server logs for debugging and security purposes. However, in some cases, the SSL log might not show up as expected. This article aims to provide a solution to this problem by adding a custom log variable inside the virtual host configuration.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;problem&#34;&gt;&lt;span&gt;Problem&lt;/span&gt;&#xA;  &lt;a href=&#34;#problem&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;The SSL log is not being generated or displayed when running the Apache HTTP Server within a Docker container. This can make it difficult to track and analyze server activity and troubleshoot potential issues.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Troubleshooting Invalid IP Host Error in Docker Compose with HTTPD Container</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/troubleshooting--invalid-ip-host--error-in-docker-compose-with-httpd-container/</link>
      <pubDate>Tue, 27 Mar 2018 12:31:29 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/troubleshooting--invalid-ip-host--error-in-docker-compose-with-httpd-container/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <category domain="https://dimasmaulana.pages.dev/categories/troubleshooting/">Troubleshooting</category>
      <description>&lt;p&gt;When working with Docker Compose, you may encounter an &amp;ldquo;Invalid IP Host&amp;rdquo; error when configuring the HTTPD (Apache) container. This error often occurs when the container&amp;rsquo;s network configuration conflicts with the port mappings specified in the &lt;code&gt;docker-compose.yml&lt;/code&gt; file. In this article, we will explore a common cause of this error and provide a solution by adjusting the network configuration using the &lt;code&gt;net&lt;/code&gt; parameter.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;understanding-the-invalid-ip-host-error&#34;&gt;&lt;span&gt;Understanding the &amp;ldquo;Invalid IP Host&amp;rdquo; Error&lt;/span&gt;&#xA;  &lt;a href=&#34;#understanding-the-invalid-ip-host-error&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;The &amp;ldquo;Invalid IP Host&amp;rdquo; error message typically appears when running an HTTPD container in Docker Compose and indicates that the IP address provided for the container&amp;rsquo;s host is invalid or conflicting.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Accept HTTPS Self Certificate on Local via Apache2</title>
      <link>https://dimasmaulana.pages.dev/posts/development/accept-https-self-certificate-on-local-via-apache2/</link>
      <pubDate>Sun, 25 Mar 2018 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/accept-https-self-certificate-on-local-via-apache2/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;When you&amp;rsquo;re working on a local development environment and need to accept self-signed HTTPS certificates through Apache2, you can use the following configuration in your virtual host file. This setup allows you to bypass certificate verification for local testing purposes.&lt;/p&gt;&#xA;&lt;p&gt;Assuming you already have a virtual host set up in your Apache2 configuration, here are the steps to configure it to accept self-signed HTTPS certificates:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Enable the &lt;code&gt;proxy&lt;/code&gt; and &lt;code&gt;proxy_http&lt;/code&gt; modules:&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fixing iPhone Photos Stuck When Syncing with Mac</title>
      <link>https://dimasmaulana.pages.dev/posts/software/fixing-iphone-photos-stuck-when-syncing-with-mac/</link>
      <pubDate>Fri, 23 Mar 2018 08:04:22 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/software/fixing-iphone-photos-stuck-when-syncing-with-mac/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/software/">Software</category>
      <category domain="https://dimasmaulana.pages.dev/categories/troubleshooting/">Troubleshooting</category>
      <description>&lt;p&gt;Syncing your iPhone photos with your Mac is a convenient way to transfer and organize your images. However, you may encounter issues where photos get stuck during the synchronization process. This guide will provide step-by-step instructions on how to effectively resolve this problem. We&amp;rsquo;ll explore using iFunBox to access the RAW folder on your iPhone, removing specific folders, and then resyncing with iTunes to ensure your photos sync smoothly again.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Docker Run -It --Rm --Name Certbot -v --Root-Docker-Composes-Server</title>
      <link>https://dimasmaulana.pages.dev/posts/development/docker-run-it-rm-name-certbot-v-root-docker-composes-server/</link>
      <pubDate>Wed, 14 Mar 2018 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/docker-run-it-rm-name-certbot-v-root-docker-composes-server/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;You want to run Docker commands to request a wildcard SSL certificate from Let&amp;rsquo;s Encrypt using Certbot and to create or renew a certificate for a specific domain. Here&amp;rsquo;s a breakdown of the commands and what they do:&lt;/p&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;requesting-a-wildcard-certificate-with-certbot&#34;&gt;&lt;span&gt;Requesting a Wildcard Certificate with Certbot&lt;/span&gt;&#xA;  &lt;a href=&#34;#requesting-a-wildcard-certificate-with-certbot&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;docker run -it --rm --name certbot -v &amp;#34;/root/docker-composes/server/apache/letsencrypt:/etc/letsencrypt&amp;#34; -v &amp;#34;/var/lib/letsencrypt:/var/lib/letsencrypt&amp;#34; -v &amp;#34;/var/www/html:/var/www/html&amp;#34; certbot/certbot --manual --preferred-challenges dns certonly --server https://acme-v02.api.letsencrypt.org/directory&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;docker run&lt;/code&gt;: This command starts a new Docker container.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;-it&lt;/code&gt;: This flag enables an interactive terminal session.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;--rm&lt;/code&gt;: This flag removes the container when it exits.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;--name certbot&lt;/code&gt;: Specifies the name of the container as &amp;ldquo;certbot.&amp;rdquo;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;-v&lt;/code&gt;: This flag mounts volumes from the host to the container. You are mounting the following directories:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;&amp;quot;/root/docker-composes/server/apache/letsencrypt&amp;quot;&lt;/code&gt; to &lt;code&gt;&amp;quot;/etc/letsencrypt&amp;quot;&lt;/code&gt; inside the container.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;&amp;quot;/var/lib/letsencrypt&amp;quot;&lt;/code&gt; to &lt;code&gt;&amp;quot;/var/lib/letsencrypt&amp;quot;&lt;/code&gt; inside the container.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;&amp;quot;/var/www/html&amp;quot;&lt;/code&gt; to &lt;code&gt;&amp;quot;/var/www/html&amp;quot;&lt;/code&gt; inside the container.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;certbot/certbot&lt;/code&gt;: Specifies the Docker image to use, which is the Certbot image.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;--manual&lt;/code&gt;: Indicates that you want to perform manual DNS challenges to prove domain ownership.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;--preferred-challenges dns&lt;/code&gt;: Specifies that you prefer DNS challenges for domain verification.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;certonly&lt;/code&gt;: Instructs Certbot to obtain certificates without installing them.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;--server https://acme-v02.api.letsencrypt.org/directory&lt;/code&gt;: Sets the Let&amp;rsquo;s Encrypt ACME server&amp;rsquo;s URL for certificate issuance.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;creatingrenewing-a-certonly-certificate&#34;&gt;&lt;span&gt;Creating/Renewing a Certonly Certificate&lt;/span&gt;&#xA;  &lt;a href=&#34;#creatingrenewing-a-certonly-certificate&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;certbot certonly --webroot -w /var/www/html/ -d example.com&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;certbot certonly&lt;/code&gt;: This command tells Certbot to obtain a certificate without installing it.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;--webroot&lt;/code&gt;: Specifies the webroot plugin for authentication and authorization.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;-w /var/www/html/&lt;/code&gt;: Specifies the webroot path where Certbot should place challenge files.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;-d example.com&lt;/code&gt;: Specifies the domain (example.com in this case) for which you want to obtain or renew the certificate.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;These commands allow you to request a wildcard SSL certificate and create or renew a standard SSL certificate using Certbot in a Docker container. Make sure to replace &amp;ldquo;example.com&amp;rdquo; with your actual domain name when running the second command.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Troubleshooting Cloudflare Error 522 or ERR_NETWORK Router Asus and Firewall DDOS Configuration</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/troubleshooting-cloudflare-error-522-or-err-network-router-asus-and-firewall-ddos-configuration/</link>
      <pubDate>Wed, 21 Feb 2018 12:40:31 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/troubleshooting-cloudflare-error-522-or-err-network-router-asus-and-firewall-ddos-configuration/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <category domain="https://dimasmaulana.pages.dev/categories/troubleshooting/">Troubleshooting</category>
      <description>&lt;p&gt;When encountering Cloudflare Error 522 or ERR_NETWORK while using the internet, one possible cause could be the configuration of an Asus router with the Firewall DDOS feature enabled. This article aims to shed light on this issue and provide a solution for resolving it. However, it&amp;rsquo;s important to note that disabling the DDOS feature on the router may increase the risk of potential DDOS attacks from external sources.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;understanding-cloudflare-error-522-or-err_network&#34;&gt;&lt;span&gt;Understanding Cloudflare Error 522 or ERR_NETWORK&lt;/span&gt;&#xA;  &lt;a href=&#34;#understanding-cloudflare-error-522-or-err_network&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Cloudflare Error 522 or ERR_NETWORK is an HTTP error code that occurs when a TCP connection between the origin server and Cloudflare is unable to establish within a specific timeframe. This error often manifests as a prolonged loading time or complete unavailability of a website.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fixing Tmux Generating Random Characters on Click or Scroll</title>
      <link>https://dimasmaulana.pages.dev/posts/development/fixing-tmux-generating-random-characters-on-click-or-scroll/</link>
      <pubDate>Sun, 18 Feb 2018 08:22:16 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/fixing-tmux-generating-random-characters-on-click-or-scroll/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <category domain="https://dimasmaulana.pages.dev/categories/troubleshooting/">Troubleshooting</category>
      <description>&lt;p&gt;Tmux is a popular terminal multiplexer that allows users to manage multiple terminal sessions within a single window. However, some users may encounter an issue where Tmux generates random characters when clicking or scrolling within the terminal. This can be frustrating and disrupt the user&amp;rsquo;s workflow. In this article, we will explore a solution to fix this problem.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;solution&#34;&gt;&lt;span&gt;Solution&lt;/span&gt;&#xA;  &lt;a href=&#34;#solution&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;To resolve the issue of Tmux generating random characters on click or scroll, you can follow the steps outlined below:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Stripping EXIF Data from Images using ImageMagick</title>
      <link>https://dimasmaulana.pages.dev/posts/development/stripping-exif-data-from-images-using-imagemagick/</link>
      <pubDate>Wed, 22 Nov 2017 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/stripping-exif-data-from-images-using-imagemagick/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;When working with images, especially those captured by digital cameras or smartphones, you might encounter a lot of metadata embedded within the image files. This metadata often includes valuable information such as camera settings, date and time of capture, and even geolocation. This information is stored in a format known as Exchangeable Image File Format (EXIF). While EXIF data can be useful, there are situations where you might want to remove it for privacy, security, or optimization reasons.&lt;/p&gt;</description>
    </item>
    <item>
      <title>CLI Remove old backup file max 5 older</title>
      <link>https://dimasmaulana.pages.dev/posts/development/cli-remove-old-backup-file-max-5-older/</link>
      <pubDate>Thu, 12 Oct 2017 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/cli-remove-old-backup-file-max-5-older/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;We have provided a set of command-line instructions for managing backup files. These commands are designed to remove older backup files based on certain criteria. Let me break down each of the commands for you:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Removing Old Backup Files Using &lt;code&gt;ls&lt;/code&gt;, &lt;code&gt;tail&lt;/code&gt;, and &lt;code&gt;xargs&lt;/code&gt;:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;ls -t1 | tail -n &amp;#43;11 | xargs -d &amp;#39;\n&amp;#39; rm&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This command is used to list files in a directory by their modification time in descending order (&lt;code&gt;-t1&lt;/code&gt;). Then, it uses &lt;code&gt;tail&lt;/code&gt; to exclude the top 10 files (keeping the 11th and onwards), and finally, it uses &lt;code&gt;xargs&lt;/code&gt; to remove these older files.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Updating Video Metadata Based on Modified Date Using Exiftool</title>
      <link>https://dimasmaulana.pages.dev/posts/development/updating-video-metadata-based-on-modified-date-using-exiftool/</link>
      <pubDate>Mon, 09 Oct 2017 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/updating-video-metadata-based-on-modified-date-using-exiftool/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In this article, we&amp;rsquo;ll explore how to update the metadata of video files (in this case, MP4 files) based on their modified date using the powerful Exiftool command-line utility. Metadata can include various information about the video, such as creation date, author, and more. Sometimes, it&amp;rsquo;s necessary to adjust or correct this metadata. Here, we&amp;rsquo;ll focus on modifying the date-related metadata using Exiftool.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;prerequisites&#34;&gt;&lt;span&gt;Prerequisites&lt;/span&gt;&#xA;  &lt;a href=&#34;#prerequisites&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Before you begin, make sure you have Exiftool installed on your system. You can download it from the official website: &lt;a href=&#34;https://exiftool.org/&#34; target=&#34;_blank&#34; rel=&#34;external nofollow noopener noreferrer&#34;&gt;Exiftool&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pulling the Latest Versions of All Docker Images</title>
      <link>https://dimasmaulana.pages.dev/posts/development/pulling-the-latest-versions-of-all-docker-images/</link>
      <pubDate>Sun, 17 Sep 2017 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/pulling-the-latest-versions-of-all-docker-images/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In Docker, it&amp;rsquo;s essential to keep your images up to date, especially when using various containers and applications. One way to do this efficiently is by pulling the latest versions of all Docker images with a single command. In this article, we&amp;rsquo;ll walk you through the process using a command-line interface (CLI).&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;prerequisites&#34;&gt;&lt;span&gt;Prerequisites&lt;/span&gt;&#xA;  &lt;a href=&#34;#prerequisites&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Before proceeding, make sure you have Docker installed and configured on your system. You can download and install Docker from the official website: &lt;a href=&#34;https://www.docker.com/get-started&#34; target=&#34;_blank&#34; rel=&#34;external nofollow noopener noreferrer&#34;&gt;Docker Download&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Updating and Upgrading Brew Cask Apps via Command Line Interface</title>
      <link>https://dimasmaulana.pages.dev/posts/development/updating-and-upgrading-brew-cask-apps-via-command-line-interface/</link>
      <pubDate>Sat, 05 Aug 2017 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/updating-and-upgrading-brew-cask-apps-via-command-line-interface/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;If you&amp;rsquo;re a macOS user who relies on Homebrew and Brew Cask for managing software packages and applications, keeping everything up to date is crucial. This guide outlines how to update and upgrade Brew Cask apps through the command line interface (CLI). Follow the steps below to ensure that your software is always current.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;prerequisites&#34;&gt;&lt;span&gt;Prerequisites&lt;/span&gt;&#xA;  &lt;a href=&#34;#prerequisites&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Before you start updating and upgrading your Brew Cask apps, make sure you have already updated Homebrew itself. To do this, open your terminal and run:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Disabling Auto Traffic Promotion in Google Cloud App Engine</title>
      <link>https://dimasmaulana.pages.dev/posts/development/disabling-auto-traffic-promotion-in-google-cloud-app-engine/</link>
      <pubDate>Fri, 09 Jun 2017 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/disabling-auto-traffic-promotion-in-google-cloud-app-engine/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;When deploying applications to Google Cloud App Engine, you might want to disable the automatic traffic promotion feature, which promotes the latest deployed version to receive 100% of the traffic by default. This can be useful when you want to manually control when a new version of your application should start receiving traffic. To disable auto traffic promotion, you can use the following command in your terminal:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;$ gcloud config set app/promote_by_default false&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This command configures your Google Cloud CLI (&lt;code&gt;gcloud&lt;/code&gt;) to not automatically promote the latest deployed version. Here&amp;rsquo;s what each part of the command does:&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Disable/Enable updatedb.mlocate to Reduce Disk IO</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-disableenable-updatedbmlocate-to-reduce-disk-io/</link>
      <pubDate>Mon, 13 Mar 2017 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-disableenable-updatedbmlocate-to-reduce-disk-io/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;The &lt;code&gt;updatedb.mlocate&lt;/code&gt; service is responsible for updating the mlocate database, which can sometimes consume a significant amount of disk I/O. Here, we&amp;rsquo;ll explain how to disable and enable this service as well as provide a tip for customizing which directories are indexed.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;disable-updatedbmlocate&#34;&gt;&lt;span&gt;Disable updatedb.mlocate&lt;/span&gt;&#xA;  &lt;a href=&#34;#disable-updatedbmlocate&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;To disable the &lt;code&gt;updatedb.mlocate&lt;/code&gt; service, follow these steps:&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Install PHP on Windows and Enable Modules</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-install-php-on-windows-and-enable-modules/</link>
      <pubDate>Sun, 12 Mar 2017 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-install-php-on-windows-and-enable-modules/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In this guide, we will walk you through the process of installing PHP on a Windows machine using Chocolatey (choco) package manager. We will also show you how to enable the necessary modules in the &lt;code&gt;php.ini&lt;/code&gt; configuration file to run popular PHP applications like the Laravel framework.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;prerequisites&#34;&gt;&lt;span&gt;Prerequisites&lt;/span&gt;&#xA;  &lt;a href=&#34;#prerequisites&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Before you begin, make sure you have the following prerequisites in place:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Maven Could Not Detect Google Cloud SDK on Eclipse</title>
      <link>https://dimasmaulana.pages.dev/posts/development/maven-could-not-detect-google-cloud-sdk-on-eclipse/</link>
      <pubDate>Sat, 25 Feb 2017 07:31:01 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/maven-could-not-detect-google-cloud-sdk-on-eclipse/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <category domain="https://dimasmaulana.pages.dev/categories/troubleshooting/">Troubleshooting</category>
      <description>&lt;p&gt;If you&amp;rsquo;re encountering an issue where Maven cannot detect the Google Cloud SDK on Eclipse, there are a few solutions you can try to resolve the problem. In this blog post, we will explore three different solutions that you can use to fix this issue.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;solution-1-use-automator-script&#34;&gt;&lt;span&gt;Solution 1: Use Automator Script&lt;/span&gt;&#xA;  &lt;a href=&#34;#solution-1-use-automator-script&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;The first solution involves using an Automator script to set the &lt;code&gt;GOOGLE_CLOUD_SDK_HOME&lt;/code&gt; environment variable before launching Eclipse. Follow the steps below:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Setting Up Environment Variables on macOS Yosemite Using Launch Agent</title>
      <link>https://dimasmaulana.pages.dev/posts/development/setting-up-environment-variables-on-macos-yosemite-using-launch-agent/</link>
      <pubDate>Sat, 25 Feb 2017 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/setting-up-environment-variables-on-macos-yosemite-using-launch-agent/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In previous releases of macOS (Mavericks, Mountain Lion, Lion, &amp;hellip;), configuring environment variables required editing the &lt;code&gt;/etc/launchd.conf&lt;/code&gt; file. However, starting from macOS Yosemite, this method is no longer effective. To successfully configure environment variables on Yosemite and later versions, follow these steps:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Create a Launch Agent Property List (plist) File:&#xA;Create a plist file named &lt;code&gt;my.startup.plist&lt;/code&gt; in the &lt;code&gt;~/Library/LaunchAgents/&lt;/code&gt; directory. This directory is specific to user-based launch agent configurations.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Define the Plist Structure:&#xA;The content of the &lt;code&gt;my.startup.plist&lt;/code&gt; file should adhere to the XML-based property list format. This format is used to specify various attributes that dictate the behavior of launch agents.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Docker Command Remove / Clean Up</title>
      <link>https://dimasmaulana.pages.dev/posts/development/docker-command-remove-clean-up/</link>
      <pubDate>Wed, 22 Feb 2017 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/docker-command-remove-clean-up/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;When working with Docker, it&amp;rsquo;s essential to clean up unused containers, images, and other resources to free up disk space and keep your system tidy. Here are three options for cleaning up Docker resources:&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;option-1-using-docker-clean&#34;&gt;&lt;span&gt;Option 1: Using &lt;code&gt;docker-clean&lt;/code&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#option-1-using-docker-clean&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;You can use a third-party tool called &lt;a href=&#34;https://github.com/ZZROTDesign/docker-clean&#34; target=&#34;_blank&#34; rel=&#34;external nofollow noopener noreferrer&#34;&gt;docker-clean&lt;/a&gt; to help you clean up Docker resources more efficiently. This tool provides a simple command to remove stopped containers, dangling volumes, and unused images.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Solving Laravel HTTPS to HTTP Proxy Issue</title>
      <link>https://dimasmaulana.pages.dev/posts/development/solving-laravel-https-to-http-proxy-issue/</link>
      <pubDate>Mon, 20 Feb 2017 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/solving-laravel-https-to-http-proxy-issue/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;When you&amp;rsquo;re dealing with a setup where a client communicates with an SSL load balancer over HTTPS, and the load balancer talks to a backend server over HTTP, you might encounter issues with Laravel generating URLs with an &lt;code&gt;http://&lt;/code&gt; schema. To address this issue, you can implement the following workaround:&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;step-1-modify-routesphp&#34;&gt;&lt;span&gt;Step 1: Modify &lt;code&gt;routes.php&lt;/code&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-1-modify-routesphp&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Open your Laravel project&amp;rsquo;s &lt;code&gt;routes.php&lt;/code&gt; file and add the following code snippet at the top of the file:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Understanding Docker Run Arguments: -i, -t, and --attach</title>
      <link>https://dimasmaulana.pages.dev/posts/development/understanding-docker-run-arguments-i-t-and-attach/</link>
      <pubDate>Mon, 20 Feb 2017 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/understanding-docker-run-arguments-i-t-and-attach/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;When working with Docker, you often use various command-line arguments to customize the behavior of containers when they are launched. Three commonly used arguments are &lt;code&gt;-i&lt;/code&gt;, &lt;code&gt;-t&lt;/code&gt;, and &lt;code&gt;--attach&lt;/code&gt;. These arguments are often used together, and they serve different purposes in controlling how your container interacts with the terminal and user input.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;-i---interactive-mode&#34;&gt;&lt;span&gt;&lt;code&gt;-i&lt;/code&gt; - Interactive Mode&lt;/span&gt;&#xA;  &lt;a href=&#34;#-i---interactive-mode&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;The &lt;code&gt;-i&lt;/code&gt; flag stands for &amp;ldquo;interactive.&amp;rdquo; When you include this flag in your &lt;code&gt;docker run&lt;/code&gt; command, it tells Docker to keep STDIN (standard input) open, allowing you to interact with the container&amp;rsquo;s command or application. Here&amp;rsquo;s what it means in more detail:&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Force Select Text from a Screen Session on Terminal Mac</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-force-select-text-from-a-screen-session-on-terminal-mac/</link>
      <pubDate>Fri, 17 Feb 2017 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-force-select-text-from-a-screen-session-on-terminal-mac/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;Sometimes, when you&amp;rsquo;re working in a terminal on your Mac and using the &lt;code&gt;screen&lt;/code&gt; command to manage multiple shell sessions, you may encounter situations where you need to select and copy text from within a &lt;code&gt;screen&lt;/code&gt; session. However, the usual text selection methods like click and drag may not work as expected within a &lt;code&gt;screen&lt;/code&gt; session. In such cases, you can use the &lt;code&gt;Fn&lt;/code&gt; key in combination with the &lt;code&gt;Left Click&lt;/code&gt; to force select text within a &lt;code&gt;screen&lt;/code&gt; session.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Make Google App Engine Local Development Server Available on network</title>
      <link>https://dimasmaulana.pages.dev/posts/development/make-google-app-engine-local-development-server-available-on-network/</link>
      <pubDate>Fri, 17 Feb 2017 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/make-google-app-engine-local-development-server-available-on-network/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;To make the Google App Engine Local Development Server available on your network using Maven, you need to configure the &lt;code&gt;appengine-maven-plugin&lt;/code&gt; with the appropriate host and port settings. By default, the local development server runs on &lt;code&gt;localhost&lt;/code&gt;, which means it&amp;rsquo;s only accessible from the same machine where it&amp;rsquo;s running. To make it accessible from other devices on your network, you should set the host to &lt;code&gt;0.0.0.0&lt;/code&gt; to bind it to all available network interfaces.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Understanding the Difference Between Bug and Defect</title>
      <link>https://dimasmaulana.pages.dev/posts/development/understanding-the-difference-between-bug-and-defect/</link>
      <pubDate>Mon, 06 Feb 2017 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/understanding-the-difference-between-bug-and-defect/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In software development, the terms &amp;ldquo;bug&amp;rdquo; and &amp;ldquo;defect&amp;rdquo; are often used interchangeably, but they have distinct meanings that can impact how issues are categorized and addressed. To clarify the difference, let&amp;rsquo;s explore each term and provide examples for better comprehension.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;bug&#34;&gt;&lt;span&gt;Bug&lt;/span&gt;&#xA;  &lt;a href=&#34;#bug&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;A &lt;strong&gt;bug&lt;/strong&gt; is a problem or issue in a software application that occurs as a result of a coding error. It represents an unintended behavior that arises from mistakes made during the implementation phase of development. Bugs can manifest as crashes, data corruption, unexpected behaviors, or any issue where the software does not perform as intended due to a coding mistake.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Removing Git History Commit</title>
      <link>https://dimasmaulana.pages.dev/posts/development/removing-git-history-commit/</link>
      <pubDate>Sat, 04 Feb 2017 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/removing-git-history-commit/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;If you want to remove Git commit history and start fresh with a new branch while keeping your current files, you can follow these steps:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;1. **Create a New Orphan Branch:**&#xA;&#xA;   ```shell&#xA;   git checkout --orphan newBranch&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This creates a new branch called &lt;code&gt;newBranch&lt;/code&gt; with no commit history.&lt;/p&gt;&#xA;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Add and Commit Your Current Files:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;git add -A  # Add all files and changes&#xA;git commit -m &amp;#34;Initial commit&amp;#34;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This stages and commits all your current files to the new branch.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Creating an L2TP over IPSec VPN</title>
      <link>https://dimasmaulana.pages.dev/posts/development/creating-an-l2tp-over-ipsec-vpn/</link>
      <pubDate>Tue, 17 Jan 2017 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/creating-an-l2tp-over-ipsec-vpn/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;I&amp;rsquo;m unable to access external websites or specific URLs, including the one you provided. However, I can certainly help you create a markdown article explaining how to set up L2TP over IPSec and how to port forward the necessary ports. Here&amp;rsquo;s a guide on how to do it:&lt;/p&gt;&#xA;&lt;h1 class=&#34;heading-element&#34; id=&#34;creating-an-l2tp-over-ipsec-vpn&#34;&gt;&lt;span&gt;Creating an L2TP over IPSec VPN&lt;/span&gt;&#xA;  &lt;a href=&#34;#creating-an-l2tp-over-ipsec-vpn&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h1&gt;&lt;p&gt;In this guide, we will walk you through the process of setting up your own L2TP (Layer 2 Tunneling Protocol) VPN over IPSec (Internet Protocol Security). This will allow you to establish a secure connection to your home network or server from a remote location.&lt;/p&gt;</description>
    </item>
    <item>
      <title>GPG Key Import to another PC</title>
      <link>https://dimasmaulana.pages.dev/posts/development/gpg-key-import-to-another-pc/</link>
      <pubDate>Tue, 17 Jan 2017 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/gpg-key-import-to-another-pc/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;We have provided a set of commands for working with GPG keys, encrypting and decrypting files, and extracting tar archives. These commands are useful for various tasks related to data security and file management. Here&amp;rsquo;s a breakdown of each command with a brief explanation:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;scp example-backup-enc-privkey.asc root@192.168.1.6:~/&#xA;gpg --import example-backup-enc-privkey.asc&#xA;gpg --edit-key john@example.com&#xA;&#xA;&amp;gt; trust&#xA;5&#xA;quit&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;The &lt;code&gt;scp&lt;/code&gt; command is used to securely copy the GPG private key file (&lt;code&gt;example-backup-enc-privkey.asc&lt;/code&gt;) to another PC with the specified IP address and destination folder (&lt;code&gt;~&lt;/code&gt; denotes the user&amp;rsquo;s home directory).&lt;/p&gt;</description>
    </item>
    <item>
      <title>SSH Through A Router Without Port Forwarding</title>
      <link>https://dimasmaulana.pages.dev/posts/development/ssh-through-a-router-without-port-forwarding/</link>
      <pubDate>Fri, 30 Dec 2016 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/ssh-through-a-router-without-port-forwarding/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;If you want to establish an SSH connection to your &amp;ldquo;linux server&amp;rdquo; from the outside without configuring port forwarding on your router, you can use SSH remote port forwarding. This technique allows you to connect to an external server (let&amp;rsquo;s call it &amp;ldquo;my_other_server&amp;rdquo;) and have it forward traffic back to your &amp;ldquo;linux server.&amp;rdquo; Here&amp;rsquo;s how you can do it:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;SSH from linux_server to my_other_server:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Open a terminal on your &amp;ldquo;linux server&amp;rdquo; and use the following command to initiate an SSH connection to &amp;ldquo;my_other_server,&amp;rdquo; specifying remote port forwarding:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Configure Postfix to use Gmail as a Mail Relay</title>
      <link>https://dimasmaulana.pages.dev/posts/development/configure-postfix-to-use-gmail-as-a-mail-relay/</link>
      <pubDate>Wed, 20 Jul 2016 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/configure-postfix-to-use-gmail-as-a-mail-relay/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;If you have a Gmail account, you can configure your Mail Transfer Agent (MTA) to relay outgoing mail through Gmail. This provides you with the reliability and infrastructure of Gmail for sending emails from the command line. In this tutorial, we&amp;rsquo;ll use Postfix as our MTA, which is a secure and open-source mail transfer agent. We&amp;rsquo;ll cover instructions for various operating systems.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#39;images/Configure%20Postfix%20to%20use%20Gmail%20as%20a%20Mail%20Relay-2016-07-20.gif&#39; alt=&#34;Configure Postfix to use Gmail as a Mail Relay&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Change HOME Directory to User Profile Directory CYGWIN</title>
      <link>https://dimasmaulana.pages.dev/posts/development/change-home-directory-to-user-profile-directory-cygwin/</link>
      <pubDate>Sun, 10 Jul 2016 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/change-home-directory-to-user-profile-directory-cygwin/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;You want to change the home directory for users in Cygwin to their Windows profile directory. You&amp;rsquo;ve already identified the relevant configuration file, &lt;code&gt;/etc/nsswitch.conf&lt;/code&gt;, and the &lt;code&gt;db_home&lt;/code&gt; parameter. Here&amp;rsquo;s how you can change the home directory to the Windows profile directory using this configuration:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Open &lt;code&gt;/etc/nsswitch.conf&lt;/code&gt;&lt;/strong&gt;: Use your preferred text editor (e.g., &lt;code&gt;nano&lt;/code&gt;, &lt;code&gt;vim&lt;/code&gt;, or &lt;code&gt;notepad&lt;/code&gt;) to open the &lt;code&gt;/etc/nsswitch.conf&lt;/code&gt; file in Cygwin.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Edit the &lt;code&gt;db_home&lt;/code&gt; parameter&lt;/strong&gt;:&lt;/p&gt;&#xA;&lt;p&gt;Locate the line that starts with &lt;code&gt;db_home:&lt;/code&gt;. You&amp;rsquo;ve already made the necessary change, but make sure it looks like this:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Configure Locales in Ubuntu</title>
      <link>https://dimasmaulana.pages.dev/posts/development/configure-locales-in-ubuntu/</link>
      <pubDate>Wed, 22 Jun 2016 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/configure-locales-in-ubuntu/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#39;images/Configure%20Locales%20in%20Ubuntu-2016-06-22.png&#39; alt=&#34;Configure Locales in Ubuntu&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Locales (language settings) can be configured for Ubuntu from the command line. This guide is applicable to Ubuntu 11.10 and provides steps for displaying current settings, available locales, and adjusting locales as needed.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;displaying-the-current-settings&#34;&gt;&lt;span&gt;Displaying the Current Settings&lt;/span&gt;&#xA;  &lt;a href=&#34;#displaying-the-current-settings&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;You can check the current locale settings using the &lt;code&gt;locale&lt;/code&gt; command:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Installing VirtualBox as a Service on Windows using NSSM</title>
      <link>https://dimasmaulana.pages.dev/posts/development/installing-virtualbox-as-a-service-on-windows-using-nssm/</link>
      <pubDate>Wed, 22 Jun 2016 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/installing-virtualbox-as-a-service-on-windows-using-nssm/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In this article, we will guide you through the process of installing VirtualBox as a Windows service using NSSM (Non-Sucking Service Manager) and starting a Virtual Machine automatically as a service. This can be useful for scenarios where you need a Virtual Machine to run in the background, even when the user is not logged in.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;prerequisites&#34;&gt;&lt;span&gt;Prerequisites&lt;/span&gt;&#xA;  &lt;a href=&#34;#prerequisites&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Before we begin, ensure that you have the following prerequisites in place:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Setting up an HTTPS Proxy with Apache</title>
      <link>https://dimasmaulana.pages.dev/posts/development/setting-up-an-https-proxy-with-apache/</link>
      <pubDate>Wed, 22 Jun 2016 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/setting-up-an-https-proxy-with-apache/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In this article, we will walk you through the process of setting up an HTTPS proxy using Apache. An HTTPS proxy can be useful for various purposes, such as load balancing, reverse proxying, or providing an additional layer of security for your web applications.&lt;/p&gt;&#xA;&lt;p&gt;To configure Apache as an HTTPS proxy, you will need to make use of the &lt;code&gt;mod_proxy&lt;/code&gt; and &lt;code&gt;mod_proxy_http&lt;/code&gt; modules, along with the SSL-related settings. Below are the steps to configure Apache as an HTTPS proxy with the provided SSL settings:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Configuring Samba Share in Linux</title>
      <link>https://dimasmaulana.pages.dev/posts/development/configuring-samba-share-in-linux/</link>
      <pubDate>Wed, 08 Jun 2016 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/configuring-samba-share-in-linux/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;Samba is a widely-used software suite that enables file and printer sharing between Windows and Linux systems. The primary configuration file for Samba is typically located at &lt;code&gt;/etc/samba/smb.conf&lt;/code&gt;. This article will guide you through setting up a Samba share on Linux, utilizing the provided information.&lt;/p&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;samba-configuration-path&#34;&gt;&lt;span&gt;Samba Configuration Path&lt;/span&gt;&#xA;  &lt;a href=&#34;#samba-configuration-path&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;p&gt;The main configuration file for Samba is usually located at &lt;code&gt;/etc/samba/smb.conf&lt;/code&gt;. This file contains various settings that control the behavior of Samba, including share definitions, authentication settings, and access controls.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Adding a Non-Root User to Execute Docker Commands</title>
      <link>https://dimasmaulana.pages.dev/posts/development/adding-a-non-root-user-to-execute-docker-commands/</link>
      <pubDate>Tue, 07 Jun 2016 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/adding-a-non-root-user-to-execute-docker-commands/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In Docker, it&amp;rsquo;s common to want non-root users to execute Docker commands without needing to use &lt;code&gt;sudo&lt;/code&gt; each time. This is achieved by adding the user to the &lt;code&gt;docker&lt;/code&gt; group. Here are the steps to do that:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Open a Terminal&lt;/strong&gt;: First, open a terminal on your Linux system.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Check If the &lt;code&gt;docker&lt;/code&gt; Group Exists&lt;/strong&gt;: Run the following command to check if the &lt;code&gt;docker&lt;/code&gt; group already exists:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;cat /etc/group | grep docker&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;If it doesn&amp;rsquo;t exist, you will not see any output from this command.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Fix Chrome Certificate HSTS Issue</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-fix-chrome-certificate-hsts-issue/</link>
      <pubDate>Fri, 20 May 2016 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-fix-chrome-certificate-hsts-issue/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;If you are encountering an issue with Chrome&amp;rsquo;s HSTS (HTTP Strict Transport Security) certificate for a specific website, you can follow these steps to resolve it. HSTS is a security feature that enforces HTTPS connections for websites, and sometimes it can lead to certificate errors. Here&amp;rsquo;s a step-by-step guide on how to fix it:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Open Google Chrome and go to the address bar.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Type the following URL and press Enter:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Login to any user as root</title>
      <link>https://dimasmaulana.pages.dev/posts/development/login-to-any-user-as-root/</link>
      <pubDate>Thu, 21 Apr 2016 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/login-to-any-user-as-root/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;It looks like you&amp;rsquo;re trying to log in as the root user and then switch to another user, &lt;code&gt;www-data&lt;/code&gt;, with the &lt;code&gt;su&lt;/code&gt; command in a Unix-like operating system. Here&amp;rsquo;s a breakdown of what&amp;rsquo;s happening in your provided commands:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;$ su&lt;/code&gt;: This command is used to switch to another user account. When executed without specifying a username, it assumes you want to switch to the root user.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;Password:&lt;/code&gt;: You&amp;rsquo;ll be prompted to enter the root user&amp;rsquo;s password. You should enter the root password to proceed.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Port Forward Docker-Machine to Localhost</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-port-forward-docker-machine-to-localhost/</link>
      <pubDate>Tue, 08 Mar 2016 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-port-forward-docker-machine-to-localhost/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;Port forwarding allows you to expose services running inside a virtual machine, such as Docker-Machine, to your local machine. In this example, we&amp;rsquo;ll use VirtualBox and Docker-Machine to forward port 8080 from the virtual machine to localhost.&lt;/p&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;prerequisites&#34;&gt;&lt;span&gt;Prerequisites&lt;/span&gt;&#xA;  &lt;a href=&#34;#prerequisites&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;p&gt;Before you begin, make sure you have the following:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Location of Cron Logs on Ubuntu 14.04</title>
      <link>https://dimasmaulana.pages.dev/posts/development/ocation-of-cron-logs-on-ubuntu-1404/</link>
      <pubDate>Thu, 07 Jan 2016 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/ocation-of-cron-logs-on-ubuntu-1404/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;Cron logs on Ubuntu 14.04 are typically stored in the &lt;code&gt;/var/log/syslog&lt;/code&gt; file. However, if you wish to separate cron-related logs into their own file, you can follow the steps you&amp;rsquo;ve provided to create a dedicated log file for cron messages. Here&amp;rsquo;s how you can do it:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Open the &lt;code&gt;50-default.conf&lt;/code&gt; file in the &lt;code&gt;/etc/rsyslog.d/&lt;/code&gt; directory:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;cd /etc/rsyslog.d/&#xA;sudo nano 50-default.conf&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Uncomment the line that corresponds to cron messages. Remove the &amp;ldquo;#&amp;rdquo; symbol at the beginning of the line:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Viewing All Git Diffs with Vimdiff</title>
      <link>https://dimasmaulana.pages.dev/posts/development/viewing-all-git-diffs-with-vimdiff/</link>
      <pubDate>Wed, 06 Jan 2016 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/viewing-all-git-diffs-with-vimdiff/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;If you&amp;rsquo;re a developer using Git for version control and you&amp;rsquo;re looking for a powerful way to visualize the differences between different versions of your code, Vimdiff is a handy tool to have in your toolkit. Vimdiff is a feature-rich text editor that comes with built-in support for comparing and highlighting differences between files, making it an ideal choice for inspecting code changes. In this article, we&amp;rsquo;ll explore how to set up Vimdiff as a diff tool for Git and how to make the most of its features for effective code comparison.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Troubleshooting SSHD Connection Issues with Public Key in Cygwin</title>
      <link>https://dimasmaulana.pages.dev/posts/development/troubleshooting-sshd-connection-issues-with-public-key-in-cygwin/</link>
      <pubDate>Thu, 24 Dec 2015 23:19:58 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/troubleshooting-sshd-connection-issues-with-public-key-in-cygwin/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <category domain="https://dimasmaulana.pages.dev/categories/troubleshooting/">Troubleshooting</category>
      <description>&lt;p&gt;Cygwin provides a Unix-like environment for Windows, including an implementation of OpenSSH, which allows you to establish secure remote connections using the SSH (Secure Shell) protocol. However, connecting to Cygwin&amp;rsquo;s SSH server (sshd) using public key authentication can sometimes present challenges. This blog post will guide you through a troubleshooting process to resolve issues related to connecting to Cygwin sshd with public key authentication.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;step-1-update-etcsshd_config&#34;&gt;&lt;span&gt;Step 1: Update /etc/sshd_config&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-1-update-etcsshd_config&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;Open the Cygwin terminal and navigate to the Cygwin installation directory (typically C:\cygwin64 or C:\cygwin).&lt;/li&gt;&#xA;&lt;li&gt;Locate the &amp;ldquo;sshd_config&amp;rdquo; file in the etc directory. The full path should be something like C:\cygwin64\etc\sshd_config.&lt;/li&gt;&#xA;&lt;li&gt;Open the &amp;ldquo;sshd_config&amp;rdquo; file using a text editor (e.g., Notepad++).&lt;/li&gt;&#xA;&lt;li&gt;Look for the &amp;ldquo;StrictModes&amp;rdquo; option and set it to &amp;ldquo;no.&amp;rdquo; This allows more relaxed permission checking for the authorized_keys file.&lt;/li&gt;&#xA;&lt;li&gt;Save the changes and close the text editor.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;step-2-generate-ssh-key-pair&#34;&gt;&lt;span&gt;Step 2: Generate SSH Key Pair&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-2-generate-ssh-key-pair&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;If you haven&amp;rsquo;t already done so, generate an SSH key pair on the client machine using the &amp;ldquo;ssh-keygen&amp;rdquo; command. Make sure to choose a strong passphrase to protect your private key.&lt;/li&gt;&#xA;&lt;li&gt;By default, the key pair will be saved in the &amp;ldquo;.ssh&amp;rdquo; directory in the user&amp;rsquo;s home directory (e.g., C:\Users\YourUsername.ssh).&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;step-3-copy-public-key-to-cygwin-server&#34;&gt;&lt;span&gt;Step 3: Copy Public Key to Cygwin Server&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-3-copy-public-key-to-cygwin-server&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;In the Cygwin terminal, navigate to the user&amp;rsquo;s home directory (e.g., cd ~).&lt;/li&gt;&#xA;&lt;li&gt;Create the &amp;ldquo;.ssh&amp;rdquo; directory if it doesn&amp;rsquo;t exist: mkdir .ssh&lt;/li&gt;&#xA;&lt;li&gt;Use the &amp;ldquo;scp&amp;rdquo; command to copy the public key to the Cygwin server: scp &amp;lt;public_key_file&amp;gt; user@server:/home/user/.ssh/authorized_keys&#xA;Replace &amp;ldquo;&amp;lt;public_key_file&amp;gt;&amp;rdquo; with the path to your public key file.&#xA;Replace &amp;ldquo;user&amp;rdquo; with your username on the Cygwin server.&#xA;Replace &amp;ldquo;server&amp;rdquo; with the hostname or IP address of the Cygwin server.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;step-4-restart-sshd-service&#34;&gt;&lt;span&gt;Step 4: Restart SSHD Service&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-4-restart-sshd-service&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;In the Cygwin terminal, run the following command to restart the sshd service: net stop sshd &amp;amp;&amp;amp; net start sshd&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;step-5-test-ssh-connection&#34;&gt;&lt;span&gt;Step 5: Test SSH Connection&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-5-test-ssh-connection&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;On the client machine, open a new terminal or command prompt.&lt;/li&gt;&#xA;&lt;li&gt;Run the following command to connect to the Cygwin server using SSH: ssh user@server&#xA;Replace &amp;ldquo;user&amp;rdquo; with your username on the Cygwin server.&#xA;Replace &amp;ldquo;server&amp;rdquo; with the hostname or IP address of the Cygwin server.&lt;/li&gt;&#xA;&lt;li&gt;If the connection is successful and prompts for the passphrase, enter the passphrase associated with your private key.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;conclusion&#34;&gt;&lt;span&gt;Conclusion&lt;/span&gt;&#xA;  &lt;a href=&#34;#conclusion&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;By following the troubleshooting steps outlined in this blog post, you should be able to connect to the Cygwin sshd server using public key authentication. Remember to ensure that the &amp;ldquo;StrictModes&amp;rdquo; option in the sshd_config file is set to &amp;ldquo;no&amp;rdquo; to allow more flexible permission checking for the authorized_keys file. Generating an SSH key pair, copying the public key to the Cygwin server, and restarting the sshd service are critical steps in establishing a successful SSH connection.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Add Command Line Interface (CLI) Args On PhantomJS</title>
      <link>https://dimasmaulana.pages.dev/posts/development/add-command-line-interface-cli-args-on-phantomjs/</link>
      <pubDate>Wed, 16 Dec 2015 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/add-command-line-interface-cli-args-on-phantomjs/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;To add a command-line interface (CLI) and command-line arguments (args) to PhantomJS when using Selenium WebDriver in Node.js, you can modify your existing code as follows. I&amp;rsquo;ll provide you with a step-by-step guide and also explain the changes made:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;const webdriver = require(&amp;#39;selenium-webdriver&amp;#39;);&#xA;const { Builder } = webdriver;&#xA;const phantomjs = require(&amp;#39;phantomjs-prebuilt&amp;#39;);&#xA;&#xA;// Define your PhantomJS command-line arguments here&#xA;const phantomjsArgs = [&#xA;  &amp;#39;--load-images=false&amp;#39;,&#xA;  // Add any other arguments you need here&#xA;];&#xA;&#xA;// Set up capabilities with the CLI arguments&#xA;const capabilities = webdriver.Capabilities.phantomjs();&#xA;capabilities.set(&amp;#39;phantomjs.cli.args&amp;#39;, phantomjsArgs);&#xA;&#xA;// Set the path to the PhantomJS executable&#xA;const phantomjsPath = phantomjs.path;&#xA;capabilities.set(&amp;#39;phantomjs.binary.path&amp;#39;, phantomjsPath);&#xA;&#xA;// Create a WebDriver instance with the configured capabilities&#xA;const driver = new Builder()&#xA;  .withCapabilities(capabilities)&#xA;  .build();&#xA;&#xA;// Example usage: navigate to a webpage&#xA;driver.get(&amp;#39;https://example.com&amp;#39;)&#xA;  .then(() =&amp;gt; {&#xA;    console.log(&amp;#39;Page title:&amp;#39;, driver.getTitle());&#xA;  })&#xA;  .catch(error =&amp;gt; {&#xA;    console.error(&amp;#39;Error:&amp;#39;, error);&#xA;  });&#xA;&#xA;// Don&amp;#39;t forget to quit the driver when done&#xA;driver.quit();&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Here are the changes made to your original code:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Check Whenever Wifi Is Connected And Send Email When Its Connected</title>
      <link>https://dimasmaulana.pages.dev/posts/development/check-whenever-wifi-is-connected-and-send-email-when-its-connected/</link>
      <pubDate>Wed, 16 Dec 2015 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/check-whenever-wifi-is-connected-and-send-email-when-its-connected/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;Thank you for providing the information and the modified Bash script. Below, I&amp;rsquo;ll provide a breakdown of the script&amp;rsquo;s functionality and highlight the changes made for clarity. This will be presented in Markdown format as requested.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;bash-script-check-wifi-connection-and-send-email&#34;&gt;&lt;span&gt;Bash Script: Check WiFi Connection and Send Email&lt;/span&gt;&#xA;  &lt;a href=&#34;#bash-script-check-wifi-connection-and-send-email&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;This Bash script checks whether the WiFi connection is active and sends an email when it reconnects. Here&amp;rsquo;s an overview of the script&amp;rsquo;s key points and improvements:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Change Default Form Root When Sending Email From Mail Or Mailx</title>
      <link>https://dimasmaulana.pages.dev/posts/development/change-default-form-root-when-sending-email-from-mail-or-mailx/</link>
      <pubDate>Tue, 15 Dec 2015 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/change-default-form-root-when-sending-email-from-mail-or-mailx/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In order to change the default sender name when sending an email using the &lt;code&gt;mail&lt;/code&gt; or &lt;code&gt;mailx&lt;/code&gt; command, you can follow these steps. This will allow you to replace the default &amp;ldquo;root&amp;rdquo; with your desired name. Please note that these instructions are typically applicable to Unix-like systems such as Linux.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Change the Full Name&lt;/strong&gt;:&lt;/p&gt;&#xA;&lt;p&gt;To change the full name associated with your user account, you can use the &lt;code&gt;chfn&lt;/code&gt; (change finger) command. Open your terminal and run the following command, replacing &lt;code&gt;&amp;quot;Your Full Name&amp;quot;&lt;/code&gt; with the name you want to use as the sender:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Change From Value On Cron Email</title>
      <link>https://dimasmaulana.pages.dev/posts/development/change-from-value-on-cron-email/</link>
      <pubDate>Tue, 15 Dec 2015 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/change-from-value-on-cron-email/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;Certainly! To update a cron task and customize the email sent from it, you can use the following command with the &lt;code&gt;&amp;lt;CRON COMMAND&amp;gt;&lt;/code&gt; replaced by your actual command:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;&amp;lt;CRON COMMAND&amp;gt; | mail -E -s &amp;#34;Subject&amp;#34; -r &amp;#34;CUSTOM FORM NAME &amp;lt;user@mail.com&amp;gt;&amp;#34;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This command will execute &lt;code&gt;&amp;lt;CRON COMMAND&amp;gt;&lt;/code&gt; and send the output as an email with the specified subject and sender address.&lt;/p&gt;&#xA;&lt;p&gt;Here&amp;rsquo;s a breakdown of the command:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;&amp;lt;CRON COMMAND&amp;gt;&lt;/code&gt;: Replace this with the actual command you want to run on a schedule using cron.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Silence Result Of Command</title>
      <link>https://dimasmaulana.pages.dev/posts/development/silence-result-of-command/</link>
      <pubDate>Tue, 15 Dec 2015 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/silence-result-of-command/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;When you want to silence the result of a command in a Unix-like shell environment, you can use the &lt;code&gt;&amp;gt; /dev/null&lt;/code&gt; or &lt;code&gt;2&amp;gt; /dev/null&lt;/code&gt; redirection techniques, depending on whether you want to suppress standard output (stdout) or standard error (stderr) respectively. Here&amp;rsquo;s how you can use them:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;To silence standard output (stdout) of a command, use &lt;code&gt;&amp;gt; /dev/null&lt;/code&gt;:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;command &amp;gt; /dev/null&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This will discard the normal output of the command.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;To silence standard error (stderr) of a command, use &lt;code&gt;2&amp;gt; /dev/null&lt;/code&gt;:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fail2ban Block SSH Public Key Connection Attempt</title>
      <link>https://dimasmaulana.pages.dev/posts/development/fail2ban-block-ssh-public-key-connection-attempt/</link>
      <pubDate>Fri, 27 Nov 2015 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/fail2ban-block-ssh-public-key-connection-attempt/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;You want to configure for Fail2ban to block SSH public key connection attempts using a custom filter and jail configuration. This setup is designed to identify and block IP addresses that attempt to make SSH key-based connections and fail authentication multiple times. Let&amp;rsquo;s break down your configuration step by step.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;jail-configuration-jaillocal&#34;&gt;&lt;span&gt;Jail Configuration (jail.local)&lt;/span&gt;&#xA;  &lt;a href=&#34;#jail-configuration-jaillocal&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;In your &lt;code&gt;jail.local&lt;/code&gt; configuration, you have defined a custom jail section for SSH key-based authentication:&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Configure Fail2Ban to Send Email Notifications when Banning IP Addresses</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-configure-fail2ban-to-send-email-notifications-when-banning-ip-addresses/</link>
      <pubDate>Fri, 27 Nov 2015 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-configure-fail2ban-to-send-email-notifications-when-banning-ip-addresses/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;Fail2Ban is a powerful tool for protecting your server against brute-force attacks by banning IP addresses that repeatedly fail authentication attempts. While it can efficiently ban these IPs, you might also want to receive email notifications when such bans occur. This guide will walk you through configuring Fail2Ban to send email notifications when it bans an IP address.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;prerequisites&#34;&gt;&lt;span&gt;Prerequisites&lt;/span&gt;&#xA;  &lt;a href=&#34;#prerequisites&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Before you begin, ensure you have the following:&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Use Fail2Ban To Block Laravel Auth Attempts And Other Auth/Login URL Access</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-use-fail2ban-to-block-laravel-auth-attempts-and-other-authlogin-url-access/</link>
      <pubDate>Fri, 27 Nov 2015 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-use-fail2ban-to-block-laravel-auth-attempts-and-other-authlogin-url-access/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;Fail2Ban is a valuable security tool that can help protect your server from unauthorized access attempts, including those targeting Laravel&amp;rsquo;s authentication system. In this article, we&amp;rsquo;ll guide you through setting up Fail2Ban to block authentication attempts and access to the &lt;code&gt;/auth/login&lt;/code&gt; URL.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;prerequisites&#34;&gt;&lt;span&gt;Prerequisites&lt;/span&gt;&#xA;  &lt;a href=&#34;#prerequisites&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Before we get started, make sure you have the following prerequisites in place:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Troubleshooting Vim Issues on Bash in Windows 10</title>
      <link>https://dimasmaulana.pages.dev/posts/development/troubleshooting-vim-issues-on-bash-in-windows-10/</link>
      <pubDate>Fri, 27 Nov 2015 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/troubleshooting-vim-issues-on-bash-in-windows-10/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;If you&amp;rsquo;re encountering issues while running Vim with Vundle on Bash in Windows 10, such as the &amp;ldquo;Unknown Command ^M&amp;rdquo; error, NERDTree problems, mouse dragging not working, or font issues, this guide will help you troubleshoot and resolve these issues.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;1-fixing-the&#34;&gt;&lt;span&gt;1. &lt;strong&gt;Fixing the &amp;ldquo;Unknown Command ^M&amp;rdquo; Error&lt;/strong&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#1-fixing-the&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;The &amp;ldquo;Unknown Command ^M&amp;rdquo; error is often caused by inconsistent line endings in your Vim files. To resolve this issue, you can configure Git to use consistent line endings.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Bash Configurations Demystified</title>
      <link>https://dimasmaulana.pages.dev/posts/development/bash-configurations-demystified/</link>
      <pubDate>Fri, 20 Nov 2015 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/bash-configurations-demystified/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;Bash configurations on Linux and macOS can be confusing for many people, myself included. I&amp;rsquo;ve written this short guide to remind you and me both of a reasonable set of conventions you could follow.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;login-shell-vs-non-login-shell&#34;&gt;&lt;span&gt;Login Shell vs. Non-login Shell&lt;/span&gt;&#xA;  &lt;a href=&#34;#login-shell-vs-non-login-shell&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;When logging in via the console (e.g., an SSH session, the scary console login after you&amp;rsquo;ve messed up your GUI settings, etc.), you are starting a login shell. If you open a terminal application (e.g., xterm, etc.) from your desktop, then you are starting a non-login shell (except on macOS, discussed later).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Using The Mouse For Vim In An Xterm</title>
      <link>https://dimasmaulana.pages.dev/posts/development/using-the-mouse-for-vim-in-an-xterm/</link>
      <pubDate>Thu, 19 Nov 2015 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/using-the-mouse-for-vim-in-an-xterm/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;If you prefer working in an xterm rather than the GUI version of Vim, you might encounter some inconveniences. One common issue is copying text from Vim within the xterm, which includes line numbers. The GUI version of Vim handles this better, as it selects only the text, leaving out the line numbers. However, you can achieve similar functionality in the xterm version of Vim by adding the following line to your &lt;code&gt;vimrc&lt;/code&gt;:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Bower Default Bower Components Suddenly Changed To Src Vendor</title>
      <link>https://dimasmaulana.pages.dev/posts/development/bower-default-bowercomponents-suddenly-changed-to-src-vendor/</link>
      <pubDate>Sat, 05 Sep 2015 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/bower-default-bowercomponents-suddenly-changed-to-src-vendor/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;If you&amp;rsquo;ve suddenly noticed that the default Bower directory &lt;code&gt;bower_components&lt;/code&gt; has changed to &lt;code&gt;src/vendor&lt;/code&gt; in your project, there could be a few reasons for this unexpected behavior. One common reason is the presence of a &lt;code&gt;.bowerrc&lt;/code&gt; file in your project&amp;rsquo;s parent directory, which might be overriding the default configuration. Here&amp;rsquo;s how you can resolve this issue:&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;step-1-check-for-bowerrc-files&#34;&gt;&lt;span&gt;Step 1: Check for &lt;code&gt;.bowerrc&lt;/code&gt; Files&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-1-check-for-bowerrc-files&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;First, navigate to your project&amp;rsquo;s root directory and its parent directories to check for any &lt;code&gt;.bowerrc&lt;/code&gt; files. These files can contain Bower configuration settings that override the defaults. You may have one in the project root or in any parent directories.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Navigate Scroll Up And Down On Screen SSH</title>
      <link>https://dimasmaulana.pages.dev/posts/development/navigate-scroll-up-and-down-on-screen-ssh/</link>
      <pubDate>Sat, 06 Jun 2015 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/navigate-scroll-up-and-down-on-screen-ssh/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;When working in an SSH session or terminal, you can navigate and scroll up and down on the screen using a combination of keyboard shortcuts and Vim-like commands. Here&amp;rsquo;s how to do it:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Ctrl + A, ESC:&lt;/strong&gt; This combination is used to enter the &amp;ldquo;copy mode&amp;rdquo; in the terminal. Pressing &lt;code&gt;Ctrl + A&lt;/code&gt; followed by &lt;code&gt;ESC&lt;/code&gt; allows you to navigate and scroll using Vim-like keybindings.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Vim-like Commands:&lt;/strong&gt; Once you are in copy mode, you can use the following Vim-like commands to navigate and scroll:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Troubleshooting a Hanging Cron Job in Ubuntu&#39;s APT Script</title>
      <link>https://dimasmaulana.pages.dev/posts/development/troubleshooting-a-hanging-cron-job-in-ubuntu-s-apt-script/</link>
      <pubDate>Sun, 03 May 2015 07:09:52 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/troubleshooting-a-hanging-cron-job-in-ubuntu-s-apt-script/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <category domain="https://dimasmaulana.pages.dev/categories/troubleshooting/">Troubleshooting</category>
      <description>&lt;p&gt;Cron jobs are an essential part of automating tasks on a Unix-like operating system. However, occasionally, you may encounter issues where a cron job hangs or fails to run as expected. In this blog post, we&amp;rsquo;ll address a specific scenario where a cron job hangs in the APT script on Ubuntu and provide a solution to resolve it.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;step-1-locate-the-apt-cron-job-script&#34;&gt;&lt;span&gt;Step 1: Locate the APT Cron Job Script&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-1-locate-the-apt-cron-job-script&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;The APT script is responsible for automatically updating the package lists and installing updates on Ubuntu systems. To begin troubleshooting, open a terminal and run the following command to locate the script:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Auto Check Connection And Restart Network Manager If Down</title>
      <link>https://dimasmaulana.pages.dev/posts/development/auto-check-connection-and-restart-network-manager-if-down/</link>
      <pubDate>Sun, 03 May 2015 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/auto-check-connection-and-restart-network-manager-if-down/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;h2 class=&#34;heading-element&#34; id=&#34;introduction&#34;&gt;&lt;span&gt;Introduction&lt;/span&gt;&#xA;  &lt;a href=&#34;#introduction&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;In this article, we will create a simple script and a cron job to automatically check the connection status of your wireless network (Wi-Fi) and restart the Network Manager service if the connection is down. This can be particularly useful to ensure that your network remains stable and connected, especially in situations where the Wi-Fi connection tends to drop or become unreliable.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Resolve Dynclient Timeout In DDClient And Email Failure Notifications</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-resolve-dynclient-timeout-in-ddclient-and-email-failure-notifications/</link>
      <pubDate>Sun, 03 May 2015 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-resolve-dynclient-timeout-in-ddclient-and-email-failure-notifications/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;If you&amp;rsquo;re encountering Dynclient timeout issues with DDClient and want to set up email notifications for failures, you can follow these steps to resolve the problem:&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;step-1-open-ddclient-configuration-file&#34;&gt;&lt;span&gt;Step 1: Open DDClient Configuration File&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-1-open-ddclient-configuration-file&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Use a text editor to open the DDClient configuration file. You can use the &lt;code&gt;vim&lt;/code&gt; editor as you mentioned in your command:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Routing Forward IP</title>
      <link>https://dimasmaulana.pages.dev/posts/development/routing-forward-ip/</link>
      <pubDate>Sun, 03 May 2015 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/routing-forward-ip/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;It looks like you&amp;rsquo;re configuring some iptables rules for routing and forwarding traffic between two networks with specific IP address ranges. These rules are designed to allow traffic to flow between the &amp;ldquo;wi.red.net.work&amp;rdquo; network and the &amp;ldquo;wire.less.net.work&amp;rdquo; network through two interfaces, &amp;ldquo;eth0&amp;rdquo; and &amp;ldquo;wlan0.&amp;rdquo;&lt;/p&gt;&#xA;&lt;p&gt;Here&amp;rsquo;s a breakdown of the rules you&amp;rsquo;ve provided:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;The first rule:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;iptables -I FORWARD -i eth0 -o wlan0 -s wi.red.net.work/24 -d wire.less.net.work/24 -j ACCEPT&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This rule allows traffic coming from the &amp;ldquo;wi.red.net.work&amp;rdquo; network (source) going to the &amp;ldquo;wire.less.net.work&amp;rdquo; network (destination) to be forwarded from the &amp;ldquo;eth0&amp;rdquo; interface to the &amp;ldquo;wlan0&amp;rdquo; interface. The &lt;code&gt;-j ACCEPT&lt;/code&gt; part at the end indicates that this traffic should be accepted and forwarded.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Map a Network Drive onto Ubuntu 14.04 Permanently</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-map-a-network-drive-onto-ubuntu-1404-permanently/</link>
      <pubDate>Sat, 02 May 2015 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-map-a-network-drive-onto-ubuntu-1404-permanently/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;&lt;em&gt;Published on August 11, 2014&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#39;images/How%20To%20Map%20A%20Network%20Drive%20Onto%20Ubuntu%2014-04%20Permanently-2015-05-02.png&#39; alt=&#34;Network Drive Mapping&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;In this simple tutorial, we will guide you on how to map a network drive, using a Windows share as an example, onto Ubuntu 14.04 LTS with read and write permissions permanently. We will be performing all actions in a terminal window. If you&amp;rsquo;re not familiar with Linux commands, don&amp;rsquo;t worry; just paste the provided commands into the terminal and hit enter to execute them. We will also include screenshots to make the process clearer.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Send Postfix Email with a Custom Form Name using the -r Option</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-send-postfix-email-with-a-custom-form-name-using-the-r-option/</link>
      <pubDate>Sat, 02 May 2015 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-send-postfix-email-with-a-custom-form-name-using-the-r-option/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;When it comes to sending email notifications from a server, it&amp;rsquo;s important to convey information in a clear and recognizable manner. In this article, we&amp;rsquo;ll explore how to send a Postfix email with a custom form name using the &lt;code&gt;-r&lt;/code&gt; option. This will allow us to define a sender name that helps recipients easily identify the source of the email. We&amp;rsquo;ll go through the process step by step, explaining each component and its significance.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sharing a Folder with Samba on Unity</title>
      <link>https://dimasmaulana.pages.dev/posts/development/sharing-a-folder-with-samba-on-unity/</link>
      <pubDate>Sat, 02 May 2015 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/sharing-a-folder-with-samba-on-unity/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;Sharing folders using Samba on a Unity desktop environment is a convenient way to enable file sharing between Linux and Windows systems. Samba is an open-source software suite that provides seamless integration between Linux/Unix servers and Windows clients. Here&amp;rsquo;s a step-by-step guide on how to share a folder using Samba in the Unity desktop environment:&lt;/p&gt;&#xA;&lt;h3 class=&#34;heading-element&#34; id=&#34;step-1-install-samba&#34;&gt;&lt;span&gt;Step 1: Install Samba&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-1-install-samba&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&lt;p&gt;If you haven&amp;rsquo;t already, you need to install Samba on your system. Open a terminal and run the following command to install Samba:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Automatic Screen For SSH Login</title>
      <link>https://dimasmaulana.pages.dev/posts/development/automatic-screen-for-ssh-login/</link>
      <pubDate>Mon, 20 Apr 2015 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/automatic-screen-for-ssh-login/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;You can enhance your SSH experience by automatically starting a screen or byobu session when you log in via SSH. This can help you maintain your sessions, especially when working on remote servers. Here&amp;rsquo;s how to set it up:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Edit Your &lt;code&gt;~/.bashrc&lt;/code&gt; File&lt;/strong&gt;:&#xA;Open your &lt;code&gt;~/.bashrc&lt;/code&gt; file for editing using your preferred text editor. You can use a command like &lt;code&gt;nano ~/.bashrc&lt;/code&gt; or &lt;code&gt;vim ~/.bashrc&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Add the following code snippet&lt;/strong&gt; to the end of your &lt;code&gt;~/.bashrc&lt;/code&gt; file:&lt;/p&gt;</description>
    </item>
    <item>
      <title>CHMOD Directories Or Files Only</title>
      <link>https://dimasmaulana.pages.dev/posts/development/chmod-directories-or-files-only/</link>
      <pubDate>Sat, 18 Apr 2015 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/chmod-directories-or-files-only/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;When you need to modify file permissions recursively in a directory, you can use the &lt;code&gt;chmod&lt;/code&gt; command along with the &lt;code&gt;find&lt;/code&gt; command in Linux. Here are some commonly used commands to give different permissions to directories and files:&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;recursively-give-directories-read--execute-privileges&#34;&gt;&lt;span&gt;Recursively Give Directories Read &amp;amp; Execute Privileges&lt;/span&gt;&#xA;  &lt;a href=&#34;#recursively-give-directories-read--execute-privileges&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;To recursively give &lt;strong&gt;directories&lt;/strong&gt; read and execute privileges (755), you can use the following command:&lt;/p&gt;</description>
    </item>
    <item>
      <title>How To Protect SSH With Fail2Ban On Ubuntu 12.04</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-protect-ssh-with-fail2ban-on-ubuntu-1204/</link>
      <pubDate>Sat, 18 Apr 2015 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-protect-ssh-with-fail2ban-on-ubuntu-1204/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;Servers are not immune to security threats, especially when it comes to SSH (Secure Shell) access. Brute force attacks can compromise your server&amp;rsquo;s security. Fail2Ban is a tool that automatically defends your virtual private server (VPS) by monitoring log files and responding to malicious behavior. In this guide, we&amp;rsquo;ll walk you through setting up Fail2Ban on Ubuntu 12.04 to protect your SSH access.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;step-1-install-fail2ban&#34;&gt;&lt;span&gt;Step 1: Install Fail2Ban&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-1-install-fail2ban&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;First, you need to install Fail2Ban using &lt;code&gt;apt-get&lt;/code&gt;:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kill User Session (Kill SSH Session Too)</title>
      <link>https://dimasmaulana.pages.dev/posts/development/kill-user-session-kill-ssh-session-too/</link>
      <pubDate>Sat, 18 Apr 2015 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/kill-user-session-kill-ssh-session-too/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;It&amp;rsquo;s essential to exercise caution when terminating user sessions or SSH sessions, as abruptly killing processes can lead to data loss or corruption. However, if you need to forcefully terminate a user&amp;rsquo;s session and their associated SSH session, you can follow the steps you&amp;rsquo;ve outlined. Below is a more detailed explanation of the commands you&amp;rsquo;ve mentioned:&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;1. Terminate the User&amp;rsquo;s Sessions:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;To terminate a specific user&amp;rsquo;s sessions, you can use the &lt;code&gt;pkill&lt;/code&gt; command followed by the &lt;code&gt;-u&lt;/code&gt; option with the username.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Open SSH Server Connection Drops Out After Few or N Minutes of Inactivity</title>
      <link>https://dimasmaulana.pages.dev/posts/development/open-ssh-server-connection-drops-out-after-few-or-n-minutes-of-inactivity/</link>
      <pubDate>Sat, 18 Apr 2015 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/open-ssh-server-connection-drops-out-after-few-or-n-minutes-of-inactivity/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;&lt;strong&gt;Author:&lt;/strong&gt; NIXCRAFT&lt;br&gt;&#xA;&lt;strong&gt;Published Date:&lt;/strong&gt; October 16, 2006&lt;br&gt;&#xA;&lt;strong&gt;Last Updated:&lt;/strong&gt; October 16, 2006&lt;br&gt;&#xA;&lt;strong&gt;Category:&lt;/strong&gt; HOWTO, TIPS, TROUBLESHOOTING&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;If you&amp;rsquo;ve experienced your OpenSSH server connection dropping out after a few minutes or a specific period of inactivity, don&amp;rsquo;t worry; it&amp;rsquo;s not a bug but rather a security feature. This behavior is usually due to a packet filter or NAT (Network Address Translation) device timing out your TCP connection as a security measure. This issue typically occurs when using SSH protocol version 2.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Secure Your OwnCloud Server</title>
      <link>https://dimasmaulana.pages.dev/posts/development/secure-your-owncloud-server/</link>
      <pubDate>Sat, 18 Apr 2015 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/secure-your-owncloud-server/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;Securing your OwnCloud server is crucial to protect your data from potential threats. In this guide, we will focus on two key aspects: automatically installing security updates and preventing brute-force password hacking attempts.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;automatically-install-security-updates&#34;&gt;&lt;span&gt;Automatically Install Security Updates&lt;/span&gt;&#xA;  &lt;a href=&#34;#automatically-install-security-updates&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;No software package is flawless, and security vulnerabilities may exist in your server&amp;rsquo;s software stack, from the Linux kernel to the SSL library. However, many of these vulnerabilities have patches available, and the primary reason they get exploited is due to delayed or neglected security updates.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Understanding File Permissions In Ubuntu</title>
      <link>https://dimasmaulana.pages.dev/posts/development/understanding-file-permissions-in-ubuntu/</link>
      <pubDate>Sat, 18 Apr 2015 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/understanding-file-permissions-in-ubuntu/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;File permissions in Ubuntu and other Unix-like operating systems are crucial for controlling access to files and directories. They determine who can read, write, or execute a file or directory. You can use the &lt;code&gt;ls&lt;/code&gt; command with the &lt;code&gt;-l&lt;/code&gt; option to display detailed information about file permissions. Here&amp;rsquo;s what each part of the output means:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;&lt;pre&gt;&lt;code&gt;ls -l /path/to/file&#xA;-rwxr-xr-x 1 10490 floppy 17242 May  8  2013 acroread&lt;/code&gt;&lt;/pre&gt;&lt;ol&gt;&#xA;&lt;li&gt;The first character &lt;code&gt;-&lt;/code&gt; represents the type of object it is. Here, it&amp;rsquo;s a regular file. Other possible values include:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;d&lt;/code&gt;: Directory&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;c&lt;/code&gt;: Character device&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;l&lt;/code&gt;: Symbolic link&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;p&lt;/code&gt;: Named pipe (FIFO)&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;s&lt;/code&gt;: Socket&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;b&lt;/code&gt;: Block device&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;D&lt;/code&gt;: Door (door file)&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;-&lt;/code&gt;: Regular file&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;The next three characters &lt;code&gt;rwx&lt;/code&gt; represent permissions for the &lt;strong&gt;owner&lt;/strong&gt; of the file. Specifically:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Setting Up DDClient With CloudFlare On Ubuntu 14.04 LTS</title>
      <link>https://dimasmaulana.pages.dev/posts/development/setting-up-ddclient-with-cloudflare-on-ubuntu-1404-lts/</link>
      <pubDate>Fri, 17 Apr 2015 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/setting-up-ddclient-with-cloudflare-on-ubuntu-1404-lts/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In this guide, we will walk through the steps to install and configure DDClient on Ubuntu 14.04 LTS to work with CloudFlare. DDClient is a dynamic DNS update client that allows you to automatically update your DNS records on CloudFlare when your IP address changes. This can be useful if you are hosting a server on a dynamic IP address.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;prerequisites&#34;&gt;&lt;span&gt;Prerequisites&lt;/span&gt;&#xA;  &lt;a href=&#34;#prerequisites&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Before you begin, make sure you have the following:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kill All SSH Tunneling Connection</title>
      <link>https://dimasmaulana.pages.dev/posts/development/kill-all-ssh-tunneling-connection/</link>
      <pubDate>Wed, 15 Apr 2015 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/kill-all-ssh-tunneling-connection/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;It&amp;rsquo;s important to be cautious when using the &lt;code&gt;killall&lt;/code&gt; command, especially with &lt;code&gt;sudo&lt;/code&gt;, as it can terminate processes indiscriminately. Killing SSH connections might disrupt legitimate connections and potentially cause issues.&lt;/p&gt;&#xA;&lt;p&gt;If you need to terminate specific SSH tunneling connections, it&amp;rsquo;s better to identify the process IDs (PIDs) associated with those connections and then use &lt;code&gt;kill&lt;/code&gt; with the specific PIDs. Here&amp;rsquo;s a safer way to do it:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;List SSH Processes&lt;/strong&gt;: First, list the SSH processes to identify the ones you want to terminate. You can use the &lt;code&gt;ps&lt;/code&gt; command with &lt;code&gt;grep&lt;/code&gt; to filter SSH processes:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Managing Users in Ubuntu</title>
      <link>https://dimasmaulana.pages.dev/posts/development/managing-users-in-ubuntu/</link>
      <pubDate>Mon, 13 Apr 2015 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/managing-users-in-ubuntu/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;User management is an essential part of maintaining a secure and organized Ubuntu system. This guide provides you with various commands and procedures for managing users on your Ubuntu system.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;listing-all-users&#34;&gt;&lt;span&gt;Listing All Users&lt;/span&gt;&#xA;  &lt;a href=&#34;#listing-all-users&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;To list all users on your system, you can use the following command:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Copying Files between Local and Remote Machines using SCP</title>
      <link>https://dimasmaulana.pages.dev/posts/development/copying-files-between-local-and-remote-machines-using-scp/</link>
      <pubDate>Tue, 07 Apr 2015 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/copying-files-between-local-and-remote-machines-using-scp/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;Secure Copy Protocol (SCP) is a command-line tool that allows you to securely copy files and directories between your local machine and a remote server over SSH. Here&amp;rsquo;s how you can use SCP to copy files in both directions: from your local machine to a remote server and from a remote server to your local machine.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;copying-from-local-to-remote-upload&#34;&gt;&lt;span&gt;Copying from Local to Remote (Upload)&lt;/span&gt;&#xA;  &lt;a href=&#34;#copying-from-local-to-remote-upload&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;To copy a file from your local machine to a remote server, use the following command:&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Enable Ubuntu Boot Verbose Mode</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-enable-ubuntu-boot-verbose-mode/</link>
      <pubDate>Tue, 07 Apr 2015 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-enable-ubuntu-boot-verbose-mode/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;If you want to see detailed boot messages instead of the splash screen when your Ubuntu system starts up, you can enable verbose mode by following these steps:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Open a terminal window.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Edit the Grub configuration file by running the following command:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;sudo nano /etc/default/grub&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This will open the Grub configuration file in the Nano text editor.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;In the Grub configuration file, look for the line that starts with &lt;code&gt;GRUB_CMDLINE_LINUX_DEFAULT&lt;/code&gt;. This line controls the display of the splash screen during boot.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Make Network Manager Start Automatically</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-make-network-manager-start-automatically/</link>
      <pubDate>Tue, 07 Apr 2015 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-make-network-manager-start-automatically/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;Network Manager is an essential service in many Linux distributions that allows you to manage network connections easily. Sometimes, you might encounter an issue where Network Manager doesn&amp;rsquo;t start automatically at boot. One common reason for this issue is misconfigurations in the Network Manager service file.&lt;/p&gt;&#xA;&lt;p&gt;In this article, we&amp;rsquo;ll guide you on how to ensure Network Manager starts automatically at boot by removing the &lt;code&gt;static-network-up&lt;/code&gt; line from the Network Manager service configuration file.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Long Waiting up for 60 second network</title>
      <link>https://dimasmaulana.pages.dev/posts/development/long-waiting-up-for-60-second-network/</link>
      <pubDate>Tue, 07 Apr 2015 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/long-waiting-up-for-60-second-network/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;If you want to modify the &lt;code&gt;/etc/init/failsafe.conf&lt;/code&gt; file to reduce the waiting time for the network to come up during system startup. Specifically, you want to remove the &lt;code&gt;sleep 40&lt;/code&gt; and &lt;code&gt;sleep 50&lt;/code&gt; commands from the network waiting section. Here&amp;rsquo;s how you can do it:&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Modifying system configuration files can have unintended consequences and may impact the stability and functionality of your system. Please make sure you have a backup of the original file and proceed with caution.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Troubleshooting Virtual Network Failure on Verbose Boot</title>
      <link>https://dimasmaulana.pages.dev/posts/development/troubleshooting-virtual-network-failure-on-verbose-boot/</link>
      <pubDate>Tue, 07 Apr 2015 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/troubleshooting-virtual-network-failure-on-verbose-boot/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;If you&amp;rsquo;re encountering a virtual network failure during a verbose boot, where you see detailed messages about the networking initialization process, you may need to take specific actions to resolve the issue. One possible solution is to remove or rename the &lt;code&gt;/etc/init/networking.conf&lt;/code&gt; file. Here&amp;rsquo;s a step-by-step guide on how to do this:&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: Before proceeding, make sure you have administrative privileges on your system.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;step-1-access-the-command-line&#34;&gt;&lt;span&gt;Step 1: Access the Command Line&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-1-access-the-command-line&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;You&amp;rsquo;ll need to access the command line interface of your system to perform these actions. You can usually do this by opening a terminal or console window. If you&amp;rsquo;re already logged in, proceed to the next step.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Automate SSH Login Notification via Email</title>
      <link>https://dimasmaulana.pages.dev/posts/development/automate-ssh-login-notification-via-email/</link>
      <pubDate>Mon, 06 Apr 2015 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/automate-ssh-login-notification-via-email/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;You can enhance your system&amp;rsquo;s security by setting up an automated email notification whenever someone logs in via SSH. This can help you stay informed about unauthorized access to your system. Below is a guide on how to implement this feature.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; This guide assumes you have administrative access to your system and are familiar with basic Linux commands.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;1-edit-etcprofile&#34;&gt;&lt;span&gt;1. Edit &lt;code&gt;/etc/profile&lt;/code&gt;&lt;/span&gt;&#xA;  &lt;a href=&#34;#1-edit-etcprofile&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;First, open the &lt;code&gt;/etc/profile&lt;/code&gt; file in a text editor as the root user:&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Connect to MySQL via SSH Tunnel in Linux</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-connect-to-mysql-via-ssh-tunnel-in-linux/</link>
      <pubDate>Mon, 06 Apr 2015 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-connect-to-mysql-via-ssh-tunnel-in-linux/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;When you need to connect to a MySQL server from outside your local network, using an SSH tunnel can provide a secure and convenient method for access. In this guide, we will walk you through the steps to connect to a MySQL server via SSH tunnel on a Linux system. This method can be particularly useful if you are trying to access a remote MySQL server hosted by a service provider like Quintagroup.&lt;/p&gt;</description>
    </item>
    <item>
      <title>SSH Tunneling Made Easy</title>
      <link>https://dimasmaulana.pages.dev/posts/development/ssh-tunneling-made-easy/</link>
      <pubDate>Mon, 06 Apr 2015 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/ssh-tunneling-made-easy/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;&lt;strong&gt;By Frank Wiles&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Setting up a simple SSH tunnel can be incredibly useful, yet finding a straightforward guide can be surprisingly challenging. In this Quick-Tip, I&amp;rsquo;ll walk you through the process using OpenSSH on a Linux/Unix system. With SSH tunneling, you can securely route all your local traffic through a remote server where you have an account.&lt;/p&gt;&#xA;&lt;p&gt;One common use case for SSH tunneling is redirecting outbound email traffic to a personal server. This can help you avoid the hassle of changing SMTP servers, dealing with SMTP-AUTH, and other complications when you&amp;rsquo;re behind firewalls. Hotel firewalls, wireless access points, and various NATing devices you encounter while traveling don&amp;rsquo;t always cooperate. Here&amp;rsquo;s how to do it:&lt;/p&gt;</description>
    </item>
    <item>
      <title>SSH Two Factor Authentication with Google Authenticator</title>
      <link>https://dimasmaulana.pages.dev/posts/development/ssh-two-factor-authentication-with-google-authenticator/</link>
      <pubDate>Mon, 06 Apr 2015 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/ssh-two-factor-authentication-with-google-authenticator/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In the past, setting up true two-factor authentication (2FA) for SSH access has been a bit of a challenge. However, with the release of OpenSSH 6.2, full and proper support for 2FA is now available. This article explains how to set up SSH 2FA using Google Authenticator on Ubuntu, which greatly enhances the security of your SSH access.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;quick-start&#34;&gt;&lt;span&gt;Quick Start&lt;/span&gt;&#xA;  &lt;a href=&#34;#quick-start&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;To get started, follow these steps:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Understanding macOS Bash PATH Configuration</title>
      <link>https://dimasmaulana.pages.dev/posts/software/understanding-macos-bash-path-configuration/</link>
      <pubDate>Sat, 28 Mar 2015 06:27:32 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/software/understanding-macos-bash-path-configuration/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/software/">Software</category>
      <description>&lt;p&gt;The PATH is an environment variable in Unix-like operating systems, including macOS, that specifies a list of directories where the system should look for executable files when a command is entered in the terminal. This allows users to run commands without specifying the full path to the executable every time. In macOS, the PATH configuration is managed through the following files:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;/etc/paths&lt;/code&gt;: This file contains a list of directories that are added to the system-wide PATH. Each directory is listed on a separate line. When the system starts up or a new user session is created, the contents of this file are read, and the listed directories are added to the PATH.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Creating A Bash Alias For Php Artisan</title>
      <link>https://dimasmaulana.pages.dev/posts/development/creating-a-bash-alias-for-php-artisan/</link>
      <pubDate>Sat, 28 Mar 2015 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/creating-a-bash-alias-for-php-artisan/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In Bash, you can create aliases to simplify and automate common commands. The alias you want to create is for the &lt;code&gt;php artisan&lt;/code&gt; command, which is often used in Laravel projects. Here are the steps to create a Bash alias for &lt;code&gt;php artisan&lt;/code&gt;:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Open Your Bash Configuration File:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;To create a system-wide alias that applies to all users, you should modify the &lt;code&gt;/etc/bashrc&lt;/code&gt; or &lt;code&gt;/etc/bash.bashrc&lt;/code&gt; file. You&amp;rsquo;ll typically need root or superuser privileges to edit these files. Use a text editor to open the file, for example:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Setting up Free HTTPS Connection with Cloudflare and Google App Engine using AJAX</title>
      <link>https://dimasmaulana.pages.dev/posts/development/setting-up-free-https-connection-with-cloudflare-and-google-app-engine-using-ajax/</link>
      <pubDate>Sat, 28 Mar 2015 06:00:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/setting-up-free-https-connection-with-cloudflare-and-google-app-engine-using-ajax/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;In this article, we will walk you through the steps to establish a free HTTPS connection between Cloudflare and Google App Engine (GAE) while making use of AJAX requests. We&amp;rsquo;ll also address the common issue of a redirect loop that can occur when enabling Cloudflare&amp;rsquo;s Full SSL.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;prerequisites&#34;&gt;&lt;span&gt;Prerequisites&lt;/span&gt;&#xA;  &lt;a href=&#34;#prerequisites&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Before you begin, make sure you have the following:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fixing Seed Class not found Exception in Laravel 5</title>
      <link>https://dimasmaulana.pages.dev/posts/development/fixing-seed-class-not-found-exception-in-laravel-5/</link>
      <pubDate>Wed, 25 Mar 2015 21:54:09 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/fixing-seed-class-not-found-exception-in-laravel-5/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <category domain="https://dimasmaulana.pages.dev/categories/troubleshooting/">Troubleshooting</category>
      <description>&lt;p&gt;When working with Laravel 5 and attempting to run a database seed, you may encounter a &amp;ldquo;Seed Class not found&amp;rdquo; exception. This error typically occurs when Laravel is unable to locate the specified seed class. However, there is a straightforward solution to this problem. In this blog post, we will explore the steps to resolve the &amp;ldquo;Seed Class not found&amp;rdquo; exception in Laravel 5.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;step-1-run-composer-dump-autoload&#34;&gt;&lt;span&gt;Step 1: Run Composer Dump-Autoload&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-1-run-composer-dump-autoload&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;The first step is to run the following command in your project&amp;rsquo;s root directory:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Troubleshooting Ativ Smart PC Pro USB Detection Issue When Booting to Device</title>
      <link>https://dimasmaulana.pages.dev/posts/software/troubleshooting-ativ-smart-pc-pro-usb-detection-issue-when-booting-to-device/</link>
      <pubDate>Wed, 03 Sep 2014 05:23:57 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/software/troubleshooting-ativ-smart-pc-pro-usb-detection-issue-when-booting-to-device/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/software/">Software</category>
      <description>&lt;p&gt;If you&amp;rsquo;re encountering issues with your Ativ Smart PC Pro not detecting USB devices when trying to boot from them, one potential solution is to disable the Fast BIOS setting in the BIOS Advanced Menu. This guide will walk you through the steps to resolve this issue.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;background&#34;&gt;&lt;span&gt;Background&lt;/span&gt;&#xA;  &lt;a href=&#34;#background&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;The Fast BIOS setting, also known as Fast Boot or Quick Boot, is designed to reduce the time it takes for your computer to boot into the operating system by skipping certain hardware checks and initialization processes. While this can speed up the boot process, it may also cause compatibility issues with certain USB devices when trying to boot from them.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Build an Android Jar Library</title>
      <link>https://dimasmaulana.pages.dev/posts/development/how-to-build-an-android-jar-library/</link>
      <pubDate>Thu, 29 Nov 2012 08:39:39 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/how-to-build-an-android-jar-library/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;To build an Android Jar library, you can follow these steps:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Create a &lt;code&gt;build.xml&lt;/code&gt; file with the following content:&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;pre&gt;&lt;code&gt;&amp;lt;project name=&amp;#34;AndroidUtils&amp;#34; default=&amp;#34;dist&amp;#34; basedir=&amp;#34;.&amp;#34;&amp;gt;&#xA;    &amp;lt;description&amp;gt;Android Sample Library&amp;lt;/description&amp;gt;&#xA;    &#xA;    &amp;lt;!-- Setting global properties for this build --&amp;gt;&#xA;    &amp;lt;property name=&amp;#34;src&amp;#34; location=&amp;#34;src&amp;#34; /&amp;gt;&#xA;    &amp;lt;property name=&amp;#34;bin&amp;#34; location=&amp;#34;bin&amp;#34; /&amp;gt;&#xA;&#xA;    &amp;lt;target name=&amp;#34;dist&amp;#34;&amp;gt;&#xA;        &amp;lt;jar destfile=&amp;#34;android-utilities-v1.jar&amp;#34; basedir=&amp;#34;bin/classes&amp;#34;&amp;gt;&#xA;            &amp;lt;!-- Use ** to include the directory recursively --&amp;gt;&#xA;            &amp;lt;include name=&amp;#34;android/**&amp;#34; /&amp;gt;&#xA;            &amp;lt;exclude name=&amp;#34;android/utilities/v1/R.class&amp;#34; /&amp;gt;&#xA;            &amp;lt;exclude name=&amp;#34;android/utilities/v1/R$*.class&amp;#34; /&amp;gt;&#xA;        &amp;lt;/jar&amp;gt;&#xA;    &amp;lt;/target&amp;gt;&#xA;&amp;lt;/project&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Save the &lt;code&gt;build.xml&lt;/code&gt; file in the root directory of your Android library project.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Merging Git Without History and Resolving Conflicts Using Theirs</title>
      <link>https://dimasmaulana.pages.dev/posts/development/merging-git-without-history-and-resolving-conflicts-using-theirs/</link>
      <pubDate>Thu, 29 Nov 2012 08:38:39 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/merging-git-without-history-and-resolving-conflicts-using-theirs/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;When merging Git branches, it is sometimes desirable to combine the changes from one branch into another without preserving the commit history of the merged branch. Additionally, conflicts may arise during the merge process that need to be resolved using the &amp;ldquo;theirs&amp;rdquo; strategy, which means accepting the changes from the branch being merged in.&lt;/p&gt;&#xA;&lt;p&gt;Here&amp;rsquo;s a step-by-step guide on how to perform such a merge:&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;step-1-perform-the-merge-with-squash&#34;&gt;&lt;span&gt;Step 1: Perform the Merge with Squash&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-1-perform-the-merge-with-squash&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;To merge the changes from one branch into another without preserving the commit history, you can use the &lt;code&gt;--squash&lt;/code&gt; option with the &lt;code&gt;git merge&lt;/code&gt; command. The &lt;code&gt;--squash&lt;/code&gt; option condenses all the commits from the merged branch into a single commit in the target branch.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Accessing Localhost on Android Emulator</title>
      <link>https://dimasmaulana.pages.dev/posts/development/accessing-localhost-on-android-emulator/</link>
      <pubDate>Thu, 29 Nov 2012 08:38:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/accessing-localhost-on-android-emulator/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;When working with the Android emulator, you might need to access the localhost running on your host computer from within the emulator. The default IP address to reach the host computer from the emulator is &lt;code&gt;10.0.2.2&lt;/code&gt;. In this article, we&amp;rsquo;ll explore how to access localhost on the Android emulator using this IP address.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;prerequisites&#34;&gt;&lt;span&gt;Prerequisites&lt;/span&gt;&#xA;  &lt;a href=&#34;#prerequisites&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;Before proceeding, ensure that you have the following:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Android Emulator Database and Persistence Data: CellObject SQLite &amp; XML Reader Plugin for Eclipse</title>
      <link>https://dimasmaulana.pages.dev/posts/development/android-emulator-database-and-persistence-data-cellobject-sqlite-xml-reader-plugin-for-eclipse/</link>
      <pubDate>Thu, 29 Nov 2012 08:36:49 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/development/android-emulator-database-and-persistence-data-cellobject-sqlite-xml-reader-plugin-for-eclipse/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/development/">Development</category>
      <description>&lt;p&gt;When developing Android applications, it is often necessary to work with databases and persistence data. Android provides a powerful database management system called SQLite, which allows developers to store and retrieve structured data efficiently. In addition, Android applications may also use XML files to store configuration data or other types of persistent information.&lt;/p&gt;&#xA;&lt;p&gt;To facilitate the development process and enable easy access to these databases and XML files, a plugin called CellObject SQLite &amp;amp; XML Reader is available for the Eclipse Integrated Development Environment (IDE). This plugin enhances the capabilities of Eclipse by providing features for reading and manipulating SQLite databases and XML files directly within the IDE.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
