<?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>Forem: Kushal_Meghani1644</title>
    <description>The latest articles on Forem by Kushal_Meghani1644 (@kushalmeghani1644).</description>
    <link>https://forem.com/kushalmeghani1644</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%2F3252299%2Fd2d15772-5bfb-46b1-a602-0916f20fbd44.png</url>
      <title>Forem: Kushal_Meghani1644</title>
      <link>https://forem.com/kushalmeghani1644</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/kushalmeghani1644"/>
    <language>en</language>
    <item>
      <title>RustyBoot-RISCV - A bare metal Boot-loader in Rust</title>
      <dc:creator>Kushal_Meghani1644</dc:creator>
      <pubDate>Mon, 29 Sep 2025 12:18:46 +0000</pubDate>
      <link>https://forem.com/kushalmeghani1644/rustyboot-riscv-a-bare-metal-boot-loader-in-rust-171g</link>
      <guid>https://forem.com/kushalmeghani1644/rustyboot-riscv-a-bare-metal-boot-loader-in-rust-171g</guid>
      <description>&lt;p&gt;Hey folks!&lt;/p&gt;

&lt;p&gt;I’m excited to share my new project: RustyBoot-RISCV, a minimal bare-metal bootloader for RISC-V, written entirely in Rust (no_std, no_main). This is a continuation of my RustyBoot series — but this time for RISC-V!&lt;/p&gt;

&lt;p&gt;Why?&lt;/p&gt;

&lt;p&gt;I’ve always wanted to explore low-level OS development while keeping the safety and modern tooling of Rust. RISC-V is an open and growing architecture, and writing a bootloader for it seemed like the perfect challenge.&lt;/p&gt;

&lt;p&gt;RustyBoot-RISCV aims to be:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Minimal: simple linker script, _start, and UART output.&lt;/li&gt;
&lt;li&gt;Modular: UART, memory, filesystem, and ELF modules split for clarity.&lt;/li&gt;
&lt;li&gt;Educational: a project for learning + experimenting.&lt;/li&gt;
&lt;li&gt;Compatible: runs on QEMU virt machine for easy testing.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Project Structure
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;├── src/
│   ├── main.rs      # entrypoint (_start)
│   ├── panic.rs     # custom panic handler
│   ├── uart/        # UART driver
│   ├── memory/      # memory handling
│   ├── block/       # block device abstraction
│   ├── fs/          # filesystem support
│   └── elf/         # ELF loader
├── linker.ld        # linker script (entry at 0x8000_0000)
└── boot/            # boot assets (future use)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Build
&lt;/h2&gt;

&lt;p&gt;Make sure you have a RISC-V target installed:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;rustup target add riscv64imac-unknown-none-elf

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then Build&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;cargo build &lt;span class="nt"&gt;--target&lt;/span&gt; riscv64imac-unknown-none-elf
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Run in QEMU
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;qemu-system-riscv64 &lt;span class="se"&gt;\&lt;/span&gt;
    &lt;span class="nt"&gt;-machine&lt;/span&gt; virt &lt;span class="se"&gt;\&lt;/span&gt;
    &lt;span class="nt"&gt;-nographic&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
    &lt;span class="nt"&gt;-bios&lt;/span&gt; none &lt;span class="se"&gt;\&lt;/span&gt;
    &lt;span class="nt"&gt;-kernel&lt;/span&gt; target/riscv64imac-unknown-none-elf/debug/RustyBoot-RISCV &lt;span class="se"&gt;\&lt;/span&gt;
    &lt;span class="nt"&gt;-serial&lt;/span&gt; mon:stdio
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You should see:&lt;br&gt;
" === RustyBoot-RISCV === "&lt;/p&gt;

&lt;h2&gt;
  
  
  Features so far
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Custom _start entrypoint (Rust 2024 requires #[unsafe(no_mangle)])&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;UART driver with println support&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Panic handler&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Planned:&lt;/strong&gt; ELF loading, filesystem parsing, memory management, etc.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❤️ Built with Rust
&lt;/h3&gt;

&lt;p&gt;Check-out the repository:&lt;br&gt;
Github: &lt;a href="https://github.com/KushalMeghani1644/RustyBoot-RISCV.git" rel="noopener noreferrer"&gt;https://github.com/KushalMeghani1644/RustyBoot-RISCV.git&lt;/a&gt;&lt;br&gt;
Gitlab: &lt;a href="https://gitlab.com/KushalMeghani1644/RustyBoot-RISCV.git" rel="noopener noreferrer"&gt;https://gitlab.com/KushalMeghani1644/RustyBoot-RISCV.git&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thank You!&lt;/p&gt;

</description>
      <category>osdev</category>
      <category>bootloader</category>
      <category>rust</category>
      <category>programming</category>
    </item>
    <item>
      <title>Creating a boot-loader from scratch... Meet: RustyBoot!</title>
      <dc:creator>Kushal_Meghani1644</dc:creator>
      <pubDate>Tue, 16 Sep 2025 12:42:12 +0000</pubDate>
      <link>https://forem.com/kushalmeghani1644/creating-a-boot-loader-from-scratch-meet-rustyboot-2n82</link>
      <guid>https://forem.com/kushalmeghani1644/creating-a-boot-loader-from-scratch-meet-rustyboot-2n82</guid>
      <description>&lt;p&gt;"Exploring the fascinating world of low-level systems programming by building a bootloader in Rust that can load ELF kernels from EXT filesystems"&lt;/p&gt;




&lt;p&gt;Ever wondered what happens in those critical first moments when your computer boots up? &lt;/p&gt;

&lt;p&gt;Building a bootloader is one of the most fascinating journeys into low-level systems programming, and doing it in Rust adds memory safety to the mix. Today, I'm excited to share &lt;strong&gt;RustyBoot&lt;/strong&gt; - a single-stage x86 bootloader written entirely in Rust that can load ELF kernels from EXT filesystems.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is RustyBoot?
&lt;/h2&gt;

&lt;p&gt;RustyBoot is a &lt;strong&gt;freestanding x86 bootloader&lt;/strong&gt; that bridges the gap between your computer's firmware and your operating system kernel. Unlike traditional bootloaders that might rely on assembly or C, RustyBoot leverages Rust's zero-cost abstractions and memory safety guarantees in a &lt;code&gt;no_std&lt;/code&gt; environment.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Pure Rust Implementation&lt;/strong&gt;: Built with &lt;code&gt;no_std&lt;/code&gt; and &lt;code&gt;panic=abort&lt;/code&gt; for a truly freestanding environment&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;EXT Filesystem Support&lt;/strong&gt;: Reads EXT2/EXT3/EXT4 filesystems with direct, single indirect, and double indirect block support&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ELF32 Kernel Loading&lt;/strong&gt;: Parses and loads ELF32 executables into memory&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ATA PIO Disk Driver&lt;/strong&gt;: Direct hardware communication for disk operations&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Memory Management&lt;/strong&gt;: Simple bump allocator managing 1MB to 8MB region&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;VGA Text Console&lt;/strong&gt;: Classic text-mode output for debugging and status messages&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Architecture
&lt;/h2&gt;

&lt;p&gt;The bootloader follows a clean, modular design that handles the entire boot process:&lt;/p&gt;

&lt;p&gt;Hardware Reset → VGA Init → Memory Init → ATA PIO Init&lt;br&gt;
→ MBR Parse → EXT Filesystem → Kernel Discovery&lt;br&gt;
→ ELF Loading → Memory Reservation → Kernel Jump&lt;/p&gt;

&lt;h3&gt;
  
  
  Core Components
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Disk Operations&lt;/strong&gt;: The ATA PIO driver handles hardware-level disk communication, reading sectors directly from the primary master drive.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Filesystem Layer&lt;/strong&gt;: The EXT reader validates filesystem magic numbers, handles various block sizes (1KB to 4KB), and navigates directory structures to locate kernel files.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Kernel Loader&lt;/strong&gt;: Searches common kernel paths (&lt;code&gt;/boot/vmlinuz&lt;/code&gt;, &lt;code&gt;/boot/kernel&lt;/code&gt;, &lt;code&gt;/kernel&lt;/code&gt;, &lt;code&gt;/boot/bzImage&lt;/code&gt;) and loads ELF32 PT_LOAD segments to their specified virtual addresses.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Rust for Bootloader Development?
&lt;/h2&gt;

&lt;p&gt;Traditional bootloaders are often written in assembly or C, but Rust brings several advantages to low-level systems programming:&lt;/p&gt;

&lt;h3&gt;
  
  
  Memory Safety Without Runtime Cost
&lt;/h3&gt;

&lt;p&gt;Rust's ownership system prevents common bootloader bugs like buffer overflows and null pointer dereferences - critical in an environment where a crash means a complete system halt.&lt;/p&gt;

&lt;h3&gt;
  
  
  Zero-Cost Abstractions
&lt;/h3&gt;

&lt;p&gt;Higher-level constructs like iterators and pattern matching compile down to efficient assembly, making the code more readable without performance penalties.&lt;/p&gt;

&lt;h3&gt;
  
  
  Rich Type System
&lt;/h3&gt;

&lt;p&gt;Rust's enums and structs make it easier to model complex data structures like MBR partition tables and ELF headers safely.&lt;/p&gt;

&lt;h2&gt;
  
  
  Technical Deep Dive
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Building the Project
&lt;/h3&gt;

&lt;p&gt;The build process uses a custom target specification and linker script:&lt;/p&gt;

&lt;p&gt;// Target: i686-bootloader.json&lt;br&gt;
{&lt;br&gt;
"llvm-target": "i686-unknown-none",&lt;br&gt;
"data-layout": "e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128",&lt;br&gt;
"arch": "x86",&lt;br&gt;
"target-endian": "little",&lt;br&gt;
"target-pointer-width": "32",&lt;br&gt;
"target-c-int-width": "32",&lt;br&gt;
"os": "none",&lt;br&gt;
"executables": true,&lt;br&gt;
"linker-flavor": "ld.lld",&lt;br&gt;
"panic-strategy": "abort",&lt;br&gt;
"disable-redzone": true,&lt;br&gt;
"code-model": "kernel"&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;The linker script places the &lt;code&gt;.text&lt;/code&gt; section at &lt;code&gt;0x8000&lt;/code&gt;, ensuring proper memory layout for x86 real mode execution.&lt;/p&gt;

&lt;h3&gt;
  
  
  Filesystem Implementation
&lt;/h3&gt;

&lt;p&gt;RustyBoot implements a minimal but functional EXT filesystem reader:&lt;/p&gt;

&lt;p&gt;// Simplified EXT superblock validation&lt;br&gt;
fn validate_ext_superblock(superblock: &amp;amp;ExtSuperblock) -&amp;gt; Result&amp;lt;(), ExtError&amp;gt; {&lt;br&gt;
if superblock.magic != 0xEF53 {&lt;br&gt;
return Err(ExtError::InvalidMagic);&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;// Reject complex features for simplicity&lt;br&gt;
if superblock.feature_incompat &amp;amp; FEATURE_EXTENTS != 0 {&lt;br&gt;
    return Err(ExtError::UnsupportedFeature);&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;Ok(())&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;This approach prioritizes reliability over feature completeness - perfect for early boot environments where simplicity is crucial.&lt;/p&gt;

&lt;h2&gt;
  
  
  Getting Started
&lt;/h2&gt;

&lt;p&gt;Want to try RustyBoot? Here's how to build and run it:&lt;/p&gt;

&lt;h2&gt;
  
  
  Install Rust with LLVM tools
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;rustup component add llvm-tools-preview&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Build the bootloader
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;make bootloader&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Create a test disk image
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;make disk&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Run in QEMU
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;make run&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The generated &lt;code&gt;disk.img&lt;/code&gt; contains the boot sector. To boot a real kernel, attach a drive with an EXT filesystem containing your kernel at one of the supported paths.&lt;/p&gt;

&lt;h2&gt;
  
  
  Current Limitations and Future Plans
&lt;/h2&gt;

&lt;p&gt;RustyBoot currently has some intentional limitations that keep the codebase focused and educational:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;32-bit only&lt;/strong&gt;: No long mode setup for x86_64&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Single disk support&lt;/strong&gt;: Primary master ATA PIO only
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;File size limit&lt;/strong&gt;: 1MB maximum due to compile-time buffer constraints&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No advanced EXT features&lt;/strong&gt;: Extents and 64-bit features not supported&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These limitations make RustyBoot perfect for learning and experimentation while keeping the complexity manageable.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Learning Journey
&lt;/h2&gt;

&lt;p&gt;Building RustyBoot taught me invaluable lessons about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Hardware abstraction&lt;/strong&gt;: Working directly with ATA controllers and VGA hardware&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Filesystem internals&lt;/strong&gt;: Understanding how EXT filesystems organize data on disk&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Memory management&lt;/strong&gt;: Implementing allocation in constrained environments&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Binary formats&lt;/strong&gt;: Parsing and loading ELF executables&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rust in embedded contexts&lt;/strong&gt;: Using Rust's features in &lt;code&gt;no_std&lt;/code&gt; environments&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What's Next?
&lt;/h2&gt;

&lt;p&gt;RustyBoot is part of the &lt;strong&gt;Rusty-Suite&lt;/strong&gt; - a collection of systems programming projects in Rust. Future enhancements might include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;FAT filesystem support (currently stubbed)&lt;/li&gt;
&lt;li&gt;x86_64 long mode transitions&lt;/li&gt;
&lt;li&gt;UEFI compatibility&lt;/li&gt;
&lt;li&gt;Enhanced error handling and recovery&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Join the Journey
&lt;/h2&gt;

&lt;p&gt;Operating systems development in Rust is an exciting and rapidly growing field. Whether you're interested in bootloaders, kernels, or embedded systems, there's never been a better time to explore low-level programming with Rust's safety guarantees.&lt;/p&gt;

&lt;p&gt;Check out the &lt;a href="https://github.com/KushalMeghani1644/RustyBoot" rel="noopener noreferrer"&gt;RustyBoot repository&lt;/a&gt; to explore the code, contribute improvements, or use it as a starting point for your own bootloader adventures.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Have questions about bootloader development or Rust systems programming? Drop them in the comments below! I'd love to discuss the technical details and help others on their own low-level programming journeys.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>rust</category>
      <category>systemsprogramming</category>
      <category>bootloader</category>
      <category>osdev</category>
    </item>
    <item>
      <title>🚀 Introducing the Rusty-Suite: Built with ❤️ in Rust</title>
      <dc:creator>Kushal_Meghani1644</dc:creator>
      <pubDate>Sun, 24 Aug 2025 02:21:54 +0000</pubDate>
      <link>https://forem.com/kushalmeghani1644/introducing-the-rusty-suite-built-with-in-rust-2957</link>
      <guid>https://forem.com/kushalmeghani1644/introducing-the-rusty-suite-built-with-in-rust-2957</guid>
      <description>&lt;p&gt;Hey folks I am Kushal Meghani!👋&lt;/p&gt;

&lt;p&gt;I’ve been working on something I’m really excited to share — the Rusty-Suite: a collection of free and open-source tools written in Rust.&lt;/p&gt;

&lt;p&gt;The suite currently includes:&lt;/p&gt;

&lt;p&gt;📝 RustyTodos → A TUI-based todo app (with a GUI port in progress using Tauri).&lt;/p&gt;

&lt;p&gt;💻 RustyBoot → A simple bootloader that can boot into ext partitions.&lt;/p&gt;

&lt;p&gt;📂 ls-rs → A Rust-powered clone of the classic ls command.&lt;/p&gt;

&lt;p&gt;🔒 Rusty-Checker → A RowHammer vulnerability tester with advanced memory stress patterns.&lt;/p&gt;

&lt;p&gt;All projects are GPLv3 licensed, maintained daily, and open to contributions. The goal is simple: make practical, low-level, and fun Rust tools that anyone can use and learn from.&lt;/p&gt;

&lt;p&gt;🌐 Check out the official site: &lt;a href="https://rusty-suite.tech/" rel="noopener noreferrer"&gt;https://rusty-suite.tech/&lt;/a&gt;&lt;br&gt;
🐙 GitHub: &lt;a href="https://github.com/KushalMeghani1644/" rel="noopener noreferrer"&gt;https://github.com/KushalMeghani1644/&lt;/a&gt;&lt;br&gt;
🦊 GitLab: &lt;a href="https://gitlab.com/KushalMeghani1644/" rel="noopener noreferrer"&gt;https://gitlab.com/KushalMeghani1644/&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>🚀 Introducing RustyTodos: A Clean, Minimal TUI Todo App in Rust</title>
      <dc:creator>Kushal_Meghani1644</dc:creator>
      <pubDate>Sun, 15 Jun 2025 06:15:47 +0000</pubDate>
      <link>https://forem.com/kushalmeghani1644/introducing-rustytodos-a-clean-minimal-tui-todo-app-in-rust-1pah</link>
      <guid>https://forem.com/kushalmeghani1644/introducing-rustytodos-a-clean-minimal-tui-todo-app-in-rust-1pah</guid>
      <description>&lt;p&gt;Hey devs!&lt;/p&gt;

&lt;p&gt;I just released my first-ever open-source crate on &lt;a href="https://crates.io/crates/RustyTodos" rel="noopener noreferrer"&gt;crates.io&lt;/a&gt; — &lt;strong&gt;RustyTodos&lt;/strong&gt;, a terminal-based todo app built entirely in Rust using &lt;a href="https://crates.io/crates/ratatui" rel="noopener noreferrer"&gt;&lt;code&gt;ratatui&lt;/code&gt;&lt;/a&gt; and &lt;a href="https://crates.io/crates/crossterm" rel="noopener noreferrer"&gt;&lt;code&gt;crossterm&lt;/code&gt;&lt;/a&gt;!&lt;/p&gt;




&lt;p&gt;✨ Features&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;✅ Clean and intuitive TUI layout&lt;/li&gt;
&lt;li&gt;🔍 Powerful todo search&lt;/li&gt;
&lt;li&gt;⏰ Flexible due date input&lt;/li&gt;
&lt;li&gt;🔔 Cross-platform notifications&lt;/li&gt;
&lt;li&gt;📦 Easily installable via &lt;code&gt;cargo install&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  📦 Installation
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
bash
cargo install RustyTodos
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>programming</category>
      <category>opensource</category>
      <category>learning</category>
      <category>rust</category>
    </item>
    <item>
      <title>RustyTodos v2.1.1! A TUI based todo app made in Rust!</title>
      <dc:creator>Kushal_Meghani1644</dc:creator>
      <pubDate>Sun, 08 Jun 2025 10:52:51 +0000</pubDate>
      <link>https://forem.com/kushalmeghani1644/rustytodos-v211-a-tui-based-todo-app-made-in-rust-3pg3</link>
      <guid>https://forem.com/kushalmeghani1644/rustytodos-v211-a-tui-based-todo-app-made-in-rust-3pg3</guid>
      <description>&lt;p&gt;Hello Dev.to community! 👋&lt;/p&gt;

&lt;p&gt;I’m excited to share the latest update to my terminal-based todo app written in Rust: RustyTodos v2.1.1.&lt;/p&gt;

&lt;p&gt;If you love organizing your tasks without leaving the terminal, this might be right up your alley.&lt;br&gt;
What’s New?&lt;/p&gt;

&lt;p&gt;**&lt;br&gt;
    🔍 Search Functionality — Quickly find todos by keyword&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;💾 Persistent Storage — Todos are saved in JSON files, so your work isn’t lost

📅 Flexible Date Formats — Accepts dates in YYYY-MM-DD format or just say 'Today', 'Tomorrow', 'Monday', etc.

🖥️ Working Terminal UI (TUI) — Clean, interactive, and user-friendly interface**
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Why RustyTodos?&lt;/p&gt;

&lt;p&gt;I built this app because I wanted a simple yet powerful todo manager that fits naturally into my workflow without relying on GUIs or heavy apps. Rust’s safety and performance make it a great choice for this kind of tool.&lt;br&gt;
How to Use&lt;/p&gt;

&lt;p&gt;You can grab the binaries or source code from my GitHub repo:&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://github.com/KushalMeghani1644/RustyTodos.git" rel="noopener noreferrer"&gt;https://github.com/KushalMeghani1644/RustyTodos.git&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Extract and run the binary for your platform (Linux or Windows), and start organizing!&lt;/p&gt;

&lt;p&gt;Feedback and contributions are always welcome!&lt;/p&gt;

&lt;p&gt;Thanks for reading! If you try RustyTodos, I’d love to hear your thoughts or suggestions in the comments.&lt;/p&gt;

</description>
      <category>learning</category>
      <category>rust</category>
    </item>
  </channel>
</rss>
