<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>linux - Hamradio.my</title>
	<atom:link href="https://hamradio.my/category/linux/feed/" rel="self" type="application/rss+xml" />
	<link>https://hamradio.my/category/linux/</link>
	<description>Amateur Radio, Tech Insights and Product Reviews</description>
	<lastBuildDate>Tue, 26 May 2026 06:08:40 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://hamradio.my/wp-content/uploads/2026/02/cropped-cropped-image-removebg-preview-3-32x32.png</url>
	<title>linux - Hamradio.my</title>
	<link>https://hamradio.my/category/linux/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Linux and FreeBSD Operating Systems: Characteristics and Use Cases</title>
		<link>https://hamradio.my/2026/05/linux-and-freebsd-operating-systems-characteristics-and-use-cases/</link>
					<comments>https://hamradio.my/2026/05/linux-and-freebsd-operating-systems-characteristics-and-use-cases/#respond</comments>
		
		<dc:creator><![CDATA[9M2PJU]]></dc:creator>
		<pubDate>Fri, 29 May 2026 05:58:39 +0000</pubDate>
				<category><![CDATA[arch linux]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[freebsd]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[open source operating system]]></category>
		<category><![CDATA[ubuntu]]></category>
		<guid isPermaLink="false">https://hamradio.my/?p=9002</guid>

					<description><![CDATA[<p>1. Definitions and Project Structure 1.1 What Is Linux Linux refers to a kernel created by Linus Torvalds and first released in 1991. The kernel manages hardware, memory, and processes. A complete operating system built around the Linux kernel is called a &#8220;Linux distribution&#8221;. Examples include Ubuntu, Fedora, Debian, and Arch Linux. A distribution combines [&#8230;]</p>
<p>The post <a href="https://hamradio.my/2026/05/linux-and-freebsd-operating-systems-characteristics-and-use-cases/">Linux and FreeBSD Operating Systems: Characteristics and Use Cases</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h3 class="wp-block-heading"><strong>1. Definitions and Project Structure</strong></h3>



<h4 class="wp-block-heading"><strong>1.1 What Is Linux</strong></h4>



<p class="wp-block-paragraph">Linux refers to a kernel created by Linus Torvalds and first released in 1991. The kernel manages hardware, memory, and processes. A complete operating system built around the Linux kernel is called a &#8220;Linux distribution&#8221;. Examples include Ubuntu, Fedora, Debian, and Arch Linux. A distribution combines the Linux kernel with userland tools, libraries, a package manager, and often a desktop environment.</p>



<p class="wp-block-paragraph"><strong>License</strong>: The Linux kernel is licensed under GPL version 2. Most GNU utilities are GPL v3.<br><strong>Development</strong>: The kernel has over 20,000 contributors as of 2024. Companies such as Red Hat, Intel, Google, and SUSE contribute code. Linus Torvalds manages releases.<br><strong>Release cycle</strong>: The kernel releases a new version every 8 to 10 weeks. Distributions set their own release schedules. Ubuntu releases every 6 months with LTS versions every 2 years. Debian Stable releases roughly every 2 years. Fedora releases every 6 months.</p>



<h4 class="wp-block-heading"><strong>1.2 What Is FreeBSD</strong></h4>



<p class="wp-block-paragraph">FreeBSD is a complete operating system. It includes the kernel, userland utilities, C library, and documentation developed together in one source repository. The project derives from the Berkeley Software Distribution. Version 1.0 was released in 1993.</p>



<p class="wp-block-paragraph"><strong>License</strong>: FreeBSD uses the BSD 2-Clause License. The license permits redistribution and use in source and binary forms, with or without modification, provided the copyright notice is kept.<br><strong>Development</strong>: FreeBSD has a Core Team and around 400 active committers as of 2025.<br><strong>Release cycle</strong>: Major releases occur every 18 to 24 months. Each major release receives support for 5 years. Minor releases occur every 3 to 4 months.</p>



<p class="wp-block-paragraph"><strong>Key structural difference</strong>: Linux distributions combine components from multiple projects. FreeBSD ships a base system where all core components are versioned together.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><strong>2. Technical Components Compared</strong></h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Component</th><th>Linux</th><th>FreeBSD</th></tr></thead><tbody><tr><td><strong>Kernel type</strong></td><td>Monolithic with loadable modules</td><td>Monolithic with loadable modules</td></tr><tr><td><strong>Default filesystem</strong></td><td>ext4, XFS, Btrfs. ZFS available via OpenZFS module</td><td>UFS, ZFS integrated in base</td></tr><tr><td><strong>Init system</strong></td><td>systemd on most major distros. Alternatives: OpenRC, runit</td><td>rc system using <code>rc.conf</code> and shell scripts</td></tr><tr><td><strong>C library</strong></td><td>glibc or musl, provided by distro</td><td>FreeBSD libc, maintained by FreeBSD project</td></tr><tr><td><strong>Package management</strong></td><td>apt, dnf, pacman, zypper. Formats: deb, rpm, pkg.tar.zst</td><td>pkg binary packages. Ports tree for source builds. ~30,000 ports</td></tr><tr><td><strong>Firewall</strong></td><td>nftables, iptables, firewalld</td><td>pf from OpenBSD, ipfw, ipfilter</td></tr><tr><td><strong>Virtualization</strong></td><td>KVM, Xen, VirtualBox</td><td>bhyve, Xen, VirtualBox</td></tr><tr><td><strong>Container technology</strong></td><td>Docker, Podman, LXC, systemd-nspawn</td><td>Jails in base system</td></tr><tr><td><strong>Display server</strong></td><td>Xorg, Wayland</td><td>Xorg, Wayland via ports</td></tr><tr><td><strong>Audio</strong></td><td>ALSA, PulseAudio, PipeWire</td><td>OSS in base. PulseAudio and PipeWire via ports</td></tr></tbody></table></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><strong>3. Factors That Affect Desktop Use</strong></h3>



<p class="wp-block-paragraph">Desktop use requires hardware compatibility, application availability, and user interface polish. The following factors explain current adoption patterns.</p>



<h4 class="wp-block-heading"><strong>3.1 Hardware Support for Consumer Devices</strong></h4>



<p class="wp-block-paragraph">Linux distributions receive driver support from hardware vendors. Intel, AMD, and Nvidia contribute GPU drivers directly to the kernel or as loadable kernel modules. Kernel 6.10 includes drivers for Intel Arc GPUs, AMD RDNA 3, and Wi-Fi 6E chipsets such as Intel AX210 and MediaTek MT7921. Firmware is distributed in the <code>linux-firmware</code> package.</p>



<p class="wp-block-paragraph">Vendor certification programs exist. Dell XPS, Lenovo ThinkPad, and Framework Laptop offer models preinstalled with Ubuntu or Fedora. These models are tested for suspend, backlight, and trackpad function.</p>



<p class="wp-block-paragraph">FreeBSD supports many server NICs and storage controllers. Desktop hardware support is present but follows Linux. The AMDGPU driver was ported to FreeBSD in 2018 and updated periodically. Support for newer Wi-Fi chipsets arrives after Linux. As of FreeBSD 14.1, MediaTek MT7921 is supported. Some Realtek USB Wi-Fi devices require third party modules. Laptop suspend and resume works on some models but is not universal. The FreeBSD wiki maintains a laptop compatibility list.</p>



<h4 class="wp-block-heading"><strong>3.2 Application Ecosystem</strong></h4>



<p class="wp-block-paragraph">Desktop users expect browsers, office suites, media players, and communication tools.</p>



<p class="wp-block-paragraph">Linux has native builds of Firefox, Chromium, Chrome, LibreOffice, VLC, GIMP, OBS Studio, Steam, VS Code, and JetBrains IDEs. Flatpak and Snap provide sandboxed versions of Spotify, Zoom, Slack, and Discord. Steam uses Proton to run many Windows games. ProtonDB reported in 2025 that 85 percent of the top 1000 Steam games run on Linux.</p>



<p class="wp-block-paragraph">FreeBSD has Firefox, Chromium, LibreOffice, VLC, and GIMP via ports. There is no official Chrome build. There is no official Slack or Zoom client. Linux binary compatibility, called Linuxulator, can run some Linux applications, but GPU acceleration and audio for conferencing apps are limited. Steam is not supported natively. Wine can run some Windows applications on FreeBSD.</p>



<h4 class="wp-block-heading"><strong>3.3 Desktop Environments</strong></h4>



<p class="wp-block-paragraph">Linux distributions integrate GNOME, KDE Plasma, Xfce, and Cinnamon. GNOME 46 and KDE Plasma 6 support Wayland, fractional scaling, and touchscreens. Development is active. PipeWire provides audio and screen sharing for Wayland.</p>



<p class="wp-block-paragraph">FreeBSD can install GNOME and KDE from packages. The FreeBSD desktop team ports these environments after Linux releases. Audio uses OSS by default. PipeWire and PulseAudio are available from ports but are not default. Configuration requires more manual steps compared to Ubuntu or Fedora.</p>



<h4 class="wp-block-heading"><strong>3.4 Release and Update Model</strong></h4>



<p class="wp-block-paragraph">Linux distributions vary. Ubuntu LTS provides 5 years of updates. Fedora provides 13 months. Arch Linux uses a rolling model with continuous updates. Kernel updates bring new drivers fast. This benefits new hardware.</p>



<p class="wp-block-paragraph">FreeBSD releases a base system every 18 to 24 months. <code>freebsd-update</code> upgrades the kernel and userland together. The ABI is stable within a major version. This reduces unexpected changes but delays new hardware support.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><strong>4. Factors That Affect Server Use</strong></h3>



<p class="wp-block-paragraph">Server use requires stability, network performance, storage reliability, and maintainability.</p>



<h4 class="wp-block-heading"><strong>4.1 Base System Consistency</strong></h4>



<p class="wp-block-paragraph">FreeBSD distributes the kernel, C library, compiler, and core utilities as one unit. The <code>freebsd-update</code> tool updates all base components. Documentation in the Handbook and man pages corresponds to the installed version. This reduces version mismatch.</p>



<p class="wp-block-paragraph">Linux distributions combine components from separate projects. glibc, systemd, and the kernel have independent releases. An LTS distribution holds versions stable, but third party repositories can introduce newer libraries. Administrators must consider interaction between components.</p>



<h4 class="wp-block-heading"><strong>4.2 ZFS Integration</strong></h4>



<p class="wp-block-paragraph">ZFS is a filesystem with checksums, snapshots, compression, and send/receive replication. FreeBSD added ZFS in 2007. In FreeBSD 14, OpenZFS 2.2 is in the base system. The installer supports root on ZFS. Boot environments allow booting a previous snapshot if an upgrade fails.</p>



<p class="wp-block-paragraph">On Linux, OpenZFS is available as a kernel module. Due to CDDL vs GPL licensing, it is not included in the main kernel. Ubuntu includes ZFS, but it is not default. RHEL removed ZFS packages. Administrators who require ZFS must manage the module separately.</p>



<p class="wp-block-paragraph">Companies that use ZFS at scale include iXsystems for TrueNAS and Netflix for content delivery caches. Netflix published a talk in 2021 describing 200 Gb/s per server using FreeBSD and ZFS.</p>



<h4 class="wp-block-heading"><strong>4.3 Networking Stack and Firewall</strong></h4>



<p class="wp-block-paragraph">FreeBSD includes the <code>pf</code> packet filter from OpenBSD. <code>pf</code> uses a single configuration file and is used in pfSense and OPNsense firewall distributions. The FreeBSD network stack is used in appliances from Juniper and NetApp.</p>



<p class="wp-block-paragraph">FreeBSD achieved 800 Gb/s of TLS encrypted traffic from a single host in 2023 using kernel TLS and <code>sendfile</code>, as documented by Netflix engineers.</p>



<p class="wp-block-paragraph">Linux uses <code>nftables</code> and has a high performance network stack. Companies such as Cloudflare and Meta use Linux for edge networks. <code>bpfilter</code>, XDP, and DPDK provide high speed packet processing.</p>



<p class="wp-block-paragraph">Both stacks are capable. <code>pf</code> is noted for simple syntax and auditability. Linux provides more features for container networking and eBPF.</p>



<h4 class="wp-block-heading"><strong>4.4 Jails</strong></h4>



<p class="wp-block-paragraph">FreeBSD Jails provide operating system level virtualization. A jail has its own filesystem, network address, and processes. Overhead is low because the kernel is shared. Jails have existed since FreeBSD 4.0 in 2000. Tools such as <code>iocage</code> and <code>bastille</code> manage jails. Jails integrate with ZFS for cloning and snapshots.</p>



<p class="wp-block-paragraph">Linux provides LXC, Docker, and Podman. These tools use namespaces and cgroups. Docker is the industry standard for application containers. For system level containers, LXC is comparable to jails. Jails are part of the base system. Docker requires a daemon.</p>



<h4 class="wp-block-heading"><strong>4.5 Long Term Support</strong></h4>



<p class="wp-block-paragraph">FreeBSD provides 5 years of support for each major release. The ABI is stable within a major release. A binary compiled on FreeBSD 13.0 will run on 13.3 without recompilation.</p>



<p class="wp-block-paragraph">Ubuntu LTS provides 5 years of standard support. Debian provides 5 years. RHEL provides 10 years. ABI stability is a goal, but glibc symbol versions can change and affect third party binaries.</p>



<h4 class="wp-block-heading"><strong>4.6 License Considerations</strong></h4>



<p class="wp-block-paragraph">The BSD license permits combining FreeBSD code with proprietary code and distributing the result without source. This is used in commercial products such as the Sony PlayStation operating system, which is based on FreeBSD, and Juniper JunOS.</p>



<p class="wp-block-paragraph">The Linux kernel GPL requires that derivative works distributed in binary form must also provide source code. This requirement is acceptable for many companies but is a consideration for appliance vendors.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><strong>5. Deployment Statistics</strong></h3>



<p class="wp-block-paragraph">Public data shows usage patterns.</p>



<p class="wp-block-paragraph"><strong>Desktop</strong>: StatCounter reports Linux at 4.1 percent of desktop OS market share in May 2025. FreeBSD is below 0.1 percent. Steam Hardware Survey shows Linux at 2.3 percent in April 2025. FreeBSD is not listed.</p>



<p class="wp-block-paragraph"><strong>Server</strong>: W3Techs survey of web servers in 2025 shows Unix at 70 percent. Within Unix, Linux distributions are the majority. FreeBSD is used by specific companies and in the firewall market. The pfSense project reported millions of installations.</p>



<p class="wp-block-paragraph"><strong>Cloud</strong>: AWS, Google Cloud, and Azure provide Linux images by default. FreeBSD images are available but less common.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><strong>6. Summary of Differences</strong></h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Use Case</th><th>Linux</th><th>FreeBSD</th></tr></thead><tbody><tr><td><strong>New laptop hardware</strong></td><td>Drivers arrive within months. Vendor support exists.</td><td>Drivers may take 1 to 2 years. Community support.</td></tr><tr><td><strong>Commercial desktop apps</strong></td><td>Native builds for Chrome, Zoom, Steam.</td><td>Limited. Use web or Linuxulator.</td></tr><tr><td><strong>Gaming</strong></td><td>Proton supports many titles. AMD and Nvidia drivers updated often.</td><td>Not a target platform.</td></tr><tr><td><strong>Root filesystem</strong></td><td>ext4, XFS default. ZFS optional.</td><td>ZFS in base. UFS available.</td></tr><tr><td><strong>Firewall</strong></td><td>nftables, firewalld. Complex but feature rich.</td><td>pf in base. Simple syntax. Powers pfSense.</td></tr><tr><td><strong>Container model</strong></td><td>Docker standard. LXC available.</td><td>Jails in base. No daemon.</td></tr><tr><td><strong>Base OS updates</strong></td><td>Kernel and userland separate. Distro dependent.</td><td>Kernel and userland updated together.</td></tr><tr><td><strong>License for products</strong></td><td>GPL requires source sharing.</td><td>BSD allows closed source derivatives.</td></tr><tr><td><strong>Documentation</strong></td><td>Distro specific. Arch Wiki is extensive.</td><td>Handbook is centralized and versioned.</td></tr></tbody></table></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><strong>7. Conclusion</strong></h3>



<p class="wp-block-paragraph">Linux distributions have broad hardware support, commercial application availability, and rapid driver updates. These characteristics align with desktop use where new GPUs, Wi-Fi, and consumer software are required. The large user base provides community help for desktop issues.</p>



<p class="wp-block-paragraph">FreeBSD provides a single base system, integrated ZFS, the <code>pf</code> firewall, and jails. The release model emphasizes ABI stability for 5 years. The BSD license permits use in closed products. These characteristics align with server, storage, and appliance roles where consistency and long term maintenance are priorities.</p>



<p class="wp-block-paragraph">Both systems are open source and technically capable. The choice depends on requirements for hardware, software, licensing, and administration model.</p>
<p>The post <a href="https://hamradio.my/2026/05/linux-and-freebsd-operating-systems-characteristics-and-use-cases/">Linux and FreeBSD Operating Systems: Characteristics and Use Cases</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://hamradio.my/2026/05/linux-and-freebsd-operating-systems-characteristics-and-use-cases/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Lazyssh: Tame Your Server Farm with Terminal-Based SSH Management</title>
		<link>https://hamradio.my/2025/12/lazyssh-tame-your-server-farm-with-terminal-based-ssh-management/</link>
					<comments>https://hamradio.my/2025/12/lazyssh-tame-your-server-farm-with-terminal-based-ssh-management/#respond</comments>
		
		<dc:creator><![CDATA[9M2PJU]]></dc:creator>
		<pubDate>Sat, 06 Dec 2025 05:36:16 +0000</pubDate>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[macosx]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[Go]]></category>
		<category><![CDATA[Lazydocker SSH]]></category>
		<category><![CDATA[open-source]]></category>
		<category><![CDATA[OpenSSH UI]]></category>
		<category><![CDATA[server management]]></category>
		<category><![CDATA[SSH Config Manager]]></category>
		<category><![CDATA[SSH Manager]]></category>
		<category><![CDATA[sysadmin tools]]></category>
		<category><![CDATA[terminal application]]></category>
		<category><![CDATA[Terminal SSH Client]]></category>
		<category><![CDATA[TUI SSH]]></category>
		<guid isPermaLink="false">https://hamradio.my/?p=8730</guid>

					<description><![CDATA[<p>Are you tired of juggling countless SSH commands, remembering obscure IP addresses, or fumbling with scp for file transfers? If you&#8217;re managing a fleet of servers, whether for development, staging, or production, you know the pain. But what if there was a better way? Inspired by the intuitive power of tools like lazydocker and k9s, [&#8230;]</p>
<p>The post <a href="https://hamradio.my/2025/12/lazyssh-tame-your-server-farm-with-terminal-based-ssh-management/">Lazyssh: Tame Your Server Farm with Terminal-Based SSH Management</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading"></h2>



<p class="wp-block-paragraph">Are you tired of juggling countless SSH commands, remembering obscure IP addresses, or fumbling with <code>scp</code> for file transfers? If you&#8217;re managing a fleet of servers, whether for development, staging, or production, you know the pain. But what if there was a better way?</p>



<p class="wp-block-paragraph">Inspired by the intuitive power of tools like <code>lazydocker</code> and <code>k9s</code>, <strong>Lazyssh</strong> emerges as your new best friend for navigating, connecting to, and managing your servers directly from the comfort of your terminal. Built with Go, Lazyssh transforms your <code>~/.ssh/config</code> file into a dynamic, interactive dashboard, making server management a breeze.</p>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2728.png" alt="✨" class="wp-smiley" style="height: 1em; max-height: 1em;" /> What Makes Lazyssh a Game-Changer?</h3>



<p class="wp-block-paragraph">Lazyssh isn&#8217;t just another SSH client; it&#8217;s a comprehensive TUI (Terminal User Interface) wrapper that puts you in control with a clean, keyboard-driven interface.</p>



<h4 class="wp-block-heading"><strong>Effortless Server Management</strong></h4>



<ul class="wp-block-list">
<li><strong>See All Your Servers:</strong> Lazyssh reads and beautifully displays all entries from your <code>~/.ssh/config</code> in a scrollable, easy-to-read list.</li>



<li><strong>Add &amp; Edit with Ease:</strong> Forget manual file editing. Add new servers or modify existing ones directly from the UI with a comprehensive, tabbed interface for all your SSH configuration needs.</li>



<li><strong>Safety First:</strong> Delete server entries safely, knowing that Lazyssh handles your <code>ssh_config</code> with care, including automatic backups.</li>



<li><strong>Stay Organized:</strong> Pin your favorite servers to the top, tag them (e.g., <code>prod</code>, <code>dev</code>, <code>test</code>) for quick filtering, and sort them by alias or last SSH connection.</li>



<li><strong>Check Status:</strong> Ping servers to quickly ascertain their reachability.</li>
</ul>



<h4 class="wp-block-heading"><strong>Lightning-Fast Server Navigation</strong></h4>



<ul class="wp-block-list">
<li><strong>Fuzzy Search:</strong> Find any server instantly by alias, IP, or tags with powerful fuzzy search.</li>



<li><strong>One-Key SSH:</strong> Hit <code>Enter</code> and you&#8217;re connected. It&#8217;s that simple.</li>



<li><strong>Clipboard Integration:</strong> Copy SSH commands to your clipboard with a single keypress.</li>
</ul>



<h4 class="wp-block-heading"><strong>Advanced SSH Configuration at Your Fingertips</strong></h4>



<p class="wp-block-paragraph">Lazyssh brings the full power of OpenSSH to a user-friendly interface.</p>



<ul class="wp-block-list">
<li><strong>Port Forwarding:</strong> Easily set up <code>LocalForward</code>, <code>RemoteForward</code>, and <code>DynamicForward</code> connections.</li>



<li><strong>Connection Multiplexing:</strong> Speed up subsequent connections with built-in multiplexing support.</li>



<li><strong>Comprehensive Authentication:</strong> Configure public key, password, and agent forwarding options.</li>



<li><strong>Security &amp; Proxy Settings:</strong> Dive into ciphers, MACs, key exchange algorithms, and flexible <code>ProxyJump</code> or <code>ProxyCommand</code> configurations.</li>



<li><strong>Tabbed Interface:</strong> All these extensive options are neatly organized into intuitive tabs like Basic, Connection, Forwarding, Authentication, and Advanced.</li>
</ul>



<h4 class="wp-block-heading"><strong>Smart Key Management (Upcoming)</strong></h4>



<p class="wp-block-paragraph">Future versions of Lazyssh promise even more powerful key management features, including:</p>



<ul class="wp-block-list">
<li>Copying files between local and remote servers with an easy picker UI.</li>



<li>SSH Key Deployment: Automatically append public keys to <code>~/.ssh/authorized_keys</code>, generate new keypairs, and support default local public keys.</li>
</ul>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6e1.png" alt="🛡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Security You Can Trust</h3>



<p class="wp-block-paragraph">One of the most important aspects of any SSH tool is security, and Lazyssh excels here:</p>



<ul class="wp-block-list">
<li><strong>No New Risks:</strong> Lazyssh is a UI/TUI wrapper around your existing <code>~/.ssh/config</code> and leverages your system’s native <code>ssh</code> binary (OpenSSH) for all connections.</li>



<li><strong>Privacy Preserved:</strong> Private keys, passwords, and credentials are <strong>never</strong> stored, transmitted, or modified by Lazyssh itself.</li>



<li><strong>Config Safety:</strong> Lazyssh implements non-destructive writes, preserving your comments and formatting. It also creates atomic writes and robust backup mechanisms (one-time original backup and rolling timestamped backups) before any changes are made.</li>
</ul>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4e6.png" alt="📦" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Get Started with Lazyssh Today!</h3>



<p class="wp-block-paragraph">Ready to streamline your SSH workflow? Installation is simple:</p>



<p class="wp-block-paragraph"><strong>Option 1: Homebrew (macOS)</strong></p>



<p class="wp-block-paragraph">Bash</p>



<pre class="wp-block-code"><code>brew install Adembc/homebrew-tap/lazyssh
</code></pre>



<p class="wp-block-paragraph"><strong>Option 2: Download Binary from Releases</strong></p>



<p class="wp-block-paragraph">Grab the latest version for your OS/ARCH from <a target="_blank" rel="noreferrer noopener" href="https://www.google.com/search?q=https://github.com/Adembc/lazyssh/releases">GitHub Releases</a>. A convenient snippet is provided in the <code>README</code> to automate this process.</p>



<p class="wp-block-paragraph"><strong>Option 3: Build from Source</strong></p>



<p class="wp-block-paragraph">If you prefer building from source:</p>



<p class="wp-block-paragraph">Bash</p>



<pre class="wp-block-code"><code>git clone https://github.com/Adembc/lazyssh.git
cd lazyssh
make build
./bin/lazyssh
# Or run directly
make run
</code></pre>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2328.png" alt="⌨" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Master Lazyssh with Simple Key Bindings</h3>



<p class="wp-block-paragraph">Lazyssh is designed for keyboard efficiency. Here are some essential bindings:</p>



<ul class="wp-block-list">
<li><code>↑↓/jk</code>: Navigate servers</li>



<li><code>Enter</code>: SSH into selected server</li>



<li><code>c</code>: Copy SSH command to clipboard</li>



<li><code>g</code>: Ping selected server</li>



<li><code>a</code>: Add server</li>



<li><code>e</code>: Edit server</li>



<li><code>d</code>: Delete server</li>



<li><code>p</code>: Pin/Unpin servers</li>



<li><code>q</code>: Quit</li>
</ul>



<p class="wp-block-paragraph">(A hint bar at the top of the list provides context-aware shortcuts!)</p>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f91d.png" alt="🤝" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Contribute and Support</h3>



<p class="wp-block-paragraph">Lazyssh is an open-source project, and contributions are highly welcome! Whether you spot a bug, have a feature request, or want to submit a pull request (following the semantic PR guidelines), your input helps make Lazyssh better.</p>



<p class="wp-block-paragraph">Lazyssh is built with the excellent <code>tview</code> and <code>tcell</code> libraries, a testament to the power of the Go ecosystem for creating robust terminal applications. Say goodbye to SSH headaches and embrace the efficiency of Lazyssh.</p>



<p class="wp-block-paragraph"><a href="https://github.com/Adembc/lazyssh">https://github.com/Adembc/lazyssh</a></p>
<p>The post <a href="https://hamradio.my/2025/12/lazyssh-tame-your-server-farm-with-terminal-based-ssh-management/">Lazyssh: Tame Your Server Farm with Terminal-Based SSH Management</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://hamradio.my/2025/12/lazyssh-tame-your-server-farm-with-terminal-based-ssh-management/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Keep Your ThinkPad Cool on Linux with ThinkFan</title>
		<link>https://hamradio.my/2025/08/keep-your-thinkpad-cool-on-linux-with-thinkfan/</link>
					<comments>https://hamradio.my/2025/08/keep-your-thinkpad-cool-on-linux-with-thinkfan/#respond</comments>
		
		<dc:creator><![CDATA[9M2PJU]]></dc:creator>
		<pubDate>Thu, 21 Aug 2025 04:03:20 +0000</pubDate>
				<category><![CDATA[archlinux]]></category>
		<category><![CDATA[cachyos]]></category>
		<category><![CDATA[free open source software]]></category>
		<category><![CDATA[laptop]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[malaysia]]></category>
		<category><![CDATA[tips and tricks]]></category>
		<category><![CDATA[arch linux thinkfan]]></category>
		<category><![CDATA[fan control daemon]]></category>
		<category><![CDATA[fan speed control]]></category>
		<category><![CDATA[hot climate laptop]]></category>
		<category><![CDATA[laptop thermal management]]></category>
		<category><![CDATA[linux fan control]]></category>
		<category><![CDATA[linux performance tweak]]></category>
		<category><![CDATA[linux thinkpad tips]]></category>
		<category><![CDATA[malaysia laptop cooling]]></category>
		<category><![CDATA[optimize fan linux]]></category>
		<category><![CDATA[reduce laptop heat]]></category>
		<category><![CDATA[thinkfan]]></category>
		<category><![CDATA[thinkpad fan control]]></category>
		<category><![CDATA[thinkpad overheating fix]]></category>
		<category><![CDATA[ubuntu thinkfan]]></category>
		<guid isPermaLink="false">https://hamradio.my/?p=8424</guid>

					<description><![CDATA[<p>If you&#8217;re using a ThinkPad in a hot and humid country like Malaysia, you probably already know how quickly your laptop can heat up. Whether you&#8217;re compiling code, editing videos, or just having too many browser tabs open — things can get toasty fast. Most ThinkPads come with decent thermal design, but by default, the [&#8230;]</p>
<p>The post <a href="https://hamradio.my/2025/08/keep-your-thinkpad-cool-on-linux-with-thinkfan/">Keep Your ThinkPad Cool on Linux with ThinkFan</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading"></h2>



<p class="wp-block-paragraph">If you&#8217;re using a ThinkPad in a hot and humid country like Malaysia, you probably already know how quickly your laptop can heat up. Whether you&#8217;re compiling code, editing videos, or just having too many browser tabs open — things can get toasty fast.</p>



<p class="wp-block-paragraph">Most ThinkPads come with decent thermal design, but by default, the fan control is conservative. Enter <strong>ThinkFan</strong> — a lightweight, flexible fan control daemon that gives <strong>you</strong> full control over when and how your fan spins.</p>



<p class="wp-block-paragraph">In this blog post, I’ll show you how to set up ThinkFan properly and <strong>optimize it for the Malaysian climate</strong>, where temperatures frequently exceed 30°C.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Why Use ThinkFan?</h3>



<p class="wp-block-paragraph">ThinkFan gives you:</p>



<ul class="wp-block-list">
<li>Manual control of fan levels based on actual temperature readings</li>



<li>Better thermal management than default BIOS behavior</li>



<li>Quieter system during light usage</li>



<li>More aggressive cooling when needed</li>
</ul>



<p class="wp-block-paragraph">It’s especially useful for older ThinkPad models or systems that throttle too early or run too hot.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9f0.png" alt="🧰" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Prerequisites</h3>



<p class="wp-block-paragraph">Before starting, make sure:</p>



<ol class="wp-block-list">
<li>You are using a <strong>ThinkPad</strong>.</li>



<li>You have installed ThinkFan (<code>thinkfan</code>) via your package manager.</li>



<li>The <strong><code>thinkpad_acpi</code></strong> module is loaded with fan control enabled:</li>
</ol>



<pre class="wp-block-code"><code>echo "options thinkpad_acpi fan_control=1" | sudo tee /etc/modprobe.d/thinkfan.conf
sudo modprobe -r thinkpad_acpi
sudo modprobe thinkpad_acpi fan_control=1
</code></pre>



<ol start="4" class="wp-block-list">
<li>Verify that <code>/proc/acpi/ibm/fan</code> exists:</li>
</ol>



<pre class="wp-block-code"><code>cat /proc/acpi/ibm/fan
</code></pre>



<p class="wp-block-paragraph">If you get a response, you&#8217;re good to go.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f527.png" alt="🔧" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Configuring ThinkFan</h3>



<p class="wp-block-paragraph">Create or edit your config file:</p>



<pre class="wp-block-code"><code>sudo nano /etc/thinkfan.conf
</code></pre>



<p class="wp-block-paragraph">Paste the following <strong>Malaysia-optimized config</strong>:</p>



<pre class="wp-block-code"><code># Fan control interface for ThinkPad
tp_fan /proc/acpi/ibm/fan

# Temperature sensors (adjust if different on your system)
hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon7/temp1_input
hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon7/temp2_input
hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon7/temp3_input

# Fan levels and temperature ranges (°C)
(1  0     48)      # Fan level 1 below 48°C
(2  48    58)      # Fan level 2 for light warmth
(3  58    65)      # Fan level 3 for typical usage
(4  65    72)      # Fan level 4 for medium load
(5  72    78)      # Fan level 5 for gaming or heavy usage
(6  78    83)      # Fan level 6 for high temps
(7  83  32767)     # Max fan speed for very high temps
</code></pre>



<p class="wp-block-paragraph">This setup ensures that your fan stays quiet under light usage, but kicks in earlier and harder once temps climb — ideal for a warm country like Malaysia.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Starting ThinkFan</h3>



<p class="wp-block-paragraph">Enable and start the ThinkFan service:</p>



<pre class="wp-block-code"><code>sudo systemctl enable --now thinkfan
</code></pre>



<p class="wp-block-paragraph">Monitor its activity:</p>



<pre class="wp-block-code"><code>sudo journalctl -u thinkfan -f
</code></pre>



<p class="wp-block-paragraph">You should see logs like this:</p>



<pre class="wp-block-code"><code>Temperatures(bias): 50(0), 49(0), 50(0) -&gt; Fans: level 2
Temperatures(bias): 66(0), 63(0), 67(0) -&gt; Fans: level 3
</code></pre>



<p class="wp-block-paragraph">This means it’s working and adjusting your fan dynamically.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2757.png" alt="❗" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Tips for Stability</h3>



<ul class="wp-block-list">
<li>Don’t use <code>thinkfan -n</code> directly unless testing. Let systemd handle it.</li>



<li>Avoid setting temperatures too low unless you&#8217;re okay with constant fan noise.</li>



<li>If fan control stops working after suspend/resume, consider a udev or systemd resume hook to reload <code>thinkpad_acpi</code>.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">Optional: Use ThinkFan-UI for a GUI Experience</h3>



<p class="wp-block-paragraph">If you prefer a graphical interface, check out <a class="" href="https://github.com/zocker-160/thinkfan-ui">ThinkFan-UI on GitHub</a>. It lets you:</p>



<ul class="wp-block-list">
<li>View real-time temperatures</li>



<li>Monitor fan levels visually</li>



<li>Toggle daemon control manually</li>



<li>Customize profiles easily</li>
</ul>



<figure class="wp-block-image size-full"><img  title="" fetchpriority="high" decoding="async" width="591" height="407" src="https://hamradio.my/wp-content/uploads/2025/07/image-12.png"  alt="image-12 Keep Your ThinkPad Cool on Linux with ThinkFan"  class="wp-image-8426" srcset="https://hamradio.my/wp-content/uploads/2025/07/image-12.png 591w, https://hamradio.my/wp-content/uploads/2025/07/image-12-300x207.png 300w" sizes="(max-width: 591px) 100vw, 591px" /></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2601.png" alt="☁" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Final Thoughts</h3>



<p class="wp-block-paragraph">ThinkFan is a must-have for ThinkPad users who want quieter systems and better thermal performance. With a little configuration, you can make your laptop behave much better — and <strong>cooler</strong>, especially in Southeast Asia’s heat.</p>



<p class="wp-block-paragraph">If you live in a climate like Malaysia, <strong>don’t settle for the default BIOS fan behavior</strong>. Take control — and give your laptop the cooling it deserves.</p>



<p class="wp-block-paragraph">For more info, visit:</p>



<ol class="wp-block-list">
<li><strong><a href="https://github.com/vmatare/thinkfan">https://github.com/vmatare/thinkfan</a></strong></li>



<li><strong><a href="https://github.com/zocker-160/thinkfan-ui">https://github.com/zocker-160/thinkfan-ui</a></strong></li>
</ol>



<p class="wp-block-paragraph"></p>
<p>The post <a href="https://hamradio.my/2025/08/keep-your-thinkpad-cool-on-linux-with-thinkfan/">Keep Your ThinkPad Cool on Linux with ThinkFan</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://hamradio.my/2025/08/keep-your-thinkpad-cool-on-linux-with-thinkfan/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>TLP + ThinkPad: Ultimate Linux Battery &#038; Thermal Management for Old Laptops</title>
		<link>https://hamradio.my/2025/07/tlp-thinkpad-ultimate-linux-battery-thermal-management-for-old-laptops/</link>
					<comments>https://hamradio.my/2025/07/tlp-thinkpad-ultimate-linux-battery-thermal-management-for-old-laptops/#respond</comments>
		
		<dc:creator><![CDATA[9M2PJU]]></dc:creator>
		<pubDate>Wed, 30 Jul 2025 14:31:06 +0000</pubDate>
				<category><![CDATA[archlinux]]></category>
		<category><![CDATA[cachyos]]></category>
		<category><![CDATA[laptop]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[linux desktop]]></category>
		<category><![CDATA[thinkpad]]></category>
		<category><![CDATA[tips and tricks]]></category>
		<category><![CDATA[tweaks]]></category>
		<category><![CDATA[extend battery life ThinkPad Linux]]></category>
		<category><![CDATA[Linux battery saver]]></category>
		<category><![CDATA[Linux charge threshold ThinkPad]]></category>
		<category><![CDATA[Linux fan control ThinkPad]]></category>
		<category><![CDATA[Linux laptop overheating fix]]></category>
		<category><![CDATA[linux power management]]></category>
		<category><![CDATA[linux thinkpad tips]]></category>
		<category><![CDATA[ThinkPad Linux battery care]]></category>
		<category><![CDATA[ThinkPad T460 Linux setup]]></category>
		<category><![CDATA[ThinkPad TLP optimization]]></category>
		<category><![CDATA[tlp battery threshold]]></category>
		<category><![CDATA[TLP CachyOS setup]]></category>
		<category><![CDATA[tlp linux]]></category>
		<category><![CDATA[TLP ThinkFan config]]></category>
		<category><![CDATA[TLP vs acpi_call]]></category>
		<guid isPermaLink="false">https://hamradio.my/?p=8500</guid>

					<description><![CDATA[<p>If you&#8217;re using a ThinkPad on Linux—especially an older model like the ThinkPad T460—you owe it to yourself to install TLP. I’ve been tuning my T460 running CachyOS in Malaysia’s hot climate (no aircon, just a ceiling fan), and the difference with TLP is night and day. Let&#8217;s talk about how TLP works, how it [&#8230;]</p>
<p>The post <a href="https://hamradio.my/2025/07/tlp-thinkpad-ultimate-linux-battery-thermal-management-for-old-laptops/">TLP + ThinkPad: Ultimate Linux Battery &amp; Thermal Management for Old Laptops</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">If you&#8217;re using a ThinkPad on Linux—especially an older model like the <strong>ThinkPad T460</strong>—you owe it to yourself to install <strong>TLP</strong>.</p>



<p class="wp-block-paragraph">I’ve been tuning my <strong>T460 running CachyOS</strong> in Malaysia’s hot climate (no aircon, just a ceiling fan), and the difference with TLP is night and day. Let&#8217;s talk about how TLP works, how it makes your laptop smarter, and why it pairs beautifully with ThinkPads.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> What Is TLP?</h2>



<p class="wp-block-paragraph"><strong>TLP</strong> is an advanced power management tool for Linux laptops. It automatically optimizes power usage depending on whether you&#8217;re plugged in or on battery, and offers a ton of ThinkPad-specific battery care features.</p>



<ul class="wp-block-list">
<li>On battery: Saves power, reduces heat</li>



<li>On AC: Prioritizes performance</li>



<li>On ThinkPads: Enables battery charge thresholds, recalibration, discharge, etc.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f527.png" alt="🔧" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Why ThinkPads + TLP Just Work</h2>



<p class="wp-block-paragraph">ThinkPads are well-known for their Linux compatibility. TLP detects ThinkPad hardware via the <code>thinkpad_acpi</code> kernel module, enabling advanced features <strong>without needing extra modules like <code>acpi_call-dkms</code></strong>.</p>



<p class="wp-block-paragraph">On my T460, TLP uses <strong><code>natacpi</code> (native ACPI)</strong> to:</p>



<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Set charging thresholds<br><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Prevent battery degradation<br><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Reduce fan noise and overheating<br><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Automatically stop charging at 80%<br><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Keep things cool—even in a hot room</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6e0.png" alt="🛠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> My Current Setup</h2>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f50b.png" alt="🔋" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Battery Management</h3>



<p class="wp-block-paragraph">I&#8217;m using these thresholds in <code>/etc/tlp.conf</code>:</p>



<pre class="wp-block-code"><code>START_CHARGE_THRESH_BAT0=75
STOP_CHARGE_THRESH_BAT0=80
</code></pre>



<p class="wp-block-paragraph">That means charging only starts when my battery drops to 75%, and stops at 80%. This helps <strong>extend the battery’s lifespan</strong>—great if your laptop spends most of the time plugged in.</p>



<p class="wp-block-paragraph">TLP also supports force discharge and recalibration if needed.</p>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2744.png" alt="❄" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Fan + Cooling</h3>



<p class="wp-block-paragraph">Pairing TLP with <strong>ThinkFan</strong> gives full control of fan levels. I&#8217;m using an aggressive ThinkFan config to keep temps low. The fan spins up early to compensate for the Malaysian heat. Result? No thermal throttling.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f50d.png" alt="🔍" class="wp-smiley" style="height: 1em; max-height: 1em;" /> How to Check If <code>acpi_call-dkms</code> Is Needed</h2>



<p class="wp-block-paragraph">TLP doesn’t need <code>acpi_call-dkms</code> <strong>if <code>natacpi</code> is active</strong>, which you can check with:</p>



<pre class="wp-block-code"><code>sudo tlp-stat -b
</code></pre>



<p class="wp-block-paragraph">Look for:</p>



<pre class="wp-block-code"><code>Driver usage:
* natacpi (thinkpad_acpi) = active
</code></pre>



<p class="wp-block-paragraph">If that’s active, <strong>you can uninstall <code>acpi_call-dkms</code></strong> safely. I did!</p>



<pre class="wp-block-code"><code>sudo pacman -Rns acpi_call-dkms
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Final Thoughts</h2>



<p class="wp-block-paragraph">TLP is a must-have for anyone running Linux on a ThinkPad. Combine it with ThinkFan and your old laptop will feel cooler, quieter, and smarter—even in hot climates like mine.</p>



<p class="wp-block-paragraph">It’s free, open source, and incredibly effective.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9ea.png" alt="🧪" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Bonus Tip</h3>



<p class="wp-block-paragraph">Want to see TLP in action?</p>



<pre class="wp-block-code"><code>sudo tlp-stat -s    # See current power status
sudo tlp-stat -b    # Battery and charging status
</code></pre>



<p class="wp-block-paragraph">Then just sit back and enjoy <strong>better thermals, longer battery life</strong>, and a cooler laptop.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4cc.png" alt="📌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> TL;DR</h2>



<ul class="wp-block-list">
<li>Install TLP on ThinkPads for power and battery management.</li>



<li>Native support via <code>thinkpad_acpi</code> (no <code>acpi_call-dkms</code> needed).</li>



<li>Works great with ThinkFan for thermal control.</li>



<li>Set charge thresholds to extend battery health.</li>



<li>Perfect for hot weather or 24/7 plugged-in laptops.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph">Want to automate thermal management and battery care like a pro? TLP is the answer. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6e0.png" alt="🛠" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p class="wp-block-paragraph"></p>
<p>The post <a href="https://hamradio.my/2025/07/tlp-thinkpad-ultimate-linux-battery-thermal-management-for-old-laptops/">TLP + ThinkPad: Ultimate Linux Battery &amp; Thermal Management for Old Laptops</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://hamradio.my/2025/07/tlp-thinkpad-ultimate-linux-battery-thermal-management-for-old-laptops/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Keeping Your ThinkPad Cool on CachyOS with ThinkFan</title>
		<link>https://hamradio.my/2025/07/keeping-your-thinkpad-cool-on-cachyos-with-thinkfan/</link>
					<comments>https://hamradio.my/2025/07/keeping-your-thinkpad-cool-on-cachyos-with-thinkfan/#respond</comments>
		
		<dc:creator><![CDATA[9M2PJU]]></dc:creator>
		<pubDate>Wed, 30 Jul 2025 14:18:52 +0000</pubDate>
				<category><![CDATA[cachyos]]></category>
		<category><![CDATA[laptop]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[thinkpad]]></category>
		<category><![CDATA[tips and tricks]]></category>
		<category><![CDATA[tweaks]]></category>
		<category><![CDATA[aggressive fan control arch linux]]></category>
		<category><![CDATA[arch thinkpad t460 thermal]]></category>
		<category><![CDATA[cachyos thinkpad fan]]></category>
		<category><![CDATA[custom fan curve linux]]></category>
		<category><![CDATA[fan control old laptop linux]]></category>
		<category><![CDATA[improve thinkpad cooling]]></category>
		<category><![CDATA[linux cool laptop without ac]]></category>
		<category><![CDATA[linux heat management thinkpad]]></category>
		<category><![CDATA[linux laptop hot fix]]></category>
		<category><![CDATA[thermal tuning thinkpad t460]]></category>
		<category><![CDATA[thinkfan config t460]]></category>
		<category><![CDATA[thinkfan malaysia setup]]></category>
		<category><![CDATA[thinkfan setup linux]]></category>
		<category><![CDATA[thinkpad linux cooling]]></category>
		<category><![CDATA[thinkpad t460 fan control]]></category>
		<guid isPermaLink="false">https://hamradio.my/?p=8497</guid>

					<description><![CDATA[<p>If you&#8217;re using an older laptop like the ThinkPad T460 in a hot, enclosed environment (like many of us in Malaysia), thermal management becomes crucial. Without proper cooling, your laptop will thermal throttle, overheat, or just feel uncomfortably warm during use. This post walks through how I configured ThinkFan on CachyOS to provide aggressive, smart [&#8230;]</p>
<p>The post <a href="https://hamradio.my/2025/07/keeping-your-thinkpad-cool-on-cachyos-with-thinkfan/">Keeping Your ThinkPad Cool on CachyOS with ThinkFan</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading"></h1>



<p class="wp-block-paragraph">If you&#8217;re using an older laptop like the <strong>ThinkPad T460</strong> in a hot, enclosed environment (like many of us in Malaysia), thermal management becomes crucial. Without proper cooling, your laptop will thermal throttle, overheat, or just feel uncomfortably warm during use.</p>



<p class="wp-block-paragraph">This post walks through how I configured <strong>ThinkFan</strong> on <strong>CachyOS</strong> to provide <strong>aggressive, smart fan control</strong> — perfect for rooms without air conditioning.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2744.png" alt="❄" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Why ThinkFan?</h2>



<p class="wp-block-paragraph">ThinkFan is a lightweight daemon that adjusts your fan speed based on temperature readings. On ThinkPads, it interfaces with the system via the <strong><code>thinkpad_acpi</code></strong> module and <strong><code>/proc</code></strong>/<code>/sys</code> interfaces.</p>



<p class="wp-block-paragraph"><strong>Benefits:</strong></p>



<ul class="wp-block-list">
<li>Auto-adjusts fan speeds based on real temps</li>



<li>Lower idle temps</li>



<li>Avoids overheating during heavy tasks</li>



<li>Fully customizable fan curves</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6e0.png" alt="🛠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> What You Need</h2>



<ul class="wp-block-list">
<li>A ThinkPad laptop (in my case, a <strong>T460</strong>)</li>



<li><strong>CachyOS</strong> or any Arch-based distro</li>



<li>Root access</li>



<li><code>thinkfan</code> and <code>lm_sensors</code> packages installed</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4e6.png" alt="📦" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Step 1: Install ThinkFan &amp; lm_sensors</h2>



<pre class="wp-block-code"><code>sudo pacman -S thinkfan lm_sensors
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f527.png" alt="🔧" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Step 2: Enable Kernel Modules</h2>



<p class="wp-block-paragraph">Ensure the ThinkPad ACPI module is loaded:</p>



<pre class="wp-block-code"><code>echo "options thinkpad_acpi fan_control=1" | sudo tee /etc/modprobe.d/thinkpad_acpi.conf
</code></pre>



<p class="wp-block-paragraph">Then run:</p>



<pre class="wp-block-code"><code>sudo modprobe -r thinkpad_acpi
sudo modprobe thinkpad_acpi fan_control=1
</code></pre>



<p class="wp-block-paragraph">To make it permanent across reboots, ensure the module is loaded:</p>



<pre class="wp-block-code"><code>echo thinkpad_acpi | sudo tee -a /etc/modules-load.d/thinkpad.conf
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f321.png" alt="🌡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Step 3: Detect Sensors</h2>



<pre class="wp-block-code"><code>sudo sensors-detect
</code></pre>



<p class="wp-block-paragraph">Accept defaults. Then reboot.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f50d.png" alt="🔍" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Step 4: Identify Your Sensors</h2>



<p class="wp-block-paragraph">Run:</p>



<pre class="wp-block-code"><code>for i in /sys/class/hwmon/hwmon*/name; do echo "$i: $(cat $i)"; done
</code></pre>



<p class="wp-block-paragraph">Example output:</p>



<pre class="wp-block-code"><code>/sys/class/hwmon/hwmon0/name: AC
/sys/class/hwmon/hwmon1/name: acpitz
/sys/class/hwmon/hwmon2/name: BAT0
/sys/class/hwmon/hwmon3/name: thinkpad
/sys/class/hwmon/hwmon4/name: pch_skylake
/sys/class/hwmon/hwmon5/name: iwlwifi_1
/sys/class/hwmon/hwmon6/name: coretemp
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9fe.png" alt="🧾" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Step 5: Create the ThinkFan Config</h2>



<p class="wp-block-paragraph">Edit or create <code>/etc/thinkfan.conf</code>:</p>



<pre class="wp-block-code"><code>hwmon /sys/class/hwmon/hwmon6/temp1_input
hwmon /sys/class/hwmon/hwmon4/temp1_input
hwmon /sys/class/hwmon/hwmon3/temp1_input
hwmon /sys/class/hwmon/hwmon1/temp1_input

# Fan steps: (fan_level, temp_low, temp_high)
# Aggressive cooling - starts early and ramps fast

(0  0     48)
(1  45    52)
(2  50    56)
(3  54    60)
(4  57    65)
(5  60    70)
(6  65    75)
(7  70    80)
</code></pre>



<p class="wp-block-paragraph">This fan curve is designed to <strong>start cooling early</strong> (as low as 45°C) and <strong>quickly reach max fan speed</strong> as temps rise — ideal for Malaysia’s hot climate.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Step 6: Enable and Start the Service</h2>



<pre class="wp-block-code"><code>sudo systemctl enable --now thinkfan
</code></pre>



<p class="wp-block-paragraph">Check its live logs:</p>



<pre class="wp-block-code"><code>sudo journalctl -u thinkfan -f
</code></pre>



<p class="wp-block-paragraph">You should see output like:</p>



<pre class="wp-block-code"><code>Temperatures(bias): 51(0), 51(0), 45(0), 50(0), 50(0), 51(0) -&gt; Fans: level 3
</code></pre>



<p class="wp-block-paragraph">When things heat up:</p>



<pre class="wp-block-code"><code>Temperatures(bias): 55(0), 55(0), 46(0), 60(0), 58(0), 55(0) -&gt; Fans: level 5
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9ca.png" alt="🧊" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Final Result: Cool &amp; Quiet(ish)</h2>



<p class="wp-block-paragraph">With this setup, my ThinkPad T460 stays cool even when:</p>



<ul class="wp-block-list">
<li>Browsing with multiple tabs</li>



<li>In a room with <strong>no air-conditioning</strong>, <strong>no window</strong>, just a slow ceiling fan</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4cc.png" alt="📌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Notes</h2>



<ul class="wp-block-list">
<li>You can always tweak the fan curve for quieter behavior if needed.</li>



<li>If you&#8217;re using <strong>KDE or GNOME</strong>, add a temp widget for real-time visuals.</li>



<li>Don’t forget to clean your fans every few months — software can’t fix dust buildup.</li>
</ul>



<p class="wp-block-paragraph"></p>
<p>The post <a href="https://hamradio.my/2025/07/keeping-your-thinkpad-cool-on-cachyos-with-thinkfan/">Keeping Your ThinkPad Cool on CachyOS with ThinkFan</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://hamradio.my/2025/07/keeping-your-thinkpad-cool-on-cachyos-with-thinkfan/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ElecWhat – A Minimalist, Reliable WhatsApp Desktop Client for Linux</title>
		<link>https://hamradio.my/2025/07/elecwhat-a-minimalist-reliable-whatsapp-desktop-client-for-linux/</link>
					<comments>https://hamradio.my/2025/07/elecwhat-a-minimalist-reliable-whatsapp-desktop-client-for-linux/#respond</comments>
		
		<dc:creator><![CDATA[9M2PJU]]></dc:creator>
		<pubDate>Mon, 28 Jul 2025 16:38:41 +0000</pubDate>
				<category><![CDATA[free open source software]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[linux desktop]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[whatsapp]]></category>
		<category><![CDATA[appimage]]></category>
		<category><![CDATA[appindicator]]></category>
		<category><![CDATA[archlinux]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[desktopclient]]></category>
		<category><![CDATA[electronapp]]></category>
		<category><![CDATA[elecwhat]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[foss]]></category>
		<category><![CDATA[lightweight]]></category>
		<category><![CDATA[linuxapps]]></category>
		<category><![CDATA[linuxuser]]></category>
		<category><![CDATA[minimalapp]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[productivity]]></category>
		<category><![CDATA[snapcraft]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[Whatsapp]]></category>
		<category><![CDATA[whatsappdesktop]]></category>
		<guid isPermaLink="false">https://hamradio.my/?p=7798</guid>

					<description><![CDATA[<p>If you’re looking for a clean, stable WhatsApp experience on your Linux desktop, ElecWhat delivers exactly that—no bloat, no noise, just a focused tool that works. Built with simplicity and performance in mind, ElecWhat runs quietly in the background, integrates nicely with your desktop environment, and offers just enough customization to fit your workflow. Why [&#8230;]</p>
<p>The post <a href="https://hamradio.my/2025/07/elecwhat-a-minimalist-reliable-whatsapp-desktop-client-for-linux/">ElecWhat – A Minimalist, Reliable WhatsApp Desktop Client for Linux</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading"></h1>



<p class="wp-block-paragraph">If you’re looking for a clean, stable WhatsApp experience on your Linux desktop, <strong>ElecWhat</strong> delivers exactly that—no bloat, no noise, just a focused tool that works.</p>



<p class="wp-block-paragraph">Built with simplicity and performance in mind, ElecWhat runs quietly in the background, integrates nicely with your desktop environment, and offers just enough customization to fit your workflow.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><strong>Why Use ElecWhat?</strong></h2>



<p class="wp-block-paragraph">ElecWhat is a lightweight desktop client for WhatsApp that prioritizes <strong>stability</strong>, <strong>customization</strong>, and <strong>Linux-first features</strong>. The codebase is tiny—under 600 lines—which makes it easy to audit and maintain. It’s been rock-solid in daily use, handling notifications, chats, and tray icon updates without issue.</p>



<p class="wp-block-paragraph">If you want a client that respects your system resources and just works, this is it.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><strong>Features at a Glance</strong></h2>



<ul class="wp-block-list">
<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f5a5.png" alt="🖥" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Desktop Notifications</strong> – Stay up to date with incoming messages.</li>



<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f514.png" alt="🔔" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Tray Icon with Unread Counter</strong> – Uses AppIndicator, works well with supported desktops.</li>



<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f3b9.png" alt="🎹" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Custom Keyboard Shortcuts</strong> – Personalize your controls.</li>



<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f3a8.png" alt="🎨" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>CSS Styling Support</strong> – Tweak the interface your way—inline styles, external files, or remote stylesheets.</li>



<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f524.png" alt="🔤" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Spellcheck</strong> – Enable or disable, with support for multiple languages.</li>



<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9e0.png" alt="🧠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>CLI and D-Bus Support</strong> – Useful for scripting, automation, or quick toggles.</li>



<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4cc.png" alt="📌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Remembers Window Position</strong> – Picks up exactly where you left it.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><strong>Installation</strong></h2>



<h3 class="wp-block-heading"><strong>Ubuntu / Kubuntu</strong></h3>



<ul class="wp-block-list">
<li>Available as a Snap package</li>



<li><code>.deb</code> file (with <code>--no-sandbox</code> flag due to Electron security restrictions)</li>



<li>AppImage option (also requires <code>--no-sandbox</code>)</li>
</ul>



<h3 class="wp-block-heading"><strong>Arch Linux</strong></h3>



<ul class="wp-block-list">
<li>Install via AUR: <code>yay -S elecwhat-bin</code></li>



<li>Or use the AppImage / prebuilt packages from the Releases section</li>
</ul>



<h3 class="wp-block-heading"><strong>Debian</strong></h3>



<ul class="wp-block-list">
<li>Grab the <code>.deb</code> from Releases or Buildkite</li>



<li>AppImage option also available</li>
</ul>



<h3 class="wp-block-heading"><strong>Fedora</strong></h3>



<ul class="wp-block-list">
<li>RPM packages in Releases</li>



<li>AppImage support included</li>
</ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Tip:</strong> For tray icon support on GNOME, install the AppIndicator extension.</p>
</blockquote>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><strong>Configuration Example</strong></h2>



<p class="wp-block-paragraph">ElecWhat keeps your settings simple and flexible. Create or edit the config at:</p>



<ul class="wp-block-list">
<li><code>~/.config/elecwhat/config.json</code></li>



<li>(For Snap users: <code>~/snap/elecwhat/current/.config/elecwhat/config.json</code>)</li>
</ul>



<p class="wp-block-paragraph">Here’s an example config:</p>



<pre class="wp-block-code"><code>{
  "notification-prefix": "elecwhat - ",
  "quit-on-close": false,
  "show-at-startup": false,
  "dbus": true,
  "menu-bar": true,
  "menu-bar-auto-hide": true,
  "keys": {
    "C ArrowDown": {
      "whatsappAction": "GO_TO_NEXT_CHAT"
    }
  },
  "css": &#91;
    "span { font-size: small !important; }",
    "https://gist.githubusercontent.com/piec/3f9a198a7694f1df37895ee3faee9b6e/raw/whatsapp-test.css",
    "file://~/mysheet.css"
  ],
  "spellcheck": true,
  "spellcheck-languages": &#91;"en-US", "fr"],
  "open-dev-tools": false
}
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><strong>Design Philosophy</strong></h2>



<p class="wp-block-paragraph">ElecWhat is not trying to be everything. It’s meant to be small, focused, and functional. You won’t find multi-account support or complex integrations here—just a clean interface that lets you use WhatsApp on your desktop without distractions.</p>



<p class="wp-block-paragraph">If you&#8217;re someone who appreciates simplicity and reliability, ElecWhat will feel right at home in your setup.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><strong>Where to Get It</strong></h2>



<p class="wp-block-paragraph">You can find builds for various distributions—including <code>.deb</code>, <code>.rpm</code>, and AppImage formats—on the project&#8217;s <a href="https://github.com/piec/elecwhat/releases">GitHub Releases</a>.</p>



<p class="wp-block-paragraph">Give it a shot. It might be the cleanest WhatsApp client you’ve ever used on Linux.</p>
<p>The post <a href="https://hamradio.my/2025/07/elecwhat-a-minimalist-reliable-whatsapp-desktop-client-for-linux/">ElecWhat – A Minimalist, Reliable WhatsApp Desktop Client for Linux</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://hamradio.my/2025/07/elecwhat-a-minimalist-reliable-whatsapp-desktop-client-for-linux/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>CachyOS: A Fast and Modern Arch-Based Linux Distribution for Power Users and Gamers</title>
		<link>https://hamradio.my/2025/07/cachyos-a-fast-and-modern-arch-based-linux-distribution-for-power-users-and-gamers/</link>
					<comments>https://hamradio.my/2025/07/cachyos-a-fast-and-modern-arch-based-linux-distribution-for-power-users-and-gamers/#respond</comments>
		
		<dc:creator><![CDATA[9M2PJU]]></dc:creator>
		<pubDate>Sat, 26 Jul 2025 10:40:13 +0000</pubDate>
				<category><![CDATA[archlinux]]></category>
		<category><![CDATA[cachyos]]></category>
		<category><![CDATA[gnu/linux]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[linux desktop]]></category>
		<category><![CDATA[linux gaming]]></category>
		<category><![CDATA[linux kernel]]></category>
		<category><![CDATA[open source operating system]]></category>
		<category><![CDATA[arch based linux]]></category>
		<category><![CDATA[btrfs linux]]></category>
		<category><![CDATA[cachy browser]]></category>
		<category><![CDATA[cachyos linux review]]></category>
		<category><![CDATA[cachyos vs manjaro]]></category>
		<category><![CDATA[fast linux distro]]></category>
		<category><![CDATA[linux for gaming]]></category>
		<category><![CDATA[linux for modern cpu]]></category>
		<category><![CDATA[linux for ryzen]]></category>
		<category><![CDATA[linux kernel optimization]]></category>
		<category><![CDATA[linux performance tuning]]></category>
		<category><![CDATA[linux with zram]]></category>
		<guid isPermaLink="false">https://hamradio.my/?p=8429</guid>

					<description><![CDATA[<p>In the ever-growing world of Linux distributions, there’s no shortage of choices. From beginner-friendly options like Ubuntu and Manjaro to bleeding-edge systems like Arch Linux, users can find a distro that suits nearly any use case. But what if you’re looking for raw performance, modern hardware optimization, and a smooth desktop experience out of the [&#8230;]</p>
<p>The post <a href="https://hamradio.my/2025/07/cachyos-a-fast-and-modern-arch-based-linux-distribution-for-power-users-and-gamers/">CachyOS: A Fast and Modern Arch-Based Linux Distribution for Power Users and Gamers</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading"></h2>



<p class="wp-block-paragraph">In the ever-growing world of Linux distributions, there’s no shortage of choices. From beginner-friendly options like Ubuntu and Manjaro to bleeding-edge systems like Arch Linux, users can find a distro that suits nearly any use case. But what if you’re looking for <strong>raw performance</strong>, <strong>modern hardware optimization</strong>, and a <strong>smooth desktop experience out of the box</strong>?</p>



<p class="wp-block-paragraph">Meet <strong>CachyOS</strong> — a lesser-known but rapidly rising Arch-based Linux distribution that’s built with one clear goal in mind: <strong>speed and responsiveness without sacrificing control or flexibility</strong>.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f50d.png" alt="🔍" class="wp-smiley" style="height: 1em; max-height: 1em;" /> What is CachyOS?</h3>



<p class="wp-block-paragraph"><strong>CachyOS</strong> is an Arch-based Linux distribution that aims to provide an ultra-fast, responsive, and secure desktop environment tailored especially for <strong>modern CPUs and high-performance tasks</strong>, such as gaming, compiling, multitasking, and content creation.</p>



<p class="wp-block-paragraph">What makes it different from other Arch-based distros like Manjaro, EndeavourOS, or Garuda? The answer lies in <strong>aggressive performance optimizations</strong>, <strong>custom-built kernels</strong>, and <strong>compiler-level tweaks</strong> designed to squeeze the most out of your system.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Why Use CachyOS?</h3>



<p class="wp-block-paragraph">Let’s break down the unique features that set CachyOS apart:</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 1. Performance-Tuned Kernels</h3>



<p class="wp-block-paragraph">CachyOS ships with <strong>multiple kernel options</strong> optimized for different workloads. These include:</p>



<ul class="wp-block-list">
<li><code>linux-cachyos</code>: The default kernel tuned with custom CPU scheduling and responsiveness.</li>



<li><code>linux-cachyos-bore</code>: Includes the <strong>Bore scheduler</strong> for desktop fluidity.</li>



<li><code>linux-cachyos-tt</code>: The <strong>TT (Temporal Tasking) scheduler</strong>, offering ultra-low latency and gaming responsiveness.</li>



<li><code>linux-cachyos-rc</code>: A release-candidate kernel for those who want the absolute latest.</li>
</ul>



<p class="wp-block-paragraph">This variety allows users to test and select the best kernel for their hardware and needs.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2699.png" alt="⚙" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 2. Compiler Optimizations for Modern CPUs</h3>



<p class="wp-block-paragraph">CachyOS takes things further by building its packages using <strong>LLVM/Clang</strong> and <strong>custom compiler flags</strong> targeting <strong>x86-64-v3</strong> or <strong>x86-64-v4</strong> instruction sets — meaning if you have a newer CPU (2011 and beyond), you’re going to see <strong>noticeable speed gains</strong> in both daily tasks and heavy workloads.</p>



<p class="wp-block-paragraph">This makes system updates and application launches faster than standard builds, especially compared to general-purpose distros.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9e0.png" alt="🧠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 3. Intelligent Memory and CPU Handling</h3>



<p class="wp-block-paragraph">CachyOS is tuned for <strong>desktop usage</strong> right out of the box:</p>



<ul class="wp-block-list">
<li><strong>ZRAM enabled by default</strong>, allowing for better memory compression and management.</li>



<li>Integrated <strong>systemd-oomd</strong> for handling low-memory situations gracefully.</li>



<li><strong>Intel P-State / AMD CPPC</strong> governor optimization for dynamic frequency scaling.</li>



<li><strong>Link-Time Optimization (LTO)</strong> enabled in many packages, improving runtime speed.</li>
</ul>



<p class="wp-block-paragraph">These tweaks result in <strong>faster application startup</strong>, <strong>lower input latency</strong>, and <strong>smoother multitasking</strong>, especially on systems with limited RAM or older SSDs.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f3ae.png" alt="🎮" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 4. A Gamer&#8217;s Delight</h3>



<p class="wp-block-paragraph">Gaming on Linux has improved drastically, and CachyOS embraces this shift:</p>



<ul class="wp-block-list">
<li>Preinstalled support for <strong>Steam</strong>, <strong>Proton</strong>, and <strong>Lutris</strong>.</li>



<li>Comes with <strong>gamemode</strong>, <strong>MangoHud</strong>, <strong>vkBasalt</strong>, and other useful gaming tools.</li>



<li>Native support for <strong>NVIDIA</strong>, <strong>AMD</strong>, and <strong>Intel</strong> drivers.</li>



<li>Custom kernels improve <strong>FPS stability</strong>, <strong>input response</strong>, and <strong>frame pacing</strong>.</li>
</ul>



<p class="wp-block-paragraph">For competitive gamers or casual Linux users who love games, CachyOS offers an experience that rivals (or even beats) Windows in responsiveness.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f310.png" alt="🌐" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 5. Cachy-Browser: A Faster Firefox</h3>



<p class="wp-block-paragraph">One standout feature is <strong>Cachy-Browser</strong>, a custom fork of Firefox ESR. It includes:</p>



<ul class="wp-block-list">
<li>Performance patches</li>



<li>Enhanced privacy settings</li>



<li>Disabled telemetry</li>



<li>Faster UI rendering</li>
</ul>



<p class="wp-block-paragraph">This browser is perfect for those who want a Firefox experience that’s faster and more private out of the box.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f5a5.png" alt="🖥" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 6. Desktop Environments and Themes</h3>



<p class="wp-block-paragraph">CachyOS supports multiple desktop environments including:</p>



<ul class="wp-block-list">
<li>KDE Plasma (default)</li>



<li>GNOME</li>



<li>XFCE</li>



<li>Cinnamon</li>



<li>LXQt</li>



<li>Hyprland (Wayland tiling WM)</li>
</ul>



<p class="wp-block-paragraph">The <strong>KDE Plasma version</strong> comes with beautiful custom theming, blur effects, and system tweaks that make it look polished without being overdone.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9f0.png" alt="🧰" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 7. GUI Tools and Kernel Manager</h3>



<p class="wp-block-paragraph">Even though CachyOS is performance-focused, it doesn’t leave usability behind. It provides:</p>



<ul class="wp-block-list">
<li>A <strong>GUI kernel switcher</strong> to easily change and install new kernels.</li>



<li>Easy access to system tools via a <strong>control center-like panel</strong>.</li>



<li>Full <strong>Calamares installer</strong> with support for Btrfs and auto partitioning.</li>
</ul>



<p class="wp-block-paragraph">You get the best of both worlds: <strong>raw power</strong> and <strong>ease of use</strong>.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a0.png" alt="⚠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Things to Keep in Mind</h3>



<p class="wp-block-paragraph">CachyOS is powerful, but it’s not for everyone.</p>



<ul class="wp-block-list">
<li>It assumes you have <strong>moderately new hardware</strong> (at least x86-64-v2+ support).</li>



<li>Some features may break if you stray too far from its tooling (e.g., using other kernels).</li>



<li>It’s not as “beginner-proof” as Ubuntu or Linux Mint.</li>
</ul>



<p class="wp-block-paragraph">However, if you have <strong>some Linux experience</strong> and you’re looking to <strong>push your system to its full potential</strong>, CachyOS is absolutely worth exploring.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9ea.png" alt="🧪" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Real-World Performance</h3>



<p class="wp-block-paragraph">Many users have reported:</p>



<ul class="wp-block-list">
<li><strong>Faster boot times</strong> than Manjaro or EndeavourOS.</li>



<li><strong>Lower idle CPU usage</strong> and RAM footprint on Plasma.</li>



<li><strong>Better gaming performance</strong> with more consistent frame delivery.</li>



<li><strong>Snappier app launch times</strong>, thanks to LTO and compiler flags.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">CachyOS for Amateur Radio Enthusiasts</h3>



<p class="wp-block-paragraph">CachyOS isn&#8217;t just built for speed and gaming—it&#8217;s also a great choice for <strong>amateur radio operators</strong> and <strong>digital communication enthusiasts</strong>. Thanks to its <strong>Arch-based foundation</strong>, CachyOS gives users access to both the official Arch repositories and the <strong>AUR (Arch User Repository)</strong>, which hosts a vast collection of ham radio-related software. Whether you&#8217;re operating <strong>WSJT-X for FT8</strong>, <strong>fldigi for digital modes</strong>, <strong>GNU Radio for SDR experiments</strong>, or using <strong>Xastir and YAAC for APRS tracking</strong>, these tools are readily available with simple installation via <code>pacman</code> or AUR helpers like <code>yay</code>.</p>



<p class="wp-block-paragraph">The high-performance nature of CachyOS makes it particularly suitable for <strong>real-time signal processing</strong>, <strong>SDR applications</strong>, and <strong>low-latency audio</strong>, which are critical for many amateur radio setups. Coupled with optimized kernels and better scheduling for CPU-bound tasks, operators can expect smoother and more stable performance—even on older hardware. If you&#8217;re looking for a Linux distribution that’s not only fast but also <strong>flexible and ham-radio friendly</strong>, CachyOS is well worth considering.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Conclusion</h3>



<p class="wp-block-paragraph">CachyOS is not just another Arch-based distribution — it&#8217;s a performance powerhouse tailored for those who want their system to <strong>work fast, feel smooth</strong>, and take full advantage of modern hardware.</p>



<p class="wp-block-paragraph">Whether you&#8217;re a Linux gamer, a developer compiling massive codebases, or a daily user who just loves a snappy desktop, CachyOS offers an experience that’s hard to beat.</p>



<p class="wp-block-paragraph">If you’re ready to explore a distro that blends <strong>bleeding-edge performance</strong> with <strong>user-centric design</strong>, give CachyOS a try.</p>



<p class="wp-block-paragraph"><strong>Website</strong>: <a href="https://cachyos.org/">https://cachyos.org</a></p>
<p>The post <a href="https://hamradio.my/2025/07/cachyos-a-fast-and-modern-arch-based-linux-distribution-for-power-users-and-gamers/">CachyOS: A Fast and Modern Arch-Based Linux Distribution for Power Users and Gamers</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://hamradio.my/2025/07/cachyos-a-fast-and-modern-arch-based-linux-distribution-for-power-users-and-gamers/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Extend Your Laptop Battery Life with TLP: Charge Thresholds &#038; Recalibration on Linux</title>
		<link>https://hamradio.my/2025/07/extend-your-laptop-battery-life-with-tlp-charge-thresholds-recalibration-on-linux/</link>
					<comments>https://hamradio.my/2025/07/extend-your-laptop-battery-life-with-tlp-charge-thresholds-recalibration-on-linux/#respond</comments>
		
		<dc:creator><![CDATA[9M2PJU]]></dc:creator>
		<pubDate>Thu, 24 Jul 2025 14:06:02 +0000</pubDate>
				<category><![CDATA[battery]]></category>
		<category><![CDATA[calibrate]]></category>
		<category><![CDATA[laptop]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[linux desktop]]></category>
		<category><![CDATA[battery wear linux]]></category>
		<category><![CDATA[linux battery calibration]]></category>
		<category><![CDATA[linux battery life]]></category>
		<category><![CDATA[linux battery optimization]]></category>
		<category><![CDATA[linux laptop battery tips]]></category>
		<category><![CDATA[linux power management]]></category>
		<category><![CDATA[thinkpad battery linux]]></category>
		<category><![CDATA[tlp battery care]]></category>
		<category><![CDATA[tlp battery settings]]></category>
		<category><![CDATA[tlp battery threshold]]></category>
		<category><![CDATA[tlp charge control]]></category>
		<category><![CDATA[tlp configuration]]></category>
		<category><![CDATA[tlp linux]]></category>
		<category><![CDATA[tlp recalibrate]]></category>
		<category><![CDATA[tlp thinkpad]]></category>
		<guid isPermaLink="false">https://hamradio.my/?p=8408</guid>

					<description><![CDATA[<p>If you&#8217;re a Linux user on a laptop—especially a ThinkPad (For Windows user, visit https://www.lenovo.com/us/en/software/vantage) —you owe it to yourself to install TLP. This brilliant power management tool doesn’t just improve battery runtime — it gives you real control over how your battery is treated, helping extend its lifespan through smart features like charge thresholds [&#8230;]</p>
<p>The post <a href="https://hamradio.my/2025/07/extend-your-laptop-battery-life-with-tlp-charge-thresholds-recalibration-on-linux/">Extend Your Laptop Battery Life with TLP: Charge Thresholds &amp; Recalibration on Linux</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading"></h1>



<p class="wp-block-paragraph">If you&#8217;re a Linux user on a laptop—especially a ThinkPad (For Windows user, visit <strong><a href="https://www.lenovo.com/us/en/software/vantage">https://www.lenovo.com/us/en/software/vantage</a></strong>) —you owe it to yourself to install <strong><a href="https://linrunner.de/tlp/">TLP</a></strong>. This brilliant power management tool doesn’t just improve battery runtime — it gives you real control over <strong>how your battery is treated</strong>, helping extend its lifespan through smart features like <strong>charge thresholds</strong> and <strong>battery recalibration</strong>.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Why TLP?</h2>



<p class="wp-block-paragraph">Out of the box, most laptops will charge your battery to <strong>100% every time</strong>, even if you&#8217;re always plugged in. That’s not ideal. Repeatedly keeping a lithium-ion battery at full charge shortens its lifespan.</p>



<p class="wp-block-paragraph">TLP changes the game. Once installed and configured, it helps you:</p>



<ul class="wp-block-list">
<li>Avoid unnecessary full charges</li>



<li>Prevent overheating</li>



<li>Preserve battery health over time</li>
</ul>



<p class="wp-block-paragraph">Let’s look at two of TLP’s most powerful features: <strong>charge thresholds</strong> and <strong>battery recalibration</strong>.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Set Smart Charge Thresholds</h2>



<p class="wp-block-paragraph">TLP allows you to <strong>limit how much your battery charges</strong>. On supported hardware (like ThinkPads), you can configure a start and stop percentage.</p>



<p class="wp-block-paragraph">Here’s an example in <code>/etc/tlp.conf</code>:</p>



<pre class="wp-block-code"><code>START_CHARGE_THRESH_BAT0=75
STOP_CHARGE_THRESH_BAT0=80
</code></pre>



<p class="wp-block-paragraph">What does this do?</p>



<ul class="wp-block-list">
<li>Your laptop will <strong>only start charging when the battery drops below 75%</strong></li>



<li>It will <strong>stop charging when it reaches 80%</strong></li>
</ul>



<p class="wp-block-paragraph">This keeps your battery in a much healthier state — avoiding the constant 100% charge stress.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> This is especially useful for users who work plugged in most of the time.</p>
</blockquote>



<p class="wp-block-paragraph">You can check your current threshold settings with:</p>



<pre class="wp-block-code"><code>sudo tlp-stat -b
</code></pre>



<p class="wp-block-paragraph">Example output:</p>



<pre class="wp-block-code"><code>/sys/class/power_supply/BAT0/charge_control_start_threshold = 75 &#91;%]
/sys/class/power_supply/BAT0/charge_control_end_threshold   = 80 &#91;%]
</code></pre>



<p class="wp-block-paragraph">If your battery is above the stop threshold, TLP will <strong>intentionally not charge it</strong> — exactly as it should.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f527.png" alt="🔧" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Recalibrate to Restore Accuracy</h2>



<p class="wp-block-paragraph">Battery readings can become <strong>inaccurate over time</strong>. If your system shows 100% charge but you get very little runtime, it&#8217;s probably time to recalibrate.</p>



<p class="wp-block-paragraph">TLP offers an easy way to do this:</p>



<pre class="wp-block-code"><code>sudo tlp recalibrate BAT0
</code></pre>



<p class="wp-block-paragraph">What happens during recalibration:</p>



<ol class="wp-block-list">
<li>Your laptop will <strong>fully discharge</strong> the battery</li>



<li>Then it will <strong>recharge it completely</strong>, recalibrating the battery controller</li>
</ol>



<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a0.png" alt="⚠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Important:</p>



<ul class="wp-block-list">
<li>Save your work! Your laptop will power off during the discharge phase.</li>



<li>Don’t use this feature too frequently — once every few months (or when needed) is enough.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4ca.png" alt="📊" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Check Battery Health</h2>



<p class="wp-block-paragraph">Want to see how worn your battery is? Use:</p>



<pre class="wp-block-code"><code>sudo tlp-stat -b
</code></pre>



<p class="wp-block-paragraph">You’ll get output like:</p>



<pre class="wp-block-code"><code>energy_full_design = 23200 &#91;mWh]
energy_full        = 14610 &#91;mWh]
</code></pre>



<p class="wp-block-paragraph">This tells you your battery only holds <strong>63%</strong> of its original capacity — a sign of aging.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2728.png" alt="✨" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Why This Matters</h2>



<p class="wp-block-paragraph">TLP isn’t just another background tool — it gives <strong>power users real control</strong> over how their system manages energy. On ThinkPads and similar laptops, it unlocks features that were once limited to Windows-only tools.</p>



<p class="wp-block-paragraph">By using:</p>



<ul class="wp-block-list">
<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Charge thresholds</strong> to prevent unnecessary wear</li>



<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f527.png" alt="🔧" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Recalibration</strong> to fix reporting errors</li>



<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4c8.png" alt="📈" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Battery health stats</strong> to plan replacements</li>
</ul>



<p class="wp-block-paragraph">&#8230;you’re not just using Linux — you’re using it smarter.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6e0.png" alt="🛠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Install TLP on Linux</h2>



<p class="wp-block-paragraph">TLP is available in most distro repositories:</p>



<p class="wp-block-paragraph"><strong>Arch / Manjaro / CachyOS:</strong></p>



<pre class="wp-block-code"><code>sudo pacman -S tlp
</code></pre>



<p class="wp-block-paragraph"><strong>Ubuntu / Debian:</strong></p>



<pre class="wp-block-code"><code>sudo apt install tlp
</code></pre>



<p class="wp-block-paragraph">Then enable and start it:</p>



<pre class="wp-block-code"><code>sudo systemctl enable tlp --now
</code></pre>



<p class="wp-block-paragraph">Optionally install extra tools:</p>



<pre class="wp-block-code"><code>sudo apt install tp-smapi-dkms acpi-call-dkms
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2764.png" alt="❤" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Final Thoughts</h2>



<p class="wp-block-paragraph">If you care about your laptop’s health, <strong>TLP is a must-have</strong>. It’s free, lightweight, and gives you enterprise-grade control over your Linux system’s power management.</p>
<p>The post <a href="https://hamradio.my/2025/07/extend-your-laptop-battery-life-with-tlp-charge-thresholds-recalibration-on-linux/">Extend Your Laptop Battery Life with TLP: Charge Thresholds &amp; Recalibration on Linux</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://hamradio.my/2025/07/extend-your-laptop-battery-life-with-tlp-charge-thresholds-recalibration-on-linux/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>OpenRocket: Design, Simulate, and Launch Your Own Rockets — Free and Open Source</title>
		<link>https://hamradio.my/2025/07/openrocket-design-simulate-and-launch-your-own-rockets-free-and-open-source/</link>
					<comments>https://hamradio.my/2025/07/openrocket-design-simulate-and-launch-your-own-rockets-free-and-open-source/#respond</comments>
		
		<dc:creator><![CDATA[9M2PJU]]></dc:creator>
		<pubDate>Sat, 19 Jul 2025 16:15:07 +0000</pubDate>
				<category><![CDATA[debian]]></category>
		<category><![CDATA[free open source software]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[project]]></category>
		<category><![CDATA[science]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[aerospace]]></category>
		<category><![CDATA[aérospatial]]></category>
		<category><![CDATA[aerospaziale]]></category>
		<category><![CDATA[cohetes]]></category>
		<category><![CDATA[diyrocket]]></category>
		<category><![CDATA[educaciónstem]]></category>
		<category><![CDATA[éducation]]></category>
		<category><![CDATA[educationaltools]]></category>
		<category><![CDATA[éducationstem]]></category>
		<category><![CDATA[launchsimulation]]></category>
		<category><![CDATA[modellarocketen]]></category>
		<category><![CDATA[modelrocketry]]></category>
		<category><![CDATA[openrocket]]></category>
		<category><![CDATA[opensourcerocketry]]></category>
		<category><![CDATA[physicsproject]]></category>
		<category><![CDATA[raketenbau]]></category>
		<category><![CDATA[rocketbuilding]]></category>
		<category><![CDATA[rocketdesign]]></category>
		<category><![CDATA[rocketengineer]]></category>
		<category><![CDATA[rocketlaunch]]></category>
		<category><![CDATA[rocketry]]></category>
		<category><![CDATA[rocketsimulation]]></category>
		<category><![CDATA[simuladorderockets]]></category>
		<category><![CDATA[simulation]]></category>
		<category><![CDATA[simulationderocket]]></category>
		<category><![CDATA[simulatorerazzi]]></category>
		<category><![CDATA[simulazionerazzi]]></category>
		<category><![CDATA[stemeducation]]></category>
		<category><![CDATA[модельнаяракета]]></category>
		<category><![CDATA[образование]]></category>
		<category><![CDATA[ракетостроение]]></category>
		<category><![CDATA[симуляторракет]]></category>
		<category><![CDATA[تصميم_صاروخ]]></category>
		<category><![CDATA[تعليم_STEM]]></category>
		<category><![CDATA[تكنولوجيا_الفضاء]]></category>
		<category><![CDATA[مُحاكي_صواريخ]]></category>
		<category><![CDATA[ओपनसोर्सएयरोस्पेस]]></category>
		<category><![CDATA[मॉडलरॉकेट]]></category>
		<category><![CDATA[रॉकेटउड़ान]]></category>
		<category><![CDATA[रॉकेटडिज़ाइन]]></category>
		<category><![CDATA[रॉकेटविज्ञान]]></category>
		<category><![CDATA[रॉकेटशिक्षा]]></category>
		<category><![CDATA[शिक्षापरियोजना]]></category>
		<category><![CDATA[রকেটনির্মাণ]]></category>
		<category><![CDATA[রকেটসিমুলেশন]]></category>
		<category><![CDATA[শিক্ষাপ্রযুক্তি]]></category>
		<category><![CDATA[การจำลองจรวด]]></category>
		<category><![CDATA[การศึกษาด้านอวกาศ]]></category>
		<category><![CDATA[การออกแบบจรวด]]></category>
		<category><![CDATA[จรวดจำลอง]]></category>
		<category><![CDATA[モデルロケット]]></category>
		<category><![CDATA[ロケットシミュレーション]]></category>
		<category><![CDATA[ロケット工学]]></category>
		<category><![CDATA[宇宙開発]]></category>
		<category><![CDATA[开源航空]]></category>
		<category><![CDATA[火箭模拟器]]></category>
		<category><![CDATA[火箭设计]]></category>
		<category><![CDATA[航天教育]]></category>
		<category><![CDATA[로켓시뮬레이션]]></category>
		<category><![CDATA[모형로켓]]></category>
		<category><![CDATA[미래과학]]></category>
		<category><![CDATA[우주교육]]></category>
		<guid isPermaLink="false">https://hamradio.my/?p=7766</guid>

					<description><![CDATA[<p>Have you ever dreamed of building and launching your own rockets? Whether you&#8217;re a student, educator, hobbyist, or aerospace enthusiast, there&#8217;s one tool that makes rocketry accessible, educational, and exciting: OpenRocket. OpenRocket is a free, fully open-source model rocket simulator that helps you design, simulate, and optimize rockets in a virtual environment — all before [&#8230;]</p>
<p>The post <a href="https://hamradio.my/2025/07/openrocket-design-simulate-and-launch-your-own-rockets-free-and-open-source/">OpenRocket: Design, Simulate, and Launch Your Own Rockets — Free and Open Source</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading"></h2>



<p class="wp-block-paragraph">Have you ever dreamed of building and launching your own rockets? Whether you&#8217;re a <strong>student</strong>, <strong>educator</strong>, <strong>hobbyist</strong>, or <strong>aerospace enthusiast</strong>, there&#8217;s one tool that makes rocketry accessible, educational, and exciting: <strong>OpenRocket</strong>.</p>



<p class="wp-block-paragraph"><strong>OpenRocket</strong> is a <strong>free, fully open-source model rocket simulator</strong> that helps you <strong>design, simulate, and optimize rockets</strong> in a virtual environment — all before a single part is printed or assembled.</p>



<p class="wp-block-paragraph">And the best part? It’s <strong>completely free</strong>, runs on <strong>Windows, macOS, and Linux</strong>, and is trusted by thousands around the world — from classrooms to high-powered launch pads.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6f0.png" alt="🛰" class="wp-smiley" style="height: 1em; max-height: 1em;" /> What is OpenRocket?</h3>



<p class="wp-block-paragraph">OpenRocket is a powerful simulation tool designed to make rocket science <strong>understandable and practical</strong>. It enables users to build virtual models of rockets, test their flight performance, and iterate on designs long before committing to physical builds. Whether you’re building a simple school project or a multi-stage high-powered model, OpenRocket is built to support you at every step.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6e0.png" alt="🛠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Key Features</h3>



<ul class="wp-block-list">
<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f5b1.png" alt="🖱" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Drag-and-Drop Rocket Design</strong><br>Build your rocket with ease using a graphical interface — choose body tubes, fins, nose cones, engines, recovery systems, and more.</li>



<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9ee.png" alt="🧮" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Accurate Flight Simulations</strong><br>Simulate flights in real-world conditions with detailed physics modeling, including wind, thrust curves, drag, gravity, and stability.</li>



<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4ca.png" alt="📊" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Detailed Analysis Tools</strong><br>Visualize graphs for altitude, velocity, acceleration, angle of attack, and more — perfect for science fair projects and engineering analysis.</li>



<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Support for Multistage and Cluster Rockets</strong><br>Go beyond basic designs and experiment with multi-engine configurations, boosters, and complex recovery systems.</li>



<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4d0.png" alt="📐" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Advanced Stability Calculations</strong><br>See real-time updates on your rocket’s center of pressure and center of gravity — helping ensure stable flights.</li>



<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f393.png" alt="🎓" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Education-First Philosophy</strong><br>Built with educators and students in mind — great for teaching physics, aerodynamics, math, and engineering concepts.</li>



<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f513.png" alt="🔓" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>100% Free and Open Source (GPLv3 License)</strong><br>Modify, contribute, or use it freely in academic and personal projects.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f468-200d-1f3eb.png" alt="👨‍🏫" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Perfect for Classrooms and Competitions</h3>



<p class="wp-block-paragraph">OpenRocket is a favorite in schools, universities, and STEM clubs. It’s ideal for:</p>



<ul class="wp-block-list">
<li>Physics and engineering lessons</li>



<li>STEM competitions</li>



<li>High school and university rocketry teams</li>



<li>Maker clubs and hobbyist communities</li>
</ul>



<p class="wp-block-paragraph">With OpenRocket, students don’t just learn theory — they test it, visualize it, and bring it to life.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4bb.png" alt="💻" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Cross-Platform and Easy to Use</h3>



<p class="wp-block-paragraph">OpenRocket runs smoothly on <strong>Windows, Linux, and macOS</strong>, with a lightweight footprint and no complex setup required. Just download, install, and launch.</p>



<p class="wp-block-paragraph">Want to try the latest features? There are <strong>stable</strong> and <strong>experimental</strong> versions available, with an active community improving the project continuously.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f30d.png" alt="🌍" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Join a Global Community</h3>



<p class="wp-block-paragraph">OpenRocket is powered by passionate volunteers and used worldwide. With an active community on forums and GitHub, it’s easy to get help, share ideas, and even contribute your own code or simulations.</p>



<p class="wp-block-paragraph">If you&#8217;re ready to explore the world of rocketry without burning through your budget, <strong>OpenRocket is your launchpad</strong>.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f517.png" alt="🔗" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Ready for Liftoff?</h3>



<p class="wp-block-paragraph">Visit <a href="https://openrocket.info/">openrocket.info</a> and start building your dream rocket today.</p>



<p class="wp-block-paragraph"><strong>Design. Simulate. Launch. Learn. Repeat.</strong></p>



<p class="wp-block-paragraph">Welcome to the world of <strong>OpenRocket</strong> — where rocket science is for everyone.</p>
<p>The post <a href="https://hamradio.my/2025/07/openrocket-design-simulate-and-launch-your-own-rockets-free-and-open-source/">OpenRocket: Design, Simulate, and Launch Your Own Rockets — Free and Open Source</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://hamradio.my/2025/07/openrocket-design-simulate-and-launch-your-own-rockets-free-and-open-source/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Take to the Skies with FlightGear: The Ultimate Open-Source Flight Simulator</title>
		<link>https://hamradio.my/2025/07/take-to-the-skies-with-flightgear-the-ultimate-open-source-flight-simulator/</link>
					<comments>https://hamradio.my/2025/07/take-to-the-skies-with-flightgear-the-ultimate-open-source-flight-simulator/#respond</comments>
		
		<dc:creator><![CDATA[9M2PJU]]></dc:creator>
		<pubDate>Fri, 18 Jul 2025 15:57:15 +0000</pubDate>
				<category><![CDATA[aviation]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[free open source software]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[linux gaming]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[aerei]]></category>
		<category><![CDATA[aeronautica]]></category>
		<category><![CDATA[aéronautique]]></category>
		<category><![CDATA[aircraft]]></category>
		<category><![CDATA[avgeek]]></category>
		<category><![CDATA[aviación]]></category>
		<category><![CDATA[aviationlovers]]></category>
		<category><![CDATA[avion]]></category>
		<category><![CDATA[aviones]]></category>
		<category><![CDATA[entreamigos]]></category>
		<category><![CDATA[fliegen]]></category>
		<category><![CDATA[flightgear]]></category>
		<category><![CDATA[flightsim]]></category>
		<category><![CDATA[flightsimulator]]></category>
		<category><![CDATA[flugsimulator]]></category>
		<category><![CDATA[flugzeug]]></category>
		<category><![CDATA[freiessoftware]]></category>
		<category><![CDATA[libre]]></category>
		<category><![CDATA[luftfahrt]]></category>
		<category><![CDATA[luftfahrtliebhaber]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[passionavion]]></category>
		<category><![CDATA[pilot training]]></category>
		<category><![CDATA[pilota]]></category>
		<category><![CDATA[pilote]]></category>
		<category><![CDATA[pilotenausbildung]]></category>
		<category><![CDATA[piloto]]></category>
		<category><![CDATA[simulación]]></category>
		<category><![CDATA[simulador]]></category>
		<category><![CDATA[simuladordevuelo]]></category>
		<category><![CDATA[simulateur]]></category>
		<category><![CDATA[simulateurdevol]]></category>
		<category><![CDATA[simulation]]></category>
		<category><![CDATA[simulationvol]]></category>
		<category><![CDATA[simulator]]></category>
		<category><![CDATA[simulatorevolo]]></category>
		<category><![CDATA[simulazione]]></category>
		<category><![CDATA[softwarelibre]]></category>
		<category><![CDATA[volo]]></category>
		<category><![CDATA[vuelo]]></category>
		<category><![CDATA[авиасимулятор]]></category>
		<category><![CDATA[авиация]]></category>
		<category><![CDATA[открытыйкод]]></category>
		<category><![CDATA[пилот]]></category>
		<category><![CDATA[полет]]></category>
		<category><![CDATA[самолет]]></category>
		<category><![CDATA[симулятор]]></category>
		<category><![CDATA[الطيران]]></category>
		<category><![CDATA[المحاكاة]]></category>
		<category><![CDATA[برنامج_مفتوح_المصدر]]></category>
		<category><![CDATA[تدريب_الطيارين]]></category>
		<category><![CDATA[فلايت_غير]]></category>
		<category><![CDATA[محاكي_الطيران]]></category>
		<category><![CDATA[उड़ानसिम्युलेटर]]></category>
		<category><![CDATA[खुलास्रोत]]></category>
		<category><![CDATA[पायलट]]></category>
		<category><![CDATA[फ्लाइटगियर]]></category>
		<category><![CDATA[विमान]]></category>
		<category><![CDATA[การจำลองการบิน]]></category>
		<category><![CDATA[การฝึกนักบิน]]></category>
		<category><![CDATA[ฟลไทเกียร์]]></category>
		<category><![CDATA[เครื่องบิน]]></category>
		<category><![CDATA[โอเพนซอร์ส]]></category>
		<category><![CDATA[フライトギア]]></category>
		<category><![CDATA[フライトシミュレーター]]></category>
		<category><![CDATA[开源软件]]></category>
		<category><![CDATA[模擬飛行]]></category>
		<category><![CDATA[航空]]></category>
		<category><![CDATA[航空爱好者]]></category>
		<category><![CDATA[飛行機]]></category>
		<category><![CDATA[飛行訓練]]></category>
		<category><![CDATA[飞行器]]></category>
		<category><![CDATA[飞行模拟器]]></category>
		<category><![CDATA[飞行训练]]></category>
		<category><![CDATA[비행기]]></category>
		<category><![CDATA[비행시뮬레이션]]></category>
		<category><![CDATA[비행훈련]]></category>
		<category><![CDATA[소프트웨어]]></category>
		<category><![CDATA[항공]]></category>
		<guid isPermaLink="false">https://hamradio.my/?p=7760</guid>

					<description><![CDATA[<p>Have you ever dreamed of flying a Boeing 777 across continents, landing a Cessna on a grass strip, or navigating a helicopter through cityscapes — all from the comfort of your home? Meet FlightGear, a highly sophisticated, community-driven open-source flight simulator that puts the sky at your fingertips — and it&#8217;s completely free. 🌍 What [&#8230;]</p>
<p>The post <a href="https://hamradio.my/2025/07/take-to-the-skies-with-flightgear-the-ultimate-open-source-flight-simulator/">Take to the Skies with FlightGear: The Ultimate Open-Source Flight Simulator</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading"></h2>



<p class="wp-block-paragraph">Have you ever dreamed of flying a Boeing 777 across continents, landing a Cessna on a grass strip, or navigating a helicopter through cityscapes — all from the comfort of your home? Meet <strong>FlightGear</strong>, a highly sophisticated, community-driven <strong>open-source flight simulator</strong> that puts the sky at your fingertips — and it&#8217;s completely <strong>free</strong>.</p>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f30d.png" alt="🌍" class="wp-smiley" style="height: 1em; max-height: 1em;" /> What is FlightGear?</h3>



<p class="wp-block-paragraph"><a href="https://www.flightgear.org/">FlightGear</a> is an open-source flight simulator developed by a passionate global community of programmers, pilots, engineers, and aviation enthusiasts. Since its inception in 1997, FlightGear has grown into one of the most <strong>realistic and versatile</strong> flight simulators available — rivaling many commercial alternatives.</p>



<p class="wp-block-paragraph">Whether you&#8217;re an aspiring pilot, a seasoned flight sim veteran, or a student of aerospace engineering, FlightGear offers something for everyone.</p>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6e9.png" alt="🛩" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Realism that Soars</h3>



<p class="wp-block-paragraph">FlightGear prides itself on <strong>incredible realism</strong> — from its accurate flight dynamics and real-world weather modeling to true-to-life cockpit instrumentation and aircraft behavior. It supports:</p>



<ul class="wp-block-list">
<li><strong>Over 400 aircraft</strong> — from gliders and airliners to helicopters and experimental planes.</li>



<li><strong>Worldwide scenery</strong> — leveraging global terrain data, airport layouts, and real-time weather.</li>



<li><strong>Accurate time-of-day and celestial modeling</strong> — fly under starlit skies or into a stunning sunset.</li>



<li><strong>Customizable systems</strong> — simulate electrical failures, instrument degradation, and more.</li>
</ul>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4bb.png" alt="💻" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Cross-Platform Freedom</h3>



<p class="wp-block-paragraph">Available for <strong>Windows, macOS, and Linux</strong>, FlightGear ensures that everyone, regardless of their platform, can enjoy the thrill of flight. It also supports multi-monitor setups, networking for multi-player and instructor modes, and hardware such as yokes, pedals, and head tracking gear.</p>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f527.png" alt="🔧" class="wp-smiley" style="height: 1em; max-height: 1em;" /> For Developers and Tinkerers</h3>



<p class="wp-block-paragraph">FlightGear isn’t just for pilots — it’s also a paradise for <strong>developers and modders</strong>. The source code is freely available, enabling anyone to contribute improvements, build new aircraft, create custom scenery, or integrate external hardware and software.</p>



<p class="wp-block-paragraph">From hobbyist coders to university researchers, FlightGear is widely used for simulations, training, and experimentation.</p>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f310.png" alt="🌐" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Community-Driven Excellence</h3>



<p class="wp-block-paragraph">What truly sets FlightGear apart is its <strong>community</strong>. The project is driven by volunteers and supported by aviation lovers worldwide. Whether you&#8217;re looking for help, contributing code, or downloading new liveries, the FlightGear forums and mailing lists are full of helpful and passionate users.</p>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f3ae.png" alt="🎮" class="wp-smiley" style="height: 1em; max-height: 1em;" /> How to Get Started</h3>



<p class="wp-block-paragraph">Getting airborne is easy:</p>



<ol class="wp-block-list">
<li>Visit <a href="https://www.flightgear.org/">FlightGear.org</a>.</li>



<li>Download the latest version for your operating system.</li>



<li>Choose your aircraft and preferred location.</li>



<li>Launch and take off into the open skies.</li>
</ol>



<p class="wp-block-paragraph">There’s no license fee, no DRM, and no limitations — just pure flight simulation freedom.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Final Thoughts</h3>



<p class="wp-block-paragraph">FlightGear proves that you don&#8217;t need to spend hundreds to enjoy a full-featured, high-quality flight simulator. It&#8217;s an amazing tool for learning, experimentation, and fun — built by the community, for the community.</p>



<p class="wp-block-paragraph">Whether you&#8217;re chasing clouds or learning to navigate, FlightGear will help you spread your wings.</p>



<p class="wp-block-paragraph"><strong>Download it. Fly it. Contribute to it. The sky is truly the limit.</strong></p>
<p>The post <a href="https://hamradio.my/2025/07/take-to-the-skies-with-flightgear-the-ultimate-open-source-flight-simulator/">Take to the Skies with FlightGear: The Ultimate Open-Source Flight Simulator</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://hamradio.my/2025/07/take-to-the-skies-with-flightgear-the-ultimate-open-source-flight-simulator/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How OpenWrt Works: Inside the World&#8217;s Most Powerful Router Operating System</title>
		<link>https://hamradio.my/2025/07/how-openwrt-works-inside-the-worlds-most-powerful-router-operating-system/</link>
					<comments>https://hamradio.my/2025/07/how-openwrt-works-inside-the-worlds-most-powerful-router-operating-system/#respond</comments>
		
		<dc:creator><![CDATA[9M2PJU]]></dc:creator>
		<pubDate>Sat, 05 Jul 2025 20:21:48 +0000</pubDate>
				<category><![CDATA[free open source software]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[networking]]></category>
		<category><![CDATA[openwrt]]></category>
		<category><![CDATA[router]]></category>
		<category><![CDATA[customfirmware]]></category>
		<category><![CDATA[dnsmasq]]></category>
		<category><![CDATA[embeddedlinux]]></category>
		<category><![CDATA[firewall]]></category>
		<category><![CDATA[firmwareupgrade]]></category>
		<category><![CDATA[homeautomation]]></category>
		<category><![CDATA[iotnetworking]]></category>
		<category><![CDATA[linuxrouter]]></category>
		<category><![CDATA[lowlevelnetworking]]></category>
		<category><![CDATA[luci]]></category>
		<category><![CDATA[meshnetwork]]></category>
		<category><![CDATA[networksecurity]]></category>
		<category><![CDATA[nftables]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[openvpn]]></category>
		<category><![CDATA[opkg]]></category>
		<category><![CDATA[routerfirmware]]></category>
		<category><![CDATA[routeros]]></category>
		<category><![CDATA[selfhosted]]></category>
		<category><![CDATA[techenthusiast]]></category>
		<category><![CDATA[uci]]></category>
		<category><![CDATA[vlan]]></category>
		<category><![CDATA[vpnrouter]]></category>
		<category><![CDATA[wireguard]]></category>
		<guid isPermaLink="false">https://hamradio.my/?p=8267</guid>

					<description><![CDATA[<p>OpenWrt is not just firmware—it&#8217;s a complete Linux-based operating system purpose-built for routers and embedded devices. To understand how OpenWrt works, it helps to look at how it integrates with router hardware, manages networking tasks, and provides flexibility well beyond stock firmware. In this post, we’ll explore how OpenWrt operates internally, from bootloader to network [&#8230;]</p>
<p>The post <a href="https://hamradio.my/2025/07/how-openwrt-works-inside-the-worlds-most-powerful-router-operating-system/">How OpenWrt Works: Inside the World&#8217;s Most Powerful Router Operating System</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading"></h2>



<p class="wp-block-paragraph"><a href="https://openwrt.org/"><strong>OpenWrt</strong></a> is not just firmware—it&#8217;s a complete Linux-based operating system purpose-built for routers and embedded devices. To understand how OpenWrt works, it helps to look at how it integrates with router hardware, manages networking tasks, and provides flexibility well beyond stock firmware.</p>



<p class="wp-block-paragraph">In this post, we’ll explore how OpenWrt operates internally, from bootloader to network stack, and why it’s so much more powerful than vendor firmware.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">1. <strong>The Boot Process: How OpenWrt Starts</strong></h3>



<p class="wp-block-paragraph">OpenWrt uses the standard embedded Linux boot sequence:</p>



<ol class="wp-block-list">
<li><strong>Bootloader (e.g., U-Boot or CFE)</strong>
<ul class="wp-block-list">
<li>Executes first when the router powers on.</li>



<li>Initializes the CPU, memory, and peripherals.</li>



<li>Loads the OpenWrt kernel and passes control.</li>
</ul>
</li>



<li><strong>Linux Kernel</strong>
<ul class="wp-block-list">
<li>A highly customized and lightweight kernel compiled for the router&#8217;s architecture (e.g., MIPS, ARM, x86).</li>



<li>Initializes hardware drivers, network interfaces, file systems, and system services.</li>
</ul>
</li>



<li><strong>Init System (procd)</strong>
<ul class="wp-block-list">
<li>OpenWrt uses a custom init system called <code>procd</code> to manage services, boot order, hotplug events, and more.</li>



<li>It replaces classic <code>sysvinit</code> or <code>systemd</code> to keep things lightweight and fast.</li>
</ul>
</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">2. <strong>Filesystem and Overlay</strong></h3>



<p class="wp-block-paragraph">OpenWrt’s filesystem is built around <strong>SquashFS + OverlayFS</strong>:</p>



<ul class="wp-block-list">
<li><strong>SquashFS</strong> is a compressed, read-only root filesystem containing the core OS.</li>



<li><strong>OverlayFS</strong> provides a writable layer on top of it, enabling persistent configuration and package installation without altering the base image.</li>
</ul>



<p class="wp-block-paragraph">This design allows:</p>



<ul class="wp-block-list">
<li>Fast boot times</li>



<li>System resets (factory reset = wipe overlay)</li>



<li>Minimal storage use (great for routers with low flash memory)</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">3. <strong>Networking Stack</strong></h3>



<p class="wp-block-paragraph">OpenWrt’s real power lies in its networking flexibility. Here&#8217;s how it manages key components:</p>



<h4 class="wp-block-heading">a. <strong>Interface Management (netifd)</strong></h4>



<p class="wp-block-paragraph">Handles creation of logical interfaces (LAN, WAN, VLANs, bridges, tunnels).<br>Interfaces are defined in <code>/etc/config/network</code> and handled by <code>netifd</code>.</p>



<h4 class="wp-block-heading">b. <strong>Firewall (nftables or iptables)</strong></h4>



<p class="wp-block-paragraph">OpenWrt uses <code>nftables</code> (or <code>iptables</code> in older versions) for packet filtering, NAT, and port forwarding.<br>Firewall zones (e.g., LAN, WAN) are defined for easy rule management.</p>



<h4 class="wp-block-heading">c. <strong>DHCP/DNS (dnsmasq)</strong></h4>



<p class="wp-block-paragraph">A lightweight DNS and DHCP server (<code>dnsmasq</code>) serves local IP addresses and hostname resolution.</p>



<h4 class="wp-block-heading">d. <strong>Wireless Stack (hostapd / wpad)</strong></h4>



<p class="wp-block-paragraph">Wireless radios are configured using <code>hostapd</code> or <code>wpad</code>, managing SSID, encryption (WPA2/WPA3), and multiple interfaces.</p>



<h4 class="wp-block-heading">e. <strong>Routing</strong></h4>



<p class="wp-block-paragraph">Routing is handled by the Linux kernel’s routing table and can be extended with:</p>



<ul class="wp-block-list">
<li>Static routes</li>



<li>Dynamic routing protocols (e.g., OSPF via <code>quagga</code> or <code>bird</code>)</li>



<li>VPN routes (e.g., WireGuard or OpenVPN)</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">4. <strong>Package Management: How OpenWrt Is Modular</strong></h3>



<p class="wp-block-paragraph">OpenWrt includes a package manager called <code>opkg</code> (Open Package Manager).</p>



<p class="wp-block-paragraph">Users can install packages for:</p>



<ul class="wp-block-list">
<li>VPNs: <code>wireguard</code>, <code>openvpn</code></li>



<li>Ad-blocking: <code>adblock</code>, <code>banIP</code></li>



<li>Monitoring: <code>collectd</code>, <code>luci-app-statistics</code></li>



<li>Web servers, proxy servers, NAS functions, mesh routing (B.A.T.M.A.N., 802.11s)</li>
</ul>



<p class="wp-block-paragraph">Each package is a compressed archive with its own dependencies and can be installed with:</p>



<pre class="wp-block-code"><code>opkg update
opkg install luci-app-wireguard
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">5. <strong>Configuration System (UCI)</strong></h3>



<p class="wp-block-paragraph">OpenWrt uses its own Unified Configuration Interface (UCI) for managing system settings. All configs are stored in:</p>



<pre class="wp-block-code"><code>/etc/config/
</code></pre>



<p class="wp-block-paragraph">Examples:</p>



<ul class="wp-block-list">
<li><code>/etc/config/network</code> – interfaces, VLANs, bridges</li>



<li><code>/etc/config/wireless</code> – radios, SSIDs</li>



<li><code>/etc/config/firewall</code> – zone policies, rules</li>



<li><code>/etc/config/system</code> – hostname, timezone</li>
</ul>



<p class="wp-block-paragraph">You can edit these directly or use UCI commands:</p>



<pre class="wp-block-code"><code>uci set wireless.@wifi-iface&#91;0].ssid='OpenWrt'
uci commit wireless
wifi reload
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">6. <strong>Web Interface (LuCI)</strong></h3>



<p class="wp-block-paragraph"><strong>LuCI</strong> is OpenWrt’s lightweight, modular web GUI:</p>



<ul class="wp-block-list">
<li>Runs on an embedded <code>uhttpd</code> or <code>lighttpd</code> web server</li>



<li>Dynamic rendering via Lua + JavaScript</li>



<li>Exposes all config options in a user-friendly form</li>



<li>Extendable with modules (e.g., luci-app-sqm, luci-app-ddns)</li>
</ul>



<p class="wp-block-paragraph">You can install LuCI separately or use CLI-only setups for advanced users.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">7. <strong>Remote Access &amp; Automation</strong></h3>



<p class="wp-block-paragraph">OpenWrt supports:</p>



<ul class="wp-block-list">
<li><strong>SSH access</strong> out of the box</li>



<li><strong>Public key authentication</strong></li>



<li><strong>Cron jobs</strong> for automation</li>



<li><strong>Remote syslog</strong></li>



<li><strong>SNMP, Prometheus exporters</strong></li>



<li><strong>MQTT for IoT applications</strong></li>
</ul>



<p class="wp-block-paragraph">You can remotely manage it using APIs, CLI, or custom scripts.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">8. <strong>System Resources and Performance</strong></h3>



<p class="wp-block-paragraph">Because OpenWrt runs on devices with as little as 8MB flash and 64MB RAM, it is optimized for:</p>



<ul class="wp-block-list">
<li>Minimal memory usage</li>



<li>Background service trimming</li>



<li>Efficient caching and logging</li>



<li>Graceful failure on low disk/memory</li>
</ul>



<p class="wp-block-paragraph">That said, OpenWrt can scale well to more powerful hardware (x86, ARM64), supporting multi-core load balancing, gigabit routing, and even containerization (via <code>lxc</code> or <code>docker</code> on x86 builds).</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">Final Thoughts</h3>



<p class="wp-block-paragraph"><strong>OpenWrt works by replacing the limited firmware on your router with a full-featured Linux OS</strong>, designed for performance, customization, and stability. It gives you access to capabilities usually reserved for enterprise-grade routers—at zero cost.</p>



<p class="wp-block-paragraph">If you’re the kind of person who likes to control every part of your network, OpenWrt is the ultimate toolkit: flexible, modular, transparent, and endlessly powerful.</p>
<p>The post <a href="https://hamradio.my/2025/07/how-openwrt-works-inside-the-worlds-most-powerful-router-operating-system/">How OpenWrt Works: Inside the World&#8217;s Most Powerful Router Operating System</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://hamradio.my/2025/07/how-openwrt-works-inside-the-worlds-most-powerful-router-operating-system/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Guide to Neovim + LazyVim Setup</title>
		<link>https://hamradio.my/2025/07/guide-to-neovim-lazyvim-setup/</link>
					<comments>https://hamradio.my/2025/07/guide-to-neovim-lazyvim-setup/#respond</comments>
		
		<dc:creator><![CDATA[9M2PJU]]></dc:creator>
		<pubDate>Sat, 05 Jul 2025 11:47:29 +0000</pubDate>
				<category><![CDATA[free open source software]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[text editor]]></category>
		<category><![CDATA[tweaks]]></category>
		<category><![CDATA[vim]]></category>
		<category><![CDATA[code editor]]></category>
		<category><![CDATA[coding environment]]></category>
		<category><![CDATA[dev setup]]></category>
		<category><![CDATA[Developer Tools]]></category>
		<category><![CDATA[lazy.nvim]]></category>
		<category><![CDATA[lazyvim]]></category>
		<category><![CDATA[lazyvim guide]]></category>
		<category><![CDATA[linux development]]></category>
		<category><![CDATA[linux editor]]></category>
		<category><![CDATA[lsp neovim]]></category>
		<category><![CDATA[lua neovim]]></category>
		<category><![CDATA[modern vim]]></category>
		<category><![CDATA[neovim]]></category>
		<category><![CDATA[neovim config]]></category>
		<category><![CDATA[neovim ide]]></category>
		<category><![CDATA[neovim plugins]]></category>
		<category><![CDATA[neovim setup]]></category>
		<category><![CDATA[neovim tutorial]]></category>
		<category><![CDATA[nvim]]></category>
		<category><![CDATA[open source editor]]></category>
		<category><![CDATA[productivity tools]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[terminal editor]]></category>
		<category><![CDATA[treesitter]]></category>
		<category><![CDATA[vim configuration]]></category>
		<guid isPermaLink="false">https://hamradio.my/?p=8254</guid>

					<description><![CDATA[<p>If you&#8217;re thinking of using Neovim as a modern, fast, and extensible text editor — but don’t want to configure everything from scratch — LazyVim can save you time and effort. This guide walks you through installing Neovim, then setting up LazyVim — step by step, without skipping the basics. 🔧 Part 1: Install Neovim [&#8230;]</p>
<p>The post <a href="https://hamradio.my/2025/07/guide-to-neovim-lazyvim-setup/">Guide to Neovim + LazyVim Setup</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading"></h1>



<p class="wp-block-paragraph">If you&#8217;re thinking of using Neovim as a modern, fast, and extensible text editor — but don’t want to configure everything from scratch — <strong>LazyVim</strong> can save you time and effort.</p>



<p class="wp-block-paragraph">This guide walks you through installing <strong>Neovim</strong>, then setting up <strong>LazyVim</strong> — step by step, without skipping the basics.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f527.png" alt="🔧" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Part 1: Install Neovim</h2>



<p class="wp-block-paragraph">LazyVim requires <strong>Neovim 0.9 or later</strong>, so first make sure you have the correct version.</p>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Step 1: Check if Neovim is installed</h3>



<p class="wp-block-paragraph">Run:</p>



<pre class="wp-block-code"><code>nvim --version
</code></pre>



<p class="wp-block-paragraph">If Neovim is not found or the version is older than <code>0.9</code>, install or upgrade it.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4bb.png" alt="💻" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Linux (Arch-based)</h3>



<pre class="wp-block-code"><code>sudo pacman -S neovim
</code></pre>



<p class="wp-block-paragraph">Or for bleeding-edge:</p>



<pre class="wp-block-code"><code>paru -S neovim-git
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f34e.png" alt="🍎" class="wp-smiley" style="height: 1em; max-height: 1em;" /> macOS (with Homebrew)</h3>



<pre class="wp-block-code"><code>brew install neovim
</code></pre>



<p class="wp-block-paragraph">Or upgrade:</p>



<pre class="wp-block-code"><code>brew upgrade neovim
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1fa9f.png" alt="🪟" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Windows</h3>



<p class="wp-block-paragraph">Use <a>scoop</a>:</p>



<pre class="wp-block-code"><code>scoop install neovim
</code></pre>



<p class="wp-block-paragraph">Or <a href="https://github.com/neovim/neovim/releases">download prebuilt binaries</a> from GitHub.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4e6.png" alt="📦" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Part 2: Install Git (if not already installed)</h2>



<p class="wp-block-paragraph">LazyVim uses Git to clone plugins. On Linux:</p>



<pre class="wp-block-code"><code>sudo pacman -S git      # Arch
sudo apt install git    # Debian/Ubuntu
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9e0.png" alt="🧠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Part 3: Install LazyVim</h2>



<p class="wp-block-paragraph">LazyVim is not a plugin — it’s a full Neovim configuration. You’ll <strong>replace your existing config</strong> with LazyVim&#8217;s starter template.</p>



<h3 class="wp-block-heading">Step 1: Backup your current config (if any)</h3>



<pre class="wp-block-code"><code>mv ~/.config/nvim ~/.config/nvim.bak
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">Step 2: Clone the LazyVim starter template</h3>



<pre class="wp-block-code"><code>git clone https://github.com/LazyVim/starter ~/.config/nvim
</code></pre>



<p class="wp-block-paragraph">This gives you a minimal, clean LazyVim-based configuration.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">Step 3: Start Neovim</h3>



<pre class="wp-block-code"><code>nvim
</code></pre>



<p class="wp-block-paragraph">This will trigger the initial setup. LazyVim will automatically install:</p>



<ul class="wp-block-list">
<li><a>lazy.nvim</a> plugin manager</li>



<li>Language Server Protocol (LSP) support</li>



<li>Autocomplete, Treesitter, statusline, fuzzy finder, file tree, and more</li>
</ul>



<p class="wp-block-paragraph">Let it finish the install before doing anything else.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4c2.png" alt="📂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> LazyVim File Structure Overview</h2>



<p class="wp-block-paragraph">Once installed, your config lives in:</p>



<pre class="wp-block-code"><code>~/.config/nvim/
├── init.lua             # Entry point
├── lua/
│   ├── config/          # Options and keybindings
│   ├── plugins/         # Add your own plugins here
│   └── lazyvim/         # Core LazyVim files
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6e0.png" alt="🛠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> How to Add Plugins</h2>



<p class="wp-block-paragraph">Create a new file in <code>lua/plugins/</code>, like this:</p>



<pre class="wp-block-code"><code>-- ~/.config/nvim/lua/plugins/colorscheme.lua
return {
  "folke/tokyonight.nvim",
  priority = 1000,
  config = function()
    vim.cmd.colorscheme("tokyonight")
  end,
}
</code></pre>



<p class="wp-block-paragraph">Then restart Neovim and run:</p>



<pre class="wp-block-code"><code>:Lazy sync
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9fe.png" alt="🧾" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Summary</h2>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Step</th><th>Command</th></tr></thead><tbody><tr><td>Install Neovim (Arch)</td><td><code>sudo pacman -S neovim</code></td></tr><tr><td>Backup old config</td><td><code>mv ~/.config/nvim ~/.config/nvim.bak</code></td></tr><tr><td>Clone LazyVim starter</td><td><code>git clone https://github.com/LazyVim/starter ~/.config/nvim</code></td></tr><tr><td>Open Neovim</td><td><code>nvim</code></td></tr></tbody></table></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9ea.png" alt="🧪" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Final Thoughts</h2>



<p class="wp-block-paragraph">If you&#8217;re looking to switch to Neovim but don’t want to build everything from scratch, LazyVim is a reliable starting point. It gives you a modern editing experience with sane defaults, and a structure that you can extend as you learn.</p>



<p class="wp-block-paragraph">You don’t need to become a Vim wizard overnight — but LazyVim can help you get productive today and grow at your own pace.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f517.png" alt="🔗" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Resources</h2>



<ul class="wp-block-list">
<li><a href="https://github.com/LazyVim/LazyVim">LazyVim GitHub</a></li>



<li><a href="https://neovim.io/">Neovim Homepage</a></li>



<li><a href="https://github.com/folke/lazy.nvim">lazy.nvim plugin manager</a></li>



<li><a href="https://github.com/nanotee/nvim-lua-guide">nvim-lua-guide</a></li>
</ul>
<p>The post <a href="https://hamradio.my/2025/07/guide-to-neovim-lazyvim-setup/">Guide to Neovim + LazyVim Setup</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://hamradio.my/2025/07/guide-to-neovim-lazyvim-setup/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Unlock Your Terminal’s True Potential with Nerd Fonts</title>
		<link>https://hamradio.my/2025/07/unlock-your-terminals-true-potential-with-nerd-fonts/</link>
					<comments>https://hamradio.my/2025/07/unlock-your-terminals-true-potential-with-nerd-fonts/#respond</comments>
		
		<dc:creator><![CDATA[9M2PJU]]></dc:creator>
		<pubDate>Fri, 04 Jul 2025 15:14:36 +0000</pubDate>
				<category><![CDATA[archlinux]]></category>
		<category><![CDATA[cachyos]]></category>
		<category><![CDATA[freebsd]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[developerfonts]]></category>
		<category><![CDATA[devicons]]></category>
		<category><![CDATA[devtools]]></category>
		<category><![CDATA[firaCode]]></category>
		<category><![CDATA[fonts]]></category>
		<category><![CDATA[hackfont]]></category>
		<category><![CDATA[macos]]></category>
		<category><![CDATA[nerdfonts]]></category>
		<category><![CDATA[ohmyzsh]]></category>
		<category><![CDATA[openfonts]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[powerline]]></category>
		<category><![CDATA[programmingfonts]]></category>
		<category><![CDATA[vscode]]></category>
		<category><![CDATA[zsh]]></category>
		<guid isPermaLink="false">https://hamradio.my/?p=8224</guid>

					<description><![CDATA[<p>If you’re the kind of person who lives in the terminal—or just spends a lot of time in it—then you know how much the right font can change everything. Not just how things look, but how clearly and efficiently you can work. That’s where Nerd Fonts comes in. Nerd Fonts isn’t just another developer font. [&#8230;]</p>
<p>The post <a href="https://hamradio.my/2025/07/unlock-your-terminals-true-potential-with-nerd-fonts/">Unlock Your Terminal’s True Potential with Nerd Fonts</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading"></h1>



<p class="wp-block-paragraph">If you’re the kind of person who lives in the terminal—or just spends a lot of time in it—then you know how much the right font can change everything. Not just how things <em>look</em>, but how clearly and efficiently you can work.</p>



<p class="wp-block-paragraph">That’s where <strong><a href="https://www.nerdfonts.com/">Nerd Fonts</a></strong> comes in.</p>



<p class="wp-block-paragraph">Nerd Fonts isn’t just another developer font. It’s a complete ecosystem of patched fonts, designed specifically for devs, sysadmins, and power users who want <strong>icon-rich, powerline-compatible</strong>, and beautiful fonts—right in their favorite terminal, editor, or tool.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2728.png" alt="✨" class="wp-smiley" style="height: 1em; max-height: 1em;" /> What Is Nerd Fonts?</h2>



<p class="wp-block-paragraph">Nerd Fonts is a collection, patcher, and community-powered project that takes your favorite developer fonts (like <strong>FiraCode</strong>, <strong>Hack</strong>, <strong>Iosevka</strong>, <strong>Meslo</strong>, and many more) and supercharges them by adding thousands of extra glyphs from iconic fonts like:</p>



<ul class="wp-block-list">
<li><a>Font Awesome</a></li>



<li><a>Devicons</a></li>



<li><a>Octicons</a></li>



<li><a>Material Design Icons</a></li>



<li><a>Powerline</a> and <strong>extra powerline symbols</strong></li>



<li><a>Codicons</a> (like those used in VS Code)</li>
</ul>



<p class="wp-block-paragraph">These patched fonts are plug-and-play: ready for any terminal, editor, or shell prompt you throw at them.</p>



<figure class="wp-block-image size-full"><img  title="" decoding="async" width="955" height="660" src="https://hamradio.my/wp-content/uploads/2025/07/image-4.png"  alt="image-4 Unlock Your Terminal’s True Potential with Nerd Fonts"  class="wp-image-8227" srcset="https://hamradio.my/wp-content/uploads/2025/07/image-4.png 955w, https://hamradio.my/wp-content/uploads/2025/07/image-4-300x207.png 300w, https://hamradio.my/wp-content/uploads/2025/07/image-4-768x531.png 768w" sizes="(max-width: 955px) 100vw, 955px" /></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Why You’ll Love Nerd Fonts</h2>



<ul class="wp-block-list">
<li><strong>10,000+ icons</strong>: From development tools to popular tech logos, you’ll always have the right symbol.</li>



<li><strong>Powerline compatibility</strong>: Every font includes Powerline and extra symbols so your status lines and shell prompts look amazing.</li>



<li><strong>Cross-platform</strong>: Linux, macOS, Windows—Nerd Fonts works on all of them.</li>



<li><strong>Plug-and-play</strong>: Download, install, select your font, and go.</li>



<li><strong>Popular project support</strong>: Used and loved by tools like <a>Powerlevel9k</a>, <a>colorls</a>, <a>LSD (LSDeluxe)</a>, <a>Oh My Fish</a>, and <a>VimDevIcons</a>.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f527.png" alt="🔧" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Want to Patch Your Own Fonts?</h2>



<p class="wp-block-paragraph">If you’re feeling adventurous, Nerd Fonts even includes a <a href="https://github.com/ryanoasis/nerd-fonts#font-patcher">Font Patcher script</a> built with <a>FontForge</a>. It lets you take your favorite font and merge in icons from a symbol font of your choice. The combinations are practically endless.</p>



<p class="wp-block-paragraph">Use the <code>--custom</code> option and make something truly unique that reflects your setup and style.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9ea.png" alt="🧪" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Try It Yourself</h2>



<p class="wp-block-paragraph">Want to see it in action? Fire up your terminal with a Nerd Font and watch your shell prompt transform. Or open Vim/Neovim and enjoy filetype icons with DevIcons. Customize your LS output, powerline prompt, or even your i3bar.</p>



<p class="wp-block-paragraph">You’ll quickly wonder how you ever lived without it.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4e5.png" alt="📥" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Download &amp; Get Started</h2>



<p class="wp-block-paragraph">Getting started is easy. Just head to the <a href="https://www.nerdfonts.com/font-downloads">Nerd Fonts Downloads page</a> and grab a font that suits your workflow. They’re pre-patched and ready to use.</p>



<p class="wp-block-paragraph">Whether you’re a hardcore Vim user, a Zsh customizer, or just want to make your terminal more intuitive, <strong>Nerd Fonts brings your setup to life.</strong></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f64c.png" alt="🙌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Open Source &amp; Growing</h2>



<p class="wp-block-paragraph">Nerd Fonts is open source, built and maintained by <a href="https://github.com/ryanoasis">Ryan L McIntyre</a>, with contributions from a passionate community. The project is growing fast and is supported by backers from all over the world.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f517.png" alt="🔗" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Want to contribute? Head to <a href="https://github.com/ryanoasis/nerd-fonts">github.com/ryanoasis/nerd-fonts</a> and check out how you can help!</p>
</blockquote>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f468-200d-1f4bb.png" alt="👨‍💻" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Final Thoughts</h2>



<p class="wp-block-paragraph">If you value clarity, efficiency, and a bit of flair in your development environment, you owe it to yourself to try Nerd Fonts. It’s one of those small changes that has a huge impact, both visually and practically.</p>
<p>The post <a href="https://hamradio.my/2025/07/unlock-your-terminals-true-potential-with-nerd-fonts/">Unlock Your Terminal’s True Potential with Nerd Fonts</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://hamradio.my/2025/07/unlock-your-terminals-true-potential-with-nerd-fonts/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How to Mount Google Drive using rclone on Linux</title>
		<link>https://hamradio.my/2025/06/how-to-mount-google-drive-using-rclone-on-linux/</link>
					<comments>https://hamradio.my/2025/06/how-to-mount-google-drive-using-rclone-on-linux/#respond</comments>
		
		<dc:creator><![CDATA[9M2PJU]]></dc:creator>
		<pubDate>Mon, 30 Jun 2025 13:56:07 +0000</pubDate>
				<category><![CDATA[archlinux]]></category>
		<category><![CDATA[cachyos]]></category>
		<category><![CDATA[free open source software]]></category>
		<category><![CDATA[free operating system]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[linux desktop]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[CLI]]></category>
		<category><![CDATA[cloudcomputing]]></category>
		<category><![CDATA[CloudIntegration]]></category>
		<category><![CDATA[CloudMount]]></category>
		<category><![CDATA[CloudSolutions]]></category>
		<category><![CDATA[CloudStorage]]></category>
		<category><![CDATA[commandline]]></category>
		<category><![CDATA[DataBackup]]></category>
		<category><![CDATA[DataSync]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[devops]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[FileManagement]]></category>
		<category><![CDATA[FileSync]]></category>
		<category><![CDATA[FileTransfer]]></category>
		<category><![CDATA[FUSE]]></category>
		<category><![CDATA[GoogleDrive]]></category>
		<category><![CDATA[linuxadmin]]></category>
		<category><![CDATA[linuxtips]]></category>
		<category><![CDATA[MountPoint]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[rclone]]></category>
		<category><![CDATA[remoteaccess]]></category>
		<category><![CDATA[RemoteStorage]]></category>
		<category><![CDATA[servermanagement]]></category>
		<category><![CDATA[systemadmin]]></category>
		<category><![CDATA[techtutorial]]></category>
		<category><![CDATA[ubuntu]]></category>
		<guid isPermaLink="false">https://hamradio.my/?p=8107</guid>

					<description><![CDATA[<p>Mounting your Google Drive on Linux allows you to access your cloud storage as if it were a local directory. This guide will walk you through the complete process of setting up and mounting Google Drive using rclone, a powerful command-line tool for cloud storage management. Prerequisites Before starting, ensure you have: Step 1: Install [&#8230;]</p>
<p>The post <a href="https://hamradio.my/2025/06/how-to-mount-google-drive-using-rclone-on-linux/">How to Mount Google Drive using rclone on Linux</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading"></h1>



<p class="wp-block-paragraph">Mounting your Google Drive on Linux allows you to access your cloud storage as if it were a local directory. This guide will walk you through the complete process of setting up and mounting Google Drive using rclone, a powerful command-line tool for cloud storage management.</p>



<h2 class="wp-block-heading">Prerequisites</h2>



<p class="wp-block-paragraph">Before starting, ensure you have:</p>



<ul class="wp-block-list">
<li>A Linux system with root or sudo access</li>



<li>An active Google account with Google Drive</li>



<li>Internet connection for authentication and file access</li>



<li>Basic familiarity with the command line</li>
</ul>



<h2 class="wp-block-heading">Step 1: Install rclone</h2>



<h3 class="wp-block-heading">Ubuntu/Debian</h3>



<pre class="wp-block-code"><code>sudo apt update
sudo apt install rclone
</code></pre>



<h3 class="wp-block-heading">CentOS/RHEL/Fedora</h3>



<pre class="wp-block-code"><code># For CentOS/RHEL
sudo yum install rclone

# For Fedora
sudo dnf install rclone
</code></pre>



<h3 class="wp-block-heading">Arch Linux</h3>



<pre class="wp-block-code"><code>sudo pacman -S rclone
</code></pre>



<h3 class="wp-block-heading">Install from Official Script</h3>



<pre class="wp-block-code"><code>curl https://rclone.org/install.sh | sudo bash
</code></pre>



<p class="wp-block-paragraph">Verify the installation:</p>



<pre class="wp-block-code"><code>rclone version
</code></pre>



<h2 class="wp-block-heading">Step 2: Install FUSE</h2>



<p class="wp-block-paragraph">To mount filesystems, rclone requires FUSE (Filesystem in Userspace):</p>



<h3 class="wp-block-heading">Ubuntu/Debian</h3>



<pre class="wp-block-code"><code>sudo apt install fuse
</code></pre>



<h3 class="wp-block-heading">CentOS/RHEL/Fedora</h3>



<pre class="wp-block-code"><code># For CentOS/RHEL
sudo yum install fuse

# For Fedora
sudo dnf install fuse
</code></pre>



<h3 class="wp-block-heading">Arch Linux</h3>



<pre class="wp-block-code"><code>sudo pacman -S fuse2
</code></pre>



<h2 class="wp-block-heading">Step 3: Configure Google Drive Remote</h2>



<p class="wp-block-paragraph">Start the rclone configuration process:</p>



<pre class="wp-block-code"><code>rclone config
</code></pre>



<p class="wp-block-paragraph">Follow these steps in the interactive setup:</p>



<ol class="wp-block-list">
<li><strong>Create a new remote:</strong> <code>n) New remote</code></li>



<li><strong>Name your remote:</strong> <code>name&gt; gdrive</code> (You can use any name you prefer)</li>



<li><strong>Select Google Drive:</strong> <code>Storage&gt; drive</code></li>



<li><strong>Leave client ID and secret blank</strong> (unless you have your own): <code>client_id&gt; [Press Enter] client_secret&gt; [Press Enter]</code></li>



<li><strong>Choose scope</strong> (recommended: option 1 for full access): <code>scope&gt; 1</code> This gives full access to all files except the Application Data Folder.</li>



<li><strong>Service Account file</strong> (leave blank for personal use): <code>service_account_file&gt; [Press Enter]</code></li>



<li><strong>Enable web browser authentication:</strong> <code>y) Yes</code></li>



<li><strong>Browser authentication:</strong>
<ul class="wp-block-list">
<li>rclone will open your default browser</li>



<li>Log in to your Google account</li>



<li>Grant permissions to rclone</li>



<li>Copy the verification code back to the terminal</li>
</ul>
</li>



<li><strong>Shared Drive configuration:</strong> <code>n) No</code> (Unless you want to access a specific Shared Drive)</li>



<li><strong>Confirm configuration:</strong> <code>y) Yes this is OK</code></li>
</ol>



<p class="wp-block-paragraph">Read <a href="https://rclone.org/drive/#making-your-own-client-id"><strong>https://rclone.org/drive/#making-your-own-client-id</strong></a></p>



<h2 class="wp-block-heading">Step 4: Test the Configuration</h2>



<p class="wp-block-paragraph">Verify that rclone can access your Google Drive:</p>



<pre class="wp-block-code"><code># List directories in your Google Drive
rclone lsd gdrive:

# List all files
rclone ls gdrive:

# List files with details
rclone lsl gdrive:
</code></pre>



<h2 class="wp-block-heading">Step 5: Create Mount Point</h2>



<p class="wp-block-paragraph">Create a directory where you want to mount Google Drive:</p>



<pre class="wp-block-code"><code>mkdir ~/GoogleDrive
</code></pre>



<h2 class="wp-block-heading">Step 6: Mount Google Drive</h2>



<h3 class="wp-block-heading">Basic Mount Command</h3>



<pre class="wp-block-code"><code>rclone mount gdrive: ~/GoogleDrive --daemon
</code></pre>



<h3 class="wp-block-heading">Recommended Mount Command with Options</h3>



<pre class="wp-block-code"><code>rclone mount gdrive: ~/GoogleDrive \
  --vfs-cache-mode writes \
  --vfs-cache-max-age 100h \
  --vfs-cache-max-size 10G \
  --vfs-read-chunk-size 32M \
  --vfs-read-chunk-size-limit off \
  --buffer-size 32M \
  --daemon
</code></pre>



<h3 class="wp-block-heading">Mount Options Explained</h3>



<ul class="wp-block-list">
<li><code>--vfs-cache-mode writes</code>: Cache file writes to improve performance</li>



<li><code>--vfs-cache-max-age 100h</code>: Keep cached files for 100 hours</li>



<li><code>--vfs-cache-max-size 10G</code>: Limit cache size to 10GB</li>



<li><code>--vfs-read-chunk-size 32M</code>: Read files in 32MB chunks</li>



<li><code>--buffer-size 32M</code>: Set buffer size for better performance</li>



<li><code>--daemon</code>: Run in background</li>
</ul>



<h3 class="wp-block-heading">Alternative: Mount with GUI Support</h3>



<p class="wp-block-paragraph">If you&#8217;re using a desktop environment and want the mount to appear in file managers:</p>



<pre class="wp-block-code"><code>rclone mount gdrive: ~/GoogleDrive \
  --vfs-cache-mode writes \
  --allow-other \
  --daemon
</code></pre>



<h2 class="wp-block-heading">Step 7: Verify the Mount</h2>



<p class="wp-block-paragraph">Check if the mount is successful:</p>



<pre class="wp-block-code"><code># List mounted filesystems
df -h | grep GoogleDrive

# Check if files are accessible
ls -la ~/GoogleDrive
</code></pre>



<h2 class="wp-block-heading">Step 8: Unmount Google Drive</h2>



<p class="wp-block-paragraph">To unmount the drive:</p>



<pre class="wp-block-code"><code># Method 1: Using fusermount
fusermount -u ~/GoogleDrive

# Method 2: Using umount
sudo umount ~/GoogleDrive

# Method 3: Kill rclone process
killall rclone
</code></pre>



<h2 class="wp-block-heading">Step 9: Auto-Mount on Boot (Optional)</h2>



<h3 class="wp-block-heading">Using systemd Service</h3>



<p class="wp-block-paragraph">Create a systemd service file:</p>



<pre class="wp-block-code"><code>sudo nano /etc/systemd/system/rclone-gdrive.service
</code></pre>



<p class="wp-block-paragraph">Add the following content (replace <code>username</code> with your actual username):</p>



<pre class="wp-block-code"><code>&#91;Unit]
Description=rclone: Remote FUSE filesystem for Google Drive
After=network-online.target
Wants=network-online.target

&#91;Service]
Type=notify
User=username
Group=username
ExecStart=/usr/bin/rclone mount gdrive: /home/username/GoogleDrive \
  --config=/home/username/.config/rclone/rclone.conf \
  --vfs-cache-mode writes \
  --vfs-cache-max-age 100h \
  --vfs-cache-max-size 10G \
  --vfs-read-chunk-size 32M \
  --buffer-size 32M \
  --allow-other
ExecStop=/bin/fusermount -u /home/username/GoogleDrive
Restart=always
RestartSec=10

&#91;Install]
WantedBy=default.target
</code></pre>



<p class="wp-block-paragraph">Enable and start the service:</p>



<pre class="wp-block-code"><code>sudo systemctl daemon-reload
sudo systemctl enable rclone-gdrive.service
sudo systemctl start rclone-gdrive.service
</code></pre>



<p class="wp-block-paragraph">Check service status:</p>



<pre class="wp-block-code"><code>sudo systemctl status rclone-gdrive.service
</code></pre>



<h3 class="wp-block-heading">Using /etc/fstab</h3>



<p class="wp-block-paragraph">Add the following line to <code>/etc/fstab</code>:</p>



<pre class="wp-block-code"><code>sudo nano /etc/fstab
</code></pre>



<p class="wp-block-paragraph">Add this line (replace <code>username</code> with your actual username):</p>



<pre class="wp-block-code"><code>gdrive: /home/username/GoogleDrive rclone rw,noauto,nofail,_netdev,user,exec,allow_other 0 0
</code></pre>



<h2 class="wp-block-heading">Performance Tips</h2>



<h3 class="wp-block-heading">Optimize for Your Use Case</h3>



<p class="wp-block-paragraph"><strong>For frequent small file access:</strong></p>



<pre class="wp-block-code"><code>rclone mount gdrive: ~/GoogleDrive \
  --vfs-cache-mode full \
  --vfs-cache-max-size 10G \
  --vfs-read-ahead 256M \
  --daemon
</code></pre>



<p class="wp-block-paragraph"><strong>For streaming large files:</strong></p>



<pre class="wp-block-code"><code>rclone mount gdrive: ~/GoogleDrive \
  --vfs-cache-mode off \
  --vfs-read-chunk-size 128M \
  --vfs-read-chunk-size-limit 2G \
  --buffer-size 64M \
  --daemon
</code></pre>



<h2 class="wp-block-heading">Troubleshooting</h2>



<h3 class="wp-block-heading">Common Issues and Solutions</h3>



<p class="wp-block-paragraph"><strong>Issue: Permission denied</strong></p>



<pre class="wp-block-code"><code># Add your user to the fuse group
sudo usermod -a -G fuse $USER
# Log out and log back in
</code></pre>



<p class="wp-block-paragraph"><strong>Issue: Mount point is busy</strong></p>



<pre class="wp-block-code"><code># Force unmount
sudo umount -l ~/GoogleDrive
</code></pre>



<p class="wp-block-paragraph"><strong>Issue: Slow performance</strong></p>



<pre class="wp-block-code"><code># Increase cache settings
rclone mount gdrive: ~/GoogleDrive \
  --vfs-cache-mode full \
  --vfs-cache-max-size 20G \
  --daemon
</code></pre>



<p class="wp-block-paragraph"><strong>Issue: Files not showing immediately</strong></p>



<pre class="wp-block-code"><code># Add directory cache timeout
rclone mount gdrive: ~/GoogleDrive \
  --dir-cache-time 1000h \
  --daemon
</code></pre>



<h3 class="wp-block-heading">Check rclone Logs</h3>



<pre class="wp-block-code"><code># View logs
rclone mount gdrive: ~/GoogleDrive --log-level INFO --log-file ~/rclone.log

# Or run in foreground for debugging
rclone mount gdrive: ~/GoogleDrive -v
</code></pre>



<h2 class="wp-block-heading">Security Considerations</h2>



<ol class="wp-block-list">
<li><strong>Token Security</strong>: Your authentication tokens are stored in <code>~/.config/rclone/rclone.conf</code>. Protect this file with appropriate permissions: <code>chmod 600 ~/.config/rclone/rclone.conf</code></li>



<li><strong>Network Security</strong>: All communication with Google Drive is encrypted via HTTPS.</li>



<li><strong>Local Access</strong>: Use <code>--allow-other</code> carefully as it allows other users to access the mount.</li>
</ol>



<h2 class="wp-block-heading">Conclusion</h2>



<p class="wp-block-paragraph">You now have Google Drive mounted on your Linux system! The mounted directory behaves like any other local directory, allowing you to:</p>



<ul class="wp-block-list">
<li>Copy files to and from Google Drive using standard commands</li>



<li>Edit files directly in your preferred applications</li>



<li>Access Google Drive through your file manager</li>



<li>Use command-line tools on your cloud files</li>
</ul>



<p class="wp-block-paragraph">Remember that changes to files are synchronized with Google Drive, so always ensure you have a stable internet connection when working with important files.</p>



<p class="wp-block-paragraph">For advanced usage and additional options, refer to the <a href="https://rclone.org/drive/"><strong>official rclone documentation</strong></a>.</p>
<p>The post <a href="https://hamradio.my/2025/06/how-to-mount-google-drive-using-rclone-on-linux/">How to Mount Google Drive using rclone on Linux</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://hamradio.my/2025/06/how-to-mount-google-drive-using-rclone-on-linux/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>A Better Logger for Hams: HAMRS</title>
		<link>https://hamradio.my/2025/06/a-better-logger-for-hams-hamrs/</link>
					<comments>https://hamradio.my/2025/06/a-better-logger-for-hams-hamrs/#respond</comments>
		
		<dc:creator><![CDATA[9M2PJU]]></dc:creator>
		<pubDate>Sun, 29 Jun 2025 07:13:52 +0000</pubDate>
				<category><![CDATA[amateur radio]]></category>
		<category><![CDATA[amateur radio logging software]]></category>
		<category><![CDATA[archlinux]]></category>
		<category><![CDATA[cachyos]]></category>
		<category><![CDATA[field day]]></category>
		<category><![CDATA[free operating system]]></category>
		<category><![CDATA[ham radio]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[portable amateur radio logger]]></category>
		<category><![CDATA[POTA]]></category>
		<category><![CDATA[radio amatur]]></category>
		<category><![CDATA[sota]]></category>
		<category><![CDATA[adif]]></category>
		<category><![CDATA[aktivasilapangan]]></category>
		<category><![CDATA[amateuradio]]></category>
		<category><![CDATA[amateurradiologging]]></category>
		<category><![CDATA[aur]]></category>
		<category><![CDATA[comma-separated]]></category>
		<category><![CDATA[EmComm]]></category>
		<category><![CDATA[FieldDay]]></category>
		<category><![CDATA[flrig]]></category>
		<category><![CDATA[ft817]]></category>
		<category><![CDATA[ft891]]></category>
		<category><![CDATA[hamlogger]]></category>
		<category><![CDATA[hamradio]]></category>
		<category><![CDATA[hamrs]]></category>
		<category><![CDATA[hfportable]]></category>
		<category><![CDATA[Icom]]></category>
		<category><![CDATA[jalurhobi]]></category>
		<category><![CDATA[komunisiradio]]></category>
		<category><![CDATA[kx2]]></category>
		<category><![CDATA[kx3]]></category>
		<category><![CDATA[linuxham]]></category>
		<category><![CDATA[linuxuntukradio]]></category>
		<category><![CDATA[logbook]]></category>
		<category><![CDATA[loggerham]]></category>
		<category><![CDATA[loggingsoftware]]></category>
		<category><![CDATA[logqso]]></category>
		<category><![CDATA[logsembang]]></category>
		<category><![CDATA[manjaro]]></category>
		<category><![CDATA[no `#`: hamradio]]></category>
		<category><![CDATA[parksontheair]]></category>
		<category><![CDATA[portableops]]></category>
		<category><![CDATA[potamalaysia]]></category>
		<category><![CDATA[qrp]]></category>
		<category><![CDATA[QRZ]]></category>
		<category><![CDATA[RadioAmatur]]></category>
		<category><![CDATA[radioamaturmalaysia]]></category>
		<category><![CDATA[RadioClub]]></category>
		<category><![CDATA[radioportabel]]></category>
		<category><![CDATA[RaspberryPi]]></category>
		<category><![CDATA[rigcontrol]]></category>
		<category><![CDATA[sambutanlapangan]]></category>
		<category><![CDATA[Sure — here are the **relevant hashtags in English and Malay**]]></category>
		<category><![CDATA[yaesu]]></category>
		<guid isPermaLink="false">https://hamradio.my/?p=8062</guid>

					<description><![CDATA[<p>Logging QSOs shouldn’t feel like work — especially when you’re running portable. Whether you&#8217;re activating a POTA park, chasing summits for SOTA, joining Field Day, or just working HF from a hilltop, you need a logging app that’s fast, offline-ready, and built for real operators. HAMRS is exactly that. It’s built from the ground up [&#8230;]</p>
<p>The post <a href="https://hamradio.my/2025/06/a-better-logger-for-hams-hamrs/">A Better Logger for Hams: HAMRS</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading"></h2>



<p class="wp-block-paragraph">Logging QSOs shouldn’t feel like work — especially when you’re running portable. Whether you&#8217;re activating a POTA park, chasing summits for SOTA, joining Field Day, or just working HF from a hilltop, you need a logging app that’s <strong>fast, offline-ready, and built for real operators</strong>.</p>



<p class="wp-block-paragraph"><strong>HAMRS</strong> is exactly that.</p>



<p class="wp-block-paragraph">It’s built from the ground up for modern ham radio ops — simple UI, solid performance, and zero learning curve. Whether you run 100 watts or QRP, HAMRS gives you a clean, fast way to log contacts in the field, then export them for LoTW, QRZ, or your main shack log.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f527.png" alt="🔧" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Why HAMRS Matters for Portable Ham Radio</h3>



<ul class="wp-block-list">
<li><strong>Offline logging</strong> with fast entry — no internet needed</li>



<li><strong>Templates for POTA, SOTA, Field Day, etc.</strong></li>



<li><strong>Auto-fill grid squares</strong>, park info, and more</li>



<li><strong>ADIF import/export</strong> — seamless integration with Logbook of The World, QRZ, etc.</li>



<li><strong>FLRig support</strong> — auto-fill frequency/mode from your rig (Pro)</li>



<li><strong>Dark mode</strong> for visibility in all lighting conditions</li>



<li><strong>Built for speed</strong> — logs pileups without freezing or lagging</li>
</ul>



<p class="wp-block-paragraph">If you&#8217;re logging by hand or using bloated shack software on your laptop, HAMRS will feel like a breath of fresh air.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f427.png" alt="🐧" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Install HAMRS on Arch Linux (and Derivatives)</h3>



<p class="wp-block-paragraph">On Arch, Manjaro, CachyOS, or any Arch-based distro, install it from the AUR with:</p>



<pre class="wp-block-code"><code>yay -S hamrs-appimage
</code></pre>



<p class="wp-block-paragraph">This installs the latest AppImage version and sets up a launcher in your menu. Launch it, select your logging template, and you’re ready to go.</p>



<figure class="wp-block-image size-large"><img  title="" decoding="async" width="1024" height="593" src="https://hamradio.my/wp-content/uploads/2025/06/image-20-1024x593.png"  alt="image-20-1024x593 A Better Logger for Hams: HAMRS"  class="wp-image-8064" srcset="https://hamradio.my/wp-content/uploads/2025/06/image-20-1024x593.png 1024w, https://hamradio.my/wp-content/uploads/2025/06/image-20-300x174.png 300w, https://hamradio.my/wp-content/uploads/2025/06/image-20-768x445.png 768w, https://hamradio.my/wp-content/uploads/2025/06/image-20-1536x890.png 1536w, https://hamradio.my/wp-content/uploads/2025/06/image-20-2048x1187.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6f0.png" alt="🛰" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Perfect for:</h3>



<ul class="wp-block-list">
<li>QRP operators</li>



<li>HF/VHF/UHF field deployments</li>



<li>Satellite logging (custom templates supported)</li>



<li>EMCOMM / field exercises</li>



<li>Club stations</li>



<li>Quick home station logging without extra config</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9fe.png" alt="🧾" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Exporting and Uploading Logs</h3>



<p class="wp-block-paragraph">Once you&#8217;re done operating, you can:</p>



<ul class="wp-block-list">
<li>Export logs in <strong>ADIF</strong> format</li>



<li>Upload directly to <strong>QRZ</strong> (built-in feature)</li>



<li>Import into <strong>TQSL</strong> for <strong>Logbook of The World</strong></li>



<li>Share logs with your club or contest team</li>
</ul>



<p class="wp-block-paragraph">HAMRS speaks the language of ham radio. No conversions, no weird formats.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f64c.png" alt="🙌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Support the Developer</h3>



<p class="wp-block-paragraph">HAMRS is built by a fellow ham with optional <strong>Pro features</strong> like rig control and cloud sync.</p>



<p class="wp-block-paragraph">Support the project via:</p>



<ul class="wp-block-list">
<li><a href="https://www.patreon.com/hamrs">Patreon</a></li>



<li><a href="https://hamrs.app/merch">Merch</a></li>



<li>Direct <a href="https://www.hamrs.app/">donation</a></li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">Final Key Point</h3>



<p class="wp-block-paragraph">You already care about radios, antennas, propagation, and signal reports — don’t let your logging app be the weakest part of your setup.</p>



<p class="wp-block-paragraph"><strong>HAMRS was made for you</strong> — the operator in the field, in the car, in the club tent. If you value efficiency and simplicity while still hitting all the right ham features, this is your logger.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4fb.png" alt="📻" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Every Day Is Field Day<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2122.png" alt="™" class="wp-smiley" style="height: 1em; max-height: 1em;" /></strong><br><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f517.png" alt="🔗" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="https://www.hamrs.app/">https://www.hamrs.app</a></p>
</blockquote>
<p>The post <a href="https://hamradio.my/2025/06/a-better-logger-for-hams-hamrs/">A Better Logger for Hams: HAMRS</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://hamradio.my/2025/06/a-better-logger-for-hams-hamrs/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Memorize Most Useful Pacman Commands</title>
		<link>https://hamradio.my/2025/06/memorize-most-useful-pacman-commands/</link>
					<comments>https://hamradio.my/2025/06/memorize-most-useful-pacman-commands/#respond</comments>
		
		<dc:creator><![CDATA[9M2PJU]]></dc:creator>
		<pubDate>Sat, 28 Jun 2025 14:30:17 +0000</pubDate>
				<category><![CDATA[archlinux]]></category>
		<category><![CDATA[cachyos]]></category>
		<category><![CDATA[free operating system]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[package management]]></category>
		<category><![CDATA[beginner friendly]]></category>
		<category><![CDATA[cheat sheet]]></category>
		<category><![CDATA[CLI]]></category>
		<category><![CDATA[command line]]></category>
		<category><![CDATA[linux guide]]></category>
		<category><![CDATA[package manager]]></category>
		<category><![CDATA[pacman]]></category>
		<category><![CDATA[SysAdmin]]></category>
		<category><![CDATA[terminal]]></category>
		<guid isPermaLink="false">https://hamradio.my/?p=8055</guid>

					<description><![CDATA[<p>If you&#8217;re running Arch Linux, or anything Arch-based like CachyOS, you already know that pacman is one of the core tools you&#8217;ll use—probably daily. But let’s be real: remembering all those -S, -R, -Q, and -Syu flags gets confusing fast. I used to look them up constantly (even for simple stuff), until I sat down [&#8230;]</p>
<p>The post <a href="https://hamradio.my/2025/06/memorize-most-useful-pacman-commands/">Memorize Most Useful Pacman Commands</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">If you&#8217;re running <a href="https://archlinux.org/">Arch Linux</a>, or anything Arch-based like <a href="https://cachyos.org/">CachyOS</a>, you already know that <code>pacman</code> is one of the core tools you&#8217;ll use—probably daily.</p>



<p class="wp-block-paragraph">But let’s be real: remembering all those <code>-S</code>, <code>-R</code>, <code>-Q</code>, and <code>-Syu</code> flags gets confusing fast. I used to look them up constantly (even for simple stuff), until I sat down and made a simple system to actually remember them.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f527.png" alt="🔧" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Basic Concept: Think in Categories</h2>



<p class="wp-block-paragraph">Rather than memorizing every command individually, we grouped them by what we needed to do. Just like you&#8217;d do in real life:</p>



<ul class="wp-block-list">
<li>Install something</li>



<li>Remove something</li>



<li>Search for something</li>



<li>Get information</li>



<li>Clean things up</li>
</ul>



<p class="wp-block-paragraph">Turns out, <code>pacman</code> follows this logic really well.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Install &amp; Update Packages</h2>



<p class="wp-block-paragraph"><strong>Install a package</strong>:</p>



<pre class="wp-block-code"><code>pacman -S &lt;package&gt;
</code></pre>



<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9e0.png" alt="🧠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Remember <code>-S</code> as “Send it to me” (Sync from the repository).</p>



<p class="wp-block-paragraph"><strong>Update everything (the Arch way)</strong>:</p>



<pre class="wp-block-code"><code>pacman -Syu
</code></pre>



<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9e0.png" alt="🧠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Mnemonic: “<strong>S</strong>ync, refresh the repos with <strong>y</strong>, and <strong>u</strong>pdate everything.”</p>



<p class="wp-block-paragraph">You’ll use this more than anything else.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f5d1.png" alt="🗑" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Remove Packages (Cleanly!)</h2>



<p class="wp-block-paragraph"><strong>Remove a package</strong>:</p>



<pre class="wp-block-code"><code>pacman -R &lt;package&gt;
</code></pre>



<p class="wp-block-paragraph">Just deletes the program—not configs or dependencies.</p>



<p class="wp-block-paragraph"><strong>Full, squeaky-clean removal</strong>:</p>



<pre class="wp-block-code"><code>pacman -Rns &lt;package&gt;
</code></pre>



<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9e0.png" alt="🧠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <code>Rns = Remove Neatly &amp; Squeaky</code> — it deletes the package, its unused dependencies, and leftover config files. I use this when I&#8217;m done testing something.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f50d.png" alt="🔍" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Searching for Packages</h2>



<p class="wp-block-paragraph"><strong>Search available packages (online repo)</strong>:</p>



<pre class="wp-block-code"><code>pacman -Ss &lt;keyword&gt;
</code></pre>



<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9e0.png" alt="🧠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <code>Ss</code> = <em>Search Store</em></p>



<p class="wp-block-paragraph"><strong>Search only installed packages</strong>:</p>



<pre class="wp-block-code"><code>pacman -Qs &lt;keyword&gt;
</code></pre>



<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9e0.png" alt="🧠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <code>Qs</code> = <em>Query System</em></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4c4.png" alt="📄" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Package Information</h2>



<p class="wp-block-paragraph"><strong>Get info about a package in the repo</strong>:</p>



<pre class="wp-block-code"><code>pacman -Si &lt;package&gt;
</code></pre>



<p class="wp-block-paragraph"><strong>Get info about an installed package</strong>:</p>



<pre class="wp-block-code"><code>pacman -Qi &lt;package&gt;
</code></pre>



<p class="wp-block-paragraph"><strong>List all files a package installed</strong>:</p>



<pre class="wp-block-code"><code>pacman -Ql &lt;package&gt;
</code></pre>



<p class="wp-block-paragraph"><strong>Find out what package owns a file</strong>:</p>



<pre class="wp-block-code"><code>pacman -Qo /path/to/file
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9f9.png" alt="🧹" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Cleanups &amp; Maintenance</h2>



<p class="wp-block-paragraph">Arch doesn&#8217;t clean up after itself by default, so we run these occasionally:</p>



<p class="wp-block-paragraph"><strong>Remove orphaned packages (leftovers)</strong>:</p>



<pre class="wp-block-code"><code>pacman -Rns $(pacman -Qdtq)
</code></pre>



<p class="wp-block-paragraph"><strong>Clean the package cache (but keep most recent)</strong>:</p>



<pre class="wp-block-code"><code>pacman -Sc
</code></pre>



<p class="wp-block-paragraph"><strong>Clean EVERYTHING in the cache</strong>:</p>



<pre class="wp-block-code"><code>pacman -Scc
</code></pre>



<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9e0.png" alt="🧠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <code>Scc</code> = <em>Super clean cache</em> (but be careful—you’ll need to re-download packages later).</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a0.png" alt="⚠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Bonus: Troubleshooting Tools</h2>



<p class="wp-block-paragraph">These aren’t used often, but they’re lifesavers:</p>



<ul class="wp-block-list">
<li><strong>Check missing files from installed packages</strong>: <code>pacman -Qk</code></li>



<li><strong>Mark a package as explicitly installed</strong>: <code>pacman -D --asexplicit &lt;package></code></li>



<li><strong>Mark it as a dependency instead</strong>: <code>pacman -D --asdeps &lt;package></code></li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9e0.png" alt="🧠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Trick to Memorize Them All</h2>



<ul class="wp-block-list">
<li>We <strong>grouped</strong> all commands by action. Just ask yourself: <em>Am I installing? Searching? Cleaning?</em></li>



<li>Made up <strong>little mnemonics</strong>:
<ul class="wp-block-list">
<li><code>Syu</code> = “Sync Your Universe”</li>



<li><code>Rns</code> = “Remove Neatly &amp; Squeaky”</li>



<li><code>Ss</code> = “Search Store”</li>



<li><code>Qi</code> = “Query Installed”</li>
</ul>
</li>



<li><strong>Typed them often</strong>. Practice helps way more than reading.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4cc.png" alt="📌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Final Cheat Sheet</h2>



<p class="wp-block-paragraph">Here’s a quick reference:</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Action</th><th>Command</th><th>Reminder</th></tr></thead><tbody><tr><td>Install</td><td><code>pacman -S &lt;pkg&gt;</code></td><td>Sync</td></tr><tr><td>Update system</td><td><code>pacman -Syu</code></td><td>Sync Your Updates</td></tr><tr><td>Remove</td><td><code>pacman -R &lt;pkg&gt;</code></td><td>Remove</td></tr><tr><td>Remove clean</td><td><code>pacman -Rns &lt;pkg&gt;</code></td><td>Neat &amp; Squeaky</td></tr><tr><td>Search repo</td><td><code>pacman -Ss &lt;name&gt;</code></td><td>Search Store</td></tr><tr><td>Search installed</td><td><code>pacman -Qs &lt;name&gt;</code></td><td>Query System</td></tr><tr><td>Info (repo)</td><td><code>pacman -Si &lt;pkg&gt;</code></td><td>Show Info</td></tr><tr><td>Info (installed)</td><td><code>pacman -Qi &lt;pkg&gt;</code></td><td>Query Installed</td></tr><tr><td>Files by pkg</td><td><code>pacman -Ql &lt;pkg&gt;</code></td><td>Query List</td></tr><tr><td>Who owns file</td><td><code>pacman -Qo /file</code></td><td>Query Owner</td></tr><tr><td>Remove orphans</td><td><code>pacman -Rns $(pacman -Qdtq)</code></td><td>Clean Deps</td></tr><tr><td>Clean cache</td><td><code>pacman -Sc</code></td><td>Soft Clean</td></tr><tr><td>Clean ALL</td><td><code>pacman -Scc</code></td><td>Super Clean</td></tr></tbody></table></figure>
<p>The post <a href="https://hamradio.my/2025/06/memorize-most-useful-pacman-commands/">Memorize Most Useful Pacman Commands</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://hamradio.my/2025/06/memorize-most-useful-pacman-commands/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Setting Up a Btrfs-Compatible Swap File with Hibernation on CachyOS (or Any Arch-based System)</title>
		<link>https://hamradio.my/2025/06/setting-up-a-btrfs-compatible-swap-file-with-hibernation-on-cachyos-or-any-arch-based-system/</link>
					<comments>https://hamradio.my/2025/06/setting-up-a-btrfs-compatible-swap-file-with-hibernation-on-cachyos-or-any-arch-based-system/#comments</comments>
		
		<dc:creator><![CDATA[9M2PJU]]></dc:creator>
		<pubDate>Sat, 28 Jun 2025 11:37:57 +0000</pubDate>
				<category><![CDATA[archlinux]]></category>
		<category><![CDATA[cachyos]]></category>
		<category><![CDATA[free operating system]]></category>
		<category><![CDATA[hibernation]]></category>
		<category><![CDATA[laptop]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[linux desktop]]></category>
		<category><![CDATA[btrfs]]></category>
		<category><![CDATA[grub]]></category>
		<category><![CDATA[initramfs]]></category>
		<category><![CDATA[linuxkernel]]></category>
		<category><![CDATA[linuxoptimization]]></category>
		<category><![CDATA[linuxperformance]]></category>
		<category><![CDATA[linuxsetup]]></category>
		<category><![CDATA[resume]]></category>
		<category><![CDATA[suspend]]></category>
		<category><![CDATA[swap]]></category>
		<category><![CDATA[swapfile]]></category>
		<category><![CDATA[systemd]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[uefi]]></category>
		<category><![CDATA[zram]]></category>
		<category><![CDATA[zswap]]></category>
		<guid isPermaLink="false">https://hamradio.my/?p=8052</guid>

					<description><![CDATA[<p>If you&#8217;re using CachyOS or any Arch-based distribution with Btrfs and want to enable hibernation, this guide will walk you through a clean and correct setup. We&#8217;ll create a dedicated Btrfs subvolume for swap, configure the swap file correctly for compatibility, and set up everything needed for hibernation, including kernel parameters. Why This Matters Btrfs [&#8230;]</p>
<p>The post <a href="https://hamradio.my/2025/06/setting-up-a-btrfs-compatible-swap-file-with-hibernation-on-cachyos-or-any-arch-based-system/">Setting Up a Btrfs-Compatible Swap File with Hibernation on CachyOS (or Any Arch-based System)</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading"></h1>



<p class="wp-block-paragraph">If you&#8217;re using CachyOS or any Arch-based distribution with Btrfs and want to enable hibernation, this guide will walk you through a clean and correct setup.</p>



<p class="wp-block-paragraph">We&#8217;ll create a dedicated Btrfs subvolume for swap, configure the swap file correctly for compatibility, and set up everything needed for hibernation, including kernel parameters.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Why This Matters</h2>



<p class="wp-block-paragraph">Btrfs is great, but it introduces some complications when using swap files, especially for hibernation. The kernel needs to know the physical disk offset of the swap file, and that file must be non-compressed, non-COW, and stored in its own dedicated subvolume.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">1. Clean Up Any Existing Broken Setup</h2>



<pre class="wp-block-code"><code>sudo swapoff -a
sudo umount /swap 2&gt;/dev/null || true
sudo btrfs subvolume delete /swap 2&gt;/dev/null || true
sudo rm -rf /swap
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">2. Create a New Swap Subvolume</h2>



<pre class="wp-block-code"><code>sudo mkdir -p /mnt/btrfs-root
sudo mount -o subvolid=5 /dev/disk/by-uuid/&lt;YOUR_ROOT_UUID&gt; /mnt/btrfs-root
sudo btrfs subvolume create /mnt/btrfs-root/swap
sudo umount /mnt/btrfs-root
sudo rmdir /mnt/btrfs-root
</code></pre>



<p class="wp-block-paragraph">Replace <code>&lt;YOUR_ROOT_UUID&gt;</code> with the UUID of your Btrfs root. Find it using:</p>



<pre class="wp-block-code"><code>findmnt -no UUID /
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">3. Mount the Subvolume via <code>/etc/fstab</code></h2>



<p class="wp-block-paragraph">Add this line to <code>/etc/fstab</code>:</p>



<pre class="wp-block-code"><code>UUID=&lt;YOUR_ROOT_UUID&gt; /swap btrfs subvol=swap,noatime,compress=no,space_cache=v2 0 0
</code></pre>



<p class="wp-block-paragraph">Then:</p>



<pre class="wp-block-code"><code>sudo mkdir /swap
sudo mount -a
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">4. Create the Swap File</h2>



<pre class="wp-block-code"><code>sudo chattr +C /swap
sudo fallocate -l 16G /swap/swapfile  # adjust size as needed
sudo chmod 600 /swap/swapfile
sudo mkswap /swap/swapfile
sudo swapon /swap/swapfile
</code></pre>



<p class="wp-block-paragraph">Make sure it appears with:</p>



<pre class="wp-block-code"><code>swapon --show
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">5. Get the Resume Offset</h2>



<pre class="wp-block-code"><code>sudo btrfs inspect-internal map-swapfile -r /swap/swapfile
</code></pre>



<p class="wp-block-paragraph">You&#8217;ll get a number like <code>4546994</code>. That is your <code>resume_offset</code>.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">6. Update Kernel Parameters (GRUB)</h2>



<p class="wp-block-paragraph">Edit <code>/etc/default/grub</code>:</p>



<pre class="wp-block-code"><code>GRUB_CMDLINE_LINUX_DEFAULT="... resume=UUID=&lt;YOUR_ROOT_UUID&gt; resume_offset=4546994"
</code></pre>



<p class="wp-block-paragraph">Then regenerate GRUB config:</p>



<pre class="wp-block-code"><code>sudo grub-mkconfig -o /boot/grub/grub.cfg
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">7. mkinitcpio Hooks</h2>



<p class="wp-block-paragraph">Edit <code>/etc/mkinitcpio.conf</code> and make sure <code>resume</code> is after <code>udev</code>:</p>



<pre class="wp-block-code"><code>HOOKS=(base udev autodetect microcode modconf kms keyboard keymap consolefont block filesystems resume fsck)
</code></pre>



<p class="wp-block-paragraph">Then:</p>



<pre class="wp-block-code"><code>sudo mkinitcpio -P
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">8. Test Hibernation</h2>



<pre class="wp-block-code"><code>sudo systemctl hibernate
</code></pre>



<p class="wp-block-paragraph">After the system powers off, turn it on again. It should resume your session from swap.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Final Notes</h2>



<ul class="wp-block-list">
<li>Don’t rely on <code>/boot/efi/EFI/cachyos/grub.cfg</code>; GRUB on EFI loads <code>/boot/grub/grub.cfg</code>.</li>



<li>zram does not support hibernation; ensure your swapfile is active and recognized.</li>



<li>Want to increase speed? Consider adding <code>hibernate.compressor=lz4</code> to your kernel line.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph">Hibernation on Btrfs is not trivial, but once it’s done properly, it works just as well as with traditional setups. Good luck and happy hacking!</p>
<p>The post <a href="https://hamradio.my/2025/06/setting-up-a-btrfs-compatible-swap-file-with-hibernation-on-cachyos-or-any-arch-based-system/">Setting Up a Btrfs-Compatible Swap File with Hibernation on CachyOS (or Any Arch-based System)</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://hamradio.my/2025/06/setting-up-a-btrfs-compatible-swap-file-with-hibernation-on-cachyos-or-any-arch-based-system/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Choosing the Best Filesystem for Linux</title>
		<link>https://hamradio.my/2025/06/choosing-the-best-filesystem-for-linux/</link>
					<comments>https://hamradio.my/2025/06/choosing-the-best-filesystem-for-linux/#respond</comments>
		
		<dc:creator><![CDATA[9M2PJU]]></dc:creator>
		<pubDate>Fri, 27 Jun 2025 16:42:18 +0000</pubDate>
				<category><![CDATA[debian]]></category>
		<category><![CDATA[filesystem]]></category>
		<category><![CDATA[free operating system]]></category>
		<category><![CDATA[laptop]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[linux desktop]]></category>
		<category><![CDATA[NAS]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[btrfs]]></category>
		<category><![CDATA[compression]]></category>
		<category><![CDATA[data integrity]]></category>
		<category><![CDATA[Ext4]]></category>
		<category><![CDATA[home server]]></category>
		<category><![CDATA[Linux Tips]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[snapshots]]></category>
		<category><![CDATA[SysAdmin]]></category>
		<category><![CDATA[tech blog]]></category>
		<category><![CDATA[xfs]]></category>
		<category><![CDATA[zfs]]></category>
		<guid isPermaLink="false">https://hamradio.my/?p=8028</guid>

					<description><![CDATA[<p>When setting up a Linux system—whether it&#8217;s a personal laptop, home server, or enterprise-grade machine—you eventually face this deceptively simple question:&#8220;Which filesystem should I use?&#8221; And while most people just stick with whatever the distro gives them (usually ext4), the truth is… there are better options out there—depending on what you&#8217;re doing. In this post, [&#8230;]</p>
<p>The post <a href="https://hamradio.my/2025/06/choosing-the-best-filesystem-for-linux/">Choosing the Best Filesystem for Linux</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading"></h2>



<p class="wp-block-paragraph">When setting up a Linux system—whether it&#8217;s a personal laptop, home server, or enterprise-grade machine—you eventually face this deceptively simple question:<br><strong>&#8220;Which filesystem should I use?&#8221;</strong></p>



<p class="wp-block-paragraph">And while most people just stick with whatever the distro gives them (usually <code>ext4</code>), the truth is… <strong>there are better options</strong> out there—depending on what you&#8217;re doing.</p>



<p class="wp-block-paragraph">In this post, I’ll walk you through the four main contenders: <strong>ext4</strong>, <strong>Btrfs</strong>, <strong>XFS</strong>, and <strong>ZFS</strong>. Each one has strengths and quirks. Let’s make sense of them.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9f1.png" alt="🧱" class="wp-smiley" style="height: 1em; max-height: 1em;" /> ext4 – The Reliable Classic</h3>



<p class="wp-block-paragraph">If you&#8217;re running Linux, there&#8217;s a 90% chance you&#8217;re already using <code>ext4</code>. It’s the default for most distributions, and for good reason:</p>



<ul class="wp-block-list">
<li>It’s fast.</li>



<li>It’s stable.</li>



<li>It just works.</li>
</ul>



<p class="wp-block-paragraph">But here’s the thing: ext4 doesn’t do fancy stuff like <strong>snapshots</strong>, <strong>compression</strong>, or <strong>self-healing</strong>. If you don’t need those features, then it’s still a fantastic choice.</p>



<p class="wp-block-paragraph"><strong>Use it if</strong>:<br>You&#8217;re setting up a general-purpose desktop or server and want maximum compatibility and no surprises.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9ea.png" alt="🧪" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Btrfs – The Smart All-Rounder</h3>



<p class="wp-block-paragraph">Btrfs (pronounced “butter-fs” or “bee-tree-fs”, pick your poison) is a modern filesystem built with cool features like:</p>



<ul class="wp-block-list">
<li>Snapshots (think instant backups)</li>



<li>Transparent compression</li>



<li>Built-in RAID support</li>



<li>Checksums for data integrity</li>
</ul>



<p class="wp-block-paragraph">It’s a bit like ZFS but more lightweight and integrated into the Linux kernel.</p>



<p class="wp-block-paragraph"><strong>Use it if</strong>:<br>You want modern features, better data safety, and don&#8217;t mind a little learning curve.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4e6.png" alt="📦" class="wp-smiley" style="height: 1em; max-height: 1em;" /> XFS – The Big File Specialist</h3>



<p class="wp-block-paragraph">XFS is a beast when it comes to large files and high-throughput storage. Originally developed by SGI, it’s now maintained by the Linux community and used heavily in environments like:</p>



<ul class="wp-block-list">
<li>Video editing</li>



<li>Large-scale backups</li>



<li>Databases with massive files</li>
</ul>



<p class="wp-block-paragraph">But it’s not great for small files or everyday desktop use.</p>



<p class="wp-block-paragraph"><strong>Use it if</strong>:<br>You’re working with terabytes of video, raw photos, or large scientific datasets.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6e1.png" alt="🛡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> ZFS – The Data Guardian</h3>



<p class="wp-block-paragraph">ZFS is legendary. It’s basically a combination of a volume manager and a filesystem. It gives you:</p>



<ul class="wp-block-list">
<li>Extreme data integrity (self-healing)</li>



<li>Snapshots, cloning, deduplication</li>



<li>Built-in RAID (no more mdadm!)</li>



<li>Compression, encryption—you name it</li>
</ul>



<p class="wp-block-paragraph">Sounds amazing, right? It is. But you’ll need a decent amount of RAM (8 GB+ is ideal), and it&#8217;s not included in the Linux kernel for licensing reasons—so you’ll need to install it manually.</p>



<p class="wp-block-paragraph"><strong>Use it if</strong>:<br>You’re running a serious NAS or server and want the best protection against data loss.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9e0.png" alt="🧠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> So&#8230; Which One Should <em>You</em> Use?</h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Use Case</th><th>Best Filesystem</th></tr></thead><tbody><tr><td>Everyday desktop</td><td><strong>ext4</strong></td></tr><tr><td>Laptops or home NAS</td><td><strong>Btrfs</strong></td></tr><tr><td>Big file storage</td><td><strong>XFS</strong></td></tr><tr><td>Enterprise storage / NAS</td><td><strong>ZFS</strong></td></tr></tbody></table></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/270d.png" alt="✍" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Final Thoughts</h3>



<p class="wp-block-paragraph">The beauty of Linux is <strong>choice</strong>—but that also means doing a bit of homework. Fortunately, filesystems like ext4 and Btrfs make it hard to go wrong.</p>



<p class="wp-block-paragraph">If you&#8217;re setting up a personal machine: ext4 is rock solid.<br>If you&#8217;re tinkering or want cool features: give Btrfs a go.<br>If you&#8217;re building a fortress for your data: ZFS is king.</p>



<p class="wp-block-paragraph">Whichever route you take, just make sure to <strong>back up your data</strong>. Even the best filesystem won’t save you from <code>rm -rf /</code> </p>
<p>The post <a href="https://hamradio.my/2025/06/choosing-the-best-filesystem-for-linux/">Choosing the Best Filesystem for Linux</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://hamradio.my/2025/06/choosing-the-best-filesystem-for-linux/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How to Set Up a Winlink Client on a Raspberry Pi</title>
		<link>https://hamradio.my/2025/06/how-to-set-up-a-winlink-client-on-a-raspberry-pi/</link>
					<comments>https://hamradio.my/2025/06/how-to-set-up-a-winlink-client-on-a-raspberry-pi/#comments</comments>
		
		<dc:creator><![CDATA[9M2PJU]]></dc:creator>
		<pubDate>Sat, 14 Jun 2025 04:51:34 +0000</pubDate>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[raspberry pi]]></category>
		<category><![CDATA[raspbian]]></category>
		<category><![CDATA[winlink]]></category>
		<category><![CDATA[9m2pju]]></category>
		<category><![CDATA[AmateurRadio]]></category>
		<category><![CDATA[ARDOP]]></category>
		<category><![CDATA[AX25]]></category>
		<category><![CDATA[DigitalModes]]></category>
		<category><![CDATA[Direwolf]]></category>
		<category><![CDATA[EmComm]]></category>
		<category><![CDATA[freebsd]]></category>
		<category><![CDATA[hamradio]]></category>
		<category><![CDATA[hfemail]]></category>
		<category><![CDATA[linuxham]]></category>
		<category><![CDATA[packetradio]]></category>
		<category><![CDATA[patclient]]></category>
		<category><![CDATA[qth]]></category>
		<category><![CDATA[radioemail]]></category>
		<category><![CDATA[RaspberryPi]]></category>
		<category><![CDATA[soundcardtnc]]></category>
		<guid isPermaLink="false">https://hamradio.my/?p=7498</guid>

					<description><![CDATA[<p>Winlink is an essential tool in emergency and portable amateur radio communications. It allows you to send and receive emails over RF using various modes like VHF, UHF, and HF. In this guide, I’ll walk you through setting up a Winlink client on a Raspberry Pi, turning your Pi into a lightweight and powerful messaging [&#8230;]</p>
<p>The post <a href="https://hamradio.my/2025/06/how-to-set-up-a-winlink-client-on-a-raspberry-pi/">How to Set Up a Winlink Client on a Raspberry Pi</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"><strong>Winlink</strong> is an essential tool in emergency and portable amateur radio communications. It allows you to send and receive emails over RF using various modes like VHF, UHF, and HF. In this guide, I’ll walk you through setting up a <strong>Winlink client on a Raspberry Pi</strong>, turning your Pi into a lightweight and powerful messaging hub.</p>



<p class="wp-block-paragraph">Whether you’re preparing for EmComm scenarios or operating in remote areas, this setup gives you email access without the internet.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading" id="h-what-you-ll-need"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9f0.png" alt="🧰" class="wp-smiley" style="height: 1em; max-height: 1em;" /> What You’ll Need</h2>



<ul class="wp-block-list">
<li>Raspberry Pi 3, 4, or Zero 2 W (running Raspberry Pi OS or Debian-based Linux)</li>



<li>Internet access for installation</li>



<li>Your <strong>amateur radio license</strong></li>



<li>A <strong>soundcard interface</strong> (e.g., Signalink, Digirig, or USB soundcard)</li>



<li>A transceiver (VHF/UHF or HF)</li>



<li>A <strong>Winlink account</strong> (free to register on first connect)</li>
</ul>



<p class="wp-block-paragraph">Optional but useful:</p>



<ul class="wp-block-list">
<li>USB GPS (for mobile use)</li>



<li>Touchscreen or headless SSH setup</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading" id="h-step-1-install-dependencies"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f5a5.png" alt="🖥" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Step 1: Install Dependencies</h2>



<p class="wp-block-paragraph">First, update your Pi:</p>



<pre class="wp-block-code"><code>sudo apt update &amp;&amp; sudo apt upgrade -y
</code></pre>



<p class="wp-block-paragraph">Install required packages:</p>



<pre class="wp-block-code"><code>sudo apt install build-essential git cmake libhamlib-dev libwxgtk3.0-gtk3-dev libconfig++-dev libfftw3-dev libpulse-dev libusb-1.0-0-dev libudev-dev libasound2-dev
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading" id="h-step-2-install-pat-the-winlink-client"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4e5.png" alt="📥" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Step 2: Install <code>pat</code> — the Winlink Client</h2>



<p class="wp-block-paragraph"><code>pat</code> is a cross-platform Winlink client written in Go, ideal for headless or GUI-less systems like the Raspberry Pi.</p>



<h3 class="wp-block-heading" id="h-install-go-if-not-installed">Install Go (if not installed):</h3>



<pre class="wp-block-code"><code>sudo apt install golang-go
</code></pre>



<h3 class="wp-block-heading" id="h-clone-and-build-pat">Clone and build <code>pat</code>:</h3>



<pre class="wp-block-code"><code>cd ~
git clone https://github.com/la5nta/pat.git
cd pat
go build
sudo cp pat /usr/local/bin/
</code></pre>



<p class="wp-block-paragraph">Verify:</p>



<pre class="wp-block-code"><code>pat version
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading" id="h-step-3-configure-pat"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2699.png" alt="⚙" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Step 3: Configure <code>pat</code></h2>



<p class="wp-block-paragraph">Create config directory:</p>



<pre class="wp-block-code"><code>mkdir -p ~/.config/pat
nano ~/.config/pat/config.json
</code></pre>



<p class="wp-block-paragraph">Paste and edit this basic configuration:</p>



<pre class="wp-block-code"><code>{
  "mycall": "9M2PJU",
  "secure_login_password": "your_winlink_password",
  "locator": "OJ03pa",
  "listen": &#91;"http"],
  "http_addr": "0.0.0.0:8080"
}
</code></pre>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">Replace <code>9M2PJU</code> with your callsign, and set your password. The <code>locator</code> can be your Maidenhead grid square.</p>
</blockquote>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading" id="h-step-4-connect-radio-amp-sound-interface"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f50c.png" alt="🔌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Step 4: Connect Radio &amp; Sound Interface</h2>



<p class="wp-block-paragraph">Connect your USB soundcard interface to the Pi and your transceiver. Make sure audio in/out is working (check with <code>arecord</code> and <code>aplay</code>).</p>



<p class="wp-block-paragraph">Optional: Configure audio devices in <code>~/.asoundrc</code> or set defaults with <code>alsamixer</code>.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading" id="h-step-5-install-ardop-or-ax25-modem"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4f6.png" alt="📶" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Step 5: Install <code>ardop</code> or <code>ax25</code> Modem</h2>



<h3 class="wp-block-heading" id="h-install-ardop-for-vhf-uhf-or-hf-soundcard-modes">Install ARDOP (for VHF/UHF or HF soundcard modes)</h3>



<p class="wp-block-paragraph">Clone and build:</p>



<pre class="wp-block-code"><code>cd ~
git clone https://github.com/la5nta/ardop.git
cd ardop
go build
sudo cp ardop /usr/local/bin/
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading" id="h-step-6-launch-pat-web-interface"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f310.png" alt="🌐" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Step 6: Launch <code>pat</code> Web Interface</h2>



<p class="wp-block-paragraph">Run the client:</p>



<pre class="wp-block-code"><code>pat http
</code></pre>



<p class="wp-block-paragraph">On your browser, navigate to:</p>



<pre class="wp-block-code"><code>http:&#47;&#47;&lt;raspberrypi-ip&gt;:8080
</code></pre>



<p class="wp-block-paragraph">You’ll see the Winlink <code>pat</code> interface. You can compose messages, connect to gateways, and send emails over RF.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading" id="h-step-7-send-and-receive-messages"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4e4.png" alt="📤" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Step 7: Send and Receive Messages</h2>



<p class="wp-block-paragraph">To send a message:</p>



<ol class="wp-block-list">
<li>Click <strong>Compose</strong></li>



<li>Enter recipient (e.g., <code>yourname@winlink.org</code>)</li>



<li>Choose <strong>Winlink CMS Relay</strong> for direct messages or <strong>Packet</strong>/<strong>ARDOP</strong> for RF</li>



<li>Click <strong>Send</strong></li>
</ol>



<p class="wp-block-paragraph">To send via RF (Packet or ARDOP), you’ll need to set up <strong>modems and gateway frequencies</strong>. Example (packet mode):</p>



<pre class="wp-block-code"><code>pat connect ax25 KLSAR-10
</code></pre>



<p class="wp-block-paragraph">Or ARDOP:</p>



<pre class="wp-block-code"><code>pat connect ardop K4CJX
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading" id="h-tips-and-tricks"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6e0.png" alt="🛠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Tips and Tricks</h2>



<ul class="wp-block-list">
<li>Use <code>tmux</code> or <code>screen</code> to keep <code>pat</code> running in the background</li>



<li>Install <code>ax25-tools</code> if using hardware TNC</li>



<li>Use <code>direwolf</code> for software packet TNC (AX.25 mode)</li>



<li>Set up a cronjob to auto-launch on boot</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading" id="h-security-note"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f512.png" alt="🔒" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Security Note</h2>



<p class="wp-block-paragraph">The web interface doesn’t use SSL by default. If you’re exposing this over a network, consider using SSH tunneling or a reverse proxy with HTTPS.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading" id="h-final-thoughts"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4e1.png" alt="📡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Final Thoughts</h2>



<p class="wp-block-paragraph">With just a Raspberry Pi and some ham radio gear, you now have a fully functional <strong>Winlink station</strong> capable of handling email over RF. This setup is portable, reliable, and an excellent asset for both casual and emergency use.</p>



<p class="wp-block-paragraph"></p>
<p>The post <a href="https://hamradio.my/2025/06/how-to-set-up-a-winlink-client-on-a-raspberry-pi/">How to Set Up a Winlink Client on a Raspberry Pi</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://hamradio.my/2025/06/how-to-set-up-a-winlink-client-on-a-raspberry-pi/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Choosing the Best Web Application Firewall (WAF) for Your WordPress Site</title>
		<link>https://hamradio.my/2025/06/choosing-the-best-web-application-firewall-waf-for-your-wordpress-site/</link>
					<comments>https://hamradio.my/2025/06/choosing-the-best-web-application-firewall-waf-for-your-wordpress-site/#respond</comments>
		
		<dc:creator><![CDATA[9M2PJU]]></dc:creator>
		<pubDate>Sun, 01 Jun 2025 16:45:09 +0000</pubDate>
				<category><![CDATA[cloudflare]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[WAF]]></category>
		<category><![CDATA[web application firewall]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[blogwordpress]]></category>
		<category><![CDATA[ciberseguridad]]></category>
		<category><![CDATA[cybersécurité]]></category>
		<category><![CDATA[cybersecurity]]></category>
		<category><![CDATA[cybersicherheit]]></category>
		<category><![CDATA[firewallweb]]></category>
		<category><![CDATA[hackprevention]]></category>
		<category><![CDATA[keselamataninternet]]></category>
		<category><![CDATA[keselamatanwordpress]]></category>
		<category><![CDATA[malwareprotection]]></category>
		<category><![CDATA[nube]]></category>
		<category><![CDATA[parefeudapplication]]></category>
		<category><![CDATA[perlindunganlamanweb]]></category>
		<category><![CDATA[pluginsicherheit]]></category>
		<category><![CDATA[pluginswordpress]]></category>
		<category><![CDATA[pluginwordpress]]></category>
		<category><![CDATA[proteccionmalware]]></category>
		<category><![CDATA[proteccionweb]]></category>
		<category><![CDATA[protectionwordpress]]></category>
		<category><![CDATA[sécuritéweb]]></category>
		<category><![CDATA[securitewordpress]]></category>
		<category><![CDATA[seguridadinformática]]></category>
		<category><![CDATA[seguridadwordpress]]></category>
		<category><![CDATA[sekuriticyber]]></category>
		<category><![CDATA[sicherheit]]></category>
		<category><![CDATA[siteinternet]]></category>
		<category><![CDATA[sucuri]]></category>
		<category><![CDATA[webapplicationfirewall]]></category>
		<category><![CDATA[webfirewall]]></category>
		<category><![CDATA[websecurity]]></category>
		<category><![CDATA[webseitenschutz]]></category>
		<category><![CDATA[websiteprotection]]></category>
		<category><![CDATA[wordfence]]></category>
		<category><![CDATA[wordpressblog]]></category>
		<category><![CDATA[wordpressdeutschland]]></category>
		<category><![CDATA[wordpressespaña]]></category>
		<category><![CDATA[wordpressplugins]]></category>
		<category><![CDATA[wordpresssecurity]]></category>
		<category><![CDATA[wordpresssicherheit]]></category>
		<category><![CDATA[wordpress安全]]></category>
		<category><![CDATA[اضافات_ووردبريس]]></category>
		<category><![CDATA[الامن_الرقمي]]></category>
		<category><![CDATA[الامن_السيبراني]]></category>
		<category><![CDATA[امن_المواقع]]></category>
		<category><![CDATA[جدار_ناري]]></category>
		<category><![CDATA[حماية_الموقع]]></category>
		<category><![CDATA[حماية_ووردبريس]]></category>
		<category><![CDATA[سوكوري]]></category>
		<category><![CDATA[كلاودفلير]]></category>
		<category><![CDATA[ووردبريس]]></category>
		<category><![CDATA[क्लाउडफ्लेयर]]></category>
		<category><![CDATA[प्लगइनसुरक्षा]]></category>
		<category><![CDATA[फायरवॉल]]></category>
		<category><![CDATA[वर्डप्रेससुरक्षा]]></category>
		<category><![CDATA[वर्डफेंस]]></category>
		<category><![CDATA[वेबसाइटप्रोटेक्शन]]></category>
		<category><![CDATA[वेबसाइटसुरक्षा]]></category>
		<category><![CDATA[साइबरसुरक्षा]]></category>
		<category><![CDATA[सिक्योरिटीटिप्स]]></category>
		<category><![CDATA[सूकुरी]]></category>
		<category><![CDATA[ウェブファイアウォール]]></category>
		<category><![CDATA[ウェブ保護]]></category>
		<category><![CDATA[クラウドフレア]]></category>
		<category><![CDATA[サイバーセキュリティ]]></category>
		<category><![CDATA[スキュリ]]></category>
		<category><![CDATA[セキュリティ対策]]></category>
		<category><![CDATA[プラグイン]]></category>
		<category><![CDATA[ワードプレス]]></category>
		<category><![CDATA[ワードプレスセキュリティ]]></category>
		<category><![CDATA[云服务]]></category>
		<category><![CDATA[云防护]]></category>
		<category><![CDATA[插件推荐]]></category>
		<category><![CDATA[网站保护]]></category>
		<category><![CDATA[网站防火墙]]></category>
		<category><![CDATA[网络安全]]></category>
		<category><![CDATA[网络防护]]></category>
		<guid isPermaLink="false">https://hamradio.my/?p=7747</guid>

					<description><![CDATA[<p>As WordPress powers over 40% of the web, it remains a prime target for hackers, bots, and automated malware attacks. If you&#8217;re running a WordPress site—whether it&#8217;s a blog, e-commerce store, or a landing page for your ham radio projects—securing it should be a top priority. One of the best security layers you can implement [&#8230;]</p>
<p>The post <a href="https://hamradio.my/2025/06/choosing-the-best-web-application-firewall-waf-for-your-wordpress-site/">Choosing the Best Web Application Firewall (WAF) for Your WordPress Site</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading"></h1>



<p class="wp-block-paragraph">As WordPress powers over 40% of the web, it remains a prime target for hackers, bots, and automated malware attacks. If you&#8217;re running a WordPress site—whether it&#8217;s a blog, e-commerce store, or a landing page for your ham radio projects—<strong>securing it should be a top priority</strong>. One of the best security layers you can implement is a <strong>Web Application Firewall (WAF)</strong>.</p>



<p class="wp-block-paragraph">But not all WAFs are created equal. Some are cloud-based and block threats <em>before</em> they hit your server. Others work as WordPress plugins and offer deep integration and control.</p>



<p class="wp-block-paragraph">In this post, I’ll break down the <strong>top WAF options for WordPress in 2025</strong>, comparing features, pros, cons, pricing, and real-world use cases—so you can make the right decision based on your needs.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9e0.png" alt="🧠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> What Is a Web Application Firewall?</h2>



<p class="wp-block-paragraph">A Web Application Firewall acts as a <strong>shield between your WordPress site and incoming traffic</strong>, inspecting requests and blocking malicious ones. Think of it as a digital bouncer checking each visitor for suspicious behavior before letting them in.</p>



<p class="wp-block-paragraph">There are two main types of WAFs:</p>



<ol class="wp-block-list">
<li><strong>Cloud-based WAFs</strong>: Work at the DNS or CDN level (e.g., Cloudflare, Sucuri).</li>



<li><strong>Plugin-based WAFs</strong>: Installed directly on your WordPress site (e.g., Wordfence, MalCare).</li>
</ol>



<p class="wp-block-paragraph">Each has its advantages, depending on your hosting, traffic level, and technical skill.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f310.png" alt="🌐" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 1. Cloudflare WAF – Fast, Reliable, and Cost-Effective</h2>



<p class="wp-block-paragraph"><strong>Cloudflare</strong> is widely known for its CDN and DNS services, but its WAF is equally powerful—especially for WordPress users.</p>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Pros:</h3>



<ul class="wp-block-list">
<li>Stops attacks <strong>before</strong> they reach your server</li>



<li>Offers <strong>free plan</strong> with basic security rules</li>



<li>Includes DDoS mitigation, CDN, and caching</li>



<li>Seamless integration with WordPress</li>



<li>Fast global delivery of your content</li>
</ul>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Cons:</h3>



<ul class="wp-block-list">
<li>Advanced WAF rules require <strong>Pro plan</strong> ($20/month)</li>



<li>Some setup required (changing DNS)</li>
</ul>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Best for:</h3>



<p class="wp-block-paragraph">Performance-oriented websites, WooCommerce stores, blogs with global audiences, and users who want minimal maintenance.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a1.png" alt="⚡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Pro Tip: Even the free plan includes rate limiting and bot protection, which stops most basic attacks. You can combine this with a WordPress security plugin for layered defense.</p>
</blockquote>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6e1.png" alt="🛡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 2. Sucuri Website Firewall – Best for Serious Security</h2>



<p class="wp-block-paragraph"><strong>Sucuri</strong> is a full-service website security platform that includes a WAF, malware scanning, cleanup, and performance optimization.</p>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Pros:</h3>



<ul class="wp-block-list">
<li>Cloud-based protection stops attacks upstream</li>



<li>Excellent malware detection and <strong>auto-cleanup</strong></li>



<li>Includes global CDN and caching for performance</li>



<li>24/7 support included in higher tiers</li>
</ul>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Cons:</h3>



<ul class="wp-block-list">
<li>No free plan – starts at <strong>$199.99/year</strong></li>



<li>Requires DNS changes, which may intimidate non-tech users</li>
</ul>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Best for:</h3>



<p class="wp-block-paragraph">High-risk websites, businesses, and anyone willing to pay for peace of mind.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9ef.png" alt="🧯" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Real-world scenario: If your site is already under attack or blacklisted, Sucuri can clean it up and restore it faster than most competitors.</p>
</blockquote>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f527.png" alt="🔧" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 3. Wordfence – WordPress-Specific and Feature-Rich</h2>



<p class="wp-block-paragraph"><strong>Wordfence</strong> is one of the most popular WordPress security plugins, offering a strong WAF that runs inside your WordPress site.</p>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Pros:</h3>



<ul class="wp-block-list">
<li>Easy to install and use</li>



<li>Real-time firewall rules (in Pro version)</li>



<li>Built-in malware scanner and brute-force protection</li>



<li><strong>Free version</strong> is very capable</li>
</ul>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Cons:</h3>



<ul class="wp-block-list">
<li>Runs <strong>after</strong> traffic hits your web server (uses PHP resources)</li>



<li>Can slow down sites on low-powered shared hosting</li>
</ul>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Best for:</h3>



<p class="wp-block-paragraph">Tech-savvy WordPress users, self-hosted blogs, or users who want to see detailed logs and control every setting.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6e0.png" alt="🛠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Use Wordfence if you like to monitor every login attempt, block IPs manually, or receive email alerts when something goes wrong.</p>
</blockquote>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f50d.png" alt="🔍" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 4. MalCare – Smart, Cloud-Based Malware Scanning</h2>



<p class="wp-block-paragraph"><strong>MalCare</strong> offers a smart mix of plugin-based control with cloud scanning. It focuses on simplicity and automation, making it beginner-friendly.</p>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Pros:</h3>



<ul class="wp-block-list">
<li>Cloud-based scanning doesn’t stress your server</li>



<li>One-click malware removal (Premium)</li>



<li>Brute-force protection and login hardening</li>



<li>Beginner-friendly dashboard</li>
</ul>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Cons:</h3>



<ul class="wp-block-list">
<li>WAF not as advanced as Cloudflare or Sucuri</li>



<li>Free version limited in features</li>
</ul>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Best for:</h3>



<p class="wp-block-paragraph">Small business websites, freelancers, and non-technical WordPress users who want clean security with low overhead.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f46e.png" alt="👮" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 5. Astra Security – Sleek UI and Smart Protection</h2>



<p class="wp-block-paragraph"><strong>Astra Security</strong> is a newer player, offering a clean interface with comprehensive WAF, malware detection, and threat analytics.</p>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Pros:</h3>



<ul class="wp-block-list">
<li>Real-time WAF with machine learning</li>



<li>Easy to use, great UI</li>



<li>Also protects login pages, comment forms, and admin areas</li>
</ul>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Cons:</h3>



<ul class="wp-block-list">
<li>No free version</li>



<li>Not as widely battle-tested as Cloudflare or Wordfence</li>
</ul>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Best for:</h3>



<p class="wp-block-paragraph">Startups, agencies, and WooCommerce shops looking for smart security and good UX.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9fe.png" alt="🧾" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Comparison Table: At a Glance</h2>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>WAF</th><th>Type</th><th>Free Plan</th><th>CDN</th><th>Malware Scan</th><th>Ideal For</th></tr></thead><tbody><tr><td>Cloudflare</td><td>Cloud</td><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td><td>Speed, DDoS, passive protection</td></tr><tr><td>Sucuri</td><td>Cloud</td><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td><td>High-security, hacked sites</td></tr><tr><td>Wordfence</td><td>Plugin</td><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td><td>Tech users, real-time visibility</td></tr><tr><td>MalCare</td><td>Hybrid</td><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> (cloud)</td><td>Beginners, low-maintenance sites</td></tr><tr><td>Astra Security</td><td>Cloud</td><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td><td>Agencies, WooCommerce</td></tr></tbody></table></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9e0.png" alt="🧠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> My Personal Recommendation</h2>



<p class="wp-block-paragraph">After years of managing WordPress sites (including this one), my ideal setup for 2025 is:</p>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f510.png" alt="🔐" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Cloudflare Free + Wordfence Free</strong></h3>



<ul class="wp-block-list">
<li>Cloudflare blocks bad traffic before it hits your server</li>



<li>Wordfence monitors everything inside your WordPress instance</li>
</ul>



<p class="wp-block-paragraph">It’s a <strong>layered defense</strong>, and the cost is <strong>zero</strong>, unless you upgrade either service.</p>



<p class="wp-block-paragraph">For critical or business websites, I recommend upgrading to either:</p>



<ul class="wp-block-list">
<li><strong>Cloudflare Pro</strong> ($20/mo) – adds more advanced firewall rules</li>



<li><strong>Sucuri Basic Plan</strong> ($199/year) – adds cleanup and expert support</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4e6.png" alt="📦" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Bonus Tips for Better WordPress Security</h2>



<ul class="wp-block-list">
<li>Always keep <strong>WordPress, plugins, and themes updated</strong></li>



<li>Use <strong>strong passwords</strong> and 2FA for logins</li>



<li>Disable XML-RPC unless needed</li>



<li>Limit login attempts (Wordfence can help with this)</li>



<li>Backup your site regularly (UpdraftPlus, JetBackup, etc.)</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/270d.png" alt="✍" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Final Thoughts</h2>



<p class="wp-block-paragraph">A good WAF is <strong>not a luxury—it’s a necessity</strong>. Whether you’re blogging about amateur radio, running an online shop, or managing a portfolio, your WordPress site is vulnerable by default. Don’t wait for an attack to realize the importance of security.</p>



<p class="wp-block-paragraph">Choose a WAF that fits your needs and budget. Even a <strong>free combo like Cloudflare + Wordfence</strong> can make a world of difference.</p>



<p class="wp-block-paragraph">Stay safe, secure your site, and keep creating awesome content.</p>
<p>The post <a href="https://hamradio.my/2025/06/choosing-the-best-web-application-firewall-waf-for-your-wordpress-site/">Choosing the Best Web Application Firewall (WAF) for Your WordPress Site</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://hamradio.my/2025/06/choosing-the-best-web-application-firewall-waf-for-your-wordpress-site/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>0 A.D. on Linux: A Stunning, Free RTS Experience That Rivals the Best</title>
		<link>https://hamradio.my/2025/06/0-a-d-on-linux-a-stunning-free-rts-experience-that-rivals-the-best/</link>
					<comments>https://hamradio.my/2025/06/0-a-d-on-linux-a-stunning-free-rts-experience-that-rivals-the-best/#comments</comments>
		
		<dc:creator><![CDATA[9M2PJU]]></dc:creator>
		<pubDate>Sun, 01 Jun 2025 16:14:40 +0000</pubDate>
				<category><![CDATA[archlinux]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[free open source software]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[linux desktop]]></category>
		<category><![CDATA[linux gaming]]></category>
		<category><![CDATA[0AD]]></category>
		<category><![CDATA[Al3abIstratejiya]]></category>
		<category><![CDATA[Al3abLinux]]></category>
		<category><![CDATA[Al3abMajania]]></category>
		<category><![CDATA[Al3abOpenSource]]></category>
		<category><![CDATA[Al3abRTS]]></category>
		<category><![CDATA[BesplatnyeIgry]]></category>
		<category><![CDATA[CommunautéLinux]]></category>
		<category><![CDATA[ComunidadeLinux]]></category>
		<category><![CDATA[ComunidadLinux]]></category>
		<category><![CDATA[foss]]></category>
		<category><![CDATA[FOSSSpiele]]></category>
		<category><![CDATA[FreeGames]]></category>
		<category><![CDATA[GiochiGratis]]></category>
		<category><![CDATA[GiochiLinux]]></category>
		<category><![CDATA[GiochiOpenSource]]></category>
		<category><![CDATA[GiochiPC]]></category>
		<category><![CDATA[GiochiStrategia]]></category>
		<category><![CDATA[GiocoRTS]]></category>
		<category><![CDATA[HistoricalRTS]]></category>
		<category><![CDATA[IgryNaLinux]]></category>
		<category><![CDATA[indiegame]]></category>
		<category><![CDATA[JeuxGratuits]]></category>
		<category><![CDATA[JeuxIndépendants]]></category>
		<category><![CDATA[JeuxLibres]]></category>
		<category><![CDATA[JeuxLinux]]></category>
		<category><![CDATA[JeuxRTS]]></category>
		<category><![CDATA[JeuxStratégie]]></category>
		<category><![CDATA[JogosEstrategia]]></category>
		<category><![CDATA[JogosGratis]]></category>
		<category><![CDATA[JogosLinux]]></category>
		<category><![CDATA[JogosOpenSource]]></category>
		<category><![CDATA[JogosPC]]></category>
		<category><![CDATA[JogosRTS]]></category>
		<category><![CDATA[JuegoRTS]]></category>
		<category><![CDATA[JuegosAbiertos]]></category>
		<category><![CDATA[JuegosEstrategia]]></category>
		<category><![CDATA[JuegosGratis]]></category>
		<category><![CDATA[JuegosLinux]]></category>
		<category><![CDATA[JuegosPC]]></category>
		<category><![CDATA[Kaifangyuanma]]></category>
		<category><![CDATA[KomunitiLinux]]></category>
		<category><![CDATA[KostenloseSpiele]]></category>
		<category><![CDATA[linuxgaming]]></category>
		<category><![CDATA[LinuxSpiele]]></category>
		<category><![CDATA[LinuxYouxi]]></category>
		<category><![CDATA[Linux游戏]]></category>
		<category><![CDATA[MianfeiYouxi]]></category>
		<category><![CDATA[opensourcegames]]></category>
		<category><![CDATA[OpenSourceSpiele]]></category>
		<category><![CDATA[OtkrytyyKod]]></category>
		<category><![CDATA[PCGaming]]></category>
		<category><![CDATA[PCSpiele]]></category>
		<category><![CDATA[PCゲーム]]></category>
		<category><![CDATA[PC게임]]></category>
		<category><![CDATA[PermainanKomputer]]></category>
		<category><![CDATA[PermainanLinux]]></category>
		<category><![CDATA[PermainanPercuma]]></category>
		<category><![CDATA[PermainanRTS]]></category>
		<category><![CDATA[PermainanStrategi]]></category>
		<category><![CDATA[RTSgame]]></category>
		<category><![CDATA[RTSIgry]]></category>
		<category><![CDATA[RTSSpiel]]></category>
		<category><![CDATA[RTSゲーム]]></category>
		<category><![CDATA[RTS游戏]]></category>
		<category><![CDATA[RTS게임]]></category>
		<category><![CDATA[RTYouxi]]></category>
		<category><![CDATA[StrategicheskieIgry]]></category>
		<category><![CDATA[Strategiespiele]]></category>
		<category><![CDATA[StrategyGames]]></category>
		<category><![CDATA[SumberTerbuka]]></category>
		<category><![CDATA[Zhengceliyouxi]]></category>
		<category><![CDATA[オープンソースゲーム]]></category>
		<category><![CDATA[ストラテジーゲーム]]></category>
		<category><![CDATA[リアルタイムストラテジー]]></category>
		<category><![CDATA[免费游戏]]></category>
		<category><![CDATA[开源游戏]]></category>
		<category><![CDATA[日本語ゲーム]]></category>
		<category><![CDATA[無料ゲーム]]></category>
		<category><![CDATA[策略游戏]]></category>
		<category><![CDATA[리눅스게임]]></category>
		<category><![CDATA[무료게임]]></category>
		<category><![CDATA[오픈소스게임]]></category>
		<category><![CDATA[전략게임]]></category>
		<guid isPermaLink="false">https://hamradio.my/?p=7744</guid>

					<description><![CDATA[<p>If you’re a Linux user craving a real-time strategy (RTS) game with the polish of Age of Empires and the historical depth of a university textbook—yet entirely free and open source—then you need to try 0 A.D.. This epic project by Wildfire Games is not just an open-source alternative to mainstream RTS games—it&#8217;s a serious [&#8230;]</p>
<p>The post <a href="https://hamradio.my/2025/06/0-a-d-on-linux-a-stunning-free-rts-experience-that-rivals-the-best/">0 A.D. on Linux: A Stunning, Free RTS Experience That Rivals the Best</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading"></h1>



<p class="wp-block-paragraph">If you’re a Linux user craving a real-time strategy (RTS) game with the polish of <em>Age of Empires</em> and the historical depth of a university textbook—yet entirely <em>free</em> and <em>open source</em>—then you need to try <strong>0 A.D.</strong>. This epic project by <strong>Wildfire Games</strong> is not just an open-source alternative to mainstream RTS games—it&#8217;s a serious contender in its own right, crafted with passion, precision, and community spirit.</p>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f3ae.png" alt="🎮" class="wp-smiley" style="height: 1em; max-height: 1em;" /> What is 0 A.D.?</h2>



<p class="wp-block-paragraph"><strong>0 A.D. (Zero Anno Domini)</strong> is a <strong>free</strong>, <strong>open-source</strong>, <strong>cross-platform RTS game</strong> that takes players deep into ancient history, allowing them to build and battle with civilizations from 500 B.C. to 500 A.D. The game is built using the custom <strong>Pyrogenesis</strong> engine, a modern 3D engine developed from scratch for this purpose, and available under the GPL license—yes, you can even tinker with the code yourself.</p>



<p class="wp-block-paragraph">It’s not just a clone. 0 A.D. sets itself apart with:</p>



<ul class="wp-block-list">
<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6e1.png" alt="🛡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Historically accurate civilizations</strong></li>



<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f5fa.png" alt="🗺" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Dynamic and random map generation</strong></li>



<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2694.png" alt="⚔" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Tactical land and naval combat</strong></li>



<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f3d7.png" alt="🏗" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>City-building with tech progression</strong></li>



<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9e0.png" alt="🧠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>AI opponents and multiplayer support</strong></li>



<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4ac.png" alt="💬" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Modding tools and community-created content</strong></li>
</ul>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f427.png" alt="🐧" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Why It&#8217;s Perfect for Linux Users</h2>



<p class="wp-block-paragraph">Linux gamers often get the short end of the stick when it comes to big-name games—but 0 A.D. feels like it was made <em>for us</em>. Here’s why Linux users should care:</p>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2714.png" alt="✔" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Native Linux Support</h3>



<p class="wp-block-paragraph">0 A.D. runs natively on <strong>Linux</strong> without the need for Wine, Proton, or compatibility layers. You can install it directly from your distro’s package manager or build it from source if you like full control.</p>



<p class="wp-block-paragraph">For example:</p>



<pre class="wp-block-code"><code># On Debian/Ubuntu
sudo apt install 0ad

# On Arch Linux
sudo pacman -S 0ad

# On Fedora
sudo dnf install 0ad
</code></pre>



<p class="wp-block-paragraph">No weird dependencies. No workarounds. Just pure, native performance.</p>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f3a8.png" alt="🎨" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Vulkan Renderer and FSR Support</h3>



<p class="wp-block-paragraph">With <strong>Alpha 27 &#8220;Agni&#8221;</strong>, 0 A.D. now supports <strong>Vulkan</strong>, giving Linux users much better graphics performance, lower CPU overhead, and compatibility with modern GPU features. Plus, it includes <strong>AMD FidelityFX Super Resolution (FSR)</strong>—which boosts frame rates and visual quality even on low-end hardware.</p>



<p class="wp-block-paragraph">This makes 0 A.D. one of the few FOSS games optimized for modern Linux graphics stacks like <strong>Mesa</strong>, <strong>Wayland</strong>, and <strong>PipeWire</strong>.</p>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f504.png" alt="🔄" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Rolling Updates and Dev Engagement</h3>



<p class="wp-block-paragraph">The development team and community are highly active, with new features, bug fixes, and optimizations arriving steadily. You don’t need to wait years for meaningful updates—0 A.D. grows with each alpha release, and Linux users are treated as first-class citizens.</p>



<p class="wp-block-paragraph">Want to contribute a patch or translate the UI into Malay? You can. Everything is transparent and accessible.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f3db.png" alt="🏛" class="wp-smiley" style="height: 1em; max-height: 1em;" /> What Makes the Gameplay So Good?</h2>



<p class="wp-block-paragraph">Let’s dive deeper into why the gameplay itself shines.</p>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f3d7.png" alt="🏗" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Realistic Economy and Base Building</h3>



<p class="wp-block-paragraph">Unlike many fast-paced arcade RTS games, 0 A.D. rewards planning and resource management. You&#8217;ll manage four resources—<strong>food, wood, stone, and metal</strong>—to construct buildings, raise armies, and advance through <strong>phases</strong> that represent a civilization&#8217;s growth. Advancing from <strong>village phase to town phase to city phase</strong> unlocks more units and structures.</p>



<p class="wp-block-paragraph">Each civilization has unique architectural styles, tech trees, and military units. For example:</p>



<ul class="wp-block-list">
<li><strong>Romans</strong> have disciplined legionaries and siege weapons.</li>



<li><strong>Persians</strong> boast fast cavalry and majestic palaces.</li>



<li><strong>Athenians</strong> excel in naval warfare.</li>
</ul>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2694.png" alt="⚔" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Intense Tactical Combat</h3>



<p class="wp-block-paragraph">Units in 0 A.D. aren&#8217;t just damage sponges. There&#8217;s formation control, terrain advantage, flanking tactics, and unit counters. The AI behaves strategically, and in multiplayer, experienced players can pull off devastating maneuvers.</p>



<p class="wp-block-paragraph">Naval combat has received significant improvements recently, with better ship handling and water pathfinding—something many commercial RTS games still struggle with.</p>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f5fa.png" alt="🗺" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Endless Map Variety and Mod Support</h3>



<p class="wp-block-paragraph">0 A.D. includes:</p>



<ul class="wp-block-list">
<li>Skirmish maps</li>



<li>Random maps (with different biomes and elevation)</li>



<li>Scenario maps (with scripted events)</li>
</ul>



<p class="wp-block-paragraph">And thanks to the integrated <strong>mod downloader</strong>, you can browse, install, and play with community mods in just a few clicks. Want to add new units, tweak balance, or add fantasy elements? You can.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f579.png" alt="🕹" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Multiplayer and Replays</h2>



<p class="wp-block-paragraph">Play with friends over LAN, the Internet, or against the built-in AI. The game includes:</p>



<ul class="wp-block-list">
<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9ed.png" alt="🧭" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Multiplayer save and resume support</li>



<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f441.png" alt="👁" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Observer tools (with flares, commands, and overlays)</li>



<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/23ea.png" alt="⏪" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Replay functionality to study your tactics or cast tournaments</li>
</ul>



<p class="wp-block-paragraph">There’s even an in-game lobby where players coordinate matches across all platforms.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f465.png" alt="👥" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Community and Contribution</h2>



<p class="wp-block-paragraph">The 0 A.D. project thrives because of its community:</p>



<ul class="wp-block-list">
<li>Developers contribute code via GitHub.</li>



<li>Artists create stunning 3D models and animations.</li>



<li>Historians help ensure cultural accuracy.</li>



<li>Translators localize the game into dozens of languages.</li>



<li>Players write guides, tutorials, and strategy posts.</li>
</ul>



<p class="wp-block-paragraph">If you&#8217;re a Linux user and want to contribute to an ambitious FOSS project, this is the perfect gateway into game development, design, or open collaboration.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9d1-200d-1f4bb.png" alt="🧑‍💻" class="wp-smiley" style="height: 1em; max-height: 1em;" /> How to Install on Linux</h2>



<p class="wp-block-paragraph">Here’s a quick reference:</p>



<h3 class="wp-block-heading">Option 1: Package Manager (Recommended)</h3>



<ul class="wp-block-list">
<li><strong>Debian/Ubuntu</strong>: <code>sudo apt install 0ad</code></li>



<li><strong>Arch Linux</strong>: <code>sudo pacman -S 0ad</code></li>



<li><strong>Fedora</strong>: <code>sudo dnf install 0ad</code></li>



<li><strong>openSUSE</strong>: <code>sudo zypper install 0ad</code></li>
</ul>



<h3 class="wp-block-heading">Option 2: Compile from Source</h3>



<p class="wp-block-paragraph">Follow the official instructions at <a href="https://trac.wildfiregames.com/wiki/BuildInstructions">https://trac.wildfiregames.com/wiki/BuildInstructions</a></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f3af.png" alt="🎯" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Final Thoughts</h2>



<p class="wp-block-paragraph">0 A.D. is more than just a game—it’s a testament to what free and open-source software can achieve. For Linux gamers, it’s a rare gem: a game that respects your platform, performs well, and lets you own your experience entirely.</p>



<p class="wp-block-paragraph">So whether you&#8217;re a seasoned general or a curious strategist, <strong>download 0 A.D. today and relive history—on your terms</strong>.</p>



<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f449.png" alt="👉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Visit <a href="https://play0ad.com/">https://play0ad.com</a> to download and start playing.</p>
<p>The post <a href="https://hamradio.my/2025/06/0-a-d-on-linux-a-stunning-free-rts-experience-that-rivals-the-best/">0 A.D. on Linux: A Stunning, Free RTS Experience That Rivals the Best</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://hamradio.my/2025/06/0-a-d-on-linux-a-stunning-free-rts-experience-that-rivals-the-best/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Plank: The Minimalist Dock for a Clean Linux Desktop</title>
		<link>https://hamradio.my/2025/06/plank-the-minimalist-dock-for-a-clean-linux-desktop/</link>
					<comments>https://hamradio.my/2025/06/plank-the-minimalist-dock-for-a-clean-linux-desktop/#respond</comments>
		
		<dc:creator><![CDATA[9M2PJU]]></dc:creator>
		<pubDate>Sun, 01 Jun 2025 04:16:45 +0000</pubDate>
				<category><![CDATA[archlinux]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[free open source software]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[linux desktop]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[debianoS]]></category>
		<category><![CDATA[desktopenvironment]]></category>
		<category><![CDATA[dock]]></category>
		<category><![CDATA[lightweightdock]]></category>
		<category><![CDATA[linuxapps]]></category>
		<category><![CDATA[linuxcustomization]]></category>
		<category><![CDATA[linuxdesktop]]></category>
		<category><![CDATA[linuxsetup]]></category>
		<category><![CDATA[linuxui]]></category>
		<category><![CDATA[linuxuser]]></category>
		<category><![CDATA[minimalistlinux]]></category>
		<category><![CDATA[opendesktop]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[plank]]></category>
		<category><![CDATA[productivitytools]]></category>
		<category><![CDATA[themecustomization]]></category>
		<category><![CDATA[xfce]]></category>
		<guid isPermaLink="false">https://hamradio.my/?p=7721</guid>

					<description><![CDATA[<p>If you&#8217;re looking for a sleek, lightweight, and no-nonsense dock for your Linux desktop, Plank might just be your perfect match. Built for simplicity and performance, Plank provides just what you need — and nothing you don’t. 🌟 What is Plank? Plank is a minimalist dock designed for Linux desktop environments. Its goal is to [&#8230;]</p>
<p>The post <a href="https://hamradio.my/2025/06/plank-the-minimalist-dock-for-a-clean-linux-desktop/">Plank: The Minimalist Dock for a Clean Linux Desktop</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading"></h1>



<p class="wp-block-paragraph">If you&#8217;re looking for a sleek, lightweight, and no-nonsense dock for your Linux desktop, <strong>Plank</strong> might just be your perfect match. Built for simplicity and performance, Plank provides just what you need — and nothing you don’t.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f31f.png" alt="🌟" class="wp-smiley" style="height: 1em; max-height: 1em;" /> What is Plank?</h2>



<p class="wp-block-paragraph">Plank is a minimalist dock designed for Linux desktop environments. Its goal is to be the simplest dock on the planet. It&#8217;s lightweight, visually clean, and designed to stay out of your way while still being highly functional.</p>



<p class="wp-block-paragraph">Plank is also the core backend used by <strong>Docky</strong> (from version 3.0.0 onward), meaning it can be extended to create more feature-rich docks if needed — but Plank itself keeps things lean.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f527.png" alt="🔧" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Key Features</h2>



<ul class="wp-block-list">
<li><strong>Ultra Lightweight</strong>: Uses minimal system resources — great for low-end or older hardware.</li>



<li><strong>Minimal UI</strong>: No clutter, no distractions — just a beautiful dock.</li>



<li><strong>Extensible</strong>: Acts as a backend library for more advanced dock implementations.</li>



<li><strong>Theming Support</strong>: Easily change its appearance with custom themes.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6e0.png" alt="🛠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> How to Install Plank on Debian/Ubuntu</h2>



<p class="wp-block-paragraph">To install Plank on Debian-based distributions:</p>



<pre class="wp-block-code"><code>sudo add-apt-repository ppa:ricotz/docky
sudo apt-get update
sudo apt-get install plank
</code></pre>



<p class="wp-block-paragraph">Launch it by typing <code>plank</code> in a terminal or adding it to your startup applications.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f3a8.png" alt="🎨" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Customization with Themes</h2>



<p class="wp-block-paragraph">You can tweak Plank&#8217;s appearance using community-made themes.</p>



<ol class="wp-block-list">
<li>Download a theme from repositories like:
<ul class="wp-block-list">
<li><a href="https://github.com/erikdubois/plankthemes">erikdubois/plankthemes</a></li>



<li><a href="https://github.com/x64Bits/plank-themes">x64Bits/plank-themes</a></li>
</ul>
</li>



<li>Copy the theme to:
<ul class="wp-block-list">
<li><code>~/.local/share/plank/themes</code> (per user)</li>



<li>or <code>/usr/share/plank/themes</code> (system-wide)</li>
</ul>
</li>



<li>Open Plank settings by holding <strong>Ctrl + right-click</strong> on the dock, then choose your theme.</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9e0.png" alt="🧠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Final Thoughts</h2>



<p class="wp-block-paragraph">If you want a beautiful, no-frills dock for your Linux desktop, <strong>Plank</strong> nails the balance between functionality and simplicity. It just works — and looks good doing it.</p>



<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f449.png" alt="👉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Check out the source code or contribute at:<br><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f517.png" alt="🔗" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="https://github.com/ricotz/plank">github.com/ricotz/plank</a></p>
<p>The post <a href="https://hamradio.my/2025/06/plank-the-minimalist-dock-for-a-clean-linux-desktop/">Plank: The Minimalist Dock for a Clean Linux Desktop</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://hamradio.my/2025/06/plank-the-minimalist-dock-for-a-clean-linux-desktop/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Rediscover Classic RTS with OpenRA on Linux</title>
		<link>https://hamradio.my/2025/06/rediscover-classic-rts-with-openra-on-linux/</link>
					<comments>https://hamradio.my/2025/06/rediscover-classic-rts-with-openra-on-linux/#respond</comments>
		
		<dc:creator><![CDATA[9M2PJU]]></dc:creator>
		<pubDate>Sat, 31 May 2025 23:29:27 +0000</pubDate>
				<category><![CDATA[debian]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[free open source software]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[linux desktop]]></category>
		<category><![CDATA[linux gaming]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[appimage]]></category>
		<category><![CDATA[classicgames]]></category>
		<category><![CDATA[cnc]]></category>
		<category><![CDATA[commandandconquer]]></category>
		<category><![CDATA[dune2000]]></category>
		<category><![CDATA[flatpak]]></category>
		<category><![CDATA[gamedev]]></category>
		<category><![CDATA[indiegame]]></category>
		<category><![CDATA[linuxdesktop]]></category>
		<category><![CDATA[linuxgames]]></category>
		<category><![CDATA[linuxgaming]]></category>
		<category><![CDATA[modding]]></category>
		<category><![CDATA[openra]]></category>
		<category><![CDATA[opensourcegames]]></category>
		<category><![CDATA[redalert]]></category>
		<category><![CDATA[retrostrategy]]></category>
		<category><![CDATA[rts]]></category>
		<category><![CDATA[snapstore]]></category>
		<category><![CDATA[strategy]]></category>
		<category><![CDATA[tiberiandawn]]></category>
		<guid isPermaLink="false">https://hamradio.my/?p=7719</guid>

					<description><![CDATA[<p>If you&#8217;re a fan of real-time strategy (RTS) games and use Linux, OpenRA is a must-have. This open-source project breathes new life into classic Westwood titles like Command &#38; Conquer: Red Alert, Tiberian Dawn, and Dune 2000, offering modern enhancements while preserving the nostalgic gameplay. 🛠️ What Is OpenRA? OpenRA is a community-driven initiative that [&#8230;]</p>
<p>The post <a href="https://hamradio.my/2025/06/rediscover-classic-rts-with-openra-on-linux/">Rediscover Classic RTS with OpenRA on Linux</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">If you&#8217;re a fan of real-time strategy (RTS) games and use Linux, OpenRA is a must-have. This open-source project breathes new life into classic Westwood titles like <em>Command &amp; Conquer: Red Alert</em>, <em>Tiberian Dawn</em>, and <em>Dune 2000</em>, offering modern enhancements while preserving the nostalgic gameplay.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6e0.png" alt="🛠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> What Is OpenRA?</h3>



<p class="wp-block-paragraph">OpenRA is a community-driven initiative that reimagines classic RTS games for contemporary platforms. It&#8217;s not just a remake; it&#8217;s a complete overhaul that introduces:</p>



<ul class="wp-block-list">
<li><strong>Modernized Interfaces</strong>: Updated sidebars and controls for improved usability.</li>



<li><strong>Enhanced Gameplay Mechanics</strong>: Features like fog of war, unit veterancy, and attack-move commands.</li>



<li><strong>Cross-Platform Support</strong>: Runs seamlessly on Linux, Windows, macOS, and *BSD systems.</li>



<li><strong>Modding Capabilities</strong>: A built-in SDK allows for the creation of custom mods and maps.</li>
</ul>



<p class="wp-block-paragraph">These improvements ensure that both veterans and newcomers can enjoy a refined RTS experience.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Latest Features and Updates</h3>



<p class="wp-block-paragraph">The March 2025 release brought significant enhancements:</p>



<ul class="wp-block-list">
<li><strong>New Missions</strong>: Two additional <em>Red Alert</em> missions with improved objectives.</li>



<li><strong>Persistent Skirmish Options</strong>: Settings now carry over between matches.</li>



<li><strong>Balance Tweaks</strong>: Refinements for <em>Red Alert</em> and <em>Dune 2000</em> to ensure fair play.</li>



<li><strong>Asset Support</strong>: Compatibility with <em>The Ultimate Collection</em> and <em>C&amp;C Remastered Collection</em>.</li>



<li><strong>Language Support</strong>: Progress towards multilingual capabilities.</li>
</ul>



<p class="wp-block-paragraph">These updates demonstrate OpenRA&#8217;s commitment to evolving and enhancing the RTS genre.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9f0.png" alt="🧰" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Installation on Linux</h3>



<p class="wp-block-paragraph">Installing OpenRA on Linux is straightforward:</p>



<ol class="wp-block-list">
<li><strong>Download AppImages</strong>: Visit the <a href="https://www.openra.net/download/">official download page</a> to get the AppImage for your desired mod.</li>



<li><strong>Make Executable</strong>: Right-click the AppImage, select &#8216;Properties,&#8217; and enable execution permissions.</li>



<li><strong>Launch</strong>: Double-click the AppImage to start the game.</li>
</ol>



<p class="wp-block-paragraph">Alternatively, you can install OpenRA via:</p>



<ul class="wp-block-list">
<li><strong>Snap</strong>: <code>sudo snap install openra</code></li>



<li><strong>Flatpak</strong>: <code>flatpak install flathub net.openra.OpenRA</code></li>
</ul>



<p class="wp-block-paragraph">These methods ensure that OpenRA integrates smoothly with your system.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f31f.png" alt="🌟" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Why Choose OpenRA?</h3>



<p class="wp-block-paragraph">OpenRA stands out in the Linux gaming landscape due to:</p>



<ul class="wp-block-list">
<li><strong>Community Engagement</strong>: Regular updates and active forums foster a vibrant player base.</li>



<li><strong>Modding Scene</strong>: A robust SDK encourages creativity and customization.</li>



<li><strong>Cross-Platform Play</strong>: Enjoy multiplayer matches with friends on different operating systems.</li>



<li><strong>Educational Value</strong>: An in-game encyclopedia provides insights into units and strategies.</li>
</ul>



<p class="wp-block-paragraph">These features make OpenRA not just a game but a platform for learning and community interaction.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f3a5.png" alt="🎥" class="wp-smiley" style="height: 1em; max-height: 1em;" /> See OpenRA in Action</h3>



<p class="wp-block-paragraph">For a visual overview, check out this review:</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="OpenRA | Open Source Gaming Showcase" width="640" height="360" src="https://www.youtube.com/embed/J8nuDwqi8_Q?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f3c6.png" alt="🏆" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Other Notable Strategy Games for Linux</h3>



<p class="wp-block-paragraph">If you&#8217;re exploring more strategy titles, consider:</p>



<ul class="wp-block-list">
<li><strong>0 A.D.</strong>: A historical RTS focusing on ancient civilizations.</li>



<li><strong>The Battle for Wesnoth</strong>: A turn-based strategy game with a rich fantasy setting.</li>



<li><strong>Freeciv</strong>: A free Civilization-inspired game with extensive customization.</li>
</ul>



<p class="wp-block-paragraph">Each offers unique gameplay experiences and is well-supported on Linux platforms.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph">OpenRA exemplifies how classic games can be revitalized for modern audiences. Its blend of nostalgia and innovation makes it a standout choice for strategy enthusiasts on Linux.</p>
<p>The post <a href="https://hamradio.my/2025/06/rediscover-classic-rts-with-openra-on-linux/">Rediscover Classic RTS with OpenRA on Linux</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://hamradio.my/2025/06/rediscover-classic-rts-with-openra-on-linux/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Swap Partition vs Swap File on Linux: Everything You Need to Know</title>
		<link>https://hamradio.my/2025/05/swap-partition-vs-swap-file-on-linux-everything-you-need-to-know/</link>
					<comments>https://hamradio.my/2025/05/swap-partition-vs-swap-file-on-linux-everything-you-need-to-know/#respond</comments>
		
		<dc:creator><![CDATA[9M2PJU]]></dc:creator>
		<pubDate>Sat, 31 May 2025 07:52:08 +0000</pubDate>
				<category><![CDATA[debian]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[memory]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[swap]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[hamradio]]></category>
		<category><![CDATA[hibernation]]></category>
		<category><![CDATA[linuxblog]]></category>
		<category><![CDATA[linuxperformance]]></category>
		<category><![CDATA[linuxswap]]></category>
		<category><![CDATA[memorymanagement]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[swapfile]]></category>
		<category><![CDATA[swappartition]]></category>
		<category><![CDATA[SysAdmin]]></category>
		<category><![CDATA[zram]]></category>
		<category><![CDATA[zswap]]></category>
		<guid isPermaLink="false">https://hamradio.my/?p=7708</guid>

					<description><![CDATA[<p>When installing or managing a Linux system, one of the most debated topics is whether to use a swap partition or a swap file—or even use swap at all. In this post, we’ll go back to the origin of swap, explore why swap was needed, how modern systems use (or avoid) it, and the advantages [&#8230;]</p>
<p>The post <a href="https://hamradio.my/2025/05/swap-partition-vs-swap-file-on-linux-everything-you-need-to-know/">Swap Partition vs Swap File on Linux: Everything You Need to Know</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h3 class="wp-block-heading"></h3>



<p class="wp-block-paragraph">When installing or managing a Linux system, one of the most debated topics is whether to use a <strong>swap partition</strong> or a <strong>swap file</strong>—or even use swap at all.</p>



<p class="wp-block-paragraph">In this post, we’ll go back to the <strong>origin of swap</strong>, explore <strong>why swap was needed</strong>, how modern systems use (or avoid) it, and the <strong>advantages and disadvantages</strong> of both swap partitions and swap files.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f504.png" alt="🔄" class="wp-smiley" style="height: 1em; max-height: 1em;" /> What is Swap?</h2>



<p class="wp-block-paragraph"><strong>Swap</strong> is disk space used by the operating system when <strong>physical RAM is full</strong>. It acts as an extension of RAM to allow the system to offload memory pages that are <strong>not immediately needed</strong>, keeping critical applications running smoothly.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9d3.png" alt="🧓" class="wp-smiley" style="height: 1em; max-height: 1em;" /> The Origin of Swap</h2>



<p class="wp-block-paragraph">Swap originated in the early days of computing, when:</p>



<ul class="wp-block-list">
<li>RAM was expensive and limited.</li>



<li>Storage (although slower) was more plentiful.</li>



<li>Systems needed a way to “extend” memory to run more processes than RAM allowed.</li>
</ul>



<p class="wp-block-paragraph">Unix systems implemented <strong>swap space</strong> as a way to avoid running out of memory entirely—this idea carried over to Linux.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9e0.png" alt="🧠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Why You Might Still Need Swap Today</h2>



<p class="wp-block-paragraph">Even with modern hardware, swap still has roles:</p>



<ol class="wp-block-list">
<li><strong>Prevent Out of Memory (OOM) crashes</strong>: If your system runs out of RAM, swap provides a safety net.</li>



<li><strong>Hibernation (suspend-to-disk)</strong>: Requires swap equal to or greater than your RAM size.</li>



<li><strong>Memory balancing</strong>: Swap allows the kernel to move idle pages out of RAM, freeing up space for active applications or disk cache.</li>



<li><strong>Low-memory devices</strong>: On systems like Raspberry Pi or small VPS servers, swap helps compensate for limited RAM.</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f937.png" alt="🤷" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Why You Might Not Need Swap</h2>



<p class="wp-block-paragraph">On the other hand:</p>



<ol class="wp-block-list">
<li><strong>Lots of RAM</strong>: If your system rarely uses all available memory, swap may never be touched.</li>



<li><strong>SSD wear concerns</strong>: Excessive swapping can reduce SSD lifespan (though this is largely exaggerated with modern SSDs).</li>



<li><strong>Performance-critical applications</strong>: Swap is much slower than RAM. If you&#8217;re running performance-sensitive workloads, using swap can be a bottleneck.</li>



<li><strong>Modern alternatives</strong>: Features like <strong>zram</strong> and <strong>zswap</strong> offer compressed RAM swap spaces, reducing or eliminating the need for disk-based swap.</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f5c3.png" alt="🗃" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Swap Partition</h2>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2714.png" alt="✔" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Advantages</h3>



<ul class="wp-block-list">
<li><strong>Stability</strong>: Less prone to fragmentation.</li>



<li><strong>Predictable performance</strong>: Constant location on disk can be slightly faster on spinning HDDs.</li>



<li><strong>Used by default in many legacy systems</strong>.</li>



<li><strong>Can be used even if root filesystem becomes read-only</strong>.</li>
</ul>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Disadvantages</h3>



<ul class="wp-block-list">
<li><strong>Inflexible size</strong>: Hard to resize without repartitioning.</li>



<li><strong>Occupies a dedicated partition</strong>: Not space-efficient, especially on SSDs.</li>



<li><strong>Inconvenient for virtualized or cloud instances</strong>.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4c1.png" alt="📁" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Swap File</h2>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2714.png" alt="✔" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Advantages</h3>



<ul class="wp-block-list">
<li><strong>Flexible</strong>: Easy to resize or remove.</li>



<li><strong>No need for a separate partition</strong>.</li>



<li><strong>Supported by all modern Linux kernels (since 2.6)</strong>.</li>



<li><strong>Works well with most filesystems including ext4, XFS, Btrfs (with limitations)</strong>.</li>
</ul>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Disadvantages</h3>



<ul class="wp-block-list">
<li><strong>Can be slower</strong> on heavily fragmented file systems.</li>



<li><strong>Doesn’t work with hibernation on some setups</strong>.</li>



<li><strong>Needs correct permissions and configuration</strong> (e.g., no copy-on-write or compression with Btrfs unless configured properly).</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9ea.png" alt="🧪" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Performance Considerations</h2>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Criteria</th><th>Swap Partition</th><th>Swap File</th></tr></thead><tbody><tr><td>Resize Flexibility</td><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Hard</td><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Easy</td></tr><tr><td>Setup Complexity</td><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a0.png" alt="⚠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Medium</td><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Easy</td></tr><tr><td>Performance (HDD)</td><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Slightly better</td><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a0.png" alt="⚠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Slightly worse</td></tr><tr><td>Performance (SSD)</td><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2696.png" alt="⚖" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Similar</td><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2696.png" alt="⚖" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Similar</td></tr><tr><td>Works with Hibernate</td><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Yes</td><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a0.png" alt="⚠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Depends on setup</td></tr><tr><td>Dynamic Management</td><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Manual</td><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Resizable on-the-fly</td></tr></tbody></table></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6e0.png" alt="🛠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> When to Use What?</h2>



<h3 class="wp-block-heading">Use a <strong>Swap Partition</strong> if:</h3>



<ul class="wp-block-list">
<li>You’re setting up a traditional desktop or dual-boot Linux system.</li>



<li>You plan to use <strong>hibernation</strong> reliably.</li>



<li>You prefer separating system components into strict partitions.</li>
</ul>



<h3 class="wp-block-heading">Use a <strong>Swap File</strong> if:</h3>



<ul class="wp-block-list">
<li>You’re on a <strong>modern system</strong> with lots of RAM and SSD.</li>



<li>You want to add swap after install easily.</li>



<li>You’re using <strong>cloud or VPS environments</strong> with flexible resources.</li>



<li>You don’t plan to use hibernation.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Bonus: zram and zswap</h2>



<p class="wp-block-paragraph">Modern Linux kernels support <strong>zram</strong> and <strong>zswap</strong>, which compress memory pages before swapping to disk:</p>



<ul class="wp-block-list">
<li><strong>zram</strong> creates a compressed RAM-based block device as swap.</li>



<li><strong>zswap</strong> is a compressed cache for swap pages before writing to disk.</li>
</ul>



<p class="wp-block-paragraph">These are great for <strong>low-memory systems</strong> like Raspberry Pi or embedded devices.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9fe.png" alt="🧾" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Conclusion</h2>



<p class="wp-block-paragraph">Swap is not dead—it’s evolved.</p>



<p class="wp-block-paragraph">Whether you choose a <strong>swap partition</strong> or a <strong>swap file</strong> depends on your needs:</p>



<ul class="wp-block-list">
<li>Flexibility? Go for <strong>swap file</strong>.</li>



<li>Predictability and hibernation? Use a <strong>swap partition</strong>.</li>



<li>Want better performance with low RAM? Consider <strong>zram</strong>.</li>
</ul>



<p class="wp-block-paragraph">As always with Linux, the choice is yours—and that’s the power of open systems.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> TL;DR</h3>



<ul class="wp-block-list">
<li><strong>Swap partition</strong>: Reliable, but rigid.</li>



<li><strong>Swap file</strong>: Flexible and modern.</li>



<li><strong>No swap</strong>: Fine if you have lots of RAM and don’t use hibernation.</li>



<li><strong>zram/zswap</strong>: Smart memory compression alternatives.</li>
</ul>
<p>The post <a href="https://hamradio.my/2025/05/swap-partition-vs-swap-file-on-linux-everything-you-need-to-know/">Swap Partition vs Swap File on Linux: Everything You Need to Know</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://hamradio.my/2025/05/swap-partition-vs-swap-file-on-linux-everything-you-need-to-know/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Exploring gLinux: Google’s In-House Debian-Based Operating System</title>
		<link>https://hamradio.my/2025/05/exploring-glinux-googles-in-house-debian-based-operating-system/</link>
					<comments>https://hamradio.my/2025/05/exploring-glinux-googles-in-house-debian-based-operating-system/#respond</comments>
		
		<dc:creator><![CDATA[9M2PJU]]></dc:creator>
		<pubDate>Sat, 31 May 2025 07:01:49 +0000</pubDate>
				<category><![CDATA[debian]]></category>
		<category><![CDATA[free open source software]]></category>
		<category><![CDATA[free operating system]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[linux desktop]]></category>
		<category><![CDATA[linux server]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[customlinux]]></category>
		<category><![CDATA[cybersecurity]]></category>
		<category><![CDATA[debianlinux]]></category>
		<category><![CDATA[developerlife]]></category>
		<category><![CDATA[devops]]></category>
		<category><![CDATA[enterpriseit]]></category>
		<category><![CDATA[foss]]></category>
		<category><![CDATA[glinux]]></category>
		<category><![CDATA[googletech]]></category>
		<category><![CDATA[linuxdesktop]]></category>
		<category><![CDATA[linuxdistro]]></category>
		<category><![CDATA[linuxos]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[softwareengineering]]></category>
		<category><![CDATA[SysAdmin]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[TechBlog]]></category>
		<guid isPermaLink="false">https://hamradio.my/?p=7686</guid>

					<description><![CDATA[<p>In the world of tech giants, custom tools and platforms are often developed in-house to meet unique needs at scale. One such example is gLinux, Google’s internal Linux distribution, tailored specifically for the company&#8217;s engineering workflows and infrastructure. While it’s not available to the public, gLinux plays a critical role in powering the work of [&#8230;]</p>
<p>The post <a href="https://hamradio.my/2025/05/exploring-glinux-googles-in-house-debian-based-operating-system/">Exploring gLinux: Google’s In-House Debian-Based Operating System</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading"></h1>



<p class="wp-block-paragraph">In the world of tech giants, custom tools and platforms are often developed in-house to meet unique needs at scale. One such example is <strong>gLinux</strong>, Google’s internal Linux distribution, tailored specifically for the company&#8217;s engineering workflows and infrastructure. While it’s not available to the public, gLinux plays a critical role in powering the work of thousands of Googlers worldwide.</p>



<p class="wp-block-paragraph">Let’s dive deep into the origin, evolution, advantages, and usage of gLinux to understand why Google made the switch and how it leverages the power of open-source Linux in its operations.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4dc.png" alt="📜" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Origin and History</h2>



<p class="wp-block-paragraph">Before gLinux, Google engineers used a Linux distribution called <strong>Goobuntu</strong>—a customized version of <strong>Ubuntu LTS</strong> (Long Term Support). Goobuntu was maintained internally and closely followed Ubuntu&#8217;s upstream releases, offering the stability and security required for large-scale engineering work. However, it had some limitations, particularly in terms of <strong>release cycles</strong> and <strong>package control</strong>.</p>



<p class="wp-block-paragraph">In 2018, Google publicly revealed that it had begun transitioning from Goobuntu to a new internal distribution: <strong>gLinux</strong>. This new system was based on <strong>Debian Testing</strong>, chosen for its balance between cutting-edge features and system stability.</p>



<h3 class="wp-block-heading">Timeline of Events:</h3>



<ul class="wp-block-list">
<li><strong>Pre-2010s</strong>: Google internally adopts Ubuntu LTS and customizes it into Goobuntu.</li>



<li><strong>2012–2017</strong>: Goobuntu evolves with each new LTS release, but internal friction with Ubuntu&#8217;s release cadence begins to show.</li>



<li><strong>2018</strong>: Google announces its shift to gLinux, built on Debian Testing.</li>



<li><strong>Post-2018</strong>: gLinux becomes the standard desktop OS for Google engineers, with updates and packages managed through a custom internal build system.</li>
</ul>



<p class="wp-block-paragraph">This move also reflected Google’s broader support for the Debian community and allowed greater control over updates, security, and tooling.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Why the Switch? Goobuntu vs. gLinux</h2>



<p class="wp-block-paragraph">Here are some of the core reasons why Google replaced Goobuntu with gLinux:</p>



<h3 class="wp-block-heading">1. <strong>More Predictable Upgrade Path</strong></h3>



<p class="wp-block-paragraph">Ubuntu’s release cycle meant that Google had to perform large-scale migrations every two years. Debian Testing, in contrast, allows for <strong>rolling updates</strong>, which are easier to manage incrementally.</p>



<h3 class="wp-block-heading">2. <strong>Greater Flexibility and Control</strong></h3>



<p class="wp-block-paragraph">Debian gives Google more control over its packages and dependencies. With gLinux, Google can apply custom patches, test packages internally, and push updates as needed—<strong>without waiting for upstream Ubuntu changes</strong>.</p>



<h3 class="wp-block-heading">3. <strong>Security and Compliance</strong></h3>



<p class="wp-block-paragraph">With a custom Debian base, gLinux could be tailored to meet strict internal security standards. This includes features like secure boot, sandboxed applications, and custom kernel modules.</p>



<h3 class="wp-block-heading">4. <strong>Alignment with Upstream Open Source</strong></h3>



<p class="wp-block-paragraph">Google has a long-standing relationship with open-source communities. Debian’s transparent development and packaging philosophy made it a better match for Google’s collaborative approach.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2699.png" alt="⚙" class="wp-smiley" style="height: 1em; max-height: 1em;" /> How gLinux Works Internally</h2>



<p class="wp-block-paragraph">While the exact details of gLinux’s architecture and infrastructure are proprietary, some high-level features are known:</p>



<ul class="wp-block-list">
<li><strong>Based on Debian Testing</strong>: It pulls from the Debian Testing branch, allowing for a balance of new features and reasonable stability.</li>



<li><strong>Custom Internal Tooling</strong>: Google uses its own build systems to manage, test, and deploy gLinux packages.</li>



<li><strong>Tight Integration with Google’s Workspace</strong>: Everything from developer tools to secure network access is configured and maintained through gLinux-specific policies.</li>



<li><strong>Support for Internal Software Development</strong>: gLinux is optimized for Google’s software stack, including tools for coding, code reviews, builds, and containerization.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Advantages of gLinux</h2>



<p class="wp-block-paragraph">Here are some of the key benefits of gLinux as seen internally at Google:</p>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f510.png" alt="🔐" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Enhanced Security</h3>



<p class="wp-block-paragraph">gLinux is hardened to comply with Google’s internal security policies. This includes kernel-level protections, patch management, encryption, and advanced access controls.</p>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Faster and Flexible Updates</h3>



<p class="wp-block-paragraph">By using Debian Testing and an internal update mechanism, gLinux allows Google to push out security patches and software upgrades quickly without being tied to third-party timelines.</p>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6e0.png" alt="🛠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Optimized Developer Experience</h3>



<p class="wp-block-paragraph">gLinux comes preloaded with Google&#8217;s development environment tools, code review systems, and internal APIs—ready to go out of the box.</p>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9e9.png" alt="🧩" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Modular and Customizable</h3>



<p class="wp-block-paragraph">Google engineers can request and deploy specific packages, and gLinux supports modular installations for different roles—whether it’s frontend development, backend infrastructure, or machine learning research.</p>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f331.png" alt="🌱" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Open Source Friendly</h3>



<p class="wp-block-paragraph">Because Debian is a fully community-driven project, Google benefits from a robust and widely supported ecosystem—while also contributing fixes and enhancements back to Debian in some cases.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9f0.png" alt="🧰" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Usage and Deployment</h2>



<p class="wp-block-paragraph">gLinux is used across Google by thousands of employees, particularly software engineers and infrastructure developers. It powers:</p>



<ul class="wp-block-list">
<li><strong>Workstations and laptops</strong> for developers.</li>



<li><strong>Build environments</strong> for large-scale codebases.</li>



<li><strong>Testing and automation frameworks</strong> for QA and CI/CD.</li>



<li><strong>Internal security scanning</strong> and policy enforcement systems.</li>
</ul>



<p class="wp-block-paragraph">It’s important to note that <strong>gLinux is not meant for production servers</strong>—Google uses other systems like <strong>gVisor</strong>, <strong>Borg</strong>, and containerized environments for running its services at scale.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f512.png" alt="🔒" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Is gLinux Available to the Public?</h2>



<p class="wp-block-paragraph">No, <strong>gLinux is strictly an internal operating system</strong>. Unlike Ubuntu or Debian, you can&#8217;t download gLinux or install it on your own machine. It&#8217;s built to interface with Google’s internal tools and infrastructure, making it unsuitable for general use outside the company.</p>



<p class="wp-block-paragraph">That said, Google’s choice to base it on Debian means that some of their contributions may benefit the wider Debian community over time.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9e9.png" alt="🧩" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Conclusion</h2>



<p class="wp-block-paragraph">While gLinux remains hidden behind Google’s walls, it represents a powerful example of how large organizations can adapt open-source software to meet enterprise-scale demands. By choosing Debian over Ubuntu, Google prioritized long-term flexibility, internal control, and deeper open-source alignment.</p>



<p class="wp-block-paragraph">For Linux enthusiasts and enterprise IT architects, gLinux is a testament to the power of customizing open-source platforms for specific organizational needs. It might not be available to the public—but its influence on how Linux can scale in enterprise environments is undeniable.</p>
<p>The post <a href="https://hamradio.my/2025/05/exploring-glinux-googles-in-house-debian-based-operating-system/">Exploring gLinux: Google’s In-House Debian-Based Operating System</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://hamradio.my/2025/05/exploring-glinux-googles-in-house-debian-based-operating-system/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Essential Linux Commands Every System Administrator Should Know</title>
		<link>https://hamradio.my/2025/05/essential-linux-commands-every-system-administrator-should-know/</link>
					<comments>https://hamradio.my/2025/05/essential-linux-commands-every-system-administrator-should-know/#respond</comments>
		
		<dc:creator><![CDATA[9M2PJU]]></dc:creator>
		<pubDate>Sat, 31 May 2025 06:48:10 +0000</pubDate>
				<category><![CDATA[archlinux]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[free operating system]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[ubuntu server]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[commandline]]></category>
		<category><![CDATA[cybersecurity]]></category>
		<category><![CDATA[devops]]></category>
		<category><![CDATA[infosec]]></category>
		<category><![CDATA[itadmin]]></category>
		<category><![CDATA[itops]]></category>
		<category><![CDATA[linuxadmin]]></category>
		<category><![CDATA[linuxbasics]]></category>
		<category><![CDATA[linuxcommands]]></category>
		<category><![CDATA[linuxserver]]></category>
		<category><![CDATA[networking]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[scripting]]></category>
		<category><![CDATA[servermanagement]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[SysAdmin]]></category>
		<category><![CDATA[systemadministration]]></category>
		<category><![CDATA[systemmonitoring]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[terminal]]></category>
		<guid isPermaLink="false">https://hamradio.my/?p=7668</guid>

					<description><![CDATA[<p>As a system administrator, mastering the command line is critical. Whether you&#8217;re maintaining servers, managing users, monitoring performance, or securing your system, knowing the right tools can make your job faster, easier, and more efficient. Here’s a comprehensive list of the most important Linux commands every sysadmin should know — organized by category, explained in [&#8230;]</p>
<p>The post <a href="https://hamradio.my/2025/05/essential-linux-commands-every-system-administrator-should-know/">Essential Linux Commands Every System Administrator Should Know</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading"></h2>



<p class="wp-block-paragraph">As a system administrator, mastering the command line is critical. Whether you&#8217;re maintaining servers, managing users, monitoring performance, or securing your system, knowing the right tools can make your job faster, easier, and more efficient.</p>



<p class="wp-block-paragraph">Here’s a comprehensive list of the <strong>most important Linux commands</strong> every sysadmin should know — organized by category, explained in plain language, and ready to turn you into a command-line ninja <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f977.png" alt="🥷" class="wp-smiley" style="height: 1em; max-height: 1em;" />.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f5a5.png" alt="🖥" class="wp-smiley" style="height: 1em; max-height: 1em;" /> System Monitoring &amp; Performance</h3>



<p class="wp-block-paragraph">Keeping your system healthy starts with knowing what’s going on behind the scenes.</p>



<ul class="wp-block-list">
<li><strong><code>top</code> / <code>htop</code></strong><br>View real-time system processes, CPU, and memory usage.<br><code>htop</code> is an enhanced version of <code>top</code> with a cleaner UI.</li>



<li><strong><code>uptime</code></strong><br>Shows how long the system has been running and the average load.</li>



<li><strong><code>vmstat</code></strong><br>Displays information about memory, processes, I/O, and CPU.</li>



<li><strong><code>iostat</code></strong><br>Useful for monitoring disk I/O stats and CPU load.</li>



<li><strong><code>free -h</code></strong><br>Human-readable memory usage summary (RAM + swap).</li>



<li><strong><code>sar</code></strong><br>Historical system activity reports — useful for spotting trends.</li>



<li><strong><code>ps aux</code></strong><br>List all running processes with their CPU and memory usage.</li>



<li><strong><code>lsof</code></strong><br>List open files. Great for checking what&#8217;s locking a file or port.</li>



<li><strong><code>strace</code></strong><br>Debugging tool to trace system calls and signals.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4c1.png" alt="📁" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Filesystem &amp; Disk Usage</h3>



<p class="wp-block-paragraph">Disk space issues are common — be ready to investigate and clean up.</p>



<ul class="wp-block-list">
<li><strong><code>df -h</code></strong><br>Shows disk usage for all mounted filesystems in human-readable form.</li>



<li><strong><code>du -sh *</code></strong><br>Quickly estimate the size of directories/files in the current folder.</li>



<li><strong><code>lsblk</code></strong><br>Displays block devices and their mount points.</li>



<li><strong><code>mount</code> / <code>umount</code></strong><br>Mount or unmount filesystems.</li>



<li><strong><code>fdisk -l</code> / <code>parted -l</code></strong><br>Inspect disk partitions.</li>



<li><strong><code>blkid</code></strong><br>Shows UUIDs and labels of block devices — handy for <code>/etc/fstab</code>.</li>



<li><strong><code>find / -name filename</code></strong><br>Searches the entire system for a file.</li>



<li><strong><code>file</code></strong><br>Determines a file&#8217;s type — especially useful for unknown extensions.</li>



<li><strong><code>stat</code></strong><br>Displays detailed file metadata including timestamps and permissions.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9d1-200d-1f4bb.png" alt="🧑‍💻" class="wp-smiley" style="height: 1em; max-height: 1em;" /> User &amp; Permission Management</h3>



<p class="wp-block-paragraph">Managing users and access rights is at the heart of system security.</p>



<ul class="wp-block-list">
<li><strong><code>adduser</code> / <code>useradd</code></strong><br>Create new users (note: <code>adduser</code> is more user-friendly).</li>



<li><strong><code>passwd</code></strong><br>Set or change a user’s password.</li>



<li><strong><code>usermod</code></strong><br>Modify a user’s attributes, like group or shell.</li>



<li><strong><code>deluser</code> / <code>userdel</code></strong><br>Remove users from the system.</li>



<li><strong><code>groupadd</code>, <code>groupdel</code>, <code>gpasswd</code></strong><br>Manage user groups.</li>



<li><strong><code>chmod</code></strong><br>Change file permissions (e.g. <code>chmod 755</code>).</li>



<li><strong><code>chown</code> / <code>chgrp</code></strong><br>Change file owner or group.</li>



<li><strong><code>id</code></strong><br>Show a user’s UID, GID, and group memberships.</li>



<li><strong><code>who</code>, <code>w</code>, <code>last</code></strong><br>Show active users and login history.</li>



<li><strong><code>sudo</code></strong><br>Run commands with elevated (root) privileges.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f310.png" alt="🌐" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Networking</h3>



<p class="wp-block-paragraph">Networking is critical on any server. These tools help diagnose and configure network connections.</p>



<ul class="wp-block-list">
<li><strong><code>ip a</code> / <code>ip link</code></strong><br>Show all network interfaces and IP addresses.</li>



<li><strong><code>ip r</code></strong><br>View the routing table.</li>



<li><strong><code>ss -tuln</code></strong> / <strong><code>netstat -tuln</code></strong><br>Show open ports and listening services.</li>



<li><strong><code>ping</code> / <code>traceroute</code></strong><br>Test network connectivity and route paths.</li>



<li><strong><code>dig</code> / <code>nslookup</code></strong><br>Perform DNS lookups to debug name resolution.</li>



<li><strong><code>curl</code> / <code>wget</code></strong><br>Download files or make web/API requests from the command line.</li>



<li><strong><code>nmap</code></strong><br>Network scanner for discovering hosts and open ports.</li>



<li><strong><code>tcpdump</code></strong><br>Capture and inspect network packets.</li>



<li><strong><code>hostname</code></strong><br>View or set the system’s hostname.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f510.png" alt="🔐" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Security &amp; Access Control</h3>



<p class="wp-block-paragraph">Security is non-negotiable. These commands help you lock things down.</p>



<ul class="wp-block-list">
<li><strong><code>ufw</code></strong> / <strong><code>iptables</code></strong><br>Configure and manage firewall rules.</li>



<li><strong><code>fail2ban-client</code></strong><br>Control Fail2Ban — protects against brute-force attacks.</li>



<li><strong><code>auditctl</code>, <code>ausearch</code></strong><br>View or search audit logs to monitor system access.</li>



<li><strong><code>getenforce</code>, <code>setenforce</code></strong><br>Manage SELinux modes.</li>



<li><strong><code>ssh</code> / <code>sshd</code></strong><br>Secure shell access and SSH server management.</li>



<li><strong><code>scp</code>, <code>rsync</code></strong><br>Securely copy files between systems.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4e6.png" alt="📦" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Package Management</h3>



<p class="wp-block-paragraph">Installing and managing software is essential. Use the right tool based on your distro:</p>



<h4 class="wp-block-heading">Debian/Ubuntu</h4>



<ul class="wp-block-list">
<li><code>apt</code>, <code>dpkg</code>, <code>apt-cache</code></li>
</ul>



<h4 class="wp-block-heading">RedHat/CentOS</h4>



<ul class="wp-block-list">
<li><code>yum</code>, <code>dnf</code>, <code>rpm</code></li>
</ul>



<h4 class="wp-block-heading">Arch Linux</h4>



<ul class="wp-block-list">
<li><code>pacman</code></li>
</ul>



<h4 class="wp-block-heading">Universal</h4>



<ul class="wp-block-list">
<li><code>snap</code>, <code>flatpak</code></li>
</ul>



<p class="wp-block-paragraph">Examples:</p>



<pre class="wp-block-code"><code>apt update &amp;&amp; apt upgrade
dnf install nginx
pacman -S htop
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6e0.png" alt="🛠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> System Maintenance &amp; Logs</h3>



<p class="wp-block-paragraph">Keep your system running smoothly by managing services and watching logs.</p>



<ul class="wp-block-list">
<li><strong><code>journalctl</code></strong><br>View <code>systemd</code> logs.</li>



<li><strong><code>dmesg</code></strong><br>Kernel ring buffer — shows hardware and boot messages.</li>



<li><strong><code>systemctl</code></strong><br>Manage services on <code>systemd</code> systems (start, stop, enable, etc.).</li>



<li><strong><code>service</code></strong><br>Older init-based service management.</li>



<li><strong><code>crontab -e</code></strong><br>Edit scheduled tasks (cron jobs).</li>



<li><strong><code>at</code></strong><br>Run one-off tasks at a specific time.</li>



<li><strong><code>logrotate</code></strong><br>Manages log file rotation to prevent disk overuse.</li>



<li><strong><code>shutdown</code>, <code>reboot</code></strong><br>Schedule or perform system reboots/shutdowns.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f504.png" alt="🔄" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Backup &amp; Automation</h3>



<p class="wp-block-paragraph">Protect data and automate your tasks for efficiency.</p>



<ul class="wp-block-list">
<li><strong><code>rsync -avh</code></strong><br>Sync directories or backup data.</li>



<li><strong><code>tar -czf archive.tar.gz folder/</code></strong><br>Create compressed archive.</li>



<li><strong><code>scp user@host:file .</code></strong><br>Secure file copy over SSH.</li>



<li><strong><code>cron</code>, <code>anacron</code></strong><br>Automate repetitive tasks.</li>



<li><strong><code>bash</code> / <code>sh</code></strong><br>Write scripts to automate system administration tasks.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4ce.png" alt="📎" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Bonus Tools &amp; Utilities</h3>



<ul class="wp-block-list">
<li><strong><code>tmux</code> / <code>screen</code></strong><br>Terminal multiplexers — resume sessions, split terminals.</li>



<li><strong><code>ncdu</code></strong><br>Disk usage visualizer. Much better than <code>du</code> for quick inspection.</li>



<li><strong><code>glances</code></strong><br>Real-time monitoring of CPU, RAM, disk, and more.</li>



<li><strong><code>nc</code> (netcat)</strong><br>Versatile networking tool — useful for debugging or testing.</li>



<li><strong><code>alias</code></strong><br>Create custom shortcuts for your most used commands.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4dd.png" alt="📝" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Final Thoughts</h3>



<p class="wp-block-paragraph">These Linux commands are not just helpful — they’re the foundation of any good system administrator&#8217;s toolbox. Mastering them will give you confidence to manage, troubleshoot, and optimize Linux systems whether you&#8217;re working with a single server or an entire fleet of machines.</p>



<p class="wp-block-paragraph"></p>
<p>The post <a href="https://hamradio.my/2025/05/essential-linux-commands-every-system-administrator-should-know/">Essential Linux Commands Every System Administrator Should Know</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://hamradio.my/2025/05/essential-linux-commands-every-system-administrator-should-know/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Understanding the Linux Boot Process: From Power On to Login</title>
		<link>https://hamradio.my/2025/05/understanding-the-linux-boot-process-from-power-on-to-login/</link>
					<comments>https://hamradio.my/2025/05/understanding-the-linux-boot-process-from-power-on-to-login/#respond</comments>
		
		<dc:creator><![CDATA[9M2PJU]]></dc:creator>
		<pubDate>Fri, 30 May 2025 15:02:16 +0000</pubDate>
				<category><![CDATA[archlinux]]></category>
		<category><![CDATA[boot]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[process]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[bios]]></category>
		<category><![CDATA[bootprocess]]></category>
		<category><![CDATA[devops]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[grub]]></category>
		<category><![CDATA[initramfs]]></category>
		<category><![CDATA[linuxboot]]></category>
		<category><![CDATA[linuxcommands]]></category>
		<category><![CDATA[linuxguide]]></category>
		<category><![CDATA[linuxkernel]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[penguinpower]]></category>
		<category><![CDATA[SysAdmin]]></category>
		<category><![CDATA[systemd]]></category>
		<category><![CDATA[TechBlog]]></category>
		<category><![CDATA[uefi]]></category>
		<guid isPermaLink="false">https://hamradio.my/?p=7662</guid>

					<description><![CDATA[<p>Whether you&#8217;re a seasoned sysadmin or just diving into Linux, understanding the boot process is key to mastering how your system starts up. The Linux boot process is a fascinating journey that transforms powered-off hardware into a fully operational system. In this post, we&#8217;ll walk through the entire boot sequence, breaking down each stage with [&#8230;]</p>
<p>The post <a href="https://hamradio.my/2025/05/understanding-the-linux-boot-process-from-power-on-to-login/">Understanding the Linux Boot Process: From Power On to Login</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading"></h1>



<p class="wp-block-paragraph">Whether you&#8217;re a seasoned sysadmin or just diving into Linux, understanding the boot process is key to mastering how your system starts up. The Linux boot process is a fascinating journey that transforms powered-off hardware into a fully operational system. In this post, we&#8217;ll walk through the entire boot sequence, breaking down each stage with technical clarity.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f50c.png" alt="🔌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Stage 1: BIOS or UEFI – The System’s First Breath</h2>



<p class="wp-block-paragraph">The process begins the moment you press the power button.</p>



<h3 class="wp-block-heading">BIOS (Legacy Systems)</h3>



<ul class="wp-block-list">
<li><strong>POST (Power-On Self Test)</strong> is triggered to check RAM, CPU, keyboard, and basic hardware.</li>



<li>Searches for a bootable device by scanning the boot order (HDD, SSD, USB, etc.).</li>



<li>Once a bootable device is found, BIOS reads the <strong>Master Boot Record (MBR)</strong>, which contains the bootloader.</li>
</ul>



<h3 class="wp-block-heading">UEFI (Modern Systems)</h3>



<ul class="wp-block-list">
<li>Replaces BIOS with a more advanced firmware interface.</li>



<li>Reads the <strong>EFI System Partition (ESP)</strong>, which contains EFI applications like <code>GRUB.efi</code>.</li>



<li>Supports <strong>Secure Boot</strong>, GUID Partition Table (GPT), and faster booting.</li>
</ul>



<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4dd.png" alt="📝" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Note:</strong> UEFI is now the standard for most modern hardware.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4bd.png" alt="💽" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Stage 2: Bootloader – The Linux Gatekeeper</h2>



<p class="wp-block-paragraph">The bootloader is the program that loads and starts the Linux kernel.</p>



<h3 class="wp-block-heading">Common Bootloaders:</h3>



<ul class="wp-block-list">
<li><strong>GRUB (GRand Unified Bootloader)</strong> – Most common in Linux systems.</li>



<li><strong>systemd-boot</strong> – Lightweight bootloader for UEFI systems.</li>



<li><strong>LILO (older systems)</strong> – Largely deprecated.</li>
</ul>



<p class="wp-block-paragraph">The bootloader:</p>



<ul class="wp-block-list">
<li>Loads the selected <strong>kernel image</strong> (e.g., <code>/boot/vmlinuz-linux</code>).</li>



<li>Loads the <strong>initramfs/initrd</strong> – a temporary root filesystem used during early boot.</li>



<li>Passes control and parameters (e.g., root device path, kernel options) to the kernel.</li>
</ul>



<p class="wp-block-paragraph">Example of GRUB config:</p>



<pre class="wp-block-code"><code>linux /boot/vmlinuz-6.1.0 root=/dev/sda2 ro quiet splash
initrd /boot/initrd.img-6.1.0
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9e0.png" alt="🧠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Stage 3: Kernel Initialization – The Heart of Linux</h2>



<p class="wp-block-paragraph">Now, the <strong>Linux kernel</strong> takes control.</p>



<h3 class="wp-block-heading">What the Kernel Does:</h3>



<ul class="wp-block-list">
<li>Sets up low-level system components: memory management, I/O scheduling, and CPU initialization.</li>



<li>Loads drivers for essential hardware (from initramfs).</li>



<li>Mounts the <strong>real root filesystem</strong> (e.g., from ext4, btrfs, XFS).</li>



<li>Starts the <strong><code>init</code> process</strong> (PID 1) – the first user-space program.</li>
</ul>



<p class="wp-block-paragraph">If anything goes wrong here (like missing root filesystem), you&#8217;ll see a <strong>kernel panic</strong>.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2699.png" alt="⚙" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Stage 4: Init System – Orchestrating the System Startup</h2>



<p class="wp-block-paragraph">The init system is the &#8220;conductor&#8221; that starts all necessary services.</p>



<h3 class="wp-block-heading">Common Init Systems:</h3>



<ul class="wp-block-list">
<li><strong>systemd</strong> (default on most modern distros like Debian, Ubuntu, Fedora)</li>



<li><strong>SysVinit</strong> (traditional)</li>



<li><strong>OpenRC</strong> (used in Alpine, Gentoo)</li>
</ul>



<h3 class="wp-block-heading">If using <code>systemd</code>, it:</h3>



<ul class="wp-block-list">
<li>Reads <strong>unit files</strong> from <code>/etc/systemd/system/</code> and <code>/usr/lib/systemd/system/</code>.</li>



<li>Mounts local filesystems, activates swap, configures networking.</li>



<li>Starts system services like <code>sshd</code>, <code>NetworkManager</code>, <code>cron</code>, and more.</li>
</ul>



<p class="wp-block-paragraph">You can inspect boot performance using:</p>



<pre class="wp-block-code"><code>systemd-analyze
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f510.png" alt="🔐" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Stage 5: Login Prompt – Ready for Action</h2>



<p class="wp-block-paragraph">Once all services are up and running:</p>



<ul class="wp-block-list">
<li><strong>CLI systems</strong>: <code>getty</code> spawns login prompts on virtual terminals (e.g., tty1–tty6).</li>



<li><strong>GUI systems</strong>: A <strong>Display Manager</strong> (GDM, LightDM, SDDM) launches, leading to your graphical desktop environment (GNOME, KDE, etc.).</li>
</ul>



<p class="wp-block-paragraph">After login, the system is fully operational, ready for your commands or applications.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f5fa.png" alt="🗺" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Visual Summary of the Linux Boot Flow</h2>



<pre class="wp-block-code"><code>&#91; Power On ]
     ↓
&#91; BIOS / UEFI ]
     ↓
&#91; Bootloader (GRUB/systemd-boot) ]
     ↓
&#91; Kernel + initramfs ]
     ↓
&#91; Init system (systemd, etc.) ]
     ↓
&#91; System Services + Targets ]
     ↓
&#91; Login Prompt / GUI ]
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6e0.png" alt="🛠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Bonus: Useful Commands to Explore Boot</h2>



<ul class="wp-block-list">
<li>View last boot duration: <code>systemd-analyze</code></li>



<li>See the breakdown of each service&#8217;s boot time: <code>systemd-analyze blame</code></li>



<li>Inspect boot logs: <code>journalctl -b</code></li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9e0.png" alt="🧠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Final Thoughts</h2>



<p class="wp-block-paragraph">The Linux boot process may seem complex, but each stage is logically structured to ensure a flexible, powerful, and modular startup system. Whether you&#8217;re debugging a failed boot or optimizing your boot time, understanding this process equips you with the tools to handle your system like a pro.</p>



<p class="wp-block-paragraph">If you&#8217;re using Linux in embedded projects, servers, or even on low-power SBCs like Raspberry Pi, this knowledge becomes even more critical.</p>
<p>The post <a href="https://hamradio.my/2025/05/understanding-the-linux-boot-process-from-power-on-to-login/">Understanding the Linux Boot Process: From Power On to Login</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://hamradio.my/2025/05/understanding-the-linux-boot-process-from-power-on-to-login/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>The Story of Debian: From Hacker Roots to Global Impact</title>
		<link>https://hamradio.my/2025/05/the-story-of-debian-from-hacker-roots-to-global-impact/</link>
					<comments>https://hamradio.my/2025/05/the-story-of-debian-from-hacker-roots-to-global-impact/#respond</comments>
		
		<dc:creator><![CDATA[9M2PJU]]></dc:creator>
		<pubDate>Tue, 27 May 2025 05:56:59 +0000</pubDate>
				<category><![CDATA[amateur radio]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[free open source software]]></category>
		<category><![CDATA[ham radio]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[open source operating system]]></category>
		<category><![CDATA[AmateurRadio]]></category>
		<category><![CDATA[APRS]]></category>
		<category><![CDATA[debiancommunity]]></category>
		<category><![CDATA[debiandistro]]></category>
		<category><![CDATA[debianhamradio]]></category>
		<category><![CDATA[debianlinux]]></category>
		<category><![CDATA[DigitalModes]]></category>
		<category><![CDATA[fldigi]]></category>
		<category><![CDATA[foss]]></category>
		<category><![CDATA[GNU]]></category>
		<category><![CDATA[hamradio]]></category>
		<category><![CDATA[IoT]]></category>
		<category><![CDATA[linuxdesktop]]></category>
		<category><![CDATA[linuxserver]]></category>
		<category><![CDATA[lora]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[packetradio]]></category>
		<category><![CDATA[RaspberryPi]]></category>
		<category><![CDATA[remotestation]]></category>
		<category><![CDATA[SysAdmin]]></category>
		<category><![CDATA[WSJTX]]></category>
		<guid isPermaLink="false">https://hamradio.my/?p=7632</guid>

					<description><![CDATA[<p>🌍 Introduction: What Makes Debian So Important? If you&#8217;re using Linux today — whether on a desktop, server, or embedded device — there&#8217;s a good chance the foundation of your system can be traced back to Debian. Debian is one of the oldest, most respected, and most influential GNU/Linux distributions ever created. It has quietly [&#8230;]</p>
<p>The post <a href="https://hamradio.my/2025/05/the-story-of-debian-from-hacker-roots-to-global-impact/">The Story of Debian: From Hacker Roots to Global Impact</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f30d.png" alt="🌍" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Introduction: What Makes Debian So Important?</h2>



<p class="wp-block-paragraph">If you&#8217;re using Linux today — whether on a desktop, server, or embedded device — there&#8217;s a good chance the foundation of your system can be traced back to Debian. Debian is one of the oldest, most respected, and most influential GNU/Linux distributions ever created. It has quietly shaped the digital world around us — from powering large-scale web servers and scientific clusters to forming the basis of popular distributions like Ubuntu, Raspbian, and countless others.</p>



<p class="wp-block-paragraph">But Debian is more than just a technical achievement. It is a social, ethical, and political project — one rooted in the ideals of <strong>freedom, transparency, and community governance</strong>.</p>



<p class="wp-block-paragraph">This article takes a detailed journey through Debian&#8217;s origins, evolution, and its unique capabilities in desktop and server environments — and highlights why <strong>Debian is a perfect match for amateur radio operators</strong>.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f3db.png" alt="🏛" class="wp-smiley" style="height: 1em; max-height: 1em;" /> The Origin of Debian: A Manifesto Becomes a Movement</h2>



<p class="wp-block-paragraph">In the early 1990s, the Linux kernel was still a new and evolving project. While Linus Torvalds was actively developing the kernel itself, various individuals and small groups were creating their own Linux distributions. These early distributions were often difficult to maintain, poorly documented, and inconsistent.</p>



<p class="wp-block-paragraph">Enter <strong>Ian Murdock</strong>, a young computer science student at Purdue University. On <strong>August 16, 1993</strong>, he released the <strong>Debian Manifesto</strong>, which laid out a bold vision: a completely free, open, and community-developed operating system that adhered to the values of the <strong>Free Software Foundation</strong>.</p>



<p class="wp-block-paragraph">He named it &#8220;Debian&#8221; — a portmanteau of his name and that of his then-girlfriend, Debra.</p>



<p class="wp-block-paragraph">From the beginning, Debian sought to be different:</p>



<ul class="wp-block-list">
<li>It would not be controlled by a single person or company.</li>



<li>It would emphasize openness, stability, and quality.</li>



<li>It would be built <strong>by volunteers</strong> and <strong>for the community</strong>.</li>
</ul>



<p class="wp-block-paragraph">Debian was not only a software project — it was a <strong>social contract</strong>, a <strong>movement</strong>, and a model for how free software could be built cooperatively.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4dc.png" alt="📜" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Historical Milestones: Debian Through the Years</h2>



<h3 class="wp-block-heading">1993–1995: The Early Days</h3>



<p class="wp-block-paragraph">Debian 0.91 was the first version that gained traction, introducing the <code>.deb</code> package format and the <code>dpkg</code> package manager. From the start, Debian aimed to be modular, reliable, and secure.</p>



<h3 class="wp-block-heading">1996: The Birth of APT</h3>



<p class="wp-block-paragraph">One of Debian’s greatest innovations was the introduction of <strong>APT (Advanced Package Tool)</strong> — a front-end that made it easier to install, upgrade, and remove software while managing dependencies automatically. This was a huge leap over what other distributions offered at the time.</p>



<h3 class="wp-block-heading">Late 1990s: A Social and Ethical Framework</h3>



<p class="wp-block-paragraph">Debian formalized its values through documents like:</p>



<ul class="wp-block-list">
<li><strong>The Debian Social Contract</strong></li>



<li><strong>The Debian Free Software Guidelines (DFSG)</strong></li>



<li><strong>The Debian Constitution</strong></li>
</ul>



<p class="wp-block-paragraph">These were radical moves. Debian became the <strong>first Linux distribution to explicitly define its governance</strong>, its commitment to users, and its ethical foundations.</p>



<h3 class="wp-block-heading">2000s–2010s: Becoming a Foundation for the World</h3>



<p class="wp-block-paragraph">Debian’s popularity surged. It became the base for:</p>



<ul class="wp-block-list">
<li><strong>Ubuntu</strong></li>



<li><strong>Raspbian (now Raspberry Pi OS)</strong></li>



<li><strong>Kali Linux</strong></li>



<li><strong>Linux Mint (Debian Edition)</strong></li>



<li>Countless server deployments in enterprises and universities</li>
</ul>



<p class="wp-block-paragraph">Debian evolved to support multiple CPU architectures, introduced <code>udev</code> for dynamic device management, and transitioned to <code>systemd</code> in later years for improved boot and service handling.</p>



<p class="wp-block-paragraph">Today, <strong>Debian is developed by over 1,000 active developers</strong>, with tens of thousands of contributors and mirror servers in almost every country on Earth.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f5a5.png" alt="🖥" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Debian on the Desktop: A Powerhouse of Possibility</h2>



<p class="wp-block-paragraph">Although Debian has a reputation as a server distribution, it is <strong>equally capable as a desktop system</strong>, especially for users who value <strong>stability, freedom, and control</strong>.</p>



<h3 class="wp-block-heading">Why Choose Debian for Desktop Computing?</h3>



<h4 class="wp-block-heading">1. <strong>Unmatched Stability</strong></h4>



<p class="wp-block-paragraph">Debian’s &#8220;Stable&#8221; release is tested for months, sometimes years, before finalization. This makes it ideal for users who prioritize <strong>reliability over bleeding-edge features</strong>.</p>



<h4 class="wp-block-heading">2. <strong>Custom Desktop Environments</strong></h4>



<p class="wp-block-paragraph">Whether you prefer <strong>GNOME, KDE Plasma, XFCE, LXQt, Mate, Cinnamon</strong>, or even minimalist setups like <strong>i3wm</strong>, Debian allows full flexibility during installation.</p>



<h4 class="wp-block-heading">3. <strong>Freedom From Bloatware</strong></h4>



<p class="wp-block-paragraph">Unlike commercial operating systems that come pre-loaded with unnecessary software and background tracking, Debian installs only what <strong>you choose</strong> — nothing more.</p>



<h4 class="wp-block-heading">4. <strong>Vast Software Library</strong></h4>



<p class="wp-block-paragraph">With more than <strong>59,000 precompiled packages</strong>, almost every piece of software you could need is available directly via <code>apt</code>. From graphic design and media editing to office work and development tools — Debian has it all.</p>



<h4 class="wp-block-heading">5. <strong>Privacy and Security</strong></h4>



<p class="wp-block-paragraph">Debian has <strong>no telemetry</strong>. It does not collect or transmit user data, ever. Plus, it receives <strong>security updates</strong> from a dedicated security team that supports each Stable release for five years or more.</p>



<h4 class="wp-block-heading">6. <strong>Perfect for Developers and Hackers</strong></h4>



<p class="wp-block-paragraph">Debian is an ideal workstation for programmers, sysadmins, researchers, and makers. It supports development tools in C, Python, Rust, Go, Java, and more — all easily installable through the package manager.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9f1.png" alt="🧱" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Debian as a Server: The Gold Standard of Stability</h2>



<p class="wp-block-paragraph">When it comes to deploying mission-critical applications, few operating systems are as trusted as Debian.</p>



<h3 class="wp-block-heading">Why Debian Dominates Server Rooms</h3>



<h4 class="wp-block-heading">1. <strong>Long-Term Stability</strong></h4>



<p class="wp-block-paragraph">Debian&#8217;s conservative release cycle ensures that servers can run for <strong>years without interruption</strong>, even through major upgrades.</p>



<h4 class="wp-block-heading">2. <strong>Excellent Security Practices</strong></h4>



<p class="wp-block-paragraph">Debian takes security seriously. With signed packages, trusted repositories, and an active security team, administrators can sleep better knowing their systems are protected.</p>



<h4 class="wp-block-heading">3. <strong>Universal Hardware Support</strong></h4>



<p class="wp-block-paragraph">From Raspberry Pis to enterprise-grade x86 servers, from old legacy boxes to modern ARM64 devices — Debian supports them all.</p>



<h4 class="wp-block-heading">4. <strong>Container and Virtualization Ready</strong></h4>



<p class="wp-block-paragraph">Debian is the default base image for <strong>Docker containers</strong>, is heavily used in <strong>cloud infrastructure</strong>, and runs perfectly on <strong>KVM</strong>, <strong>Xen</strong>, <strong>LXC</strong>, and <strong>VMware</strong>.</p>



<h4 class="wp-block-heading">5. <strong>Flexible Roles</strong></h4>



<p class="wp-block-paragraph">Debian can easily be configured as:</p>



<ul class="wp-block-list">
<li>Web server (Apache, NGINX)</li>



<li>Mail server (Postfix, Dovecot)</li>



<li>DNS server (BIND, Unbound)</li>



<li>Database server (PostgreSQL, MySQL, MariaDB)</li>



<li>File server (Samba, NFS)</li>



<li>VPN (WireGuard, OpenVPN)</li>
</ul>



<h4 class="wp-block-heading">6. <strong>Efficient Resource Usage</strong></h4>



<p class="wp-block-paragraph">Without bloated GUIs or unnecessary background services, Debian performs <strong>faster and lighter</strong> than most alternatives. It’s ideal for headless systems and energy-efficient servers.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4fb.png" alt="📻" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Debian for Amateur Radio Operators: A Perfect Match</h2>



<h3 class="wp-block-heading">How Debian Enhances Ham Radio Operations</h3>



<h4 class="wp-block-heading">1. <strong>Wide Selection of Ham Software</strong></h4>



<p class="wp-block-paragraph">Debian’s repository includes a treasure trove of amateur radio tools:</p>



<ul class="wp-block-list">
<li><strong>AX.25 and APRS</strong>: <code>ax25-tools</code>, <code>direwolf</code>, <code>xastir</code>, <code>aprx</code></li>



<li><strong>Digital Modes</strong>: <code>flrig</code>, <code>fldigi</code>, <code>wsjtx</code>, <code>js8call</code>, <code>qsstv</code></li>



<li><strong>Logging and Contesting</strong>: <code>tlf</code>, <code>xlog</code>, <code>cqrlog</code></li>



<li><strong>Packet Radio and Winlink</strong>: <code>pat</code>, <code>linpac</code>, <code>soundmodem</code></li>



<li><strong>Satellite Tracking</strong>: <code>gpredict</code></li>
</ul>



<p class="wp-block-paragraph">No need to compile from source — just install with <code>apt</code>.</p>



<h4 class="wp-block-heading">2. <strong>Runs on Low-Power Devices</strong></h4>



<p class="wp-block-paragraph">Debian is lightweight and can run on Raspberry Pi, Odroid, or old laptops — perfect for <strong>portable stations, field days, and emergency communications</strong>.</p>



<h4 class="wp-block-heading">3. <strong>Custom Automation and Gateways</strong></h4>



<p class="wp-block-paragraph">You can build your own:</p>



<ul class="wp-block-list">
<li><strong>APRS iGate or Digipeater</strong></li>



<li><strong>LoRa gateways</strong></li>



<li><strong>Remote HF control stations</strong></li>



<li><strong>Telemetry collection systems</strong></li>
</ul>



<p class="wp-block-paragraph">With scripting and cron jobs, you can automate nearly everything.</p>



<h4 class="wp-block-heading">4. <strong>Stable Uptime for Remote Stations</strong></h4>



<p class="wp-block-paragraph">Need a node to run unattended in a rural area? Debian’s reputation for <strong>rock-solid uptime</strong> is exactly what hams need for off-grid repeaters, gateways, or remote logging setups.</p>



<h4 class="wp-block-heading">5. <strong>Hackable and Modular</strong></h4>



<p class="wp-block-paragraph">Debian doesn’t get in your way. You can build exactly the shack system you want — and even write your own software, drivers, or tools using Python, Bash, or C.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f3af.png" alt="🎯" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Conclusion: Why Debian Should Be Your OS of Choice</h2>



<p class="wp-block-paragraph">Whether you&#8217;re a sysadmin, hobbyist, student, ham radio operator, or casual Linux user, Debian has something for you.</p>



<ul class="wp-block-list">
<li>It’s <strong>ethically grounded</strong>, built by a <strong>global community</strong>, and <strong>entirely free</strong>.</li>



<li>It powers <strong>desktops</strong>, <strong>laptops</strong>, <strong>servers</strong>, <strong>cloud platforms</strong>, and <strong>IoT devices</strong> with equal confidence.</li>



<li>It respects your <strong>freedom</strong>, your <strong>time</strong>, and your <strong>intelligence</strong>.</li>



<li>And for the amateur radio community, it is the perfect companion in the shack.</li>
</ul>



<p class="wp-block-paragraph">If you haven’t tried Debian yet, now’s the time. Download the ISO, write it to a USB drive, and join the movement that’s been quietly powering the internet, science, and innovation for over <strong>30 years</strong>.</p>



<p class="wp-block-paragraph"><strong>Debian isn’t just a Linux distro. It’s the soul of free software.</strong></p>
<p>The post <a href="https://hamradio.my/2025/05/the-story-of-debian-from-hacker-roots-to-global-impact/">The Story of Debian: From Hacker Roots to Global Impact</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://hamradio.my/2025/05/the-story-of-debian-from-hacker-roots-to-global-impact/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>DockFlare: Securely Expose Docker Services with Cloudflare Tunnels</title>
		<link>https://hamradio.my/2025/05/dockflare-securely-expose-docker-services-with-cloudflare-tunnels/</link>
					<comments>https://hamradio.my/2025/05/dockflare-securely-expose-docker-services-with-cloudflare-tunnels/#respond</comments>
		
		<dc:creator><![CDATA[9M2PJU]]></dc:creator>
		<pubDate>Fri, 23 May 2025 06:55:38 +0000</pubDate>
				<category><![CDATA[cloudflare]]></category>
		<category><![CDATA[cloudflare tunnel]]></category>
		<category><![CDATA[containerization]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[docker]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[free open source software]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[apigateway]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[cloudflareaccess]]></category>
		<category><![CDATA[cloudflaretunnel]]></category>
		<category><![CDATA[Containerization]]></category>
		<category><![CDATA[cybersecurity]]></category>
		<category><![CDATA[devops]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[Docker]]></category>
		<category><![CDATA[dockercompose]]></category>
		<category><![CDATA[dockflare]]></category>
		<category><![CDATA[homelab]]></category>
		<category><![CDATA[networksecurity]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[privacy]]></category>
		<category><![CDATA[reverseproxy]]></category>
		<category><![CDATA[securehosting]]></category>
		<category><![CDATA[securewebapps]]></category>
		<category><![CDATA[selfhostedapps]]></category>
		<category><![CDATA[selfhosting]]></category>
		<category><![CDATA[ssl]]></category>
		<category><![CDATA[SysAdmin]]></category>
		<category><![CDATA[tunneling]]></category>
		<category><![CDATA[webhosting]]></category>
		<category><![CDATA[zerotrust]]></category>
		<guid isPermaLink="false">https://hamradio.my/?p=7540</guid>

					<description><![CDATA[<p>🌟 Introduction: What Is DockFlare? Self-hosting applications has become increasingly popular among developers, tech enthusiasts, and homelabbers. However, securely exposing internal services to the internet is often a complicated task. It involves: This is where DockFlare comes in. DockFlare is a lightweight, self-hosted Cloudflare Tunnel automation tool for Docker users. It simplifies the process of [&#8230;]</p>
<p>The post <a href="https://hamradio.my/2025/05/dockflare-securely-expose-docker-services-with-cloudflare-tunnels/">DockFlare: Securely Expose Docker Services with Cloudflare Tunnels</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading" id="h-introduction-what-is-dockflare"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f31f.png" alt="🌟" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Introduction: What Is DockFlare?</h2>



<p class="wp-block-paragraph">Self-hosting applications has become increasingly popular among developers, tech enthusiasts, and homelabbers. However, securely exposing internal services to the internet is often a complicated task. It involves:</p>



<ul class="wp-block-list">
<li>Opening firewall ports</li>



<li>Dealing with dynamic IPs</li>



<li>Managing TLS certificates</li>



<li>Handling reverse proxies</li>



<li>Setting up access control</li>
</ul>



<p class="wp-block-paragraph">This is where <strong>DockFlare</strong> comes in.</p>



<p class="wp-block-paragraph"><strong>DockFlare</strong> is a lightweight, self-hosted <strong>Cloudflare Tunnel automation tool for Docker users</strong>. It simplifies the process of publishing your internal Docker services to the public internet through <strong>Cloudflare Tunnels</strong>, while providing optional <strong>Zero Trust security</strong>, DNS record automation, and a sleek web interface for real-time management.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading" id="h-objectives-of-dockflare"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f3af.png" alt="🎯" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Objectives of DockFlare</h2>



<p class="wp-block-paragraph">DockFlare was created to solve three key problems:</p>



<ol class="wp-block-list">
<li><strong>Simplicity</strong>: Configure secure public access to your Docker containers using just labels—no reverse proxy, SSL setup, or manual DNS records needed.</li>



<li><strong>Security</strong>: Protect your services behind Cloudflare&#8217;s <strong>Zero Trust Access</strong>, supporting identity-based authentication (Google, GitHub, OTP, and more).</li>



<li><strong>Automation</strong>: Automatically create tunnels, subdomains, and security policies based on your Docker service metadata. No scripting. No re-deploys.</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading" id="h-why-use-dockflare"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Why Use DockFlare?</h2>



<p class="wp-block-paragraph">Here’s how DockFlare benefits its users:</p>



<ul class="wp-block-list">
<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Quick Setup</strong>: Set up secure tunnels and expose services in seconds with Docker labels.</li>



<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f510.png" alt="🔐" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Zero Trust Security</strong>: Enforce authentication for any service using Cloudflare Access.</li>



<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f30d.png" alt="🌍" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>No Public IP Required</strong>: No need to forward ports or expose your home IP—perfect for CG-NAT and mobile ISPs.</li>



<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6e1.png" alt="🛡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Safe by Default</strong>: TLS encryption, no open ports, and access rules built-in.</li>



<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f5a5.png" alt="🖥" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>User-Friendly UI</strong>: Visualize tunnels, view logs, and manage configurations in a web dashboard.</li>



<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9f0.png" alt="🧰" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>DevOps Ready</strong>: Works seamlessly in CI/CD pipelines or home labs.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading" id="h-how-to-install-dockflare"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6e0.png" alt="🛠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> How to Install DockFlare</h2>



<h3 class="wp-block-heading" id="h-requirements"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9fe.png" alt="🧾" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Requirements</h3>



<ul class="wp-block-list">
<li>Docker and Docker Compose</li>



<li>A Cloudflare account</li>



<li>A domain connected to Cloudflare</li>



<li>A Cloudflare API Token with:
<ul class="wp-block-list">
<li>Zone DNS edit</li>



<li>Zero Trust policy management</li>



<li>Tunnel management</li>
</ul>
</li>
</ul>



<h3 class="wp-block-heading" id="h-step-1-create-your-project-directory"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4c1.png" alt="📁" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Step 1: Create Your Project Directory</h3>



<pre class="wp-block-code"><code>mkdir dockflare &amp;&amp; cd dockflare
</code></pre>



<h3 class="wp-block-heading" id="h-step-2-create-env-file"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4dd.png" alt="📝" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Step 2: Create <code>.env</code> File</h3>



<p class="wp-block-paragraph">Create a file named <code>.env</code> with the following contents:</p>



<pre class="wp-block-code"><code>CLOUDFLARE_API_TOKEN=your_token_here
CLOUDFLARE_ACCOUNT_ID=your_account_id
CLOUDFLARE_ZONE_ID=your_zone_id
TZ=Asia/Kuala_Lumpur
</code></pre>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f512.png" alt="🔒" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Keep this file private!</p>
</blockquote>



<h3 class="wp-block-heading" id="h-step-3-create-docker-compose-yml"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f433.png" alt="🐳" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Step 3: Create <code>docker-compose.yml</code></h3>



<pre class="wp-block-code"><code>version: '3.8'

services:
  dockflare:
    image: alplat/dockflare:stable
    container_name: dockflare
    restart: unless-stopped
    env_file:
      - .env
    ports:
      - "5000:5000"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - dockflare_data:/app/data
    labels:
      - cloudflare.tunnel.enable=true
      - cloudflare.tunnel.hostname=dockflare.yourdomain.com
      - cloudflare.tunnel.service=http://dockflare:5000

volumes:
  dockflare_data:
</code></pre>



<h3 class="wp-block-heading" id="h-step-4-deploy-dockflare"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/25b6.png" alt="▶" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Step 4: Deploy DockFlare</h3>



<pre class="wp-block-code"><code>docker compose up -d
</code></pre>



<p class="wp-block-paragraph">Access the UI: <a href="http://localhost:5000/">http://localhost:5000</a></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading" id="h-exposing-a-docker-service"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f310.png" alt="🌐" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Exposing a Docker Service</h2>



<p class="wp-block-paragraph">Here’s an example of exposing a service like <code>myapp</code> running on port 8080:</p>



<pre class="wp-block-code"><code>services:
  myapp:
    image: myapp:latest
    labels:
      cloudflare.tunnel.enable: "true"
      cloudflare.tunnel.hostname: "app.yourdomain.com"
      cloudflare.tunnel.service: "http://myapp:8080"
      cloudflare.tunnel.access.policy: "authenticate"
      cloudflare.tunnel.access.allowed_idps: "your-idp-uuid"
</code></pre>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f510.png" alt="🔐" class="wp-smiley" style="height: 1em; max-height: 1em;" /> This will automatically:</p>



<ul class="wp-block-list">
<li>Create a Cloudflare Tunnel</li>



<li>Point your subdomain to it</li>



<li>Enforce secure login</li>
</ul>
</blockquote>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading" id="h-add-non-docker-services"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f30d.png" alt="🌍" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Add Non-Docker Services</h2>



<p class="wp-block-paragraph">Want to expose your home router or NAS?</p>



<ol class="wp-block-list">
<li>Go to DockFlare UI.</li>



<li>Click <strong>&#8220;Add Hostname&#8221;</strong>.</li>



<li>Enter:
<ul class="wp-block-list">
<li>Hostname (e.g., nas.yourdomain.com)</li>



<li>Internal IP/port</li>



<li>Access policy (bypass/authenticate)</li>
</ul>
</li>



<li>Done!</li>
</ol>



<p class="wp-block-paragraph">This works for <strong>any service</strong>, not just Docker.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading" id="h-configuring-zero-trust-access"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f510.png" alt="🔐" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Configuring Zero Trust Access</h2>



<p class="wp-block-paragraph">To secure your services:</p>



<ul class="wp-block-list">
<li>Go to <a href="https://dash.teams.cloudflare.com/">Cloudflare Zero Trust dashboard</a></li>



<li>Add an identity provider (Google, GitHub, etc.)</li>



<li>Use the IDP UUID in your container labels</li>



<li>Example:</li>
</ul>



<pre class="wp-block-code"><code>cloudflare.tunnel.access.policy: authenticate
cloudflare.tunnel.access.allowed_idps: abc123-def456
cloudflare.tunnel.access.session_duration: 8h
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading" id="h-advanced-tips"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9e0.png" alt="🧠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Advanced Tips</h2>



<ul class="wp-block-list">
<li>Expose multiple hostnames:<br><code>cloudflare.tunnel.hostname=api.domain.com,admin.domain.com</code></li>



<li>Customize session duration:<br><code>cloudflare.tunnel.access.session_duration=12h</code></li>



<li>Monitor logs via the web UI or <code>docker logs dockflare</code></li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading" id="h-resources"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4da.png" alt="📚" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Resources</h2>



<ul class="wp-block-list">
<li>GitHub: <a href="https://github.com/ChrispyBacon-dev/DockFlare">ChrispyBacon-dev/DockFlare</a></li>



<li>Docker Compose Docs: <a href="https://docs.docker.com/compose/">docker.com/compose</a></li>



<li>Cloudflare Tunnels Guide: <a href="https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/">developers.cloudflare.com</a></li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading" id="h-conclusion"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f3c1.png" alt="🏁" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Conclusion</h2>



<p class="wp-block-paragraph">DockFlare is a game-changer for developers, sysadmins, and homelabbers who want an easy, secure, and automated way to expose their applications to the web. With support for Cloudflare Tunnels, Zero Trust Access, DNS automation, and a clean UI—it&#8217;s the only tool you&#8217;ll need to publish your services safely.</p>



<p class="wp-block-paragraph">No more port forwarding. No more SSL headaches.</p>



<p class="wp-block-paragraph"><strong>Just Docker + DockFlare + Cloudflare = Done. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></strong></p>
<p>The post <a href="https://hamradio.my/2025/05/dockflare-securely-expose-docker-services-with-cloudflare-tunnels/">DockFlare: Securely Expose Docker Services with Cloudflare Tunnels</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://hamradio.my/2025/05/dockflare-securely-expose-docker-services-with-cloudflare-tunnels/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Docker vs Virtual Machines: What Every Ham Should Know</title>
		<link>https://hamradio.my/2025/05/docker-vs-virtual-machines-what-every-ham-should-know/</link>
					<comments>https://hamradio.my/2025/05/docker-vs-virtual-machines-what-every-ham-should-know/#respond</comments>
		
		<dc:creator><![CDATA[9M2PJU]]></dc:creator>
		<pubDate>Sat, 03 May 2025 03:16:36 +0000</pubDate>
				<category><![CDATA[amateur radio]]></category>
		<category><![CDATA[container]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[docker]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[ham radio]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[virtual machine]]></category>
		<category><![CDATA[virtualization]]></category>
		<category><![CDATA[amateuradio]]></category>
		<category><![CDATA[APRS]]></category>
		<category><![CDATA[aprsbot]]></category>
		<category><![CDATA[aprsgateway]]></category>
		<category><![CDATA[ci_cd]]></category>
		<category><![CDATA[containers]]></category>
		<category><![CDATA[devops]]></category>
		<category><![CDATA[DigitalModes]]></category>
		<category><![CDATA[Direwolf]]></category>
		<category><![CDATA[Docker]]></category>
		<category><![CDATA[dockercompose]]></category>
		<category><![CDATA[fielddeployment]]></category>
		<category><![CDATA[hamradio]]></category>
		<category><![CDATA[HF]]></category>
		<category><![CDATA[homelab]]></category>
		<category><![CDATA[js8call]]></category>
		<category><![CDATA[lightweightcomputing]]></category>
		<category><![CDATA[openwebrx]]></category>
		<category><![CDATA[patwinlink]]></category>
		<category><![CDATA[radioautomation]]></category>
		<category><![CDATA[radioshack]]></category>
		<category><![CDATA[RaspberryPi]]></category>
		<category><![CDATA[Repeater]]></category>
		<category><![CDATA[rtl_433]]></category>
		<category><![CDATA[sdr]]></category>
		<category><![CDATA[SoftwareDefinedRadio]]></category>
		<category><![CDATA[SysAdmin]]></category>
		<category><![CDATA[techforhams]]></category>
		<category><![CDATA[UHF]]></category>
		<category><![CDATA[VHF]]></category>
		<category><![CDATA[virtualmachine]]></category>
		<category><![CDATA[winlink]]></category>
		<guid isPermaLink="false">https://hamradio.my/?p=7354</guid>

					<description><![CDATA[<p>Before container technologies like Docker came into play, applications were typically run directly on the host operating system—either on bare metal hardware or inside virtual machines (VMs). While this method works, it often leads to frustrating issues, especially when trying to reproduce setups across different environments. This becomes even more relevant in the amateur radio [&#8230;]</p>
<p>The post <a href="https://hamradio.my/2025/05/docker-vs-virtual-machines-what-every-ham-should-know/">Docker vs Virtual Machines: What Every Ham Should Know</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading" id="h-"></h1>



<p class="wp-block-paragraph">Before container technologies like Docker came into play, applications were typically run directly on the host operating system—either on <strong>bare metal</strong> hardware or inside <strong>virtual machines (VMs)</strong>. While this method works, it often leads to frustrating issues, especially when trying to reproduce setups across different environments.</p>



<p class="wp-block-paragraph">This becomes even more relevant in the <strong>amateur radio world</strong>, where we often experiment with digital tools, servers, logging software, APRS gateways, SDR applications, and more. Having a consistent and lightweight deployment method is key when tinkering with limited hardware like Raspberry Pi, small form factor PCs, or cloud VPS systems.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading" id="h-the-problem-with-traditional-software-deployment">The Problem with Traditional Software Deployment</h2>



<p class="wp-block-paragraph">Let’s say you’ve set up an <strong>APRS iGate</strong>, or maybe you’re experimenting with <strong>WSJT-X for FT8</strong>, and everything runs flawlessly on your laptop. But the moment you try deploying the same setup on a Raspberry Pi or a remote server—suddenly things break.</p>



<p class="wp-block-paragraph">Why?</p>



<p class="wp-block-paragraph">Common culprits include:</p>



<ul class="wp-block-list">
<li>Different versions of the operating system</li>



<li>Mismatched library versions</li>



<li>Varying configurations</li>



<li>Conflicting dependencies</li>
</ul>



<p class="wp-block-paragraph">These issues can be particularly painful in amateur radio projects, where specific software dependencies are critical, and stability matters for long-term operation.</p>



<p class="wp-block-paragraph">You could solve this by running each setup inside a virtual machine, but VMs are often overkill—especially for ham radio gear with <strong>limited resources</strong>.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading" id="h-enter-docker-the-ham-s-best-friend-for-lightweight-deployment">Enter Docker: The Ham&#8217;s Best Friend for Lightweight Deployment</h2>



<p class="wp-block-paragraph"><strong>Docker</strong> is an open-source platform that allows you to package applications along with everything they need—libraries, configurations, runtimes—into one neat, portable unit called a <strong>container</strong>.</p>



<p class="wp-block-paragraph">Think of it like packaging up your entire ham radio setup (SDR software, packet tools, logging apps, etc.) into a container, then being able to deploy that same exact setup on:</p>



<ul class="wp-block-list">
<li>A Raspberry Pi</li>



<li>A cloud server</li>



<li>A homelab NUC</li>



<li>Another ham’s machine</li>
</ul>



<h3 class="wp-block-heading" id="h-why-it-s-great-for-hams">Why It’s Great for Hams:</h3>



<ul class="wp-block-list">
<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9ca.png" alt="🧊" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Lightweight</strong> – great for Raspberry Pi or low-power servers</li>



<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Fast startup</strong> – ideal for services that need to restart quickly</li>



<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f501.png" alt="🔁" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Reproducible environments</strong> – makes sharing setups with fellow hams easier</li>



<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f512.png" alt="🔒" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Isolation</strong> – keeps different radio tools from interfering with each other</li>
</ul>



<p class="wp-block-paragraph">Many amateur radio tools like <strong>Direwolf</strong>, <strong>Xastir</strong>, <strong>Pat (Winlink)</strong>, and even <strong>JS8Call</strong> can be containerized, making experimentation safer and more efficient.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading" id="h-virtual-machines-still-relevant-in-the-shack">Virtual Machines: Still Relevant in the Shack</h2>



<p class="wp-block-paragraph">Virtual Machines (VMs) have been around much longer and still play a crucial role. Each VM acts like a complete computer, with its own OS and kernel, running on a <strong>hypervisor</strong> like:</p>



<ul class="wp-block-list">
<li>VirtualBox</li>



<li>VMware</li>



<li>KVM</li>



<li>Hyper-V</li>
</ul>



<p class="wp-block-paragraph">With VMs, you can spin up an entire Windows or Linux machine, perfect for:</p>



<ul class="wp-block-list">
<li>Running legacy ham radio software (e.g., old Windows-only apps)</li>



<li>Simulating different operating systems for testing</li>



<li>Isolating potentially unstable setups from your main system</li>
</ul>



<p class="wp-block-paragraph">However, VMs require more horsepower. They&#8217;re heavy, boot slowly, and take up more disk space—often not ideal for small ham radio PCs or low-powered nodes deployed in the field.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading" id="h-quick-comparison-docker-vs-virtual-machines-for-hams">Quick Comparison: Docker vs Virtual Machines for Hams</h2>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Feature</th><th>Docker</th><th>Virtual Machine</th></tr></thead><tbody><tr><td>OS</td><td>Shares host kernel</td><td>Full OS per VM</td></tr><tr><td>Boot Time</td><td>Seconds</td><td>Minutes</td></tr><tr><td>Resource Use</td><td>Low</td><td>High</td></tr><tr><td>Size</td><td>Lightweight</td><td>Heavy (GBs)</td></tr><tr><td>Ideal For</td><td>Modern ham tools, APRS bots, SDR apps</td><td>Legacy systems, OS testing</td></tr><tr><td>Portability</td><td>High</td><td>Moderate</td></tr></tbody></table></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading" id="h-ham-radio-use-cases-for-docker">Ham Radio Use Cases for Docker</h2>



<p class="wp-block-paragraph">Here’s how Docker fits into amateur radio workflows:</p>



<ul class="wp-block-list">
<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Run an APRS iGate</strong> with <strong>Direwolf</strong> and <strong>YAAC</strong> in isolated containers.</li>



<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4e1.png" alt="📡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Deploy SDR receivers</strong> like <strong>rtl_433</strong>, <strong>OpenWebRX</strong>, or <strong>CubicSDR</strong> as containerized services.</li>



<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4e8.png" alt="📨" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Set up a Winlink gateway</strong> using <strong>Pat</strong> + <strong>ax25</strong> tools, all in one container.</li>



<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f504.png" alt="🔄" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Automate and scale your <strong>APRS bot</strong>, or <strong>APRS gateway</strong> using Docker + cron + scripts.</li>
</ul>



<p class="wp-block-paragraph">Docker makes it easier to test and share these setups with other hams—just export your Docker Compose file or image.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading" id="h-when-to-use-docker-when-to-use-a-vm">When to Use Docker, When to Use a VM</h2>



<h3 class="wp-block-heading" id="h-use-docker-if">Use <strong>Docker</strong> if:</h3>



<ul class="wp-block-list">
<li>You’re building or experimenting with <strong>modern ham radio apps</strong></li>



<li>You want to <strong>deploy quickly</strong> and <strong>repeatably</strong></li>



<li>You’re using <strong>Raspberry Pi</strong>, <strong>VPS</strong>, or <strong>low-power hardware</strong></li>



<li>You’re setting up <strong>CI/CD pipelines</strong> for your scripts or bots</li>
</ul>



<h3 class="wp-block-heading" id="h-use-vms-if">Use <strong>VMs</strong> if:</h3>



<ul class="wp-block-list">
<li>You need to run <strong>legacy apps</strong> (e.g., old Windows logging software)</li>



<li>You want to simulate full system environments</li>



<li>You’re working on something that could crash your main system</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading" id="h-final-thoughts">Final Thoughts</h2>



<p class="wp-block-paragraph">Both Docker and VMs are powerful tools that have a place in the modern <strong>ham shack</strong>. Docker offers speed, portability, and resource-efficiency—making it ideal for deploying SDR setups, APRS bots, or automation scripts. VMs, on the other hand, still shine when you need full system emulation or deeper isolation.</p>



<p class="wp-block-paragraph">At the end of the day, being a ham means being an experimenter. And tools like Docker just give us more ways to explore, automate, and share our radio projects with the world.</p>
<p>The post <a href="https://hamradio.my/2025/05/docker-vs-virtual-machines-what-every-ham-should-know/">Docker vs Virtual Machines: What Every Ham Should Know</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://hamradio.my/2025/05/docker-vs-virtual-machines-what-every-ham-should-know/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
