Topic

#Computer Science

143 posts tagged “Computer Science”.

The Lycoris Team The Lycoris Team · · 5 min read

Kadane's Algorithm Explained: Maximum Subarray in O(n)

Kadane's algorithm finds the maximum-sum contiguous subarray in one O(n) pass. How it works, why it's correct, code, edge cases, and common variations.

#Algorithms #Computer Science #Data Structures
Chisato Chisato · · 5 min read

Gossip Protocols Explained: How Clusters Share State

A gossip protocol spreads information through a cluster by having each node periodically share state with a few random peers. How it works and its trade-offs.

#Distributed Systems #Cloud #Computer Science
The Lycoris Team The Lycoris Team · · 6 min read

Copy-on-Write Explained: How Lazy Copying Works

Copy-on-write shares data until someone modifies it, then copies only what changed. How CoW powers fork(), snapshots, containers, and immutable data.

#Computer Science #Data Structures #Performance
The Lycoris Team The Lycoris Team · · 5 min read

TCP Congestion Control Explained: Slow Start to BBR

TCP congestion control decides how fast a sender transmits without overloading the network. Slow start, AIMD, CUBIC, and BBR explained.

#Networking #Computer Science #Performance
Chisato Chisato · · 4 min read

Byzantine Fault Tolerance Explained

Byzantine fault tolerance lets a distributed system keep working correctly even when some nodes fail arbitrarily or actively lie, not just crash cleanly.

#Distributed Systems #Computer Science #Databases
The Lycoris Team The Lycoris Team · · 4 min read

Mutex vs Semaphore: What's the Actual Difference

A mutex lets exactly one thread hold a lock at a time; a semaphore allows a fixed number of concurrent holders. Here's what that difference means in practice.

#Computer Science #Concurrency #Programming
The Lycoris Team The Lycoris Team · · 4 min read

The Rope Data Structure: Editing Huge Strings Efficiently

A rope is a binary tree of string chunks that makes inserting, deleting, and slicing huge strings fast, which is why text editors use it over plain arrays.

#Computer Science #Data Structures #Algorithms
The Lycoris Team The Lycoris Team · · 4 min read

What Is a Semaphore? Concurrency Control Explained

A semaphore is a counter that limits how many threads can access a resource at once. How they work, semaphores vs mutexes, and common pitfalls.

#Computer Science #Concurrency #Programming
Chisato Chisato · · 5 min read

Raft vs Paxos: Consensus Algorithms Compared

Raft and Paxos both let a distributed cluster agree on a value despite failures — Raft trades some flexibility for a design built to be understood.

#Distributed Systems #Computer Science #Databases
Chisato Chisato · · 4 min read

What Is HBM? High Bandwidth Memory Explained

HBM stacks DRAM dies vertically and connects them through a wide interface, trading capacity per chip for far higher bandwidth than standard DRAM.

#Hardware #Semiconductors #Computer Science
The Lycoris Team The Lycoris Team · · 4 min read

What Is a Roaring Bitmap?

A roaring bitmap is a compressed bitmap format that splits data into chunks and picks the best internal representation for each — fast and space-efficient.

#Computer Science #Data Structures #Databases
Chisato Chisato · · 4 min read

Thermal Interface Materials Explained

Thermal interface material fills microscopic gaps between a chip and its heatsink so heat can actually transfer to the cooler.

#Hardware #Computer Science #Performance
Chisato Chisato · · 4 min read

Clock Speed vs. IPC: What Actually Makes a CPU Fast

Clock speed measures cycles per second; IPC measures work done per cycle. Real CPU performance is the product of both, not either one alone.

#Hardware #Computer Science #Performance
The Lycoris Team The Lycoris Team · · 4 min read

Memoization vs. Tabulation in Dynamic Programming

Memoization caches results top-down via recursion; tabulation builds a table bottom-up with loops. Same technique, opposite direction, different tradeoffs.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 4 min read

Index Cardinality: Why Some Indexes Don't Help

Cardinality is how many distinct values a column has. Low-cardinality columns make poor index candidates because the database still scans most of the table.

#Databases #SQL #Computer Science
The Lycoris Team The Lycoris Team · · 4 min read

Manacher's Algorithm Explained

Manacher's algorithm finds the longest palindromic substring in linear time by reusing symmetry from palindromes already found, avoiding redundant checks.

#Computer Science #Algorithms #Data Structures
Chisato Chisato · · 5 min read

What Is a World Model in AI?

A world model is an AI system's internal simulation of how its environment changes, letting it predict outcomes before acting.

#AI #Machine Learning #Computer Science
The Lycoris Team The Lycoris Team · · 5 min read

The Dining Philosophers Problem, Explained

The dining philosophers problem is a classic model of deadlock and starvation: five philosophers, five forks, and a resource-sharing rule that can lock up.

#Computer Science #Concurrency #Programming
The Lycoris Team The Lycoris Team · · 4 min read

The Z-Algorithm for String Matching, Explained

The Z-algorithm builds a Z-array in linear time to find every occurrence of a pattern in a text — a fast alternative to naive string search.

#Computer Science #Algorithms #Data Structures
Chisato Chisato · · 4 min read

UMA vs NUMA: Memory Architecture Explained

UMA gives every CPU core equal-latency memory access; NUMA gives each core faster access to its local memory bank. How the two architectures differ.

#Hardware #Computer Science #Performance
The Lycoris Team The Lycoris Team · · 4 min read

What Is an Abstract Syntax Tree (AST)?

An abstract syntax tree represents source code's grammatical structure as nodes a compiler, linter, or formatter can walk and transform programmatically.

#Computer Science #Developer Tools #Programming Languages
Chisato Chisato · · 5 min read

What Is Overclocking?

Overclocking runs a CPU, GPU, or memory beyond its rated clock speed for more performance, trading power, heat, and stability margin to get it.

#Hardware #Computer Science #Performance
The Lycoris Team The Lycoris Team · · 5 min read

Why 0.1 + 0.2 Doesn't Equal 0.3: Floating-Point Explained

Floating-point numbers can't represent most decimals exactly in binary — that's why 0.1 + 0.2 gives 0.30000000000000004, and what IEEE 754 actually stores.

#Hardware #Computer Science #Performance
Takina Takina · · 4 min read

NFA vs DFA: How Regex Engines Actually Work

Most regex engines backtrack through an NFA; a few compile to a DFA instead. The difference explains why some patterns hang forever and others never do.

#JavaScript #Computer Science #Algorithms
The Lycoris Team The Lycoris Team · · 5 min read

Binary Search Algorithm Explained

Binary search finds a value in a sorted array in O(log n) time by repeatedly halving the search space. How it works, why it needs sorted input, and common pitfalls.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 4 min read

BFS vs DFS: Graph Traversal Algorithms Compared

Breadth-first search explores a graph level by level using a queue; depth-first search follows one path as far as it goes using a stack. When to use each.

#Computer Science #Algorithms #Data Structures
Chisato Chisato · · 5 min read

Clock Gating vs Power Gating Explained

Clock gating and power gating both cut chip energy use by disabling idle circuit blocks, but one stops the clock while the other cuts power entirely.

#Hardware #Computer Science #Performance
The Lycoris Team The Lycoris Team · · 4 min read

Read-Your-Writes Consistency Explained

Read-your-writes consistency guarantees a client sees its own writes immediately, even when other clients might not yet. How it's implemented.

#Databases #Distributed Systems #Computer Science
The Lycoris Team The Lycoris Team · · 4 min read

What Is a Splay Tree? Self-Adjusting BST Explained

A splay tree is a self-adjusting binary search tree that rotates recently accessed nodes to the root, giving fast amortized access to hot data.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 5 min read

Two-Phase Commit vs. Saga Pattern Explained

Two-phase commit locks resources until every node agrees to a transaction; the saga pattern trades that guarantee for availability using compensating steps.

#Databases #Distributed Systems #Computer Science
The Lycoris Team The Lycoris Team · · 5 min read

Functional Programming vs Object-Oriented Programming

Functional programming builds programs from pure functions and immutable data; OOP bundles state and behavior into objects. Key differences explained.

#Computer Science #Programming Languages
The Lycoris Team The Lycoris Team · · 4 min read

What Is the Halting Problem? Explained

The halting problem proves no algorithm can determine, for every program and input, whether that program eventually stops. Why this limit is unavoidable.

#Computer Science #Algorithms
The Lycoris Team The Lycoris Team · · 5 min read

What Is the Traveling Salesman Problem?

The traveling salesman problem asks for the shortest route visiting every city once — a classic NP-hard problem with major real-world stakes.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 4 min read

Bloom Filter vs Cuckoo Filter: Which Should You Use

Bloom filters and cuckoo filters both test set membership in constant space, but only one supports deletion. How they work and when to pick each.

#Computer Science #Data Structures #Algorithms
The Lycoris Team The Lycoris Team · · 4 min read

B-Trees vs LSM-Trees: Choosing a Storage Engine

B-trees update data in place for fast, predictable reads; LSM-trees batch writes sequentially for higher write throughput. How databases pick.

#Databases #Computer Science #Data Structures
The Lycoris Team The Lycoris Team · · 5 min read

What Is JIT Compilation? Just-In-Time Compiling Explained

Just-in-time (JIT) compilation translates code to native machine instructions while a program runs, trading startup time for peak execution speed.

#Computer Science #Performance #Programming Languages
The Lycoris Team The Lycoris Team · · 4 min read

What Is a Turing Machine? The Model Behind Computing

A Turing machine is a simple abstract model of computation — a tape, a head, and a set of rules — that defines what it means for something to be computable.

#Computer Science #Algorithms
The Lycoris Team The Lycoris Team · · 4 min read

Reservoir Sampling: Random Sampling From a Stream

Reservoir sampling picks a uniform random sample from a stream of unknown length using constant memory, without knowing the size in advance.

#Computer Science #Algorithms #Data Structures
Chisato Chisato · · 4 min read

PACELC Theorem Explained: Beyond CAP

PACELC extends CAP theorem by adding a tradeoff that applies even when there's no partition: latency versus consistency. Here's how it works.

#Databases #Distributed Systems #Computer Science
Chisato Chisato · · 4 min read

Overfitting vs Underfitting: How ML Models Fail

Overfitting memorizes training data and fails on new inputs; underfitting fails to learn the pattern at all. How to spot each and what fixes each one.

#AI #Machine Learning #Computer Science
The Lycoris Team The Lycoris Team · · 4 min read

Radix Sort and Counting Sort Explained

Radix sort and counting sort can beat comparison sorts by never comparing elements at all — sorting integers in linear time under the right conditions.

#Computer Science #Algorithms #Data Structures
Chisato Chisato · · 4 min read

CPU Instruction Pipelining Explained

Instruction pipelining overlaps a CPU's fetch, decode, and execute stages so multiple instructions are in flight at once. How it works.

#Hardware #Computer Science #Performance
Chisato Chisato · · 4 min read

DRAM vs SRAM: How the Two Main Memory Types Differ

DRAM stores each bit as a charge in a capacitor that needs constant refreshing; SRAM stores each bit in a transistor circuit that holds its state.

#Hardware #Computer Science #Chips
The Lycoris Team The Lycoris Team · · 4 min read

Suffix Arrays Explained: Fast String Search

A suffix array sorts every suffix of a string into one compact index, enabling binary-search pattern matching without a full suffix tree.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 4 min read

Hash Index vs B-Tree Index: When to Use Each

A hash index gives O(1) equality lookups but no range scans; a B-tree supports both. Here's how the two database index types actually differ.

#Databases #SQL #Computer Science
The Lycoris Team The Lycoris Team · · 5 min read

Monotonic Stack Technique Explained

A monotonic stack keeps elements in strictly increasing or decreasing order, solving next-greater-element and range problems in linear time.

#Computer Science #Algorithms #Data Structures
Chisato Chisato · · 4 min read

HBM vs GDDR: Memory Architectures Compared

HBM stacks DRAM vertically next to the chip for extreme bandwidth per watt; GDDR spreads fast chips around the board. How the two approaches differ.

#Hardware #Computer Science #Performance
The Lycoris Team The Lycoris Team · · 4 min read

Bellman-Ford vs Dijkstra's Algorithm, Explained

Bellman-Ford handles negative edge weights and detects negative cycles; Dijkstra is faster but can't. When to use each shortest-path algorithm.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 4 min read

Floyd-Warshall: All-Pairs Shortest Paths

Floyd-Warshall finds shortest paths between every pair of nodes in a weighted graph using dynamic programming — how the recurrence works and when to use it.

#Computer Science #Algorithms #Data Structures
Chisato Chisato · · 4 min read

ACID vs BASE: Two Approaches to Database Consistency

ACID guarantees strict consistency after every transaction; BASE trades that for availability and scale. How each model works and when to pick one.

#Databases #Computer Science #Backend
The Lycoris Team The Lycoris Team · · 4 min read

The Master Theorem, Explained

The master theorem gives a direct formula for the time complexity of divide-and-conquer recurrences, skipping recursion-tree analysis by hand.

#Computer Science #Algorithms
The Lycoris Team The Lycoris Team · · 4 min read

Rabin-Karp and Rolling Hashes, Explained

The Rabin-Karp algorithm finds substrings by hashing, sliding a window in O(1) time per step instead of rehashing from scratch. Here's how it works.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 5 min read

Prim's vs Kruskal's Algorithm: Minimum Spanning Trees

Prim's and Kruskal's both build a minimum spanning tree but grow it differently — one from a single node, the other by sorted edges. Here's how each works.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 5 min read

Divide and Conquer Algorithms Explained

Divide and conquer solves problems by splitting them into smaller subproblems, solving each recursively, and combining the results.

#Computer Science #Algorithms #Data Structures
Chisato Chisato · · 4 min read

What Is Memory-Mapped I/O? MMIO Explained

Memory-mapped I/O maps device registers into the CPU's address space, letting hardware be read and written with ordinary load and store instructions.

#Hardware #Computer Science #Performance
The Lycoris Team The Lycoris Team · · 4 min read

TCP vs UDP: How They Differ and When to Use Each

TCP guarantees ordered, reliable delivery via a handshake; UDP sends packets with no such guarantee but far less overhead. Where each one fits.

#Networking #Computer Science #Backend
The Lycoris Team The Lycoris Team · · 4 min read

Tail Call Optimization Explained

Tail call optimization reuses a function's stack frame for its final call instead of pushing a new one, turning some recursion into constant stack space.

#Computer Science #JavaScript #Algorithms
Chisato Chisato · · 4 min read

DDR4 vs DDR5: What Actually Changed

DDR5 raises transfer rates, splits each module into two independent sub-channels, and moves voltage regulation onto the module itself. Here's what that buys you.

#Hardware #Computer Science #Performance
Chisato Chisato · · 4 min read

Von Neumann vs Harvard Architecture Explained

Von Neumann shares one memory for code and data; Harvard architecture splits them. How the two computer architectures differ, and where each is used.

#Computer Science #Hardware #Chips
The Lycoris Team The Lycoris Team · · 4 min read

What Is Amdahl's Law? Parallel Speedup Explained

Amdahl's Law says a program's speedup from parallelizing is capped by the fraction that must stay sequential — no matter how many cores you add.

#Computer Science #Hardware #Performance
Chisato Chisato · · 5 min read

Single- vs Dual- vs Quad-Channel Memory Explained

Memory channel configuration multiplies bandwidth between RAM and the CPU. How single-, dual-, and quad-channel setups differ, and why slot order matters.

#Hardware #Computer Science #Performance
The Lycoris Team The Lycoris Team · · 4 min read

What Is HyperLogLog?

HyperLogLog is a probabilistic algorithm that estimates the number of distinct items in a huge dataset using only a few kilobytes of memory.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 4 min read

What Is a Count-Min Sketch?

A Count-Min Sketch is a probabilistic data structure that estimates item frequencies in a stream using fixed memory, trading exactness for space.

#Computer Science #Algorithms #Data Structures
Chisato Chisato · · 4 min read

What Is a Northbridge and Southbridge? The Chipset

The northbridge and southbridge were the two chips that routed data between a CPU, memory, and peripherals before modern SoCs absorbed their jobs.

#Hardware #Computer Science
The Lycoris Team The Lycoris Team · · 4 min read

The Producer-Consumer Problem, Explained

The producer-consumer problem is a classic concurrency pattern: coordinating producers and consumers around a shared, bounded buffer safely.

#Computer Science #Concurrency #Programming
Chisato Chisato · · 4 min read

What Is Virtual Memory? Paging and Address Translation

Virtual memory gives every process its own private address space, mapped to physical RAM by the OS and CPU — enabling isolation, swapping, and overcommit.

#Hardware #Computer Science #Performance
The Lycoris Team The Lycoris Team · · 4 min read

How Regular Expressions Work Under the Hood

Regular expressions are matched by finite automata or backtracking engines. How regex engines parse patterns, and why some patterns run slowly.

#Computer Science #Algorithms #Developer Tools
The Lycoris Team The Lycoris Team · · 4 min read

P vs NP: What Does 'NP-Complete' Actually Mean?

P is problems solvable quickly; NP is problems whose solutions are quickly checkable. Whether P equals NP is one of computing's open questions.

#Computer Science #Algorithms
The Lycoris Team The Lycoris Team · · 5 min read

What Is Little's Law? Capacity Planning Explained

Little's Law relates the number of requests in a system, their arrival rate, and how long each one takes — a simple formula for sizing capacity.

#Computer Science #Performance #Backend
The Lycoris Team The Lycoris Team · · 5 min read

LRU vs LFU: Cache Eviction Policies Compared

LRU evicts whatever hasn't been used in the longest time; LFU evicts whatever has been used the fewest times. How each policy behaves and when to pick it.

#Computer Science #Data Structures #Performance
Chisato Chisato · · 5 min read

What Is Simultaneous Multithreading (SMT)?

Simultaneous multithreading lets one physical CPU core run two instruction streams at once, filling idle execution units to raise throughput.

#Hardware #Semiconductors #Computer Science
The Lycoris Team The Lycoris Team · · 4 min read

The KMP Algorithm: Fast String Matching Explained

The Knuth-Morris-Pratt algorithm finds a pattern inside a text in linear time by never re-examining characters it has already matched.

#Computer Science #Algorithms #Data Structures
Chisato Chisato · · 5 min read

Cache Coherence and the MESI Protocol, Explained

Cache coherence keeps each CPU core's private cache consistent with the others. The MESI protocol is the classic mechanism that makes it work.

#Hardware #Computer Science #Chips
The Lycoris Team The Lycoris Team · · 5 min read

What Is a Ring Buffer?

A ring buffer is a fixed-size array that wraps its read and write pointers around, giving O(1) enqueue and dequeue without ever resizing.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 5 min read

Fenwick Trees (Binary Indexed Trees), Explained

A Fenwick tree, or binary indexed tree, answers prefix-sum queries and point updates in O(log n) with far less memory than a segment tree.

#Computer Science #Algorithms #Data Structures
Chisato Chisato · · 5 min read

What Is Memory Interleaving?

Memory interleaving spreads consecutive addresses across multiple memory banks so the system can access them in parallel instead of one at a time.

#Hardware #Computer Science #Performance
The Lycoris Team The Lycoris Team · · 4 min read

What Is Dependency Injection?

Dependency injection passes an object's dependencies in from outside rather than letting it construct them, making code easier to test and swap.

#Developer Tools #Backend #Computer Science
Chisato Chisato · · 5 min read

Big-Endian vs Little-Endian: Byte Order Explained

Endianness decides whether a multi-byte number's most or least significant byte is stored first in memory. Why it matters and how to spot it.

#Hardware #Computer Science #Performance
Chisato Chisato · · 4 min read

Speculative Execution Explained: Speed vs Security

Speculative execution lets a CPU guess ahead and run instructions before it knows they're needed, buying speed at the cost of the timing side channels behind Spectre and Meltdown.

#Hardware #Computer Science #Performance
The Lycoris Team The Lycoris Team · · 4 min read

What Is a Monad? A Practical Explanation for Programmers

A monad is a wrapper type with rules for chaining operations that might fail, be async, or carry extra context — like Promise or Optional, generalized.

#Computer Science #Programming Languages #JavaScript
The Lycoris Team The Lycoris Team · · 5 min read

The Raft Consensus Algorithm, Explained

Raft is a consensus algorithm that lets a cluster of servers agree on a shared state even when some nodes fail. How leader election and log replication work.

#Distributed Systems #Computer Science #Databases
The Lycoris Team The Lycoris Team · · 4 min read

Bit Manipulation Basics Every Developer Should Know

Bit manipulation uses operators like AND, OR, XOR, and shifts to work directly on binary representations — the basics behind flags, masks, and fast math.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 4 min read

Amortized Analysis Explained: Average Cost Over Time

Amortized analysis measures the average cost of an operation over a sequence of calls, not its worst case. How dynamic array resizing gets O(1) amortized inserts.

#Computer Science #Algorithms #Performance
Chisato Chisato · · 4 min read

SIMD and Vectorization Explained

SIMD lets a CPU apply one instruction to multiple data points at once. How vectorization works, why compilers auto-vectorize loops, and its limits.

#Hardware #Computer Science #Performance
The Lycoris Team The Lycoris Team · · 4 min read

Hash Collision Resolution: Chaining vs Open Addressing

When two keys hash to the same slot, a hash table needs a collision strategy. Chaining and open addressing solve it differently — here's the tradeoff.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 5 min read

Segment Trees Explained: Fast Range Queries

A segment tree answers range queries — sum, min, max — over an array in logarithmic time, and supports updates without rebuilding the whole structure.

#Computer Science #Algorithms #Data Structures
Chisato Chisato · · 4 min read

What Is Thermal Throttling? Why Chips Slow Down

Thermal throttling automatically reduces a chip's clock speed when it gets too hot, trading performance for safety. How it works and how to spot it.

#Hardware #Computer Science #Performance
The Lycoris Team The Lycoris Team · · 4 min read

What Is MVCC? Multi-Version Concurrency Control

MVCC lets readers and writers work on a database concurrently without blocking each other, by keeping multiple versions of each row instead of locking it.

#Databases #Computer Science #Backend
Chisato Chisato · · 4 min read

What Is a Buffer Overflow?

A buffer overflow happens when a program writes past the end of a fixed-size memory buffer, corrupting adjacent data. How it works and how modern systems defend against it.

#Security #Computer Science #Networking
The Lycoris Team The Lycoris Team · · 4 min read

Backtracking Algorithms Explained

Backtracking solves problems by building candidate solutions incrementally and abandoning any path that can't lead to a valid answer. How it works, with examples.

#Computer Science #Algorithms #Data Structures
Chisato Chisato · · 4 min read

What Is Thermal Design Power (TDP)?

TDP is the amount of heat a cooling system must dissipate for a chip, not a hard limit on its power draw. Why TDP and actual power draw often diverge.

#Hardware #Computer Science #Performance
The Lycoris Team The Lycoris Team · · 5 min read

Union-Find (Disjoint Set) Explained

Union-find tracks a collection of disjoint sets and answers 'are these two items connected?' in near-constant time. How it works and where it's used.

#Computer Science #Algorithms #Data Structures
Chisato Chisato · · 4 min read

What Is UEFI? How It Replaced BIOS

UEFI is the firmware that initializes hardware and boots the OS on modern computers, replacing BIOS with faster boot times, larger disk support, and Secure Boot.

#Hardware #Computer Science #Security
The Lycoris Team The Lycoris Team · · 4 min read

Topological Sort Explained

Topological sort orders the nodes of a directed acyclic graph so every dependency comes before what depends on it. How it works and where it's used.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 5 min read

The Two Pointers Technique Explained

Two pointers walk a sorted array or string from both ends (or in tandem) to solve problems in one linear pass instead of nested loops.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 4 min read

What Is an LSM Tree? Log-Structured Merge Trees

An LSM tree batches writes in memory and flushes them as sorted files on disk, trading read complexity for the fast, sequential writes many databases rely on.

#Databases #Computer Science #Data Structures
The Lycoris Team The Lycoris Team · · 5 min read

What Is Two-Phase Commit (2PC)? Distributed Transactions

Two-phase commit coordinates a transaction across multiple databases with a prepare phase and a commit phase, trading availability for strong consistency.

#Databases #Distributed Systems #Computer Science
The Lycoris Team The Lycoris Team · · 4 min read

The Sliding Window Technique Explained

The sliding window technique tracks a moving subrange of an array or string, turning many O(n²) brute-force problems into a single O(n) linear pass.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 6 min read

Dijkstra's Algorithm vs A* Search, Explained

Dijkstra's algorithm finds shortest paths by exploring uniformly outward; A* reaches the same answer faster by using a heuristic to aim at the goal.

#Computer Science #Algorithms #Data Structures
Chisato Chisato · · 4 min read

What Is a CRDT? Conflict-Free Replicated Data Types

A CRDT is a data structure that merges concurrent edits from multiple replicas automatically, without coordination or conflicts, using math instead of locks.

#Databases #Cloud #Computer Science
Chisato Chisato · · 4 min read

What Is NUMA? Non-Uniform Memory Access Explained

NUMA gives each CPU its own local memory bank, so access speed depends on which processor is asking. How NUMA nodes and remote access latency work.

#Hardware #Computer Science #Performance
The Lycoris Team The Lycoris Team · · 4 min read

What Is a Merkle Tree? Hash Trees Explained

A Merkle tree hashes data in pairs up to a single root hash, letting huge datasets be verified for integrity without downloading all of them.

#Security #Computer Science #Databases
Chisato Chisato · · 4 min read

What Is PCIe? The GPU and SSD Connection

PCIe (PCI Express) is the high-speed serial bus connecting GPUs, SSDs, and network cards to a CPU. How lanes, generations, and bandwidth work.

#Hardware #Computer Science #Performance
The Lycoris Team The Lycoris Team · · 4 min read

What Is a Skip List?

A skip list is a layered linked list with shortcut pointers giving O(log n) search, insert, and delete — a simpler alternative to balanced trees.

#Computer Science #Algorithms #Data Structures
Chisato Chisato · · 4 min read

SSD vs HDD: How Storage Actually Differs

SSDs store data in flash memory chips with no moving parts; HDDs use spinning magnetic platters. How that difference plays out in speed, cost, and durability.

#Hardware #Computer Science #Performance
The Lycoris Team The Lycoris Team · · 5 min read

Greedy Algorithms vs Dynamic Programming

Greedy algorithms commit to the locally best choice at each step; dynamic programming weighs every subproblem. When each one actually works.

#Computer Science #Algorithms #Data Structures
Chisato Chisato · · 4 min read

Memory Bandwidth vs Latency: What Slows a Chip

Bandwidth measures how much data memory moves per second; latency measures how long one access takes. Why chips need both, not just one.

#Hardware #Computer Science #Performance
Chisato Chisato · · 4 min read

What Is Eventual Consistency in Distributed Systems?

Eventual consistency guarantees that replicas converge over time, not instantly. How it differs from strong consistency and when it's acceptable.

#Databases #Distributed Systems #Computer Science
The Lycoris Team The Lycoris Team · · 4 min read

Red-Black Trees vs AVL Trees Explained

Red-black and AVL trees both keep binary search trees balanced, but trade off rebalancing cost against lookup speed differently. How each works.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 4 min read

What Is a Quantum Computer? Qubits Explained

A quantum computer uses qubits in superposition and entanglement to explore many possible states at once, rather than one bit value at a time.

#Hardware #Computer Science #Performance
Chisato Chisato · · 4 min read

What Is ECC Memory? Error-Correcting Code RAM Explained

ECC memory detects and corrects single-bit errors in RAM automatically, using extra parity bits — critical for servers where silent corruption is costly.

#Hardware #Computer Science #Performance
Chisato Chisato · · 4 min read

DDR vs GDDR Memory: What's the Difference?

DDR and GDDR are both DRAM, but optimized for opposite goals: DDR minimizes latency for CPUs, GDDR maximizes bandwidth for GPUs. Here's how they diverge.

#Hardware #Computer Science #Performance
The Lycoris Team The Lycoris Team · · 4 min read

What Is a Finite State Machine?

A finite state machine models a system as a fixed set of states and the transitions between them. How FSMs work and where they show up in real software.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 4 min read

What Is an LRU Cache?

An LRU cache evicts the least recently used item first when it runs out of room, keeping the most useful data in memory. Here's how it's built.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 4 min read

Recursion vs. Iteration, Explained

Recursion solves a problem by calling itself on smaller inputs; iteration solves it with a loop. Same results, different trade-offs in memory and clarity.

#Computer Science #Algorithms #Programming
The Lycoris Team The Lycoris Team · · 4 min read

What Is a B-Tree? The Structure Behind DB Indexes

A B-tree is a self-balancing tree that keeps data sorted with logarithmic search, insert, and delete time — the structure behind most database indexes.

#Computer Science #Data Structures #Databases
The Lycoris Team The Lycoris Team · · 5 min read

Quicksort vs Mergesort: Sorting Algorithms Explained

Quicksort and mergesort are the two classic O(n log n) sorting algorithms — how they differ in memory use, stability, and worst-case behavior.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 4 min read

Consistent Hashing Explained

Consistent hashing maps keys and nodes onto the same ring so adding or removing a server only reshuffles a small fraction of keys, not all of them.

#Computer Science #Algorithms #Databases
The Lycoris Team The Lycoris Team · · 5 min read

Graph Data Structures: BFS vs DFS Explained

Graphs model networks of connected nodes; BFS and DFS are the two core ways to traverse them. How each works, and which to reach for.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 4 min read

Stacks vs Queues: LIFO and FIFO Data Structures

Stacks remove the most recent item first (LIFO); queues remove the oldest first (FIFO). How each works, their operations, and where they show up.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 4 min read

What Is a Trie? Prefix Tree Data Structure Explained

A trie stores strings by sharing common prefixes across tree branches, making prefix lookups and autocomplete fast. How it compares to hash tables and BSTs.

#Computer Science #Algorithms #Data Structures
Chisato Chisato · · 4 min read

SRAM vs DRAM: Why Chips Use Both

SRAM is fast, expensive, six-transistor memory used for CPU caches; DRAM is slower, cheaper, one-transistor memory used for main system memory.

#Hardware #Computer Science #Performance
The Lycoris Team The Lycoris Team · · 4 min read

What Is a Heap? The Data Structure Behind Priority Queues

A heap is a tree-based structure that keeps the smallest or largest element at the root, enabling priority queues and heap sort in logarithmic time.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 5 min read

What Is a Bloom Filter? Probabilistic Set Membership

A Bloom filter is a compact data structure that tests whether an item might be in a set, using far less memory than storing the set itself.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 4 min read

What Is Memoization? Caching Function Results Explained

Memoization caches a function's return value by its input, skipping recomputation on repeat calls. How it works and when it actually helps.

#Computer Science #JavaScript #Software Engineering
The Lycoris Team The Lycoris Team · · 4 min read

What Is a Linked List? Data Structure Explained

A linked list stores elements as nodes linked by pointers rather than contiguous memory, trading fast random access for cheap insertion and removal.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 4 min read

What Is Dynamic Programming? A Practical Explainer

Dynamic programming solves complex problems by breaking them into overlapping subproblems and caching results, avoiding redundant recomputation.

#Computer Science #Algorithms #Data Structures
Chisato Chisato · · 4 min read

CAP Theorem Explained: Consistency vs Availability

CAP theorem says a distributed system can't guarantee consistency, availability, and partition tolerance all at once. What the trade-off means in practice.

#Databases #Distributed Systems #Computer Science
Chisato Chisato · · 4 min read

What Is a Race Condition? Concurrency Bugs Explained

A race condition occurs when a program's correctness depends on the unpredictable timing of concurrent operations. Why they happen and how to prevent them.

#Computer Science #Concurrency #Developer Tools
Chisato Chisato · · 4 min read

What Is Moore's Law? Chip Scaling, Explained

Moore's Law is the observation that transistor density on a chip roughly doubles every couple of years. Why it drove decades of gains, and why it's slowing.

#Hardware #Chips #Computer Science
The Lycoris Team The Lycoris Team · · 4 min read

Binary Search Trees Explained: How They Work

A binary search tree keeps every left descendant smaller and every right descendant larger than its parent. How lookups, inserts, and balance work.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 4 min read

What Is a Hash Table? Fast Lookups, Explained

A hash table maps keys to array slots with a hash function for near O(1) lookups. How hashing, collisions, and resizing actually work under the hood.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 5 min read

What Is Big O Notation? Algorithm Complexity Explained

Big O notation describes how an algorithm's time or memory grows as input grows. The common classes, what they mean, and how to reason about them.

#Computer Science #Performance #Algorithms

← All topics