<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>software-development on S Anand</title>
    <link>https://www.s-anand.net/blog/tag/software-development/</link>
    <description>Recent content in software-development on S Anand</description>
    <generator>Hugo -- 0.164.0</generator>
    <language>en-us</language>
    <lastBuildDate>Sun, 11 Jan 2026 22:53:28 +0800</lastBuildDate>
    <atom:link href="https://www.s-anand.net/blog/tag/software-development/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>NPTEL Applied Vibe Coding Workshop</title>
      <link>https://www.s-anand.net/blog/nptel-applied-vibe-coding-workshop/</link>
      <pubDate>Sun, 11 Jan 2026 22:53:28 +0800</pubDate>
      <guid>https://www.s-anand.net/blog/nptel-applied-vibe-coding-workshop/</guid>
      <description>&lt;p&gt;For those who missed my &lt;a href=&#34;https://elearn.nptel.ac.in/shop/iit-workshops/ongoing/computer-science/applied-vibe-coding-workshop/&#34;&gt;Applied Vibe Coding Workshop&lt;/a&gt; at NPTEL, here&amp;rsquo;s the video:&lt;/p&gt;
&lt;div class=&#34;video-embed&#34;&gt;&lt;iframe src=&#34;https://www.youtube.com/embed/m9mIe4baN-k&#34; title=&#34;YouTube video&#34; loading=&#34;lazy&#34; allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&#34; allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;p&gt;You can also:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://sanand0.github.io/talks/2026-01-11-nptel-vibe-coding-workshop/&#34;&gt;Read this summary of the talk&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/sanand0/talks/blob/main/2026-01-11-nptel-vibe-coding-workshop/transcript.md&#34;&gt;Read the transcript&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt=&#34;Sketchnote of the talk&#34; loading=&#34;lazy&#34; src=&#34;https://raw.githubusercontent.com/sanand0/talks/refs/heads/main/2026-01-11-nptel-vibe-coding-workshop/sketchnote.avif&#34;&gt;&lt;/p&gt;
&lt;p&gt;Or, here are the three dozen lessons from the workshop:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Definition: Vibe coding is building apps by talking to a computer instead of typing thousands of lines of code.&lt;/li&gt;
&lt;li&gt;Foundational Mindset Lessons
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;&amp;ldquo;In a workshop, you do the work&amp;rdquo;&lt;/strong&gt; - Learning happens through doing, not watching.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&amp;ldquo;If I say something and AI says something, trust it, don&amp;rsquo;t trust me&amp;rdquo;&lt;/strong&gt; - For factual information, defer to AI over human intuition.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&amp;ldquo;Don&amp;rsquo;t ever be stuck anywhere because you have something that can give you the answer to almost any question&amp;rdquo;&lt;/strong&gt; - AI eliminates traditional blockers.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&amp;ldquo;Imagination becomes the bottleneck&amp;rdquo;&lt;/strong&gt; - Execution is cheap; knowing &lt;em&gt;what&lt;/em&gt; to build is the constraint.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&amp;ldquo;Doing becomes less important than knowing what to do&amp;rdquo;&lt;/strong&gt; - Strategic thinking outweighs tactical execution.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&amp;ldquo;You don&amp;rsquo;t have to settle for one option. You can have 20 options&amp;rdquo;&lt;/strong&gt; - AI makes parallel exploration cheap.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Practical Vibe Coding Lessons
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Success metric&lt;/strong&gt;: &amp;ldquo;Aim for 10 applications in a 1-2 hour workshop&amp;rdquo; - Volume and iteration over perfection.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The subscription vs. platform distinction&lt;/strong&gt;: &amp;ldquo;Your subscriptions provide the brains to write code, but don&amp;rsquo;t give you tools to host and turn it into a live working app instantly.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Add documentation for users&lt;/strong&gt;: First-time users need visual guides or onboarding flows.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Error fixing success rate&lt;/strong&gt;: &amp;ldquo;About one in three times&amp;rdquo; fixing errors works. &amp;ldquo;If it doesn&amp;rsquo;t work twice, start again-sometimes the same prompt in a different tab works.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Planning mode before complex builds&lt;/strong&gt;: &amp;ldquo;Do some research. Find out what kind of application along this theme can be really useful and why. Give me three or four options.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ask &amp;ldquo;Do I need an app, or can the chatbot do it?&amp;rdquo;&lt;/strong&gt; - Sometimes direct AI conversation beats building an app.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Local HTML files work&lt;/strong&gt;: &amp;ldquo;Just give me a single HTML file&amp;hellip; opening it in my browser should work&amp;rdquo; - No deployment infrastructure needed.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&amp;ldquo;The skill we are learning is how to learn&amp;rdquo;&lt;/strong&gt; - Specific tool knowledge is temporary; meta-learning is permanent.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Vibe Analysis Lessons
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;&amp;ldquo;The most interesting data sets are our own data&amp;rdquo;&lt;/strong&gt; - Personal data beats sample datasets.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Accessible personal datasets&lt;/strong&gt;:
&lt;ul&gt;
&lt;li&gt;WhatsApp chat exports&lt;/li&gt;
&lt;li&gt;Netflix viewing history (Account &amp;gt; Viewing Activity &amp;gt; Download All)&lt;/li&gt;
&lt;li&gt;Local file inventory (&lt;code&gt;ls -R&lt;/code&gt; or equivalent)&lt;/li&gt;
&lt;li&gt;Bank/credit card statements&lt;/li&gt;
&lt;li&gt;Screen time data (screenshot &amp;gt; AI digitization)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ChatGPT&amp;rsquo;s hidden built-in tools&lt;/strong&gt;: FFmpeg (audio/video), ImageMagick (images), Poppler (PDFs)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&amp;ldquo;Code as art form&amp;rdquo;&lt;/strong&gt; - Algorithmic art (Mandelbrot, fractals, Conway&amp;rsquo;s Game of Life) can be AI-generated and run automatically.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&amp;ldquo;Data stories vs dashboards&amp;rdquo;&lt;/strong&gt;: &amp;ldquo;A dashboard is basically when we don&amp;rsquo;t know what we want.&amp;rdquo; Direct questions get better answers than open-ended visualization.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Prompting Wisdom
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Analysis prompt framework&lt;/strong&gt;: &amp;ldquo;Analyze data like an investigative journalist&amp;rdquo; - find surprising insights that make people say &amp;ldquo;Wait, really?&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cross-check prompt&lt;/strong&gt;: &amp;ldquo;Check with real world. Check if you&amp;rsquo;ve made a mistake. Check for bias. Check for common mistakes humans make.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Visualization prompt&lt;/strong&gt;: &amp;ldquo;Write as a narrative-driven data story. Write like Malcolm Gladwell. Draw like the New York Times data visualization team.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&amp;ldquo;20 years of experience&amp;rdquo;&lt;/strong&gt; - Effective prompts require domain expertise condensed into instructions.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Security &amp;amp; Governance
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Simon Willison&amp;rsquo;s &amp;ldquo;Lethal Trifecta&amp;rdquo;&lt;/strong&gt;: Private data + External communication + Untrusted content = Security risk. &lt;strong&gt;Pick any two, never all three.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&amp;ldquo;What constitutes untrusted content is very broad&amp;rdquo;&lt;/strong&gt; - Downloaded PDFs, copy-pasted content, even AI-generated text may contain hidden instructions.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Same governance as human code&lt;/strong&gt;: &amp;ldquo;If you know what a lead developer would do to check junior developer code, do that.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Treat AI like an intern&lt;/strong&gt;: &amp;ldquo;The way I treat AI is exactly the way I treat an intern or junior developer.&amp;rdquo;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Business &amp;amp; Career Implications
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;&amp;ldquo;Social skills have a higher uplift on salary than math or engineering skills&amp;rdquo;&lt;/strong&gt; - Research finding from mid-80s/90s onward.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Differentiation challenge&lt;/strong&gt;: &amp;ldquo;If you can vibe code, anyone can vibe code. The differentiation will come from the stuff you are NOT vibe coding.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&amp;ldquo;The highest ROI investment I&amp;rsquo;ve made in life is paying $20 for ChatGPT or Claude&amp;rdquo;&lt;/strong&gt; - Worth more than 30 Netflix subscriptions in utility.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Where Vibe Coding Fails
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Failure axes&lt;/strong&gt;: &amp;ldquo;Large&amp;rdquo; and &amp;ldquo;not easy for software to do&amp;rdquo; - Complexity increases failure rates.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Local LLMs (Ollama, etc.)&lt;/strong&gt;: &amp;ldquo;Possible but not as fast or capable. Useful offline, but doesn&amp;rsquo;t match online experience yet.&amp;rdquo;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Final Takeaways
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;&amp;ldquo;Practice vibe coding every day for one month&amp;rdquo;&lt;/strong&gt; - Habit formation requires forced daily practice.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&amp;ldquo;Learn to give up&amp;rdquo;&lt;/strong&gt; - When something fails repeatedly, start fresh rather than debugging endlessly.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&amp;ldquo;Share what you vibe coded&amp;rdquo;&lt;/strong&gt; - Teaching others cements your own learning. &amp;ldquo;We learn best when we teach.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tool knowledge is temporary&lt;/strong&gt;: &amp;ldquo;This field moves so fast, by the time somebody comes up with a MOOC, it&amp;rsquo;s outdated.&amp;rdquo;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    <item>
      <title>Habits of a code addict</title>
      <link>https://www.s-anand.net/blog/habits-of-a-code-addict/</link>
      <pubDate>Wed, 12 Nov 2025 07:41:30 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/habits-of-a-code-addict/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://github.com/sanand0/&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://www.s-anand.net/blog/assets/image-1-3-1024x312.webp&#34;&gt;&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    <item>
      <title>What programmers do</title>
      <link>https://www.s-anand.net/blog/what-programmers-do/</link>
      <pubDate>Tue, 04 Apr 2006 12:00:00 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/what-programmers-do/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://lazutkin.com/blog/2006/apr/2/what-programmers-do/&#34;&gt;What programmers do&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Theory of Constraints in software development</title>
      <link>https://www.s-anand.net/blog/theory-of-constraints-in-software-development/</link>
      <pubDate>Wed, 07 Dec 2005 12:00:00 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/theory-of-constraints-in-software-development/</guid>
      <description>&lt;p&gt;Microsoft&amp;rsquo;s IT department has used the &lt;a href=&#34;http://www.clarkeching.com/2005/11/theory_of_const.html&#34;&gt;Theory of Constraints in software development&lt;/a&gt;.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;comments&#34;&gt;Comments&lt;/h2&gt;
&lt;!-- wp-comments-start --&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Suresh&lt;/strong&gt; &lt;em&gt;17 May 2006 5:39 am&lt;/em&gt;:
Interesting and informative&lt;/li&gt;
&lt;/ul&gt;
&lt;!-- wp-comments-end --&gt;
</description>
    </item>
    <item>
      <title>Good programmers</title>
      <link>https://www.s-anand.net/blog/good-programmers/</link>
      <pubDate>Fri, 26 Aug 2005 12:00:00 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/good-programmers/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://blog.outer-court.com/archive/2005-08-24-n14.html&#34;&gt;Why good programmers are lazy and dumb&lt;/a&gt;.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;comments&#34;&gt;Comments&lt;/h2&gt;
&lt;!-- wp-comments-start --&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Prasenjeet&lt;/strong&gt; &lt;em&gt;26 Aug 2005 3:01 pm&lt;/em&gt;:
Like the chap who created some-language-or-the-other&lt;/li&gt;
&lt;/ul&gt;
&lt;!-- wp-comments-end --&gt;
</description>
    </item>
    <item>
      <title>Microsoft not opening more source code</title>
      <link>https://www.s-anand.net/blog/microsoft-not-opening-more-source-code/</link>
      <pubDate>Thu, 10 Feb 2005 12:00:00 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/microsoft-not-opening-more-source-code/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://it.slashdot.org/article.pl?sid=05/02/10/005206&amp;amp;from=rss&#34;&gt;Why is Microsoft not opening more source code&lt;/a&gt;?&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Apparently inappropriate code comments is one of the reasons according to this story. I wonder what kind of things developers put in comments that would be so bad for the rest of us to see?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id=&#34;comments&#34;&gt;Comments&lt;/h2&gt;
&lt;!-- wp-comments-start --&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;sathish&lt;/strong&gt; &lt;em&gt;10 Feb 2005 12:00 pm&lt;/em&gt;:
checking if the contact name is coming properly..&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Venkat&lt;/strong&gt; &lt;em&gt;10 Feb 2005 12:00 pm&lt;/em&gt;:
GMaP is cool! Better than mappy. Do we have something like this for India?&lt;/li&gt;
&lt;/ul&gt;
&lt;!-- wp-comments-end --&gt;
</description>
    </item>
    <item>
      <title>Writing software that pirates DVDs is legal</title>
      <link>https://www.s-anand.net/blog/writing-software-that-pirates-dvds-is-legal/</link>
      <pubDate>Mon, 09 Dec 2002 12:00:00 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/writing-software-that-pirates-dvds-is-legal/</guid>
      <description>&lt;p&gt;This one is funny. &lt;a href=&#34;http://www.newscientist.com/news/news.jsp?id=ns99993142&#34;&gt;It&amp;rsquo;s legal to write software that pirates DVDs&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Laymen want documentation they understand</title>
      <link>https://www.s-anand.net/blog/laymen-want-documentation-they-understand/</link>
      <pubDate>Wed, 04 Sep 2002 12:00:00 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/laymen-want-documentation-they-understand/</guid>
      <description>&lt;p&gt;Programmers: learn from this. &lt;a href=&#34;http://advogato.org/article/374.html&#34;&gt;Laymen want documentation they understand&lt;/a&gt;. (Wish someone told me 5 years ago.)&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Microsoft to focus on security</title>
      <link>https://www.s-anand.net/blog/microsoft-to-focus-on-security/</link>
      <pubDate>Fri, 18 Jan 2002 12:00:00 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/microsoft-to-focus-on-security/</guid>
      <description>&lt;p&gt;Microsoft will now focus on &lt;a href=&#34;http://news.com.com/2100-1001-816880.html?legacy=cnet&#34;&gt;security&lt;/a&gt;. Thank heavens.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Roll your own DSL</title>
      <link>https://www.s-anand.net/blog/roll-your-own-dsl/</link>
      <pubDate>Tue, 28 Aug 2001 12:00:00 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/roll-your-own-dsl/</guid>
      <description>&lt;p&gt;Cringely teaches you how to &lt;a href=&#34;http://www.pbs.org/cringely/pulpit/pulpit20010823.html&#34;&gt;roll your own DSL&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Joel on Software</title>
      <link>https://www.s-anand.net/blog/joel-on-software/</link>
      <pubDate>Thu, 09 Aug 2001 12:00:00 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/joel-on-software/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.joelonsoftware.com/&#34;&gt;Joel&lt;/a&gt; writes on software. &amp;ldquo;&lt;a href=&#34;http://www.joelonsoftware.com/stories/storyReader$368&#34;&gt;Good software takes 10 years&lt;/a&gt;&amp;rdquo; is a good read.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Coimbatore the next IT destination</title>
      <link>https://www.s-anand.net/blog/coimbatore-the-next-it-destination/</link>
      <pubDate>Wed, 03 Jan 2001 12:00:00 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/coimbatore-the-next-it-destination/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.coimbatoreit.com/&#34;&gt;Coimbatore: The next IT destination?&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Microsoft dumps Java</title>
      <link>https://www.s-anand.net/blog/microsoft-dumps-java/</link>
      <pubDate>Wed, 12 Jul 2000 12:00:00 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/microsoft-dumps-java/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://news.cnet.com/news/0-1003-200-2240702.html?tag=st.ne.1002.tgif.ni&#34;&gt;Microsoft dumps Java&lt;/a&gt;. Doesn&amp;rsquo;t worry me to much. I&amp;rsquo;ve never had much use for Java as a user. They&amp;rsquo;ve &amp;lsquo;adopted&amp;rsquo; &lt;a href=&#34;http://www.perl.com&#34;&gt;Perl&lt;/a&gt;, though. And I was always a Perl fan.&lt;/p&gt;
</description>
    </item>
  </channel>
</rss>
