Hi, I'm Senthil Nayagan

Thanks for dropping by! I’m a Data Engineer by profession, a Rustacean by interest, and a developer by curiosity. I’m a big fan of open source because I believe good ideas get better when people are free to build on them, improve them, break them, fix them, and occasionally argue about them on the internet.

This little corner of the internet is where I write about technology, coding, architecture, design principles, things I’ve learned the hard way, and whatever else manages to keep me curious. Think of it as my digital notebook—except the pages are public. Want to know more about the person behind the keyboard? You can read about me. If you find something useful here, interesting, or at least mildly entertaining, feel free to subscribe to my newsletter or follow along through my RSS feed.

Featured posts

20 min read

Async Awesomeness: A Deep Dive into Rust’s Asynchronous Capabilities

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.

20 min read

Unlocking the Power of Windowing in Kafka Streams

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.

Recent posts

View all →
24 min read

Essential Math for AI and ML: Introduction to Estimation Theory

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!

48 min read

Math Matters: Essential Math for Aspiring AI Experts

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.

4 min read

Code Without Chaos: Adopting Referential Transparency in Programming

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.

7 min read

Unlocking the Magic of Closures in Rust

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.

9 min read

Algorithms and Data Structures Simplified for Beginners

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.