My writing.

Java internals, framework quirks, and the occasional Linux command. Explanations and examples for the next time you’re figuring something out.

Articles.

1–6 of 134 articles
inverted-index, search, lucene, elasticsearch, information-retrieval, databases, data-structures, java

How Inverted Indexes Work - Postings, Phrase Queries, BM25, Lucene and Full-Text Search

A detailed guide to inverted indexes covering text analysis, postings lists, Boolean and phrase queries, BM25 ranking, segments, compression, distributed search, PostgreSQL GIN, and a Java implementation.

6 views 1 like 3 shares
redux, react, react-redux, redux-toolkit, state-management, javascript, typescript, frontend

How Redux Works - Store, Actions, Reducers, Middleware, React-Redux and Redux Toolkit

A detailed guide to Redux covering its Flux origins, the three principles, a from-scratch store, combineReducers, middleware internals, thunks, react-redux subscriptions and selectors, Redux Toolkit, RTK Query, and when not to use Redux.

1 view 1 like 1 share
lsm-tree, storage-engines, databases, rocksdb, cassandra, sstable, compaction, data-structures, java

LSM Trees Explained - Memtables, SSTables, Bloom Filters, Compaction and Storage Trade-Offs

A detailed guide to LSM trees covering write-ahead logging, memtables, SSTables, reads, Bloom filters, compaction, tombstones, snapshots, amplification, real systems, and a Java implementation.

7 views 1 like 2 shares
jpa, hibernate, spring-data-jpa, sql, databases, performance, fetching, java

The N+1 Problem in JPA and Hibernate - Causes, Detection, Fetch Joins, Entity Graphs and Batch Fetching

A detailed guide to the N+1 query problem covering lazy and eager fetching, SQL detection, fetch joins, entity graphs, batch and subselect fetching, DTO projections, pagination, and Spring Data JPA.

13 views 2 likes 1 share
load-balancing, system-design, distributed-systems, networking, nginx, haproxy, kubernetes, backend, java

Load Balancing Explained - Algorithms, L4 vs L7, Health Checks and Real-World Setups

How load balancers work, from L4 vs L7 and the classic algorithms (with Java code) to health checks, high availability, global load balancing and the mistakes that cause outages.

14 views 1 like 2 shares
virtual-memory, operating-systems, linux, memory-management, performance, jvm, java, systems-programming

Virtual Memory Explained - Pages, Page Tables, TLBs, Page Faults and What It Means for Java

A detailed guide to virtual memory covering address spaces, pages and page tables, the MMU and TLB, page faults, swapping, copy-on-write, mmap, overcommit and the OOM killer, huge pages, and what it all means for Java applications.

4 views 1 like 3 shares