<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Tools in Data Science</title><link>http://tds.mynkofficial.in/2026-05/</link><description>Recent content on Tools in Data Science</description><generator>Hugo</generator><language>en-us</language><atom:link href="http://tds.mynkofficial.in/2026-05/index.xml" rel="self" type="application/rss+xml"/><item><title/><link>http://tds.mynkofficial.in/2026-05/actor-network-visualization/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/actor-network-visualization/</guid><description>&lt;h2 id="actor-network-visualization"&gt;Actor Network Visualization&lt;a class="anchor" href="#actor-network-visualization"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Find the shortest path between Govinda &amp;amp; Angelina Jolie using IMDb data using Python: &lt;a href="https://pypi.org/project/networkx/"&gt;networkx&lt;/a&gt;
 or &lt;a href="https://pypi.org/project/scikit-network"&gt;scikit-network&lt;/a&gt;
.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://youtu.be/lcwMsPxPIjc"&gt;&lt;img src="https://i.ytimg.com/vi_webp/lcwMsPxPIjc/sddefault.webp" alt="Jolie No. 1" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/sanand0/jolie-no-1/blob/master/jolie-no-1.ipynb"&gt;Notebook: How this video was created&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/sanand0/jolie-no-1/blob/master/imdb-actor-pairing.ipynb"&gt;The data used to visualize the network&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/sanand0/jolie-no-1/blob/master/shortest-path.ipynb"&gt;The shortest path between actors&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developer.imdb.com/non-commercial-datasets/"&gt;IMDb data&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/sanand0/jolie-no-1"&gt;Codebase&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You&amp;rsquo;ll learn how to analyze and visualize the social network of actors using IMDb data, covering:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Data Acquisition and Preparation:&lt;/strong&gt; Learn how to download and work with IMDb&amp;rsquo;s non-commercial datasets. This includes using Python to read and process large TSV files.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Data Filtering and Wrangling:&lt;/strong&gt; Understand how to clean and filter large datasets to focus on relevant information, such as specific actor categories (actors/actresses) and movie titles, to make the data more manageable for analysis.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Actor Pairing and Network Creation:&lt;/strong&gt; Discover how to identify significant collaborations between actors by setting thresholds for the minimum number of films and co-appearances. You will learn to create a network of actors based on these pairings.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Handling Data Inconsistencies:&lt;/strong&gt; Learn techniques to manage real-world data issues, such as variations in actor names, to ensure the accuracy of your network.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Network Analysis with Python:&lt;/strong&gt; Get introduced to powerful Python libraries for network analysis like &lt;code&gt;networkx&lt;/code&gt; and &lt;code&gt;scikit-network&lt;/code&gt; to build, manipulate, and study the structure of complex networks.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Finding the Shortest Path:&lt;/strong&gt; Learn how to apply graph algorithms to find the shortest path between two actors in the network, demonstrating the &amp;ldquo;degrees of separation&amp;rdquo; concept.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Jupyter Notebook for Data Storytelling:&lt;/strong&gt; See how to use Jupyter Notebooks to document and present a data analysis project, combining code, text, and visualizations to tell a compelling story.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Exporting Results:&lt;/strong&gt; Learn how to export your findings, such as the actor pairings, into formats like Excel for further use or presentation.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/ai-coding-cli/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/ai-coding-cli/</guid><description>&lt;h1 id="ai-coding-in-the-cli"&gt;AI Coding in the CLI&lt;a class="anchor" href="#ai-coding-in-the-cli"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Command-line AI coding tools bring the power of large language models directly to your terminal, enabling scripted automation, pipeline integration, and efficient developer workflows. These tools excel at batch processing, git integration, and system-level automation that GUI tools can&amp;rsquo;t match.&lt;/p&gt;
&lt;p&gt;In this module, you&amp;rsquo;ll learn:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Claude Code CLI&lt;/strong&gt;: Terminal-first coding agent for interactive development and review&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Codex CLI (OpenAI)&lt;/strong&gt;: Local coding agent with sandbox, approvals, CI-friendly exec&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub Copilot CLI&lt;/strong&gt;: GitHub-native terminal agent with policy-aware approvals and MCP extensions&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gemini CLI&lt;/strong&gt;: Large-context, multimodal agent with non-interactive mode&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Simon Willison&amp;rsquo;s &lt;code&gt;llm&lt;/code&gt;&lt;/strong&gt;: Shell-native AI with UNIX pipeline integration and extensive tooling&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="claude-code-cli"&gt;Claude Code CLI&lt;a class="anchor" href="#claude-code-cli"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://claude.ai/code"&gt;Claude Code&lt;/a&gt;
 is Anthropic’s terminal-first coding agent (npm: &lt;code&gt;@anthropic-ai/claude-code&lt;/code&gt;). It runs locally in your project, understands your codebase, and assists with routine tasks, explanations, and git workflows.&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/ai-coding-context/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/ai-coding-context/</guid><description>&lt;h1 id="ai-coding-context-engineering"&gt;AI Coding Context Engineering&lt;a class="anchor" href="#ai-coding-context-engineering"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Context engineering is the systematic approach to providing AI coding assistants with the right information at the right level of detail. Unlike general prompt engineering, code context engineering focuses specifically on code-related workflows, project structure, and development processes.&lt;/p&gt;
&lt;p&gt;Effective context engineering transforms AI from a simple code generator into an intelligent development partner that understands your project&amp;rsquo;s architecture, conventions, and goals.&lt;/p&gt;
&lt;p&gt;In this module, you&amp;rsquo;ll learn:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/ai-coding-ide/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/ai-coding-ide/</guid><description>&lt;h1 id="ai-coding-in-ides"&gt;AI Coding in IDEs&lt;a class="anchor" href="#ai-coding-in-ides"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;AI-powered coding assistants have changed how we write code within traditional IDEs and editors. These tools provide intelligent code completion, chat interfaces, and automated refactoring capabilities that dramatically increase developer productivity.&lt;/p&gt;
&lt;p&gt;In this module, you&amp;rsquo;ll learn:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Copy-paste workflows&lt;/strong&gt;: Fast iteration cycles using web-based AI assistants for quick fixes and code generation&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub Copilot&lt;/strong&gt;: The industry-standard AI pair programmer for VS Code and other editors&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cursor&lt;/strong&gt;: An AI-native editor with advanced context understanding and agent capabilities&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Windsurf&lt;/strong&gt;: The first agentic IDE with deep codebase awareness and collaborative AI features&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="copy-paste-workflows"&gt;Copy-paste workflows&lt;a class="anchor" href="#copy-paste-workflows"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The simplest and often most effective AI coding workflow involves copying code and errors to web-based AI assistants, then pasting the improved solutions back into your editor. This approach works with any editor and provides access to the latest AI models.&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/ai-coding-online/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/ai-coding-online/</guid><description>&lt;h1 id="ai-coding-online"&gt;AI Coding Online&lt;a class="anchor" href="#ai-coding-online"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Modern AI coding tools have transformed how we build software, enabling rapid prototyping and deployment through natural language interfaces. This module covers the mindset shift toward &amp;ldquo;vibe-coding&amp;rdquo; and the essential tools for AI-assisted development.&lt;/p&gt;
&lt;p&gt;In this module, you&amp;rsquo;ll learn:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Inline AI coding sandboxes&lt;/strong&gt;: Use Claude Artifacts, Gemini Canvas, and ChatGPT Canvas for iterative development&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hosted agent workbenches&lt;/strong&gt;: Leverage Replit Agent, Bolt.new, and Lovable for end-to-end app creation&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="artifacts-inline-ai-coding-sandboxes"&gt;Artifacts: Inline AI coding sandboxes&lt;a class="anchor" href="#artifacts-inline-ai-coding-sandboxes"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;AI artifacts provide side-by-side code and chat interfaces that revolutionize how we iterate on applications. These tools show visible diffs, run code in real-time, and allow for conversational editing.&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/ai-coding-strategies/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/ai-coding-strategies/</guid><description>&lt;h1 id="ai-coding-strategies"&gt;AI Coding Strategies&lt;a class="anchor" href="#ai-coding-strategies"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Strategic approaches to AI-assisted software development have evolved rapidly in 2025. Unlike simple code completion, these methodologies focus on sustainable, team-oriented workflows that maximize AI productivity while maintaining code quality and developer control.&lt;/p&gt;
&lt;p&gt;Modern AI coding strategies combine human expertise with AI capabilities through structured patterns, parallel processing, and iterative feedback loops. The most effective approaches treat AI as a collaborative partner rather than a replacement, establishing clear boundaries and verification processes.&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/ai-coding-tests/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/ai-coding-tests/</guid><description>&lt;h1 id="ai-coding-tests"&gt;AI Coding Tests&lt;a class="anchor" href="#ai-coding-tests"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Testing AI-generated code is about establishing fast, trustworthy feedback loops before the code lands in main. The goal is not perfect certainty—it is a reliable signal that the patch does what it should, fails when it must, and keeps shipping velocity high.&lt;/p&gt;
&lt;p&gt;In this module, you&amp;rsquo;ll learn:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Scorecard-driven evaluation loops&lt;/strong&gt;: Track AI agent success with automated suites and selectors&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Premortem test-first flows&lt;/strong&gt;: Lock in failing tests before asking an agent to code&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Python-first fuzzing and mutation&lt;/strong&gt;: Catch almost-right code with Hypothesis and mutmut&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Agent-powered smoke tests&lt;/strong&gt;: Let Playwright bots guard critical user journeys&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="build-evaluation-loops"&gt;Build evaluation loops&lt;a class="anchor" href="#build-evaluation-loops"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Benchmarks stop vibe-coded fixes from quietly regressing. Start with a thin scorecard that runs on every candidate patch, then expand.&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/ai-coding-tools/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/ai-coding-tools/</guid><description>&lt;h1 id="ai-coding-tools"&gt;AI Coding Tools&lt;a class="anchor" href="#ai-coding-tools"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;AI coding agents perform best when you stage a predictable toolbox around them. The goal is not to spray every binary into the sandbox, but to focus on fast, auditable utilities that agents can compose for data prep, testing, review, and automation. Keep the happy path linear: expose tools, document how to call them, and wire safe defaults before inviting an agent into the repo.&lt;/p&gt;
&lt;p&gt;In this module, you&amp;rsquo;ll learn:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/ai-coding/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/ai-coding/</guid><description>&lt;h1 id="ai-coding"&gt;AI Coding&lt;a class="anchor" href="#ai-coding"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;AI-assisted development pairs human judgment with generative models across every workspace. This module shows how to set up productive collaborations, feed models the right project context, and ship code you trust.&lt;/p&gt;
&lt;p&gt;You&amp;rsquo;ll explore:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Creative prompting&lt;/strong&gt; that shapes tone and flow through vibe coding sessions and scenario planning.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Environment-specific tooling&lt;/strong&gt; for working in browser editors, IDE extensions, and CLI companions without losing momentum.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Context engineering practices&lt;/strong&gt; that stage repositories, snippets, and docs so models stay grounded in your codebase.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Quality safeguards&lt;/strong&gt; that weave in automated tests, structured reviews, and targeted tool calls to keep AI-written code production ready.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;By the end you will know when to lean on AI, how to steer it with precise context, and the guardrails that turn generated snippets into maintainable features.&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/archive/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/archive/</guid><description>&lt;h1 id="archived-content"&gt;Archived content&lt;a class="anchor" href="#archived-content"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="videos"&gt;Videos&lt;a class="anchor" href="#videos"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="iitm-bs-degree---diploma-level-orientation"&gt;IITM BS Degree - Diploma Level Orientation&lt;a class="anchor" href="#iitm-bs-degree---diploma-level-orientation"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://youtu.be/Dj7X0bQRJSs"&gt;&lt;img src="https://img.youtube.com/vi_webp/Dj7X0bQRJSs/sddefault.webp" alt="IITM BS Degree - Diploma Level Orientation, May 2022" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h3 id="tools-in-data-science-orientation"&gt;Tools in Data Science Orientation&lt;a class="anchor" href="#tools-in-data-science-orientation"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://youtu.be/_c_aFQ0ObLo?t=4186"&gt;&lt;img src="https://img.youtube.com/vi_webp/_c_aFQ0ObLo/sddefault.webp" alt="TDS Orientation, May 2022" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h3 id="tools-in-data-science-live-sessions"&gt;Tools in Data Science Live Sessions&lt;a class="anchor" href="#tools-in-data-science-live-sessions"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://www.youtube.com/@se-lr5ff"&gt;&lt;img src="https://img.youtube.com/vi_webp/MQgOy5RNNz0/sddefault.webp" alt="TDS YouTube channel for live sessions" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h3 id="tools-in-data-science-playlist"&gt;Tools in Data Science Playlist&lt;a class="anchor" href="#tools-in-data-science-playlist"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://www.youtube.com/playlist?list=PLZ2ps__7DhBZEOxUBCkv61WHOu8m7ObpE"&gt;&lt;img src="https://i.ytimg.com/vi_webp/3OeMOb7gByE/sddefault.webp" alt="Tools in Data Science Course Playlist , but only 17 videos" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;&lt;a href="https://youtube.com/playlist?list=PLZ2ps__7DhBZJ2q_hd8ZbDRgOJlB0CZLw&amp;amp;feature=shared"&gt;Tools in Data Science Course Playlist, 66 videos&lt;/a&gt;
&lt;/p&gt;
&lt;h2 id="optional-parse--clean-pdf-files-with-tabula"&gt;Optional: Parse &amp;amp; clean PDF files with Tabula&lt;a class="anchor" href="#optional-parse--clean-pdf-files-with-tabula"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/IEusn9HB1sc"&gt;&lt;img src="https://i.ytimg.com/vi_webp/IEusn9HB1sc/sddefault.webp" alt="Parse &amp;amp; clean PDF files with Tabula" /&gt;&lt;/a&gt;
&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/base64-encoding/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/base64-encoding/</guid><description>&lt;h1 id="base-64-encoding"&gt;Base 64 Encoding&lt;a class="anchor" href="#base-64-encoding"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Base64 is a method to convert binary data into ASCII text. It&amp;rsquo;s essential when you need to transmit binary data through text-only channels or embed binary content in text formats.&lt;/p&gt;
&lt;p&gt;Watch this quick explanation of how Base64 works (3 min):&lt;/p&gt;
&lt;p&gt;&lt;a href="https://youtu.be/8qkxeZmKmOY"&gt;&lt;img src="https://i.ytimg.com/vi_webp/8qkxeZmKmOY/sddefault.webp" alt="What is Base64? (3 min)" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s how it works:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;It takes 3 bytes (24 bits) and converts them into 4 ASCII characters&lt;/li&gt;
&lt;li&gt;&amp;hellip; using 64 characters: A-Z, a-z, 0-9, + and / (padding with &lt;code&gt;=&lt;/code&gt; to make the length a multiple of 4)&lt;/li&gt;
&lt;li&gt;There&amp;rsquo;s a URL-safe variant of Base64 that replaces + and / with - and _ to avoid issues in URLs&lt;/li&gt;
&lt;li&gt;Base64 adds ~33% overhead (since every 3 bytes becomes 4 characters)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Common Python operations with Base64:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/bash/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/bash/</guid><description>&lt;h2 id="terminal-bash"&gt;Terminal: Bash&lt;a class="anchor" href="#terminal-bash"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;UNIX shells are the de facto standard in the data science world and &lt;a href="https://www.gnu.org/software/bash/"&gt;Bash&lt;/a&gt;
 is the most popular.
This is available by default on Mac and Linux.&lt;/p&gt;
&lt;p&gt;On Windows, install &lt;a href="https://git-scm.com/downloads"&gt;Git Bash&lt;/a&gt;
 or &lt;a href="https://learn.microsoft.com/en-us/windows/wsl/install"&gt;WSL&lt;/a&gt;
 to get a UNIX shell.&lt;/p&gt;
&lt;p&gt;Watch this video to install WSL (12 min).&lt;/p&gt;
&lt;p&gt;&lt;a href="https://youtu.be/X-DHaQLrBi8"&gt;&lt;img src="https://i.ytimg.com/vi_webp/X-DHaQLrBi8/sddefault.webp" alt="How to Install Ubuntu on Windows 10 (WSL) (12 min)" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Watch this video to understand the basics of Bash and UNIX shell commands (75 min).&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/bbc-weather-api-with-python/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/bbc-weather-api-with-python/</guid><description>&lt;h2 id="bbc-weather-location-id-with-python"&gt;BBC Weather location ID with Python&lt;a class="anchor" href="#bbc-weather-location-id-with-python"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/IafLrvnamAw"&gt;&lt;img src="https://i.ytimg.com/vi_webp/IafLrvnamAw/sddefault.webp" alt="BBC Weather location API with Python" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;You&amp;rsquo;ll learn how to get the location ID of any city from the BBC Weather API &amp;ndash; as a precursor to scraping weather data &amp;ndash; covering:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Understanding API Calls&lt;/strong&gt;: Learn how backend API calls work when searching for a city on the BBC weather website.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Inspecting Web Interactions&lt;/strong&gt;: Use the browser&amp;rsquo;s inspect element feature to track API calls and understand the network activity.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Extracting Location IDs&lt;/strong&gt;: Identify and extract the location ID from the API response using Python.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Using Python Libraries&lt;/strong&gt;: Import and use requests, json, and urlencode libraries to make API calls and process responses.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Constructing API URLs&lt;/strong&gt;: Create structured API URLs dynamically with constant prefixes and query parameters using urlencode.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Building Functions&lt;/strong&gt;: Develop a Python function that accepts a city name, constructs the API call, and returns the location ID.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To open the browser Developer Tools on Chrome, Edge, or Firefox, you can:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/cleaning-data-with-openrefine/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/cleaning-data-with-openrefine/</guid><description>&lt;h2 id="cleaning-data-with-openrefine"&gt;Cleaning Data with OpenRefine&lt;a class="anchor" href="#cleaning-data-with-openrefine"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/zxEtfHseE84"&gt;&lt;img src="https://i.ytimg.com/vi_webp/zxEtfHseE84/sddefault.webp" alt="Cleaning data with OpenRefine" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;This session covers the use of OpenRefine for data cleaning, focusing on resolving entity discrepancies:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Data Upload and Project Creation&lt;/strong&gt;: Import data into OpenRefine and create a new project for analysis.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Faceting Data&lt;/strong&gt;: Use text facets to group similar entries and identify frequency of address crumbs.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Clustering Methodology&lt;/strong&gt;: Apply clustering algorithms to merge similar entries with minor differences, such as punctuation.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Manual and Automated Clustering&lt;/strong&gt;: Learn to merge clusters manually or in one go, trusting the system&amp;rsquo;s clustering accuracy.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Entity Resolution&lt;/strong&gt;: Clean and save the data by resolving multiple versions of the same entity using Open Refine.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here are links used in the video:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/colab/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/colab/</guid><description>&lt;h2 id="notebooks-google-colab"&gt;Notebooks: Google Colab&lt;a class="anchor" href="#notebooks-google-colab"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://colab.research.google.com/"&gt;Google Colab&lt;/a&gt;
 is a free, cloud-based Jupyter notebook environment that&amp;rsquo;s become indispensable for data scientists and ML practitioners. It&amp;rsquo;s particularly valuable because it provides free access to GPUs and TPUs, and for easy sharing of code and execution results.&lt;/p&gt;
&lt;p&gt;While Colab is excellent for prototyping and learning, its free tier has limitations - notebooks time out after 12 hours, and GPU access can be inconsistent.&lt;/p&gt;
&lt;p&gt;Learn how to mount Google Drive for persistent storage, manage dependencies with &lt;code&gt;!pip install&lt;/code&gt; commands, as these are common pain points when getting started.&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/convert-html-to-markdown/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/convert-html-to-markdown/</guid><description>&lt;h2 id="converting-html-to-markdown"&gt;Converting HTML to Markdown&lt;a class="anchor" href="#converting-html-to-markdown"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;When working with web content, converting HTML files to plain text or Markdown is a common requirement for content extraction, analysis, and preservation. For example:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Content analysis&lt;/strong&gt;: Extract clean text from HTML for natural language processing&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Data mining&lt;/strong&gt;: Strip formatting to focus on the actual content&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Offline reading&lt;/strong&gt;: Convert web pages to readable formats for e-readers or offline consumption&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Content migration&lt;/strong&gt;: Move content between different CMS platforms&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SEO analysis&lt;/strong&gt;: Extract headings, content structure, and text for optimization&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Archive creation&lt;/strong&gt;: Store web content in more compact, preservation-friendly formats&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Accessibility&lt;/strong&gt;: Convert content to formats that work better with screen readers&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This tutorial covers both converting existing HTML files and combining web crawling with HTML-to-text conversion in a single workflow &amp;ndash; all using the command line.&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/convert-pdfs-to-markdown/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/convert-pdfs-to-markdown/</guid><description>&lt;h2 id="converting-pdfs-to-markdown"&gt;Converting PDFs to Markdown&lt;a class="anchor" href="#converting-pdfs-to-markdown"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;PDF documents are ubiquitous in academic, business, and technical contexts, but extracting and repurposing their content can be challenging. This tutorial explores various command-line tools for converting PDFs to Markdown format, with a focus on preserving structure and formatting suitable for different use cases, including preparation for Large Language Models (LLMs).&lt;/p&gt;
&lt;p&gt;Use Cases:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;LLM training and fine-tuning&lt;/strong&gt;: Create clean text data from PDFs for AI model training&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Knowledge base creation&lt;/strong&gt;: Transform PDFs into searchable, editable markdown documents&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Content repurposing&lt;/strong&gt;: Convert academic papers and reports for web publication&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Data extraction&lt;/strong&gt;: Pull structured content from PDF documents for analysis&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Accessibility&lt;/strong&gt;: Convert PDFs to more accessible formats for screen readers&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Citation and reference management&lt;/strong&gt;: Extract bibliographic information from academic papers&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Documentation conversion&lt;/strong&gt;: Transform technical PDFs into maintainable documentation&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="pymupdf4llm"&gt;PyMuPDF4LLM&lt;a class="anchor" href="#pymupdf4llm"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://pymupdf.readthedocs.io/en/latest/pymupdf4llm/"&gt;PyMuPDF4LLM&lt;/a&gt;
 is a specialized component of the PyMuPDF library that generates Markdown specifically formatted for Large Language Models. It produces high-quality markdown with good preservation of document structure. It&amp;rsquo;s specifically optimized for producing text that works well with LLMs, removing irrelevant formatting while preserving semantic structure. Requires PyTorch, which adds dependencies but enables more advanced processing capabilities.&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/correlation-with-excel/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/correlation-with-excel/</guid><description>&lt;h2 id="correlation-with-excel"&gt;Correlation with Excel&lt;a class="anchor" href="#correlation-with-excel"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/lXHCyhO7DmY"&gt;&lt;img src="https://i.ytimg.com/vi_webp/lXHCyhO7DmY/sddefault.webp" alt="Correlation with Excel" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;You&amp;rsquo;ll learn to calculate and interpret correlations using Excel, covering:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Enabling the Data Analysis Tool Pack&lt;/strong&gt;: Steps to enable the Excel data analysis tool pack.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Correlation Analysis&lt;/strong&gt;: Understanding statistical association between variables.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Creating a Correlation Matrix&lt;/strong&gt;: Steps to generate and interpret a correlation matrix.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Scatterplots and Trendlines&lt;/strong&gt;: Plotting data and adding trend lines to visualize correlations.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Analyzing Results&lt;/strong&gt;: Comparing correlation coefficients and understanding their implications.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Insights and Further Analysis&lt;/strong&gt;: Interpreting scatterplots and planning further analysis for deeper insights.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here are the links used in the video:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/cors/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/cors/</guid><description>&lt;h2 id="cors-cross-origin-resource-sharing"&gt;CORS: Cross-Origin Resource Sharing&lt;a class="anchor" href="#cors-cross-origin-resource-sharing"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;CORS (Cross-Origin Resource Sharing) is a security mechanism that controls how web browsers handle requests between different origins (domains, protocols, or ports). Data scientists need CORS for APIs serving data or analysis to a browser on a different domain.&lt;/p&gt;
&lt;p&gt;Watch this practical explanation of CORS (3 min):&lt;/p&gt;
&lt;p&gt;&lt;a href="https://youtu.be/4KHiSt0oLJ0"&gt;&lt;img src="https://i.ytimg.com/vi_webp/4KHiSt0oLJ0/sddefault.webp" alt="CORS in 100 Seconds" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Key CORS concepts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Same-Origin Policy&lt;/strong&gt;: Browsers block requests between different origins by default&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CORS Headers&lt;/strong&gt;: Server responses must include specific headers to allow cross-origin requests&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Preflight Requests&lt;/strong&gt;: Browsers send OPTIONS requests to check if the actual request is allowed&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Credentials&lt;/strong&gt;: Special handling required for requests with cookies or authentication&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you&amp;rsquo;re exposing your API with a GET request publicly, the only thing you need to do is set the HTTP header &lt;code&gt;Access-Control-Allow-Origin: *&lt;/code&gt;.&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/crawling-cli/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/crawling-cli/</guid><description>&lt;h2 id="crawling-with-the-cli"&gt;Crawling with the CLI&lt;a class="anchor" href="#crawling-with-the-cli"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Since websites are a common source of data, we often download entire websites (crawling) and then process them offline.&lt;/p&gt;
&lt;p&gt;Web crawling is essential in many data-driven scenarios:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Data mining and analysis&lt;/strong&gt;: Gathering structured data from multiple pages for market research, competitive analysis, or academic research&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Content archiving&lt;/strong&gt;: Creating offline copies of websites for preservation or backup purposes&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SEO analysis&lt;/strong&gt;: Analyzing site structure, metadata, and content to improve search rankings&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Legal compliance&lt;/strong&gt;: Capturing website content for regulatory or compliance documentation&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Website migration&lt;/strong&gt;: Creating a complete copy before moving to a new platform or design&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Offline access&lt;/strong&gt;: Downloading educational resources, documentation, or reference materials for use without internet connection&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The most commonly used tool for fetching websites is &lt;a href="https://www.gnu.org/software/wget/"&gt;&lt;code&gt;wget&lt;/code&gt;&lt;/a&gt;
. It is pre-installed in many UNIX distributions and easy to install.&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/css-selectors/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/css-selectors/</guid><description>&lt;h2 id="css-selectors"&gt;CSS Selectors&lt;a class="anchor" href="#css-selectors"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;CSS selectors are patterns used to select and style HTML elements on a web page. They are fundamental to web development and data scraping, allowing you to precisely target elements for styling or extraction.&lt;/p&gt;
&lt;p&gt;For data scientists, understanding CSS selectors is crucial when:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Web scraping with tools like Beautiful Soup or Scrapy&lt;/li&gt;
&lt;li&gt;Selecting elements for browser automation with Selenium&lt;/li&gt;
&lt;li&gt;Styling data visualizations and web applications&lt;/li&gt;
&lt;li&gt;Debugging website issues using browser DevTools&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Watch this comprehensive introduction to CSS selectors (20 min):&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/data-aggregation-in-excel/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/data-aggregation-in-excel/</guid><description>&lt;h2 id="data-aggregation-in-excel"&gt;Data Aggregation in Excel&lt;a class="anchor" href="#data-aggregation-in-excel"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/NkpT0dDU8Y4"&gt;&lt;img src="https://i.ytimg.com/vi_webp/NkpT0dDU8Y4/sddefault.webp" alt="Data aggregation in Excel" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;You&amp;rsquo;ll learn data aggregation and visualization techniques in Excel, covering:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Data Cleanup&lt;/strong&gt;: Remove empty columns and rows with missing values.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Creating Excel Tables&lt;/strong&gt;: Convert raw data into tables for easier manipulation and formula application.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Date Manipulation&lt;/strong&gt;: Extract week, month, and year from date columns using Excel functions (WEEKNUM, TEXT).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Color Scales&lt;/strong&gt;: Apply color scales to visualize clusters and trends in data over time.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pivot Tables&lt;/strong&gt;: Create pivot tables to aggregate data by location and date, summarizing values weekly and monthly.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sparklines&lt;/strong&gt;: Use sparklines to visualize trends within pivot tables, making data patterns more apparent.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Data Bars&lt;/strong&gt;: Implement data bars for graphical illustrations of numerical columns, showing trends and waves.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here are links used in the video:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/data-analysis-with-datasette/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/data-analysis-with-datasette/</guid><description>&lt;h1 id="data-analysis-with-datasette"&gt;Data Analysis with Datasette&lt;a class="anchor" href="#data-analysis-with-datasette"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;&lt;a href="https://youtu.be/7kDFBnXaw-c"&gt;&lt;img src="https://i.ytimg.com/vi_webp/7kDFBnXaw-c/sddefault.webp" alt="Introduction to Datasette and sqlite-utils" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Datasette is an open-source tool for exploring and publishing data. Created by Simon Willison, it turns any SQLite database into an instant web interface with powerful exploration features, JSON APIs, and visualization capabilities—all without writing code.&lt;/p&gt;
&lt;p&gt;Unlike traditional database tools that require SQL knowledge upfront, Datasette provides an interactive interface for exploring data through faceting, filtering, and full-text search. It&amp;rsquo;s particularly powerful for data journalism, analysis workflows, and sharing datasets with non-technical audiences.&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/data-analysis-with-duckdb/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/data-analysis-with-duckdb/</guid><description>&lt;h2 id="data-analysis-with-duckdb"&gt;Data Analysis with DuckDB&lt;a class="anchor" href="#data-analysis-with-duckdb"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/4U0GqYrET5s"&gt;&lt;img src="https://i.ytimg.com/vi_webp/4U0GqYrET5s/sddefault.webp" alt="Data Analysis with DuckDB" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;You&amp;rsquo;ll learn how to perform data analysis using DuckDB and Pandas, covering:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Parquet for Data Storage&lt;/strong&gt;: Understand why Parquet is a faster, more compact, and better-typed storage format compared to CSV, JSON, and SQLite.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DuckDB Setup&lt;/strong&gt;: Learn how to install and set up DuckDB, along with integrating it into a Jupyter notebook environment.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;File Format Comparisons&lt;/strong&gt;: Compare file formats by speed and size, observing the performance difference between saving and loading data in CSV, JSON, SQLite, and Parquet.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Faster Queries with DuckDB&lt;/strong&gt;: Learn how DuckDB uses parallel processing, columnar storage, and on-disk operations to outperform Pandas in speed and memory efficiency.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SQL Query Execution in DuckDB&lt;/strong&gt;: Run SQL queries directly on Parquet files and Pandas DataFrames to compute metrics such as the number of unique flight routes delayed by certain time intervals.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Memory Efficiency&lt;/strong&gt;: Understand how DuckDB performs analytics without loading entire datasets into memory, making it highly efficient for large-scale data analysis.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mixing DuckDB and Pandas&lt;/strong&gt;: Learn to interleave DuckDB and Pandas operations, leveraging the strengths of both tools to perform complex queries like correlations and aggregations.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ranking and Filtering Data&lt;/strong&gt;: Use SQL and Pandas to rank arrival delays by distance and extract key insights, such as the earliest flight arrival for each route.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Joining Data&lt;/strong&gt;: Create a cost analysis by joining datasets and calculating total costs of flight delays, demonstrating DuckDB&amp;rsquo;s speed in joining and aggregating large datasets.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here are the links used in the video:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/data-analysis-with-python/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/data-analysis-with-python/</guid><description>&lt;h2 id="data-analysis-with-python"&gt;Data Analysis with Python&lt;a class="anchor" href="#data-analysis-with-python"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/ZPfZH14FK90"&gt;&lt;img src="https://i.ytimg.com/vi_webp/ZPfZH14FK90/sddefault.webp" alt="Data Analysis with Python" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;You&amp;rsquo;ll learn practical data analysis techniques in Python using Pandas, covering:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Reading Parquet Files&lt;/strong&gt;: Utilize Pandas to read Parquet file formats for efficient data handling.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dataframe Inspection&lt;/strong&gt;: Methods to preview and understand the structure of a dataset.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pivot Tables&lt;/strong&gt;: Creating and interpreting pivot tables to summarize data.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Percentage Calculations&lt;/strong&gt;: Normalize pivot table values to percentages for better insights.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Correlation Analysis&lt;/strong&gt;: Calculate and interpret correlation between variables, including significance testing.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Statistical Significance&lt;/strong&gt;: Use statistical tests to determine the significance of observed correlations.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Datetime Handling&lt;/strong&gt;: Extract and manipulate date and time information from datetime columns.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Data Visualization&lt;/strong&gt;: Generate and customize heat maps to visualize data patterns effectively.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Leveraging AI&lt;/strong&gt;: Use ChatGPT to generate and refine analytical code, enhancing productivity and accuracy.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here are the links used in the video:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/data-analysis-with-sql/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/data-analysis-with-sql/</guid><description>&lt;h2 id="data-analysis-with-sql"&gt;Data Analysis with SQL&lt;a class="anchor" href="#data-analysis-with-sql"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/Xn3QkYrThbI"&gt;&lt;img src="https://i.ytimg.com/vi_webp/Xn3QkYrThbI/sddefault.webp" alt="Data Analysis with Databases" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;You&amp;rsquo;ll learn how to perform data analysis using SQL (via Python), covering:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Database Connection&lt;/strong&gt;: How to connect to a MySQL database using SQLAlchemy and Pandas.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SQL Queries&lt;/strong&gt;: Execute SQL queries directly from a Python environment to retrieve and analyze data.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Counting Rows&lt;/strong&gt;: Use SQL to count the number of rows in a table.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;User Activity Analysis&lt;/strong&gt;: Query and identify top users by post count.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Post Concentration&lt;/strong&gt;: Determine if a small percentage of users contribute the majority of posts using SQL aggregation.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Correlation Calculation&lt;/strong&gt;: Calculate the Pearson correlation coefficient between user attributes such as age and reputation.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Regression Analysis&lt;/strong&gt;: Compute the regression slope to understand the relationship between views and reputation.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Handling Large Data&lt;/strong&gt;: Perform calculations on large datasets by fetching aggregated values from the database rather than entire datasets.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Statistical Analysis in SQL&lt;/strong&gt;: Use SQL as a tool for statistical analysis, demonstrating its power beyond simple data retrieval.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Leveraging AI&lt;/strong&gt;: Use ChatGPT to generate SQL queries and Python code, enhancing productivity and accuracy.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here are the links used in the video:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/data-analysis/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/data-analysis/</guid><description>&lt;h1 id="data-analysis"&gt;Data analysis&lt;a class="anchor" href="#data-analysis"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;&lt;a href="https://drive.google.com/file/d/1isjtxFa43CLIFlLpo8mwwQfBog9VlXYl/view"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" fill="currentColor" class="bi bi-broadcast-pin" viewBox="0 0 16 16"&gt;
&lt;path d="M3.05 3.05a7 7 0 0 0 0 9.9.5.5 0 0 1-.707.707 8 8 0 0 1 0-11.314.5.5 0 0 1 .707.707m2.122 2.122a4 4 0 0 0 0 5.656.5.5 0 1 1-.708.708 5 5 0 0 1 0-7.072.5.5 0 0 1 .708.708m5.656-.708a.5.5 0 0 1 .708 0 5 5 0 0 1 0 7.072.5.5 0 1 1-.708-.708 4 4 0 0 0 0-5.656.5.5 0 0 1 0-.708m2.122-2.12a.5.5 0 0 1 .707 0 8 8 0 0 1 0 11.313.5.5 0 0 1-.707-.707 7 7 0 0 0 0-9.9.5.5 0 0 1 0-.707zM6 8a2 2 0 1 1 2.5 1.937V15.5a.5.5 0 0 1-1 0V9.937A2 2 0 0 1 6 8"/&gt;
&lt;/svg&gt; &lt;span style="font-size: 24px; margin: 0 6px; vertical-align: bottom"&gt;Data Analysis: Introduction Podcast&lt;/span&gt;&lt;/a&gt;
 by &lt;a href="https://notebooklm.google.com/"&gt;NotebookLM&lt;/a&gt;
&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/data-cleansing-in-excel/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/data-cleansing-in-excel/</guid><description>&lt;h2 id="data-cleansing-in-excel"&gt;Data Cleansing in Excel&lt;a class="anchor" href="#data-cleansing-in-excel"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/7du7xkqeu4s"&gt;&lt;img src="https://i.ytimg.com/vi_webp/7du7xkqeu4s/sddefault.webp" alt="Clean up data in Excel" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;You&amp;rsquo;ll learn basic but essential data cleaning techniques in Excel, covering:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Find and Replace&lt;/strong&gt;: Use Ctrl+H to replace or remove specific terms (e.g., removing &amp;ldquo;[more]&amp;rdquo; from country names).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changing Data Formats&lt;/strong&gt;: Convert columns from general to numerical format.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Removing Extra Spaces&lt;/strong&gt;: Use the TRIM function to clean up unnecessary spaces in text.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Identifying and Removing Blank Cells&lt;/strong&gt;: Highlight and delete entire rows with blank cells using the &amp;ldquo;Go To Special&amp;rdquo; function.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Removing Duplicates&lt;/strong&gt;: Use the &amp;ldquo;Remove Duplicates&amp;rdquo; feature to eliminate duplicate entries, demonstrated with country names.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here are links used in the video:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/data-preparation-in-duckdb/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/data-preparation-in-duckdb/</guid><description>&lt;h2 id="data-preparation-in-duckdb"&gt;Data Preparation in DuckDB&lt;a class="anchor" href="#data-preparation-in-duckdb"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=Fg8n-O0dhrI&amp;amp;list=PLw2SS5iImhEThtiGNPiNenOr2tVvLj6H7&amp;amp;index=2"&gt;&lt;img src="https://i.ytimg.com/vi_webp/fZj6kTwXN1U/sddefault.webp" alt="DuckDB" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;DuckDB&amp;rsquo;s SQL engine can handle large files quickly. Below are common cleaning tasks using the DuckDB CLI.&lt;/p&gt;
&lt;h3 id="create-a-sample-dataset"&gt;Create a Sample Dataset&lt;a class="anchor" href="#create-a-sample-dataset"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Let&amp;rsquo;s create a sample dataset that mimics real business data patterns - incomplete customer records, time-series orders, and regional variations. Before working with messy production data, you need a controlled environment to test data cleaning techniques. This sample represents common e-commerce scenarios: missing customer info (20% of orders), seasonal patterns (15-day cycles), and geographic segmentation that drive business decisions like inventory placement and marketing campaigns.&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/data-preparation-in-the-editor/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/data-preparation-in-the-editor/</guid><description>&lt;h2 id="data-preparation-in-the-editor"&gt;Data Preparation in the Editor&lt;a class="anchor" href="#data-preparation-in-the-editor"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/99lYu43L9uM"&gt;&lt;img src="https://i.ytimg.com/vi_webp/99lYu43L9uM/sddefault.webp" alt="Data preparation in the editor" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;You&amp;rsquo;ll learn how to use a text editor &lt;a href="https://code.visualstudio.com/"&gt;Visual Studio Code&lt;/a&gt;
 to process and clean data, covering:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Format&lt;/strong&gt; JSON files&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Find all&lt;/strong&gt; and multiple cursors to extract specific fields&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sort&lt;/strong&gt; lines&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Delete duplicate&lt;/strong&gt; lines&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Replace&lt;/strong&gt; text with multiple cursors&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here are the links used in the video:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://drive.google.com/file/d/1VEnKChf4i04iKsQfw0MwoJlfkOBGQ65B/view?usp=drive_link"&gt;City-wise product sales JSON&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/data-preparation-in-the-shell/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/data-preparation-in-the-shell/</guid><description>&lt;h2 id="data-preparation-in-the-shell"&gt;Data Preparation in the Shell&lt;a class="anchor" href="#data-preparation-in-the-shell"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/XEdy4WK70vU"&gt;&lt;img src="https://i.ytimg.com/vi_webp/XEdy4WK70vU/sddefault.webp" alt="Data preparation in the shell" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;You&amp;rsquo;ll learn how to use UNIX tools to process and clean data, covering:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;curl&lt;/code&gt; (or &lt;code&gt;wget&lt;/code&gt;) to fetch data from websites.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;gzip&lt;/code&gt; (or &lt;code&gt;xz&lt;/code&gt;) to compress and decompress files.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;wc&lt;/code&gt; to count lines, words, and characters in text.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;head&lt;/code&gt; and &lt;code&gt;tail&lt;/code&gt; to get the start and end of files.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cut&lt;/code&gt; to extract specific columns from text.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;uniq&lt;/code&gt; to de-duplicate lines.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sort&lt;/code&gt; to sort lines.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;grep&lt;/code&gt; to filter lines containing specific text.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sed&lt;/code&gt; to search and replace text.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;awk&lt;/code&gt; for more complex text processing.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="https://colab.research.google.com/drive/1KSFkQDK0v__XWaAaHKeQuIAwYV0dkTe8"&gt;Data preparation in the shell - Notebook&lt;/a&gt;
&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/data-preparation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/data-preparation/</guid><description>&lt;h1 id="data-preparation"&gt;Data Preparation&lt;a class="anchor" href="#data-preparation"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Data preparation is crucial because raw data is rarely perfect.&lt;/p&gt;
&lt;p&gt;It often contains errors, inconsistencies, or missing values. For example, marks data may have &amp;lsquo;NA&amp;rsquo; or &amp;lsquo;absent&amp;rsquo; for non-attendees, which you need to handle.&lt;/p&gt;
&lt;p&gt;This section teaches you how to clean up data, convert it to different formats, aggregate it if required, and get a feel for the data before you analyze.&lt;/p&gt;
&lt;p&gt;Here are links used in the video:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/data-sourcing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/data-sourcing/</guid><description>&lt;h1 id="data-sourcing"&gt;Data Sourcing&lt;a class="anchor" href="#data-sourcing"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Before you do any kind of data science, you obviously have to get the data to be able to analyze it, visualize it, narrate it, and deploy it.
And what we are going to cover in this module is how you get the data.&lt;/p&gt;
&lt;p&gt;There are three ways you can get the data.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The first is you can &lt;strong&gt;download&lt;/strong&gt; the data. Either somebody gives you the data and says download it from here, or you are asked to download it from the internet because it&amp;rsquo;s a public data source. But that&amp;rsquo;s the first way—you download the data.&lt;/li&gt;
&lt;li&gt;The second way is you can &lt;strong&gt;query it&lt;/strong&gt; from somewhere. It may be on a database. It may be available through an API. It may be available through a library. But these are ways in which you can selectively query parts of the data and stitch it together.&lt;/li&gt;
&lt;li&gt;The third way is you have to &lt;strong&gt;scrape it&lt;/strong&gt;. It&amp;rsquo;s not directly available in a convenient form that you can query or download. But it is, in fact, on a web page. It&amp;rsquo;s available on a PDF file. It&amp;rsquo;s available in a Word document. It&amp;rsquo;s available on an Excel file. It&amp;rsquo;s kind of structured, but you will have to figure out that structure and extract it from there.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;In this module, we will be looking at the tools that will help you either download from a data source or query from an API or from a database or from a library. And finally, how you can scrape from different sources.&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/data-storytelling-with-llms/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/data-storytelling-with-llms/</guid><description>&lt;h1 id="data-storytelling-with-llms"&gt;Data Storytelling with LLMs&lt;a class="anchor" href="#data-storytelling-with-llms"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Large Language Models (LLMs) can help create compelling data stories by assisting at every step of the data-to-story value chain:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Data Engineering (scraping, cleaning)&lt;/li&gt;
&lt;li&gt;Data Analysis (modeling, insights)&lt;/li&gt;
&lt;li&gt;Data Visualization (charts, narratives)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;a href="https://sanand0.github.io/talks/2025-06-27-data-design-by-dialogue/"&gt;Watch this talk (30m) on data storytelling with LLMs&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;&lt;a href="https://youtu.be/htc3LwVbPgI"&gt;&lt;img src="https://i.ytimg.com/vi_webp/htc3LwVbPgI/sddefault.webp" alt="Data Design by Dialogue (30m)" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="anchor" href="#prerequisites"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;To follow this tutorial, you&amp;rsquo;ll need:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://chatgpt.com/"&gt;ChatGPT Plus&lt;/a&gt;
 ($20/month) - recommended for better models&lt;/li&gt;
&lt;li&gt;Basic understanding of data analysis concepts&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Optional but useful:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/data-storytelling/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/data-storytelling/</guid><description>&lt;h1 id="data-storytelling"&gt;Data Storytelling&lt;a class="anchor" href="#data-storytelling"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;&lt;a href="https://youtu.be/aF93i6zVVQg"&gt;&lt;img src="https://i.ytimg.com/vi_webp/aF93i6zVVQg/sddefault.webp" alt="Narrate a story" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h2 id="transcript"&gt;Transcript&lt;a class="anchor" href="#transcript"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Once you&amp;rsquo;ve analyzed your data and put it together into charts, you still want to communicate it in a way that people will remember, that people will share. &lt;strong&gt;And that&amp;rsquo;s where storytelling comes in.&lt;/strong&gt; What we&amp;rsquo;re going to look at in this module are ways of telling stories.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;There are many ways in which you can narrate a story, and one way is just to show the numbers.&lt;/strong&gt; This in itself can be powerful. What you see here, for example, is a correlation matrix which has conditional formatting on Excel that will help you understand how two securities are correlated. And it&amp;rsquo;s pretty easy to see that, for example, the Pakistani rupee is negatively correlated with many of the securities. &lt;strong&gt;Just the numbers can give people an understanding of what&amp;rsquo;s happening behind the scenes and convey a story.&lt;/strong&gt;&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/data-transformation-in-excel/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/data-transformation-in-excel/</guid><description>&lt;h2 id="data-transformation-in-excel"&gt;Data Transformation in Excel&lt;a class="anchor" href="#data-transformation-in-excel"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/gR2IY5Naja0"&gt;&lt;img src="https://i.ytimg.com/vi_webp/gR2IY5Naja0/sddefault.webp" alt="Data transformation in Excel" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;You&amp;rsquo;ll learn data transformation techniques in Excel, covering:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Calculating Ratios&lt;/strong&gt;: Compute metro area to city area and metro population to city population ratios.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Using Pivot Tables&lt;/strong&gt;: Create pivot tables to aggregate data and identify outliers.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Filtering Data&lt;/strong&gt;: Apply filters in pivot tables to analyze specific subsets of data.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Counting Data Occurrences&lt;/strong&gt;: Use pivot tables to count the frequency of specific entries.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Creating Charts&lt;/strong&gt;: Generate charts from pivot table data to visualize distributions and outliers.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here are links used in the video:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/data-visualization-with-chatgpt/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/data-visualization-with-chatgpt/</guid><description>&lt;h1 id="data-visualization-with-chatgpt"&gt;Data Visualization with ChatGPT&lt;a class="anchor" href="#data-visualization-with-chatgpt"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;ChatGPT and other Large Language Models (LLMs) can help create compelling data visualizations by:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Finding and analyzing datasets&lt;/li&gt;
&lt;li&gt;Generating visualization code&lt;/li&gt;
&lt;li&gt;Improving visual design&lt;/li&gt;
&lt;li&gt;Creating data stories&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;a href="https://sanand0.github.io/talks/2025-06-28-prompt-to-plot/"&gt;Watch this workshop (2h) on creating data visualizations with ChatGPT&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;&lt;a href="https://youtu.be/SdDulR-1bBM"&gt;&lt;img src="https://i.ytimg.com/vi_webp/SdDulR-1bBM/sddefault.webp" alt="Prompt to Plot (2 hours)" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="anchor" href="#prerequisites"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;To follow this tutorial, you&amp;rsquo;ll need:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://gemini.google.com/"&gt;Gemini&lt;/a&gt;
 (free) - good for processing images and video&lt;/li&gt;
&lt;li&gt;A &lt;a href="https://chatgpt.com/"&gt;ChatGPT&lt;/a&gt;
 Plus subscription ($20/month) - recommended for access to advanced models and coding capabilities&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/"&gt;GitHub account&lt;/a&gt;
 - for publishing visualizations&lt;/li&gt;
&lt;li&gt;Basic familiarity with HTML/CSS/JavaScript&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Other useful but optional tools include:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/data-visualization-with-seaborn/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/data-visualization-with-seaborn/</guid><description>&lt;h2 id="data-visualization-with-seaborn"&gt;Data Visualization with Seaborn&lt;a class="anchor" href="#data-visualization-with-seaborn"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://seaborn.pydata.org/"&gt;Seaborn&lt;/a&gt;
 is a data visualization library for Python. It&amp;rsquo;s based on Matplotlib but a bit easier to use, and a bit prettier.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://youtu.be/6GUZXDef2U0"&gt;&lt;img src="https://i.ytimg.com/vi_webp/6GUZXDef2U0/sddefault.webp" alt="Seaborn Tutorial : Seaborn Full Course" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;This video tutorial provides a comprehensive guide to Seaborn, a powerful data visualization library built on Matplotlib. You&amp;rsquo;ll learn how to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Understand Seaborn&amp;rsquo;s core purpose&lt;/strong&gt;: It&amp;rsquo;s a &lt;strong&gt;data visualization library built on Matplotlib&lt;/strong&gt; that simplifies plotting, often creating complex plots with &lt;strong&gt;just one line of code&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Install and set up Seaborn&lt;/strong&gt;: Learn how to install it using &lt;code&gt;pip&lt;/code&gt; or &lt;code&gt;conda&lt;/code&gt;, and how to import necessary libraries like &lt;strong&gt;NumPy, Pandas, and Matplotlib&lt;/strong&gt; for seamless integration.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Load and manage data&lt;/strong&gt;: Primarily use &lt;strong&gt;Seaborn&amp;rsquo;s built-in datasets&lt;/strong&gt; (e.g., &lt;code&gt;car_crashes&lt;/code&gt;, &lt;code&gt;tips&lt;/code&gt;, &lt;code&gt;flights&lt;/code&gt;, &lt;code&gt;iris&lt;/code&gt;, &lt;code&gt;attention&lt;/code&gt;) for practice, and understand how to load other file types via Pandas.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Create various distribution plots&lt;/strong&gt;:
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Distribution plots (&lt;code&gt;displot&lt;/code&gt;)&lt;/strong&gt;: Visualize &lt;strong&gt;univariate distributions&lt;/strong&gt; (distributions of a single variable), including &lt;strong&gt;histograms&lt;/strong&gt; and &lt;strong&gt;Kernel Density Estimation (KDE)&lt;/strong&gt; plots, and learn to define &lt;code&gt;bins&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Joint plots (&lt;code&gt;jointplot&lt;/code&gt;)&lt;/strong&gt;: &lt;strong&gt;Compare two distributions&lt;/strong&gt; by default as a &lt;strong&gt;scatter plot&lt;/strong&gt;, and generate &lt;strong&gt;regression lines&lt;/strong&gt; or show &lt;strong&gt;KDE&lt;/strong&gt; or &lt;strong&gt;hexagon distributions&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;KDE plots (&lt;code&gt;kdeplot&lt;/code&gt;)&lt;/strong&gt;: Create standalone plots for &lt;strong&gt;kernel density estimations&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pair plots (&lt;code&gt;pairplot&lt;/code&gt;)&lt;/strong&gt;: Plot &lt;strong&gt;relationships across all numerical values&lt;/strong&gt; in a DataFrame, showing &lt;strong&gt;histograms on the diagonal&lt;/strong&gt; and &lt;strong&gt;scatter plots elsewhere&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rug plots (&lt;code&gt;rugplot&lt;/code&gt;)&lt;/strong&gt;: Visualize single column data points as sticks, indicating where data is denser.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Master various categorical plots&lt;/strong&gt;:
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Bar plots (&lt;code&gt;barplot&lt;/code&gt;)&lt;/strong&gt;: Analyze distributions of &lt;strong&gt;categorical data against numerical data&lt;/strong&gt;, understanding &lt;strong&gt;variance bars&lt;/strong&gt; and how to change the &lt;strong&gt;aggregation estimator&lt;/strong&gt; (e.g., &lt;code&gt;median&lt;/code&gt;, &lt;code&gt;std&lt;/code&gt;, &lt;code&gt;cov&lt;/code&gt;) using NumPy functions.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Count plots (&lt;code&gt;countplot&lt;/code&gt;)&lt;/strong&gt;: Simply &lt;strong&gt;count the number of occurrences&lt;/strong&gt; for categorical variables.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Box plots (&lt;code&gt;boxplot&lt;/code&gt;)&lt;/strong&gt;: &lt;strong&gt;Compare variables by showing quartiles&lt;/strong&gt;, median, standard deviation, whiskers, and outliers.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Violin plots (&lt;code&gt;violinplot&lt;/code&gt;)&lt;/strong&gt;: A combination of &lt;strong&gt;box plots and KDE plots&lt;/strong&gt;, visualizing the &lt;strong&gt;density estimation of data points&lt;/strong&gt; and how to &lt;code&gt;split&lt;/code&gt; them for comparison.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Strip plots (&lt;code&gt;stripplot&lt;/code&gt;)&lt;/strong&gt;: Draw &lt;strong&gt;scatter plots with one categorical variable&lt;/strong&gt;, often used with box plots, and learn to use &lt;code&gt;jitter&lt;/code&gt; to spread points and &lt;code&gt;dodge&lt;/code&gt; to separate categories.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Swarm plots (&lt;code&gt;swarmplot&lt;/code&gt;)&lt;/strong&gt;: Similar to strip plots but &lt;strong&gt;adjusts points to prevent overlap&lt;/strong&gt;, often &lt;strong&gt;layered on top of violin plots&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Generate matrix plots for correlation and data patterns&lt;/strong&gt;:
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Heat maps (&lt;code&gt;heatmap&lt;/code&gt;)&lt;/strong&gt;: Visualize data in a &lt;strong&gt;matrix format&lt;/strong&gt;, requiring data to be prepared using &lt;strong&gt;correlation matrices (&lt;code&gt;.corr()&lt;/code&gt;) or pivot tables (&lt;code&gt;.pivot_table()&lt;/code&gt;)&lt;/strong&gt;, and how to add &lt;code&gt;annotations&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cluster maps (&lt;code&gt;clustermap&lt;/code&gt;)&lt;/strong&gt;: Create &lt;strong&gt;hierarchically clustered heat maps&lt;/strong&gt; that calculate distances and &lt;strong&gt;reposition data to find specific patterns and clusters&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Utilize powerful grid systems for complex visualizations&lt;/strong&gt;:
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Pair grids (&lt;code&gt;PairGrid&lt;/code&gt;)&lt;/strong&gt;: Gain &lt;strong&gt;specific control over plot placement&lt;/strong&gt; within a grid, allowing you to &lt;strong&gt;map different plot types&lt;/strong&gt; (e.g., scatter, histogram, KDE) to the upper, lower, or diagonal sections.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Facet grids (&lt;code&gt;FacetGrid&lt;/code&gt;)&lt;/strong&gt;: Print &lt;strong&gt;multiple plots in a grid&lt;/strong&gt;, defining columns and rows based on categorical data, and apply various styling options to individual subplots.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Create and customize regression plots&lt;/strong&gt;:
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Regression plots (&lt;code&gt;lmplot&lt;/code&gt;)&lt;/strong&gt;: Study relationships between numerical variables, customize markers, sizes, and colors, and &lt;strong&gt;separate data into columns or rows&lt;/strong&gt; based on other variables for multi-faceted analysis.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Apply extensive styling and customization options&lt;/strong&gt;:
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Set overall plot styles&lt;/strong&gt; (&lt;code&gt;sns.set_style&lt;/code&gt;) like &lt;code&gt;white&lt;/code&gt;, &lt;code&gt;darkgrid&lt;/code&gt;, &lt;code&gt;whitegrid&lt;/code&gt;, &lt;code&gt;dark&lt;/code&gt;, and &lt;code&gt;ticks&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Adjust plot size&lt;/strong&gt; (&lt;code&gt;plt.figure(figsize=...)&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Change plot context&lt;/strong&gt; (&lt;code&gt;sns.set_context&lt;/code&gt;) for different uses: &lt;code&gt;paper&lt;/code&gt; (Jupyter), &lt;code&gt;talk&lt;/code&gt; (presentation), &lt;code&gt;poster&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Control font scale&lt;/strong&gt; (&lt;code&gt;font_scale&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Manage axis visibility&lt;/strong&gt; by turning &lt;code&gt;spines&lt;/code&gt; on or off.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Change plot color schemes using &lt;code&gt;palettes&lt;/code&gt;&lt;/strong&gt; and exploring Matplotlib&amp;rsquo;s &lt;code&gt;color maps&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reposition plot legends&lt;/strong&gt; for better readability.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Customize marker symbols&lt;/strong&gt;, sizes, line widths, and edge colors in various plot types.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/data-visualization/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/data-visualization/</guid><description>&lt;h1 id="data-visualization"&gt;Data visualization&lt;a class="anchor" href="#data-visualization"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;&lt;a href="https://youtu.be/XkxRDql00UU"&gt;&lt;img src="https://i.ytimg.com/vi_webp/XkxRDql00UU/sddefault.webp" alt="Data visualization" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Effective visuals connect analysis to decisions. This module spotlights the tools that help you design narratives, build interactive experiences, and adapt outputs for every kind of audience.&lt;/p&gt;
&lt;p&gt;You&amp;rsquo;ll practice:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Story-first planning&lt;/strong&gt; with data storytelling frameworks and LLM partners such as ChatGPT to refine messaging.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Portable presentations&lt;/strong&gt; spanning HTML decks in RevealJS, Markdown slides in Marp, and notebook-native sessions in Marimo.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Specialized builders&lt;/strong&gt; including RAWgraphs, Seaborn, Excel forecasting charts, Flourish animations, PowerPoint motion, and Kumu network diagrams.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Collaborative perspectives&lt;/strong&gt; through actor network visualizations and AI-assisted storytelling that keep stakeholders aligned.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Use these resources to turn complex analyses into clear, compelling stories wherever your viewers meet them.&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/dbt/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/dbt/</guid><description>&lt;h2 id="data-transformation-with-dbt"&gt;Data Transformation with dbt&lt;a class="anchor" href="#data-transformation-with-dbt"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/5rNquRnNb4E"&gt;&lt;img src="https://i.ytimg.com/vi_webp/5rNquRnNb4E/sddefault.webp" alt="Data Transformation with dbt" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;You&amp;rsquo;ll learn how to transform data using dbt (data build tool), covering:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;dbt Fundamentals&lt;/strong&gt;: Understand what dbt is and how it brings software engineering practices to data transformation&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Project Setup&lt;/strong&gt;: Learn how to initialize a dbt project, configure your warehouse connection, and structure your models&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Models and Materialization&lt;/strong&gt;: Create your first dbt models and understand different materialization strategies (view, table, incremental)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Testing and Documentation&lt;/strong&gt;: Implement data quality tests and auto-generate documentation for your data models&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Jinja Templating&lt;/strong&gt;: Use Jinja for dynamic SQL generation, making your transformations more maintainable and reusable&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;References and Dependencies&lt;/strong&gt;: Learn how to reference other models and manage model dependencies&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sources and Seeds&lt;/strong&gt;: Configure source data connections and manage static reference data&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Macros and Packages&lt;/strong&gt;: Create reusable macros and leverage community packages to extend functionality&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Incremental Models&lt;/strong&gt;: Optimize performance by only processing new or changed data&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Deployment and Orchestration&lt;/strong&gt;: Set up dbt Cloud or integrate with Airflow for production deployment&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here&amp;rsquo;s a minimal dbt model example, &lt;code&gt;models/staging/stg_customers.sql&lt;/code&gt;:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/deployment-tools/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/deployment-tools/</guid><description>&lt;h1 id="deployment-tools"&gt;Deployment Tools&lt;a class="anchor" href="#deployment-tools"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Publishing a project means moving assets off your laptop and into reliable environments. This module maps the tooling that packages content, automates delivery, and keeps services reachable for collaborators and users.&lt;/p&gt;
&lt;p&gt;You&amp;rsquo;ll cover:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Content preparation&lt;/strong&gt; by compressing images and authoring Markdown so sites load fast and stay readable.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hosting options&lt;/strong&gt; from static GitHub Pages sites and Google Colab notebooks to Vercel serverless functions, Docker and Podman containers, and GitHub Codespaces devcontainers.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Automation and connectivity&lt;/strong&gt; using GitHub Actions CI/CD, secure ngrok tunnels, and REST APIs with correct CORS handling.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Production fundamentals&lt;/strong&gt; including FastAPI backends, Google Auth integration, and local LLM endpoints with Ollama.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Together these tools let you launch prototypes quickly, iterate safely, and graduate data products into production-grade deployments.&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/development-tools/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/development-tools/</guid><description>&lt;h1 id="development-tools"&gt;Development Tools&lt;a class="anchor" href="#development-tools"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: The tools in this module are &lt;strong&gt;PRE-REQUISITES&lt;/strong&gt; for the course. You would have used most of these before. If most of this is new to you, please take this course later.&lt;/p&gt;
&lt;p&gt;Some tools are fundamental to data science because they are industry standards and widely used by data science professionals. Mastering these tools will align you with current best practices and making you more adaptable in a fast-evolving industry.&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/devtools/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/devtools/</guid><description>&lt;h2 id="browser-devtools"&gt;Browser: DevTools&lt;a class="anchor" href="#browser-devtools"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://developer.chrome.com/docs/devtools/overview/"&gt;Chrome DevTools&lt;/a&gt;
 is the de facto standard for web development and data analysis in the browser.
You&amp;rsquo;ll use this a lot when debugging and inspecting web pages.&lt;/p&gt;
&lt;p&gt;Here are the key features you&amp;rsquo;ll use most:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Elements Panel&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Inspect and modify HTML/CSS in real-time&lt;/li&gt;
&lt;li&gt;Copy CSS selectors for web scraping&lt;/li&gt;
&lt;li&gt;Debug layout issues with the Box Model&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;// Copy selector in Console
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;copy&lt;/span&gt;(&lt;span style="color:#a6e22e"&gt;$0&lt;/span&gt;); &lt;span style="color:#75715e"&gt;// Copies selector of selected element
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Console Panel&lt;/strong&gt;&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/docker/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/docker/</guid><description>&lt;h2 id="containers-docker-podman"&gt;Containers: Docker, Podman&lt;a class="anchor" href="#containers-docker-podman"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://www.docker.com/"&gt;Docker&lt;/a&gt;
 and &lt;a href="https://podman.io/"&gt;Podman&lt;/a&gt;
 are containerization tools that package your application and its dependencies into a standardized unit for software development and deployment.&lt;/p&gt;
&lt;p&gt;Docker is the industry standard. Podman is compatible with Docker and has better security (and a slightly more open license). In this course, we recommend Podman but Docker works in the same way.&lt;/p&gt;
&lt;p&gt;Initialize the container engine:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;podman machine init
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;podman machine start&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Common Operations. (You can use &lt;code&gt;docker&lt;/code&gt; instead of &lt;code&gt;podman&lt;/code&gt; in the same way.)&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/embeddings/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/embeddings/</guid><description>&lt;h2 id="embeddings-openai-and-local-models"&gt;Embeddings: OpenAI and Local Models&lt;a class="anchor" href="#embeddings-openai-and-local-models"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Embedding models convert text into a list of numbers. These are like a map of text in numerical form. Each number represents a feature, and similar texts will have numbers close to each other. So, if the numbers are similar, the text they represent mean something similar.&lt;/p&gt;
&lt;p&gt;This is useful because text similarity is important in many common problems:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Search&lt;/strong&gt;. Find similar documents to a query.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Classification&lt;/strong&gt;. Classify text into categories.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Clustering&lt;/strong&gt;. Group similar items into clusters.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Anomaly Detection&lt;/strong&gt;. Find an unusual piece of text.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;You can run embedding models locally or using an API. Local models are better for privacy and cost. APIs are better for scale and quality.&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/extracting-audio-and-transcripts/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/extracting-audio-and-transcripts/</guid><description>&lt;h2 id="extracting-audio-and-transcripts"&gt;Extracting Audio and Transcripts&lt;a class="anchor" href="#extracting-audio-and-transcripts"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h2 id="media-processing-ffmpeg"&gt;Media Processing: FFmpeg&lt;a class="anchor" href="#media-processing-ffmpeg"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://ffmpeg.org/"&gt;FFmpeg&lt;/a&gt;
 is the standard command-line tool for processing video and audio files. It&amp;rsquo;s essential for data scientists working with media files for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Extracting audio/video for machine learning&lt;/li&gt;
&lt;li&gt;Converting formats for web deployment&lt;/li&gt;
&lt;li&gt;Creating visualizations and presentations&lt;/li&gt;
&lt;li&gt;Processing large media datasets&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Basic Operations:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Basic conversion&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ffmpeg -i input.mp4 output.avi
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Extract audio&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ffmpeg -i input.mp4 -vn output.mp3
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Convert format without re-encoding&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ffmpeg -i input.mkv -c copy output.mp4
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# High quality encoding (crf: 0-51, lower is better)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ffmpeg -i input.mp4 -preset slower -crf &lt;span style="color:#ae81ff"&gt;18&lt;/span&gt; output.mp4&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Common Data Science Tasks:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/fastapi/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/fastapi/</guid><description>&lt;h2 id="web-framework-fastapi"&gt;Web Framework: FastAPI&lt;a class="anchor" href="#web-framework-fastapi"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://fastapi.tiangolo.com/"&gt;FastAPI&lt;/a&gt;
 is a modern Python web framework for building APIs with automatic interactive documentation. It&amp;rsquo;s fast, easy to use, and designed for building production-ready REST APIs.&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s a minimal FastAPI app, &lt;code&gt;app.py&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# /// script&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# requires-python = &amp;#34;&amp;gt;=3.11&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# dependencies = [&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# &amp;#34;fastapi&amp;#34;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# &amp;#34;uvicorn&amp;#34;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# ]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# ///&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;from&lt;/span&gt; fastapi &lt;span style="color:#f92672"&gt;import&lt;/span&gt; FastAPI
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;app &lt;span style="color:#f92672"&gt;=&lt;/span&gt; FastAPI()
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;@app.get&lt;/span&gt;(&lt;span style="color:#e6db74"&gt;&amp;#34;/&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;async&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;def&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;root&lt;/span&gt;():
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;return&lt;/span&gt; {&lt;span style="color:#e6db74"&gt;&amp;#34;message&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;Hello!&amp;#34;&lt;/span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; __name__ &lt;span style="color:#f92672"&gt;==&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;__main__&amp;#34;&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;import&lt;/span&gt; uvicorn
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; uvicorn&lt;span style="color:#f92672"&gt;.&lt;/span&gt;run(app, host&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;0.0.0.0&amp;#34;&lt;/span&gt;, port&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;8000&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Run this with &lt;code&gt;uv run app.py&lt;/code&gt;.&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/feedback-2025-05/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/feedback-2025-05/</guid><description>&lt;h1 id="may-2025-feedback"&gt;May 2025 Feedback&lt;a class="anchor" href="#may-2025-feedback"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Based on feedback from 33 students, via &lt;a href="https://chatgpt.com/share/68cba081-afc0-800c-9da3-75222e84a499"&gt;ChatGPT&lt;/a&gt;
.&lt;/p&gt;
&lt;h2 id="insights"&gt;Insights&lt;a class="anchor" href="#insights"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;⭐ &lt;strong&gt;“Time-pressure” complainers actually rated ROE slightly &lt;em&gt;higher&lt;/em&gt;.&lt;/strong&gt;
Students who mentioned ROE time limits gave ROE &lt;strong&gt;2.61&lt;/strong&gt; vs &lt;strong&gt;2.33&lt;/strong&gt; for others (&lt;strong&gt;+0.28&lt;/strong&gt;). This suggests the most engaged cohort both &lt;em&gt;feels&lt;/em&gt; the time squeeze and still perceives value—hinting the exam is closer to a “desirable difficulty” than a pure frustration. (Concept supported by learning-science literature on “desirable difficulties”.) (&lt;a href="https://bjorklab.psych.ucla.edu/wp-content/uploads/sites/13/2016/04/EBjork_RBjork_2011.pdf" title="Creating Desirable Difficulties to Enhance Learning"&gt;bjorklab.psych.ucla.edu&lt;/a&gt;
)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Project-2 is love-it or hate-it.&lt;/strong&gt;
Median is &lt;strong&gt;5/5&lt;/strong&gt; with many top scores, but variance is highest (σ≈1.54). Those flagging “difficulty/prereqs” rated P2 &lt;strong&gt;1.32 points lower&lt;/strong&gt; than others—so P2 is excellent for prepared learners and punishing for under-prepared ones (bimodal fit).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Calling out TA/Discourse correlates with &lt;em&gt;higher&lt;/em&gt; satisfaction.&lt;/strong&gt;
Mentions of TA/Discourse associate with slightly higher ratings across all four metrics (Δ overall &lt;strong&gt;+0.08&lt;/strong&gt;, P1 &lt;strong&gt;+0.15&lt;/strong&gt;, P2 &lt;strong&gt;+0.32&lt;/strong&gt;, ROE &lt;strong&gt;+0.05&lt;/strong&gt;). That’s counter to the intuition that “more TA talk = more complaints”; it reads as “the engaged students leaned on Discourse and benefited.”&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Students know it’s hard—and still rate learning high.&lt;/strong&gt;
Despite many “hard/fast” comments, overall learning is strong (~&lt;strong&gt;4.0/5&lt;/strong&gt;). That aligns with the course’s stated design (“ROE is hard”; “programming skills are a pre-requisite”), and suggests difficulty didn’t suppress perceived learning.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;“Alignment” is a minority complaint—but a leverage point.&lt;/strong&gt;
Only a few explicitly said “align projects/ROE with taught content,” yet those who did had lower ROE ratings (−0.57) and overall learning (−0.47). A small group may be disproportionately dissatisfied due to scope drift.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="interesting-observations"&gt;Interesting observations&lt;a class="anchor" href="#interesting-observations"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ROE dominates the pain map.&lt;/strong&gt; Time limit (45 min per the schedule), ambiguity, and “what exactly are we proving?” recur. A few ask for mock portals and clearer rubric.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;P2 teaches beyond comfort.&lt;/strong&gt; Many “pushes us beyond” / “real-world exposure” notes in “Best things,” while the “Worst” ask for more scaffolding. Classic split between stretch vs support.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ops gaps show up:&lt;/strong&gt; evaluation delays; release/schedule slips; a few network/portal reliability mentions; form UX complaints (Google Form structure).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tooling friction:&lt;/strong&gt; requests for dependable GPT/AI-Pipe access and deployment help; some struggled with “free versions” / rate limits. (AI-Pipe is in your ecosystem.)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Students explicitly ask for “instant feedback”&lt;/strong&gt; on submissions (linting/auto-checks), not just grades—hinting appetite for continuous formative signals.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;A minority asks for &lt;em&gt;tougher projects&lt;/em&gt; (and longer ROE).&lt;/strong&gt; The tails want even more challenge/time—a useful signal for differentiated tracks.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Desire for predictable cadence&lt;/strong&gt; (earlier release, stick to schedule) appears in multiple corners even if counts are lower; these often co-occur with lower satisfaction.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="actions"&gt;Actions&lt;a class="anchor" href="#actions"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Gate early with a hard readiness check + branching track.&lt;/strong&gt;
Make GA-1 (already linked) the &lt;em&gt;gate&lt;/em&gt;:
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;If GA-1 &amp;lt; threshold:&lt;/strong&gt; auto-route to a “Foundation track” of P2 (same outcomes, more scaffolds, smaller surface area).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;If GA-1 ≥ threshold:&lt;/strong&gt; “Pro track” (current P2).
Rationale: removes P2 bimodality; keeps challenge for prepared students; respects “desirable difficulty” while preventing wipeouts. Implementation is trivial (routing by score in your existing exam infra).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ROE redesign: keep pressure, fix &lt;em&gt;friction&lt;/em&gt;.&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;Keep 45-min “pressure-cooker” (it likely drives durable learning), &lt;em&gt;but&lt;/em&gt; reduce non-constructive friction:
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Two 10-min micro-mocks&lt;/strong&gt; in the exact ROE environment the week prior (auto-graded, unlimited retries).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Stable prompt rubric&lt;/strong&gt; with 2–3 canonical “what good looks like” exemplars.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Network-independent tasks&lt;/strong&gt; (bundle data; pre-cache assets) and a simple “connectivity hiccup” auto-extend of 3–5 min if the portal detects time-outs. (&lt;a href="https://bjorklab.psych.ucla.edu/wp-content/uploads/sites/13/2016/04/EBjork_RBjork_2011.pdf" title="Creating Desirable Difficulties to Enhance Learning"&gt;bjorklab.psych.ucla.edu&lt;/a&gt;
)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;TA/Discourse “SLA + Triage Bot.”&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;Publish an SLA (e.g., TA initial touch &amp;lt;6 h, resolution &amp;lt;24 h).&lt;/li&gt;
&lt;li&gt;Add a &lt;strong&gt;Discourse clarifier bot&lt;/strong&gt; that: (i) de-dupes to canonical answers; (ii) proposes clearer wording for confusing prompts; (iii) tags to the right TA. (Start with a rules-only bot; graduate to LLM summaries later.) This leans into the positive correlation you’re already seeing.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Instant feedback everywhere.&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;Add pre-submission checks: schema validators, smoke tests, minimal unit tests for projects; “red/green” badges on submit.&lt;/li&gt;
&lt;li&gt;For P2, expose a &lt;em&gt;thin&lt;/em&gt; public checker (5–10 hidden tests retained for grading).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cadence discipline via CI.&lt;/strong&gt;
Turn “release on time” from a promise into automation: a release calendar in the repo, GitHub Actions that publish content at fixed timestamps, and an &lt;strong&gt;automated grading queue dashboard&lt;/strong&gt; (counts, average turnaround, SLA breaches).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tooling reliability: AI-Pipe + deployment helpers.&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;Provide a one-click “fallback” API key via AI-Pipe with rate-limit hints and a local stub; publish &lt;strong&gt;two minimal deployment recipes&lt;/strong&gt; (Vercel/Cloudflare) with a pre-flight checklist. (Your repo already points to AI-Pipe.)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Micro-scaffolds for P2 only (don’t blunt the challenge).&lt;/strong&gt;
Ship &lt;em&gt;optional&lt;/em&gt; scaffolds: sample input/output pairs, data dictionaries, 2 starter snippets. These trim unproductive thrash while preserving the tough core.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rubric transparency + sample graded artifacts.&lt;/strong&gt;
Post 2 anonymized “A/B/C” exemplars with rubric mapping; students asked for “what exactly are we proving?” — this answers that.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Contrarian take:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/fine-tuning-gemini/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/fine-tuning-gemini/</guid><description>&lt;h2 id="fine-tuning-llms-gemini"&gt;Fine tuning LLMs: Gemini&lt;a class="anchor" href="#fine-tuning-llms-gemini"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;This material will likely be added in the May 2025 term. It is not part of the Jan 2025 term.&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/forecasting-with-excel/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/forecasting-with-excel/</guid><description>&lt;h2 id="forecasting-with-excel"&gt;Forecasting with Excel&lt;a class="anchor" href="#forecasting-with-excel"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/QrTimmxwZw4"&gt;&lt;img src="https://i.ytimg.com/vi_webp/QrTimmxwZw4/sddefault.webp" alt="Forecasting with Excel" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Here are links used in the video:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://support.microsoft.com/en-us/office/forecast-and-forecast-linear-functions-50ca49c9-7b40-4892-94e4-7ad38bbeda99"&gt;FORECAST reference&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.microsoft.com/en-us/office/forecast-ets-function-15389b8b-677e-4fbd-bd95-21d464333f41"&gt;FORECAST.ETS reference&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.google.com/spreadsheets/d/1iMFVPh8q9KgnfLwBeBMmX1GaFabP02FK/view"&gt;Height-weight dataset&lt;/a&gt;
 from &lt;a href="https://www.kaggle.com/datasets/burnoutminer/heights-and-weights-dataset"&gt;Kaggle&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.google.com/spreadsheets/d/1w2R0fHdLG5ZGW-papaK7wzWq_-WDArKC/view"&gt;Traffic dataset&lt;/a&gt;
 from &lt;a href="https://www.kaggle.com/datasets/fedesoriano/traffic-prediction-dataset"&gt;Kaggle&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/function-calling/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/function-calling/</guid><description>&lt;h2 id="function-calling-with-openai"&gt;Function Calling with OpenAI&lt;a class="anchor" href="#function-calling-with-openai"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://platform.openai.com/docs/guides/function-calling"&gt;Function Calling&lt;/a&gt;
 allows Large Language Models to convert natural language into structured function calls. This is perfect for building chatbots and AI assistants that need to interact with your backend systems.&lt;/p&gt;
&lt;p&gt;OpenAI supports &lt;a href="https://platform.openai.com/docs/guides/function-calling"&gt;Function Calling&lt;/a&gt;
 &amp;ndash; a way for LLMs to suggest what functions to call and how.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://youtu.be/aqdWSYWC_LI"&gt;&lt;img src="https://i.ytimg.com/vi_webp/aqdWSYWC_LI/sddefault.webp" alt="OpenAI Function Calling - Full Beginner Tutorial" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s a minimal example using Python and OpenAI&amp;rsquo;s function calling that identifies the weather in a given location.&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/geospatial-analysis-with-excel/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/geospatial-analysis-with-excel/</guid><description>&lt;h2 id="geospatial-analysis-with-excel"&gt;Geospatial Analysis with Excel&lt;a class="anchor" href="#geospatial-analysis-with-excel"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/49LjxNvxyVs"&gt;&lt;img src="https://i.ytimg.com/vi_webp/49LjxNvxyVs/sddefault.webp" alt="Geospatial analysis with Excel" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;You&amp;rsquo;ll learn how to create a data-driven story about coffee shop coverage in Manhattan, covering:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Data Collection&lt;/strong&gt;: Collect and scrape data for coffee shop locations and census population from various sources.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Data Processing&lt;/strong&gt;: Use Python libraries like geopandas for merging population data with geographic maps.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Map Creation&lt;/strong&gt;: Generate coverage maps using tools like QGIS and Excel to visualize coffee shop distribution and population impact.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Visualization&lt;/strong&gt;: Create physical, Power BI, and video visualizations to present the data effectively.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Storytelling&lt;/strong&gt;: Craft a narrative around coffee shop competition, including strategic insights and potential market changes.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here are links that explain how the video was made:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/geospatial-analysis-with-python/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/geospatial-analysis-with-python/</guid><description>&lt;h2 id="geospatial-analysis-with-python"&gt;Geospatial Analysis with Python&lt;a class="anchor" href="#geospatial-analysis-with-python"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/m_qayAJt-yE"&gt;&lt;img src="https://i.ytimg.com/vi_webp/m_qayAJt-yE/sddefault.webp" alt="Geospatial analysis with Python" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;You&amp;rsquo;ll learn how to perform geospatial analysis for location-based decision making, covering:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Distance Calculation&lt;/strong&gt;: Compute distances between various store locations and a reference point, such as the Empire State Building.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Data Visualization&lt;/strong&gt;: Visualize store locations on a map using Python libraries like Folium.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Store Density Analysis&lt;/strong&gt;: Determine the number of stores within a specified radius.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Proximity Analysis&lt;/strong&gt;: Identify the closest and farthest stores from a specific location.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Decision Making&lt;/strong&gt;: Use geospatial data to assess whether opening a new store is feasible based on existing store distribution.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here are links used in the video:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/geospatial-analysis-with-qgis/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/geospatial-analysis-with-qgis/</guid><description>&lt;h2 id="geospatial-analysis-with-qgis"&gt;Geospatial Analysis with QGIS&lt;a class="anchor" href="#geospatial-analysis-with-qgis"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/tJhehs0o-ik"&gt;&lt;img src="https://i.ytimg.com/vi_webp/tJhehs0o-ik/sddefault.webp" alt="Geospatial analysis with QGIS" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;You&amp;rsquo;ll learn how to use QGIS for geographic data processing, covering:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Shapefiles and KML Files&lt;/strong&gt;: Create and manage shapefiles and KML files for storing and analyzing geographic information.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Downloading QGIS&lt;/strong&gt;: Install QGIS on different operating systems and familiarize yourself with its interface.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Geospatial Data&lt;/strong&gt;: Access and utilize shapefiles from sources like Diva-GIS and integrate them into QGIS projects.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Creating Custom Shapefiles&lt;/strong&gt;: Learn how to create custom shapefiles when existing ones are unavailable, including creating a shapefile for South Sudan.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Editing and Visualization&lt;/strong&gt;: Use QGIS tools to edit shapefiles, add attributes, and visualize geographic data with various styling and labeling options.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Exporting Data&lt;/strong&gt;: Export shapefiles or KML files for use in other applications, such as Google Earth.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here are links used in the video:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/git/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/git/</guid><description>&lt;h2 id="version-control-git-github"&gt;Version Control: Git, GitHub&lt;a class="anchor" href="#version-control-git-github"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://git-scm.com/"&gt;Git&lt;/a&gt;
 is the de facto standard for version control of software (and sometimes, data as well). It&amp;rsquo;s a system that keeps track of changes you make to files and folders. It allows you to revert to a previous state, compare changes, etc. It&amp;rsquo;s a central tool in any developer&amp;rsquo;s workflow.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/"&gt;GitHub&lt;/a&gt;
 is the most popular hosting service for Git repositories. It&amp;rsquo;s a website that shows your code, allows you to collaborate with others, and provides many useful tools for developers.&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/github-actions/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/github-actions/</guid><description>&lt;h2 id="cicd-github-actions"&gt;CI/CD: GitHub Actions&lt;a class="anchor" href="#cicd-github-actions"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://github.com/features/actions"&gt;GitHub Actions&lt;/a&gt;
 is a powerful automation platform built into GitHub. It helps automate your development workflow - running tests, deploying applications, updating datasets, retraining models, etc.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Understand the basics of &lt;a href="https://docs.github.com/en/actions/writing-workflows/quickstart"&gt;YAML configuration files&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Explore the &lt;a href="https://github.com/marketplace?type=actions"&gt;pre-built actions from the marketplace&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;How to &lt;a href="https://docs.github.com/en/actions/security-for-github-actions/security-guides/using-secrets-in-github-actions"&gt;handle secrets securely&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.github.com/en/actions/writing-workflows/choosing-when-your-workflow-runs/triggering-a-workflow"&gt;Triggering a workflow&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Staying within the &lt;a href="https://docs.github.com/en/billing/managing-billing-for-your-products/managing-billing-for-github-actions/about-billing-for-github-actions"&gt;free tier limits&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/caching-dependencies-to-speed-up-workflows"&gt;Caching dependencies to speed up workflows&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here is a sample &lt;code&gt;.github/workflows/iss-location.yml&lt;/code&gt; that runs daily, appends the International Space Station location data into &lt;code&gt;iss-location.jsonl&lt;/code&gt;, and commits it to the repository.&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/github-codespaces/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/github-codespaces/</guid><description>&lt;h2 id="ide-github-codespaces"&gt;IDE: GitHub Codespaces&lt;a class="anchor" href="#ide-github-codespaces"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://github.com/features/codespaces"&gt;GitHub Codespaces&lt;/a&gt;
 is a cloud-hosted development environment built right into GitHub that gets you coding faster with pre-configured containers, adjustable compute power, and seamless integration with workflows like Actions and Copilot.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why Codespaces helps&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Reproducible onboarding&lt;/strong&gt;: Say goodbye to “works on my machine” woes—everyone uses the same setup for assignments or demos.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Anywhere access&lt;/strong&gt;: Jump back into your project from a laptop, tablet, or phone without having to reinstall anything.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rapid experimentation &amp;amp; debugging&lt;/strong&gt;: Spin up short-lived environments on any branch, commit, or PR to isolate bugs or test features, or keep longer-lived codespaces for big projects.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=-tQ2nxjqP6o"&gt;&lt;img src="https://i.ytimg.com/vi_webp/-tQ2nxjqP6o/sddefault.webp" alt="Introduction to GitHub Codespaces (5 min)" /&gt;&lt;/a&gt;
&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/github-copilot/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/github-copilot/</guid><description>&lt;h2 id="ai-editor-github-copilot"&gt;AI Editor: GitHub Copilot&lt;a class="anchor" href="#ai-editor-github-copilot"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;AI Code Editors like &lt;a href="https://github.com/features/copilot"&gt;GitHub Copilot&lt;/a&gt;
, &lt;a href="https://www.cursor.com/"&gt;Cursor&lt;/a&gt;
, &lt;a href="http://windsurf.com/"&gt;Windsurf&lt;/a&gt;
, &lt;a href="https://roocode.com/"&gt;Roo Code&lt;/a&gt;
, &lt;a href="https://cline.bot/"&gt;Cline&lt;/a&gt;
, &lt;a href="https://www.continue.dev/"&gt;Continue.dev&lt;/a&gt;
, etc. use LLMs to help you write code faster.&lt;/p&gt;
&lt;p&gt;Most are built on top of &lt;a href="http://tds.mynkofficial.in/2026-05/vscode/"&gt;VS Code&lt;/a&gt;
. These are now a standard tool in every developer&amp;rsquo;s toolkit.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/features/copilot"&gt;GitHub Copilot&lt;/a&gt;
 is &lt;a href="https://github.com/features/copilot/plans"&gt;free&lt;/a&gt;
 (as of May 2025) for 2,000 completions and 50 chats.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://youtu.be/n0NlxUyA7FI"&gt;&lt;img src="https://i.ytimg.com/vi_webp/n0NlxUyA7FI/sddefault.webp" alt="Getting started with GitHub Copilot | Tutorial (11 min)" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;You should learn about:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/github-pages/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/github-pages/</guid><description>&lt;h2 id="static-hosting-github-pages"&gt;Static hosting: GitHub Pages&lt;a class="anchor" href="#static-hosting-github-pages"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://pages.github.com/"&gt;GitHub Pages&lt;/a&gt;
 is a free hosting service that turns your GitHub repository directly into a static website whenever you push it. This is useful for sharing analysis results, data science portfolios, project documentation, and more.&lt;/p&gt;
&lt;p&gt;Common Operations:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Create a new GitHub repo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;mkdir my-site
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cd my-site
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git init
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Add your static content&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo &lt;span style="color:#e6db74"&gt;&amp;#34;&amp;lt;h1&amp;gt;My Site&amp;lt;/h1&amp;gt;&amp;#34;&lt;/span&gt; &amp;gt; index.html
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Push to GitHub&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git add .
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git commit -m &lt;span style="color:#e6db74"&gt;&amp;#34;feat(pages): initial commit&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git push origin main
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Enable GitHub Pages from the main branch on the repo settings page&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Best Practices:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/google-auth/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/google-auth/</guid><description>&lt;h2 id="google-authentication-with-fastapi"&gt;Google Authentication with FastAPI&lt;a class="anchor" href="#google-authentication-with-fastapi"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Secure your API endpoints using Google ID tokens to restrict access to specific email addresses.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://youtu.be/4ExQYRCwbzw"&gt;&lt;img src="https://i.ytimg.com/vi_webp/4ExQYRCwbzw/sddefault.webp" alt="🔥 Python FastAPI Google Login Tutorial | OAuth2 Authentication (19 min)" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Google Auth is the most commonly implemented single sign-on mechanism because:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;It&amp;rsquo;s popular and user-friendly. Users can log in with their existing Google accounts.&lt;/li&gt;
&lt;li&gt;It&amp;rsquo;s secure: Google supports OAuth2 and OpenID Connect to handle authentication.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here&amp;rsquo;s how you build a FastAPI app that identifies the user.&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/google-charts/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/google-charts/</guid><description>&lt;h2 id="google-charts"&gt;Google Charts&lt;a class="anchor" href="#google-charts"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://youtu.be/-DQP4fpmJpc"&gt;Google Chart 1&lt;/a&gt;
: How To Create Chart Or Graph On HTML CSS Website | Google Charts Tutorial&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/6tx58ZZGxrI"&gt;Google Chart 2&lt;/a&gt;
: Using Google Charts with googleVis&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/google-data-studio/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/google-data-studio/</guid><description>&lt;h2 id="google-data-studio"&gt;Google Data Studio&lt;a class="anchor" href="#google-data-studio"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://youtu.be/1qGsjmmHiu8"&gt;Google Data Studio&lt;/a&gt;
: Google Data Studio Tutorial for Beginners🔥&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/hosting-llms-runpod/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/hosting-llms-runpod/</guid><description>&lt;h2 id="hosting-llms-on-runpod"&gt;Hosting LLMs on Runpod&lt;a class="anchor" href="#hosting-llms-on-runpod"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;This material will likely be added in the May 2025 term. It is not part of the Jan 2025 term.&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/http-requests/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/http-requests/</guid><description>&lt;h2 id="http-requests-curl-wget-httpie-postman"&gt;HTTP Requests: curl, wget, HTTPie, Postman&lt;a class="anchor" href="#http-requests-curl-wget-httpie-postman"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Making HTTP requests is essential for interacting with web APIs, downloading data, and testing web services. Whether you&amp;rsquo;re fetching data from a public API, testing your own REST endpoints, or automating data collection, these tools make HTTP interactions simple and efficient.&lt;/p&gt;
&lt;p&gt;This guide covers four popular approaches: &lt;code&gt;curl&lt;/code&gt; (the universal standard), &lt;code&gt;wget&lt;/code&gt; (for downloads), &lt;code&gt;HTTPie&lt;/code&gt; (user-friendly alternative), and Postman (GUI-based testing).&lt;/p&gt;
&lt;p&gt;Watch these tutorials to understand HTTP requests and API testing (60 min):&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/huggingface-spaces/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/huggingface-spaces/</guid><description>&lt;h2 id="container-hosting-hugging-face-spaces-with-docker"&gt;Container hosting: Hugging Face Spaces with Docker&lt;a class="anchor" href="#container-hosting-hugging-face-spaces-with-docker"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Container platforms let you deploy applications in isolated, portable environments that include all dependencies. They&amp;rsquo;re perfect for ML applications that need &lt;em&gt;custom environments, specific packages, or persistent state&lt;/em&gt;. Here are some common real-life uses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A text summarization API that processes documents using custom NLP models (runs for 10-30 seconds per request)&lt;/li&gt;
&lt;li&gt;An image classification tool that requires specific computer vision libraries (runs for 5-15 seconds per upload)&lt;/li&gt;
&lt;li&gt;A chatbot with custom fine-tuned models that need GPU acceleration (runs for 2-5 seconds per message)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Unlike serverless functions, containers can maintain state, install any packages, write to the filesystem, and run background processes. They provide more control over the environment but require more configuration.&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/hybrid-rag-typesense/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/hybrid-rag-typesense/</guid><description>&lt;h2 id="hybrid-retrieval-augmented-generation-hybrid-rag-with-typesense"&gt;Hybrid Retrieval Augmented Generation (Hybrid RAG) with TypeSense&lt;a class="anchor" href="#hybrid-retrieval-augmented-generation-hybrid-rag-with-typesense"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Hybrid RAG combines semantic (vector) search with traditional keyword search to improve retrieval accuracy and relevance. By mixing exact text matches with embedding-based similarity, you get the best of both worlds: precision when keywords are present, and semantic recall when phrasing varies. &lt;a href="https://typesense.org/"&gt;TypeSense&lt;/a&gt;
 makes this easy with built-in hybrid search and automatic embedding generation.&lt;/p&gt;
&lt;p&gt;Below is a fully self-contained Hybrid RAG tutorial using TypeSense, Python, and the command line.&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/image-compression/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/image-compression/</guid><description>&lt;h2 id="images-compression"&gt;Images: Compression&lt;a class="anchor" href="#images-compression"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Image compression is essential when deploying apps. Often, pages have dozens of images. Image analysis runs over thousands of images. The cost of storage and bandwidth can grow over time.&lt;/p&gt;
&lt;p&gt;Here are things you should know when you&amp;rsquo;re compressing images:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Image dimensions&lt;/strong&gt; are the width and height of the image in pixels. This impacts image size a lot&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Lossless&lt;/strong&gt; compression (PNG, WebP) preserves exact data&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Lossy&lt;/strong&gt; compression (JPEG, WebP) removes some data for smaller files&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Vector&lt;/strong&gt; formats (SVG) scale without quality loss&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;WebP&lt;/strong&gt; is the modern standard, supporting both lossy and lossless&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here&amp;rsquo;s a rule of thumb you can use as of 2025.&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/json/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/json/</guid><description>&lt;h2 id="json"&gt;JSON&lt;a class="anchor" href="#json"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;JSON (JavaScript Object Notation) is the de facto standard format for data exchange on the web and APIs. Its human-readable format and widespread support make it essential for data scientists working with web services, APIs, and configuration files.&lt;/p&gt;
&lt;p&gt;For data scientists, JSON is essential when:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Working with REST APIs and web services&lt;/li&gt;
&lt;li&gt;Storing configuration files and metadata&lt;/li&gt;
&lt;li&gt;Parsing semi-structured data from databases like MongoDB&lt;/li&gt;
&lt;li&gt;Creating data visualization specifications (e.g., Vega-Lite)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Watch this comprehensive introduction to JSON (15 min):&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/large-language-models/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/large-language-models/</guid><description>&lt;h1 id="large-language-models"&gt;Large Language Models&lt;a class="anchor" href="#large-language-models"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;This module covers the practical usage of large language models (LLMs).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;LLMs incur a cost.&lt;/strong&gt; For the May 2025 batch, use &lt;a href="https://aipipe.org/"&gt;aipipe.org&lt;/a&gt;
 as a proxy.
Emails with &lt;code&gt;@ds.study.iitm.ac.in&lt;/code&gt; get a &lt;strong&gt;$1 per calendar month&lt;/strong&gt; allowance. (Don&amp;rsquo;t exceed that.)&lt;/p&gt;
&lt;p&gt;Read the &lt;a href="https://github.com/sanand0/aipipe"&gt;AI Pipe documentation&lt;/a&gt;
 to learn how to use it. But in short:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Replace &lt;code&gt;OPENAI_BASE_URL&lt;/code&gt;, i.e. &lt;code&gt;https://api.openai.com/v1&lt;/code&gt; with &lt;code&gt;https://aipipe.org/openrouter/v1...&lt;/code&gt; or &lt;code&gt;https://aipipe.org/openai/v1...&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Replace &lt;code&gt;OPENAI_API_KEY&lt;/code&gt; with the &lt;a href="https://aipipe.org/login"&gt;&lt;code&gt;AIPIPE_TOKEN&lt;/code&gt;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Replace model names, e.g. &lt;code&gt;gpt-4.1-nano&lt;/code&gt;, with &lt;code&gt;openai/gpt-4.1-nano&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;For example, let&amp;rsquo;s use &lt;a href="https://cloud.google.com/vertex-ai/generative-ai/docs/models/gemini/2-0-flash-lite"&gt;Gemini 2.0 Flash Lite&lt;/a&gt;
 via &lt;a href="https://openrouter.ai/google/gemini-2.0-flash-lite-001"&gt;OpenRouter&lt;/a&gt;
 for chat completions and &lt;a href="https://platform.openai.com/docs/models/text-embedding-3-small"&gt;Text Embedding 3 Small&lt;/a&gt;
 via &lt;a href="https://platform.openai.com/docs/"&gt;OpenAI&lt;/a&gt;
 for embeddings:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/live-sessions/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/live-sessions/</guid><description>&lt;h1 id="live-sessions"&gt;Live Sessions&lt;a class="anchor" href="#live-sessions"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Live sessions by the instructors and TAs are recorded and uploaded to the &lt;a href="https://www.youtube.com/@se-lr5ff/videos"&gt;YouTube Tools in Data Science channel&lt;/a&gt;
.&lt;/p&gt;
&lt;p&gt;These are transcribed by &lt;a href="https://github.com/sanand0/tools-in-data-science-public/blob/main/live-sessions/faq.sh"&gt;faq.sh&lt;/a&gt;
 into FAQ-style markdown files, which are stored here.&lt;/p&gt;
&lt;!-- The section below is generated by faq.sh and should not be edited manually. --&gt;
&lt;!--

- [x] Header
- [ ] Duration
- [ ] Cookies.txt if it exists -- cookie editor extension: https://microsoftedge.microsoft.com/addons/detail/cookiemanager-cookie-ed/mmegchnodbbdfhhccbnnbalnedndcbil?utm_source=chatgpt.com
- [ ] Prettier
 --&gt;
&lt;h2 id="sessions"&gt;Sessions&lt;a class="anchor" href="#sessions"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://youtu.be/UlUf6roSG3c"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20251004-UlUf6roSG3c/"&gt;FAQ&lt;/a&gt;
 | 2025 10 04 Project 1 - Session 1 TDS Sep 2025 (2h 24m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/0x5WK-Haz7Y"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20251004-0x5WK-Haz7Y/"&gt;FAQ&lt;/a&gt;
 | 2025 10 03 week 2 - Session 4 TDS Sep 2025 (2h 16m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/dZtLGbQ_EW8"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20251004-dZtLGbQ_EW8/"&gt;FAQ&lt;/a&gt;
 | 2025 09 30 week 2 - Session 3 TDS Sep 2025 (1h 45m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/4ojO3e2PmP8"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250929-4ojO3e2PmP8/"&gt;FAQ&lt;/a&gt;
 | 2025 09 28 week 2 - Session 2 TDS Sep 2025 (2h 36m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/ytGxUwBkcXU"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250929-ytGxUwBkcXU/"&gt;FAQ&lt;/a&gt;
 | 2025 09 27 week 2 - Session 1 TDS Sep 2025 (2h 53m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/vBqJUhbZU3c"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250929-vBqJUhbZU3c/"&gt;FAQ&lt;/a&gt;
 | 2025 09 24 week 1 - Session 5 TDS Sep 2025 (1h 41m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/thACpPPTR1I"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250929-thACpPPTR1I/"&gt;FAQ&lt;/a&gt;
 | 2025 09 29 Week 1 - Session 4 TDS Sep 2025 (1h 38m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/RoRy1jKewhA"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250921-RoRy1jKewhA/"&gt;FAQ&lt;/a&gt;
 | 2025 09 21 Week 1 - Session 2 TDS Sep 2025 (2h 37m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/sXlsRhw5X94"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250922-sXlsRhw5X94/"&gt;FAQ&lt;/a&gt;
 | 2025 09 22 Week 1 - Session 3 TDS Sep 2025 (1h 58m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/B7iHBHCruCc"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250921-B7iHBHCruCc/"&gt;FAQ&lt;/a&gt;
 | 2025 09 20 Week 1 - Session 1 TDS Sep 2025 (2h 52m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/FXZzXm2_3KI"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250806-FXZzXm2_3KI/"&gt;FAQ&lt;/a&gt;
 | 2025 08 04 project 2 - Q&amp;amp;A 2 TDS May 2025 (1h 59m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/PZMAApzlJCo"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250729-PZMAApzlJCo/"&gt;FAQ&lt;/a&gt;
 | 2025 07 26 project 2 - Session 2 TDS May 2025 (1h 42m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/p_OgYP-6IdU"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250725-p_OgYP-6IdU/"&gt;FAQ&lt;/a&gt;
 | 2025 07 24 project 2 - Session 1 TDS May 2025 (1h 50m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/miNphxMz9wc"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250722-miNphxMz9wc/"&gt;FAQ&lt;/a&gt;
 | 2025 07 21 project 2 - Q&amp;amp;A 1 TDS May 2025 (1h 32m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/afaqw038F4Q"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250719-afaqw038F4Q/"&gt;FAQ&lt;/a&gt;
 | 2025 07 18 MOCK ROE session 4 - TDS May 2025 (2h 7m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/bS-ZFSTHoqI"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250719-bS-ZFSTHoqI/"&gt;FAQ&lt;/a&gt;
 | 2025 07 17 MOCK ROE session 3 - TDS May 2025 (1h 33m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/4ZM-krZjvDQ"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250719-4ZM-krZjvDQ/"&gt;FAQ&lt;/a&gt;
 | 2025 07 16 MOCK ROE session 2 - TDS May 2025 (0h 53m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/oHDT0CjHpr8"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250711-oHDT0CjHpr8/"&gt;FAQ&lt;/a&gt;
 | 2025 07 10 MOCK ROE session1 - TDS May 2025 (1h 56m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/ijia1cLUQck"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250707-ijia1cLUQck/"&gt;FAQ&lt;/a&gt;
 | 2025 07 06 Week 6 Session 2 - TDS May 2025 (1h 49m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/kY27w7bXyac"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250706-kY27w7bXyac/"&gt;FAQ&lt;/a&gt;
 | 2025 07 05 Week 6 Session 1 - TDS May 2025 (1h 17m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/eFa-LofjwfM"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250629-eFa-LofjwfM/"&gt;FAQ&lt;/a&gt;
 | 2025 06 28 Week 5 Session 1 - TDS May 2025 (2h 8m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/RFIsZSZhqGs"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250621-RFIsZSZhqGs/"&gt;FAQ&lt;/a&gt;
 | 2025 06 15 Week 4 1 Session 1 - TDS May 2025 (1h 26m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/VZ05EVdj_Dk"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250621-VZ05EVdj_Dk/"&gt;FAQ&lt;/a&gt;
 | 2025 06 12 Project 1 - DCS TDS May 2025 (1h 2m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/q8cZ2b7WCHI"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250612-q8cZ2b7WCHI/"&gt;FAQ&lt;/a&gt;
 | 2025 06 12 Project 1 Session 3 - TDS May 2025 (2h 26m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/PwYU_vRmcl0"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250612-PwYU_vRmcl0/"&gt;FAQ&lt;/a&gt;
 | 2025 06 11 Project 1 Session 2 - TDS May 2025 (2h 59m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/eeLLWOVSc8M"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250611-eeLLWOVSc8M/"&gt;FAQ&lt;/a&gt;
 | 2025 06 10 Project 1 Session 1 - TDS May 2025 (2h 28m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/PYj9eOPpH7k"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250531-PYj9eOPpH7k/"&gt;FAQ&lt;/a&gt;
 | 2025 05 29 Week 3 Session 4 - TDS May 2025 (2h 44m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/qqgBvapfrCc"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250531-qqgBvapfrCc/"&gt;FAQ&lt;/a&gt;
 | 2025 05 28 Week 3 Session 3 - TDS May 2025 (1h 30m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/oWAaWzmOwmM"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250531-oWAaWzmOwmM/"&gt;FAQ&lt;/a&gt;
 | 2025 05 25 Week 3 Session 2 - TDS May 2025 (1h 38m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/s-ZQ2I1lE7Y"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250524-s-ZQ2I1lE7Y/"&gt;FAQ&lt;/a&gt;
 | 2025 05 24 Week 3 Session 1 - TDS May 2025 (1h 47m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/JXiJVWisKns"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250524-JXiJVWisKns/"&gt;FAQ&lt;/a&gt;
 | 2025 05 23 Week 2 Session 2 - Github Actions, Docker - TDS May 2025 (3h 17m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/iMLGnriiecc"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250522-iMLGnriiecc/"&gt;FAQ&lt;/a&gt;
 | 2025 05 22 Week 2 Session 2 - Local Lamma, Ngrok, Google Authentication TDS May 2025 (2h 40m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/Ptq0Me5tmFk"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250522-Ptq0Me5tmFk/"&gt;FAQ&lt;/a&gt;
 | 2025 05 21 Week 2 Session 1 TDS May 2025 (2h 31m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/1a2x_oDwHlk"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250517-1a2x_oDwHlk/"&gt;FAQ&lt;/a&gt;
 | 2025 05 17 Week 1 Session 5 TDS May 2025 (2h 37m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/c0GXO3dh_sM"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250517-c0GXO3dh_sM/"&gt;FAQ&lt;/a&gt;
 | 2025 05 16 Week 1 Session 4 Env Settings, Env Variables, git and github TDS May 2025 (2h 12m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/BCF4oFqE8Tw"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250517-BCF4oFqE8Tw/"&gt;FAQ&lt;/a&gt;
 | 2025 05 15 Week 1 Session 3 Linux, BASH, git &amp;amp; github TDS May 2025 (3h 3m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/TiqtXjmmKFA"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250515-TiqtXjmmKFA/"&gt;FAQ&lt;/a&gt;
 | 2025 05 11 Week 1 Session 2 Setup &amp;amp; Debugging TDS May 2025 (3h 3m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/iuYPkqjfvM8"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250512-iuYPkqjfvM8/"&gt;FAQ&lt;/a&gt;
 | 2025-05-10 Week 1 - Session 1: Introduction to TDS - TDS May 25 (2h 29m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/Er49fGwYnPc"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250410-Er49fGwYnPc/"&gt;FAQ&lt;/a&gt;
 | 2025-04-09 Live Session - Qs &amp;amp; As - TDS Jan 25 (1h 19m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/CXRnZBaR4BY"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250409-CXRnZBaR4BY/"&gt;FAQ&lt;/a&gt;
 | 2025-04-08 End Term Session 1 - TDS Jan 25 (1h 59m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/Nrm9gor3Thk"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250329-Nrm9gor3Thk/"&gt;FAQ&lt;/a&gt;
 | 2025-03-27 Week 11 - Session 3 - TDS Jan 25 (2h 7m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/Kwvqd1k-VUU"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250327-Kwvqd1k-VUU/"&gt;FAQ&lt;/a&gt;
 | 2025-03-26 Week 11 - Session 2 - TDS Jan 25 (1h 27m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/WyO9CYWiP20"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250327-WyO9CYWiP20/"&gt;FAQ&lt;/a&gt;
 | 2025-03-25 Week 11 - Session 1 - TDS Jan 25 (1h 17m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/l-F_A8P-XSs"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250324-l-F_A8P-XSs/"&gt;FAQ&lt;/a&gt;
 | 2025-03-20 Week 10 - Session 3 - TDS Jan 25 (1h 44m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/z3rta0JBeBc"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250320-z3rta0JBeBc/"&gt;FAQ&lt;/a&gt;
 | 2025-03-18 Week 10 - Session 1 - TDS Jan 25 (2h 24m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/cRg4VDBFr2k"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250314-cRg4VDBFr2k/"&gt;FAQ&lt;/a&gt;
 | 2025-03-13 Week 9 - Session 3 - TDS Jan 25 (1h 58m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/cLJQej-Mq-Y"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250314-cLJQej-Mq-Y/"&gt;FAQ&lt;/a&gt;
 | 2025-03-11 Week 9 - Session 1 - TDS Jan 25 (2h 11m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/WG_eZaACctM"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250314-WG_eZaACctM/"&gt;FAQ&lt;/a&gt;
 | 2025-03-12 Week 9 - Session 2 - TDS Jan 25 (1h 14m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/zc8PDm8lMhE"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250309-zc8PDm8lMhE/"&gt;FAQ&lt;/a&gt;
 | 2025-03-04 Week 8 - Session 1 - TDS Jan 25 (1h 52m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/mJM-IfeLq1Q"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250309-mJM-IfeLq1Q/"&gt;FAQ&lt;/a&gt;
 | 2025-03-04 Week 8 - Session 3 - TDS Jan 25 (1h 52m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/4P1204s1T1o"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250309-4P1204s1T1o/"&gt;FAQ&lt;/a&gt;
 | 2025-03-04 Week 8 - Session 2 - TDS Jan 25 (0h 47m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/oL-cqokYE2A"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250228-oL-cqokYE2A/"&gt;FAQ&lt;/a&gt;
 | 2025-02-27 Week 7 - Session 3 - TDS Jan 25 (2h 24m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/nrk19yJnXgM"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250228-nrk19yJnXgM/"&gt;FAQ&lt;/a&gt;
 | 2025-02-26 Week 7 - Session 2 - TDS Jan 25 (5h 8m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/l2zUly456eM"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250221-l2zUly456eM/"&gt;FAQ&lt;/a&gt;
 | TA&amp;rsquo;s Session TDS – 2024 11 10 19 49 (1h 39m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/6aOAB9L7Xjg"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250221-6aOAB9L7Xjg/"&gt;FAQ&lt;/a&gt;
 | 2025-02-18 Week 6 - Session 3 - TDS Jan 25 (1h 34m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/1UbY1R4lrFk"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250219-1UbY1R4lrFk/"&gt;FAQ&lt;/a&gt;
 | 2025-02-18 Week 6 - Session 1 - TDS Jan 25 (2h 8m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/NMnwKp5tR-w"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250214-NMnwKp5tR-w/"&gt;FAQ&lt;/a&gt;
 | 2025-02-13 Week 5 - Session 3 - TDS Jan 25 (3h 12m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/jXj6bqy4R4c"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250212-jXj6bqy4R4c/"&gt;FAQ&lt;/a&gt;
 | 2025-02-11 Week 5 - Session 1 - TDS Jan 25 (3h 57m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/SiW-rcMk0Nk"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250207-SiW-rcMk0Nk/"&gt;FAQ&lt;/a&gt;
 | 2025-02-06 Week 4 - Session 4 - TDS Jan 25 (2h 16m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/u5RFmePd7NQ"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250206-u5RFmePd7NQ/"&gt;FAQ&lt;/a&gt;
 | 2025-02-06 Week 4 - Session 3 - TDS Jan 25 (2h 24m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/8A7Z_PN_PzQ"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250204-8A7Z_PN_PzQ/"&gt;FAQ&lt;/a&gt;
 | 2025-02-04 Week 4 - Session 1 - TDS Jan 25 (1h 27m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/tsn7B7mDzw8"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250201-tsn7B7mDzw8/"&gt;FAQ&lt;/a&gt;
 | 2025-02-01 Week 3 - Session 5 - TDS Jan 25 (2h 34m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/sdg4N-H4BR0"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250131-sdg4N-H4BR0/"&gt;FAQ&lt;/a&gt;
 | 2025-01-31 Week 3 - Session 4 - TDS Jan 25 (2h 45m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/6VfrL5b8lLc"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250130-6VfrL5b8lLc/"&gt;FAQ&lt;/a&gt;
 | 2025-01-30 Week 3 - Session 3 - TDS Jan 25 (2h 35m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/EPiVIP97fzI"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250129-EPiVIP97fzI/"&gt;FAQ&lt;/a&gt;
 | 2025-01-29 Week 3 - Session 2 - TDS Jan 25 (1h 28m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/lmSMQ5LWa30"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250128-lmSMQ5LWa30/"&gt;FAQ&lt;/a&gt;
 | 2025-01-28 Week 3 - Session 1 - TDS Jan 25 (2h 0m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/TxGY540ru3A"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250123-TxGY540ru3A/"&gt;FAQ&lt;/a&gt;
 | 2025-01-23 Week 2 - Session 4 - TDS Jan 25 (2h 5m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/QnLi-C_LiXk"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250122-QnLi-C_LiXk/"&gt;FAQ&lt;/a&gt;
 | 2025-01-22 Week 2 - Session 3 - TDS Jan 25 (1h 19m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/0e0RhXREnxU"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250121-0e0RhXREnxU/"&gt;FAQ&lt;/a&gt;
 | 2025-01-21 Week 2 - Session 2 - TDS Jan 25 (2h 15m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/aJnygTpma7M"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250120-aJnygTpma7M/"&gt;FAQ&lt;/a&gt;
 | 2025-01-20 Week 2 - Session 1 - TDS Jan 25 (2h 3m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/hG5WqtbpfkI"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250117-hG5WqtbpfkI/"&gt;FAQ&lt;/a&gt;
 | 2025-01-17 Week 1 - Session 2 - TDS Jan 25 (2h 17m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/1H5Aq7HjqwQ"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250116-1H5Aq7HjqwQ/"&gt;FAQ&lt;/a&gt;
 | 2025-01-16 Week 1 - Session 1 - TDS Jan 25 (1h 59m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/VTBwpPT3A3U"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20250115-VTBwpPT3A3U/"&gt;FAQ&lt;/a&gt;
 | 2025-01-15 Introduction to Tools for Data Science Jan 25 (1h 18m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/HsfxebvUAH4"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20241220-HsfxebvUAH4/"&gt;FAQ&lt;/a&gt;
 | Mock QP - TA Session - TDS 2024 12 19 18 51 (2h 25m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/ob_OO9chM-o"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20241211-ob_OO9chM-o/"&gt;FAQ&lt;/a&gt;
 | Project 2 TA&amp;rsquo;s Session TDS 2024 12 05 19 52 (3h 0m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/gJyrKw3ThXo"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20241211-gJyrKw3ThXo/"&gt;FAQ&lt;/a&gt;
 | TA&amp;rsquo;s Session TDS 2024 12 05 19 52 GMT+05 30 Recording (3h 0m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/TPh1srfrWDc"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20241117-TPh1srfrWDc/"&gt;FAQ&lt;/a&gt;
 | ROE Session TDS 2024 11 16 19 52 (1h 13m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/ifr24jckGxU"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20241116-ifr24jckGxU/"&gt;FAQ&lt;/a&gt;
 | TA&amp;rsquo;s Session TDS – 2024 11 07 19 58 GMT+05 30 – How to hack Project 1 and possibly ROE, pdf scrapi (2h 14m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/FOCsSa7nRCg"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20241116-FOCsSa7nRCg/"&gt;FAQ&lt;/a&gt;
 | ROE Session TDS 2024 11 15 19 53 (2h 0m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/hx0BpZT1ILQ"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20241115-hx0BpZT1ILQ/"&gt;FAQ&lt;/a&gt;
 | TA&amp;rsquo;s Session TDS – 2024 11 10 19 49 GMT+05 30 – Recording (1h 39m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/FU3cuppNuy8"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20241115-FU3cuppNuy8/"&gt;FAQ&lt;/a&gt;
 | TA&amp;rsquo;s Session TDS 2024 11 14 19 54 (1h 52m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/7tggFDMXWi8"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20241105-7tggFDMXWi8/"&gt;FAQ&lt;/a&gt;
 | TA&amp;rsquo;s Session TDS – 2024 11 04 16 56 IST – Recording (1h 55m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/V97UfXmtTOU"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20241031-V97UfXmtTOU/"&gt;FAQ&lt;/a&gt;
 | TA&amp;rsquo;s Session TDS – 2024 10 27 19 55 IST – Recording (1h 45m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/LaR6fK22HEw"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20241027-LaR6fK22HEw/"&gt;FAQ&lt;/a&gt;
 | TA&amp;rsquo;s Session TDS – 2024 10 24 19 50 IST – Recording 2 (2h 41m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/oqXfJKa8_ro"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20241022-oqXfJKa8_ro/"&gt;FAQ&lt;/a&gt;
 | TA&amp;rsquo;s Session TDS – 2024-10-20 19:50 IST – Recording (1h 59m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/lV3i2fB8wbk"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20241022-lV3i2fB8wbk/"&gt;FAQ&lt;/a&gt;
 | TAs Session - 2024 10 17 20:09:44 (1h 50m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/Z31q3IYTTps"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20241017-Z31q3IYTTps/"&gt;FAQ&lt;/a&gt;
 | TA&amp;rsquo;s Session TDS – 2024 10 13 19 49 IST – Recording (2h 11m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/Ery2oia9vMo"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20241016-Ery2oia9vMo/"&gt;FAQ&lt;/a&gt;
 | TA&amp;rsquo;s Session TDS – 2024 10 06 19 54 IST – Recording (1h 35m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/PNBZa74Gx7s"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20241002-PNBZa74Gx7s/"&gt;FAQ&lt;/a&gt;
 | TA&amp;rsquo;s Session TDS – 2024 09 29 19 49 IST – Recording (1h 40m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/NbrQTc03k04"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20240830-NbrQTc03k04/"&gt;FAQ&lt;/a&gt;
 | TA Session 29th August: Revision: Modules 7 to 9, CSS selectors, Javascript (1h 25m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/EXo2DTLgxfU"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20240826-EXo2DTLgxfU/"&gt;FAQ&lt;/a&gt;
 | TA Session 25th August: Revision: Modules 4 to 6 (1h 51m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/-_6312YVVM8"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20240824--_6312YVVM8/"&gt;FAQ&lt;/a&gt;
 | TA Session 22 August: Mock and End Term, Revision: Modules 1 to 3 (2h 6m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/Gf85Cw2hwEU"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20240820-Gf85Cw2hwEU/"&gt;FAQ&lt;/a&gt;
 | TA Session 19 August: Streamlit, Heroku (1h 47m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/fpxvSk7Qa_I"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20240720-fpxvSk7Qa_I/"&gt;FAQ&lt;/a&gt;
 | TA Session 19 July: ROE Survival : Part 2 (2h 19m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/23Ty7oaEtq4"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20240719-23Ty7oaEtq4/"&gt;FAQ&lt;/a&gt;
 | TA Session 18 July: The best ROE Survival Strategies, Tricks and Tips: Part 1 (2h 12m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/ELZf0n_0u9w"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20240715-ELZf0n_0u9w/"&gt;FAQ&lt;/a&gt;
 | &amp;ldquo;TA session 12 July : week 5 , LLM API and embedding&amp;rdquo; (1h 54m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/MQgOy5RNNz0"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20240715-MQgOy5RNNz0/"&gt;FAQ&lt;/a&gt;
 | TA session 14 July : ROE intro and strategy (1h 15m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/3OdReZsvi2w"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20240712-3OdReZsvi2w/"&gt;FAQ&lt;/a&gt;
 | TA Session 11 July: LLM APi Setup and Use (2h 48m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/ce18AYM71Y8"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20240708-ce18AYM71Y8/"&gt;FAQ&lt;/a&gt;
 | TA Session 7 July: Project Discussion, and Excel Filters, Slope Regression (1h 51m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/97BfmXO0i7E"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20240705-97BfmXO0i7E/"&gt;FAQ&lt;/a&gt;
 | TA Session 4 July: More Pandas, Parquet processing, Forecast.ETS, Database Processing and Week 4 GA (1h 48m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/Mmj6GE-zymE"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20240701-Mmj6GE-zymE/"&gt;FAQ&lt;/a&gt;
 | TA Session 30 June : More complex webscraping (2h 5m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/D0b4n1k2K5I"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20240701-D0b4n1k2K5I/"&gt;FAQ&lt;/a&gt;
 | TA Session 27 June : Processing files with Pandas, Open Refine and Week 3 Graded Assignment (1h 51m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/uKvonP6TKzk"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20240625-uKvonP6TKzk/"&gt;FAQ&lt;/a&gt;
 | TA session 20 June : Week 2 concepts ,API, JSON, PDF scraping and GA discussion (2h 32m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/KkHpfaIJN90"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20240625-KkHpfaIJN90/"&gt;FAQ&lt;/a&gt;
 | A session 23 June : Web scraping with cookies and understanding JSON (1h 57m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/IZe16QtSYtw"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20240618-IZe16QtSYtw/"&gt;FAQ&lt;/a&gt;
 | TA Session 16 June : Introduction to HTML and web scraping (2h 7m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/8DC2d5sLgno"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20240614-8DC2d5sLgno/"&gt;FAQ&lt;/a&gt;
 | TA session 13 June : Introduction and week 1,2 recap (2h 2m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/356zqogHPnw"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20240426-356zqogHPnw/"&gt;FAQ&lt;/a&gt;
 | ET revision : Attribute related to Anonymization and autocorrelation plot (1h 2m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/BSFnjDbCIJE"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20240421-BSFnjDbCIJE/"&gt;FAQ&lt;/a&gt;
 | TA session : PYQ April 23 discussion part - 2 (2h 9m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/TxCA22mFuXc"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20240420-TxCA22mFuXc/"&gt;FAQ&lt;/a&gt;
 | TA session : PYQ April 23 discussion part - 1 (1h 44m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/JdxqIUBmuic"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20240419-JdxqIUBmuic/"&gt;FAQ&lt;/a&gt;
 | TA session : PYQ Dec 23 discussion (1h 12m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/2miaPi6k2w0"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20240308-2miaPi6k2w0/"&gt;FAQ&lt;/a&gt;
 | 05 ROE revision session jan 24 (2h 56m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/8S_jvsjtaYg"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20240307-8S_jvsjtaYg/"&gt;FAQ&lt;/a&gt;
 | 04 - XML intro and scraping (2h 3m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/I3auyTYORTs"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20240220-I3auyTYORTs/"&gt;FAQ&lt;/a&gt;
 | 02 - Fundamentals of web scraping with urllib and BeautifulSoup (1h 37m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/DryMIxMf3VU"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20240220-DryMIxMf3VU/"&gt;FAQ&lt;/a&gt;
 | 03 - Intermediate web scraping use of cookies (2h 19m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/cAriusuJsmw"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20240220-cAriusuJsmw/"&gt;FAQ&lt;/a&gt;
 | 01 - Intro to Web scraping and HTML (1h 33m)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/s9zNQoYNct8"&gt;Video&lt;/a&gt;
 | &lt;a href="http://tds.mynkofficial.in/2026-05/live-sessions/20230622-s9zNQoYNct8/"&gt;FAQ&lt;/a&gt;
 | Live Session - 2 (0h 29m)&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/llamafile/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/llamafile/</guid><description>&lt;h2 id="local-llms-llamafile"&gt;Local LLMs: Llamafile&lt;a class="anchor" href="#local-llms-llamafile"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;You would have heard of Large Language Models (LLMs) like GPT-4, Claude, and Llama. Some of these models are available for free, but most of them are not.&lt;/p&gt;
&lt;p&gt;An easy way to run LLMs locally is Mozilla&amp;rsquo;s &lt;a href="https://github.com/Mozilla-Ocho/llamafile"&gt;Llamafile&lt;/a&gt;
. It&amp;rsquo;s a single executable file that works on Windows, Mac, and Linux. No installation or configuration needed - just download and run.&lt;/p&gt;
&lt;p&gt;Watch this Llamafile Tutorial (6 min):&lt;/p&gt;
&lt;p&gt;&lt;a href="https://youtu.be/d1Fnfvat6nM"&gt;&lt;img src="https://img.youtube.com/vi/d1Fnfvat6nM/0.jpg" alt="Llamafile: Local LLMs Made Easy" /&gt;&lt;/a&gt;
&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/llm-agents/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/llm-agents/</guid><description>&lt;h2 id="llm-agents-building-ai-systems-that-can-think-and-act"&gt;LLM Agents: Building AI Systems That Can Think and Act&lt;a class="anchor" href="#llm-agents-building-ai-systems-that-can-think-and-act"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;LLM Agents are AI systems that can define and execute their own workflows to accomplish tasks. Unlike simple prompt-response patterns, agents make multiple LLM calls, use tools, and adapt their approach based on intermediate results. They represent a significant step toward more autonomous AI systems.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://youtu.be/DWUdGhRrv2c"&gt;&lt;img src="https://i.ytimg.com/vi_webp/DWUdGhRrv2c/sddefault.webp" alt="Building LLM Agents with LangChain (13 min)" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h3 id="what-makes-an-agent"&gt;What Makes an Agent?&lt;a class="anchor" href="#what-makes-an-agent"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;An LLM agent consists of three core components:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/llm-evals/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/llm-evals/</guid><description>&lt;h2 id="llm-evaluations-with-promptfoo"&gt;LLM Evaluations with PromptFoo&lt;a class="anchor" href="#llm-evaluations-with-promptfoo"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Test-drive your prompts and models with automated, reliable evaluations.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://youtu.be/KhINc5XwhKs"&gt;&lt;img src="https://i.ytimg.com/vi_webp/KhINc5XwhKs/sddefault.webp" alt="🚀 Test Driven Prompt Engineering with PromptFoo (12 min)" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;PromptFoo is a test-driven development framework for LLMs:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Developer-first&lt;/strong&gt;: Fast CLI with live reload &amp;amp; caching (&lt;a href="https://promptfoo.dev"&gt;promptfoo.dev&lt;/a&gt;
)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Multi-provider&lt;/strong&gt;: Works with OpenAI, Anthropic, HuggingFace, Ollama &amp;amp; more (&lt;a href="https://github.com/promptfoo/promptfoo"&gt;GitHub&lt;/a&gt;
)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Assertions&lt;/strong&gt;: Built‑in (&lt;code&gt;contains&lt;/code&gt;, &lt;code&gt;equals&lt;/code&gt;) &amp;amp; model‑graded (&lt;code&gt;llm-rubric&lt;/code&gt;) (&lt;a href="https://www.promptfoo.dev/docs/configuration/expected-outputs/"&gt;docs&lt;/a&gt;
)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CI/CD&lt;/strong&gt;: Integrate evals into pipelines for regression safety (&lt;a href="https://www.promptfoo.dev/docs/integrations/ci-cd/"&gt;CI/CD guide&lt;/a&gt;
)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To run PromptFoo:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/llm-image-generation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/llm-image-generation/</guid><description>&lt;h2 id="gemini-flash-experimental-image-generation-and-editing-apis"&gt;Gemini Flash Experimental Image Generation and Editing APIs&lt;a class="anchor" href="#gemini-flash-experimental-image-generation-and-editing-apis"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;In March 2025, Google introduced native image generation and editing capabilities in the Gemini 2.0 Flash Experimental model. You can now generate and iteratively edit images via a single REST endpoint (&lt;a href="https://developers.googleblog.com/en/experiment-with-gemini-20-flash-native-image-generation/"&gt;Experiment with Gemini 2.0 Flash native image generation&lt;/a&gt;
, &lt;a href="https://ai.google.dev/gemini-api/docs/image-generation"&gt;Generate images | Gemini API | Google AI for Developers&lt;/a&gt;
).&lt;/p&gt;
&lt;p&gt;&lt;a href="https://youtu.be/wgs4UYx6quY"&gt;&lt;img src="https://i.ytimg.com/vi_webp/wgs4UYx6quY/sddefault.webp" alt="How to use Latest Gemini 2.0 Native Image Generation with API? (9 min)" /&gt;&lt;/a&gt;
 (&lt;a href="https://www.youtube.com/watch?v=wgs4UYx6quY"&gt;How to use Latest Gemini 2.0 Native Image Generation with API?&lt;/a&gt;
)&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/llm-realtime/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/llm-realtime/</guid><description/></item><item><title/><link>http://tds.mynkofficial.in/2026-05/llm-sentiment-analysis/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/llm-sentiment-analysis/</guid><description>&lt;h2 id="llm-sentiment-analysis"&gt;LLM Sentiment Analysis&lt;a class="anchor" href="#llm-sentiment-analysis"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://platform.openai.com/"&gt;OpenAI&amp;rsquo;s API&lt;/a&gt;
 provides access to language models like GPT 4o, GPT 4o mini, etc.&lt;/p&gt;
&lt;p&gt;For more details, read OpenAI&amp;rsquo;s guide for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://platform.openai.com/docs/guides/text-generation"&gt;Text Generation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://platform.openai.com/docs/guides/vision"&gt;Vision&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://platform.openai.com/docs/guides/structured-outputs"&gt;Structured Outputs&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Start with this quick tutorial:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://youtu.be/Xz4ORA0cOwQ"&gt;&lt;img src="https://i.ytimg.com/vi_webp/Xz4ORA0cOwQ/sddefault.webp" alt="OpenAI API Quickstart: Send your First API Request" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s a minimal example using &lt;code&gt;curl&lt;/code&gt; to generate text:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;curl https://api.openai.com/v1/chat/completions &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -H &lt;span style="color:#e6db74"&gt;&amp;#34;Content-Type: application/json&amp;#34;&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -H &lt;span style="color:#e6db74"&gt;&amp;#34;Authorization: Bearer &lt;/span&gt;$OPENAI_API_KEY&lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -d &lt;span style="color:#e6db74"&gt;&amp;#39;{
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt; &amp;#34;model&amp;#34;: &amp;#34;gpt-4o-mini&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt; &amp;#34;messages&amp;#34;: [{ &amp;#34;role&amp;#34;: &amp;#34;user&amp;#34;, &amp;#34;content&amp;#34;: &amp;#34;Write a haiku about programming.&amp;#34; }]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt; }&amp;#39;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Let&amp;rsquo;s break down the request:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/llm-speech/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/llm-speech/</guid><description>&lt;h2 id="openai-tts-1-for-text-to-speech-generation"&gt;OpenAI TTS-1 for Text-to-Speech Generation&lt;a class="anchor" href="#openai-tts-1-for-text-to-speech-generation"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;OpenAI&amp;rsquo;s Text-to-Speech API (TTS-1) converts text into natural-sounding speech using state-of-the-art neural models. Released in March 2025, it offers multiple voices and control over speaking style and speed.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://youtu.be/lXb0L16ISAc"&gt;&lt;img src="https://i.ytimg.com/vi_webp/lXb0L16ISAc/sddefault.webp" alt="Audio Models in the API (15 min)" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h3 id="simple-speech-generation"&gt;Simple speech generation&lt;a class="anchor" href="#simple-speech-generation"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;To generate speech from text, send a POST request to the speech endpoint:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;curl https://api.openai.com/v1/audio/speech &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -H &lt;span style="color:#e6db74"&gt;&amp;#34;Authorization: Bearer &lt;/span&gt;$OPENAI_API_KEY&lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -H &lt;span style="color:#e6db74"&gt;&amp;#34;Content-Type: application/json&amp;#34;&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -d &lt;span style="color:#e6db74"&gt;&amp;#39;{
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt; &amp;#34;model&amp;#34;: &amp;#34;tts-1&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt; &amp;#34;input&amp;#34;: &amp;#34;Hello! This is a test of the OpenAI text to speech API.&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt; &amp;#34;voice&amp;#34;: &amp;#34;alloy&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt; }&amp;#39;&lt;/span&gt; --output speech.mp3&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="generation-options"&gt;Generation options&lt;a class="anchor" href="#generation-options"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Control the output with these parameters:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/llm-text-extraction/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/llm-text-extraction/</guid><description>&lt;h2 id="llm-text-extraction"&gt;LLM Text Extraction&lt;a class="anchor" href="#llm-text-extraction"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="http://tds.mynkofficial.in/2026-05/json/"&gt;JSON&lt;/a&gt;
 is one of the most widely used formats in the world for applications to exchange data.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://youtu.be/72514uGffPE"&gt;&lt;img src="https://i.ytimg.com/vi_webp/72514uGffPE/sddefault.webp" alt="LLM Extraction" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;This video explains how to use LLMs to extract structure from unstructured data, covering:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;LLM for Data Extraction&lt;/strong&gt;: Use OpenAI&amp;rsquo;s API to extract structured information from unstructured data like addresses.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;JSON Schema&lt;/strong&gt;: Define a JSON schema to ensure consistent and structured output from the LLM.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Prompt Engineering&lt;/strong&gt;: Craft effective prompts to guide the LLM&amp;rsquo;s response and improve accuracy.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Data Cleaning&lt;/strong&gt;: Use string functions and OpenAI&amp;rsquo;s API to clean and standardize data.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Data Analysis&lt;/strong&gt;: Analyze extracted data using Pandas to gain insights.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;LLM Limitations&lt;/strong&gt;: Understand the limitations of LLMs, including potential errors and inconsistencies in output.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Production Use Cases&lt;/strong&gt;: Explore real-world applications of LLMs for data extraction, such as customer service email analysis.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here are the links used in the video:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/llm-video-screen-scraping/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/llm-video-screen-scraping/</guid><description>&lt;h2 id="llm-video-screen-scraping"&gt;LLM Video Screen-Scraping&lt;a class="anchor" href="#llm-video-screen-scraping"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Video screen-scraping with LLMs is a powerful technique for extracting structured data from screen recordings. This approach works with any visible screen content and bypasses traditional web scraping limitations like authentication or anti-scraping measures.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://youtu.be/2G1LqS6qO5s"&gt;&lt;img src="https://i.ytimg.com/vi_webp/2G1LqS6qO5s/sddefault.webp" alt="Screen Scraping with Gemini" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Key benefits:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;No setup cost or authentication handling&lt;/li&gt;
&lt;li&gt;Works with any visible screen content&lt;/li&gt;
&lt;li&gt;Full control over data exposure&lt;/li&gt;
&lt;li&gt;Extremely cost-effective (&amp;lt; $0.001 per short video)&lt;/li&gt;
&lt;li&gt;Bypasses anti-scraping measures&lt;/li&gt;
&lt;li&gt;Handles varying formats and layouts&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="quick-start-example"&gt;Quick Start Example&lt;a class="anchor" href="#quick-start-example"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Here&amp;rsquo;s a basic workflow using Google&amp;rsquo;s AI Studio and Gemini:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/llm-website-scraping/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/llm-website-scraping/</guid><description>&lt;h1 id="llm-website-scraping"&gt;LLM Website Scraping&lt;a class="anchor" href="#llm-website-scraping"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;LLM-powered website scraping represents a paradigm shift from traditional web scraping. Instead of writing explicit code to navigate DOM structures and CSS selectors, you describe what data you want and let the LLM figure out how to extract it.&lt;/p&gt;
&lt;p&gt;This approach works for both simple public pages and complex scenarios requiring authentication, JavaScript rendering, and dynamic interactions. LLMs can write scraping code, control browsers, adapt to layout changes, and even handle captchas through browser automation.&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/llm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/llm/</guid><description>&lt;h2 id="llm-cli-llm"&gt;LLM CLI: llm&lt;a class="anchor" href="#llm-cli-llm"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://pypi.org/project/llm"&gt;&lt;code&gt;llm&lt;/code&gt;&lt;/a&gt;
 is a command-line utility for interacting with large language models—simplifying prompts, managing models and plugins, logging every conversation, and extracting structured data for pipelines.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://youtu.be/QUXQNi6jQ30?t=100"&gt;&lt;img src="https://i.ytimg.com/vi_webp/QUXQNi6jQ30/sddefault.webp" alt="Language models on the command-line w/ Simon Willison" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h3 id="basic-usage"&gt;Basic Usage&lt;a class="anchor" href="#basic-usage"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://github.com/simonw/llm#installation"&gt;Install llm&lt;/a&gt;
. Then set up your &lt;a href="https://platform.openai.com/api-keys"&gt;&lt;code&gt;OPENAI_API_KEY&lt;/code&gt;&lt;/a&gt;
 environment variable. See &lt;a href="https://github.com/simonw/llm?tab=readme-ov-file#getting-started"&gt;Getting started&lt;/a&gt;
.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;TDS Students&lt;/strong&gt;: See &lt;a href="http://tds.mynkofficial.in/2026-05/large-language-models/"&gt;Large Language Models&lt;/a&gt;
 for instructions on how to get and use &lt;code&gt;OPENAI_API_KEY&lt;/code&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Run a simple prompt&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;llm &lt;span style="color:#e6db74"&gt;&amp;#39;five great names for a pet pelican&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Continue a conversation&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;llm -c &lt;span style="color:#e6db74"&gt;&amp;#39;now do walruses&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Start a memory-aware chat session&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;llm chat
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Specify a model&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;llm -m gpt-4.1-nano &lt;span style="color:#e6db74"&gt;&amp;#39;Summarize tomorrow’s meeting agenda&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Extract JSON output&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;llm &lt;span style="color:#e6db74"&gt;&amp;#39;List the top 5 Python viz libraries with descriptions&amp;#39;&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --schema-multi &lt;span style="color:#e6db74"&gt;&amp;#39;name,description&amp;#39;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Or use llm without installation using &lt;a href="http://tds.mynkofficial.in/2026-05/uv/"&gt;&lt;code&gt;uvx&lt;/code&gt;&lt;/a&gt;
:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/making-open-data-useful/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/making-open-data-useful/</guid><description>&lt;h1 id="making-open-data-useful-lessons-from-diagram-chasing"&gt;Making Open Data Useful: Lessons from Diagram Chasing&lt;a class="anchor" href="#making-open-data-useful-lessons-from-diagram-chasing"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Many datasets are technically available but practically unusable. Your job is to make them useful for people who are not data scientists. Design for the lowest friction, and let people share one precise slice of truth with a link.&lt;/p&gt;
&lt;p&gt;See how Diagram Chasing does this across projects like &lt;strong&gt;CBFC Watch&lt;/strong&gt;, &lt;strong&gt;Time Use Explorer&lt;/strong&gt;, &lt;strong&gt;BLR Water Log&lt;/strong&gt;, &lt;strong&gt;Votes in a name?&lt;/strong&gt;, and &lt;strong&gt;Who is my neta?&lt;/strong&gt; (&lt;a href="https://cbfc.watch/" title="CBFC Watch: Home"&gt;CBFC Watch&lt;/a&gt;
)&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/marimo/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/marimo/</guid><description>&lt;h2 id="interactive-notebooks-marimo"&gt;Interactive Notebooks: Marimo&lt;a class="anchor" href="#interactive-notebooks-marimo"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://marimo.app/"&gt;Marimo&lt;/a&gt;
 is a new take on notebooks that solves some headaches of Jupyter. It runs cells reactively - when you change one cell, all dependent cells update automatically, just like a spreadsheet.&lt;/p&gt;
&lt;p&gt;Marimo&amp;rsquo;s cells can&amp;rsquo;t be run out of order. This makes Marimo more reproducible and easier to debug, but requires a mental shift from the Jupyter/Colab way of working.&lt;/p&gt;
&lt;p&gt;It also runs Python directly in the browser and is quite interactive. &lt;a href="https://marimo.io/gallery"&gt;Browse the gallery of examples&lt;/a&gt;
. With a wide variety of interactive widgets, It&amp;rsquo;s growing popular as an alternative to Streamlit for building data science web apps.&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/markdown/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/markdown/</guid><description>&lt;h2 id="documentation-markdown"&gt;Documentation: Markdown&lt;a class="anchor" href="#documentation-markdown"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Markdown is a lightweight markup language for creating formatted text using a plain-text editor. It&amp;rsquo;s the standard for documentation in software projects and data science notebooks.&lt;/p&gt;
&lt;p&gt;Watch this introduction to Markdown (19 min):&lt;/p&gt;
&lt;p&gt;&lt;a href="https://youtu.be/HUBNt18RFbo"&gt;&lt;img src="https://i.ytimg.com/vi_webp/HUBNt18RFbo/sddefault.webp" alt="Markdown Crash Course (19 min)" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Common Markdown syntax:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# Heading 1
## Heading 2

**bold** and *italic*

- Bullet point
- Another point
 - Nested point

1. Numbered list
2. Second item

[Link text](https://url.com)
![Image alt](image.jpg)

```python
# Code block
def hello():
 print(&amp;#34;Hello&amp;#34;)
```

&amp;gt; Blockquote&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;There is also a &lt;a href="https://github.github.com/gfm/"&gt;GitHub Flavored Markdown&lt;/a&gt;
 standard which is popular. This includes extensions like:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/marks-dashboard/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/marks-dashboard/</guid><description>&lt;h1 id="marks-dashboard"&gt;Marks Dashboard&lt;a class="anchor" href="#marks-dashboard"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="t---score-calculation"&gt;T - Score Calculation&lt;a class="anchor" href="#t---score-calculation"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The final score for the course is calculated as follows:&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Components (All out of 100)&lt;/th&gt;
					&lt;th&gt;Weight&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;Grade Assessments &lt;strong&gt;(GA)&lt;/strong&gt; &lt;br&gt; Best 5/8&lt;/td&gt;
					&lt;td&gt;20%&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Project 1 &lt;strong&gt;(P1)&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;20%&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Project 2 &lt;strong&gt;(P2)&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;20%&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Remote Online Exam &lt;strong&gt;(ROE)&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;20%&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;End Term &lt;strong&gt;(ET)&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;20%&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id="end-term-eligibility-best-45-first-gas-average--40"&gt;End Term Eligibility: Best 4/5 first GAs Average &amp;gt;= 40&lt;a class="anchor" href="#end-term-eligibility-best-45-first-gas-average--40"&gt;#&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;T = 0.2 GA + 0.2 P1 + 0.2 P2 + 0.2 ROE + 0.2 ET&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/marp/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/marp/</guid><description>&lt;h2 id="marp-markdown-presentation-ecosystem"&gt;Marp: Markdown Presentation Ecosystem&lt;a class="anchor" href="#marp-markdown-presentation-ecosystem"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/EzQ-p41wNEE"&gt;&lt;img src="https://i.ytimg.com/vi/EzQ-p41wNEE/sddefault.jpg" alt="Never use PowerPoint again (20 min)" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;&lt;a href="https://marp.app/"&gt;Marp&lt;/a&gt;
 (Markdown Presentation) is a powerful tool for creating presentations using Markdown. It converts Markdown files into slideshows, making it ideal for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Technical Presentations&lt;/strong&gt;: Code snippets, diagrams, and technical content&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Documentation&lt;/strong&gt;: Creating slide decks from existing documentation&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Academic Slides&lt;/strong&gt;: Research presentations with math equations and citations&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Conference Talks&lt;/strong&gt;: Professional presentations with custom themes&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Teaching Materials&lt;/strong&gt;: Educational content with rich formatting&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub Pages&lt;/strong&gt;: Hosting presentations on the web&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This tutorial covers using Marp in VS Code to create professional presentations.&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/multimodal-embeddings/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/multimodal-embeddings/</guid><description>&lt;h2 id="multimodal-embeddings"&gt;Multimodal Embeddings&lt;a class="anchor" href="#multimodal-embeddings"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Multimodal embeddings map &lt;strong&gt;text&lt;/strong&gt; and &lt;strong&gt;images&lt;/strong&gt; into the &lt;strong&gt;same&lt;/strong&gt; vector space, enabling direct comparison between, say, a caption — “A cute cat” — and an image of that cat. This unified representation powers real-world applications like:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Cross-modal search&lt;/strong&gt; (e.g. “find images of a sunset” via text queries)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Content recommendation&lt;/strong&gt; (suggesting visually similar products to text descriptions)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Clustering &amp;amp; retrieval&lt;/strong&gt; (grouping documents and their associated graphics)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Anomaly detection&lt;/strong&gt; (spotting unusual image–text pairings)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;By reducing different data types to a common numeric form, you unlock richer search, enhanced recommendations, and tighter integration of visual and textual data.&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/narratives-with-comics/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/narratives-with-comics/</guid><description>&lt;h2 id="narratives-with-comics"&gt;Narratives with Comics&lt;a class="anchor" href="#narratives-with-comics"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/HZDqCQBpHGI"&gt;&lt;img src="https://i.ytimg.com/vi/HZDqCQBpHGI/sddefault.jpg" alt="Comic narratives with Google Sheets &amp;amp; Comicgen" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.google.com/spreadsheets/d/1b0DOfJnnx6MFcN955YqRqYafLb8XrH-zqtLaK2h5kkc/edit#gid=1534638946"&gt;Sample sheet&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/narratives-with-excel/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/narratives-with-excel/</guid><description>&lt;h2 id="narratives-with-excel"&gt;Narratives with Excel&lt;a class="anchor" href="#narratives-with-excel"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/CRNJerr3pI4"&gt;&lt;img src="https://i.ytimg.com/vi_webp/CRNJerr3pI4/sddefault.webp" alt="Narratives with Excel" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.google.com/spreadsheets/d/1Htmr5ar0ZX2nYW8Xerr9OaLJl3zS0gxY/view#gid=171350107"&gt;Sample Excel&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/network-analysis-in-python/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/network-analysis-in-python/</guid><description>&lt;h2 id="network-analysis-in-python"&gt;Network Analysis in Python&lt;a class="anchor" href="#network-analysis-in-python"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/uPL3VuRqOy4"&gt;&lt;img src="https://i.ytimg.com/vi_webp/uPL3VuRqOy4/sddefault.webp" alt="Talk: Exploring the Movie Actor Network in Python" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;You&amp;rsquo;ll learn how to use network analysis to identify clusters and connections between nodes in a dataset, covering:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Network Construction&lt;/strong&gt;: Build a network from the IMDb database, where nodes represent actors and edges represent shared movie appearances.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Clustering&lt;/strong&gt;: Apply clustering techniques to detect communities within the network, using the scikit-network library.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Matrix Operations&lt;/strong&gt;: Utilize matrix operations to efficiently analyze actor relationships and interactions.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Community Detection&lt;/strong&gt;: Implement algorithms to identify and interpret clusters, examining how different actor clusters are connected.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Application of Findings&lt;/strong&gt;: Explore practical applications of network analysis, such as social network analysis and its potential uses in various domains.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here are links used in the video:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/ngrok/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/ngrok/</guid><description>&lt;h2 id="tunneling-ngrok"&gt;Tunneling: ngrok&lt;a class="anchor" href="#tunneling-ngrok"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://ngrok.com/"&gt;Ngrok&lt;/a&gt;
 is a tool that creates secure tunnels to your localhost, making your local development server accessible to the internet. It&amp;rsquo;s essential for testing webhooks, sharing work in progress, or debugging applications in production-like environments.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://youtu.be/dfMdLGZLXSg"&gt;&lt;img src="https://i.ytimg.com/vi_webp/dfMdLGZLXSg/sddefault.webp" alt="ngrok in 60 seconds" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Run the command &lt;code&gt;uvx ngrok http 8000&lt;/code&gt; to create a tunnel to your local server on port 8000. This generates a public URL that you can share with others.&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/nominatim-api-with-python/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/nominatim-api-with-python/</guid><description>&lt;h2 id="nominatim-api-with-python"&gt;Nominatim API with Python&lt;a class="anchor" href="#nominatim-api-with-python"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/f0PZ-pphAXE"&gt;&lt;img src="https://i.ytimg.com/vi_webp/f0PZ-pphAXE/sddefault.webp" alt="Nominatim Open Street Map with Python" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;You&amp;rsquo;ll learn how to get the latitude and longitude of any city from the Nominatim API.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Introduction to Nominatim&lt;/strong&gt;: Understand how Nominatim, from OpenStreetMap, works similarly to Google Maps for geocoding.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Installation and Import&lt;/strong&gt;: Learn to install and import &lt;a href="https://geopy.readthedocs.io/"&gt;geopy&lt;/a&gt;
 and &lt;a href="https://nominatim.org/"&gt;nominatim&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Using the Locator&lt;/strong&gt;: Create a locator object using Nominatim and set up a user agent.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Geocoding an Address&lt;/strong&gt;: Use &lt;code&gt;locator.geocode&lt;/code&gt; to input an address (e.g., Eiffel Tower) and fetch geocoded data.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Extracting Data&lt;/strong&gt;: Access detailed information like latitude, longitude, bounding box, and accurate address from the JSON response.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Classifying Locations&lt;/strong&gt;: Identify the type of place (e.g., tourism, university) using the response data.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Practical Example&lt;/strong&gt;: Geocode &amp;ldquo;IIT Madras&amp;rdquo; and retrieve its full address, type (university), and other relevant information.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here are links and references:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/npx/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/npx/</guid><description>&lt;h2 id="javascript-tools-npx"&gt;JavaScript tools: npx&lt;a class="anchor" href="#javascript-tools-npx"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://docs.npmjs.com/cli/v8/commands/npx"&gt;npx&lt;/a&gt;
 is a command-line tool that comes with npm (Node Package Manager) and allows you to execute npm package binaries and run one-off commands without installing them globally. It&amp;rsquo;s essential for modern JavaScript development and data science workflows.&lt;/p&gt;
&lt;p&gt;For data scientists, npx is useful when:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Running JavaScript-based data visualization tools&lt;/li&gt;
&lt;li&gt;Converting notebooks and documents&lt;/li&gt;
&lt;li&gt;Testing and formatting code&lt;/li&gt;
&lt;li&gt;Running development servers&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here are common npx commands:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Run a package without installing&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;npx http-server . &lt;span style="color:#75715e"&gt;# Start a local web server&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;npx prettier --write . &lt;span style="color:#75715e"&gt;# Format code or docs&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;npx eslint . &lt;span style="color:#75715e"&gt;# Lint JavaScript&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;npx ts-node script.ts &lt;span style="color:#75715e"&gt;# Run TypeScript directly&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;npx esbuild app.js &lt;span style="color:#75715e"&gt;# Bundle JavaScript&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;npx jsdoc . &lt;span style="color:#75715e"&gt;# Generate JavaScript docs&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Run specific versions&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;npx prettier@3.6 --write . &lt;span style="color:#75715e"&gt;# Use prettier 3.6&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Execute remote scripts (use with caution!)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;npx github:user/repo &lt;span style="color:#75715e"&gt;# Run from GitHub&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Watch this introduction to npx (6 min):&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/ollama/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/ollama/</guid><description>&lt;h2 id="local-llm-runner-ollama"&gt;Local LLM Runner: Ollama&lt;a class="anchor" href="#local-llm-runner-ollama"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://github.com/ollama/ollama"&gt;&lt;code&gt;ollama&lt;/code&gt;&lt;/a&gt;
 is a command-line tool for running open-source large language models entirely on your own machine—no API keys, no vendor lock-in, full control over models and performance.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://youtu.be/Lb5D892-2HY"&gt;&lt;img src="https://i.ytimg.com/vi_webp/Lb5D892-2HY/sddefault.webp" alt="Run AI Models Locally: Ollama Tutorial (Step-by-Step Guide &amp;#43; WebUI)" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h3 id="basic-usage"&gt;Basic Usage&lt;a class="anchor" href="#basic-usage"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://ollama.com/"&gt;Download Ollama for macOS, Linux, or Windows&lt;/a&gt;
 and add the binary to your &lt;code&gt;PATH&lt;/code&gt;. See the full &lt;a href="https://ollama.com/docs"&gt;Docs ↗&lt;/a&gt;
 for installation details and troubleshooting.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# List installed and available models&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ollama list
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Download/pin a specific model version&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ollama pull gemma3:1b-it-qat
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Run a one-off prompt&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ollama run gemma3:1b-it-qat &lt;span style="color:#e6db74"&gt;&amp;#39;Write a haiku about data visualization&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Launch a persistent HTTP API on port 11434&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ollama serve
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Interact programmatically over HTTP&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;curl -X POST http://localhost:11434/api/chat &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -H &lt;span style="color:#e6db74"&gt;&amp;#39;Content-Type: application/json&amp;#39;&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -d &lt;span style="color:#e6db74"&gt;&amp;#39;{&amp;#34;model&amp;#34;:&amp;#34;gemma3:1b-it-qat&amp;#34;,&amp;#34;prompt&amp;#34;:&amp;#34;Hello, world!&amp;#34;}&amp;#39;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="key-features"&gt;Key Features&lt;a class="anchor" href="#key-features"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Model management&lt;/strong&gt;: &lt;code&gt;list&lt;/code&gt;/&lt;code&gt;pull&lt;/code&gt; — Install and switch among Llama 3.3, DeepSeek-R1, Gemma 3, Mistral, Phi-4, and more.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Local inference&lt;/strong&gt;: &lt;code&gt;run&lt;/code&gt; — Execute prompts entirely on-device for privacy and zero latency beyond hardware limits.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Persistent server&lt;/strong&gt;: &lt;code&gt;serve&lt;/code&gt; — Expose a local REST API for multi-session chats and integration into scripts or apps.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Version pinning&lt;/strong&gt;: &lt;code&gt;pull model:tag&lt;/code&gt; — Pin exact model versions for reproducible demos and experiments.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Resource control&lt;/strong&gt;: &lt;code&gt;--threads&lt;/code&gt; / &lt;code&gt;--context&lt;/code&gt; — Tune CPU/GPU usage and maximum context window for performance and memory management.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="real-world-use-cases"&gt;Real-World Use Cases&lt;a class="anchor" href="#real-world-use-cases"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Quick prototyping&lt;/strong&gt;. Brainstorm slide decks or blog outlines offline, without worrying about API quotas: &lt;code&gt;ollama run gemma-3 'Outline a slide deck on Agile best practices'&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Data privacy&lt;/strong&gt;. Summarize sensitive documents on-device, retaining full control of your data: &lt;code&gt;cat financial_report.pdf | ollama run phi-4 'Summarize the key findings'&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CI/CD integration&lt;/strong&gt;. Validate PR descriptions or test YAML configurations in your pipeline without incurring API costs: &lt;code&gt;git diff origin/main | ollama run llama2 'Check for style and clarity issues'&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Local app embedding&lt;/strong&gt;. Power a desktop or web app via the local REST API for instant LLM features: &lt;code&gt;curl -X POST http://localhost:11434/api/chat -d '{&amp;quot;model&amp;quot;:&amp;quot;mistral&amp;quot;,&amp;quot;prompt&amp;quot;:&amp;quot;Translate to German&amp;quot;}'&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Read the full &lt;a href="https://github.com/ollama/ollama/tree/main/docs"&gt;Ollama docs ↗&lt;/a&gt;
 for advanced topics like custom model hosting, GPU tuning, and integrating with your development workflows.&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/outlier-detection-with-excel/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/outlier-detection-with-excel/</guid><description>&lt;h2 id="outlier-detection-with-excel"&gt;Outlier Detection with Excel&lt;a class="anchor" href="#outlier-detection-with-excel"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/sUTJb0F9eBw"&gt;&lt;img src="https://i.ytimg.com/vi_webp/sUTJb0F9eBw/sddefault.webp" alt="Outlier detection with Excel" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;You&amp;rsquo;ll learn how to identify and handle outliers in data using Excel, covering:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Understanding Outliers&lt;/strong&gt;: Definition of outliers and their impact on statistical analysis.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Calculating Quartiles&lt;/strong&gt;: Using Excel formulas to calculate Q1 (first quartile) and Q3 (third quartile).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Interquartile Range (IQR)&lt;/strong&gt;: Finding the IQR by subtracting Q1 from Q3.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Determining Bounds&lt;/strong&gt;: Calculating lower and upper bounds using 1.5 times the IQR.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Identifying Outliers&lt;/strong&gt;: Using Excel functions to determine if data points fall outside the calculated bounds.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Visualizing Data&lt;/strong&gt;: Creating box plots to visualize outliers and data distribution.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Handling Outliers&lt;/strong&gt;: Deciding whether to exclude or keep outliers based on their impact on analysis.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here are the links used in the video:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/parsing-json/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/parsing-json/</guid><description>&lt;h2 id="parsing-json"&gt;Parsing JSON&lt;a class="anchor" href="#parsing-json"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;JSON is everywhere—APIs, logs, configuration files—and its nested or large structure can challenge memory and processing. In this tutorial, we&amp;rsquo;ll explore tools to flatten, stream, and query JSON data efficiently.&lt;/p&gt;
&lt;p&gt;For example, we&amp;rsquo;ll often need to process a multi-gigabyte log file from a web service where each record is a JSON object.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://youtu.be/1lxrb_ezP-g"&gt;&lt;img src="https://i.ytimg.com/vi/1lxrb_ezP-g/sddefault.jpg" alt="JSON Parsing in Python" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;This requires us to handle complex nested structures, large files that don&amp;rsquo;t fit in memory, or extract specific fields. Here are the key tools and techniques for efficient JSON parsing:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/profiling-data-with-python/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/profiling-data-with-python/</guid><description>&lt;h2 id="profile-data-with-python"&gt;Profile Data with Python&lt;a class="anchor" href="#profile-data-with-python"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/kFVxdBhLa_A"&gt;&lt;img src="https://i.ytimg.com/vi_webp/kFVxdBhLa_A/sddefault.webp" alt="Discover the data profile with Python" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;This session covers the use of the &lt;code&gt;pandas_profiling&lt;/code&gt; library for generating comprehensive data reports in Python:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Library Installation and Import&lt;/strong&gt;: Learn how to install and import the pandas_profiling library.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Profile Report Generation&lt;/strong&gt;: Generate an HTML report with a single line of code using ProfileReport.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Descriptive Statistics&lt;/strong&gt;: View detailed descriptive statistics such as variance, standard deviation, and kurtosis.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Outlier Detection&lt;/strong&gt;: Identify and analyze outliers within the dataset.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Correlation Analysis&lt;/strong&gt;: Understand how variables are correlated with each other using visual representations.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Handling Missing Values&lt;/strong&gt;: Get insights on missing data and decide on imputation or removal strategies.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Initial Data Insights&lt;/strong&gt;: Use the report to gather early warnings and insights before starting the data cleaning and modeling process.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here are links used in the video:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/project-data-analyst-agent/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/project-data-analyst-agent/</guid><description>&lt;h1 id="project-data-analyst-agent"&gt;Project: Data Analyst Agent&lt;a class="anchor" href="#project-data-analyst-agent"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Deploy a data analyst agent. This is an API that uses LLMs to source, prepare, analyze, and visualize any data.&lt;/p&gt;
&lt;p&gt;Your application exposes an API endpoint. You may host it anywhere. Let&amp;rsquo;s assume it&amp;rsquo;s at &lt;code&gt;https://app.example.com/api/&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The endpoint must accept a POST request, e.g. &lt;code&gt;POST https://app.example.com/api/&lt;/code&gt; with a data analysis task description and optional attachments in the body. For example:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;curl &lt;span style="color:#e6db74"&gt;&amp;#34;https://app.example.com/api/&amp;#34;&lt;/span&gt; -F &lt;span style="color:#e6db74"&gt;&amp;#34;questions.txt=@question.txt&amp;#34;&lt;/span&gt; -F &lt;span style="color:#e6db74"&gt;&amp;#34;image.png=@image.png&amp;#34;&lt;/span&gt; -F &lt;span style="color:#e6db74"&gt;&amp;#34;data.csv=@data.csv&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;questions.txt&lt;/code&gt; will ALWAYS be sent and contain the questions. There may be zero or more additional files passed.&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/project-llm-code-deployment/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/project-llm-code-deployment/</guid><description>&lt;h1 id="project-llm-code-deployment"&gt;Project: LLM Code Deployment&lt;a class="anchor" href="#project-llm-code-deployment"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;!-- https://chatgpt.com/c/68cb90cb-7a64-8331-bfbf-aa222df475de --&gt;
&lt;p&gt;In this project, students will build an application that can build, deploy, update an application!&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Build&lt;/strong&gt;. The student:
&lt;ul&gt;
&lt;li&gt;receives &amp;amp; verifies a &lt;strong&gt;request&lt;/strong&gt; containing an app brief&lt;/li&gt;
&lt;li&gt;uses an &lt;strong&gt;LLM-assisted generator&lt;/strong&gt; to build the app,&lt;/li&gt;
&lt;li&gt;deployes to &lt;strong&gt;GitHub Pages&lt;/strong&gt;,&lt;/li&gt;
&lt;li&gt;then &lt;strong&gt;pings an evaluation API&lt;/strong&gt; with repo details&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Evaluate&lt;/strong&gt;. The instructors:
&lt;ul&gt;
&lt;li&gt;run automated &lt;strong&gt;static, dynamic (Playwright), and and LLM&lt;/strong&gt; checks&lt;/li&gt;
&lt;li&gt;store and publish the results &lt;strong&gt;after the deadline&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;send a &lt;strong&gt;second request&lt;/strong&gt; tailored to the student’s codebase&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Revise&lt;/strong&gt;. The student
&lt;ul&gt;
&lt;li&gt;verifies secret&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;updates&lt;/strong&gt; the app based on the request&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;re‑deploys&lt;/strong&gt; Pages&lt;/li&gt;
&lt;li&gt;then &lt;strong&gt;pings a second evaluation API&lt;/strong&gt; with repo metadata.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="request"&gt;Request&lt;a class="anchor" href="#request"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The request is a JSON file like this:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/project-tds-virtual-ta/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/project-tds-virtual-ta/</guid><description>&lt;h1 id="project-tds-virtual-ta"&gt;Project: TDS Virtual TA&lt;a class="anchor" href="#project-tds-virtual-ta"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Create a virtual Teaching Assistant Discourse responder.&lt;/p&gt;
&lt;h2 id="background"&gt;Background&lt;a class="anchor" href="#background"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;You are a clever student who has joined IIT Madras&amp;rsquo; Online Degree in Data Science. You have just enrolled in the &lt;a href="https://tds.s-anand.net/#/2025-01/"&gt;Tools in Data Science&lt;/a&gt;
 course.&lt;/p&gt;
&lt;p&gt;Out of kindness for your teaching assistants, you have decided to build an API that can automatically answer student questions on their behalf based on:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://tds.s-anand.net/#/2025-01/"&gt;Course content&lt;/a&gt;
 with content for TDS Jan 2025 as on 15 Apr 2025.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://discourse.onlinedegree.iitm.ac.in/c/courses/tds-kb/34"&gt;TDS Discourse posts&lt;/a&gt;
 with content from 1 Jan 2025 - 14 Apr 2025.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="scrape-the-data"&gt;Scrape the data&lt;a class="anchor" href="#scrape-the-data"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;To make sure you can answer these questions, you will need to extract the data from the above source.&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/prompt-engineering/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/prompt-engineering/</guid><description>&lt;h2 id="prompt-engineering"&gt;Prompt Engineering&lt;a class="anchor" href="#prompt-engineering"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Prompt engineering is the process of crafting effective prompts for large language models (LLMs).&lt;/p&gt;
&lt;p&gt;One of the best ways to approach prompt engineering is to think of LLMs as a smart colleague (with amnesia) who needs explicit instructions.&lt;/p&gt;
&lt;p&gt;The most authoritative guides are from the LLM providers themselves:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/"&gt;Anthropic&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://cloud.google.com/vertex-ai/generative-ai/docs/learn/prompts/introduction-prompt-design"&gt;Google&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://platform.openai.com/docs/guides/prompt-engineering"&gt;OpenAI&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here are some best practices:&lt;/p&gt;
&lt;h3 id="use-prompt-optimizers"&gt;Use prompt optimizers&lt;a class="anchor" href="#use-prompt-optimizers"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;They rewrite your prompt to improve it. Explore:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/prompt-improver"&gt;Anthropic Prompt Optimizer&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://platform.openai.com/docs/guides/prompt-generation"&gt;OpenAI Prompt Generation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://cloud.google.com/vertex-ai/generative-ai/docs/learn/prompts/ai-powered-prompt-writing"&gt;Google AI-powered prompt writing tools&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="be-clear-direct-and-detailed"&gt;Be clear, direct, and detailed&lt;a class="anchor" href="#be-clear-direct-and-detailed"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Be explicit and thorough. Include all necessary context, goals, and details so the model understands the full picture.&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/pydantic-ai/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/pydantic-ai/</guid><description>&lt;h2 id="pydantic-ai"&gt;Pydantic AI&lt;a class="anchor" href="#pydantic-ai"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://docs.pydantic.dev/"&gt;Pydantic&lt;/a&gt;
 is Python&amp;rsquo;s most widely used data validation library. &lt;a href="https://ai.pydantic.dev/"&gt;Pydantic AI&lt;/a&gt;
 extends this to build production-grade AI agents with structured outputs and type safety.&lt;/p&gt;
&lt;h3 id="whats-pydantic"&gt;What&amp;rsquo;s Pydantic?&lt;a class="anchor" href="#whats-pydantic"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Python doesn&amp;rsquo;t enforce type hints at runtime. Pydantic validates data automatically using type annotations:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# /// script&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# requires-python = &amp;#34;&amp;gt;=3.11&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# dependencies = [&amp;#34;pydantic&amp;#34;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# ///&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;from&lt;/span&gt; pydantic &lt;span style="color:#f92672"&gt;import&lt;/span&gt; BaseModel, Field
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;class&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;User&lt;/span&gt;(BaseModel):
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; name: str
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; age: int &lt;span style="color:#f92672"&gt;=&lt;/span&gt; Field(&lt;span style="color:#f92672"&gt;...&lt;/span&gt;, gt&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;, le&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;120&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; email: str
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Automatic validation and type conversion&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;user &lt;span style="color:#f92672"&gt;=&lt;/span&gt; User(name&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;Alice&amp;#34;&lt;/span&gt;, age&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;25&amp;#34;&lt;/span&gt;, email&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;alice@example.com&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;print(user&lt;span style="color:#f92672"&gt;.&lt;/span&gt;age, type(user&lt;span style="color:#f92672"&gt;.&lt;/span&gt;age)) &lt;span style="color:#75715e"&gt;# 25 &amp;lt;class &amp;#39;int&amp;#39;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Invalid data raises ValidationError&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;try&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; User(name&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;Bob&amp;#34;&lt;/span&gt;, age&lt;span style="color:#f92672"&gt;=-&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;5&lt;/span&gt;, email&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;invalid&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;except&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;Exception&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;as&lt;/span&gt; e:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; print(&lt;span style="color:#e6db74"&gt;f&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;Validation failed: &lt;/span&gt;&lt;span style="color:#e6db74"&gt;{&lt;/span&gt;e&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Pydantic is used by FastAPI, LangChain, the OpenAI SDK, and 8,000+ packages on PyPI. It&amp;rsquo;s fast (core written in Rust), integrates with IDEs, and generates JSON schemas automatically.&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/rag-cli/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/rag-cli/</guid><description>&lt;h2 id="retrieval-augmented-generation-rag-with-the-cli"&gt;Retrieval Augmented Generation (RAG) with the CLI&lt;a class="anchor" href="#retrieval-augmented-generation-rag-with-the-cli"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Retrieval Augmented Generation (RAG) combines retrieval (searching a knowledge base) with generation (using an LLM) to produce answers grounded in your own documents. Instead of relying solely on a general-purpose LLM, RAG lets you feed it the most relevant chunks from your corpus at query time, improving accuracy, reducing hallucinations, and allowing you to answer domain‑specific questions without fine‑tuning.&lt;/p&gt;
&lt;p&gt;In particular, you can answer questions that are hard to answer with a keyword search. For example:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/rawgraphs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/rawgraphs/</guid><description>&lt;h2 id="rawgraphs"&gt;RAWgraphs&lt;a class="anchor" href="#rawgraphs"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/2TtYlty-M5g"&gt;&lt;img src="https://i.ytimg.com/vi_webp/2TtYlty-M5g/sddefault.webp" alt="RAWGraphs 1.0 - Introduction (1 min)" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.rawgraphs.io/"&gt;RAWgraphs&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You&amp;rsquo;ll learn about RAWGraphs and how to create data visualizations, covering:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Understanding RAWGraphs&lt;/strong&gt;: Learn that RAWGraphs is an &lt;strong&gt;open-source data visualization tool&lt;/strong&gt; designed to simplify the visualization of complex data for everyone.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Data Import&lt;/strong&gt;: Discover how to &lt;strong&gt;import your dataset&lt;/strong&gt; into RAWGraphs by copying and pasting it from any spreadsheet application.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Chart Selection&lt;/strong&gt;: Understand how to &lt;strong&gt;choose from a variety of charts&lt;/strong&gt; that are built on top of d3js, such as a scatter plot, suitable for your data.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Chart Creation&lt;/strong&gt;: Create different kinds of charts, notably non-traditional charts that go beyond bars, lines, pie, etc.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mapping Data Dimensions&lt;/strong&gt;: Learn the process of &lt;strong&gt;mapping your dataset&amp;rsquo;s dimensions to the visual variables&lt;/strong&gt; of your chosen chart. This includes examples like mapping rating to the horizontal axis, production budget to the vertical axis, box office to bubble areas, genre to color, and movie names to labels.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Customization and Export&lt;/strong&gt;: Find out how to &lt;strong&gt;customize your visualization&lt;/strong&gt; and &lt;strong&gt;export it as a vector or raster image&lt;/strong&gt;, which can then be fine-tuned using any graphic editor.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Further Resources&lt;/strong&gt;: Be informed about where to &lt;strong&gt;find more information&lt;/strong&gt; on RAWGraphs&amp;rsquo; website and how to &lt;strong&gt;contribute to the project&lt;/strong&gt; through GitHub.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Watch these videos to learn how to create non-traditional data visualizations with &lt;a href="https://rawgraphs.io/"&gt;RawGraphs&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/regression-with-excel/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/regression-with-excel/</guid><description>&lt;h2 id="regression-with-excel"&gt;Regression with Excel&lt;a class="anchor" href="#regression-with-excel"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/AERQBMIHwXA"&gt;&lt;img src="https://i.ytimg.com/vi_webp/AERQBMIHwXA/sddefault.webp" alt="Regression with Excel" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;You&amp;rsquo;ll learn to perform regression analysis using Excel, covering:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Data Preparation&lt;/strong&gt;: Understanding the cleaned dataset and necessary columns for analysis.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Enabling the Tool&lt;/strong&gt;: How to enable the Data Analysis Tool Pack in Excel.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Types of Regression&lt;/strong&gt;: Differences between simple and multiple linear regression.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Setting Up Regression&lt;/strong&gt;: Steps to input dependent (new deaths) and independent variables (new cases, new tests, new vaccinations, stringency index) for the analysis.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Interpreting Output&lt;/strong&gt;: Reading the regression output, focusing on adjusted R-squared, significance value (F-test), and P-values.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Coefficient Interpretation&lt;/strong&gt;: Understanding the impact of each independent variable on the dependent variable, including scaling factors (per 1000 units).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Model Evaluation&lt;/strong&gt;: Evaluating the model based on significance values and understanding the implications of unexpected results (e.g., stringency index).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Further Analysis&lt;/strong&gt;: Recognizing the need for additional analysis when encountering unexpected or inconclusive results.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here are the links used in the video:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/rest-apis/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/rest-apis/</guid><description>&lt;h2 id="rest-apis"&gt;REST APIs&lt;a class="anchor" href="#rest-apis"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;REST (Representational State Transfer) APIs are the standard way to build web services that allow different systems to communicate over HTTP. They use standard HTTP methods and JSON for data exchange.&lt;/p&gt;
&lt;p&gt;Watch this comprehensive introduction to REST APIs (52 min):&lt;/p&gt;
&lt;p&gt;&lt;a href="https://youtu.be/qbLc5a9jdXo"&gt;&lt;img src="https://i.ytimg.com/vi_webp/qbLc5a9jdXo/sddefault.webp" alt="REST API Crash Course - Introduction &amp;#43; Full Python API Tutorial (52)" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Key Concepts:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;HTTP Methods&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;GET&lt;/code&gt;: Retrieve data&lt;/li&gt;
&lt;li&gt;&lt;code&gt;POST&lt;/code&gt;: Create new data&lt;/li&gt;
&lt;li&gt;&lt;code&gt;PUT/PATCH&lt;/code&gt;: Update existing data&lt;/li&gt;
&lt;li&gt;&lt;code&gt;DELETE&lt;/code&gt;: Remove data&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Status Codes&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;2xx&lt;/code&gt;: Success (200 OK, 201 Created)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;4xx&lt;/code&gt;: Client errors (400 Bad Request, 404 Not Found)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;5xx&lt;/code&gt;: Server errors (500 Internal Server Error)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Here&amp;rsquo;s a minimal REST API using FastAPI. Run this &lt;code&gt;server.py&lt;/code&gt; script via &lt;code&gt;uv run server.py&lt;/code&gt;:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/retrieval-augmented-generation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/retrieval-augmented-generation/</guid><description>&lt;h2 id="retrieval-augmented-generation"&gt;Retrieval Augmented Generation&lt;a class="anchor" href="#retrieval-augmented-generation"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/T-D1OfcDW1M"&gt;&lt;img src="https://i.ytimg.com/vi_webp/T-D1OfcDW1M/sddefault.webp" alt="What is Retrieval-Augmented Generation (RAG)? (6 min)" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Watch the walkthrough above, then dive into the notebook for step-by-step practice.&lt;/p&gt;
&lt;p&gt;You will learn to implement Retrieval Augmented Generation (RAG) to enhance language models&amp;rsquo; responses by incorporating relevant context, covering:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;LLM Context Limitations&lt;/strong&gt;: Understanding the constraints of context windows in large language models.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Retrieval Augmented Generation&lt;/strong&gt;: The technique of retrieving and using relevant documents to enhance model responses.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Embeddings&lt;/strong&gt;: How to convert text into numerical representations that are used for similarity calculations.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Similarity Search&lt;/strong&gt;: Finding the most relevant documents by calculating cosine similarity between embeddings.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;OpenAI API Integration&lt;/strong&gt;: Using the OpenAI API to generate responses based on the most relevant documents.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tourist Recommendation Bot&lt;/strong&gt;: Building a bot that recommends tourist attractions based on user interests using embeddings.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Next Steps for Implementation&lt;/strong&gt;: Insights into scaling the solution with a vector database, re-rankers, and improved prompts for better accuracy and efficiency.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here are the links used in the video:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/revealjs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/revealjs/</guid><description>&lt;h2 id="revealjs-web-based-presentations"&gt;RevealJS: Web-Based Presentations&lt;a class="anchor" href="#revealjs-web-based-presentations"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=a6ioNtv2H-E&amp;amp;list=PLoqZcxvpWzzf_C8QgHC9XbA-bn18qJ-QV"&gt;&lt;img src="https://i.ytimg.com/vi/a6ioNtv2H-E/sddefault.jpg" alt="Create Beautiful HTML Presentations with RevealJS (25 min)" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;&lt;a href="https://revealjs.com/"&gt;RevealJS&lt;/a&gt;
 is a powerful HTML presentation framework that turns web pages into interactive slideshows. It&amp;rsquo;s particularly useful for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Data Presentations&lt;/strong&gt;: Interactive charts, live data demos&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Technical Talks&lt;/strong&gt;: Code with syntax highlighting, math equations&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Web Portfolios&lt;/strong&gt;: Showcase projects with live demos&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Educational Content&lt;/strong&gt;: Interactive learning materials&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Conference Talks&lt;/strong&gt;: Remote-friendly with speaker notes&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Documentation&lt;/strong&gt;: API and library showcases&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This tutorial covers creating interactive presentations with RevealJS.&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/scheduled-scraping-with-github-actions/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/scheduled-scraping-with-github-actions/</guid><description>&lt;h2 id="scheduled-scraping-with-github-actions"&gt;Scheduled Scraping with GitHub Actions&lt;a class="anchor" href="#scheduled-scraping-with-github-actions"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;GitHub Actions provides an excellent platform for running web scrapers on a schedule. This tutorial shows how to automate data collection from websites using GitHub Actions workflows.&lt;/p&gt;
&lt;h3 id="key-concepts"&gt;Key Concepts&lt;a class="anchor" href="#key-concepts"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Scheduling&lt;/strong&gt;: Use &lt;a href="https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#schedule"&gt;cron syntax&lt;/a&gt;
 to run scrapers at specific times&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dependencies&lt;/strong&gt;: Install required packages like &lt;code&gt;httpx&lt;/code&gt;, &lt;code&gt;lxml&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Data Storage&lt;/strong&gt;: Save scraped data to files and commit back to the repository&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Error Handling&lt;/strong&gt;: Implement robust error handling for network issues and HTML parsing&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rate Limiting&lt;/strong&gt;: Respect website terms of service and implement delays between requests&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here&amp;rsquo;s a sample &lt;code&gt;scrape.py&lt;/code&gt; that scrapes the IMDb Top 250 movies using httpx and lxml:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/scraping-emarketer/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/scraping-emarketer/</guid><description>&lt;h2 id="scraping-emarketer"&gt;Scraping emarketer&lt;a class="anchor" href="#scraping-emarketer"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;In this live scraping session, we explore a real-life scenario where Straive had to scrape data from emarketer.com for a demo. This is a fairly realistic and representative way of how one might go about scraping a website.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://youtu.be/ZzUsDE1XjhE"&gt;&lt;img src="https://i.ytimg.com/vi_webp/ZzUsDE1XjhE/sddefault.webp" alt="Live scraping session" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;You&amp;rsquo;ll learn:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Scraping&lt;/strong&gt;: How to extract data from web pages, including constructing URLs, fetching page content, and parsing HTML using packages like &lt;a href="https://lxml.de/"&gt;&lt;code&gt;lxml&lt;/code&gt;&lt;/a&gt;
 and &lt;a href="https://www.python-httpx.org/"&gt;&lt;code&gt;httpx&lt;/code&gt;&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Caching&lt;/strong&gt;: Implementing a caching strategy to avoid redundant data fetching for efficiency and reliability.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Error Handling and Debugging&lt;/strong&gt;: Practical tips for troubleshooting, such as using liberal print statements, breakpoints for in-depth debugging, and the concept of &amp;ldquo;rubber duck debugging&amp;rdquo; to clarify problems.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;LLMs&lt;/strong&gt;: Benefits of Gemini / ChatGPT for code suggestions and troubleshooting.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Real-World Application&lt;/strong&gt;: How quick proofs of concept to showcase capabilities to clients, emphasizing practice over theory.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/scraping-imdb-with-javascript/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/scraping-imdb-with-javascript/</guid><description>&lt;h2 id="scraping-imdb-with-javascript"&gt;Scraping IMDb with JavaScript&lt;a class="anchor" href="#scraping-imdb-with-javascript"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/YVIKZqZIcCo"&gt;&lt;img src="https://i.ytimg.com/vi_webp/YVIKZqZIcCo/sddefault.webp" alt="Scraping the IMDb with Browser JavaScript" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;You&amp;rsquo;ll learn how to scrape the &lt;a href="https://www.imdb.com/chart/top"&gt;IMDb Top 250 movies&lt;/a&gt;
 directly in the browser using JavaScript on the Chrome DevTools, covering:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Access Developer Tools&lt;/strong&gt;: Use F12 or right-click &amp;gt; Inspect to open developer tools in Chrome or Edge.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Inspect Elements&lt;/strong&gt;: Identify and inspect HTML elements using the Elements tab.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Query Selectors&lt;/strong&gt;: Use &lt;code&gt;document.querySelectorAll&lt;/code&gt; and &lt;code&gt;document.querySelector&lt;/code&gt; to find elements by CSS class.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Extract Text Content&lt;/strong&gt;: Retrieve text content from elements using JavaScript.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Functional Programming&lt;/strong&gt;: Apply &lt;a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map"&gt;map&lt;/a&gt;

and &lt;a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions"&gt;arrow functions&lt;/a&gt;

for concise data processing.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Data Structuring&lt;/strong&gt;: Collect and format data into an array of arrays.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Copying Data&lt;/strong&gt;: Use the copy function to transfer data to the clipboard.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Convert to Spreadsheet&lt;/strong&gt;: Use online tools to convert JSON data to CSV or Excel format.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Text Manipulation&lt;/strong&gt;: Perform text splitting and cleaning in Excel for final data formatting.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here are links and references:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/scraping-live-sessions/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/scraping-live-sessions/</guid><description>&lt;h2 id="scraping-live-sessions"&gt;Scraping: Live Sessions&lt;a class="anchor" href="#scraping-live-sessions"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/cAriusuJsmw"&gt;&lt;img src="https://i.ytimg.com/vi_webp/cAriusuJsmw/sddefault.webp" alt="Intro to Web scraping and HTML" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Fundamentals of web scraping with urllib and BeautifulSoup&lt;/p&gt;
&lt;p&gt;&lt;a href="https://youtu.be/I3auyTYORTs"&gt;&lt;img src="https://i.ytimg.com/vi_webp/I3auyTYORTs/sddefault.webp" alt="Fundamentals of web scraping with urllib and BeautifulSoup" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Intermediate web scraping use of cookies&lt;/p&gt;
&lt;p&gt;&lt;a href="https://youtu.be/DryMIxMf3VU"&gt;&lt;img src="https://i.ytimg.com/vi_webp/DryMIxMf3VU/sddefault.webp" alt="Intermediate web scraping use of cookies" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;XML intro and scraping&lt;/p&gt;
&lt;p&gt;&lt;a href="https://youtu.be/8S_jvsjtaYg"&gt;&lt;img src="https://i.ytimg.com/vi_webp/8S_jvsjtaYg/sddefault.webp" alt="XML intro and scraping" /&gt;&lt;/a&gt;
&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/scraping-pdfs-with-tabula/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/scraping-pdfs-with-tabula/</guid><description>&lt;h2 id="scraping-pdfs-with-tabula"&gt;Scraping PDFs with Tabula&lt;a class="anchor" href="#scraping-pdfs-with-tabula"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/yDoKlKyxClQ"&gt;&lt;img src="https://i.ytimg.com/vi_webp/yDoKlKyxClQ/sddefault.webp" alt="Scrape PDFs with Tabula Python library" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;You&amp;rsquo;ll learn how to scrape tables from PDFs using the &lt;code&gt;tabula&lt;/code&gt; Python library, covering:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Import Libraries&lt;/strong&gt;: Use Beautiful Soup for URL parsing and Tabula for extracting tables from PDFs.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Specify Save Location&lt;/strong&gt;: Mount Google Drive to save scraped PDFs.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Identify PDF URLs&lt;/strong&gt;: Parse the given URL to identify and select all PDF links.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Download PDFs&lt;/strong&gt;: Loop through identified links, saving each PDF to the specified location.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Extract Tables&lt;/strong&gt;: Use Tabula to read tabular content from the downloaded PDFs.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Control Extraction Area&lt;/strong&gt;: Specify page and area coordinates to accurately extract tables, avoiding extraneous text.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Save Extracted Data&lt;/strong&gt;: Convert the extracted table data into structured formats like CSV for further analysis.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here are links and references:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/scraping-with-excel/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/scraping-with-excel/</guid><description>&lt;h2 id="scraping-with-excel"&gt;Scraping with Excel&lt;a class="anchor" href="#scraping-with-excel"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/OCl6UdpmzRQ"&gt;&lt;img src="https://i.ytimg.com/vi_webp/OCl6UdpmzRQ/sddefault.webp" alt="Weather Scraping with Excel: Get the Data" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;You&amp;rsquo;ll learn how to &lt;a href="https://support.microsoft.com/en-au/office/import-data-from-the-web-b13eed81-33fe-410d-9247-1747269c28e4"&gt;import tables on the web using Excel&lt;/a&gt;
, covering:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Data Import from Web&lt;/strong&gt;: Use the query feature in Excel to scrape data from websites.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Establishing Web Connections&lt;/strong&gt;: Connect Excel to a web page using a URL.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Using Query Editor&lt;/strong&gt;: Navigate the query editor to view and manage web data tables.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Loading Data&lt;/strong&gt;: Load data from the web into Excel for further manipulation.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Data Transformation&lt;/strong&gt;: Remove unnecessary columns and transform data as needed.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Applying Transformations&lt;/strong&gt;: Track applied steps in the sequence for reproducibility.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Refreshing Data&lt;/strong&gt;: Refresh the imported data to get the latest updates from the web.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here are links used in the video:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/scraping-with-google-sheets/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/scraping-with-google-sheets/</guid><description>&lt;h2 id="scraping-with-google-sheets"&gt;Scraping with Google Sheets&lt;a class="anchor" href="#scraping-with-google-sheets"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/eYQEk7XJM7s"&gt;&lt;img src="https://i.ytimg.com/vi_webp/eYQEk7XJM7s/sddefault.webp" alt="Scraping with Google Sheets" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;You&amp;rsquo;ll learn how to &lt;a href="https://support.google.com/docs/answer/3093339?hl=en"&gt;import tables on the web using Google Sheets&amp;rsquo;s &lt;code&gt;=IMPORTHTML()&lt;/code&gt; formula&lt;/a&gt;
, covering:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Import HTML Formula&lt;/strong&gt;: Use =IMPORTHTML(URL, &amp;ldquo;query&amp;rdquo;, index) to fetch tables or lists from a web page.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Granting Access&lt;/strong&gt;: Allow access for formulas to fetch data from external sources.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Checking Imported Data&lt;/strong&gt;: Verify if the imported table matches the data on the web page.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Handling Errors&lt;/strong&gt;: Understand common issues and how to resolve them.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sorting Data&lt;/strong&gt;: Copy imported data as values and sort it within Google Sheets.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Freezing Rows&lt;/strong&gt;: Use frozen rows to maintain headers while sorting.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Live Formulas&lt;/strong&gt;: Learn how web data updates automatically when the source changes.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Other Import Functions&lt;/strong&gt;: IMPORTXML, IMPORTFEED, IMPORTRANGE, and IMPORTDATA for advanced data fetching options.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here are links used in the video:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/splitting-text-in-excel/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/splitting-text-in-excel/</guid><description>&lt;h2 id="splitting-text-in-excel"&gt;Splitting Text in Excel&lt;a class="anchor" href="#splitting-text-in-excel"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/fQeADnqiOAg"&gt;&lt;img src="https://i.ytimg.com/vi_webp/fQeADnqiOAg/sddefault.webp" alt="Convert text-to-columns in Excel" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;You&amp;rsquo;ll learn how to transform a single-column data set into multiple, organized columns based on specific delimiters using the &amp;ldquo;Text to Columns&amp;rdquo; feature.&lt;/p&gt;
&lt;p&gt;Here are links used in the video:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.senate.gov/legislative/votes_new.htm"&gt;US Senate Legislation - Votes&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/spreadsheets/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/spreadsheets/</guid><description>&lt;h2 id="spreadsheet-excel-google-sheets"&gt;Spreadsheet: Excel, Google Sheets&lt;a class="anchor" href="#spreadsheet-excel-google-sheets"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;You&amp;rsquo;ll use spreadsheets for data cleaning and exploration. The most popular spreadsheet program is &lt;a href="https://www.microsoft.com/en-us/microsoft-365/excel"&gt;Microsoft Excel&lt;/a&gt;
 followed by &lt;a href="https://www.google.com/sheets/about/"&gt;Google Sheets&lt;/a&gt;
.&lt;/p&gt;
&lt;p&gt;You may be already familiar with these. If not, make sure to learn the basics of both.&lt;/p&gt;
&lt;p&gt;Go through the &lt;a href="https://support.microsoft.com/en-us/office/excel-video-training-9bc05390-e94c-46af-a5b3-d7c22f6990bb"&gt;&lt;strong&gt;Microsoft Excel&lt;/strong&gt; video training&lt;/a&gt;
 and make sure you cover:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://support.microsoft.com/en-us/office/create-a-new-workbook-ae99f19b-cecb-4aa0-92c8-7126d6212a83"&gt;Intro to Excel&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.microsoft.com/en-us/office/insert-or-delete-rows-and-columns-6f40e6e4-85af-45e0-b39d-65dd504a3246"&gt;Rows &amp;amp; columns&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.microsoft.com/en-us/office/move-or-copy-cells-and-cell-contents-803d65eb-6a3e-4534-8c6f-ff12d1c4139e"&gt;Cells&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.microsoft.com/en-us/office/available-number-formats-in-excel-0afe8f52-97db-41f1-b972-4b46e9f1e8d2"&gt;Formatting&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.microsoft.com/en-us/office/overview-of-formulas-in-excel-ecfdc708-9162-49e8-b993-c311f47ca173"&gt;Formulas &amp;amp; Functions&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.microsoft.com/en-us/office/create-and-format-tables-e81aa349-b006-4f8a-9806-5af9df0ac664"&gt;Tables&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.microsoft.com/en-us/office/create-a-pivottable-to-analyze-worksheet-data-a9a84538-bfe9-40a9-a8e9-f99134456576"&gt;PivotTables&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Watch this video for an introduction to &lt;strong&gt;Google Sheets&lt;/strong&gt; (49 min):&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/sqlite/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/sqlite/</guid><description>&lt;h2 id="database-sqlite"&gt;Database: SQLite&lt;a class="anchor" href="#database-sqlite"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Relational databases are used to store data in a structured way. You&amp;rsquo;ll often access databases created by others for analysis.&lt;/p&gt;
&lt;p&gt;PostgreSQL, MySQL, MS SQL, Oracle, etc. are popular databases. But the most installed database is &lt;a href="https://www.sqlite.org/index.html"&gt;SQLite&lt;/a&gt;
. It&amp;rsquo;s embedded into many devices and apps (e.g. your phone, browser, etc.). It&amp;rsquo;s lightweight but very scalable and powerful.&lt;/p&gt;
&lt;p&gt;Watch these introductory videos to understand SQLite and how it&amp;rsquo;s used in Python (34 min):&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/system-requirements/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/system-requirements/</guid><description>&lt;h1 id="system-requirements"&gt;System Requirements&lt;a class="anchor" href="#system-requirements"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;This course requires the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://tds.mynkofficial.in/#software"&gt;Software&lt;/a&gt;
 to be installed on your computer.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://tds.mynkofficial.in/#system-permissions"&gt;System permissions&lt;/a&gt;
 to be granted.&lt;/li&gt;
&lt;li&gt;Access to the &lt;a href="http://tds.mynkofficial.in/#websites"&gt;Websites&lt;/a&gt;
 listed below.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="software"&gt;Software&lt;a class="anchor" href="#software"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Core tools:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://code.visualstudio.com/"&gt;Visual Studio Code&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.astral.sh/uv/getting-started/installation/"&gt;uv&lt;/a&gt;
 for Python&lt;/li&gt;
&lt;li&gt;&lt;a href="https://nodejs.org/"&gt;NodeJS&lt;/a&gt;
 for JavaScript&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.docker.com/"&gt;Docker&lt;/a&gt;
 or &lt;a href="https://podman.io/getting-started/installation"&gt;Podman&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/features/copilot"&gt;GitHub Copilot&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Module-specific tools:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://dbeaver.io/"&gt;DBeaver&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://duckdb.org/"&gt;DuckDB&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.microsoft.com/en-in/microsoft-365/excel"&gt;Excel&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ffmpeg.org/"&gt;FFMpeg&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://cli.github.com/"&gt;GitHub CLI&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://desktop.github.com/"&gt;GitHub Desktop&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://llm.datasette.io/"&gt;llm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://lynx.invisible-island.net/"&gt;Lynx&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mupdf.com/"&gt;MuPDF&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://obsproject.com/"&gt;OBS Studio&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ollama.com/"&gt;Ollama&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://openrefine.org"&gt;OpenRefine&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://pandoc.org/"&gt;Pandoc&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.xpdfreader.com/pdftotext-man.html"&gt;pdftotext&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://playwright.dev/python/docs/intro"&gt;Playwright&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.qgis.org/en/site/"&gt;QGIS&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://sqlite-utils.datasette.io/"&gt;sqlite-utils&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://sqlitestudio.pl/"&gt;SQLiteStudio&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://typesense.org/docs/guide/install-typesense.html"&gt;TypeSense&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://w3m.sourceforge.net/"&gt;w3m&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.gnu.org/software/wget/"&gt;wget&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/Purfview/whisper-standalone-win/releases"&gt;Whisper&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp"&gt;yt-dlp&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="system-permissions"&gt;System permissions&lt;a class="anchor" href="#system-permissions"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Open Developer Tools on Chrome / Edge - to use F12 or Inspect in browser&lt;/li&gt;
&lt;li&gt;Open port 8000-9000 for local development server&lt;/li&gt;
&lt;li&gt;&lt;code&gt;pip install&lt;/code&gt; and &lt;code&gt;npm install&lt;/code&gt; to install packages&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="websites"&gt;Websites&lt;a class="anchor" href="#websites"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;!-- Generated via

grep -ohrE 'https?://[^/ )":]+' *.md | sed 's#https\?://##' | sed 's/^www\.//' | sort | uniq

--&gt;
&lt;ul&gt;
&lt;li&gt;accounts.google.com&lt;/li&gt;
&lt;li&gt;agents.md&lt;/li&gt;
&lt;li&gt;ai.google.dev&lt;/li&gt;
&lt;li&gt;aipipe.org&lt;/li&gt;
&lt;li&gt;aiproxy.sanand.workers.dev&lt;/li&gt;
&lt;li&gt;aircloak.com&lt;/li&gt;
&lt;li&gt;airflow.apache.org&lt;/li&gt;
&lt;li&gt;aistudio.google.com&lt;/li&gt;
&lt;li&gt;anthropic.com&lt;/li&gt;
&lt;li&gt;api-atlas.nomic.ai&lt;/li&gt;
&lt;li&gt;api.example.com&lt;/li&gt;
&lt;li&gt;apify.com&lt;/li&gt;
&lt;li&gt;api.jina.ai&lt;/li&gt;
&lt;li&gt;api.openai.com&lt;/li&gt;
&lt;li&gt;api.open-notify.org&lt;/li&gt;
&lt;li&gt;app.example.com&lt;/li&gt;
&lt;li&gt;app.flourish.studio&lt;/li&gt;
&lt;li&gt;apple.com&lt;/li&gt;
&lt;li&gt;appsource.microsoft.com&lt;/li&gt;
&lt;li&gt;arxiv.org&lt;/li&gt;
&lt;li&gt;aspiegel.com&lt;/li&gt;
&lt;li&gt;atlas.nomic.ai&lt;/li&gt;
&lt;li&gt;azure.microsoft.com&lt;/li&gt;
&lt;li&gt;base64decode.org&lt;/li&gt;
&lt;li&gt;bbc.com&lt;/li&gt;
&lt;li&gt;beautiful-soup-4.readthedocs.io&lt;/li&gt;
&lt;li&gt;bing.com&lt;/li&gt;
&lt;li&gt;blog.gramener.com&lt;/li&gt;
&lt;li&gt;bolt.new&lt;/li&gt;
&lt;li&gt;calendar.google.com&lt;/li&gt;
&lt;li&gt;cb-prod.seek.study.iitm.ac.in&lt;/li&gt;
&lt;li&gt;cdn.jsdelivr.net&lt;/li&gt;
&lt;li&gt;cdn.openai.com&lt;/li&gt;
&lt;li&gt;chat.deepseek.com&lt;/li&gt;
&lt;li&gt;chatgpt.com&lt;/li&gt;
&lt;li&gt;chat.openai.com&lt;/li&gt;
&lt;li&gt;chat.qwen.ai&lt;/li&gt;
&lt;li&gt;claude.ai&lt;/li&gt;
&lt;li&gt;cli.github.com&lt;/li&gt;
&lt;li&gt;cline.bot&lt;/li&gt;
&lt;li&gt;cloud.google.com&lt;/li&gt;
&lt;li&gt;cmdlinetips.com&lt;/li&gt;
&lt;li&gt;codeium.com&lt;/li&gt;
&lt;li&gt;code.visualstudio.com&lt;/li&gt;
&lt;li&gt;coffee-reviews.prayashm.com&lt;/li&gt;
&lt;li&gt;colab.research.google.com&lt;/li&gt;
&lt;li&gt;console.cloud.google.com&lt;/li&gt;
&lt;li&gt;context7.com&lt;/li&gt;
&lt;li&gt;continue.dev&lt;/li&gt;
&lt;li&gt;cors-test.codehappy.devs&lt;/li&gt;
&lt;li&gt;cran.r-project.org&lt;/li&gt;
&lt;li&gt;cursor.com&lt;/li&gt;
&lt;li&gt;cyberscoop.com&lt;/li&gt;
&lt;li&gt;dashboard.ngrok.com&lt;/li&gt;
&lt;li&gt;dataforseo.com&lt;/li&gt;
&lt;li&gt;data.gov&lt;/li&gt;
&lt;li&gt;data.gov.in&lt;/li&gt;
&lt;li&gt;data.gov.ru&lt;/li&gt;
&lt;li&gt;datameet.org&lt;/li&gt;
&lt;li&gt;datasetsearch.research.google.com&lt;/li&gt;
&lt;li&gt;datasets.imdbws.com&lt;/li&gt;
&lt;li&gt;datasette.io&lt;/li&gt;
&lt;li&gt;dbeaver.io&lt;/li&gt;
&lt;li&gt;dbfopener.com&lt;/li&gt;
&lt;li&gt;deepwiki.com&lt;/li&gt;
&lt;li&gt;desktop.github.com&lt;/li&gt;
&lt;li&gt;devanshikat.github.io&lt;/li&gt;
&lt;li&gt;developer.chrome.com&lt;/li&gt;
&lt;li&gt;developer.imdb.com&lt;/li&gt;
&lt;li&gt;developer.mozilla.org&lt;/li&gt;
&lt;li&gt;developers.googleblog.com&lt;/li&gt;
&lt;li&gt;developers.google.com&lt;/li&gt;
&lt;li&gt;dev.mysql.com&lt;/li&gt;
&lt;li&gt;discourse.onlinedegree.iitm.ac.in&lt;/li&gt;
&lt;li&gt;diva-gis.org&lt;/li&gt;
&lt;li&gt;dl.acm.org&lt;/li&gt;
&lt;li&gt;docker.com&lt;/li&gt;
&lt;li&gt;docs.anthropic.com&lt;/li&gt;
&lt;li&gt;docs.astral.sh&lt;/li&gt;
&lt;li&gt;docs.cursor.com&lt;/li&gt;
&lt;li&gt;docs.docker.com&lt;/li&gt;
&lt;li&gt;docs.getdbt.com&lt;/li&gt;
&lt;li&gt;docs.github.com&lt;/li&gt;
&lt;li&gt;docs.google.com&lt;/li&gt;
&lt;li&gt;docs.klarna.com&lt;/li&gt;
&lt;li&gt;docs.kumu.io&lt;/li&gt;
&lt;li&gt;docs.lovable.dev&lt;/li&gt;
&lt;li&gt;docs.nomic.ai&lt;/li&gt;
&lt;li&gt;docs.npmjs.com&lt;/li&gt;
&lt;li&gt;docs.python.org&lt;/li&gt;
&lt;li&gt;docs.python-requests.org&lt;/li&gt;
&lt;li&gt;docs.replit.com&lt;/li&gt;
&lt;li&gt;docs.sqlalchemy.org&lt;/li&gt;
&lt;li&gt;docs.together.ai&lt;/li&gt;
&lt;li&gt;docs.windsurf.com&lt;/li&gt;
&lt;li&gt;dopiaza.org&lt;/li&gt;
&lt;li&gt;drive.google.com&lt;/li&gt;
&lt;li&gt;drive.usercontent.google.com&lt;/li&gt;
&lt;li&gt;duckdb.org&lt;/li&gt;
&lt;li&gt;elastic.co&lt;/li&gt;
&lt;li&gt;en.wikipedia.org&lt;/li&gt;
&lt;li&gt;evanhahn.github.io&lt;/li&gt;
&lt;li&gt;example.com&lt;/li&gt;
&lt;li&gt;exam.sanand.workers.dev&lt;/li&gt;
&lt;li&gt;explainxkcd.com&lt;/li&gt;
&lt;li&gt;fastapi.tiangolo.com&lt;/li&gt;
&lt;li&gt;fastapi-users.github.io&lt;/li&gt;
&lt;li&gt;ffmpeg.lav.io&lt;/li&gt;
&lt;li&gt;ffmpeg.org&lt;/li&gt;
&lt;li&gt;flourish.studio&lt;/li&gt;
&lt;li&gt;flukeout.github.io&lt;/li&gt;
&lt;li&gt;fmwconcepts.com&lt;/li&gt;
&lt;li&gt;forms.gle&lt;/li&gt;
&lt;li&gt;freecodecamp.org&lt;/li&gt;
&lt;li&gt;gemini.google&lt;/li&gt;
&lt;li&gt;gemini.google.com&lt;/li&gt;
&lt;li&gt;generativelanguage.googleapis.com&lt;/li&gt;
&lt;li&gt;geopy.readthedocs.io&lt;/li&gt;
&lt;li&gt;getdbt.com&lt;/li&gt;
&lt;li&gt;github.com&lt;/li&gt;
&lt;li&gt;github.github.com&lt;/li&gt;
&lt;li&gt;gitingest.com&lt;/li&gt;
&lt;li&gt;gitlab.com&lt;/li&gt;
&lt;li&gt;gitlens.amod.io&lt;/li&gt;
&lt;li&gt;git-lfs.github.com&lt;/li&gt;
&lt;li&gt;git-scm.com&lt;/li&gt;
&lt;li&gt;gnu.org&lt;/li&gt;
&lt;li&gt;googlecloudcommunity.com&lt;/li&gt;
&lt;li&gt;google.com&lt;/li&gt;
&lt;li&gt;gramener.com&lt;/li&gt;
&lt;li&gt;groups.google.com&lt;/li&gt;
&lt;li&gt;heroku.com&lt;/li&gt;
&lt;li&gt;howstat.com&lt;/li&gt;
&lt;li&gt;httpbin.org&lt;/li&gt;
&lt;li&gt;httpie.io&lt;/li&gt;
&lt;li&gt;httrack.com&lt;/li&gt;
&lt;li&gt;hub.docker.com&lt;/li&gt;
&lt;li&gt;hub.getdbt.com&lt;/li&gt;
&lt;li&gt;huggingface.co&lt;/li&gt;
&lt;li&gt;imagemagick.org&lt;/li&gt;
&lt;li&gt;imageoptim.com&lt;/li&gt;
&lt;li&gt;imdb.com&lt;/li&gt;
&lt;li&gt;imgs.xkcd.com&lt;/li&gt;
&lt;li&gt;img.youtube.com&lt;/li&gt;
&lt;li&gt;i.ytimg.com&lt;/li&gt;
&lt;li&gt;jamendo.com&lt;/li&gt;
&lt;li&gt;jeroenjanssens.com&lt;/li&gt;
&lt;li&gt;jina.ai&lt;/li&gt;
&lt;li&gt;jmespath.org&lt;/li&gt;
&lt;li&gt;jqlang.org&lt;/li&gt;
&lt;li&gt;jqplay.org&lt;/li&gt;
&lt;li&gt;jsoneditoronline.org&lt;/li&gt;
&lt;li&gt;json-generator.com&lt;/li&gt;
&lt;li&gt;jsonlines.org&lt;/li&gt;
&lt;li&gt;jsonlint.com&lt;/li&gt;
&lt;li&gt;jsonpath.com&lt;/li&gt;
&lt;li&gt;jsonpathfinder.com&lt;/li&gt;
&lt;li&gt;json-schema.org&lt;/li&gt;
&lt;li&gt;jsonschemavalidator.net&lt;/li&gt;
&lt;li&gt;judgments.ecourts.gov.in&lt;/li&gt;
&lt;li&gt;kaggle.com&lt;/li&gt;
&lt;li&gt;keras.io&lt;/li&gt;
&lt;li&gt;khanacademy.org&lt;/li&gt;
&lt;li&gt;kumu.io&lt;/li&gt;
&lt;li&gt;learn.microsoft.com&lt;/li&gt;
&lt;li&gt;linkedin.com&lt;/li&gt;
&lt;li&gt;llm.datasette.io&lt;/li&gt;
&lt;li&gt;llmstxt.org&lt;/li&gt;
&lt;li&gt;localhost&lt;/li&gt;
&lt;li&gt;locator-service.api.bbci.co.uk&lt;/li&gt;
&lt;li&gt;lovable.dev&lt;/li&gt;
&lt;li&gt;lxml.de&lt;/li&gt;
&lt;li&gt;lynx.invisible-island.net&lt;/li&gt;
&lt;li&gt;macstories.net&lt;/li&gt;
&lt;li&gt;magickstudio.imagemagick.org&lt;/li&gt;
&lt;li&gt;mail.google.com&lt;/li&gt;
&lt;li&gt;makersuite.google.com&lt;/li&gt;
&lt;li&gt;mapshaper.org&lt;/li&gt;
&lt;li&gt;marimo.app&lt;/li&gt;
&lt;li&gt;marimo.io&lt;/li&gt;
&lt;li&gt;marketplace.visualstudio.com&lt;/li&gt;
&lt;li&gt;marp.app&lt;/li&gt;
&lt;li&gt;matplotlib.org&lt;/li&gt;
&lt;li&gt;medium.com&lt;/li&gt;
&lt;li&gt;microsoft.com&lt;/li&gt;
&lt;li&gt;mistral.ai&lt;/li&gt;
&lt;li&gt;modelcontextprotocol.io&lt;/li&gt;
&lt;li&gt;mongodb.com&lt;/li&gt;
&lt;li&gt;mupdf.com&lt;/li&gt;
&lt;li&gt;nchandrasekharr.github.io&lt;/li&gt;
&lt;li&gt;news.ycombinator.com&lt;/li&gt;
&lt;li&gt;ngrok.com&lt;/li&gt;
&lt;li&gt;nodejs.org&lt;/li&gt;
&lt;li&gt;nominatim.org&lt;/li&gt;
&lt;li&gt;notebooklm.google.com&lt;/li&gt;
&lt;li&gt;npmjs.com&lt;/li&gt;
&lt;li&gt;numpy.org&lt;/li&gt;
&lt;li&gt;observablehq.com&lt;/li&gt;
&lt;li&gt;obsproject.com&lt;/li&gt;
&lt;li&gt;ollama.com&lt;/li&gt;
&lt;li&gt;openai.com&lt;/li&gt;
&lt;li&gt;openpolicyagent.org&lt;/li&gt;
&lt;li&gt;openrefine.org&lt;/li&gt;
&lt;li&gt;openrouter.ai&lt;/li&gt;
&lt;li&gt;ourworldindata.org&lt;/li&gt;
&lt;li&gt;packaging.python.org&lt;/li&gt;
&lt;li&gt;pages.github.com&lt;/li&gt;
&lt;li&gt;pandas.pydata.org&lt;/li&gt;
&lt;li&gt;pandoc.org&lt;/li&gt;
&lt;li&gt;parquet.apache.org&lt;/li&gt;
&lt;li&gt;pillow.readthedocs.io&lt;/li&gt;
&lt;li&gt;platform.openai.com&lt;/li&gt;
&lt;li&gt;playwright.dev&lt;/li&gt;
&lt;li&gt;pngquant.org&lt;/li&gt;
&lt;li&gt;podman.io&lt;/li&gt;
&lt;li&gt;pokeapi.co&lt;/li&gt;
&lt;li&gt;posit.co&lt;/li&gt;
&lt;li&gt;postgresql.org&lt;/li&gt;
&lt;li&gt;postman.com&lt;/li&gt;
&lt;li&gt;pre-commit.com&lt;/li&gt;
&lt;li&gt;projector.tensorflow.org&lt;/li&gt;
&lt;li&gt;promptfoo.dev&lt;/li&gt;
&lt;li&gt;pydantic-docs.helpmanual.io&lt;/li&gt;
&lt;li&gt;pymotw.com&lt;/li&gt;
&lt;li&gt;pymupdf.readthedocs.io&lt;/li&gt;
&lt;li&gt;pypi.org&lt;/li&gt;
&lt;li&gt;python-httpx.org&lt;/li&gt;
&lt;li&gt;python-visualization.github.io&lt;/li&gt;
&lt;li&gt;qgis.org&lt;/li&gt;
&lt;li&gt;quotes.toscrape.com&lt;/li&gt;
&lt;li&gt;rasagy.in&lt;/li&gt;
&lt;li&gt;rattle.togaware.com&lt;/li&gt;
&lt;li&gt;raw.githubusercontent.com&lt;/li&gt;
&lt;li&gt;rawgraphs.io&lt;/li&gt;
&lt;li&gt;realpython.com&lt;/li&gt;
&lt;li&gt;redis.io&lt;/li&gt;
&lt;li&gt;relational-data.org&lt;/li&gt;
&lt;li&gt;revealjs.com&lt;/li&gt;
&lt;li&gt;rishabhmakes.github.io&lt;/li&gt;
&lt;li&gt;roocode.com&lt;/li&gt;
&lt;li&gt;sanand0.github.io&lt;/li&gt;
&lt;li&gt;s-anand.net&lt;/li&gt;
&lt;li&gt;scikit-learn.org&lt;/li&gt;
&lt;li&gt;scikit-network.readthedocs.io&lt;/li&gt;
&lt;li&gt;screentogif.com&lt;/li&gt;
&lt;li&gt;seaborn.pydata.org&lt;/li&gt;
&lt;li&gt;seek.onlinedegree.iitm.ac.in&lt;/li&gt;
&lt;li&gt;senate.gov&lt;/li&gt;
&lt;li&gt;shapechef.com&lt;/li&gt;
&lt;li&gt;sharp.pixelplumbing.com&lt;/li&gt;
&lt;li&gt;simonwillison.net&lt;/li&gt;
&lt;li&gt;soundcloud.com&lt;/li&gt;
&lt;li&gt;sourceforge.net&lt;/li&gt;
&lt;li&gt;sqlite.org&lt;/li&gt;
&lt;li&gt;sqlitestudio.pl&lt;/li&gt;
&lt;li&gt;sqlite-utils.datasette.io&lt;/li&gt;
&lt;li&gt;sqlmodel.tiangolo.com&lt;/li&gt;
&lt;li&gt;sqlzoo.net&lt;/li&gt;
&lt;li&gt;squoosh.app&lt;/li&gt;
&lt;li&gt;stackoverflow.blog&lt;/li&gt;
&lt;li&gt;stackoverflow.com&lt;/li&gt;
&lt;li&gt;statsmodels.org&lt;/li&gt;
&lt;li&gt;stats.stackexchange.com&lt;/li&gt;
&lt;li&gt;stedolan.github.io&lt;/li&gt;
&lt;li&gt;story-b0f1c.web.app&lt;/li&gt;
&lt;li&gt;storytellingwithdata.com&lt;/li&gt;
&lt;li&gt;study.iitm.ac.in&lt;/li&gt;
&lt;li&gt;superlinked.com&lt;/li&gt;
&lt;li&gt;support.anthropic.com&lt;/li&gt;
&lt;li&gt;support.apple.com&lt;/li&gt;
&lt;li&gt;support.google.com&lt;/li&gt;
&lt;li&gt;support.microsoft.com&lt;/li&gt;
&lt;li&gt;support.office.com&lt;/li&gt;
&lt;li&gt;survey.stackoverflow.co&lt;/li&gt;
&lt;li&gt;swagger.io&lt;/li&gt;
&lt;li&gt;tableau.com&lt;/li&gt;
&lt;li&gt;tabula-py.readthedocs.io&lt;/li&gt;
&lt;li&gt;tds.s-anand.net&lt;/li&gt;
&lt;li&gt;textblob.readthedocs.io&lt;/li&gt;
&lt;li&gt;texttospeech.googleapis.com&lt;/li&gt;
&lt;li&gt;thoughtworks.com&lt;/li&gt;
&lt;li&gt;timeanddate.com&lt;/li&gt;
&lt;li&gt;tools.s-anand.net&lt;/li&gt;
&lt;li&gt;tracebit.com&lt;/li&gt;
&lt;li&gt;twitter.com&lt;/li&gt;
&lt;li&gt;typesense.org&lt;/li&gt;
&lt;li&gt;unstructured.io&lt;/li&gt;
&lt;li&gt;upload.wikimedia.org&lt;/li&gt;
&lt;li&gt;url.com&lt;/li&gt;
&lt;li&gt;us-central1-aiplatform.googleapis.com&lt;/li&gt;
&lt;li&gt;vercel.com&lt;/li&gt;
&lt;li&gt;w3m.sourceforge.net&lt;/li&gt;
&lt;li&gt;w3.org&lt;/li&gt;
&lt;li&gt;weather-broker-cdn.api.bbci.co.uk&lt;/li&gt;
&lt;li&gt;web.archive.org&lt;/li&gt;
&lt;li&gt;webmaster.petalsearch.com&lt;/li&gt;
&lt;li&gt;whitehouse.gov&lt;/li&gt;
&lt;li&gt;whois.com&lt;/li&gt;
&lt;li&gt;wikipedia.readthedocs.io&lt;/li&gt;
&lt;li&gt;windsurf.com&lt;/li&gt;
&lt;li&gt;wordlift.io&lt;/li&gt;
&lt;li&gt;xpdfreader.com&lt;/li&gt;
&lt;li&gt;yoast.com&lt;/li&gt;
&lt;li&gt;your-app.vercel.app&lt;/li&gt;
&lt;li&gt;youtu.be&lt;/li&gt;
&lt;li&gt;youtube.com&lt;/li&gt;
&lt;li&gt;youtubetranscript.com&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/tds-gpt-reviewer/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/tds-gpt-reviewer/</guid><description>&lt;h1 id="tds-gpt-reviewer"&gt;TDS GPT Reviewer&lt;a class="anchor" href="#tds-gpt-reviewer"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;After the later parts of this course&amp;rsquo;s contents were written, we ran it through a &lt;a href="https://chatgpt.com/g/g-6777656ed3b8819187b6f17d9f343853-technical-content-reviewer"&gt;Technical Content Reviewer GPT&lt;/a&gt;
.&lt;/p&gt;
&lt;p&gt;Take a look at the GPT&amp;rsquo;s instructions. These were generated by the &lt;a href="https://platform.openai.com/docs/guides/prompt-generation"&gt;OpenAI Prompt Generation&lt;/a&gt;
 tool.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;As a &lt;span style="font-weight:bold"&gt;**Content Reviewer**&lt;/span&gt; for a high school–level course on Tools in Data Science, your job is to evaluate provided content (such as text, code snippets, or references) with a focus on correctness, clarity, and conciseness, and offer actionable feedback for improvement.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;1.&lt;/span&gt; &lt;span style="font-weight:bold"&gt;**Check for Correctness and Consistency**&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; Verify technical and factual accuracy.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; Ensure internal consistency without contradictions.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;2.&lt;/span&gt; &lt;span style="font-weight:bold"&gt;**Check for Clarity and Approachability**&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; Ensure content is understandable for a high school student with limited prior knowledge.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; Identify and simplify jargon or advanced concepts.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;3.&lt;/span&gt; &lt;span style="font-weight:bold"&gt;**Check for Conciseness**&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; Assess if content is direct and free of unnecessary verbosity.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; Identify areas for streamlining to enhance readability.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;4.&lt;/span&gt; &lt;span style="font-weight:bold"&gt;**Provide Feedback for Improvement**&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; Offer actionable suggestions for fixing, clarifying, or reorganizing content.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; Propose alternative phrasing if text is vague, complex, or verbose.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# Steps
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;1.&lt;/span&gt; Carefully read the entire content before forming conclusions.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;2.&lt;/span&gt; List factual inconsistencies or missing details causing confusion.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;3.&lt;/span&gt; Suggest simpler terms or analogies for complex language.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;4.&lt;/span&gt; Point out unnecessary repetition or filler text.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;5.&lt;/span&gt; Provide direct examples of how to improve the highlighted issues.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# Output Format
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Respond using &lt;span style="font-weight:bold"&gt;**Markdown**&lt;/span&gt; with the following structure:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;1.&lt;/span&gt; &lt;span style="font-weight:bold"&gt;**Summary of Findings**&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; A concise paragraph outlining overall strengths and weaknesses.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;2.&lt;/span&gt; &lt;span style="font-weight:bold"&gt;**Detailed Review**&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; **Correctness and Consistency**: Note factual errors or inconsistencies, suggesting corrections.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; **Clarity and Approachability**: Identify overly advanced or unclear sections, offering simpler alternatives.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; **Conciseness**: Highlight long or repetitive sections with suggestions for tightening the text.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;3.&lt;/span&gt; &lt;span style="font-weight:bold"&gt;**Actionable Improvement Suggestions**&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; Provide specific sentences, bullet points, or rewritten examples to illustrate improvements.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# Notes
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; Maintain a constructive review tone, not content generation.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- Even if content is perfect, confirm with suggestions for minor improvements (e.g., adding an example or clarifying a subtle point).&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="content-creation-prompts"&gt;Content creation prompts&lt;a class="anchor" href="#content-creation-prompts"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;In addition, here are a few prompts used to create the content:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/tds-ta-instructions/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/tds-ta-instructions/</guid><description>&lt;h1 id="tds-ta-instructions"&gt;TDS TA Instructions&lt;a class="anchor" href="#tds-ta-instructions"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;The TDS TA is a virtual assistant that helps you with your doubts.&lt;/p&gt;
&lt;p&gt;It has been trained on course content created as follows:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Clone the course repository&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git clone https://github.com/sanand0/tools-in-data-science-public.git
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cd tools-in-data-science-public
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Create a prompt file for the TA&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;PYTHONUTF8&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; uvx files-to-prompt --cxml *.md -o tds-content.xml
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Replace the source with the URL of the course&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sed -i &lt;span style="color:#e6db74"&gt;&amp;#34;s/&amp;lt;source&amp;gt;/&amp;lt;source&amp;gt;https:\/\/tds.s-anand.net\/#\//g&amp;#34;&lt;/span&gt; tds-content.xml&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Additionally, we visit each of the evaluation links on &lt;a href="https://exam.sanand.workers.dev/"&gt;https://exam.sanand.workers.dev/&lt;/a&gt;
, &lt;a href="https://tools.s-anand.net/page2md/"&gt;copy it as Markdown&lt;/a&gt;
, and add it to the content, called &lt;code&gt;ga1.md&lt;/code&gt;, &lt;code&gt;ga2.md&lt;/code&gt;, etc.&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/topic-modeling/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/topic-modeling/</guid><description>&lt;h2 id="topic-modeling"&gt;Topic Modeling&lt;a class="anchor" href="#topic-modeling"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/eQUNhq91DlI"&gt;&lt;img src="https://i.ytimg.com/vi_webp/eQUNhq91DlI/sddefault.webp" alt="LLM Topic Modeling" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;You&amp;rsquo;ll learn to use text embeddings to find text similarity and use that to create topics automatically from text, covering:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Embeddings&lt;/strong&gt;: How large language models convert text into numerical representations.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Similarity Measurement&lt;/strong&gt;: Understanding how similar embeddings indicate similar meanings.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Embedding Visualization&lt;/strong&gt;: Using tools like Tensorflow Projector to visualize embedding spaces.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Embedding Applications&lt;/strong&gt;: Using embeddings for tasks like classification and clustering.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;OpenAI Embeddings&lt;/strong&gt;: Using OpenAI&amp;rsquo;s API to generate embeddings for text.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Model Comparison&lt;/strong&gt;: Exploring different embedding models and their strengths and weaknesses.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cosine Similarity&lt;/strong&gt;: Calculating cosine similarity between embeddings for more reliable similarity measures.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Embedding Cost&lt;/strong&gt;: Understanding the cost of generating embeddings using OpenAI&amp;rsquo;s API.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Embedding Range&lt;/strong&gt;: Understanding the range of values in embeddings and their significance.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here are the links used in the video:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/transforming-images/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/transforming-images/</guid><description>&lt;h2 id="transforming-images"&gt;Transforming Images&lt;a class="anchor" href="#transforming-images"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="image-processing-with-pil-pillow"&gt;Image Processing with PIL (Pillow)&lt;a class="anchor" href="#image-processing-with-pil-pillow"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://youtu.be/6Qs3wObeWwc"&gt;&lt;img src="https://i.ytimg.com/vi_webp/6Qs3wObeWwc/sddefault.webp" alt="Python Tutorial: Image Manipulation with Pillow (16 min)" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;&lt;a href="https://pypi.org/project/pillow/"&gt;Pillow&lt;/a&gt;
 is Python&amp;rsquo;s leading library for image processing, offering powerful tools for editing, analyzing, and generating images. It handles various formats (PNG, JPEG, GIF, etc.) and provides operations from basic resizing to complex filters.&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s a minimal example showing common operations:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# /// script&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# requires-python = &amp;#34;&amp;gt;=3.11&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# dependencies = [&amp;#34;Pillow&amp;#34;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# ///&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;from&lt;/span&gt; PIL &lt;span style="color:#f92672"&gt;import&lt;/span&gt; Image, ImageEnhance, ImageFilter
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;async&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;def&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;process_image&lt;/span&gt;(path: str) &lt;span style="color:#f92672"&gt;-&amp;gt;&lt;/span&gt; Image&lt;span style="color:#f92672"&gt;.&lt;/span&gt;Image:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;&amp;#34;&amp;#34;Process an image with basic enhancements.&amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;with&lt;/span&gt; Image&lt;span style="color:#f92672"&gt;.&lt;/span&gt;open(path) &lt;span style="color:#66d9ef"&gt;as&lt;/span&gt; img:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#75715e"&gt;# Convert to RGB to ensure compatibility&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; img &lt;span style="color:#f92672"&gt;=&lt;/span&gt; img&lt;span style="color:#f92672"&gt;.&lt;/span&gt;convert(&lt;span style="color:#e6db74"&gt;&amp;#34;RGB&amp;#34;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#75715e"&gt;# Resize maintaining aspect ratio&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; img&lt;span style="color:#f92672"&gt;.&lt;/span&gt;thumbnail((&lt;span style="color:#ae81ff"&gt;800&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;800&lt;/span&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#75715e"&gt;# Apply enhancements&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; img &lt;span style="color:#f92672"&gt;=&lt;/span&gt; ImageEnhance&lt;span style="color:#f92672"&gt;.&lt;/span&gt;Contrast(img)&lt;span style="color:#f92672"&gt;.&lt;/span&gt;enhance(&lt;span style="color:#ae81ff"&gt;1.2&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;return&lt;/span&gt; img&lt;span style="color:#f92672"&gt;.&lt;/span&gt;filter(ImageFilter&lt;span style="color:#f92672"&gt;.&lt;/span&gt;SHARPEN)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; __name__ &lt;span style="color:#f92672"&gt;==&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;__main__&amp;#34;&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;import&lt;/span&gt; asyncio
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; img &lt;span style="color:#f92672"&gt;=&lt;/span&gt; asyncio&lt;span style="color:#f92672"&gt;.&lt;/span&gt;run(process_image(&lt;span style="color:#e6db74"&gt;&amp;#34;input.jpg&amp;#34;&lt;/span&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; img&lt;span style="color:#f92672"&gt;.&lt;/span&gt;save(&lt;span style="color:#e6db74"&gt;&amp;#34;output.jpg&amp;#34;&lt;/span&gt;, quality&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;85&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Key features and techniques you&amp;rsquo;ll learn:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/unicode/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/unicode/</guid><description>&lt;h2 id="unicode"&gt;Unicode&lt;a class="anchor" href="#unicode"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Ever noticed when you copy-paste some text and get garbage symbols? Or see garbage when you load a CSV file? This video explains why. It covers how computers store text (called character encoding) and why it sometimes goes wonky.&lt;/p&gt;
&lt;p&gt;Learn about ASCII (the original 7-bit encoding system that could only handle 128 characters), why that wasn&amp;rsquo;t enough for global languages, and how modern solutions like Unicode save the day by letting us use any character from any language.&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/uv/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/uv/</guid><description>&lt;h2 id="python-tools-uv"&gt;Python tools: uv&lt;a class="anchor" href="#python-tools-uv"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://docs.astral.sh/uv/getting-started/installation/"&gt;Install uv&lt;/a&gt;
.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://docs.astral.sh/uv/"&gt;&lt;code&gt;uv&lt;/code&gt;&lt;/a&gt;
 is a fast Python package and project manager that&amp;rsquo;s becoming the standard for running Python scripts. It replaces tools like pip, conda, pipx, poetry, pyenv, twine, and virtualenv into one, enabling:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Python Version Management&lt;/strong&gt;: uv installs and manages &lt;em&gt;multiple&lt;/em&gt; Python versions, allowing developers to specify and switch between versions seamlessly.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Virtual Environment Handling&lt;/strong&gt;: It automates the creation and management of virtual environments, ensuring isolated and consistent development spaces for different projects.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dependency Management&lt;/strong&gt;: With support for the pyproject.toml format, uv enables precise specification of project dependencies. It maintains a universal lockfile, uv.lock, to ensure reproducible installations across different systems.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Project Execution&lt;/strong&gt;: The &lt;code&gt;uv run&lt;/code&gt; command allows for the execution of scripts and applications within the managed environment, streamlining development workflows.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here are some commonly used commands:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/vector-databases/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/vector-databases/</guid><description>&lt;h2 id="vector-databases"&gt;Vector Databases&lt;a class="anchor" href="#vector-databases"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Vector databases are specialized databases that store and search vector embeddings efficiently.&lt;/p&gt;
&lt;p&gt;Use vector databases when your embeddings exceed available memory or when you want it run fast at scale. (This is important. If your code runs fast and fits in memory, you &lt;strong&gt;DON&amp;rsquo;T&lt;/strong&gt; need a vector database. You can can use &lt;code&gt;numpy&lt;/code&gt; for these tasks.)&lt;/p&gt;
&lt;p&gt;Vector databases are an evolving space.&lt;/p&gt;
&lt;p&gt;The first generation of vector databases were written in C and typically used an algorithm called &lt;a href="https://en.wikipedia.org/wiki/Hierarchical_navigable_small_world"&gt;HNSW&lt;/a&gt;
 (a way to approximately find the nearest neighbor). Some popular ones are:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/vercel/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/vercel/</guid><description>&lt;h2 id="serverless-hosting-vercel"&gt;Serverless hosting: Vercel&lt;a class="anchor" href="#serverless-hosting-vercel"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;!--

Why Vercel? I evaluated from https://survey.stackoverflow.co/2024/technology#2-cloud-platforms

- AWS, Azure, Google Cloud are too complex for beginners
- Cloudflare (next most popular, widely admired) Python support is in beta
- Hetzner (most admired), Supabase (next most admired) do not have a serverless platform
- Fly.io (next most admired) does not have a free tier
- Heroku (used in previous terms) is the least admired
- Vercel is both popular, admired, growing, has a free plan, and a simple API

--&gt;
&lt;p&gt;Serverless platforms let you rent a single function instead of an entire machine. They&amp;rsquo;re perfect for small web tools that &lt;em&gt;don&amp;rsquo;t need to run all the time&lt;/em&gt;. Here are some common real-life uses:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/vibe-analysis/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/vibe-analysis/</guid><description>&lt;h1 id="vibe-analysis"&gt;Vibe Analysis&lt;a class="anchor" href="#vibe-analysis"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Vibe analysis is analyzing data as if the analysis itself doesn&amp;rsquo;t exist—you focus only on business outcomes, skipping intermediate steps.&lt;/p&gt;
&lt;p&gt;This approach emerged from &lt;strong&gt;vibe coding&lt;/strong&gt;, where you code as if code doesn&amp;rsquo;t exist. With vibe analysis, you give an LLM full context, state your goal, and review only the answers. The LLM handles exploration, cleaning, modeling, visualization, and deployment.&lt;/p&gt;
&lt;p&gt;Watch these comprehensive talks on vibe analysis and the changing role of data scientists:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/vibe-coding/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/vibe-coding/</guid><description>&lt;h1 id="vibe-coding"&gt;Vibe-coding&lt;a class="anchor" href="#vibe-coding"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;The rise of AI coding tools has introduced a new development philosophy: &lt;a href="https://en.wikipedia.org/wiki/Vibe_coding"&gt;&lt;strong&gt;vibe-coding&lt;/strong&gt;&lt;/a&gt;
.&lt;/p&gt;
&lt;p&gt;Vibe coding is different from AI coding. It&amp;rsquo;s &amp;ldquo;fully giving in to the vibes&amp;hellip;&amp;rdquo; and &amp;ldquo;forgetting that the code even exists&amp;rdquo;, i.e., accept-all edits, don’t hand-edit diffs, etc. The goal is to get to a working prototype as fast as possible.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://youtu.be/MUEgLWcaXTE"&gt;&lt;img src="https://i.ytimg.com/vi_webp/MUEgLWcaXTE/sddefault.webp" alt="What is Vibe Coding?" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ship scrappy first drafts fast&lt;/strong&gt;: Focus on getting a working version quickly rather than polished code. AI can generate functional prototypes in minutes, allowing you to validate ideas before investing in refinement.&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/vision-models/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/vision-models/</guid><description>&lt;h2 id="vision-models"&gt;Vision Models&lt;a class="anchor" href="#vision-models"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/FgT_Mk_bakQ"&gt;&lt;img src="https://i.ytimg.com/vi_webp/FgT_Mk_bakQ/sddefault.webp" alt="LLM Vision Models" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;You&amp;rsquo;ll learn how to use LLMs to interpret images and extract useful information, covering:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Setting Up Vision Models&lt;/strong&gt;: Integrate vision capabilities with LLMs using APIs like OpenAI&amp;rsquo;s Chat Completion.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sending Image URLs for Analysis&lt;/strong&gt;: Pass URLs or base64-encoded images to LLMs for processing.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reading Image Responses&lt;/strong&gt;: Get detailed textual descriptions of images, from scenic landscapes to specific objects like cricketers or bank statements.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Extracting Data from Images&lt;/strong&gt;: Convert extracted image data to various formats like Markdown tables or JSON arrays.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Handling Model Hallucinations&lt;/strong&gt;: Address inaccuracies in extraction results, understanding how different prompts can affect output quality.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cost Management for Vision Models&lt;/strong&gt;: Adjust detail settings (e.g., &amp;ldquo;detail: low&amp;rdquo;) to balance cost and output precision.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here are the links used in the video:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/visualizing-animated-data-with-flourish/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/visualizing-animated-data-with-flourish/</guid><description>&lt;h2 id="visualizing-animated-data-with-flourish"&gt;Visualizing Animated Data with Flourish&lt;a class="anchor" href="#visualizing-animated-data-with-flourish"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/JrnIu5Bm8i4"&gt;&lt;img src="https://i.ytimg.com/vi_webp/JrnIu5Bm8i4/sddefault.webp" alt="Visualizing animated data with Flourish" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;You&amp;rsquo;ll learn how to create and customize animations in Flourish, covering:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Core Animation Principles:&lt;/strong&gt; Understand how to use animation to both engage and inform, and learn the concept of &amp;ldquo;object constancy&amp;rdquo; to turn data visualizations into compelling data stories.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Configuring Race Charts:&lt;/strong&gt; Master the animation controls for Line Chart Races and Bar Chart Races, including setting durations for timelines, transitions, and individual stages.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Morphing Between Chart Types:&lt;/strong&gt; Learn to use the Line Bar Pie template to create seamless morphing transitions between different chart types (e.g., line to streamgraph) within a Flourish story.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Animating Scatter Plots:&lt;/strong&gt; Discover how to set up and control animations in scatter plots, including using the &amp;ldquo;Animation stagger&amp;rdquo; setting to create dynamic, cascading dot movements.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Controlling Animation Logic:&lt;/strong&gt; Understand how to manage animations for both related and unrelated datasets by toggling the &amp;ldquo;Only animate series with same name&amp;rdquo; option.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Animation in Other Templates:&lt;/strong&gt; Get an overview of the animation settings available in various other templates, including Survey, Heatmap, Spider, and Hierarchy charts.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Advanced Data Explorer Animations:&lt;/strong&gt; Learn about the powerful Data Explorer template (an Enterprise feature) and its ability to create advanced animations, such as morphing dots from a survey layout into their corresponding locations on a projection map.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/visualizing-animated-data-with-powerpoint/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/visualizing-animated-data-with-powerpoint/</guid><description>&lt;h2 id="visualizing-animated-data-with-powerpoint"&gt;Visualizing Animated Data with PowerPoint&lt;a class="anchor" href="#visualizing-animated-data-with-powerpoint"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/umHlPDFVWr0"&gt;&lt;img src="https://i.ytimg.com/vi_webp/umHlPDFVWr0/sddefault.webp" alt="Visualizing animated data with PowerPoint" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;You&amp;rsquo;ll learn how to create an animated bar chart race in PowerPoint, covering:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Using the Morph Transition&lt;/strong&gt;: How to leverage PowerPoint&amp;rsquo;s Morph feature to animate the resizing and reordering of bars between slides, which is the core technique for the race effect.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Manual Bar Creation&lt;/strong&gt;: The process of using individual shapes (rectangles) instead of a standard chart and how to size them accurately to represent your data values.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Adding and Syncing Audio&lt;/strong&gt;: How to record a voiceover for each slide, add background music that plays across the entire presentation, and sync them with the animations.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Automating Playback&lt;/strong&gt;: Setting up automatic slide transitions to create a self-playing, video-like presentation that advances after the narration for each slide is complete.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Exporting as a Video&lt;/strong&gt;: The steps to save your final animation as an MPEG-4 video file directly from PowerPoint and the suggestion of alternative methods like OBS for higher quality.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Prototyping Data Stories&lt;/strong&gt;: Understanding the manual effort required for this method and how it allows for careful control when prototyping and crafting a specific visual narrative.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="how-to-make-bar-chart-race-in-powerpoint"&gt;How to make bar chart race in PowerPoint&lt;a class="anchor" href="#how-to-make-bar-chart-race-in-powerpoint"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://blog.gramener.com/bar-chart-race-in-powerpoint/"&gt;Source: How to make a bar chart race in PowerPoint&lt;/a&gt;
&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/visualizing-forecasts-with-excel/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/visualizing-forecasts-with-excel/</guid><description>&lt;h2 id="visualizing-forecasts-with-excel"&gt;Visualizing Forecasts with Excel&lt;a class="anchor" href="#visualizing-forecasts-with-excel"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/judFpVgfsV4"&gt;&lt;img src="https://i.ytimg.com/vi_webp/judFpVgfsV4/sddefault.webp" alt="Visualizing forecasts with Excel" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.google.com/spreadsheets/d/1a6cSbmZKjX_ZzBsWWrPQwU_4KgRNMwc0/view#gid=1138079165"&gt;Excel File used in the video&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You&amp;rsquo;ll learn to perform exploratory data visualization on time-series financial data using Excel, covering:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Visualizing Trends with Sparklines&lt;/strong&gt;: Use PivotTables and Sparklines to create compact, in-cell charts that reveal the performance trend of various financial securities (currencies, indices, commodities) over time.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Forecasting and Measuring Volatility&lt;/strong&gt;: Learn to calculate key metrics like the average value, use the &lt;code&gt;GROWTH&lt;/code&gt; function to forecast the next day&amp;rsquo;s performance, and measure volatility using standard deviation.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Analyzing Relationships with Scatter Plots&lt;/strong&gt;: Create scatter plots to visually investigate how two different securities move in relation to each other.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Quantifying Correlation with R-Squared&lt;/strong&gt;: Add trendlines and display the R-squared value on a scatter plot to quantitatively measure how much of the movement in one variable is explained by another.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Using the Data Analysis ToolPak&lt;/strong&gt;: Learn how to enable and use Excel&amp;rsquo;s powerful Data Analysis ToolPak to perform more advanced statistical analysis.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Creating a Correlation Matrix&lt;/strong&gt;: Use the ToolPak to efficiently generate a complete correlation matrix, showing the correlation coefficient for every pair of securities in the dataset.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Interpreting a Correlation Matrix with Conditional Formatting&lt;/strong&gt;: Apply color scales to the matrix to instantly identify strong positive correlations, negative correlations, and outliers.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Discovering Insights and Forming Hypotheses&lt;/strong&gt;: Learn how to use these visualizations to spot patterns and form data-driven hypotheses, such as the high correlation between the currencies of neighboring countries.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here&amp;rsquo;s another version of this analysis, delivered as part of a talk:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/visualizing-machine-learning/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/visualizing-machine-learning/</guid><description>&lt;h2 id="visualizing-machine-learning"&gt;Visualizing Machine Learning&lt;a class="anchor" href="#visualizing-machine-learning"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/sORnCj52COw"&gt;&lt;img src="https://i.ytimg.com/vi_webp/sORnCj52COw/sddefault.webp" alt="Visualizing Machine Learning" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;You&amp;rsquo;ll learn about improving customer retention, understanding black box models, and using clustering for market segmentation:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Churn Reduction&lt;/strong&gt;: Use decision trees to identify customers likely to leave.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cost Efficiency&lt;/strong&gt;: Compare customer acquisition vs. retention costs.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Model Improvement&lt;/strong&gt;: Apply SVMs and neural networks for better accuracy.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Project Challenges&lt;/strong&gt;: Understand issues with black box models in implementation.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;K-Means Clustering&lt;/strong&gt;: Segment markets using demographic data.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Data Visualization&lt;/strong&gt;: Interpret clustering results using maps and charts.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Correlation Analysis&lt;/strong&gt;: Identify relationships between currency exchange rates.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tool Proficiency&lt;/strong&gt;: Utilize Excel, Python, and JavaScript for analysis and communication.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Practical Application&lt;/strong&gt;: Tailor marketing strategies based on cluster characteristics.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here are the links used in the video:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/visualizing-network-data-with-kumu/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/visualizing-network-data-with-kumu/</guid><description>&lt;h2 id="visualizing-network-data-with-kumu"&gt;Visualizing Network Data with Kumu&lt;a class="anchor" href="#visualizing-network-data-with-kumu"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/OndB17bigkc"&gt;&lt;img src="https://i.ytimg.com/vi_webp/OndB17bigkc/sddefault.webp" alt="Visualizing network data with Kumu" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://kumu.io"&gt;Kumu&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developer.imdb.com/non-commercial-datasets/"&gt;IMDb data&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://colab.research.google.com/drive/1CHR68fw7lZC9H2JtVW4LXpUvNwfM_VE-?usp=sharing"&gt;Jupyter Notebook&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="https://youtu.be/oi4fDzqsCes"&gt;&lt;img src="https://i.ytimg.com/vi_webp/oi4fDzqsCes/sddefault.webp" alt="Network analysis – filtering by year" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;You&amp;rsquo;ll learn about visualizing and analyzing relationships and networks using Kumu, covering:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Understanding Kumu&lt;/strong&gt;: What Kumu is and its primary function as a tool to &lt;strong&gt;visualize complex relationships within data&lt;/strong&gt;. You&amp;rsquo;ll learn that it&amp;rsquo;s applicable beyond social analysis to &lt;strong&gt;any scenario involving relationships between entities&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Social Network Analysis&lt;/strong&gt;: How Kumu facilitates &lt;strong&gt;social network analysis&lt;/strong&gt;, helping to understand how different people and communities are connected, and identifying common interests.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Data Preparation for Kumu&lt;/strong&gt;: The process of preparing raw data, specifically &lt;strong&gt;IMDb actor data for Indian movies&lt;/strong&gt;, to be uploaded to Kumu. This includes filtering for only movies and Indian movies.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Creating Actor Networks&lt;/strong&gt;: How to construct an &lt;strong&gt;actor collaboration matrix&lt;/strong&gt; where each element denotes the number of movies two actors have acted in together. This involves a method using &lt;strong&gt;matrix multiplication&lt;/strong&gt; of a movie-actor matrix with its transpose.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Optimizing Sparse Matrices&lt;/strong&gt;: Understanding that actor collaboration matrices are often &lt;strong&gt;sparse (contain many zero entries)&lt;/strong&gt; and how to make computations fast and memory-efficient using the &lt;strong&gt;compressed sparse row (CSR) format&lt;/strong&gt; from the &lt;code&gt;scipy&lt;/code&gt; library in Python.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Preparing Data for Kumu Upload&lt;/strong&gt;: How to convert the processed matrix data into the &amp;ldquo;from node to node&amp;rdquo; format, along with the &lt;strong&gt;strength of the connection&lt;/strong&gt; (number of shared movies), which is required for Kumu.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Filtering Data Effectively&lt;/strong&gt;:
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Filtering by Year&lt;/strong&gt;: How to &lt;strong&gt;filter movie data by release year&lt;/strong&gt; (e.g., movies released after 1950) by converting the &amp;lsquo;start year&amp;rsquo; column to an integer data type, and troubleshooting common issues like newline characters (&lt;code&gt;/n&lt;/code&gt;) within string data.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Filtering by Language/Region&lt;/strong&gt;: How to filter for specific regions or languages, such as &lt;strong&gt;Indian movies&lt;/strong&gt;, by applying language options within data processing functions or by filtering a dedicated region data frame.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Filtering Actor Pairs&lt;/strong&gt;: How to reduce the data size by filtering for actors who have acted in a minimum number of movies and for actor pairs who have acted together in a minimum number of movies.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Visualizing and Analyzing Networks in Kumu&lt;/strong&gt;: How the prepared data creates a &lt;strong&gt;network of actors in Kumu&lt;/strong&gt;, allowing you to observe &lt;strong&gt;clusters&lt;/strong&gt; and understand direct and indirect connections.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Exploring Network Connections&lt;/strong&gt;: How to &lt;strong&gt;search for specific actors&lt;/strong&gt; (e.g., Mohanlal) and examine their &lt;strong&gt;direct connections&lt;/strong&gt; (e.g., Mohanlal and Saikumar acted in 8 movies) and &lt;strong&gt;indirect connections&lt;/strong&gt; within the network.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Introduction to Community Detection&lt;/strong&gt;: A brief mention of &lt;strong&gt;community detection&lt;/strong&gt; as a method to identify groups within the network and understand their interconnections, to be explored in other tutorials.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;General Data Science Practices&lt;/strong&gt;: The importance of using resources like &lt;strong&gt;Google and documentation&lt;/strong&gt; for problem-solving, even for seemingly simple tasks, and the necessity of ensuring correct data types for operations.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/vscode/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/vscode/</guid><description>&lt;h2 id="editor-vs-code"&gt;Editor: VS Code&lt;a class="anchor" href="#editor-vs-code"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Your editor is the most important tool in your arsenal. That&amp;rsquo;s where you&amp;rsquo;ll spend most of your time. Make sure you&amp;rsquo;re comfortable with it.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://code.visualstudio.com/"&gt;&lt;strong&gt;Visual Studio Code&lt;/strong&gt;&lt;/a&gt;
 is, &lt;em&gt;by far&lt;/em&gt;, the most popular code editor today. According to the &lt;a href="https://survey.stackoverflow.co/2025/technology#1-dev-id-es"&gt;2025 StackOverflow Survey&lt;/a&gt;
 ~75% of developers use it. We recommend you learn it well. Even if you use another editor, you&amp;rsquo;ll be working with others who use it, and it&amp;rsquo;s a good idea to have some exposure.&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/web-automation-with-playwright/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/web-automation-with-playwright/</guid><description>&lt;h2 id="web-scraping-with-playwright-in-python"&gt;Web Scraping with Playwright in Python&lt;a class="anchor" href="#web-scraping-with-playwright-in-python"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Scrape JavaScript‑heavy sites effortlessly with Playwright.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://youtu.be/biFzRHk4xpY"&gt;&lt;img src="https://i.ytimg.com/vi_webp/biFzRHk4xpY/sddefault.webp" alt="🤖 Playwright: Advanced Web Scraping in Python (14 min)" /&gt;&lt;/a&gt;
 (&lt;a href="https://www.youtube.com/watch?v=biFzRHk4xpY"&gt;youtube.com&lt;/a&gt;
)&lt;/p&gt;
&lt;p&gt;Playwright offers:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;JavaScript rendering&lt;/strong&gt;: Executes page scripts so you scrape only after content appears. (&lt;a href="https://playwright.dev/python/docs/intro"&gt;playwright.dev&lt;/a&gt;
)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Headless &amp;amp; headed modes&lt;/strong&gt;: Run without UI or in a real browser for debugging. (&lt;a href="https://playwright.dev/python/docs/intro"&gt;playwright.dev&lt;/a&gt;
)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Auto‑waiting &amp;amp; retry&lt;/strong&gt;: Built‑in locators reduce flakiness. (&lt;a href="https://playwright.dev/python/docs/locators"&gt;playwright.dev&lt;/a&gt;
)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Multi‑browser support&lt;/strong&gt;: Chromium, Firefox, WebKit—all from one API. (&lt;a href="https://playwright.dev/python/docs/intro"&gt;playwright.dev&lt;/a&gt;
)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="example-scraping-a-jsrendered-site"&gt;Example: Scraping a JS‑Rendered Site&lt;a class="anchor" href="#example-scraping-a-jsrendered-site"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;We’ll scrape &lt;a href="https://quotes.toscrape.com/js/"&gt;Quotes to Scrape (JS)&lt;/a&gt;
—a site that loads quotes via JavaScript, so a simple &lt;code&gt;requests&lt;/code&gt; call gets only an empty shell (&lt;a href="https://quotes.toscrape.com/js/"&gt;quotes.toscrape.com&lt;/a&gt;
). Playwright runs the scripts and gives us the real content:&lt;/p&gt;</description></item><item><title/><link>http://tds.mynkofficial.in/2026-05/wikipedia-data-with-python/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tds.mynkofficial.in/2026-05/wikipedia-data-with-python/</guid><description>&lt;h2 id="wikipedia-data-with-python"&gt;Wikipedia Data with Python&lt;a class="anchor" href="#wikipedia-data-with-python"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://youtu.be/b6puvm-QEY0"&gt;&lt;img src="https://i.ytimg.com/vi_webp/b6puvm-QEY0/sddefault.webp" alt="Wikipedia data with Wikimedia Python library" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;You&amp;rsquo;ll learn how to scrape data from Wikipedia using the &lt;code&gt;wikipedia&lt;/code&gt; Python library, covering:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Installing and Importing&lt;/strong&gt;: Use pip install to get the Wikipedia library and import it with import wikipedia as wk.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Keyword Search&lt;/strong&gt;: Use the search function to find Wikipedia pages containing a specific keyword, limiting results with the results argument.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Fetching Summaries&lt;/strong&gt;: Use the summary function to get a concise summary of a Wikipedia page, limiting sentences with the sentences argument.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Retrieving Full Pages&lt;/strong&gt;: Use the page function to obtain the full content of a Wikipedia page, including sections and references.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Accessing URLs&lt;/strong&gt;: Retrieve the URL of a Wikipedia page using the url attribute of the page object.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Extracting References&lt;/strong&gt;: Use the references attribute to get all reference links from a Wikipedia page.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Fetching Images&lt;/strong&gt;: Access all images on a Wikipedia page via the images attribute, which returns a list of image URLs.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Extracting Tables&lt;/strong&gt;: Use the pandas.read_html function to extract tables from the HTML content of a Wikipedia page, being mindful of table indices.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here are links and references:&lt;/p&gt;</description></item></channel></rss>