<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Posts on Vinesh Raju</title>
    <link>https://www.thevinesh.com/posts/</link>
    <description>Recent content in Posts on Vinesh Raju</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Sun, 16 Aug 2026 21:30:00 +0100</lastBuildDate>
    <atom:link href="https://www.thevinesh.com/posts/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>My Always-On Agent Costs Me Nothing*</title>
      <link>https://www.thevinesh.com/posts/my-always-on-agent-setup/</link>
      <pubDate>Tue, 11 Aug 2026 22:00:00 +0100</pubDate>
      <guid>https://www.thevinesh.com/posts/my-always-on-agent-setup/</guid>
      <description>&lt;p&gt;I have a coworker. Friend? Somewhere in between, honestly. His name is ntran, he lives on a free virtual machine in Oracle&amp;rsquo;s cloud, talks to me through Telegram, and remembers conversations from months ago.&lt;/p&gt;&#xA;&lt;p&gt;He&amp;rsquo;s not just a chatbot. He has a terminal. He has a browser. He has his own email and his own GitHub account. He can read my code and my calendar, updates me when the news matters, tracks my spending, and calls out my 2am ideas for the garbage they are. He also keeps me honest about running and the weight goal, which is simultaneously the most and least appreciated part of the service.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hardening a Cheap VM: How Not to Get Hacked</title>
      <link>https://www.thevinesh.com/posts/hardening_a_cheap_vm/</link>
      <pubDate>Tue, 09 Jun 2026 21:30:00 +0100</pubDate>
      <guid>https://www.thevinesh.com/posts/hardening_a_cheap_vm/</guid>
      <description>&lt;p&gt;Spinning up a cheap VPS to deploy a tiny app or bot is easy. But leaving it on defaults is basically inviting some random botnet to hijack your CPU for crypto mining.&lt;/p&gt;&#xA;&lt;p&gt;Here is the quick checklist I use to lock down my servers before putting anything live.&lt;/p&gt;&#xA;&lt;h2 id=&#34;1-ditch-the-passwords-ssh-keys-only&#34;&gt;1. Ditch the Passwords (SSH Keys Only)&lt;/h2&gt;&#xA;&lt;p&gt;First things first, passwords have to go. Automated bots are constantly brute-forcing default ports with millions of common passwords. SSH keys are the only way to go.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Running local models for coding and co-work</title>
      <link>https://www.thevinesh.com/posts/running_local_models_for_coding_and_co_work/</link>
      <pubDate>Sat, 07 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://www.thevinesh.com/posts/running_local_models_for_coding_and_co_work/</guid>
      <description>&lt;p&gt;I’ve been experimenting with a local coding setup because models are getting small enough to run on consumer hardware while retaining intelligence like hosted models. Also, it&amp;rsquo;s getting expensive for the amount of &lt;a href=&#34;https://www.thevinesh.com/posts/dragon_riding_vibe_coding/&#34;&gt;Dragon Riding&lt;/a&gt; I do.&lt;/p&gt;&#xA;&lt;p&gt;The stack I ended up with is simple:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;I use &lt;a href=&#34;https://github.com/AlexsJones/llmfit&#34;&gt;&lt;code&gt;llmfit&lt;/code&gt;&lt;/a&gt; first to figure out what my machine can realistically handle&lt;/li&gt;&#xA;&lt;li&gt;run the suggested model through either &lt;a href=&#34;https://ollama.com/&#34;&gt;&lt;code&gt;Ollama&lt;/code&gt;&lt;/a&gt; or &lt;a href=&#34;https://github.com/ggml-org/llama.cpp&#34;&gt;&lt;code&gt;llama.cpp&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;and then use &lt;a href=&#34;https://opencode.ai/&#34;&gt;&lt;code&gt;OpenCode&lt;/code&gt;&lt;/a&gt; as the interface where I actually work.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;&lt;img src=&#34;1.png&#34; alt=&#34;llmfit recommendation output&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Your Opinion Is Now Worthless</title>
      <link>https://www.thevinesh.com/posts/your_opinion_is_now_worthless/</link>
      <pubDate>Sat, 07 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://www.thevinesh.com/posts/your_opinion_is_now_worthless/</guid>
      <description>&lt;p&gt;I’ve always liked the phrase &lt;strong&gt;&amp;ldquo;here’s my two cents.&amp;rdquo;&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;It makes an opinion sound polite. Cheap. Almost apologetic. Like you are not about to derail the meeting, just gently place a tiny coin of wisdom on the table and move on.&lt;/p&gt;&#xA;&lt;p&gt;But inflation has been doing its thing in the background, and I regret to inform you that this phrase is no longer economically honest.&lt;/p&gt;&#xA;&lt;p&gt;If you are still offering &lt;strong&gt;two cents&lt;/strong&gt; in &lt;strong&gt;2026&lt;/strong&gt;, you are not being humble. You are underpaying.&lt;/p&gt;</description>
    </item>
    <item>
      <title>I am a ball</title>
      <link>https://www.thevinesh.com/posts/i_am_a_ball/</link>
      <pubDate>Sun, 18 Jan 2026 15:42:00 +0000</pubDate>
      <guid>https://www.thevinesh.com/posts/i_am_a_ball/</guid>
      <description>&lt;p&gt;I am a ball.&#xA;I bounce back every time I fall&lt;/p&gt;</description>
    </item>
    <item>
      <title>Dragon Riding: The Art of Vibe Coding</title>
      <link>https://www.thevinesh.com/posts/dragon_riding_vibe_coding/</link>
      <pubDate>Thu, 19 Dec 2024 14:30:00 +0530</pubDate>
      <guid>https://www.thevinesh.com/posts/dragon_riding_vibe_coding/</guid>
      <description>&lt;p&gt;Programming is changing. We&amp;rsquo;re moving away from the era of manual, line-by-line character entry and into something much more&amp;hellip; &lt;em&gt;visceral&lt;/em&gt;. Some call it &amp;ldquo;Vibe Coding,&amp;rdquo; but to me, it&amp;rsquo;s &lt;strong&gt;Dragonning&lt;/strong&gt; or &lt;strong&gt;Dragon Riding&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;The name started as a joke. A friend and I were talking about the old way of coding versus this new, agentic, AI-led approach. We joked that people are still coding manually and expecting to keep their jobs blissfully unaware of the dragons!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Installing Jellyfin Media System</title>
      <link>https://www.thevinesh.com/posts/installing_jellyfin/</link>
      <pubDate>Wed, 31 Aug 2022 00:44:57 +0100</pubDate>
      <guid>https://www.thevinesh.com/posts/installing_jellyfin/</guid>
      <description>&lt;h1 id=&#34;jellyfish-what&#34;&gt;Jellyfish what?&lt;/h1&gt;&#xA;&lt;p&gt;No, &lt;a href=&#34;https://jellyfin.org/&#34;&gt;&amp;ldquo;Jellyfin&amp;rdquo;&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;It is a free, open source media system that allows to collect, manage and stream your media to all of you devices.&lt;/p&gt;&#xA;&lt;p&gt;It&amp;rsquo;s like having your personal Netflix!&lt;/p&gt;&#xA;&lt;!-- Notes:&#xA;```&#xA;Talk about how we are going to set up samba and jellyfin&#xA;&#xA;after installing docker, install samba with docker. set up file share and then install jelly fin. Talk about adding content into the shared drive and creating a library on jellyfin and finish by giving links&#xA;``` --&gt;&#xA;&lt;h1 id=&#34;1-install-docker&#34;&gt;1. Install Docker&lt;/h1&gt;&#xA;&lt;p&gt;Update apt just in case&lt;/p&gt;</description>
    </item>
    <item>
      <title>Command line variables on Flutter using --dart-define</title>
      <link>https://www.thevinesh.com/posts/cmd_line_variables_on_flutter/</link>
      <pubDate>Thu, 25 Mar 2021 04:42:02 +0530</pubDate>
      <guid>https://www.thevinesh.com/posts/cmd_line_variables_on_flutter/</guid>
      <description>&lt;p&gt;This post explains how to send command line variables and use them with flutter.&lt;/p&gt;&#xA;&lt;h2 id=&#34;why-send-variables-via-command-line&#34;&gt;Why send variables via command line?&lt;/h2&gt;&#xA;&lt;p&gt;Being able to set a variable through command line comes in very handy whenever you want to change the variable depending on the environment/client it&amp;rsquo;s being built for. Without having to change code manually every time.&lt;/p&gt;&#xA;&lt;p&gt;A few common use cases would be&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;to configure your app&amp;rsquo;s base URL during build time.&lt;/li&gt;&#xA;&lt;li&gt;to use separate API keys or client ids for development and production.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;dart-define-to-the-rescue&#34;&gt;&amp;ndash;dart-define to the rescue&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;--dart-define&lt;/code&gt; helps send key-value pairs to flutter at build time.&lt;/p&gt;</description>
    </item>
    <item>
      <title>What do I use?</title>
      <link>https://www.thevinesh.com/posts/what-do-i-use/</link>
      <pubDate>Sat, 20 Mar 2021 23:30:00 +0100</pubDate>
      <guid>https://www.thevinesh.com/posts/what-do-i-use/</guid>
      <description>&lt;p&gt;I use a lot of Tools, Apps, and Services to get by every day.&#xA;I&amp;rsquo;ve listed down those that I love and use frequently here.&lt;/p&gt;&#xA;&lt;h2 id=&#34;services&#34;&gt;Services&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://zoho.com/mail/&#34;&gt;Zoho Mail&lt;/a&gt; - as my email host&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://duckduckgo.com/&#34;&gt;Duck Duck Go&lt;/a&gt; - to Search.&lt;/li&gt;&#xA;&lt;li&gt;&lt;del&gt;&lt;a href=&#34;https://domains.google.com/&#34;&gt;Google Domains&lt;/a&gt;&lt;/del&gt; &lt;a href=&#34;https://www.cloudflare.com/&#34;&gt;Cloudflare&lt;/a&gt; - to buy and manage domains.&lt;/li&gt;&#xA;&lt;li&gt;&lt;del&gt;&lt;a href=&#34;https://airtable.com/invite/r/dYQWU0zt/&#34;&gt;Airtable&lt;/a&gt;&lt;/del&gt; &lt;a href=&#34;https://supabase.com/&#34;&gt;Supabase&lt;/a&gt; - as a backend for my experiments and side projects.&lt;/li&gt;&#xA;&lt;li&gt;&lt;del&gt;&lt;a href=&#34;https://netlify.com/&#34;&gt;Netlify&lt;/a&gt; and &lt;a href=&#34;https://firebase.google.com/products/hosting/&#34;&gt;Firebase&lt;/a&gt;&lt;/del&gt; &lt;a href=&#34;https://pages.github.com/&#34;&gt;GitHub Pages&lt;/a&gt; with &lt;a href=&#34;https://github.com/features/actions&#34;&gt;GitHub Actions&lt;/a&gt; - to host static sites, with CI.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.hetzner.com/&#34;&gt;Hetzner&lt;/a&gt; and &lt;a href=&#34;https://www.oracle.com/cloud/&#34;&gt;Oracle Cloud&lt;/a&gt; - for cloud VMs.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;ai-at-the-time-of-writing-man-this-changes-fast&#34;&gt;AI (At the time of writing. Man this changes fast)&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://gemini.ai/&#34;&gt;Gemini&lt;/a&gt; - My goto LLM for everyday tasks.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://cursor.com/&#34;&gt;Cursor&lt;/a&gt; &lt;del&gt;and &lt;a href=&#34;https://antigravity.google/&#34;&gt;Antigravity&lt;/a&gt;&lt;/del&gt; - With usually one of the latest thinking models as my coding agent.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://hermes-agent.nousresearch.com/&#34;&gt;Hermes&lt;/a&gt; - as my personal assistant.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://perplexity.ai/&#34;&gt;Perplexity&lt;/a&gt; - coz why not.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;apps&#34;&gt;Apps&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;del&gt;&lt;a href=&#34;https://superwhisper.com/&#34;&gt;Superwhisper&lt;/a&gt;&lt;/del&gt; &lt;a href=&#34;https://handy.computer&#34;&gt;Handy&lt;/a&gt; - to talk to my computer.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://obsidian.md/&#34;&gt;Obsidian&lt;/a&gt; - for notes.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://music.youtube.com/&#34;&gt;Youtube Music&lt;/a&gt; - to listen to music.&lt;/li&gt;&#xA;&lt;li&gt;&lt;del&gt;&lt;a href=&#34;https://www.mozilla.org/en-US/firefox/&#34;&gt;Firefox&lt;/a&gt;&lt;/del&gt; &lt;a href=&#34;https://www.browseros.com/&#34;&gt;BrowserOS&lt;/a&gt; - as my main browser.&lt;/li&gt;&#xA;&lt;li&gt;&lt;del&gt;&lt;a href=&#34;https://getpocket.com/&#34;&gt;Pocket&lt;/a&gt;&lt;/del&gt; Looking for a good alternative - to save and read later.&lt;/li&gt;&#xA;&lt;li&gt;&lt;del&gt;&lt;a href=&#34;https://authy.com/&#34;&gt;Authy&lt;/a&gt;&lt;/del&gt; &lt;a href=&#34;https://www.zoho.com/accounts/oneauth/&#34;&gt;Zoho OneAuth&lt;/a&gt; - for 2FA as a Google Authenticator replacement.&lt;/li&gt;&#xA;&lt;li&gt;&lt;del&gt;&lt;a href=&#34;https://sparkmailapp.com/&#34;&gt;Spark&lt;/a&gt; - as my email client.&lt;/del&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.zoho.com/vault/&#34;&gt;Zoho Vault&lt;/a&gt; - to manage Passwords.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;gear&#34;&gt;Gear&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;iPhone 15 Pro / Samsung A54 - as my daily driver.&lt;/li&gt;&#xA;&lt;li&gt;&lt;del&gt;OnePlus 6 - for testing my apps.&lt;/del&gt;&lt;/li&gt;&#xA;&lt;li&gt;MacBook Pro M4 16&amp;quot; - as my primary computer.&lt;/li&gt;&#xA;&lt;li&gt;AirPods Pro - to hear music.&lt;/li&gt;&#xA;&lt;li&gt;&lt;del&gt;Apple Watch Series 6 - as a fitness tracker.&lt;/del&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://blog.google/products-and-platforms/devices/fitbit/fitbit-air/&#34;&gt;Fitbit Air&lt;/a&gt; as my fitness tracker on the left wrist, and Casio AE-1200WH to read the time on the right wrist.&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>In the beginning</title>
      <link>https://www.thevinesh.com/posts/in_the_beginning/</link>
      <pubDate>Sun, 21 Mar 2021 02:52:51 +0530</pubDate>
      <guid>https://www.thevinesh.com/posts/in_the_beginning/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve always wanted to set up a website, a blog, and write.&lt;/p&gt;&#xA;&lt;p&gt;Not that I had something to say online, I just wanted to blabber and share bits and pieces from time to time.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve tried out a few blogging platforms before but never stuck with them. They were too formal. I wanted a place where I can be informal. Just write and publish.&lt;/p&gt;&#xA;&lt;p&gt;I liked &lt;a href=&#34;https://hey.com/world/&#34;&gt;HEY World&lt;/a&gt;, but it came only with their email service which was too expensive for me. Moreover, I was happy with my current email service/client so I did not want to get a @hey account just for this.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
