<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Rez Moss</title><link>https://rezmoss.com/</link><description>Recent content on Rez Moss</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><copyright>© Rez Moss</copyright><lastBuildDate>Fri, 09 Jan 2026 10:27:25 -0500</lastBuildDate><atom:link href="https://rezmoss.com/index.xml" rel="self" type="application/rss+xml"/><item><title>How to Compare Container SBOMs and Detect Drift Between Image Versions</title><link>https://rezmoss.com/blog/compare-container-sbom-detect-drift-image-versions/</link><pubDate>Fri, 09 Jan 2026 10:27:25 -0500</pubDate><guid>https://rezmoss.com/blog/compare-container-sbom-detect-drift-image-versions/</guid><description>Every time you pull a container image, you&amp;rsquo;re trusting hundreds of packages you didn&amp;rsquo;t explicitly choose. The base image brings its OS packages, your dependencies bring their dependencies, and somewhere in that stack is the next CVE waiting to be discovered.</description></item><item><title>Parse Quoted Strings and Detect Character Types with Utility Functions 7/7</title><link>https://rezmoss.com/blog/go-strconv-unquoting-utilities-character-detection-p7-7/</link><pubDate>Thu, 01 Jan 2026 10:27:25 -0500</pubDate><guid>https://rezmoss.com/blog/go-strconv-unquoting-utilities-character-detection-p7-7/</guid><description>Go&amp;rsquo;s strconv package provides a comprehensive set of utilities for parsing quoted strings and analyzing character properties. These functions handle the intricate details of escape sequences, quote characters, and Unicode classification that would otherwise require complex custom implementations.</description></item><item><title>String and Character Quoting - Quote Functions in Go 6/7</title><link>https://rezmoss.com/blog/go-string-character-quoting-quote-functions-p6-7/</link><pubDate>Fri, 05 Dec 2025 10:27:25 -0500</pubDate><guid>https://rezmoss.com/blog/go-string-character-quoting-quote-functions-p6-7/</guid><description>Introduction to Go&amp;rsquo;s Quote Functions When working with strings in Go, you&amp;rsquo;ll often need to create properly escaped string literals or handle special characters safely.</description></item><item><title>Efficient String Building - Append Functions in Go 5/7</title><link>https://rezmoss.com/blog/go-efficient-string-building-append-functions-p5-7/</link><pubDate>Sat, 01 Nov 2025 00:27:25 -0500</pubDate><guid>https://rezmoss.com/blog/go-efficient-string-building-append-functions-p5-7/</guid><description>When building strings in Go, especially when dealing with dynamic content or multiple values, traditional string concatenation can quickly become inefficient due to Go&amp;rsquo;s immutable string nature.</description></item><item><title>Converting to Strings - Format Functions 4/7</title><link>https://rezmoss.com/blog/go-strconv-format-functions-convert-values-to-strings-p4-7/</link><pubDate>Fri, 03 Oct 2025 10:27:25 -0500</pubDate><guid>https://rezmoss.com/blog/go-strconv-format-functions-convert-values-to-strings-p4-7/</guid><description>When you&amp;rsquo;re working with Go, you&amp;rsquo;ll frequently need to convert various data types into their string representations. The strconv package provides a collection of Format functions that handle this conversion efficiently and give you fine-grained control over the output format.</description></item><item><title>Floating Point Parsing - ParseFloat and ParseComplex in Go 3/7</title><link>https://rezmoss.com/blog/floating-point-parsing-parsefloat-parsecomplex-go-p3-7/</link><pubDate>Mon, 15 Sep 2025 10:27:25 -0500</pubDate><guid>https://rezmoss.com/blog/floating-point-parsing-parsefloat-parsecomplex-go-p3-7/</guid><description>When working with Go applications, you&amp;rsquo;ll frequently need to convert string representations of numbers into their numeric types. The strconv package provides two essential functions for floating-point conversions: ParseFloat and ParseComplex.</description></item><item><title>Parsing Booleans and Integers in Go: ParseBool, ParseInt, and ParseUint 2/7</title><link>https://rezmoss.com/blog/parsing-booleans-integers-go-parsebool-parseint-p2-7/</link><pubDate>Sat, 30 Aug 2025 10:27:25 -0500</pubDate><guid>https://rezmoss.com/blog/parsing-booleans-integers-go-parsebool-parseint-p2-7/</guid><description>String parsing is a fundamental operation in Go programming. Whether you&amp;rsquo;re reading configuration files, processing user input, or handling API responses, you&amp;rsquo;ll frequently need to convert string representations into their appropriate data types.</description></item><item><title>Go String to Int: Complete Atoi &amp; Itoa Guide (With Examples) 1/7</title><link>https://rezmoss.com/blog/basic-conversions-atoi-and-itoa-p1-7/</link><pubDate>Sat, 16 Aug 2025 10:27:25 -0500</pubDate><guid>https://rezmoss.com/blog/basic-conversions-atoi-and-itoa-p1-7/</guid><description>Converting between strings and integers is a fundamental operation in Go programming. Whether you&amp;rsquo;re parsing user input, reading configuration files, or handling API responses, you&amp;rsquo;ll frequently need to transform string representations of numbers into integers and vice versa.</description></item><item><title>macOS Hardware Detection with Go</title><link>https://rezmoss.com/blog/macos-hardware-detection-with-go/</link><pubDate>Sat, 02 Aug 2025 16:27:25 -0500</pubDate><guid>https://rezmoss.com/blog/macos-hardware-detection-with-go/</guid><description>Getting detailed hardware information from macOS requires working with various system utilities like sysctl, system_profiler, and vm_stat. Each of these tools outputs data in different formats, making it challenging to build a unified interface for hardware detection.</description></item><item><title>Disk Image Analyzer</title><link>https://rezmoss.com/tools/disk-analyzer/</link><pubDate>Sat, 07 Jun 2025 00:00:00 +0000</pubDate><guid>https://rezmoss.com/tools/disk-analyzer/</guid><description>This is the WebAssembly version of the disk partition analyzer we built in Go. The same core logic that reads MBR and GPT partition tables, now compiled to WebAssembly and running directly in your browser.</description></item><item><title>Build a Disk Partition Analyzer in Go: Storage Analysis Tool</title><link>https://rezmoss.com/blog/disk-partition-analyzer-in-go/</link><pubDate>Fri, 06 Jun 2025 10:21:00 -0500</pubDate><guid>https://rezmoss.com/blog/disk-partition-analyzer-in-go/</guid><description>Ever wondered what happens when you run fdisk -l or open Disk Management on Windows? These tools read raw disk data to show you partition information.</description></item><item><title>Zero-Config Service Discovery in Go: Build Your Own System</title><link>https://rezmoss.com/blog/zero-configuration-service-discovery-system-go/</link><pubDate>Sat, 19 Apr 2025 10:21:00 -0500</pubDate><guid>https://rezmoss.com/blog/zero-configuration-service-discovery-system-go/</guid><description>Service discovery is crucial in distributed systems in modern services. It lets services discover and talk to each other without needing hardcoded connection details.</description></item><item><title>Build a Terminal System Monitor in Go: CPU, Memory &amp; Processes</title><link>https://rezmoss.com/blog/building-terminal-system-monitor-golang/</link><pubDate>Sat, 08 Feb 2025 16:27:25 -0500</pubDate><guid>https://rezmoss.com/blog/building-terminal-system-monitor-golang/</guid><description>I wanted to build a tool that shows me what&amp;rsquo;s happening on my system in real-time - CPU usage, memory consumption, network activity, and resource-hungry processes.</description></item><item><title>Book</title><link>https://rezmoss.com/book/</link><pubDate>Tue, 28 Jan 2025 21:37:58 +0530</pubDate><guid>https://rezmoss.com/book/</guid><description>Go at Scale Patterns for Professional Development 🚀 Master Advanced Go Development
Go at Scale is your guide to writing scalable, production-ready Go applications.</description></item><item><title>Go at Scale</title><link>https://rezmoss.com/go-at-scale/</link><pubDate>Tue, 28 Jan 2025 21:37:58 +0530</pubDate><guid>https://rezmoss.com/go-at-scale/</guid><description>Patterns for Professional Development 🛒 Buy on Amazon
For all other countries, you can easily find my book by searching &amp;ldquo;Go at Scale&amp;rdquo; on your local Amazon website.</description></item><item><title>New Iterator Features in Go 1.23</title><link>https://rezmoss.com/blog/new-iterator-go-1-23/</link><pubDate>Mon, 27 Jan 2025 01:27:25 -0500</pubDate><guid>https://rezmoss.com/blog/new-iterator-go-1-23/</guid><description>Go 1.23 introduces new iterator features that simplify common programming patterns. Here&amp;rsquo;s what&amp;rsquo;s changed and how to use them.
Slice Operations Backward Iteration The old way required manual index management:</description></item><item><title>Go Email Parsing: net/mail Address &amp; Parser Explained 1/3</title><link>https://rezmoss.com/blog/understanding-go-net-mail-p1/</link><pubDate>Thu, 09 Jan 2025 16:27:25 -0500</pubDate><guid>https://rezmoss.com/blog/understanding-go-net-mail-p1/</guid><description>Hey there! Today we&amp;rsquo;re going to dive into Go&amp;rsquo;s net/mail package, focusing on how it handles email addresses and parsing. If you&amp;rsquo;ve ever needed to work with email addresses in Go, you&amp;rsquo;ve probably encountered this package.</description></item><item><title>Go Channels Demystified: Practical Use Cases and Best Practices</title><link>https://rezmoss.com/blog/go-channels-demystified/</link><pubDate>Thu, 21 Mar 2024 16:27:25 -0500</pubDate><guid>https://rezmoss.com/blog/go-channels-demystified/</guid><description>Go channels are a powerful feature of the Go programming language that facilitate communication and synchronization between goroutines. They are a fundamental building block for concurrent programming in Go, allowing developers to create efficient and scalable applications.</description></item><item><title>Go Generics: A Practical Introduction</title><link>https://rezmoss.com/blog/go-generics/</link><pubDate>Sun, 15 Oct 2023 10:00:25 -0500</pubDate><guid>https://rezmoss.com/blog/go-generics/</guid><description>Generics, introduced in Go 1.18, represent a significant evolution in the language&amp;rsquo;s type system. They allow developers to write functions and data structures that can work with multiple types while maintaining type safety.</description></item><item><title>How to make the best decision to achieve our goals</title><link>https://rezmoss.com/blog/how-to-make-the-best-decision-to-achieve-our-goals/</link><pubDate>Sat, 21 Jan 2023 16:27:25 -0500</pubDate><guid>https://rezmoss.com/blog/how-to-make-the-best-decision-to-achieve-our-goals/</guid><description>Making decisions is a crucial part of achieving our goals. However, knowing which decision is right can take time and effort.</description></item><item><title>Effective Error Creation in Go</title><link>https://rezmoss.com/blog/go-errors/</link><pubDate>Fri, 11 Mar 2022 08:00:25 -0500</pubDate><guid>https://rezmoss.com/blog/go-errors/</guid><description>Error handling is a crucial aspect of writing robust Go code. Creating informative and useful errors is key to effective error handling.</description></item><item><title>Go's String Manipulation</title><link>https://rezmoss.com/blog/go-strings/</link><pubDate>Mon, 22 Nov 2021 08:00:25 -0500</pubDate><guid>https://rezmoss.com/blog/go-strings/</guid><description>Go provides a rich set of tools for string manipulation, both in its standard library and through idiomatic patterns. Understanding these can greatly enhance your ability to work with text in Go.</description></item><item><title>Go's Blank Identifier: When and How to Use It</title><link>https://rezmoss.com/blog/go-blank/</link><pubDate>Sat, 11 Sep 2021 08:00:25 -0500</pubDate><guid>https://rezmoss.com/blog/go-blank/</guid><description>The blank identifier in Go, represented by an underscore (_), is a special identifier that serves as a placeholder for values you want to ignore.</description></item><item><title>Understanding Go's Slice Internals</title><link>https://rezmoss.com/blog/go-slice/</link><pubDate>Sun, 22 Aug 2021 08:00:25 -0500</pubDate><guid>https://rezmoss.com/blog/go-slice/</guid><description>Go&amp;rsquo;s slices are a powerful and flexible data structure, but understanding their internals is crucial for efficient use. This article delves into the mechanics of slices and how they work under the hood.</description></item><item><title>The Procrastination Panic: Why Procrastinating on Goals Can Make Them Seem So Daunting or Even Impossible at Times</title><link>https://rezmoss.com/blog/the-procrastination-panic-why-procrastinating-on-goals-can-make-them-seem-so-daunting-or-even-impossible-at-times/</link><pubDate>Sat, 07 Aug 2021 16:27:25 -0500</pubDate><guid>https://rezmoss.com/blog/the-procrastination-panic-why-procrastinating-on-goals-can-make-them-seem-so-daunting-or-even-impossible-at-times/</guid><description>“My advice is to never do tomorrow what you can do today. Procrastination is the thief of time.” Charles Dickens</description></item><item><title>How Our Mind Affects Our Decision-Making Process</title><link>https://rezmoss.com/blog/how-our-mind-affects-our-decision-making-process/</link><pubDate>Sat, 24 Jul 2021 16:27:25 -0500</pubDate><guid>https://rezmoss.com/blog/how-our-mind-affects-our-decision-making-process/</guid><description>Decisions, decisions, decisions—from the moment you decide to open your eyes after hearing your alarm in the morning and hitting the snooze button a few times, trying to catch a few more minutes of sleep to brushing your teeth before you go to the bed at night, we make a variety of decisions in a day.</description></item><item><title>How Our Minds Work and How It Affects Our Decision-Making Process</title><link>https://rezmoss.com/blog/how-our-minds-work-and-how-it-affects-our-decision-making-process/</link><pubDate>Fri, 16 Jul 2021 16:27:25 -0500</pubDate><guid>https://rezmoss.com/blog/how-our-minds-work-and-how-it-affects-our-decision-making-process/</guid><description>The human mind is a powerful and beautifully complex thing. Before we dive into learning how our minds work, it is important to note that even with thousands of years of research and exploration, we are yet to truly understand how exactly the human mind works.</description></item><item><title>Effective Use of Go's Built-in Maps</title><link>https://rezmoss.com/blog/go-maps/</link><pubDate>Sun, 11 Jul 2021 08:00:25 -0500</pubDate><guid>https://rezmoss.com/blog/go-maps/</guid><description>Go&amp;rsquo;s built-in map type is a powerful and flexible data structure for storing key-value pairs. Understanding how to use maps effectively can significantly improve your Go programming.</description></item><item><title>A complete guide on what is Average Handle Time (AHT)</title><link>https://rezmoss.com/blog/a-complete-guide-on-what-is-average-handle-time-aht/</link><pubDate>Thu, 10 Jun 2021 16:27:25 -0500</pubDate><guid>https://rezmoss.com/blog/a-complete-guide-on-what-is-average-handle-time-aht/</guid><description>When we talk about the call centers, one of the most important things is the average handle time or the AHT.</description></item><item><title>Go's defer: Simplifying Resource Management</title><link>https://rezmoss.com/blog/go-defer/</link><pubDate>Thu, 20 May 2021 18:00:25 -0500</pubDate><guid>https://rezmoss.com/blog/go-defer/</guid><description>The defer keyword in Go is a powerful feature that simplifies resource management and cleanup operations. It ensures that a function call is executed just before the surrounding function returns, regardless of how it returns.</description></item><item><title>Go's init() Function: Uses and Best Practices</title><link>https://rezmoss.com/blog/go-init/</link><pubDate>Mon, 01 Mar 2021 15:00:25 -0500</pubDate><guid>https://rezmoss.com/blog/go-init/</guid><description>The init() function in Go is a special function that&amp;rsquo;s automatically executed before the main() function. It serves as a mechanism for performing one-time initialization tasks.</description></item><item><title>Error Handling in Go: Best Practices and Patterns</title><link>https://rezmoss.com/blog/error-handling-in-go/</link><pubDate>Sat, 21 Sep 2019 16:27:25 -0500</pubDate><guid>https://rezmoss.com/blog/error-handling-in-go/</guid><description>Error handling is a crucial aspect of writing robust and reliable Go programs. Unlike many other languages, Go takes a unique approach to error handling, treating errors as values rather than using exceptions.</description></item><item><title>About</title><link>https://rezmoss.com/about/</link><pubDate>Fri, 19 Apr 2019 21:37:58 +0530</pubDate><guid>https://rezmoss.com/about/</guid><description>Who is Rez Moss? I’m Rez Moss — founder and CEO of CloudAid, and a technologist with over 20 years of hands-on experience building, scaling, and leading in the software and IT space.</description></item><item><title>Go Routines vs. Threads: Understanding the Difference</title><link>https://rezmoss.com/blog/go-routines-threads/</link><pubDate>Thu, 17 May 2018 10:21:00 -0500</pubDate><guid>https://rezmoss.com/blog/go-routines-threads/</guid><description>In the world of concurrent programming, Go routines and threads are both powerful tools for executing multiple tasks simultaneously. However, they differ significantly in their implementation and behavior.</description></item><item><title>Understanding Callbacks in Node.js</title><link>https://rezmoss.com/blog/nodejs-callback/</link><pubDate>Thu, 17 Aug 2017 08:00:25 -0500</pubDate><guid>https://rezmoss.com/blog/nodejs-callback/</guid><description>Callbacks are a fundamental concept in Node.js, essential for handling asynchronous operations. They are functions passed as arguments to other functions, which are then invoked when the operation completes.</description></item><item><title>Working with Files in Node.js</title><link>https://rezmoss.com/blog/nodejs-files/</link><pubDate>Sat, 05 Aug 2017 08:00:25 -0500</pubDate><guid>https://rezmoss.com/blog/nodejs-files/</guid><description>Node.js provides a built-in fs (File System) module that allows you to work with files easily. Here&amp;rsquo;s a quick guide to common file operations:</description></item><item><title>Node.js and JSON: The Basics</title><link>https://rezmoss.com/blog/nodejs-json/</link><pubDate>Thu, 13 Apr 2017 08:00:25 -0500</pubDate><guid>https://rezmoss.com/blog/nodejs-json/</guid><description>JSON (JavaScript Object Notation) is a lightweight data format that&amp;rsquo;s easy for humans to read and write, and easy for machines to parse and generate.</description></item><item><title>Creating a Simple Web Server in Node.js</title><link>https://rezmoss.com/blog/webserver-node/</link><pubDate>Fri, 11 Mar 2016 08:00:25 -0500</pubDate><guid>https://rezmoss.com/blog/webserver-node/</guid><description>Node.js makes it incredibly easy to create a basic web server. Here&amp;rsquo;s how you can do it in just a few lines of code:</description></item><item><title>Load Balancing Amazon RDS Mysql Simple Way</title><link>https://rezmoss.com/blog/load-balancing-amazon-rds-mysql-simple-way/</link><pubDate>Thu, 21 Jan 2016 16:27:25 -0500</pubDate><guid>https://rezmoss.com/blog/load-balancing-amazon-rds-mysql-simple-way/</guid><description>I have been using Amazon RDS MySQL for several years in many projects. One of the best points of using AWS RDS instead of running your instance on EC2 is maintenance and easy management.</description></item></channel></rss>