<?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[My Ramblings]]></title><description><![CDATA[My Ramblings]]></description><link>https://blog.punit.in</link><generator>RSS for Node</generator><lastBuildDate>Thu, 09 Apr 2026 18:50:17 GMT</lastBuildDate><atom:link href="https://blog.punit.in/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Age of Empires II: The Game That Taught Me to Read the Map of Life]]></title><description><![CDATA[25 years ago, in a small town in Bihar (India), a kid discovered something that would quietly reshape how he is going to see the world.
I was 7 and had just convinced my parents to let me use the comp]]></description><link>https://blog.punit.in/age-of-empires-ii-the-game-that-taught-me-to-read-the-map-of-life</link><guid isPermaLink="true">https://blog.punit.in/age-of-empires-ii-the-game-that-taught-me-to-read-the-map-of-life</guid><category><![CDATA[age of empies 2]]></category><category><![CDATA[conquest]]></category><dc:creator><![CDATA[Punit Gupta]]></dc:creator><pubDate>Wed, 01 Apr 2026 02:54:43 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/69ba40fcc22d3eeb8a3e2cea/44d2e2ad-5d7b-48d6-9267-b8effbd0e279.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>25 years ago, in a small town in Bihar (India), a kid discovered something that would quietly reshape how he is going to see the world.</p>
<p>I was 7 and had just convinced my parents to let me use the computer for “educational purposes.” What arrived instead was a pirated CD of <em>Age of Empires II: The Age of Kings</em>. I had no idea I was about to load not just a game, but a time machine and a lifelong masterclass in foresight.</p>
<hr />
<p>The game starts with a short film about how a game of chess between two kings, translates to a real battle between 2 armies. While one is attacking with swordsmen, archers, knights and trebuchets, the other is defending its castle against this attack. Each warrior trying out every way possible to win the battle.  </p>
<p><a class="embed-card" href="https://www.youtube.com/watch?v=ow4cC-Cz5l8">https://www.youtube.com/watch?v=ow4cC-Cz5l8</a></p>

<p>For those who have never played AOE II, the game has 4 ages, each unlocking a suite of development upgrades - Dark Age, Feudal Age, Castle Age and Imperial Age.</p>
<ul>
<li><p>Dark Age - That is where you start. You can build barracks, collect resources (wood and food), but that is all you can do - train a basic infantry and build a few basic buildings. Almost everything can be built with just wood and food.</p>
<img src="https://cdn.hashnode.com/uploads/covers/69ba40fcc22d3eeb8a3e2cea/3ad7ef03-a29b-4e8c-a6f8-c323a5e00046.png" alt="" style="display:block;margin:0 auto" />
</li>
<li><p>Feudal Age - There is a sense of community. You can now build an Archery Range and train archers. Instead of being a hunter/gatherer depending on sheep, bushes and fishes, you can finally settle down and build farms which are a perennial source of food. Mining is unlocked, so now you can collect gold. Gold is used for upgrading the army.</p>
<img src="https://cdn.hashnode.com/uploads/covers/69ba40fcc22d3eeb8a3e2cea/0924444f-4d88-487c-bed3-5c5b07cdd80e.webp" alt="" style="display:block;margin:0 auto" />
</li>
<li><p>Castle Age - Lets put the horses to good use and train a cavalry of Knights. As the name suggests, you can now build castles which have immense strength and can also attack enemies who are nearby. While the previous 2 ages were about to survival, growth and stability, the Castle age is about strength and expansion. Gold is used extensively for unlocking research and specializing the army. This is the age when you start going around and attacking nearby kingdoms.</p>
<img src="https://cdn.hashnode.com/uploads/covers/69ba40fcc22d3eeb8a3e2cea/3e290399-e0dc-42c9-babc-66b398f1eee5.webp" alt="" style="display:block;margin:0 auto" />
</li>
<li><p>Imperial Age - The last and the final age! This is about domination. Stone is extensively use to build extremely strong walls and watch towers that can hurl arrows on nearby soldiers. Peak security, as they say it. The infantry, archers and the cavalry - all have high strength.</p>
<img src="https://cdn.hashnode.com/uploads/covers/69ba40fcc22d3eeb8a3e2cea/19bad2d2-607e-4c12-ad10-9af26444b013.jpg" alt="" style="display:block;margin:0 auto" /></li>
</ul>
<p>Pro Tip: If you have played rock-paper-scissors, winning against an army is similar.<br />While cavalry may seem as the strongest in close combat, they are powerless when attacked from a distance.<br /><em>Archers + Cavalry</em> wins over <strong>Infantry</strong><br /><em>Infantry + Cavalry</em> wins over <strong>Archers</strong><br /><em>Infantry + Archers</em> wins over <strong>Cavalry</strong>  </p>
<p>Of course, archers can fight other archers, and so on.<br />But, the above combinations ensure that you sustain minimal damage in the battle.</p>
<hr />
<p>The campaign menus have real civilizations - Byzantines, Persians, Mongols, Aztecs, each with bonuses that felt like genuine cultural DNA. I wasn’t just playing; I was living through the Siege of Constantinople, riding with Genghis Khan, and watching Joan of Arc rally her troops. The game didn’t lecture me about the past. It let me <em>build</em> it - one villager, one troop, one building at a time.</p>
<p>What began as weekend entertainment became an obsession. I stayed up nights, sometimes playing for 7 hours at stretch. I learned that history isn’t a straight line of dates. It’s a web of resources, alliances, betrayals, and technological leaps.</p>
<p>Wood, food, gold, stone: everything had value, and nothing appeared by magic. You had to plan the economy before you could dream of conquest. Scout the map early, or you’d get blindsided. Rush too aggressively and your supply lines would collapse. Tech up too slowly and the world would pass you by.</p>
<p>And then came the deeper lesson - the one that turned a childhood game into a philosophy I still use today.</p>
<p><em>Age of Empires II</em> is a masterclass in <mark class="bg-yellow-200 dark:bg-yellow-500/30">anticipating the future while you’re busy surviving the present. </mark> Every match is a compressed simulation of life’s major events: the unexpected Mongol horde at your border is the layoff notice, the sudden gold shortage is the market crash, the moment your ally betrays you in a team game is the friend who disappears when things get hard. The game forces you to ask the same questions life does:</p>
<blockquote>
<p>What do I need to gather <em>now</em> so I’m ready for the next phase? Where should I place my alerts/watchlists so I see trouble coming? When do I stop building myself and start delegating to others?</p>
</blockquote>
<p>I started applying those questions outside the screen. In school, I treated exams like siege warfare, prepping up for subjects early instead of cramming at the last minute. When I chose my college major, I scouted the “map” first: job trends, emerging industries, my own strengths. Later, when life threw its real invasions—family health scares, career dead-ends, the 2020 pandemic, I caught myself instinctively cycling through the same mental checklist I once used in ranked matches:</p>
<ol>
<li><p>Assess resources (what do I actually have right now?).</p>
</li>
<li><p>Scout the horizon (what threats or opportunities are hidden?).</p>
</li>
<li><p>Invest in the next age (what small upgrades today will compound tomorrow?).</p>
</li>
<li><p>Keep building, even under fire (villagers keep working while the battle rages).</p>
</li>
</ol>
<p>The game never promised easy wins. It promised that disciplined preparation, flexible strategy, and respect for the past would carry you further than raw talent ever could. 25 years later, I still catch myself muttering “need more wood” when a big life decision looms (No I don't, but Grok suggested me that line and it is absolutely stupid, so I am keeping it! 😅).</p>
<hr />
<p>I still load up a Conquest match once in a while - sometimes for nostalgia, sometimes for clarity. The graphics are out-dated, the pathfinding is occasionally hilarious, but the lesson remains razor-sharp:</p>
<blockquote>
<p>the future belongs to those who can read the map before the enemy even appears.</p>
</blockquote>
<p>And every time I hit “Start Game,” I smile at the kid I once was, huddled in front of that flickering monitor, unknowingly training for the real campaigns that lay ahead.</p>
]]></content:encoded></item><item><title><![CDATA[I asked ChatGPT what I should know in today's world and this is what it told me ...]]></title><description><![CDATA[TL;DRIn today’s world, the real advantage is clear thinking, fast learning, digital fluency, financial sense, emotional stability, and the ability to build trust at scale.

One fine day, I opened Chat]]></description><link>https://blog.punit.in/i-asked-chatgpt-what-i-should-know-in-today-s-world-and-this-is-what-it-told-me</link><guid isPermaLink="true">https://blog.punit.in/i-asked-chatgpt-what-i-should-know-in-today-s-world-and-this-is-what-it-told-me</guid><category><![CDATA[survival skills for modern world]]></category><category><![CDATA[how to succeed in modern world]]></category><category><![CDATA[EssentialSkills ]]></category><category><![CDATA[attention economy]]></category><dc:creator><![CDATA[Punit Gupta]]></dc:creator><pubDate>Mon, 23 Mar 2026 03:21:26 GMT</pubDate><content:encoded><![CDATA[<blockquote>
<p>TL;DR<br />In today’s world, the real advantage is clear thinking, fast learning, digital fluency, financial sense, emotional stability, and the ability to build trust at scale.</p>
</blockquote>
<p>One fine day, I opened ChatGPT and asked it a simple question.</p>
<p>I had no idea, that the answer of this question would forever change the way I am going to think about the world.</p>
<pre><code class="language-plaintext">Question: Think super hard about everything and give me a list of everything that I should know in today's world

Answer: You do not need to know everything. You need to know the few things that now shape almost everything. 
Here’s the real list.
</code></pre>
<h3>Attention is the new currency</h3>
<p>If you cannot focus, think clearly, read deeply, or work without constant distraction, you will lose to people who can. In a world flooded by AI content, notifications, and algorithmic feeds, sustained attention is becoming a competitive advantage, not just a wellness habit. UNESCO explicitly frames media and information literacy as essential for navigating AI, misinformation, and declining trust in media.</p>
<h3>AI is not a niche skill anymore</h3>
<p>You do not need to be an AI engineer, but you do need to know how to use AI to think faster, write better, research smarter, automate repetitive work, and increase output. The people who treat AI as a daily copilot will outperform people who treat it like a novelty. At the same time, you need judgment, because AI can be fast and wrong. UNESCO highlights AI-driven information environments as a core reason media and digital literacy matter, and OECD’s skills framework emphasizes creating new value, reconciling dilemmas, and taking responsibility.</p>
<h3>Verification matters more than information</h3>
<p>The internet no longer rewards the person who has access to the most information. It rewards the person who can tell what is true, what is manipulated, what is outdated, and what is being sold to them. Misinformation, disinformation, and synthetic content are now structural features of modern life, not edge cases.</p>
<h3>Your career is now a live product, not a static qualification</h3>
<p>A degree, job title, or past experience is no longer enough protection. Skills decay faster, industries shift faster, and tools change faster. OECD’s education work keeps returning to the same core idea: the world increasingly rewards agency, adaptability, innovation, responsibility, and the ability to handle complexity rather than memorize fixed knowledge.</p>
<h3>Distribution beats talent when talent stays invisible</h3>
<p>Being good is not enough. You need to know how to communicate, package, publish, persuade, and build trust publicly. In today’s world, personal brand does not just mean “be famous”; it means being legible. Can people understand what you do, why you matter, and why they should trust you?</p>
<h3>The economy is more fragile and more interconnected than it looks</h3>
<p>Energy shocks, inflation, trade conflict, war, cyber disruption, and supply-chain bottlenecks can hit daily life very quickly. The World Economic Forum’s 2026 Global Risks Report says multilateralism is in retreat, economic risks are intensifying, and technological risks are growing largely unchecked. Recent reporting around the Middle East conflict also shows how quickly oil disruptions can ripple into inflation and slower growth.</p>
<h3>Geopolitics is now personal</h3>
<p>A war far away can change your fuel bill, food cost, startup runway, travel plans, interest rates, shipping costs, and investor mood. You no longer have the luxury of saying “global politics doesn’t affect me.” It does. Directly.</p>
<h3>Cybersecurity is now basic life hygiene</h3>
<p>Your money, identity, business, documents, and reputation all live partly online. Everyone should know the basics: password managers, multi-factor authentication, phishing awareness, device hygiene, backup discipline, and how scams actually work. In a digital economy, weak cyber habits are like leaving your front door open.</p>
<h3>Financial literacy is survival literacy</h3>
<p>You should know budgeting, emergency funds, debt math, inflation, taxes, compounding, risk, insurance, and basic investing. Also: digital finance is expanding fast, which creates access but also new consumer risks. The World Bank’s recent work on digital financial inclusion stresses both the opportunity and the risks introduced by digital financial services.</p>
<h3>Health is leverage</h3>
<p>Sleep, fitness, nutrition, stress regulation, and emotional stability are no longer “nice to have.” They are performance infrastructure. Burnout, anxiety, bad sleep, and low energy quietly destroy decision-making, consistency, and creativity long before they become medical problems.</p>
<h3>Community is not optional anymore</h3>
<p>Modern life is hyperconnected but socially fragmented. The people doing best are not always the smartest; often they are the best supported. Relationships, reputation, and trusted communities create resilience, opportunities, emotional stability, and faster learning.</p>
<h3>Climate is no longer an abstract issue</h3>
<p>It is now an operations issue, a pricing issue, a migration issue, an insurance issue, a food issue, and a business-model issue. Extreme weather and environmental instability increasingly affect infrastructure, logistics, health, and economic planning. WEF continues to rank environmental risks among the defining forces of the coming years.</p>
<h3>Most systems are being rebuilt</h3>
<p>Education, media, work, commerce, mobility, healthcare, governance, and creativity are all being restructured by software, AI, networks, and changing incentives. This means there is more uncertainty, but also more room to build things that should have existed already.</p>
<h3>Taste and judgment are rising in value</h3>
<p>When tools become cheap and abundant, choosing well becomes more valuable than producing more. The winners will not just be those who can generate output, but those who can decide what matters, what is useful, what is elegant, what is true, and what should exist.</p>
<h3>Human skills are becoming more valuable, not less</h3>
<p>As machines get better at generating, humans get more valuable for trust, leadership, empathy, negotiation, taste, courage, storytelling, and ethical judgment. OECD’s framework is basically built around this idea: the future belongs to people who can create value responsibly and navigate tensions intelligently.</p>
]]></content:encoded></item><item><title><![CDATA[Infinite Piano Stream: How I Built a Low-Cost, 100% AI-Generated YouTube Livestream]]></title><description><![CDATA[TL;DRGenerate endless piano music using AI tools. Pair it with simple looping visuals. Pipe everything through FFmpeg into YouTube Live. Run it on a cheap VM (even 2-core, 4GB works). Minimal latency,]]></description><link>https://blog.punit.in/infinite-piano-stream-how-i-built-a-low-cost-100-ai-generated-youtube-livestream</link><guid isPermaLink="true">https://blog.punit.in/infinite-piano-stream-how-i-built-a-low-cost-100-ai-generated-youtube-livestream</guid><category><![CDATA[youtube]]></category><category><![CDATA[realtime]]></category><category><![CDATA[AI]]></category><category><![CDATA[FFmpeg]]></category><dc:creator><![CDATA[Punit Gupta]]></dc:creator><pubDate>Wed, 18 Mar 2026 06:44:37 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/69ba40fcc22d3eeb8a3e2cea/d5604312-87f4-467d-91e8-eaa3458a1c3a.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<blockquote>
<p><strong>TL;DR</strong><br />Generate endless piano music using AI tools. Pair it with simple looping visuals. Pipe everything through FFmpeg into YouTube Live. Run it on a cheap VM (even 2-core, 4GB works). Minimal latency, near-zero manual intervention.<br /><strong>Outcome:</strong> A "set-and-forget" infinite livestream with very low cost and effort.<br /><strong>Github Repo:</strong> <a href="https://github.com/pgAdmin/stream-blog-assets">https://github.com/pgAdmin/stream-blog-assets</a></p>
</blockquote>
<p>I’ve been tinkering with this idea for a while now, and I finally got around to turning it into something that actually works, ie, a chill, never-ending musical livestream on YouTube that’s 100% AI-generated. No me sitting there playing for hours, no expensive continuous video generation… just smart hacks to keep costs low and make it look &amp; sound pretty convincing.</p>
<p>It had to be affordable, since generating full-motion video frame-by-frame gets extremely expensive at 24–25 fps.</p>
<h3>The Core Insight: Separate Video and Audio, Then Sync Them</h3>
<p>Video generation (especially realistic human motion) is computationally heavy and costly on most AI platforms. Audio generation, on the other hand, is much cheaper (and in some cases free).</p>
<p>So the plan became:</p>
<ul>
<li><p>Generate <strong>short, video clips</strong> with the same start and end frame (silent, no audio).</p>
</li>
<li><p>Generate <strong>long instrumental tracks (of 5-7 minutes each)</strong>.</p>
</li>
<li><p>Stitch and stream them together using FFmpeg for a seamless, endless broadcast.</p>
</li>
</ul>
<h3>Choosing the Right Instrument and Camera Angle</h3>
<p>Early experiments with other instruments failed because sync errors become obvious:</p>
<ul>
<li><p><strong>Tabla</strong> or <strong>drums</strong>: Distinct percussive hits make any mismatch glaring.</p>
</li>
<li><p><strong>Saxophone</strong> (even jazz): Finger positions and bell movement clearly shift for different notes. Viewers will spot the inconsistencies pretty quickly.</p>
</li>
<li><p><strong>Piano</strong>, from a <strong>side view</strong>: This became the winner. From the side, you can't easily see exactly which keys are being pressed. Hand and arm movements are repetitive and fluid, so small AI imperfections blend in. People focus more on the overall ambiance than precise key accuracy.</p>
</li>
</ul>
<p>The side profile hides potential "AI artifacts" in finger-to-key alignment while keeping the scene elegant and hypnotic.</p>
<h3>Making Video Loop Without Jumps: The Key Trick</h3>
<p>Instead of generating one long continuous video (impossibly expensive), I created many <strong>short clips</strong> (5–10 seconds each) with a deliberate constraint:</p>
<ul>
<li>Every clip <strong>starts and ends on the exact same frame</strong> (same hand position, posture, lighting, etc.).</li>
</ul>
<p>When the start frame = end frame, you can:</p>
<ul>
<li><p>Loop a single clip endlessly with no visible jump.</p>
</li>
<li><p>Randomly rearrange and concatenate multiple clips for variety—yet the transitions feel natural because they return to the same "rest" pose.</p>
</li>
</ul>
<p>I generated about <strong>20 such short clips</strong> using <strong>Kling 2.5 / 2.6</strong> (which support start/end frame control nicely). This gave enough variation so the stream doesn't feel too repetitive over time.</p>
<h3>Audio: Long, Free, Piano-Only Tracks</h3>
<p>For the soundtrack I used <strong>ACE-Step 1.5</strong>, a powerful open-source/local AI music generation model. It's impressive: high quality, fast, and runs on consumer hardware with low VRAM.</p>
<ul>
<li><p>Prompted it for <strong>generic piano instrumentals</strong> (solo piano, ambient/chill/classical/jazz-infused styles).</p>
</li>
<li><p>Generated <strong>10–15 tracks</strong>, each 5-7 minutes long.</p>
</li>
<li><p>Total audio library: around <strong>50-80 minutes</strong> of royalty-free piano music (and you can generate more anytime, since it's free and pretty fast).</p>
</li>
</ul>
<p>This audio library provides plenty of content before any noticeable repeat.</p>
<h3>Putting It All Together with FFmpeg</h3>
<p>With video clips and audio ready, FFmpeg handles the heavy lifting for streaming (e.g., to YouTube RTMP).</p>
<ol>
<li><p>Prepare a text file (e.g., <code>videos.txt</code>) listing the short clips in a desired random/repeating order:</p>
<pre><code class="language-plaintext">file 'clip1.mp4'
file 'clip5.mp4'
file 'clip12.mp4'
... (repeat/rearrange as needed)
</code></pre>
<p>Because each clip loops seamlessly back to itself, concatenating them in any order works without cuts.</p>
</li>
<li><p>For audio, either:</p>
<ul>
<li><p>Concatenate the longer tracks into one big file, or</p>
</li>
<li><p>Use a concat list for audio too (<code>audios.txt</code>).</p>
</li>
</ul>
</li>
<li><p>Example FFmpeg command for a looping livestream:</p>
<p>A basic version for infinite stream:</p>
<pre><code class="language-plaintext">ffmpeg \
  -stream_loop -1 -re -f concat -safe 0 -i videos.txt \
  -stream_loop -1 -re -i long_piano_audio.mp3 \
  -c:v libx264 -b:v 2M -preset veryfast -pix_fmt yuv420p \
  -c:a aac -b:a 128k \
  -shortest -f flv rtmp://a.rtmp.youtube.com/live2/YOUR_STREAM_KEY
</code></pre>
<ul>
<li><p><code>-stream_loop -1</code>: Loops inputs forever.</p>
</li>
<li><p><code>-re</code>: Reads at realtime speed (critical for live).</p>
</li>
<li><p><code>-f concat -safe 0 -i videos.txt</code>: Stitches video clips.</p>
</li>
<li><p>Map video from first input, audio from second if needed.</p>
</li>
<li><p>Adjust bitrate/quality for YouTube (e.g., 2–4 Mbps video).</p>
</li>
</ul>
<p>Variations:</p>
<ul>
<li><p>Randomize clip order via script that regenerates <code>videos.txt</code> periodically.</p>
</li>
<li><p>Use <code>-shortest</code> or trim to match segments if needed.</p>
</li>
</ul>
</li>
</ol>
<p>This setup creates a smooth, endless piano performance stream with realistic visuals and pleasant audio -&gt; all AI-generated.</p>
<p>Here is <strong><mark class="bg-yellow-200 dark:bg-yellow-500/30">Barbara Lee's</mark></strong> recorded stream:</p>
<p><a class="embed-card" href="https://www.youtube.com/watch?v=PvBeGn5CE80">https://www.youtube.com/watch?v=PvBeGn5CE80</a></p>

<h3>Why This Works So Well (and Final Thoughts)</h3>
<ul>
<li><p><strong>Cost-effective</strong>: Only ~20 short video generations (Kling credits) + free/local audio via ACE-Step.</p>
</li>
<li><p><strong>Convincing</strong>: Side-view piano hides flaws; seamless loops avoid jump cuts.</p>
</li>
<li><p><strong>Scalable</strong>: Add more clips/tracks anytime; rearrange for "fresh" feel.</p>
</li>
<li><p><strong>Relaxing vibe</strong>: Perfect for study, sleep, background, or "lofi piano" style channels.</p>
</li>
</ul>
<p>If you're into AI media creation or want passive YouTube content, this technique is gold. The separation of concerns (video loops vs. long audio) + clever frame matching unlocks long-form streaming without breaking the bank.</p>
<p><strong><mark class="bg-yellow-200 dark:bg-yellow-500/30">Github Repo:</mark></strong> <a href="https://github.com/pgAdmin/stream-blog-assets">https://github.com/pgAdmin/stream-blog-assets</a></p>
<p>Have you tried something similar? What instrument or angle would you pick next? Let me know in the comments, I might iterate on this!</p>
<p>Happy streaming! 🎹</p>
]]></content:encoded></item></channel></rss>