<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Senthil Nayagan</title>
    <link>https://senthilnayagan.com</link>
    <atom:link href="https://senthilnayagan.com/feed.xml" rel="self" type="application/rss+xml"/>
    <description>Senthil Nayagan writes about software engineering, web development, and technology.</description>
    <language>en-US</language>
    <lastBuildDate>Wed, 06 Nov 2024 00:00:00 +0000</lastBuildDate><item>
      <title>I Time-Traveled to the Digital Stone Age - My 90-Day Adventure with 3G</title>
      <link>https://senthilnayagan.com/blog/time-traveled-to-the-digital-stone-age/</link>
      <guid isPermaLink="true">https://senthilnayagan.com/blog/time-traveled-to-the-digital-stone-age/</guid>
      <pubDate>Wed, 06 Nov 2024 00:00:00 +0000</pubDate><description>My journey of switching from VI to BSNL mobile service turned into an unexpected digital nightmare, complete with failed UPI payments, disappearing signals, and a mandatory 90-day stay in the 3G era.</description><category>bsnl</category><category>mobile-network</category><category>network-migration</category><category>personal-encounters</category></item><item>
      <title>Essential Math for AI and ML: Introduction to Estimation Theory</title>
      <link>https://senthilnayagan.com/blog/essential-math-introduction-to-estimation-theory/</link>
      <guid isPermaLink="true">https://senthilnayagan.com/blog/essential-math-introduction-to-estimation-theory/</guid>
      <pubDate>Sun, 14 Jul 2024 00:00:00 +0000</pubDate><description>Estimation theory is like the detective work of data science. It equips us with methods to infer unknown parameters from observed data. Imagine estimating the average height in a city or the likelihood of a coin flip. Key techniques like Maximum Likelihood and Bayesian Estimation ensure our guesses are accurate and reliable. Used in fields from economics to engineering, estimation theory transforms raw data into meaningful insights. It’s the art and science of turning observations into actionable knowledge, guiding decisions in everyday life and complex industries alike. Dive into this fascinating world and become a data detective!</description><category>estimation-theory</category><category>math-for-ai-ml</category><category>essential-math-for-ai-ml</category></item><item>
      <title>Math Matters: Essential Math for Aspiring AI Experts</title>
      <link>https://senthilnayagan.com/blog/math-matters-essential-math-for-aspiring-ai-experts/</link>
      <guid isPermaLink="true">https://senthilnayagan.com/blog/math-matters-essential-math-for-aspiring-ai-experts/</guid>
      <pubDate>Wed, 10 Jul 2024 00:00:00 +0000</pubDate><description>The journey starts with mastering some essential mathematical concepts! Linear algebra is our toolkit for handling and manipulating data in multiple dimensions. Calculus becomes our guide to understanding how models learn and optimize performance. Probability and statistics are our crystal balls, helping us predict outcomes and discover patterns in the data. Finally, discrete mathematics shapes our ability to design and analyze algorithms. These mathematical foundations enable us to construct, comprehend, and improve advanced AI and ML models.</description><category>math-for-ai-ml</category><category>essential-math-for-ai-ml</category></item><item>
      <title>The Evolution of AI: How Large Language Models are Changing the Game</title>
      <link>https://senthilnayagan.com/blog/llms-changing-the-game/</link>
      <guid isPermaLink="true">https://senthilnayagan.com/blog/llms-changing-the-game/</guid>
      <pubDate>Sat, 06 Jul 2024 00:00:00 +0000</pubDate><description>Large Language Models (LLMs) are designed to understand and generate human-like text based on vast amounts of data. LLMs are revolutionizing fields like natural language processing, customer service, and content creation, making interactions with technology more intuitive and human-like.</description><category>large-language-models</category><category>llm</category><category>ai</category></item><item>
      <title>Async Awesomeness: A Deep Dive into Rust’s Asynchronous Capabilities</title>
      <link>https://senthilnayagan.com/blog/async-awesomeness-a-deep-dive-into-rusts-asynchronous-capabilities/</link>
      <guid isPermaLink="true">https://senthilnayagan.com/blog/async-awesomeness-a-deep-dive-into-rusts-asynchronous-capabilities/</guid>
      <pubDate>Tue, 02 Jul 2024 00:00:00 +0000</pubDate><description>With async capabilities, developers can write non-blocking code that handles multiple operations simultaneously without the complexity of traditional multithreading. Async programming is ideal for I/O-bound tasks, offering a more responsive and scalable solution for modern applications. Let's dive into the world of Rust’s asynchronous capabilities and discover how to build high-performance, efficient software.</description><category>asynchronous</category><category>asynchronous-programming</category></item><item>
      <title>Code Without Chaos: Adopting Referential Transparency in Programming</title>
      <link>https://senthilnayagan.com/blog/referential-transparency/</link>
      <guid isPermaLink="true">https://senthilnayagan.com/blog/referential-transparency/</guid>
      <pubDate>Mon, 01 Jul 2024 00:00:00 +0000</pubDate><description>Referential transparency is a key concept in functional programming, which allows expressions in a program to be replaced with their values without changing the program’s behavior or result. The post highlights the numerous benefits of adopting referential transparency, including enhanced predictability, simplified debugging, thread-safety in concurrent and parallel executions, and greater confidence in refactoring code. By understanding and applying the principles of referential transparency, programmers can create more reliable, maintainable, and efficient software, ultimately leading to cleaner and more elegant codebases.</description><category>referential-transparency</category><category>pure-functions</category><category>immutability</category></item><item>
      <title>Starting with AI: A Beginner’s Journey into Artificial Intelligence (Part 1)</title>
      <link>https://senthilnayagan.com/blog/starting-with-ai-a-beginners-journey-into-ai-part-1/</link>
      <guid isPermaLink="true">https://senthilnayagan.com/blog/starting-with-ai-a-beginners-journey-into-ai-part-1/</guid>
      <pubDate>Mon, 24 Jun 2024 00:00:00 +0000</pubDate><description>Begin an exciting journey into the world of artificial intelligence. This beginner-friendly guide covers fundamental concepts, demystifies AI, and provides practical steps to get started.</description><category>ai</category><category>artificial-intelligence</category></item><item>
      <title>My Unpleasant Experience with Crocs India - A Cautionary Tale</title>
      <link>https://senthilnayagan.com/blog/unpleasant-experience-with-crocs-india/</link>
      <guid isPermaLink="true">https://senthilnayagan.com/blog/unpleasant-experience-with-crocs-india/</guid>
      <pubDate>Tue, 18 Jun 2024 00:00:00 +0000</pubDate><description>I recently had an incredibly frustrating experience with Crocs India, which I feel compelled to share as a cautionary tale for anyone considering making a purchase from their website.</description><category>crocs-india</category><category>customer-care</category><category>crocs</category><category>personal-encounters</category></item><item>
      <title>Primitive Obsession: The Hidden Enemy of Clean Code</title>
      <link>https://senthilnayagan.com/blog/primitive-obsession/</link>
      <guid isPermaLink="true">https://senthilnayagan.com/blog/primitive-obsession/</guid>
      <pubDate>Tue, 18 Jun 2024 00:00:00 +0000</pubDate><description>Primitive obsession is a code smell where primitives are overused for domain concepts, leading to poor encapsulation and maintainability issues.</description><category>primitive-obsession</category><category>code-smell</category><category>code-quality</category><category>clean-code</category></item><item>
      <title>Unlocking the Magic of Closures in Rust</title>
      <link>https://senthilnayagan.com/blog/introduction-to-rust-closure/</link>
      <guid isPermaLink="true">https://senthilnayagan.com/blog/introduction-to-rust-closure/</guid>
      <pubDate>Sun, 16 Jun 2024 00:00:00 +0000</pubDate><description>A closure is a programming construct that allows a function to capture and reference variables and parameters from its surrounding lexical scope. Closures offer many benefits and are a key part of the language's expressive and flexible features.</description><category>closure</category><category>rust</category></item><item>
      <title>Algorithms and Data Structures Simplified for Beginners</title>
      <link>https://senthilnayagan.com/blog/algorithms-and-data-structures-simplified-for-beginners/</link>
      <guid isPermaLink="true">https://senthilnayagan.com/blog/algorithms-and-data-structures-simplified-for-beginners/</guid>
      <pubDate>Sat, 15 Jun 2024 00:00:00 +0000</pubDate><description>Data structures and algorithms are fundamental concepts in computer science that involve organizing and manipulating data efficiently. Data structures such as arrays, linked lists, stacks, queues, trees, graphs, and hash tables provide various ways to store and access data. Algorithms, including sorting, searching, dynamic programming, graph algorithms, and divide and conquer techniques, are step-by-step procedures for solving problems and manipulating these data structures. Proficiency in data structures and algorithms is essential for developing software that performs well and uses resources effectively, enabling efficient data management and problem-solving.</description><category>algorithms-and-data-structures</category><category>algorithms</category><category>data-structures</category></item><item>
      <title>The Secret to Unbreakable Memory Safety: Rust's Ownership and Borrowing</title>
      <link>https://senthilnayagan.com/blog/rust-ownership-and-borrowing/</link>
      <guid isPermaLink="true">https://senthilnayagan.com/blog/rust-ownership-and-borrowing/</guid>
      <pubDate>Wed, 12 Jun 2024 00:00:00 +0000</pubDate><description>Rust's ownership and borrowing features prevent us from experiencing memory-related problems. Rust is a great choice when performance matters and it solves pain points that bother many other languages.</description><category>ownership</category><category>borrowing</category><category>memory-management</category></item><item>
      <title>What does yanked release mean?</title>
      <link>https://senthilnayagan.com/blog/yanked-release/</link>
      <guid isPermaLink="true">https://senthilnayagan.com/blog/yanked-release/</guid>
      <pubDate>Thu, 07 Mar 2024 00:00:00 +0000</pubDate><description>Released and yanked are terms used in software development to indicate the state of a software package or library. These terms specify whether a given package version is suitable for usage or need to be avoided.</description><category>yanked-release</category><category>version-control</category><category>release-management</category></item><item>
      <title>Unlocking the Power of Windowing in Kafka Streams</title>
      <link>https://senthilnayagan.com/blog/windowing-in-kafka-streams/</link>
      <guid isPermaLink="true">https://senthilnayagan.com/blog/windowing-in-kafka-streams/</guid>
      <pubDate>Sun, 25 Feb 2024 00:00:00 +0000</pubDate><description>Windowing refers to the process of dividing a continuous stream of data into discrete segments, or windows, based on time. These windows then serve as the basis for applying computational operations, such as aggregations or transformations, to the data contained within them.</description><category>kafka-streams</category><category>kafka</category><category>windowing</category></item><item>
      <title>Getting Started with Terraform: Understanding the Basics</title>
      <link>https://senthilnayagan.com/blog/terraform-basics/</link>
      <guid isPermaLink="true">https://senthilnayagan.com/blog/terraform-basics/</guid>
      <pubDate>Tue, 16 Jan 2024 00:00:00 +0000</pubDate><description>Terraform is an open source infrastructure-as-code tool that allows us to programmatically provision the physical resources required for an application to run.</description><category>terraform</category><category>infrastructure-as-code</category><category>iac</category></item><item>
      <title>Singleton Pattern</title>
      <link>https://senthilnayagan.com/blog/singleton-pattern-or-object/</link>
      <guid isPermaLink="true">https://senthilnayagan.com/blog/singleton-pattern-or-object/</guid>
      <pubDate>Tue, 16 Jan 2024 00:00:00 +0000</pubDate><description>The singleton pattern ensures controlled access to a single instance of a class. While it offers significant benefits in terms of resource management and access control, developers must be mindful of its downsides, such as potential scalability issues and the introduction of global states. When used carefully, it can be an invaluable design choice for managing resources and coordinating actions across complex systems.</description><category>design-patterns</category><category>singleton-pattern</category><category>coding-principles</category></item><item>
      <title>Anti-Pattern</title>
      <link>https://senthilnayagan.com/blog/anti-pattern/</link>
      <guid isPermaLink="true">https://senthilnayagan.com/blog/anti-pattern/</guid>
      <pubDate>Tue, 16 Jan 2024 00:00:00 +0000</pubDate><description>Anti-patterns at first seem to be quick and reasonable, they typically have adverse effects in the future. They are design and code smells. It affects our software badly and adds technical debt. We should avoid them at all costs.</description><category>anti-pattern</category><category>design-patterns</category></item><item>
      <title>Envelope Encryption - Putting Your Encryption Key in an Envelope Is the Safer Option</title>
      <link>https://senthilnayagan.com/blog/envelope-encryption/</link>
      <guid isPermaLink="true">https://senthilnayagan.com/blog/envelope-encryption/</guid>
      <pubDate>Fri, 22 Jul 2022 00:00:00 +0000</pubDate><description>Envelope encryption is a way of encrypting plaintext data using a key and then encrypting that key using an another key. This strategy is intended not just to make things more secure but also to enhance performance.</description><category>envelope-encryption</category><category>data-protection</category></item></channel>
</rss>
