<?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: Sreeju S</title>
    <description>The latest articles on DEV Community by Sreeju S (@sreeju).</description>
    <link>https://dev.to/sreeju</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%2F718831%2F39e61812-5ce0-4df7-a640-ec577a33646e.jpg</url>
      <title>DEV Community: Sreeju S</title>
      <link>https://dev.to/sreeju</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sreeju"/>
    <language>en</language>
    <item>
      <title>How I Made My Server Public Without a Static IP (Thanks, Tailscale!)</title>
      <dc:creator>Sreeju S</dc:creator>
      <pubDate>Sun, 05 Oct 2025 16:43:35 +0000</pubDate>
      <link>https://dev.to/sreeju/how-i-made-my-server-public-without-a-static-ip-thanks-tailscale-3nlk</link>
      <guid>https://dev.to/sreeju/how-i-made-my-server-public-without-a-static-ip-thanks-tailscale-3nlk</guid>
      <description>&lt;p&gt;So, I was building a server at home (just virtualization). then I hit the classic problem:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;No static IP. No public IP. My ISP keeps me behind CGNAT.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you don’t know, CGNAT (Carrier-Grade NAT) basically means your ISP shares a single public IP among multiple customers. So, no matter what you try, the outside world can’t directly reach your server.&lt;/p&gt;

&lt;p&gt;I wanted my server accessible, even occasionally, without paying extra for a business plan or VPS. So I did some research, and here’s what I found:&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Tunneling (like SSH tunneling or ngrok)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Can make your local server public.&lt;/li&gt;
&lt;li&gt;Often requires a domain for convenience.&lt;/li&gt;
&lt;li&gt;Tricky if you want persistent access.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  2. Renting a VPS
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Definitely works—you get a public IP.&lt;/li&gt;
&lt;li&gt;But, costs money, and I wanted something free or minimal.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  3. VPN Mesh / Zero Trust Network (Best Option)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Creates a private network between your devices.&lt;/li&gt;
&lt;li&gt;Works behind NATs and firewalls.&lt;/li&gt;
&lt;li&gt;Low latency, secure, and free for personal use.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;I went with Tailscale, it’s essentially WireGuard but easy to use, works on servers and clients, and keeps everything secure.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to Install Tailscale
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Add the Tailscale repository and install&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;curl -fsSL https://tailscale.com/install.sh | sh&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Start Tailscale&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;sudo tailscale up&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;It will give a URL. Open it in your browser, log in with Google/GitHub/Email, and approve the server.&lt;/p&gt;

&lt;p&gt;Now your server has a Tailscale IP (like 100.x.x.x).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;On Client Machines (Laptop, Desktop, Phone)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Install Tailscale&lt;/strong&gt;&lt;br&gt;
Linux/macOS/Windows: Download from tailscale.com/download&lt;br&gt;
Android/iOS: Install from the respective app store.&lt;br&gt;
Log in using the same account as the server&lt;br&gt;
Check connectivity&lt;/p&gt;

&lt;p&gt;&lt;code&gt;tailscale status&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;You should see your server listed with its Tailscale IP.&lt;br&gt;
Access your server&lt;/p&gt;

&lt;p&gt;&lt;code&gt;ssh username@100.x.x.x&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Or for web apps, use the Tailscale IP in the browser.&lt;/p&gt;

</description>
      <category>linux</category>
      <category>homelabbing</category>
      <category>tutorial</category>
      <category>security</category>
    </item>
    <item>
      <title>How to install Webmin on Ubuntu Server</title>
      <dc:creator>Sreeju S</dc:creator>
      <pubDate>Wed, 24 Sep 2025 14:59:23 +0000</pubDate>
      <link>https://dev.to/sreeju/how-to-install-webmin-on-ubuntu-server-81n</link>
      <guid>https://dev.to/sreeju/how-to-install-webmin-on-ubuntu-server-81n</guid>
      <description>&lt;p&gt;How to install Webmin in Ubuntu Server&lt;/p&gt;

&lt;p&gt;The simplest and best way to get Webmin is to use automatic webmin-setup-repo.sh script to configure repositories on your Ubuntu Server. It can be done in two easy steps:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;curl -o webmin-setup-repo.sh https://lnkd.in/dmS3HWff&lt;br&gt;
&lt;/code&gt;&lt;br&gt;
This script will automatically setup our repository and install our GPG keys on your system, and provide webmin package for installation and easy upgrades in the future. &lt;/p&gt;

&lt;p&gt;Now just use APT to install Webmin:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;apt-get install webmin --install-recommends&lt;br&gt;
&lt;/code&gt;&lt;br&gt;
Modify the Firewall rules (By default the webmin runs on port 10000):&lt;br&gt;
&lt;code&gt;sudo ufw allow 10000/tcp&lt;br&gt;
sudo ufw reload&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Open your brower and enter: :10000&lt;/p&gt;

&lt;p&gt;BOOM You got the Webmin running on your server.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Created my First OS - Hello World OS in Assembly</title>
      <dc:creator>Sreeju S</dc:creator>
      <pubDate>Sat, 26 Jul 2025 19:30:50 +0000</pubDate>
      <link>https://dev.to/sreeju/created-my-first-os-hello-world-os-in-assembly-3h62</link>
      <guid>https://dev.to/sreeju/created-my-first-os-hello-world-os-in-assembly-3h62</guid>
      <description>&lt;p&gt;In my first semester of college, we had a subject called Computer Architecture, where we studied the legendary 8085 microprocessor. That’s when I got my first taste of assembly language.&lt;/p&gt;

&lt;p&gt;At first, honestly? I thought it was a total waste of time outdated, overly complex, and not really “practical” in today’s tech world.&lt;/p&gt;

&lt;p&gt;But fast forward to the end of my second semester, and there I was:&lt;br&gt;
building my own simple OS using assembly language.&lt;/p&gt;

&lt;p&gt;Okay, calling it an “OS” might be a stretch — it’s more like the “Hello, World!” of operating systems. But still, I made a bootable image that runs in QEMU. It clears the screen, positions the cursor, and prints a custom message. All from scratch, in raw x86 assembly. No Linux, no BIOS hacks, no GRUB — just main.asm and a lot of patience.&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%2Frrp3o5hboypjb6li45a7.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%2Frrp3o5hboypjb6li45a7.png" alt="Hello World OS" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  ⚙️ Tools I Used
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;NASM (Netwide Assembler): to write and compile the Assembly code&lt;/li&gt;
&lt;li&gt;QEMU: a lightweight emulator to test my OS without frying my hardware&lt;/li&gt;
&lt;li&gt;dd (Disk Destroyer, jokingly): to write the compiled image to a file&lt;/li&gt;
&lt;li&gt;Makefile (optional): to automate the build steps&lt;/li&gt;
&lt;li&gt;Linux Terminal: to assemble, run, and debug everything&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  💡 What This Mini-OS Does
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Boots directly from BIOS — no OS beneath it&lt;/li&gt;
&lt;li&gt;Switches to text mode&lt;/li&gt;
&lt;li&gt;Positions the cursor on screen using BIOS interrupts&lt;/li&gt;
&lt;li&gt;Prints two strings:
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;A custom message like "Hello, World!"&lt;br&gt;
A fun signature — “Booted with love ;)”&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;That’s it. No file system, no multitasking, no kernel — just a raw, handcrafted bootloader that talks to the screen like it’s 1981 again.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🧰 What I Learned&lt;br&gt;
How real computers boot — not from Linux, not from Windows, but from raw machine code&lt;/p&gt;

&lt;p&gt;BIOS interrupts and video memory&lt;/p&gt;

&lt;p&gt;The importance of that magical 0xAA55 at the end of every bootable sector&lt;/p&gt;

&lt;p&gt;How little it takes to make something feel big — this project was less than 512 bytes&lt;/p&gt;

&lt;p&gt;🌱 Why I’ll Never Forget This&lt;br&gt;
It’s easy to overlook low-level concepts when we’re surrounded by modern abstractions. But building something that talks directly to the CPU — with no libraries, no OS, no safety nets — taught me respect for how machines really work.&lt;/p&gt;

&lt;p&gt;It also made me realize: every great operating system — even the big names — probably started as a “Hello World” moment like this.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/Sreeju7733/helloworld-os" rel="noopener noreferrer"&gt;https://github.com/Sreeju7733/helloworld-os&lt;/a&gt;&lt;/p&gt;

</description>
      <category>os</category>
      <category>opensource</category>
    </item>
    <item>
      <title>[GUIDE] Fingerprint Reader FIX for Dell Latitude (Broadcom 0a5c:5843) on Kubuntu 24.04</title>
      <dc:creator>Sreeju S</dc:creator>
      <pubDate>Fri, 18 Jul 2025 05:46:21 +0000</pubDate>
      <link>https://dev.to/sreeju/guide-fingerprint-reader-fix-for-dell-latitude-broadcom-0a5c5843-on-kubuntu-2404-5h0a</link>
      <guid>https://dev.to/sreeju/guide-fingerprint-reader-fix-for-dell-latitude-broadcom-0a5c5843-on-kubuntu-2404-5h0a</guid>
      <description>&lt;p&gt;Posting this because I struggled way too much to get the fingerprint reader working on my Dell Latitude 7420 running Kubuntu 24.04. Most guides are for 22.04 and broken in 2025. This one works 100% as of July 2025.&lt;/p&gt;

&lt;p&gt;📍 Hardware:&lt;br&gt;
Dell Latitude 7420&lt;br&gt;
Broadcom Fingerprint Reader&lt;br&gt;
USB ID: 0a5c:5843 (ControlVault 3)&lt;/p&gt;

&lt;p&gt;✅ What Works&lt;br&gt;
Fingerprint detected by lsusb&lt;br&gt;
Enrollment works&lt;br&gt;
Login via fingerprint works (both SDDM + lock screen)&lt;br&gt;
GUI &amp;amp; CLI enrollment both working&lt;/p&gt;

&lt;p&gt;🧠 Steps (Tested on Kubuntu 24.04)&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Install dependencies:
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt update
sudo apt install fprintd libpam-fprintd -y
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ol&gt;
&lt;li&gt;Manually install libssl1.1 (required for the Broadcom driver):
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2.24_amd64.deb
sudo dpkg -i libssl1.1_1.1.1f-1ubuntu2.24_amd64.deb
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;✅ Confirm it's installed:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ldconfig -p | grep libssl.so.1.1`
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Install Broadcom-specific fingerprint driver:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;wget http://dell.archive.canonical.com/updates/pool/public/libf/libfprint-2-tod1-broadcom/libfprint-2-tod1-broadcom_5.12.018-0ubuntu1~22.04.01_amd64.deb
sudo apt install ./libfprint-2-tod1-broadcom_5.12.018-0ubuntu1~22.04.01_amd64.deb
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Reboot (this is important):
&lt;/li&gt;
&lt;/ol&gt;

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

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Enroll your fingerprint:
&lt;/li&gt;
&lt;/ol&gt;

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

&lt;/div&gt;



&lt;p&gt;🟢 If you're stuck in a loop with enroll-stage-passed:&lt;br&gt;
Try a different finger&lt;br&gt;
Swipe slower / vary the angle&lt;br&gt;
Or try GUI:&lt;br&gt;
System Settings → Users → Add Fingerprint&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Enable fingerprint login:
&lt;/li&gt;
&lt;/ol&gt;

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

&lt;/div&gt;



&lt;p&gt;☑️ Check "Fingerprint authentication"&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Done!
You can now log in via fingerprint. Works with lock screen + SDDM.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;🧼 Optional: Clean up install files&lt;br&gt;
rm libssl1.1_1.1.1f-1ubuntu2.24_amd64.deb&lt;br&gt;
rm libfprint-2-tod1-broadcom_*.deb&lt;/p&gt;

&lt;p&gt;🧪 Tested on:&lt;br&gt;
Kubuntu 24.04&lt;br&gt;
Kernel 6.8.x&lt;br&gt;
Dell Latitude 7420 (BIOS Fingerprint enabled)&lt;br&gt;
No Snap used for fingerprint&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Install AWS locally!!</title>
      <dc:creator>Sreeju S</dc:creator>
      <pubDate>Tue, 08 Jul 2025 16:22:04 +0000</pubDate>
      <link>https://dev.to/sreeju/install-aws-locally-21dk</link>
      <guid>https://dev.to/sreeju/install-aws-locally-21dk</guid>
      <description>&lt;p&gt;Install AWS Locally: The Best Free &amp;amp; Open Source AWS Alternatives (Windows &amp;amp; Linux Guide)&lt;/p&gt;

&lt;p&gt;Learn how to run AWS services like EC2, S3, and Lambda locally without a credit card using free and open-source tools like LocalStack, OpenStack, MinIO, and more.&lt;/p&gt;

&lt;p&gt;tags: aws, devops, opensource, linux, cloud&lt;/p&gt;




&lt;h2&gt;
  
  
  Hey Techies! 👋
&lt;/h2&gt;

&lt;p&gt;It’s been a long time—hope you all are doing well. 🌤️&lt;/p&gt;

&lt;p&gt;I’m &lt;strong&gt;Sreeju&lt;/strong&gt;, a student who's passionate about DevOps and cloud computing. Recently, I had a wild idea...&lt;/p&gt;

&lt;p&gt;I wanted to learn AWS, but... the free tier &lt;strong&gt;needs a credit card&lt;/strong&gt;, and yeah—I didn’t have one. 💳❌&lt;/p&gt;

&lt;p&gt;So I asked myself:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"Can I run AWS services locally?"&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Turns out… YES! 💥&lt;br&gt;&lt;br&gt;
There are &lt;strong&gt;open-source alternatives&lt;/strong&gt; and &lt;strong&gt;local AWS emulators&lt;/strong&gt; that you can install on your &lt;strong&gt;Windows&lt;/strong&gt;, &lt;strong&gt;Ubuntu&lt;/strong&gt;, or &lt;strong&gt;other Linux distros&lt;/strong&gt;. Here’s what I discovered 👇&lt;/p&gt;




&lt;h2&gt;
  
  
  💎 Gem: &lt;strong&gt;LocalStack&lt;/strong&gt; – Mock AWS Locally for Free!
&lt;/h2&gt;

&lt;p&gt;LocalStack is an &lt;strong&gt;AWS cloud emulator&lt;/strong&gt; that runs entirely on your machine via Docker.&lt;/p&gt;

&lt;h3&gt;
  
  
  ✅ Supported AWS services:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Lambda, S3, DynamoDB, API Gateway, EC2, SNS, SQS, CloudWatch, and more!&lt;/li&gt;
&lt;li&gt;Compatible with Terraform, AWS CLI, CDK, and more!&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🌐 Website:
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://localstack.cloud/" rel="noopener noreferrer"&gt;https://localstack.cloud/&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🛠️ How to Install LocalStack
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🪟 &lt;strong&gt;For Windows Users&lt;/strong&gt;
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Prerequisites:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Install &lt;a href="https://www.docker.com/products/docker-desktop/" rel="noopener noreferrer"&gt;Docker Desktop&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Install &lt;a href="https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2-windows.html" rel="noopener noreferrer"&gt;AWS CLI for Windows&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Run LocalStack:
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Download LocalStack binary:&lt;br&gt;&lt;br&gt;
&lt;a href="https://docs.localstack.cloud/getting-started/installation/#windows" rel="noopener noreferrer"&gt;LocalStack Windows Installer&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Run via PowerShell:&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;\localstack.exe&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;start&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  🐧 &lt;strong&gt;For Ubuntu/Debian/Linux Users&lt;/strong&gt;
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Prerequisites:
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt update
&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;docker.io &lt;span class="nt"&gt;-y&lt;/span&gt;
&lt;span class="nb"&gt;sudo &lt;/span&gt;systemctl &lt;span class="nb"&gt;enable &lt;/span&gt;docker
&lt;span class="nb"&gt;sudo &lt;/span&gt;systemctl start docker
&lt;span class="nb"&gt;sudo &lt;/span&gt;usermod &lt;span class="nt"&gt;-aG&lt;/span&gt; docker &lt;span class="nv"&gt;$USER&lt;/span&gt;
newgrp docker
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Install LocalStack:
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;wget https://github.com/localstack/localstack/releases/latest/download/localstack
&lt;span class="nb"&gt;chmod&lt;/span&gt; +x localstack
./localstack start
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;blockquote&gt;
&lt;p&gt;You can still use it through CLI&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  🖥️ &lt;strong&gt;LocalStacheadingk Desktop GUI (Recommended)&lt;/strong&gt;
&lt;/h3&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%2Fd8e01d65mmywnwir0rhs.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%2Fd8e01d65mmywnwir0rhs.png" alt="Localstack Resource Browser" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Cross-platform GUI to manage AWS-like services locally.&lt;/p&gt;

&lt;h4&gt;
  
  
  Download:
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://app.localstack.cloud/download" rel="noopener noreferrer"&gt;https://app.localstack.cloud/download&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Linux AppImage:
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;chmod&lt;/span&gt; +x LocalStack-Desktop&lt;span class="k"&gt;*&lt;/span&gt;.AppImage
./LocalStack-Desktop&lt;span class="k"&gt;*&lt;/span&gt;.AppImage
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fc3wclfehld7cillnsqel.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%2Fc3wclfehld7cillnsqel.png" alt="Terminal in lackstack desktop" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🔥 Why This Is Awesome
&lt;/h2&gt;

&lt;p&gt;With this stack, you can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Learn AWS architecture without spending ₹₹₹&lt;/li&gt;
&lt;li&gt;Build and test Lambda/S3/DynamoDB apps locally&lt;/li&gt;
&lt;li&gt;Practice DevOps workflows using real tools&lt;/li&gt;
&lt;li&gt;Skip the credit card drama&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🌐 Top Open-Source AWS Alternatives You Can Run Locally
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. &lt;strong&gt;OpenStack&lt;/strong&gt; – &lt;em&gt;(Alternative to EC2, S3, EBS, VPC, etc.)&lt;/em&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Full IaaS stack to create your own private cloud.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.openstack.org/" rel="noopener noreferrer"&gt;https://www.openstack.org/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  2. &lt;strong&gt;Ceph&lt;/strong&gt; – &lt;em&gt;(Alternative to AWS S3 &amp;amp; EBS)&lt;/em&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Distributed storage: object, block, and file.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ceph.io/" rel="noopener noreferrer"&gt;https://ceph.io/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  3. &lt;strong&gt;MinIO&lt;/strong&gt; – &lt;em&gt;(Alternative to AWS S3)&lt;/em&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Lightweight, blazing-fast object storage that speaks S3 API.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://min.io/" rel="noopener noreferrer"&gt;https://min.io/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  4. &lt;strong&gt;Apache CloudStack&lt;/strong&gt; – &lt;em&gt;(Alternative to EC2 &amp;amp; Networking)&lt;/em&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Cloud orchestration for VMs, networks, and storage.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://cloudstack.apache.org/" rel="noopener noreferrer"&gt;https://cloudstack.apache.org/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  5. &lt;strong&gt;Kubernetes + Kubeflow / OpenShift&lt;/strong&gt; – &lt;em&gt;(Alternative to EKS/ECS)&lt;/em&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Container orchestration &amp;amp; ML pipelines.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://kubernetes.io/" rel="noopener noreferrer"&gt;https://kubernetes.io/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  6. &lt;strong&gt;Terraform&lt;/strong&gt; – &lt;em&gt;(Alternative to AWS CloudFormation)&lt;/em&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Infrastructure as Code for any cloud.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.terraform.io/" rel="noopener noreferrer"&gt;https://www.terraform.io/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  7. &lt;strong&gt;Apache Kafka&lt;/strong&gt; – &lt;em&gt;(Alternative to AWS Kinesis)&lt;/em&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Distributed event streaming platform.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://kafka.apache.org/" rel="noopener noreferrer"&gt;https://kafka.apache.org/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  8. &lt;strong&gt;PostgreSQL / MariaDB&lt;/strong&gt; – &lt;em&gt;(Alternative to AWS RDS)&lt;/em&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Reliable, open-source databases.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.postgresql.org/" rel="noopener noreferrer"&gt;https://www.postgresql.org/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mariadb.org/" rel="noopener noreferrer"&gt;https://mariadb.org/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  9. &lt;strong&gt;Prometheus + Grafana&lt;/strong&gt; – &lt;em&gt;(Alternative to CloudWatch)&lt;/em&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Powerful monitoring and alerting toolkit.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://prometheus.io/" rel="noopener noreferrer"&gt;https://prometheus.io/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://grafana.com/" rel="noopener noreferrer"&gt;https://grafana.com/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  10. &lt;strong&gt;OpenNebula / Proxmox VE&lt;/strong&gt; – &lt;em&gt;(Alternative to EC2 &amp;amp; VMs)&lt;/em&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Virtualization + private cloud platforms.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://opennebula.io/" rel="noopener noreferrer"&gt;https://opennebula.io/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.proxmox.com/" rel="noopener noreferrer"&gt;https://www.proxmox.com/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;







&lt;h2&gt;
  
  
  🙌 Let’s Connect!
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Follow me on &lt;a href="https://github.com/Sreeju7733" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Say hi on &lt;a href="https://linkedin.com/in/sreeeejuu" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;☕ Support me on &lt;a href="https://www.buymeacoffee.com/" rel="noopener noreferrer"&gt;BuyMeACoffee&lt;/a&gt; &lt;em&gt;(optional)&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  📢 Over to You!
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Have you tried running AWS services locally?&lt;/li&gt;
&lt;li&gt;Got any tools you love that I missed?&lt;/li&gt;
&lt;li&gt;Wanna build your own "Mini-AWS"?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Drop your thoughts below ⬇️&lt;br&gt;
Let’s geek out together! 🤓&lt;/p&gt;

</description>
      <category>aws</category>
      <category>cloud</category>
      <category>devops</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Cloud-related roles are in high demand. But why?</title>
      <dc:creator>Sreeju S</dc:creator>
      <pubDate>Wed, 24 Jul 2024 08:14:05 +0000</pubDate>
      <link>https://dev.to/sreeju/cloud-related-roles-are-in-high-demand-but-why-2o10</link>
      <guid>https://dev.to/sreeju/cloud-related-roles-are-in-high-demand-but-why-2o10</guid>
      <description>&lt;p&gt;Cloud-related roles are in high demand. But why is cloud computing so essential for companies?&lt;/p&gt;

&lt;p&gt;Take Netflix, for example. With millions of users streaming countless hours of content, they need massive storage capacity for user data, videos, and sales reports. Cloud computing solves this problem efficiently.&lt;/p&gt;

&lt;p&gt;Let me tell you why cloud computing is awesome in three points.&lt;/p&gt;

&lt;p&gt;First, flexibility. Imagine Instagram. No matter where you are in the world, you can access your account as long as you have your username and password.&lt;/p&gt;

&lt;p&gt;Second, scalability. As more users join, you can easily increase the capacity to accommodate everyone.&lt;/p&gt;

&lt;p&gt;And third, cost-effectiveness. You only pay for what you use, making it an economical choice for businesses.&lt;/p&gt;

&lt;p&gt;So if you're thinking of starting a career in cloud stop thinking and start doing. &lt;/p&gt;

</description>
      <category>cloud</category>
      <category>cloudcomputing</category>
      <category>beginners</category>
    </item>
    <item>
      <title>abs() and round() function in python</title>
      <dc:creator>Sreeju S</dc:creator>
      <pubDate>Sat, 30 Mar 2024 02:00:30 +0000</pubDate>
      <link>https://dev.to/sreeju/abs-and-round-function-in-python-5gm</link>
      <guid>https://dev.to/sreeju/abs-and-round-function-in-python-5gm</guid>
      <description>&lt;p&gt;Diffrence &lt;code&gt;abs()&lt;/code&gt; and &lt;code&gt;round()&lt;/code&gt; function in PYTHON&lt;/p&gt;

&lt;p&gt;&lt;code&gt;abs()&lt;/code&gt; function takes only one argument. In argument it basically takes number (for example integer and float). For complex number it returns the magnitude (for example : 3i+4j : √ (3)² + (4)² = 5).&lt;/p&gt;

&lt;p&gt;Other Examples are :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;var&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mf"&gt;65.6&lt;/span&gt;

&lt;span class="nf"&gt;print &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="n"&gt;var&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;OUTPUT&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;65&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;round()&lt;/code&gt; function can take two arguments. The first argument is the number which round-off value will be printed. The second argument is optional, tells up to which the given number (First argument) is rounded.&lt;/p&gt;

&lt;p&gt;For Example :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;round&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;51.6&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;round&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;51.4&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;round&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;2.665&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;OUTPUT&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt;
&lt;span class="mi"&gt;52&lt;/span&gt;
&lt;span class="mi"&gt;51&lt;/span&gt;
&lt;span class="mf"&gt;2.67&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;NOTE: Both functions will give type error if the argument is not numbers.&lt;/p&gt;

</description>
      <category>python</category>
      <category>difference</category>
      <category>productivity</category>
    </item>
    <item>
      <title>TypeScript vs JavaScript - What's the difference?</title>
      <dc:creator>Sreeju S</dc:creator>
      <pubDate>Sun, 26 Nov 2023 16:21:31 +0000</pubDate>
      <link>https://dev.to/sreeju/typescript-vs-javascript-whats-the-difference-3jmb</link>
      <guid>https://dev.to/sreeju/typescript-vs-javascript-whats-the-difference-3jmb</guid>
      <description>&lt;p&gt;JavaScript and TypeScript although sharing a common syntax and purpose, they have significant variations in their essential functionality. While TypeScript adds capabilities like static typing to JavaScript, it is still fundamentally a superset of JavaScript. Let's take a closer look at the fundamental differences between TypeScript and JavaScript.&lt;/p&gt;

&lt;p&gt;When comparing TypeScript to JavaScript, it's important to remember that most of the proper JavaScript code is valid TypeScript but not all. TypeScript may be thought of as a superset of JavaScript.&lt;/p&gt;

&lt;p&gt;To say it simply:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;JavaScript + more features = TypeScript&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;By analogy, if a JavaScript (.js) file is saved with a TypeScript (.ts) extension, it will compile and execute correctly. However, this does not imply that TypeScript and JavaScript are the same language.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Type System:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;JavaScript: Dynamically Typed&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;In JavaScript, variables are dynamically typed, meaning the type of a variable is determined at runtime.&lt;/li&gt;
&lt;li&gt;Example:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;  &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;x&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// x is initially a number&lt;/span&gt;
  &lt;span class="nx"&gt;x&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Hello&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// Later, x can be assigned a string&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;TypeScript: Statically Typed&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;TypeScript, on the other hand, supports static typing, allowing explicit type declarations.&lt;/li&gt;
&lt;li&gt;Example:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;  &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;x&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;number&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// x is explicitly declared as a number&lt;/span&gt;
  &lt;span class="c1"&gt;// x = 'Hello'; // This would result in a TypeScript error as x is expected to be a number&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Tooling Support:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;JavaScript: Basic Tooling&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;JavaScript has basic tooling support compared to TypeScript.&lt;/li&gt;
&lt;li&gt;Developers often use various libraries and tools for development but may lack robust IDE support.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;TypeScript: Advanced Tooling with IDE Support&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;TypeScript offers advanced tooling capabilities with extensive support in Integrated Development Environments (IDEs) like Visual Studio Code.&lt;/li&gt;
&lt;li&gt;IDEs provide features like auto-completion, error checking, and refactoring support, enhancing the development experience.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Compilation:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;JavaScript: Interpreted Directly by Browsers&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;JavaScript code is interpreted directly by browsers without the need for compilation.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;TypeScript: Requires Compilation&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;TypeScript requires compilation into JavaScript before execution, using tools like the TypeScript compiler (tsc).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Error Detection:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;JavaScript: Runtime Errors Possible&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;In JavaScript, errors may occur at runtime, making it challenging to catch all potential issues during development.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;TypeScript: Early Error Detection at Compile-Time&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;TypeScript performs static type checking during compilation, enabling early detection of errors before the code is executed.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Extensions, Compatibility, Adoption, and More:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;JavaScript files use the &lt;code&gt;.js&lt;/code&gt; extension, while TypeScript files use &lt;code&gt;.ts&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;All JavaScript code is valid TypeScript, as TypeScript is a superset of JavaScript.&lt;/li&gt;
&lt;li&gt;JavaScript has wider adoption, while TypeScript is increasingly gaining popularity, especially in larger projects.&lt;/li&gt;
&lt;li&gt;TypeScript introduces additional features like interfaces, enums, generics, and more, offering enhanced capabilities over traditional JavaScript.&lt;/li&gt;
&lt;li&gt;The learning curve for TypeScript might be steeper due to its added features, especially for developers transitioning from JavaScript.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;JavaScript remains a fundamental language for web development, TypeScript emerges as a powerful alternative offering static typing, early error detection, and advanced tooling support. Understanding the differences between these languages can assist developers in choosing the right tool for their projects based on specific requirements and preferences.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Follow For More ;)&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>typescript</category>
      <category>webdev</category>
      <category>comparison</category>
    </item>
    <item>
      <title>Golang or Rust: Which one to choose?</title>
      <dc:creator>Sreeju S</dc:creator>
      <pubDate>Thu, 09 Nov 2023 16:11:55 +0000</pubDate>
      <link>https://dev.to/sreeju/golang-or-rust-which-one-to-choose-3mmh</link>
      <guid>https://dev.to/sreeju/golang-or-rust-which-one-to-choose-3mmh</guid>
      <description>&lt;p&gt;&lt;strong&gt;Golang or Rust: Which one to choose?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Golang and Rust are two modern programming languages that have gained a lot of popularity in recent years. Both languages are compiled, efficient, and support concurrent programming. However, they also have some key differences.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Golang&lt;/strong&gt; is a simpler and easier language to learn. It has a small syntax and a set of standard libraries that provide a wide range of functionality. Golang also has a built-in garbage collector, which automatically manages memory allocation and deallocation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Rust&lt;/strong&gt; is a more complex language, but it also offers more control over memory and performance. Rust is a statically typed language, which means that the data types of all variables must be known at compile time. Rust also has a ownership system, which guarantees that memory is always used safely.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Which language should you choose?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The answer to this question depends on your specific needs. If you are looking for a simple and easy-to-learn programming language, Golang is a good choice. If you are looking for a programming language that gives you more control over memory and performance, Rust is a good choice.&lt;/p&gt;

&lt;p&gt;Here is a table that summarizes the main differences between Golang and Rust:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Golang&lt;/th&gt;
&lt;th&gt;Rust&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Learning curve&lt;/td&gt;
&lt;td&gt;Easier&lt;/td&gt;
&lt;td&gt;More difficult&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Memory safety&lt;/td&gt;
&lt;td&gt;Garbage collection&lt;/td&gt;
&lt;td&gt;Ownership system&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Performance&lt;/td&gt;
&lt;td&gt;Good&lt;/td&gt;
&lt;td&gt;Excellent&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Concurrency&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Community&lt;/td&gt;
&lt;td&gt;Large&lt;/td&gt;
&lt;td&gt;Large&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Syntax:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Rust’s syntax is more similar to C++, with a focus on explicitness and readability. Go’s syntax is simpler, which can make the language easier to learn and read.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Here is the "Hello, World!" program in both Golang and Rust:&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Golang:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;package main

import "fmt"

func main() {
  fmt.Println("Hello, World!")
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Rust:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight rust"&gt;&lt;code&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nd"&gt;println!&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Hello, World!"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To run the Golang program, you can use the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;go run main.go
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To run the Rust program, you can use the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;rustc main.rs &amp;amp;&amp;amp; ./main
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Both programs will print the following output to the console:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Hello, World!
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;&lt;em&gt;Use Cases:&lt;/em&gt;&lt;br&gt;
Rust:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Systems Programming: Rust’s control over system resources makes it ideal for low-level systems programming. It’s being used to build game engines, operating systems, browser components, and more.&lt;/li&gt;
&lt;li&gt;WebAssembly: Rust has strong support for WebAssembly, a binary format for executing code at near-native speed in web browsers. This makes Rust a good choice for high-performance web applications.&lt;/li&gt;
&lt;li&gt;Embedded Systems: Rust’s no-overhead abstractions and fine control over memory make it a good choice for programming embedded systems, where resources are limited and efficiency is critical.&lt;/li&gt;
&lt;li&gt;Game Development: Rust’s performance characteristics and safety features make it a promising language for game development. There are already several game engines written in Rust.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Go:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Web Development: Go’s simplicity and strong support for concurrent programming make it a great choice for web development. It’s often used to build APIs and web servers.&lt;/li&gt;
&lt;li&gt;Networking: Go’s standard library has excellent support for network programming, making it a good choice for building network tools and servers.&lt;/li&gt;
&lt;li&gt;Cloud Infrastructure: Go is often used in the field of cloud computing and has been used to build many of the tools and systems that power the modern web, including Docker, Kubernetes, and Terraform.&lt;/li&gt;
&lt;li&gt;DevOps Tools: Go’s simplicity, cross-platform support, and ability to produce static binaries with no external dependencies make it a popular choice for building DevOps tools.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Companies that use Rust and Go:&lt;/em&gt;&lt;br&gt;
Companies using Rust:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Mozilla: Rust was originally sponsored by Mozilla and is used in components of the Firefox browser.&lt;/li&gt;
&lt;li&gt;Dropbox: Dropbox uses Rust for several components of their backend infrastructure.&lt;/li&gt;
&lt;li&gt;Cloudflare: Cloudflare uses Rust in their edge computing platform, as well as for other system-level tools.&lt;/li&gt;
&lt;li&gt;Microsoft: Microsoft has been increasingly adopting Rust for system-level components in Windows and Azure.&lt;/li&gt;
&lt;li&gt;Amazon Web Services (AWS): AWS uses Rust in performance-sensitive components of their services, and they sponsor the Rust project.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Companies using Go:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Google: Go was developed at Google, and it’s used in many of Google’s internal systems and projects, including Kubernetes and gVisor.&lt;/li&gt;
&lt;li&gt;Uber: Uber uses Go extensively in their microservice architecture.&lt;/li&gt;
&lt;li&gt;Docker: Docker, the popular containerization platform, is written in Go.&lt;/li&gt;
&lt;li&gt;Dropbox: Dropbox migrated much of their backend infrastructure from Python to Go for performance reasons.
Twitch: Twitch uses Go for many of their backend systems and real-time services.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;Golang and Rust are both excellent programming languages. Choosing the right language for you will depend on your specific needs. If you are looking for a simple and easy-to-learn programming language, Golang is a good choice. If you are looking for a programming language that gives you more control over memory and performance, Rust is a good choice.&lt;/p&gt;

&lt;p&gt;I hope this blog post has been helpful. Please let me know if you have any questions.&lt;/p&gt;

</description>
      <category>go</category>
      <category>programming</category>
      <category>rust</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Go for beginners</title>
      <dc:creator>Sreeju S</dc:creator>
      <pubDate>Thu, 09 Nov 2023 15:54:19 +0000</pubDate>
      <link>https://dev.to/sreeju/go-for-beginners-4h86</link>
      <guid>https://dev.to/sreeju/go-for-beginners-4h86</guid>
      <description>&lt;p&gt;&lt;strong&gt;Go for beginners&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Go, also known as Golang, is a modern programming language developed at Google in 2009. It is a compiled language, which means that Go programs are converted into machine code that can be executed directly by the computer. Go is also a statically typed language, which means that the data types of all variables must be known at compile time.&lt;/p&gt;

&lt;p&gt;Go is a popular choice for developing web applications, cloud computing services, and command-line tools. It is also used in a variety of other domains, such as machine learning, distributed systems, and networking.&lt;/p&gt;

&lt;p&gt;Here are some of the benefits of using Go:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Simple:&lt;/strong&gt; Go is a relatively simple language to learn, even for beginners. It has a small syntax and a standard library that provides a wide range of functionality.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Efficient:&lt;/strong&gt; Go programs are compiled into machine code, which makes them very efficient. Go also has a built-in garbage collector, which automatically manages memory allocation and deallocation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Concurrent:&lt;/strong&gt; Go supports concurrent programming, which means that multiple tasks can be executed simultaneously. This is useful for developing applications that need to handle a large number of concurrent requests.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tooling:&lt;/strong&gt; Go has a good set of tools, including a compiler, debugger, and IDE. This makes it easy to develop and debug Go programs.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you are interested in learning to program in Go, there are a number of resources available online and in libraries. You can also find a number of tutorials and books on Go.&lt;/p&gt;

&lt;p&gt;Here are some tips for getting started with Go:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Install the Go compiler:&lt;/strong&gt; You can download the Go compiler from the Go website.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Create a Go project:&lt;/strong&gt; To create a new Go project, create a directory for your project and navigate to it in your terminal. Then, run the following command:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;go mod init &amp;lt;project-name&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Write a Go program:&lt;/strong&gt; To write a Go program, create a file with the &lt;code&gt;.go&lt;/code&gt; extension. For example, you could create a file called &lt;code&gt;main.go&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Compile and run your Go program:&lt;/strong&gt; To compile and run your Go program, run the following command:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight go"&gt;&lt;code&gt;&lt;span class="k"&gt;go&lt;/span&gt; &lt;span class="n"&gt;run&lt;/span&gt; &lt;span class="n"&gt;main&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="k"&gt;go&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Once you have the basics down, you can start learning more about advanced Go topics, such as concurrency, error handling, and testing.&lt;/p&gt;

&lt;p&gt;Here are some resources that you may find helpful:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The Go Programming Language website: &lt;a href="https://go.dev/:"&gt;https://go.dev/:&lt;/a&gt; This website contains a wealth of information about Go, including tutorials, documentation, and examples.&lt;/li&gt;
&lt;li&gt;Go by Example: &lt;a href="https://gobyexample.com/:"&gt;https://gobyexample.com/:&lt;/a&gt; This website provides a series of interactive Go tutorials.&lt;/li&gt;
&lt;li&gt;Effective Go: &lt;a href="https://go.dev/doc/effective_go:"&gt;https://go.dev/doc/effective_go:&lt;/a&gt; This book provides a number of tips and best practices for writing Go code.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I hope this blog post has given you a good introduction to Go. If you have any questions, please leave a comment below.&lt;/p&gt;

</description>
      <category>go</category>
      <category>networking</category>
      <category>distributedsystems</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>Defference Between target=_blank &amp; target=blank</title>
      <dc:creator>Sreeju S</dc:creator>
      <pubDate>Mon, 16 May 2022 17:25:02 +0000</pubDate>
      <link>https://dev.to/sreeju/defference-between-targetblank-targetblank-2m5d</link>
      <guid>https://dev.to/sreeju/defference-between-targetblank-targetblank-2m5d</guid>
      <description>&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/PnVxQF_nfYs"&gt;
&lt;/iframe&gt;
&lt;br&gt;
&lt;strong&gt;Subscribe&lt;/strong&gt;: &lt;a href="https://youtube.com/channel/ucy9pmpvwypfcek8lxwgiz2w"&gt;Click Here&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>html</category>
    </item>
  </channel>
</rss>
