1st Principles

Subject

Systems

Client-server and related architectural patterns that shape networked software.

101 sub-topics · use search below on large subjects

Curriculum

Core lessons

Client-server design, APIs, concurrency, and durable state.

  • Client-ServerSystems · 28 min

    The dominant networked application pattern: clients initiate requests, servers listen and respond, and responsibilities split across an asymmetric relationship.

  • APIs and ContractsSystems · 30 min

    An API is a boundary with a contract: allowed inputs, promised outputs, and failure rules. Implicit contracts break silently. Explicit ones fail loudly and evolvable.

  • Concurrency and ProcessesSystems · 32 min

    Why a server must handle many clients at once, how processes, threads, and async overlap conceptually, and how race conditions appear when shared state meets overlapping work.

  • State and PersistenceSystems · 30 min

    Why servers must remember things across requests, how memory and disk trade latency for durability, and how that general problem sits under web sessions and API resources.

Application

Constraints in real jobs (Systems)

Constraints in real jobs as it applies to Systems.

Cost and benefit (Systems)

Cost and benefit as it applies to Systems.

Failure modes (Systems)

Failure modes as it applies to Systems.

Implementation steps (Systems)

Implementation steps as it applies to Systems.

Maintenance over time (Systems)

Maintenance over time as it applies to Systems.

Problem framing (Systems)

Problem framing as it applies to Systems.

Risk (Systems)

Risk as it applies to Systems.

Scaling up (Systems)

Scaling up as it applies to Systems.

Stakeholders (Systems)

Stakeholders as it applies to Systems.

Trade-offs (Systems)

Trade-offs as it applies to Systems.

Communication

Cross-disciplinary talk (Systems)

Cross-disciplinary talk as it applies to Systems.

Explaining to beginners (Systems)

Explaining to beginners as it applies to Systems.

Media coverage (Systems)

Media coverage as it applies to Systems.

Open questions (Systems)

Open questions as it applies to Systems.

Policy briefs (Systems)

Policy briefs as it applies to Systems.

Presentations (Systems)

Presentations as it applies to Systems.

Public controversy (Systems)

Public controversy as it applies to Systems.

Teaching others (Systems)

Teaching others as it applies to Systems.

Visuals that teach (Systems)

Visuals that teach as it applies to Systems.

Writing clear summaries (Systems)

Writing clear summaries as it applies to Systems.

Comparison

Analogies from other fields (Systems)

Analogies from other fields as it applies to Systems.

Common confusions (Systems)

Common confusions as it applies to Systems.

Competing models (Systems)

Competing models as it applies to Systems.

Consensus areas (Systems)

Consensus areas as it applies to Systems.

Debates that matter (Systems)

Debates that matter as it applies to Systems.

Historical shifts (Systems)

Historical shifts as it applies to Systems.

Interdisciplinary links (Systems)

Interdisciplinary links as it applies to Systems.

Regional differences (Systems)

Regional differences as it applies to Systems.

Schools of thought (Systems)

Schools of thought as it applies to Systems.

Translation of terms (Systems)

Translation of terms as it applies to Systems.

Context

Climate and environment (Systems)

Climate and environment as it applies to Systems.

Demographics (Systems)

Demographics as it applies to Systems.

Equity and access (Systems)

Equity and access as it applies to Systems.

Funding (Systems)

Funding as it applies to Systems.

Future scenarios (Systems)

Future scenarios as it applies to Systems.

Global trends (Systems)

Global trends as it applies to Systems.

Institutions (Systems)

Institutions as it applies to Systems.

Regulation (Systems)

Regulation as it applies to Systems.

Social impact (Systems)

Social impact as it applies to Systems.

Technology change (Systems)

Technology change as it applies to Systems.

Core ideas

Abstraction levels (Systems)

Abstraction levels as it applies to Systems.

Cause and correlation (Systems)

Cause and correlation as it applies to Systems.

Central definitions (Systems)

Central definitions as it applies to Systems.

Equilibrium and change (Systems)

Equilibrium and change as it applies to Systems.

Feedback loops (Systems)

Feedback loops as it applies to Systems.

Laws, rules, or patterns (Systems)

Laws, rules, or patterns as it applies to Systems.

Models and diagrams (Systems)

Models and diagrams as it applies to Systems.

Scale: micro to macro (Systems)

Scale: micro to macro as it applies to Systems.

Systems and parts (Systems)

Systems and parts as it applies to Systems.

Units and measurement (Systems)

Units and measurement as it applies to Systems.

Deep dives

Advanced preview (Systems)

Advanced preview as it applies to Systems.

Capstone directions (Systems)

Capstone directions as it applies to Systems.

Classic papers or texts (Systems)

Classic papers or texts as it applies to Systems.

Edge cases (Systems)

Edge cases as it applies to Systems.

Landmark discoveries (Systems)

Landmark discoveries as it applies to Systems.

Minority reports (Systems)

Minority reports as it applies to Systems.

Open research fronts (Systems)

Open research fronts as it applies to Systems.

Paradigm shifts (Systems)

Paradigm shifts as it applies to Systems.

Synthesis projects (Systems)

Synthesis projects as it applies to Systems.

Where to go next (Systems)

Where to go next as it applies to Systems.

Evidence

Anomalies (Systems)

Anomalies as it applies to Systems.

Bias and blind spots (Systems)

Bias and blind spots as it applies to Systems.

Case studies (Systems)

Case studies as it applies to Systems.

Conflicting studies (Systems)

Conflicting studies as it applies to Systems.

Data tables and charts (Systems)

Data tables and charts as it applies to Systems.

Primary sources (Systems)

Primary sources as it applies to Systems.

Secondary summaries (Systems)

Secondary summaries as it applies to Systems.

Strong versus weak claims (Systems)

Strong versus weak claims as it applies to Systems.

Triangulation (Systems)

Triangulation as it applies to Systems.

Uncertainty language (Systems)

Uncertainty language as it applies to Systems.

Methods

Documentation (Systems)

Documentation as it applies to Systems.

Estimation and error (Systems)

Estimation and error as it applies to Systems.

Ethics in method (Systems)

Ethics in method as it applies to Systems.

Experiments and controls (Systems)

Experiments and controls as it applies to Systems.

Observation protocols (Systems)

Observation protocols as it applies to Systems.

Peer review (Systems)

Peer review as it applies to Systems.

Replication (Systems)

Replication as it applies to Systems.

Reproducible workflows (Systems)

Reproducible workflows as it applies to Systems.

Simulation and models (Systems)

Simulation and models as it applies to Systems.

Surveys and samples (Systems)

Surveys and samples as it applies to Systems.

Orientation

Careers and roles (Systems)

Careers and roles as it applies to Systems.

Everyday examples (Systems)

Everyday examples as it applies to Systems.

History in one glance (Systems)

History in one glance as it applies to Systems.

How claims get checked (Systems)

How claims get checked as it applies to Systems.

Jargon worth learning first (Systems)

Jargon worth learning first as it applies to Systems.

Objects you study (Systems)

Objects you study as it applies to Systems.

Reading habits that stick (Systems)

Reading habits that stick as it applies to Systems.

Tools practitioners use (Systems)

Tools practitioners use as it applies to Systems.

What questions the field asks (Systems)

What questions the field asks as it applies to Systems.

What the field is not (Systems)

What the field is not as it applies to Systems.

Skills

Checklists (Systems)

Checklists as it applies to Systems.

Collaboration norms (Systems)

Collaboration norms as it applies to Systems.

Debugging mistakes (Systems)

Debugging mistakes as it applies to Systems.

Hands-on practice (Systems)

Hands-on practice as it applies to Systems.

Mentorship (Systems)

Mentorship as it applies to Systems.

Pattern recognition (Systems)

Pattern recognition as it applies to Systems.

Portfolio pieces (Systems)

Portfolio pieces as it applies to Systems.

Self-assessment (Systems)

Self-assessment as it applies to Systems.

Speed versus accuracy (Systems)

Speed versus accuracy as it applies to Systems.

Tooling basics (Systems)

Tooling basics as it applies to Systems.