
My Book Store 📚
My books collection that i read and recommend
Thoughts on distributed systems, backend engineering, and software development.

My books collection that i read and recommend

The story of building AFK - a minimal macOS break reminder for developers who treat hydration as optional

Learn how to install PMKID tools in Kali Linux for performing PMKID attacks.

Redlock is a distributed lock manager that provides a simple and efficient way to manage locks in a distributed system. It is designed to be highly available and fault-tolerant, ensuring that locks are released even in the event of a failure.

A critical take on managerial roles, exploring how many managers fail to lead effectively, instead acting as task shufflers or middlemen. This article dives into the pitfalls of poor leadership, lack of responsibility, and the stark reality of skill-based vs. task-based roles.

This blog post will guide you through the intricate steps involved in downloading a file using the BitTorrent protocol.

Discover the dangers of unrealistic optimism

Weak isolation levels in databases can lead to anomalies like dirty reads, non-repeatable reads, and phantom reads. Understanding these anomalies can help you choose the right isolation level for your application.

Transactions group database operations into atomic units ensuring consistency and isolation. Safely handling errors and aborts requires deduplication, backoff, separating transient errors, and managing external side effects to avoid data loss or duplication.

Learn how to use Ruby's socket library to create network applications.

Learn how to create a URL shortener using Ruby on Rails and Redis. This tutorial covers the basics of setting up a Rails project, integrating Redis, and building a simple URL shortener application.

In software engineering, I'm your Batman. With a solid foundation from AKGEC, diverse skills in web development, and professional experience at Procol and Hashedin, I'm ready to safeguard your projects and drive success.

Partitioning is the process of splitting a large database into smaller, more manageable parts called partitions.

Version Vectors
.jpg)
Leaderless replication decentralizes data writes, allowing any replica to accept them. Examples include Amazon's Dynamo and open-source platforms like Riak and Cassandra. Mechanisms like read repair and anti-entropy ensure eventual consistency.

Quorums are the minimum number of votes required for the read or write to be valid. In distributed systems, quorums are used to ensure consistency and availability. This post explains how quorums are used in distributed systems.

Comprehensive lesson plan covering advanced concepts in Ruby on Rails for developing complex web applications.

Ruby functions support positional, default, keyword, and splat arguments with unique advantages and trade-offs for code flexibility and readability.

Essential resources for learning Ruby on Rails: 'The Well-Grounded Rubyist' book, Ruby style guide, YouTube video series for Rails and RSpec, and reading open-source Rails projects like Mastodon.

This article discusses the importance of naming conventions in Ruby and provides guidelines for consistent and readable code.
.jpg)
This blog explores multi-leader replication in distributed systems, highlighting its advantages and challenges. Approach with caution.

This article discusses the importance of naming conventions in Ruby and provides guidelines for consistent and readable code.

"Handling Write Conflicts in Collaborative Editing" explores strategies and techniques for efficient conflict handling in distributed databases.

Exploring the differences between Ruby's dup and deep_dup methods for object copying.

This blog highlights the significance of unit testing in software development, emphasizing bug catching, code reliability, debugging, refactoring, and documentation.

10 powerful tips and tricks for Ruby on Rails development to optimize queries, leverage generators, employ caching, use background jobs, implement validations, and more.
.jpg)
This blog explains single leader replication, synchronous/asynchronous replication, setting up new followers, handling node outages, and ensuring read consistency in distributed systems.

Introduction to data warehousing, ETL process, star and snowflake schemas, column-oriented storage, compression, sort order, and trade-offs in writing to column-oriented storage.

This blog post explores how to implement a Least Recently Used (LRU) cache in Python, taking reference from the provided code.

This chapter discusses log-structured and page-oriented storage engines, their advantages, trade-offs, and considerations when choosing a storage engine.