<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Saul Goodman</title>
    <description>The latest articles on DEV Community by Saul Goodman (@shanks28).</description>
    <link>https://dev.to/shanks28</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1807980%2F6b037654-ca15-4237-b66c-17ca2b23a254.png</url>
      <title>DEV Community: Saul Goodman</title>
      <link>https://dev.to/shanks28</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/shanks28"/>
    <language>en</language>
    <item>
      <title>NATS with JetStream</title>
      <dc:creator>Saul Goodman</dc:creator>
      <pubDate>Sun, 20 Jul 2025 16:01:14 +0000</pubDate>
      <link>https://dev.to/shanks28/nats-with-jetstream-l0h</link>
      <guid>https://dev.to/shanks28/nats-with-jetstream-l0h</guid>
      <description>&lt;p&gt;&lt;strong&gt;&lt;em&gt;Introduction&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;With the growth of IOT devices, there is also a need to choose an appropriate communication means that serves or covers most of the requirements while still being easy and simple to use. One such TCP/IP protocol is the Neural Autonomic Transfer System (NATS), a lightweight and open-source protocol written in Go.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Core Principles of the NATS protocol&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
The Nats protocol is mainly focused on the following principles, but not limited to:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Scalability, which makes it easier to work with under increasing load and data-intensive scenarios.&lt;/li&gt;
&lt;li&gt;Performance: This is a key functional requirement when it comes to messaging protocols.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;So, Why NATS and What makes it So Interesting and an ideal option for most Scenarios?&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;First things first, let's clear what multi-tenancy means. Imagine we have an Apartment and we have many houses(flats) and we have residents/tenants, now all of these tenants share the same roof and facilities(aka the infrastructure of the protocol).&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Now, NATS supports dual functionality like pub-sub(with a twist) and streaming with JetStream.&lt;/p&gt;

&lt;p&gt;The twist in NATS JetStream Pub-Sub model is that it can capture and persist messages, enabling replay to consumers as needed, even if they were not subscribed to the topics when the message was published.&lt;/p&gt;

&lt;p&gt;The enhanced QOS can persist messages, which makes it fault-tolerant and available.&lt;br&gt;
There are only a limited number of technologies that can scale from edge environments like on-prem set up directly to the cloud while maintaining the security context(policies on auth and permissions), while remaining somewhat multi-tenant and having Deployment observability.&lt;br&gt;
Advanced Features of JetStream in NATS include:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Key-Value Store, which allows subscribing to changes in a particular key and can retrieve the complete history of the value.&lt;/li&gt;
&lt;li&gt;Object Stores, which are similar to key-value stores but support larger file sizes&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Now, as for what the "Neural" in NATS is:&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Conclusion&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
NATS with JetStream being lightweight, open-source, and highly performant makes it a compelling communication channel for modern distributed applications.&lt;/p&gt;

</description>
      <category>pubsub</category>
      <category>streaming</category>
      <category>go</category>
      <category>iot</category>
    </item>
    <item>
      <title>Zigbee vs Wi-Fi HaLow for IOT</title>
      <dc:creator>Saul Goodman</dc:creator>
      <pubDate>Thu, 17 Jul 2025 07:03:10 +0000</pubDate>
      <link>https://dev.to/shanks28/zigbee-vs-wi-fi-halow-for-iot-373e</link>
      <guid>https://dev.to/shanks28/zigbee-vs-wi-fi-halow-for-iot-373e</guid>
      <description>&lt;p&gt;Wireless protocols, transmitting information via RF signals without physical wires, have gained immense popularity due to their low power requirements and ease of use. This adoption is primarily driven by: &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Mobility: The ability to move connected devices while maintaining network functionality.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Expandability: The ease of adding or removing devices from a network, within its maximum capacity.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The choice of protocol is crucial for any IoT deployment. While traditional Wi-Fi excels at high-throughput data transfer and internet access, it consumes more power. Zigbee, conversely, is designed for low-to-moderate data throughput, making it suitable for applications like smart home automation and large mesh networks. This article delves into the key differences between Zigbee and a specialized Wi-Fi standard for IoT: Wi-Fi HaLow, providing a developer's perspective on these two prominent IoT protocols.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Zigbee&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Zigbee&lt;/strong&gt; is a low-cost, low-power wireless standard specifically designed for machine-to-machine (M2M) and Internet of Things (IoT) networks. It primarily operates on the 2.4GH band, although it can also operate in the 868 MHz and 915 MHz bands depending on the region. This protocol offers straightforward wireless connectivity, simplifying network installation and making it affordable. A significant feature is the ability for nodes to enter and exit the network seamlessly, enabling a power-saving mode. As a result, many Zigbee devices can be battery-powered for extended periods, sometimes years. Security is a core aspect, handled by the AES-128 standard, applied at multiple levels of its protocol stack, which operates on the physical  and Data Link layers.&lt;/p&gt;

&lt;p&gt;A Zigbee network typically has three types of devices:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Coordinator&lt;/em&gt;&lt;/strong&gt;: This is the root of the network and the first node to be started. It is responsible for forming the network, managing it, and authorizing other nodes to join. Every Zigbee network must have one and only one coordinator.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Router&lt;/em&gt;&lt;/strong&gt;: A router is a node that can send and receive data and has routing capabilities. It extends the network's range and reach by allowing other nodes to join the network through it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;End Device&lt;/em&gt;&lt;/strong&gt;: This type of node can only send and receive data; it has no routing capacity. End devices can be "sleepy," allowing for very low power consumption, enabling long battery life. A network can contain numerous end devices.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Wi-Fi HaLow (IEEE 802.11ah)&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Wi-Fi HaLow&lt;/em&gt;&lt;/strong&gt;, standardized as IEEE 802.11ah, uses the 1 GHz band  to offer extended-range WiFi networks compared to conventional WiFi . It is particularly well suited for battery-powered IoT devices that require long working hours.&lt;/p&gt;

&lt;p&gt;Its power consumption is low, comparable to Zigbee, making it a strong contender for energy-efficient applications. Despite its low power profile, it supports impressive data rates of up to 347 Mbps (under ideal conditions, typical rates for IoT devices are much lower, eg 150kbps to 86.7Mbps) and enables long-range communication without significant battery drain. Key advantages include easy integration due to native IP support, eliminating the need for proprietary gateways, and increased security through the WPA3 standard. These features make it a strong alternative to Zigbee for various IoT applications. WiFi HaLow networks primarily use a star topology, with a central access point supporting a large number of devices.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Use Cases&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Where Zigbee Shines:&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Wireless Sensor Networks: Well-suited for applications requiring low data rates and long battery life, such as environmental monitoring (temperature).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Personal Area Networks (PANs): Creating small, localized networks for device control and data exchange.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Where WiFi Halow Shines:&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Long Range Outdoor IOT:Excellent for applications covering large geographical areas, such as smart agriculture (soil monitoring, irrigation control across fields), smart cities (streetlight control, environmental sensing over blocks), and remote utility monitoring.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Battery-Powered Devices with Higher Data Needs: While low-power, it can support higher data rates than Zigbee, making it suitable for IOT devices that occasionally need to transmit larger data packets, such as low resolution video surveillance or more frequent sensor data.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

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

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Conclusion&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In conclusion, the choice between Zigbee and Wi-Fi HaLow hinges on the specific demands of your IoT application, with each protocol offering distinct advantages.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>iot</category>
    </item>
    <item>
      <title>TEst2</title>
      <dc:creator>Saul Goodman</dc:creator>
      <pubDate>Sat, 20 Jul 2024 11:15:45 +0000</pubDate>
      <link>https://dev.to/shanks28/test2-45gc</link>
      <guid>https://dev.to/shanks28/test2-45gc</guid>
      <description>&lt;p&gt;test&lt;/p&gt;

</description>
      <category>programming</category>
    </item>
    <item>
      <title>Test</title>
      <dc:creator>Saul Goodman</dc:creator>
      <pubDate>Sat, 20 Jul 2024 11:12:49 +0000</pubDate>
      <link>https://dev.to/shanks28/test-49oc</link>
      <guid>https://dev.to/shanks28/test-49oc</guid>
      <description>&lt;p&gt;test&lt;/p&gt;

</description>
      <category>programming</category>
    </item>
  </channel>
</rss>
