The Lycoris Team

The Lycoris Team

The editorial team at Lycoris Technologies — covering tech news and writing hands-on tutorials.

207 articles

The Lycoris Team The Lycoris Team · · 4 min read

What Is Git Reflog? Recovering Lost Commits

Git reflog records every place HEAD and branch tips have pointed, letting you recover commits that look lost after a reset, rebase, or deleted branch.

#Git #Developer Tools #Version Control
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
The Lycoris Team The Lycoris Team · · 4 min read

PgBouncer and Postgres Pooling Modes Explained

PgBouncer sits between clients and Postgres, reusing a small pool of real connections. Session, transaction, and statement modes trade features for scale.

#Databases #PostgreSQL #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

Network Ingress vs. Egress: What's the Difference?

Ingress is traffic entering a network or system; egress is traffic leaving it. The distinction shapes firewall rules, cloud billing, and security posture.

#Cloud #Networking #DevOps
The Lycoris Team The Lycoris Team · · 6 min read

Apple iPhone 18 Pro Event: Foldable iPhone, New CEO

Apple's September 9 'Surprise and shine' event is set to unveil the iPhone 18 Pro and a first foldable iPhone — the first launch under new CEO John Ternus.

#Apple #Chips #Hardware
The Lycoris Team The Lycoris Team · · 5 min read

Biometric Authentication Explained

Biometric authentication verifies identity using fingerprints, faces, or other traits — here's how enrollment, matching, and liveness checks work.

#Security #Authentication #Privacy
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
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

Deployment Rollback Strategies: Roll Back vs Forward

Rolling back reverts to the last known-good deploy; rolling forward ships a fix on top of the bad one. How to choose, and why database changes complicate both.

#DevOps #Cloud #Developer Tools
The Lycoris Team The Lycoris Team · · 4 min read

Quorum Consensus Explained: N, W, and R

Quorum consensus lets distributed databases tune consistency and availability by requiring reads and writes to touch overlapping subsets of replicas.

#Databases #Distributed Systems #Cloud
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
The Lycoris Team The Lycoris Team · · 5 min read

What Are Conventional Commits? A Commit Convention

Conventional Commits structures commit messages as type(scope): description so tools can auto-generate changelogs and version bumps from git history.

#Git #Developer Tools #Version Control
The Lycoris Team The Lycoris Team · · 5 min read

What Is Incremental Static Regeneration (ISR)?

ISR lets a static page be rebuilt in the background after deploy, on a timer or on demand, without a full site rebuild. How it works and its tradeoffs.

#Web Development #Performance #Frontend
The Lycoris Team The Lycoris Team · · 4 min read

Git Hooks Explained: pre-commit, pre-push, and More

Git hooks are scripts that run automatically at points in the Git workflow, like before a commit or push. How they work and when to use them.

#Git #Developer Tools #Workflow
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
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
The Lycoris Team The Lycoris Team · · 4 min read

What Is Load Testing?

Load testing measures how a system behaves under expected and peak traffic, revealing bottlenecks and capacity limits before real users do.

#DevOps #Performance #Cloud
The Lycoris Team The Lycoris Team · · 5 min read

CSRF vs. XSS: What's the Difference?

CSRF forges a request using a victim's login session; XSS runs the attacker's own code inside the victim's browser. Different mechanisms, different fixes.

#Security #Web Development #Authentication
The Lycoris Team The Lycoris Team · · 4 min read

What Is a Database View?

A database view is a saved SQL query that behaves like a table — simplifying complex joins and restricting access, without storing the data twice.

#Databases #SQL #Data
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

Vim vs Emacs: Which Editor Should You Learn

Vim and Emacs are the two long-lived terminal editors, built on opposite philosophies — modal editing vs an extensible Lisp environment. How they actually differ.

#Developer Tools #Web Development
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
The Lycoris Team The Lycoris Team · · 5 min read

Clustered vs Non-Clustered Index Explained

A clustered index determines the physical row order on disk; a non-clustered index is a separate lookup structure. How they differ and when to use each.

#Databases #SQL #Performance
The Lycoris Team The Lycoris Team · · 4 min read

What Is Container Image Scanning?

Container image scanning checks a container's layers for known vulnerabilities and secrets before it ships. How it works and where to run it.

#DevOps #Security #Cloud
The Lycoris Team The Lycoris Team · · 4 min read

What Is a Headless CMS? Content Without the Frontend

A headless CMS stores and serves content through an API, with no built-in templating or frontend. Why teams split content management from presentation.

#Web Development #Frontend #APIs
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

TypeScript Module Resolution Explained

TypeScript's moduleResolution setting decides how import paths map to files. How node10, node16, and bundler resolution differ, and which to pick.

#TypeScript #JavaScript #Developer Tools
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

HTTP Methods Explained: GET, POST, PUT, PATCH, DELETE

HTTP methods signal intent — read, create, replace, update, or remove — and that intent determines caching, idempotency, and safety guarantees.

#Web Development #Networking #Backend
The Lycoris Team The Lycoris Team · · 4 min read

Git Stash Explained: Shelve Changes Without Committing

Git stash saves uncommitted work to a hidden stack so you can switch branches cleanly. How stash, pop, apply, and stash branches actually work.

#Git #Developer Tools #Version Control
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

What Is an Availability Zone? Cloud Regions Explained

An availability zone is an isolated data center (or cluster of them) within a cloud region, designed so one zone's failure doesn't take down another.

#Cloud #Infrastructure #DevOps
The Lycoris Team The Lycoris Team · · 4 min read

SQL CTEs vs Subqueries: When to Use Which

Common table expressions and subqueries both let you build a query from smaller pieces, but they differ in readability, reuse, and optimizer behavior.

#Databases #SQL #Backend
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 a Distributed Lock?

A distributed lock coordinates exclusive access to a shared resource across multiple processes or machines, preventing race conditions in distributed systems.

#Databases #Distributed Systems #Backend
The Lycoris Team The Lycoris Team · · 4 min read

Natural Keys vs Surrogate Keys in Database Design

Natural keys use real-world data as a primary key; surrogate keys use a generated ID. Here's how to choose, with the trade-offs of each.

#Databases #SQL #Backend
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
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
The Lycoris Team The Lycoris Team · · 4 min read

Docker Multi-Stage Builds Explained

Multi-stage builds let a Dockerfile use one stage to compile code and a separate, minimal stage to ship it — cutting image size and attack surface.

#Docker #DevOps #Containers
The Lycoris Team The Lycoris Team · · 4 min read

PostgreSQL JSONB Explained

JSONB stores JSON in PostgreSQL as a parsed, indexable binary format instead of raw text. How it works, and when to reach for it.

#Databases #SQL #Backend
The Lycoris Team The Lycoris Team · · 4 min read

The N+1 Query Problem: What It Is and How to Fix It

The N+1 query problem fires one query per row instead of one query total, quietly turning a fast page into hundreds of round trips. How to spot and fix it.

#Databases #Performance #SQL
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 · · 5 min read

Hash Join vs Nested Loop Join vs Merge Join

Hash joins, nested loop joins, and merge joins are the three ways a database executes a JOIN — here's when the query planner picks each one.

#Databases #SQL #Performance
The Lycoris Team The Lycoris Team · · 5 min read

Unit vs Integration vs End-to-End Tests

Unit tests check one function in isolation, integration tests check pieces working together, and end-to-end tests check the whole system end to end.

#Testing #Developer Tools #Software Engineering
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
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

What Is a Blameless Postmortem? Incident Reviews

A blameless postmortem examines an incident's causes without assigning fault, so teams surface real fixes instead of hiding mistakes.

#DevOps #Observability #Cloud
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
The Lycoris Team The Lycoris Team · · 4 min read

What Is an Internal Developer Platform (IDP)?

An internal developer platform packages infrastructure into self-service tools so developers ship without filing tickets or learning Kubernetes.

#DevOps #Cloud #Developer Tools
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
The Lycoris Team The Lycoris Team · · 4 min read

What Is a Composite Index in a Database?

A composite index spans multiple columns in a fixed order, speeding up queries that filter or sort on that combination. How column order changes everything.

#Databases #SQL #Performance
The Lycoris Team The Lycoris Team · · 4 min read

Vitest vs Jest: Choosing a JavaScript Test Runner

Vitest and Jest share a similar API, but Vitest's Vite-based architecture makes it faster with native ESM. How the two test runners compare.

#JavaScript #Developer Tools #Testing
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 · · 5 min read

When to Denormalize a Database (and Why)

Denormalization trades write-time consistency for read-time speed by duplicating data — the right call once joins become your bottleneck.

#Databases #SQL #Backend
The Lycoris Team The Lycoris Team · · 4 min read

What Is Git Bisect? Finding a Bad Commit Fast

git bisect finds the exact commit that introduced a bug by binary-searching your commit history, cutting the search space in half each step.

#Git #Developer Tools #Version Control
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
The Lycoris Team The Lycoris Team · · 4 min read

Cache-Aside vs Read-Through Caching Explained

Cache-aside puts the application in charge of loading cache misses; read-through delegates that job to the cache itself. How each pattern works.

#Databases #Performance #Backend
The Lycoris Team The Lycoris Team · · 4 min read

What Is a Database Cursor? Row-by-Row Traversal

A database cursor is a pointer that lets you fetch a query's result set one row at a time instead of all at once. How cursors work and when to use them.

#Databases #SQL #Backend
The Lycoris Team The Lycoris Team · · 4 min read

Point-in-Time Recovery Explained: PITR for Databases

Point-in-time recovery restores a database to any moment between backups by replaying transaction logs, undoing bad deploys and accidental deletes.

#Databases #Cloud #DevOps
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
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

GROUP BY vs HAVING in SQL: What's the Difference

GROUP BY collapses rows into groups for aggregation; HAVING filters those groups afterward. How the two clauses differ and where each runs in query order.

#Databases #SQL #Backend
The Lycoris Team The Lycoris Team · · 4 min read

What Is a Bitmap Index?

A bitmap index uses a bit array per distinct value to speed up queries on low-cardinality columns, and combines multiple filters with fast bitwise AND/OR.

#Databases #SQL #Performance
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
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
The Lycoris Team The Lycoris Team · · 4 min read

What Is Write Amplification? SSDs and Databases

Write amplification is when a system writes more data physically than the logical write requested, wearing out storage faster and hurting throughput.

#Databases #Hardware #Performance
The Lycoris Team The Lycoris Team · · 4 min read

Redis Persistence: RDB vs AOF, Explained

Redis is in-memory, so RDB snapshots and the AOF log are how it survives a restart — each trades durability against performance differently.

#Redis #Databases #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 · · 6 min read

How to Read a Postgres EXPLAIN ANALYZE Query Plan

A step-by-step guide to running EXPLAIN ANALYZE in PostgreSQL and reading the query plan it returns — node types, costs, and where the real time went.

#Databases #SQL #Performance
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 a Database Trigger?

A database trigger is a procedure that runs automatically on an insert, update, or delete — enforcing rules the application layer can't guarantee.

#Databases #SQL #Backend
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
The Lycoris Team The Lycoris Team · · 5 min read

Postgres Index Types: B-Tree vs GIN vs GiST

Postgres offers several index types beyond the default B-tree. When GIN and GiST outperform it for arrays, JSONB, full-text search, and ranges.

#Databases #SQL #Performance
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
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
The Lycoris Team The Lycoris Team · · 5 min read

What Is a Covering Index?

A covering index holds every column a query needs, letting the database answer from the index alone without a lookup back to the table.

#Databases #SQL #Performance
The Lycoris Team The Lycoris Team · · 4 min read

API Versioning Strategies Explained

URI paths, custom headers, and content negotiation are the three common ways to version an API. Tradeoffs of each, and how to avoid breaking clients.

#Web Development #Developer Tools #Backend
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
The Lycoris Team The Lycoris Team · · 4 min read

Data Warehouse vs Data Lake: What's the Difference?

A data warehouse stores structured, pre-modeled data optimized for queries; a data lake stores raw data of any shape. When each one fits.

#Databases #Data Engineering #Backend
The Lycoris Team The Lycoris Team · · 4 min read

Primary Key vs Foreign Key vs Unique Constraint

Primary keys identify a row, foreign keys link one table to another, and unique constraints just prevent duplicates. How the three differ in SQL.

#Databases #SQL #Backend
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 · · 4 min read

Database Deadlocks Explained: Causes and Prevention

A database deadlock happens when two transactions each wait on a lock the other holds. Why deadlocks occur, how databases detect them, and how to avoid them.

#Databases #SQL #Backend
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 · · 5 min read

Write-Through vs Write-Back vs Write-Around Caching

Write-through writes to cache and store together, write-back delays the store write, write-around skips the cache on writes entirely. When to use each.

#Databases #Performance #Backend
The Lycoris Team The Lycoris Team · · 4 min read

What Is a Dead Letter Queue? Failed Message Handling

A dead letter queue holds messages a system couldn't process after repeated retries, isolating failures so they don't block or silently vanish. How it works.

#Backend #Infrastructure #Cloud
The Lycoris Team The Lycoris Team · · 4 min read

What Is an SBOM? Software Bill of Materials Explained

An SBOM is a complete inventory of every component in a piece of software, including its dependencies. Why it matters for tracking vulnerabilities at scale.

#Security #DevOps #Open Source
The Lycoris Team The Lycoris Team · · 4 min read

Star Schema vs Snowflake Schema: Which to Use

Star schema denormalizes dimensions into flat tables for fast queries; snowflake schema normalizes them to save space. How to choose for your warehouse.

#Databases #Data Engineering #Backend
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
The Lycoris Team The Lycoris Team · · 3 min read

Kafka vs RabbitMQ: Choosing a Message Broker

Kafka is a durable, replayable log built for high-throughput streams; RabbitMQ is a traditional broker built for flexible routing and task queues.

#Backend #Infrastructure #Cloud
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 · · 4 min read

What Is Database Vacuuming? Why Postgres Needs It

Vacuuming reclaims space left by deleted and updated rows in databases like PostgreSQL, preventing bloat and transaction ID wraparound.

#Databases #PostgreSQL #Backend
The Lycoris Team The Lycoris Team · · 4 min read

API Keys vs OAuth Tokens: What's the Difference

API keys are static secrets tied to an app; OAuth tokens are short-lived, scoped, and tied to a specific user's consent. Here's when to use each.

#Security #APIs #Authentication
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
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
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
The Lycoris Team The Lycoris Team · · 4 min read

How Database Query Optimizers Work

A query optimizer turns declarative SQL into an execution plan by estimating the cost of alternative strategies. How that estimation works and how to read a plan.

#Databases #SQL #Backend
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
The Lycoris Team The Lycoris Team · · 5 min read

What Is SQLite? The Database Inside Your App

SQLite is a serverless, file-based SQL database compiled directly into an application. How it works, why it's everywhere, and when to reach for it.

#Databases #SQL #Backend
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 · · 5 min read

What Is a Read Replica? Database Scaling Explained

A read replica is a synced copy of a database that serves read queries, taking load off the primary. How replication lag and failover actually work.

#Databases #SQL #Backend
The Lycoris Team The Lycoris Team · · 5 min read

What Is a Graph Database?

A graph database stores data as nodes and relationships instead of tables, making deeply connected queries fast instead of a chain of costly joins.

#Databases #Data Engineering #Backend
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
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
The Lycoris Team The Lycoris Team · · 5 min read

How Digital Signatures Work

A digital signature uses a private key to prove a message's origin and integrity, and a public key lets anyone verify it — no shared secret required.

#Security #Cryptography #Authentication
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
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
The Lycoris Team The Lycoris Team · · 4 min read

What Is a CTE? Common Table Expressions Explained

A CTE is a named, temporary result set defined with WITH that you can reference elsewhere in a SQL query. How they work and when to use one.

#Databases #SQL #Backend
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

Optimistic vs Pessimistic Locking in Databases

Optimistic locking checks for conflicts at write time; pessimistic locking blocks other writers up front. How each works and when to pick one.

#Databases #Backend #SQL
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
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

Data Lakehouse Explained: What It Is and How It Works

A data lakehouse combines a data lake's cheap object storage with a data warehouse's transactional guarantees and schema. How the architecture works.

#Databases #Data Engineering #Backend
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

What Is Write-Ahead Logging (WAL)?

Write-ahead logging records changes to a log before applying them to a database, making crash recovery and replication possible. Here's how it works.

#Databases #SQL #Backend
The Lycoris Team The Lycoris Team · · 4 min read

Columnar vs. Row-Oriented Databases

Row-oriented databases store each record together on disk; columnar databases store each column together. The layout decides which workloads are fast.

#Databases #Data Engineering #Backend
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 Git Worktree? Multiple Branches, One Repo

A git worktree lets you check out several branches at once in separate folders, sharing one .git history without cloning the repo again.

#Git #Developer Tools #Version Control
The Lycoris Team The Lycoris Team · · 4 min read

What Is Change Data Capture (CDC)? Explained

Change data capture streams row-level inserts, updates, and deletes out of a database in real time, powering sync pipelines, caches, and event-driven systems.

#Databases #Data Engineering #Backend
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 · · 5 min read

The N+1 Query Problem and How to Fix It

The N+1 query problem turns one database request into hundreds by issuing a separate query per row. Here's how to spot it and fix it.

#Databases #SQL #Performance
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
The Lycoris Team The Lycoris Team · · 4 min read

OLTP vs OLAP: Two Very Different Ways to Query Data

OLTP systems handle many small, fast transactions like orders and logins; OLAP systems run large analytical queries across historical data for reporting.

#Databases #SQL #Backend
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 Idempotency? Idempotent APIs Explained

An idempotent operation produces the same result no matter how many times it runs. Why that matters for retries, payments, and reliable APIs.

#APIs #Web Development #Software Engineering
The Lycoris Team The Lycoris Team · · 4 min read

ACID Transactions Explained: Database Guarantees

ACID — atomicity, consistency, isolation, durability — defines the guarantees a database transaction makes so concurrent, failure-prone operations stay correct.

#Databases #SQL #Backend
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
The Lycoris Team The Lycoris Team · · 4 min read

What Is an ORM? Object-Relational Mapping Explained

An ORM lets you query a database using your programming language's objects instead of raw SQL. How they work, what they trade off, and when to skip one.

#Databases #Developer Tools #Web Development
The Lycoris Team The Lycoris Team · · 4 min read

What Is Database Normalization? A Practical Guide

Database normalization organizes tables to eliminate redundant data and update anomalies. The normal forms explained with a worked example.

#Databases #SQL #Backend
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 Database Sharding? Scaling Explained

Database sharding splits one dataset across many servers so no single machine holds it all. How sharding works, how to pick a shard key, and the trade-offs.

#Databases #Scalability #Backend
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
The Lycoris Team The Lycoris Team · · 4 min read

What Is Database Indexing? Faster Queries, Explained

A database index is a sorted data structure that lets the engine find rows without scanning the whole table. How indexes work, and when they help or hurt.

#Databases #SQL #Performance
The Lycoris Team The Lycoris Team · · 4 min read

Finding Summer Internship Housing as a Tech Intern

Landed a summer tech internship in a new city? How to find short-term housing fast — and why SubLeaps, a verified .edu sublease marketplace, stands out.

#Internships #Housing #Careers
The Lycoris Team The Lycoris Team · · 5 min read

What Is JSON Schema? JSON Validation, Explained

JSON Schema is a vocabulary for describing and validating the shape of JSON data. How schemas work, where they show up, and the keywords that matter.

#JSON #Web Development #Developer Tools
The Lycoris Team The Lycoris Team · · 2 min read

Getty Images and OpenAI Sign a Content Deal

Getty Images will surface its licensed library inside ChatGPT's search experience under a multi-year deal with OpenAI — another step from lawsuits to licensing.

#AI #LLMs #Search
The Lycoris Team The Lycoris Team · · 4 min read

Microservices vs Monolith: How to Choose

Monoliths ship faster early; microservices buy independent scaling and team autonomy at the cost of distributed complexity. How to choose.

#DevOps #Cloud #Web Development
The Lycoris Team The Lycoris Team · · 3 min read

What Is Git? Version Control, Explained for Beginners

Git is a distributed version control system that tracks changes to code and enables collaboration. Learn the core concepts and everyday workflow.

#Git #Developer Tools #Version Control
The Lycoris Team The Lycoris Team · · 3 min read

China Unveils a $295 Billion AI Infrastructure Plan

China unveiled a $295 billion, five-year national AI infrastructure plan — one of the largest state AI commitments ever. Here's the scale and the strategic stakes.

#AI #Hardware #Cloud
The Lycoris Team The Lycoris Team · · 5 min read

Git Rebase vs. Merge: A Practical Guide

When should you rebase and when should you merge? A clear, example-driven breakdown of the trade-offs, plus a simple workflow you can adopt today.

#Git #Version Control #Workflow
The Lycoris Team The Lycoris Team · · 7 min read

What Is a Load Balancer? How It Works, Explained

A load balancer distributes traffic across servers to prevent overload and downtime. Layer 4 vs Layer 7, routing algorithms, health checks, and TLS.

#Networking #Cloud #Performance
The Lycoris Team The Lycoris Team · · 5 min read

JSON vs YAML: Which Format Should You Use?

JSON and YAML represent the same data — the difference is syntax, strictness, and footguns. Where each format wins, and which to pick for configs and APIs.

#JSON #Web Development #Developer Tools
The Lycoris Team The Lycoris Team · · 5 min read

Noam Shazeer Leaves Google DeepMind for OpenAI

Noam Shazeer, a co-author of the Transformer paper that underpins modern AI, is leaving Google DeepMind for OpenAI — the AI talent war's latest marquee move.

#AI #LLMs #Machine Learning
The Lycoris Team The Lycoris Team · · 4 min read

What Is Apache Kafka? Event Streaming, Explained

Apache Kafka is a distributed event-streaming platform built on a durable, append-only log. How topics, partitions, and consumers power real-time pipelines.

#Databases #DevOps #Cloud
The Lycoris Team The Lycoris Team · · 2 min read

The EU AI Act's GPAI Rules Get Teeth in August

On August 2, 2026, the EU gains real enforcement power over general-purpose AI models — fines, mandated mitigations, even recalls. What providers need to know.

#AI #LLMs #Security
The Lycoris Team The Lycoris Team · · 5 min read

Local-First Software Is Having a Moment

A growing movement wants apps that work offline, sync seamlessly, and keep your data yours. Here's what 'local-first' means and why developers are excited.

#Software #Web Development #Offline
The Lycoris Team The Lycoris Team · · 3 min read

What Is Go? Google's Language for the Cloud Era

Go is a compiled language from Google built for simplicity, fast builds, and easy concurrency — the language behind Docker and Kubernetes.

#Programming Languages #Developer Tools #Cloud
The Lycoris Team The Lycoris Team · · 3 min read

What Is an API? The Contracts That Connect Software

An API is a defined contract that lets one piece of software talk to another. Learn what APIs are, how they work, and why modern software runs on them.

#API #Developer Tools #Web Development
The Lycoris Team The Lycoris Team · · 4 min read

What Is Terraform? Infrastructure as Code, Explained

Terraform lets you declare cloud infrastructure as code and provision it reproducibly across AWS, GCP, and Azure. How plan/apply, state, and modules work.

#DevOps #Cloud #Developer Tools
The Lycoris Team The Lycoris Team · · 2 min read

Apple Rebuilds Siri Around Generative AI

At WWDC 2026, Apple unveiled 'Siri AI' — a ground-up redesign powered by Google's Gemini through a multi-billion-dollar partnership. Here's what changed and why.

#AI #LLMs #Machine Learning
The Lycoris Team The Lycoris Team · · 6 min read

What Is JSON? The Data Format That Runs the Web

JSON is a lightweight text format for structured data — the default for APIs and config files. Syntax, examples, common mistakes, and why it beat XML.

#JSON #Web Development #Developer Tools
The Lycoris Team The Lycoris Team · · 4 min read

What Is Serverless? Functions, Scaling, and Cost

Serverless means deploying code without managing servers — the platform scales it and you pay per use. How it works and where it fits.

#Cloud #Serverless #DevOps
The Lycoris Team The Lycoris Team · · 4 min read

SQL vs NoSQL: How to Actually Choose

SQL and NoSQL aren't rivals — they suit different shapes of data. How relational and non-relational databases compare, and how to pick.

#Databases #Cloud #Developer Tools
The Lycoris Team The Lycoris Team · · 3 min read

What Is a REST API? A Plain-English Guide

A REST API is a web API that follows a set of conventions built on HTTP. Learn how URLs, HTTP methods, status codes, and JSON fit together.

#API #REST #Web Development
The Lycoris Team The Lycoris Team · · 5 min read

Zig: The Systems Language Betting on Simplicity

Zig is a systems language built on radical explicitness — no hidden allocations, no macros, no preprocessor. Why developers are paying attention.

#Programming Languages #Open Source #Developer Tools
The Lycoris Team The Lycoris Team · · 6 min read

What Is RISC-V? The Open Instruction Set, Explained

RISC-V is a free, open instruction set architecture anyone can implement without royalties. How it works, why it matters, and where it's already winning.

#Hardware #Open Source #Programming Languages
The Lycoris Team The Lycoris Team · · 3 min read

What Is Python? The Language Behind AI and So Much More

Python is a high-level, readable general-purpose programming language that dominates data science, AI, and web backends. Here's why it became so popular.

#Python #Programming Languages #Developer Tools
The Lycoris Team The Lycoris Team · · 5 min read

The Quiet Rise of Edge Databases

Putting compute at the edge is old news — now the data is moving there too. Edge databases promise low latency everywhere, with some real trade-offs.

#Cloud #Databases #Edge