Home
Blogs
About Me
My projects
tech-lessons.in
learnings by a developer
Photo by lil artsy on Pexels
Jan 14, 25
Refactoring Mindset
I haven't written about refactoring in a while. My team and I have been reading 'Refactoring by Martin Fowler' and recently worked through the TaskList kata as a refactoring exercise. This experience inspired me to write this article, which focuses on cultivating a 'refactoring mindset' – a deliberate and proactive approach to consistently improve your code.
Dec 26, 24
Behind the Mic: My journey to delivering a conference talk
I recently gave a talk with Tittu Varghese on 'Questioning database claims: Design patterns of storage engines' at GopherConIndia24 on 2nd December. In this article, I’ll walk you through my journey - from brainstorming the topic and building the presentation to running mock sessions and delivering the final talk. Along the way, I’ll share the experiences and emotions that shaped my path to the stage.
May 22, 24
Many flavors of Networking IO
The foundation of any networked application hinges on its ability to efficiently handle data exchange. But beneath the surface, there's a hidden world of techniques for managing this communication. This article dives into various "flavors" of networking IO, exploring the trade-offs associated with each approach. We'll delve into techniques like Single-Threaded Blocking IO, Multi-Threaded Blocking IO, Non-blocking with Busy Wait, and Single-Threaded Event loop.
Apr 19, 24
Cache-Line Hash Table
In the world of multi-core processors, managing concurrent access to data structures is crucial for efficient performance. But frequent updates can trigger a hidden bottleneck: cache coherence traffic. This traffic arises when one core modifies the data another core has cached, forcing updates and invalidation across the system. This article dives into a clever solution: the Cache-Line Hash Table (CLHT). CLHTs are specifically designed to minimize this cache coherence traffic, boosting the speed of concurrent data access.
Mar 22, 24
A guide to Serializable Snapshot Isolation in Key/Value storage engine
Ensuring data consistency in the face of concurrent transactions is a critical challenge in database management. This article explores Serializable Snapshot Isolation (SSI) that promises the best of both worlds: strong data consistency without sacrificing performance. The article delves into the inner workings of SSI and explore its implementation for a Key/Value storage engine.
Jan 24, 24
Diving into Rust by building an assertions crate
As Rust projects grow in size and complexity, the need for sophisticated error handling tools becomes ever more pressing. Traditional methods like panics and asserts, while useful, can be limited and cumbersome. Let's build an assertions crate that offers elegant and powerful assertions, while simultaneously diving into the diverse landscape of Rust features.
More Posts
Search
Results
No results found
Try adjusting your search query