<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Opensource projects]]></title><description><![CDATA[Opensource projects]]></description><link>https://nnevskji.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Fri, 23 Oct 2026 20:18:09 GMT</lastBuildDate><atom:link href="https://nnevskji.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[I Built a CLI That Turns Your Text Into Tolkien Prose — Here's Why I Used C99]]></title><description><![CDATA[A CLI tool in pure C99 that rewrites any text as Tolkien prose. 4 styles, 5 languages, works offline. Vibe-coded with full engineering awareness.]]></description><link>https://nnevskji.hashnode.dev/i-built-a-cli-that-turns-your-text-into-tolkien-prose-here-s-why-i-used-c99</link><guid isPermaLink="true">https://nnevskji.hashnode.dev/i-built-a-cli-that-turns-your-text-into-tolkien-prose-here-s-why-i-used-c99</guid><category><![CDATA[Open Source]]></category><category><![CDATA[cli]]></category><category><![CDATA[C]]></category><category><![CDATA[AI]]></category><category><![CDATA[showdev]]></category><dc:creator><![CDATA[enrico]]></dc:creator><pubDate>Mon, 12 Oct 2026 11:09:37 GMT</pubDate><content:encoded><![CDATA[<h2>The Pitch</h2>
<p>What if your terminal could speak like Gandalf?</p>
<p>I built <strong>tolkienizer</strong> — a command-line tool that takes ordinary text and rewrites it in the voice of J.R.R. Tolkien's legendarium. Commit messages become chronicles. Error logs become dark prophecies. Meeting notes become council proceedings.</p>
<h2>Quick Demo</h2>
<pre><code class="language-bash">$ tolkienizer "I need to fix the authentication bug before the release"
</code></pre>
<p>→ "A shadow has fallen upon the Gates of Trust, and ere the new dawn is proclaimed to the realm, the breach must be sealed — lest all who pass beyond find themselves unrecognized by the guardians of the threshold."</p>
<h2>Why C99?</h2>
<p>I wanted something that:</p>
<ol>
<li><p><strong>Starts instantly</strong> — no Python interpreter, no Node cold start</p>
</li>
<li><p><strong>Has minimal dependencies</strong> — just <code>libcurl</code> (HTTP) and <code>cJSON</code> (parsing)</p>
</li>
<li><p><strong>Feels native to the terminal</strong> — like <code>grep</code>, <code>sed</code>, or <code>curl</code></p>
</li>
<li><p><strong>Compiles everywhere</strong> — macOS and Linux with a simple <code>make</code></p>
</li>
</ol>
<p>The resulting binary is ~80KB and launches in milliseconds.</p>
<h2>The Four Styles</h2>
<p>tolkienizer ships with 4 carefully crafted narrative modes:</p>
<table>
<thead>
<tr>
<th>Style</th>
<th>Voice</th>
<th>Example Use</th>
</tr>
</thead>
<tbody><tr>
<td><code>epic</code></td>
<td>Solemn lore-master chronicles</td>
<td>Default. Grand and mythic.</td>
</tr>
<tr>
<td><code>hobbit</code></td>
<td>Cozy Shire fireside tales</td>
<td>Perfect for casual messages.</td>
</tr>
<tr>
<td><code>elvish</code></td>
<td>Lyrical, melancholic beauty</td>
<td>When you want starlit elegance.</td>
</tr>
<tr>
<td><code>mordor</code></td>
<td>Iron decrees of Barad-dûr</td>
<td>Deadlines. Mandatory meetings. Deploys.</td>
</tr>
</tbody></table>
<h2>Multi-Language, Multi-Provider</h2>
<ul>
<li><p><strong>5 native languages</strong>: English, Italian, Spanish, French, German — each with 4 style-specific prompts hand-tuned for literary register.</p>
</li>
<li><p><strong>Auto-detect mode</strong>: Detects your input language and elevates it.</p>
</li>
<li><p><strong>Custom languages</strong>: Pass any language code (<code>-l ja</code>, <code>-l pt</code>, <code>-l la</code>).</p>
</li>
</ul>
<p>Works with OpenAI, Groq, Google Gemini, OpenRouter, or Ollama for fully offline local inference.</p>
<h2>Unix Composability</h2>
<p>tolkienizer plays nicely with pipes:</p>
<pre><code class="language-bash">git log -1 --pretty=%B | tolkienizer echo "deploy failed" | tolkienizer -s mordor tolkienizer -f meeting\_notes.txt &gt; epic\_chronicle.txt
</code></pre>
<h2>Install</h2>
<pre><code class="language-bash">brew install nnevskij/tap/tolkienizer
</code></pre>
<p>Or build from source:</p>
<pre><code class="language-bash">git clone https://github.com/nnevskij/tolkienizer.git cd tolkienizer &amp;&amp; make &amp;&amp; make install
</code></pre>
<h2>The Vibe-Coding Disclaimer</h2>
<p>The entire project was developed through vibe-coding with AI pair programming. But here's the thing: vibe-coding with awareness is not the same as blindly copy-pasting AI output.</p>
<p>Every architectural decision was deliberate: choosing C99 over a scripting language, the libcurl/cJSON stack, the chmod 0600 config security model, the getopt_long CLI interface, the prompt structure across 20 system prompts.</p>
<p>I reviewed and understood every line. AI accelerated the creative flow; engineering judgment steered the ship. The result is clean, POSIX-compliant C that builds with zero warnings on both macOS and Linux.</p>
<p>MIT Licensed → <a href="https://github.com/nnevskij/tolkienizer">https://github.com/nnevskij/tolkienizer</a></p>
<hr />
<p>Give it a star if the One Ring compels you ⭐</p>
]]></content:encoded></item></channel></rss>