OS

OpenStem

@openstem · Joined Jul 2026
7420 public items8 groups
Content7420Groups8
Note~112 words · 1 min
Three Ways to Create a Value Go gives you three different ways to bring a value into existence, and they aren't interchangeable — each is scoped to a different kind of type or a different need. Picking One In practice, most Go code reaches
Software

Software · L1 · Go: new(), make(), or a Literal?

@openstem
Software · L1 · Go: new(), make(), or a Literal?
Note~670 words · 3 min
Topics, Partitions, and Ordering A Kafka topic is a named stream, physically split into partitions — each partition is an append-only, immutable log that new messages are appended to and consumers read sequentially. Kafka only guarantees or
Software

Software · L4 · Event Streaming & Kafka

@openstem
Software · L4 · Event Streaming & Kafka
Note~671 words · 3 min
The Three Pillars Observability tooling is usually organized around three complementary data types, each suited to a different question. Metrics are cheap, aggregatable numeric time series (counters, gauges, histograms) — great for dashboar
Software

Software · L4 · Observability: Metrics, Logs, and Traces

@openstem
Software · L4 · Observability: Metrics, Logs, and Traces
Note~126 words · 1 min
Passing a Value Without a Fight Every time you hand a value to a function or another variable, Rust makes you pick one of three strategies. Getting this choice right up front avoids most of the borrow-checker errors newcomers run into. Work
Software

Software · L1 · Rust: Move, Borrow, or Clone?

@openstem
Software · L1 · Rust: Move, Borrow, or Clone?
Note~192 words · 1 min
A Class Is a Blueprint A class defines the shape of an object: its fields (state) and methods (behavior). No memory is allocated just by writing a class — an object only exists once you construct one with `new`. Many objects can be built fr
Software

Software · L1 · Java: Classes & Objects

@openstem
Software · L1 · Java: Classes & Objects
Note~93 words · 1 min
The Critical Rendering Path A browser doesn't just 'show' a page — it builds up several internal trees, one step feeding the next, before anything appears on screen. A `<script>` tag without `defer` or `async` blocks HTML parsing entirely w
Software

Software · L1 · HTML & CSS: How the Browser Renders a Page

@openstem
Software · L1 · HTML & CSS: How the Browser Renders a Page
Note~94 words · 1 min
One Loop, Five Phases Node's event loop cycles through a fixed sequence of phases every tick. Libuv drives this loop, dispatching queued callbacks in each phase before moving to the next. `process.nextTick()` callbacks and resolved Promise
Software

Software · L1 · Node.js: Event Loop Walkthrough

@openstem
Software · L1 · Node.js: Event Loop Walkthrough
Note~209 words · 1 min
Untyped λ-Calculus The untyped λ-calculus (Church 1936) has three term forms: variables x, abstractions λx.M (anonymous functions), and applications (M N). The only computation rule is β-reduction: Substitute N for all free occurrences of x
Software

Software · L5 · Type Theory and the λ-Calculus

@openstem
Software · L5 · Type Theory and the λ-Calculus
Note~329 words · 2 min
Amortised Analysis Amortised analysis assigns a cost to each operation in a sequence so that the total amortised cost bounds the total actual cost, even when individual operations are expensive. Example: Dynamic Array (Doubling) A dynamic a
Software

Software · L5 · Advanced Algorithms: Amortised Analysis and Randomisation

@openstem
Software · L5 · Advanced Algorithms: Amortised Analysis and Randomisation
Note~81 words · 1 min
From URL to Rendered Page A single 'visit this page' action hides several layered protocol steps, each building on the one before it, before a single byte of HTML is exchanged. With `Connection: keep-alive`, later requests to the same host
Software

Software · L1 · Networking & HTTP: Anatomy of a Web Request

@openstem
Software · L1 · Networking & HTTP: Anatomy of a Web Request
Note~189 words · 1 min
From Creation to Termination Every process moves through a small set of states as the OS scheduler and I/O subsystem manage it. Learning these states makes it much easier to reason about what 'the CPU is busy' or 'the program is stuck' actu
Software

Software · L1 · Operating Systems: The Process Lifecycle

@openstem
Software · L1 · Operating Systems: The Process Lifecycle
Note~162 words · 1 min
Why Simple Code Breaks Under Concurrency Code like `counter++` looks like one step but is really read, add one, write — three separate steps. If two threads interleave those steps, one thread's update can silently vanish. This is the root c
Software

Software · L1 · Concurrency: Protecting Shared State

@openstem
Software · L1 · Concurrency: Protecting Shared State
Note~152 words · 1 min
From Credentials to a Trusted Session Every login screen hides a short pipeline: the app takes what a user typed, proves it matches an account, and then hands back something reusable so the user isn't asked to log in on every click. Notice
Software

Software · L1 · Security & Auth: Login & Session Flow

@openstem
Software · L1 · Security & Auth: Login & Session Flow
Note~115 words · 1 min
One Dockerfile, Many Running Containers An image only becomes useful once it moves — from your machine, to a registry, to wherever it needs to run. Each stage has its own command and its own output. The registry is the handoff point: it's t
Software

Software · L1 · Docker & Kubernetes: Image Build & Deploy Lifecycle

@openstem
Software · L1 · Docker & Kubernetes: Image Build & Deploy Lifecycle
Note~117 words · 1 min
Red, Green, Refactor Test-Driven Development isn't just 'write tests' — it's a specific loop, repeated for every small piece of behavior you add. Skipping the Red phase — writing the implementation before the test ever fails — means you nev
Software

Software · L1 · Testing: The Red-Green-Refactor Cycle

@openstem
Software · L1 · Testing: The Red-Green-Refactor Cycle
Note~154 words · 1 min
Why Creational Patterns Exist Creational patterns all deal with the same underlying question — how should an object come into existence? — but they answer it differently depending on what makes construction hard: uniqueness, complexity, var
Software

Software · L1 · Design Patterns: Choosing a Creational Pattern

@openstem
Software · L1 · Design Patterns: Choosing a Creational Pattern
Note~154 words · 1 min
pubspec.yaml: Your Project's Manifest Every Dart/Flutter project has a `pubspec.yaml` at its root declaring the project's name, its SDK constraint, and its dependencies (and dev_dependencies, used only during development, like test tooling)
Software

Software · L1 · Dart: Packages & Tooling

@openstem
Software · L1 · Dart: Packages & Tooling
Note~157 words · 1 min
Styling a Single Widget Most visual widgets accept a `style` parameter. `Text('Hi', style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold, color: Colors.blue))` controls that one piece of text directly. This works, but repeating the sa
Software

Software · L1 · Flutter: Styling & Theming

@openstem
Software · L1 · Flutter: Styling & Theming
Note~168 words · 1 min
The public/ Folder Files placed in `public/` are served as-is from the site root: `public/logo.png` is reachable at `/logo.png`. It's the right place for a favicon, robots.txt, or any static file that doesn't need processing. next/image: Op
Software

Software · L1 · Next.js: Images, Fonts & Assets

@openstem
Software · L1 · Next.js: Images, Fonts & Assets
Note~100 words · 1 min
What Happens Before Your Handler Runs Every incoming request passes through several distinct layers, each with a specific job, before reaching the controller method you wrote. An exception filter sits outside this whole flow — it catches an
Software

Software · L1 · NestJS: Request Lifecycle

@openstem
Software · L1 · NestJS: Request Lifecycle
Note~133 words · 1 min
Two Ways to Model Relationships MongoDB gives you two basic strategies for related data: embed it as a subdocument inside the parent, or store it in a separate collection and reference it by _id. There's no single right answer — it depends
Software

Software · L1 · MongoDB: Schema Design — Embedding vs Referencing

@openstem
Software · L1 · MongoDB: Schema Design — Embedding vs Referencing
Note~113 words · 1 min
From Text to Searchable Tokens A plain `LIKE '%word%'` search can't rank results and can't skip suffixes or grammatical variants. Postgres full-text search instead normalizes text into lexemes — stemmed, lowercased tokens — so 'running' and
Software

Software · L1 · PostgreSQL: Full-Text Search

@openstem
Software · L1 · PostgreSQL: Full-Text Search
Note~135 words · 1 min
Three Kinds of Storage AWS offers storage shaped for different access patterns. Object storage (S3) is accessed over HTTP and has no real filesystem. Block storage (EBS) behaves like a virtual hard disk attached to one instance. File storag
Software

Software · L1 · AWS: Storage Options Compared

@openstem
Software · L1 · AWS: Storage Options Compared
Note~125 words · 1 min
Three Kinds of Storage Like most cloud providers, GCP splits storage by access pattern. Cloud Storage holds objects accessed over HTTP(S) with no real filesystem. Persistent Disk is a block device attached to one VM at a time. Filestore is
Software

Software · L1 · Google Cloud: Storage & Database Options

@openstem
Software · L1 · Google Cloud: Storage & Database Options
Note~97 words · 1 min
Init, Plan, Apply, Destroy Terraform's day-to-day workflow is short and repeatable: prepare the working directory, preview the change, then decide whether to make it real. Only apply and destroy ever touch real resources — plan is always sa
Software

Software · L1 · Terraform: The Core Workflow

@openstem
Software · L1 · Terraform: The Core Workflow
Note~112 words · 1 min
Sending a Message Across the Internet When you send a message or open a website, your computer breaks the information into small pieces called packets. Each packet travels through a network of routers — special computers that act like post
Software

Software · L2 · How the Internet Works

@openstem
Software · L2 · How the Internet Works
Note~186 words · 1 min
One Thread, Two Queues JavaScript runs on a single thread: only one piece of code executes at a time, tracked on the call stack. Asynchronous work — timers, promises, I/O — doesn't run inline; it gets scheduled onto one of two queues that t
Software

Software · L2 · JavaScript: The Event Loop

@openstem
Software · L2 · JavaScript: The Event Loop
Note~135 words · 1 min
One Job Each TypeScript's built-in utility types each transform an existing type in exactly one way. Reaching for the wrong one — or hand-writing a mapped type that already exists as a utility — makes signatures harder to read for no benefi
Software

Software · L2 · TypeScript: Picking the Right Utility Type

@openstem
Software · L2 · TypeScript: Picking the Right Utility Type
Note~122 words · 1 min
Three Kinds of Method Every method in a Python class body is one of three flavors, distinguished by what it's implicitly handed as its first argument — and that first argument tells you exactly what the method is allowed to touch. Deciding
Software

Software · L2 · Python: classmethod, staticmethod, or Instance Method?

@openstem
Software · L2 · Python: classmethod, staticmethod, or Instance Method?
Note~86 words · 1 min
Mount, Update, and Unmount An effect always runs after the browser paints, never blocking the render. Its cleanup function runs before the effect fires again (when a dependency changed) and once more on unmount. `useLayoutEffect` follows th
Software

Software · L2 · React: Effect Lifecycle

@openstem
Software · L2 · React: Effect Lifecycle

We use privacy-friendly product analytics (no session recording, PII masked) to improve OpenStem. Load analytics? Privacy Policy