<?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: Manish Joshi</title>
    <description>The latest articles on Forem by Manish Joshi (@manish112233).</description>
    <link>https://forem.com/manish112233</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%2F3670795%2F3770c577-f602-4eeb-aa3c-b74790bd4f02.png</url>
      <title>Forem: Manish Joshi</title>
      <link>https://forem.com/manish112233</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/manish112233"/>
    <language>en</language>
    <item>
      <title>I Built SoftLA: A Software-Only Logic Analyzer for UART &amp; I2C Debugging (No Hardware Required)</title>
      <dc:creator>Manish Joshi</dc:creator>
      <pubDate>Sat, 20 Dec 2025 09:08:49 +0000</pubDate>
      <link>https://forem.com/manish112233/i-built-softla-a-software-only-logic-analyzer-for-uart-i2c-debugging-no-hardware-required-1n5c</link>
      <guid>https://forem.com/manish112233/i-built-softla-a-software-only-logic-analyzer-for-uart-i2c-debugging-no-hardware-required-1n5c</guid>
      <description>&lt;p&gt;Embedded and firmware debugging often becomes a guessing game.&lt;/p&gt;

&lt;p&gt;UART data gets corrupted.&lt;br&gt;
I2C devices don’t respond.&lt;br&gt;
Code looks correct.&lt;br&gt;
And most of the time, a hardware logic analyzer is not available.&lt;/p&gt;

&lt;p&gt;To solve this exact problem, I built SoftLA.&lt;/p&gt;

&lt;p&gt;🚀 What is SoftLA?&lt;/p&gt;

&lt;p&gt;SoftLA is a software-only logic analyzer that helps debug UART and I2C communication issues using simple pin-level trace logs, without requiring any hardware logic analyzer.&lt;/p&gt;

&lt;p&gt;It is designed for:&lt;/p&gt;

&lt;p&gt;Embedded developers&lt;/p&gt;

&lt;p&gt;Firmware engineers&lt;/p&gt;

&lt;p&gt;IoT teams&lt;/p&gt;

&lt;p&gt;Students learning real protocol debugging&lt;/p&gt;

&lt;p&gt;🔧 What Problems Does SoftLA Solve?&lt;br&gt;
UART Debugging&lt;/p&gt;

&lt;p&gt;Detects START bit&lt;/p&gt;

&lt;p&gt;Decodes UART byte (LSB first)&lt;/p&gt;

&lt;p&gt;Validates STOP bit&lt;/p&gt;

&lt;p&gt;Detects framing errors&lt;/p&gt;

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

&lt;p&gt;UART 1100 0x41 'A' OK&lt;/p&gt;

&lt;p&gt;I2C Debugging&lt;/p&gt;

&lt;p&gt;Detects START condition&lt;/p&gt;

&lt;p&gt;Detects STOP condition&lt;/p&gt;

&lt;p&gt;Helps identify bus hang issues&lt;/p&gt;

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

&lt;p&gt;I2C 1200 START&lt;br&gt;
I2C 2200 STOP&lt;/p&gt;

&lt;p&gt;🧠 Why SoftLA is Different&lt;/p&gt;

&lt;p&gt;❌ No hardware required&lt;/p&gt;

&lt;p&gt;❌ No waveform guessing&lt;/p&gt;

&lt;p&gt;❌ No expensive tools&lt;/p&gt;

&lt;p&gt;✅ Works from plain text logs&lt;/p&gt;

&lt;p&gt;✅ Command-line based (CLI)&lt;/p&gt;

&lt;p&gt;✅ CI-friendly&lt;/p&gt;

&lt;p&gt;✅ Works on Windows and Linux&lt;/p&gt;

&lt;p&gt;This makes SoftLA ideal for automation, regression testing, and CI pipelines.&lt;/p&gt;

&lt;p&gt;🪟 Windows SmartScreen Warning (Important)&lt;/p&gt;

&lt;p&gt;When downloading softla.exe on Windows, you may see:&lt;/p&gt;

&lt;p&gt;“Windows protected your PC”&lt;/p&gt;

&lt;p&gt;This happens because the binary is unsigned (common for open-source tools).&lt;/p&gt;

&lt;p&gt;How to run:&lt;/p&gt;

&lt;p&gt;Click More info&lt;/p&gt;

&lt;p&gt;Click Run anyway&lt;/p&gt;

&lt;p&gt;Open terminal in the folder&lt;/p&gt;

&lt;p&gt;Run:&lt;/p&gt;

&lt;p&gt;.\softla.exe samples\uart.log&lt;/p&gt;

&lt;p&gt;SoftLA is a CLI tool, not a GUI app, so double-clicking will not show any window.&lt;/p&gt;

&lt;p&gt;🛠️ Build &amp;amp; Usage&lt;/p&gt;

&lt;p&gt;Build:&lt;/p&gt;

&lt;p&gt;gcc src/*.c -Iinclude -o softla&lt;/p&gt;

&lt;p&gt;Run:&lt;/p&gt;

&lt;p&gt;softla samples/uart.log&lt;br&gt;
softla samples/i2c.log&lt;/p&gt;

&lt;p&gt;🔗 GitHub Repository&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://github.com/Manish112233/SoftLA" rel="noopener noreferrer"&gt;https://github.com/Manish112233/SoftLA&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;👤 About the Author&lt;/p&gt;

&lt;p&gt;Hi, I’m Manish Joshi, a software engineer working at the intersection of embedded systems, firmware, and developer tooling.&lt;br&gt;
SoftLA was built to solve real-world debugging problems I personally faced.&lt;/p&gt;

&lt;p&gt;🏁 Final Thoughts&lt;/p&gt;

&lt;p&gt;SoftLA is not a replacement for hardware analyzers —&lt;br&gt;
it is a practical, lightweight, and automation-friendly alternative when hardware is unavailable.&lt;/p&gt;

&lt;p&gt;If you work with UART or I2C, I’d love your feedback.&lt;/p&gt;

</description>
      <category>embedded</category>
      <category>opensource</category>
      <category>firmware</category>
      <category>debugging</category>
    </item>
    <item>
      <title>I built a CLI to check if your GitHub repository is complete</title>
      <dc:creator>Manish Joshi</dc:creator>
      <pubDate>Fri, 19 Dec 2025 17:09:21 +0000</pubDate>
      <link>https://forem.com/manish112233/i-built-a-cli-to-check-if-your-github-repository-is-complete-7d1</link>
      <guid>https://forem.com/manish112233/i-built-a-cli-to-check-if-your-github-repository-is-complete-7d1</guid>
      <description>&lt;p&gt;Every time I share a repo, I ask myself:&lt;/p&gt;

&lt;p&gt;– Did I forget a README section?&lt;br&gt;
– Is CI set up?&lt;br&gt;
– Did I add a LICENSE?&lt;br&gt;
– Does this look professional?&lt;/p&gt;

&lt;p&gt;Most of the time, something is missing.&lt;/p&gt;

&lt;p&gt;So I built a small zero-config CLI that checks repository readiness for me.&lt;/p&gt;

&lt;p&gt;It scans your repo and tells you what’s missing:&lt;br&gt;
– Documentation completeness&lt;br&gt;
– License &amp;amp; legal files&lt;br&gt;
– Git hygiene&lt;br&gt;
– CI / automation presence&lt;br&gt;
– Release readiness&lt;/p&gt;

&lt;p&gt;Run:&lt;br&gt;
npx repo-health&lt;/p&gt;

&lt;p&gt;It works locally, needs no config, and gives instant feedback.&lt;/p&gt;

&lt;p&gt;GitHub repo:&lt;br&gt;
&lt;a href="https://github.com/Manish112233/repo-health" rel="noopener noreferrer"&gt;https://github.com/Manish112233/repo-health&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It’s open-source and free.&lt;/p&gt;

</description>
      <category>github</category>
      <category>cli</category>
      <category>javascript</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Why README.md always goes out of sync (and how I fixed it)</title>
      <dc:creator>Manish Joshi</dc:creator>
      <pubDate>Fri, 19 Dec 2025 14:40:41 +0000</pubDate>
      <link>https://forem.com/manish112233/why-readmemd-always-goes-out-of-sync-and-how-i-fixed-it-1dj8</link>
      <guid>https://forem.com/manish112233/why-readmemd-always-goes-out-of-sync-and-how-i-fixed-it-1dj8</guid>
      <description>&lt;p&gt;README.md usually becomes outdated after a few commits.&lt;/p&gt;

&lt;p&gt;We change code:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;add dependencies&lt;/li&gt;
&lt;li&gt;change entry points&lt;/li&gt;
&lt;li&gt;refactor folders&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But README stays the same.&lt;/p&gt;

&lt;p&gt;GitHub only creates a README template.&lt;br&gt;
It doesn’t keep documentation in sync.&lt;/p&gt;

&lt;p&gt;I wanted a simple solution where:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;README updates automatically&lt;/li&gt;
&lt;li&gt;manual sections stay untouched&lt;/li&gt;
&lt;li&gt;no config or cloud is needed&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So I built a small CLI that updates only safe sections of README.md.&lt;/p&gt;

&lt;p&gt;Run:&lt;br&gt;
npx readme-fast&lt;/p&gt;

&lt;p&gt;It’s open-source and works with existing projects.&lt;br&gt;
Related: I built a CLI that keeps README.md in sync with code.&lt;/p&gt;

</description>
      <category>documentation</category>
      <category>opensource</category>
      <category>cli</category>
      <category>github</category>
    </item>
    <item>
      <title>I built a CLI that keeps README.md in sync with code (GitHub doesn’t)</title>
      <dc:creator>Manish Joshi</dc:creator>
      <pubDate>Fri, 19 Dec 2025 13:37:58 +0000</pubDate>
      <link>https://forem.com/manish112233/i-built-a-cli-that-keeps-readmemd-in-sync-with-code-github-doesnt-1epp</link>
      <guid>https://forem.com/manish112233/i-built-a-cli-that-keeps-readmemd-in-sync-with-code-github-doesnt-1epp</guid>
      <description>&lt;p&gt;README files always go out of sync.&lt;/p&gt;

&lt;p&gt;GitHub only creates a README template.&lt;br&gt;
It doesn’t update documentation when code changes.&lt;/p&gt;

&lt;p&gt;So I built a small CLI called readme-fast.&lt;/p&gt;

&lt;p&gt;What it does:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Updates only safe sections of README.md&lt;/li&gt;
&lt;li&gt;Never touches your manual content&lt;/li&gt;
&lt;li&gt;Runs locally, no config, no cloud&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Command:&lt;br&gt;
npx readme-fast&lt;/p&gt;

&lt;p&gt;GitHub repo:&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://github.com/Manish112233/readme-fast" rel="noopener noreferrer"&gt;https://github.com/Manish112233/readme-fast&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;It’s open-source and free.&lt;br&gt;
&lt;strong&gt;Update:&lt;/strong&gt; I also wrote about &lt;em&gt;why README.md goes out of sync and how to fix it&lt;/em&gt;&lt;br&gt;&lt;br&gt;
👉 &lt;a href="https://dev.to/manish112233/why-readmemd-always-goes-out-of-sync-and-how-i-fixed-it"&gt;https://dev.to/manish112233/why-readmemd-always-goes-out-of-sync-and-how-i-fixed-it&lt;/a&gt;&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>productivity</category>
      <category>cli</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
