ontoref/assets/presentation/reader-script-en-pronunciation.md
Jesús Pérez d59644b96f
feat: unified auth model, project onboarding, install pipeline, config management
The full scope across this batch: POST /sessions key→token exchange, SessionStore dual-index with revoke_by_id, CLI Bearer injection (ONTOREF_TOKEN), ontoref setup
  --gen-keys, install scripts, daemon config form roundtrip, ADR-004/005, on+re self-description update (fully-self-described), and landing page refresh.
2026-03-13 20:56:31 +00:00

1312 lines
36 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Rustikon 2026 - Reader Script with Pronunciation Guide
Use this for practice. Read the SAY line.
## Slide 1
STORY: Act 1 - Hook & Promise
TENSION: Low -> Medium
EMPHASIS: Credibilidad y dolor real
DELIVERY: Calma, pausas limpias
EN: Why I Needed Rust
SAY: Why I Needed Rust (rahst)
EN: Finally, Infrastructure Automation I Can Sleep On
SAY: Finally, Infrastructure (IN-fruh-STRUHK-cher) automation (aw-tuh-MAY-shun) I Can Sleep On
EN: 🛡 ●●●○○
SAY: 🛡 ●●●○○
EN: 😴 ●●●○○
SAY: 😴 ●●●○○
EN: 🔥 ●○○○○
SAY: 🔥 ●○○○○
## Slide 2
STORY: Act 1 - Hook & Promise
TENSION: Low -> Medium
EMPHASIS: Credibilidad y dolor real
DELIVERY: Calma, pausas limpias
EN: Years. One Problem.
SAY: Years. / One Problem.
EN: 1987 → 2025
SAY: 1987 → 2025
EN: Era Tool Lesson
SAY: Era Tool Lesson
EN: ----- ------ --------
SAY: ----- ------ --------
EN: 1990s Perl Power without safety is a disaster
SAY: 1990s Perl Power without safety is a disaster
EN: 2000s Python Pragmatism without guarantees is fragile
SAY: 2000s Python Pragmatism without guarantees is fragile
EN: 2010s Bash · Chef · Ansible · Terraform More tools don't solve paradigm problems
SAY: 2010s Bash · Chef · Ansible (AN-suh-buhl) · Terraform (TEH-ruh-form) More tools don't solve paradigm (PAIR-uh-dym) problems
EN: 2020s Go · ???
SAY: 2020s Go · ???
EN: Each time, I thought I had the answer.
SAY: Each time, I thought I had the answer.
EN: Each time, reality proved me wrong.
SAY: Each time, reality proved me wrong.
## Slide 3
STORY: Act 1 - Hook & Promise
TENSION: Low -> Medium
EMPHASIS: Credibilidad y dolor real
DELIVERY: Calma, pausas limpias
EN: The Evolution
SAY: The Evolution
EN: How we got here
SAY: How we got here
## Slide 4
STORY: Act 2 - Escalation
TENSION: Medium -> High
EMPHASIS: Crecimiento de complejidad sin control
DELIVERY: Ritmo creciente
EN: Stage 1 — Local (late 80s / early 90s)
SAY: Stage 1 / Local (late 80s / early 90s)
EN: Dumb terminals. Single machine. One state.
SAY: Dumb terminals. / Single machine. / One state.
EN: Local development, long deployment cycles, low urgency
SAY: Local development, long deployment cycles, low urgency
EN: One state — easy to observe, easy to control
SAY: One state / easy to observe, easy to control
EN: IaC: procedural scripts, logic hidden inside the application
SAY: IaC (eye-ay-see): / procedural scripts, logic hidden inside the application
EN: > The Perl Era: we could do anything.
SAY: > The Perl Era: / we could do anything.
EN: >
SAY: >
EN: > We could also break anything.
SAY: > We could also break anything.
EN: >
SAY: >
EN: > Beautiful, terrifying metaprogramming.
SAY: > Beautiful, terrifying metaprogramming.
EN: >
SAY: >
EN: > No safety net.
SAY: > No safety net.
EN: > Silent failures at 3 AM.
SAY: > Silent failures at 3 AM.
EN: >
SAY: >
EN: > Lesson: power without safety is a disaster.
SAY: > Lesson: / power without safety is a disaster.
EN: 🛡 ●●●●○   😴 ●●●●○   🔥 ●○○○○
SAY: 🛡 ●●●●○   😴 ●●●●○   🔥 ●○○○○
## Slide 5
STORY: Act 2 - Escalation
TENSION: Medium -> High
EMPHASIS: Crecimiento de complejidad sin control
DELIVERY: Ritmo creciente
EN: Stage 2 — Networks / Internet
SAY: Stage 2 / Networks / Internet
EN: Systems getting farther away. More people. More coordination.
SAY: Systems getting farther away. / More people. / More coordination.
EN: Remote access, distributed teams, security becomes relevant
SAY: Remote access, distributed teams, security becomes relevant
EN: Cost of downtime rises — processes become critical
SAY: Cost of downtime rises / processes become critical
EN: Harmonizing: package installs, config, updates across multiple machines in parallel
SAY: Harmonizing: / package installs, config, updates across multiple machines in parallel
EN: IaC: reproducible automation, first declarative attempts
SAY: IaC (eye-ay-see): / reproducible automation (aw-tuh-MAY-shun), first declarative (dih-KLAR-uh-tiv) attempts
EN: > The Python Era: rapid development, great community.
SAY: > The Python Era: / rapid development, great community.
EN: >
SAY: >
EN: > But nothing stopped you from being wrong.
SAY: > But nothing stopped you from being wrong.
EN: >
SAY: >
EN: > Type hints came late — and optional.
SAY: > Type hints came late / and optional.
EN: >
SAY: >
EN: > Runtime errors >> compile-time errors.
SAY: > Runtime errors >> compile-time errors.
EN: >
SAY: >
EN: > Lesson: pragmatism without guarantees is fragile.
SAY: > Lesson: / pragmatism without guarantees is fragile.
EN: More pieces. More people. Getting interesting.
SAY: More pieces. / More people. / Getting interesting.
EN: 🛡 ●●●○○   😴 ●●●○○   🔥 ●●○○○
SAY: 🛡 ●●●○○   😴 ●●●○○   🔥 ●●○○○
## Slide 6
STORY: Act 2 - Escalation
TENSION: Medium -> High
EMPHASIS: Crecimiento de complejidad sin control
DELIVERY: Ritmo creciente
EN: Stage 3 — Containers / Cloud / CI-CD
SAY: Stage 3 / Containers / Cloud / CI-CD
EN: Everything. Everywhere. All at once.
SAY: Everything. / Everywhere. / All at once.
EN: Monolith → distributed, 24×7×365, high availability
SAY: Monolith → distributed, 24×7×365, high availability
EN: Cloud, hybrid, multi-cloud, on-prem — simultaneously
SAY: Cloud, hybrid, multi-cloud, on-prem / simultaneously
EN: Rollback and rollforward: database transactions, but for infrastructure
SAY: Rollback and rollforward: / database transactions, but for Infrastructure (IN-fruh-STRUHK-cher)
EN: Scale horizontally AND vertically — and descale
SAY: Scale horizontally AND vertically / and descale
EN: CI/CD continuous: new features, new deploys, permanent churn
SAY: CI/CD (see-eye / see-dee) continuous: / new features, new deploys, permanent churn
EN: > The Cloud/IaC Era: Ansible, Terraform, Chef, Puppet.
SAY: > The Cloud/IaC (eye-ay-see) Era: / Ansible (AN-suh-buhl), Terraform (TEH-ruh-form), Chef, Puppet.
EN: >
SAY: >
EN: > What changed? The syntax.
SAY: > What changed? The syntax.
EN: >
SAY: >
EN: > What didn't? The fundamental problems.
SAY: > What didn't? The fundamental problems.
EN: >
SAY: >
EN: > Still fighting type safety. Still discovering errors in production.
SAY: > Still fighting type safety. / Still discovering errors in production.
EN: >
SAY: >
EN: > Lesson: more tools don't solve paradigm problems.
SAY: > Lesson: / more tools don't solve paradigm (PAIR-uh-dym) problems.
EN: 🛡 ●●○○○   😴 ●○○○○   🔥 ●●●●○
SAY: 🛡 ●●○○○   😴 ●○○○○   🔥 ●●●●○
## Slide 7
STORY: Act 2 - Escalation
TENSION: Medium -> High
EMPHASIS: Crecimiento de complejidad sin control
DELIVERY: Ritmo creciente
EN: I could automate infrastructure.
SAY: I could automate Infrastructure (IN-fruh-STRUHK-cher).
EN: But I couldn't make it reliable.
SAY: But I couldn't make it reliable.
EN: I couldn't prevent mistakes.
SAY: I couldn't prevent mistakes.
EN: I couldn't sleep.
SAY: I couldn't sleep.
EN: 🛡 ●○○○○    😴 ○○○○○    🔥 ●●●●●
SAY: 🛡 ●○○○○    😴 ○○○○○    🔥 ●●●●●
## Slide 8
STORY: Act 3 - Problem Anatomy
TENSION: High
EMPHASIS: Causa raiz y costo de fallar tarde
DELIVERY: Didactico, frases cortas
EN: Why IaC Fails
SAY: Why IaC (eye-ay-see) Fails
EN: The restaurant problem
SAY: The restaurant problem
## Slide 9
STORY: Act 3 - Problem Anatomy
TENSION: High
EMPHASIS: Causa raiz y costo de fallar tarde
DELIVERY: Didactico, frases cortas
EN: The Restaurant
SAY: The Restaurant
EN: Every restaurant has at least three actors.
SAY: Every restaurant has at least three actors.
EN: Restaurant Infrastructure
SAY: Restaurant Infrastructure (IN-fruh-STRUHK-cher)
EN: --- ---
SAY: --- ---
EN: Guest declares what they want Declarative config (YAML, HCL)
SAY: Guest declares what they want declarative (dih-KLAR-uh-tiv) config (YAML, HCL)
EN: Waiter validates and transmits Orchestrator (K8s, Ansible)
SAY: Waiter validates and transmits orchestrator (OR-kes-tray-ter) (K8s, Ansible (AN-suh-buhl))
EN: Kitchen executes and delivers Runtime / provisioning
SAY: Kitchen executes and delivers Runtime / provisioning (pruh-VIH-zhuh-ning)
EN: Dish arrives — or doesn't Deployment succeeds — or not
SAY: Dish arrives / or doesn't Deployment succeeds / or not
EN: What makes it work — or not:
SAY: What makes it work / or not:
EN: The guest declares. Doesn't implement.
SAY: The guest declares. / Doesn't implement.
EN: The waiter must know what's possible — before going to the kitchen.
SAY: The waiter must know what's possible / before going to the kitchen.
EN: > "I want X" → waiter goes to kitchen
SAY: > "I want X" → waiter goes to kitchen
EN: > → "we don't have X, why is it on the menu?"
SAY: > → "we don't have X, why is it on the menu?"
EN: > → back to the table.
SAY: > → back to the table.
EN: >
SAY: >
EN: >
SAY: >
EN: > Equivalent: I configured a host with port 8443 → that port isn't allowed → reconfigure from zero.
SAY: > Equivalent: / I configured a host with port 8443 → that port isn't allowed → reconfigure from zero.
## Slide 10
STORY: Act 3 - Problem Anatomy
TENSION: High
EMPHASIS: Causa raiz y costo de fallar tarde
DELIVERY: Didactico, frases cortas
EN: The Truth That Mutates
SAY: The Truth That Mutates
EN: State is not static. It can change at every step of the chain.
SAY: State is not static. / It can change at every step of the chain.
EN: Step Truth for this actor
SAY: Step Truth for this actor
EN: --- ---
SAY: --- ---
EN: Guest speaks What they want
SAY: Guest speaks What they want
EN: Waiter's notepad What was written down
SAY: Waiter's notepad What was written down
EN: Kitchen markings What's done / not done
SAY: Kitchen markings What's done / not done
EN: Payment ticket What was actually served
SAY: Payment ticket What was actually served
EN: > Fail early = fail cheap. Fail in production = nightmare.
SAY: > Fail early = fail cheap. / Fail in production = nightmare.
EN: The context problem:
SAY: The context problem:
EN: The waiter knows the regular customer: "always no salt."
SAY: The waiter knows the regular customer: / "always no salt."
EN: The kitchen doesn't. If the waiter changes — that context disappears.
SAY: The kitchen doesn't. / If the waiter changes / that context disappears.
EN: Configuration drift is the same thing: Implicit state. Not explicit. Not propagated. Lost silently.
SAY: configuration (kun-fig-yuh-RAY-shun) drift is the same thing: / Implicit state. / Not explicit. / Not propagated. / Lost silently.
EN: The cost of failure depends on where it happens:
SAY: The cost of failure depends on where it happens:
EN: Fail at the table (impossible order): cheap — caught before kitchen
SAY: Fail at the table (impossible order): / cheap / caught before kitchen
EN: Fail in kitchen (ingredient missing): medium — renegotiate with guest
SAY: Fail in kitchen (ingredient missing): / medium / renegotiate with guest
EN: Fail at delivery (wrong dish arrives): expensive — experience destroyed
SAY: Fail at delivery (wrong dish arrives): / expensive / experience destroyed
## Slide 11
STORY: Act 3 - Problem Anatomy
TENSION: High
EMPHASIS: Causa raiz y costo de fallar tarde
DELIVERY: Didactico, frases cortas
EN: "We Don't Have Mushrooms"
SAY: "We Don't Have Mushrooms"
EN: When an actor in the chain can't fulfill part of the order.
SAY: When an actor in the chain can't fulfill part of the order.
EN: > "Can I substitute vegetables?"
SAY: > "Can I substitute vegetables?"
EN: >
SAY: >
EN: > That renegotiation must be explicit. Traced. Re-authorized. Not silent. Not assumed.
SAY: > That renegotiation must be explicit. / Traced. / Re-authorized. / Not silent. / Not assumed.
EN: Configuration drift is silent renegotiation:
SAY: configuration (kun-fig-yuh-RAY-shun) drift is silent renegotiation:
EN: The system changes. Nobody notified. State diverges without trace.
SAY: The system changes. / Nobody notified. / State diverges without trace.
EN: Rust's answer — Option :
SAY: Rust (rahst)'s answer / Option (OP-shun) :
EN: [code example]
SAY: [code example]
EN: > The compiler is the waiter who cannot pretend an ingredient exists.
SAY: > The compiler (kum-PIE-ler) is the waiter who cannot pretend an ingredient exists.
## Slide 12
STORY: Act 3 - Problem Anatomy
TENSION: High
EMPHASIS: Causa raiz y costo de fallar tarde
DELIVERY: Didactico, frases cortas
EN: The Config Evolution
SAY: The Config Evolution
EN: How we got from code to YAML hell
SAY: How we got from code to YAML hell
EN: Hardcoded — everything inside the binary. Full control. Zero flexibility.
SAY: Hardcoded / everything inside the binary. / Full control. / Zero flexibility.
EN: External config (JSON) — works between machines. Unreadable for humans at scale.
SAY: External config (JSON) / works between machines. / Unreadable for humans at scale.
EN: YAML / TOML — more readable. Fragile syntax. Implicit types. Silent errors.
SAY: YAML / TOML / more readable. / Fragile syntax. / Implicit types. / Silent errors.
EN: YAML + Serde — Serde validates the structure:
SAY: YAML + Serde (SER-dee) / Serde (SER-dee) validates the structure:
EN: Does the field exist? Is it the right type?
SAY: Does the field exist? Is it the right type?
EN: Do we accept "elephant" as a pet? If the type is String... yes.
SAY: Do we accept "elephant" as a pet? If the type is String... / yes.
EN: Serde validates shape. Not meaning.
SAY: Serde (SER-dee) validates shape. / Not meaning.
EN: Helm / Jinja templates — YAML generated from variables (in YAML).
SAY: Helm / Jinja templates / YAML generated from variables (in YAML).
EN: Does it validate the content of the generated YAML? No. Not at all.
SAY: Does it validate the content of the generated YAML? No. / Not at all.
EN: Like using an LLM with a markdown reference: the format is there,
SAY: Like using an LLM with a markdown reference: / the format is there,
EN: but is the content correct? Nobody guarantees that.
SAY: but is the content correct? Nobody guarantees that.
## Slide 13
STORY: Act 3 - Problem Anatomy
TENSION: High
EMPHASIS: Causa raiz y costo de fallar tarde
DELIVERY: Didactico, frases cortas
EN: Continuous CI/CD.
SAY: Continuous CI/CD (see-eye / see-dee).
EN: No semantic validation.
SAY: No semantic validation (val-ih-DAY-shun).
EN: Continuous hope.
SAY: Continuous hope.
EN: (crossing our fingers in production)
SAY: (crossing our fingers in production)
EN: 🛡 ●○○○○    😴 ○○○○○    🔥 ●●●●●
SAY: 🛡 ●○○○○    😴 ○○○○○    🔥 ●●●●●
## Slide 14
STORY: Act 3 - Problem Anatomy
TENSION: High
EMPHASIS: Causa raiz y costo de fallar tarde
DELIVERY: Didactico, frases cortas
EN: Three Questions Without Answers
SAY: Three Questions Without Answers
EN: Question 1 —
SAY: Question 1 —
EN: — Why do we wait for things to break?
SAY: — Why do we wait for things to break?
EN: "Works on my machine" — in production, I don't know
SAY: "Works on my machine" / in production, I don't know
EN: Fail late = maximum cost. We want: fail fast, fail cheap
SAY: Fail late = maximum cost. / We want: / fail fast, fail cheap
EN: Question 2 —
SAY: Question 2 —
EN: — Do we actually know what we want?
SAY: — Do we actually know what we want?
EN: Is the declaration sufficient and consistent with what's possible?
SAY: Is the declaration sufficient and consistent with what's possible?
EN: What are the boundaries? Static or dynamic? What is the source of truth — and when does it mutate?
SAY: What are the boundaries? Static or dynamic? What is the source of truth / and when does it mutate?
EN: Question 3 —
SAY: Question 3 —
EN: Can we guarantee determinism ?
SAY: Can we guarantee determinism ?
EN: CI/CD without semantic validation = continuous hope
SAY: CI/CD (see-eye / see-dee) without semantic validation (val-ih-DAY-shun) = continuous hope
EN: We want certainty, not randomness
SAY: We want certainty, not randomness
EN: "Works on my machine" cannot be the production standard
SAY: "Works on my machine" cannot be the production standard
EN: > We're not inventing anything new. Everything already exists.
SAY: > We're not inventing anything new. / Everything already exists.
EN: > The question is whether we're managing it correctly.
SAY: > The question is whether we're managing it correctly.
## Slide 15
STORY: Act 4 - Turning Point
TENSION: Peak
EMPHASIS: No faltan tools, falta paradigma
DELIVERY: Silencios intencionales
EN: The tools weren't the problem.
SAY: The tools weren't the problem.
EN: The languages weren't the problem.
SAY: The languages weren't the problem.
EN: The paradigm was the problem.
SAY: The paradigm (PAIR-uh-dym) was the problem.
## Slide 16
STORY: Act 4 - Turning Point
TENSION: Peak
EMPHASIS: No faltan tools, falta paradigma
DELIVERY: Silencios intencionales
EN: Systems we don't know how to control.
SAY: Systems we don't know how to control.
EN: We hope they work.
SAY: We hope they work.
EN: When they don't — we fix them.
SAY: When they don't / we fix them.
EN: Continuous nightmare.
SAY: Continuous nightmare.
EN: ( alarm state as the new normal)
SAY: ( alarm state as the new normal)
EN: 🛡 ●○○○○    😴 ○○○○○    🔥 ●●●●●
SAY: 🛡 ●○○○○    😴 ○○○○○    🔥 ●●●●●
## Slide 17
STORY: Act 4 - Turning Point
TENSION: Peak
EMPHASIS: No faltan tools, falta paradigma
DELIVERY: Silencios intencionales
EN: Rust
SAY: Rust (rahst)
EN: The answer to all three questions
SAY: The answer to all three questions
## Slide 18
STORY: Act 4 - Turning Point
TENSION: Peak
EMPHASIS: No faltan tools, falta paradigma
DELIVERY: Silencios intencionales
EN: The Bridge: From Serde to Types
SAY: The Bridge: / From Serde (SER-dee) to Types
EN: Serde loads structurally valid config.
SAY: Serde (SER-dee) loads structurally valid config.
EN: But "elephant" as pet: String compiles.
SAY: But "elephant" as pet: / String compiles.
EN: Rust's answer: don't use String. Use a type.
SAY: Rust (rahst)'s answer: / don't use String. / Use a type.
EN: [code example]
SAY: [code example]
EN: This is the shift.:
SAY: This is the shift.:
EN: Not the config format. The model of what it can contain.
SAY: Not the config format. / The model of what it can contain.
EN: Serde validates shape Types validate meaning
SAY: Serde (SER-dee) validates shape Types validate meaning
EN: The compiler validates before the binary exists.
SAY: The compiler (kum-PIE-ler) validates before the binary exists.
## Slide 19
STORY: Act 5 - Resolution
TENSION: High -> Medium
EMPHASIS: Types y compiler como respuesta
DELIVERY: Claro y tecnico
EN: What Rust Gives Us
SAY: What Rust (rahst) Gives Us
EN: Answer to Question 1: fail early, fail cheap
SAY: Answer to Question 1: / fail early, fail cheap
EN: [code example]
SAY: [code example]
EN: Answer to Question 2: explicit contracts
SAY: Answer to Question 2: / explicit contracts
EN: [code example]
SAY: [code example]
## Slide 20
STORY: Act 5 - Resolution
TENSION: High -> Medium
EMPHASIS: Types y compiler como respuesta
DELIVERY: Claro y tecnico
EN: The Compiler as Pre-Validator
SAY: The compiler (kum-PIE-ler) as Pre-Validator
EN: Answer to Question 3:
SAY: Answer to Question 3:
EN: guaranteed determinism
SAY: guaranteed determinism
EN: [code example]
SAY: [code example]
EN: The compiler validates:
SAY: The compiler (kum-PIE-ler) validates:
EN: Before building the binary
SAY: Before building the binary
EN: Not after hours of execution
SAY: Not after hours of execution
EN: Not when a function nobody touched in months finally gets called
SAY: Not when a function nobody touched in months finally gets called
EN: Predictable behavior: memory, resources, workflows
SAY: Predictable behavior: / memory, resources, workflows
EN: The compiler is the waiter who validates the order.
SAY: The compiler (kum-PIE-ler) is the waiter who validates the order.
EN: Before it reaches the kitchen.
SAY: Before it reaches the kitchen.
EN: Before the guest waits.
SAY: Before the guest waits.
EN: Before any ingredient is missing.
SAY: Before any ingredient is missing.
EN: 🛡 ●●●●○   😴 ●●●●○   🔥 ●●○○○
SAY: 🛡 ●●●●○   😴 ●●●●○   🔥 ●●○○○
## Slide 21
STORY: Act 5 - Resolution
TENSION: High -> Medium
EMPHASIS: Types y compiler como respuesta
DELIVERY: Claro y tecnico
EN: The Human Impact
SAY: The Human Impact
EN: When the system is trustworthy:
SAY: When the system is trustworthy:
EN: ✓ Sleep comes back
SAY: ✓ Sleep comes back
EN: ✓ Confidence returns
SAY: ✓ Confidence returns
EN: ✓ The team trusts the automation
SAY: ✓ The team trusts the automation (aw-tuh-MAY-shun)
EN: ✓ Stress decreases
SAY: ✓ Stress decreases
EN: ✓ You can actually rest
SAY: ✓ You can actually rest
EN: > What you can't measure: fear .
SAY: > What you can't measure: / fear .
EN: >
SAY: >
EN: > What you can measure: MTTR .
SAY: > What you can measure: / MTTR .
EN: >
SAY: >
EN: > Before: > 30 minutes. Now: .
SAY: > Before: / > 30 minutes. / Now: / .
EN: 🛡 ●●●●●  😴 ●●●●●  🔥 ●○○○○
SAY: 🛡 ●●●●●  😴 ●●●●●  🔥 ●○○○○
## Slide 22
STORY: Act 5 - Resolution
TENSION: High -> Medium
EMPHASIS: Types y compiler como respuesta
DELIVERY: Claro y tecnico
EN: Continuous CI/CD.
SAY: Continuous CI/CD (see-eye / see-dee).
EN: Types. Compiler. Explicit state.
SAY: Types. / compiler (kum-PIE-ler). / Explicit state.
EN: Continuous certainty.
SAY: Continuous certainty.
EN: (to keep sleeping well)
SAY: (to keep sleeping well)
EN: 🛡 ●●●●●    😴 ●●●●●    🔥 ●○○○○
SAY: 🛡 ●●●●●    😴 ●●●●●    🔥 ●○○○○
## Slide 23
STORY: Act 5 - Resolution
TENSION: High -> Medium
EMPHASIS: Types y compiler como respuesta
DELIVERY: Claro y tecnico
EN: In Production
SAY: In Production
EN: This is not theory
SAY: This is not theory
## Slide 24 (name: provisioning)
STORY: Act 6 - Proof in Production
TENSION: Medium -> High
EMPHASIS: Casos reales e impacto operativo
DELIVERY: Energetico y concreto
EN: import { ref, computed } from 'vue'
SAY: import { ref, computed } from 'vue'
EN: const useWhite = ref(false)
SAY: const useWhite = ref(false)
EN: const bgStyle = computed(() => ({
SAY: const bgStyle = computed(() => ({
EN: backgroundImage: url('${useWhite.value ? "/w-arch-diag-v2.svg" : "/arch-diag-v2.svg"}'),
SAY: backgroundImage: / url('${useWhite.value ? "/w-arch-diag-v2.svg" : / "/arch-diag-v2.svg"}'),
EN: backgroundSize: 'contain',
SAY: backgroundSize: / 'contain',
EN: backgroundRepeat: 'no-repeat',
SAY: backgroundRepeat: / 'no-repeat',
EN: backgroundPosition: 'center',
SAY: backgroundPosition: / 'center',
EN: position: 'absolute',
SAY: position: / 'absolute',
EN: inset: '0',
SAY: inset: / '0',
EN: cursor: 'pointer',
SAY: cursor: / 'pointer',
EN: }))
SAY: }))
EN: 🌗
SAY: 🌗
## Slide 25
STORY: Act 6 - Proof in Production
TENSION: Medium -> High
EMPHASIS: Casos reales e impacto operativo
DELIVERY: Energetico y concreto
EN: Nickel
SAY: Nickel
EN: YAML rejected. TOML rejected. Reason: no type safety.
SAY: YAML rejected. / TOML rejected. / Reason: / no type safety.
EN: YAML wrote what we wanted.
SAY: YAML wrote what we wanted.
EN: It couldn't say what was possible.
SAY: It couldn't say what was possible.
EN: Nickel closes that gap
SAY: Nickel closes that gap
EN: — at config time, not at 3 AM.
SAY: — at config time, not at 3 AM.
EN: [code example]
SAY: [code example]
EN: Typed Source of Truth
SAY: Typed Source of Truth
EN: Result (ADR-003): zero configuration type errors in production.
SAY: Result (ADR-003): / zero configuration (kun-fig-yuh-RAY-shun) type errors in production.
EN: Config hierarchy:
SAY: Config hierarchy:
EN: defaults → workspace → profile → environment → runtime
SAY: defaults → workspace → profile → environment → runtime
EN: Each layer merges.
SAY: Each layer merges.
EN: Type system catches conflicts.
SAY: Type system catches conflicts.
EN: At config time — not deployment time.
SAY: At config time / not deployment time.
EN: The guest wrote an impossible order.
SAY: The guest wrote an impossible order.
EN: Nickel makes impossible orders unwritable.
SAY: Nickel makes impossible orders unwritable.
EN: > Serde validates shape.
SAY: > Serde (SER-dee) validates shape.
EN: >
SAY: >
EN: > Nickel validates meaning.
SAY: > Nickel validates meaning.
EN: >
SAY: >
EN: > The compiler validates before deployment.
SAY: > The compiler (kum-PIE-ler) validates before deployment.
## Slide 26
STORY: Act 6 - Proof in Production
TENSION: Medium -> High
EMPHASIS: Casos reales e impacto operativo
DELIVERY: Energetico y concreto
EN: Traits as Provider
SAY: Traits as Provider
EN: The kitchen can change. AWS ≠ UpCloud ≠ bare metal. Same menu.
SAY: The kitchen can change. / AWS ≠ UpCloud ≠ bare metal. / Same menu.
EN: [code example]
SAY: [code example]
EN: Explicit state — no drift:
SAY: Explicit state / no drift:
EN: [code example]
SAY: [code example]
EN: Contracts
SAY: Contracts
EN: Checkpoint every 5 minutes
SAY: Checkpoint every 5 minutes
EN: No implicit state.
SAY: No implicit state.
EN: > No "the waiter remembers the customer doesn't want salt."
SAY: > No "the waiter remembers the customer doesn't want salt."
EN: It's in the order. Always. Explicit.
SAY: It's in the order. / Always. / Explicit.
## Slide 27
STORY: Act 6 - Proof in Production
TENSION: Medium -> High
EMPHASIS: Casos reales e impacto operativo
DELIVERY: Energetico y concreto
EN: Dependency Graph
SAY: Dependency Graph
EN: Failfast: bool is not a config option.
SAY: Failfast: / bool is not a config option.
EN: It's a principle encoded as a type.
SAY: It's a principle encoded as a type.
EN: Typed DAG — dependency resolution enforced at workflow compile time:
SAY: Typed DAG / dependency resolution enforced at workflow compile time:
EN: The kitchen doesn't serve the main course before the starter is done.
SAY: The kitchen doesn't serve the main course before the starter is done.
EN: DependencyType::Hard is that rule. In the type system, not in a runbook.
SAY: DependencyType::Hard is that rule. / In the type system, not in a runbook.
EN: [code example]
SAY: [code example]
EN: Fail Fast, Fail Cheap
SAY: Fail Fast, Fail Cheap
EN: DependencyType::Hard - failure stops the chain. Always.
SAY: DependencyType::Hard - failure stops the chain. / Always.
EN: DependencyType::Soft - continues, explicitly degraded.
SAY: DependencyType::Soft - continues, explicitly degraded.
EN: DependencyType::Optional - missing is expected and fine.
SAY: DependencyType::Optional - missing is expected and fine.
EN: > The compiler catches the install order.
SAY: > The compiler (kum-PIE-ler) catches the install order.
EN: > Not the on-call engineer at 2 AM.
SAY: > Not the on-call engineer at 2 AM.
EN: 🛡 ●●●●●   😴 ●●●●●   🔥 ●○○○○
SAY: 🛡 ●●●●●   😴 ●●●●●   🔥 ●○○○○
## Slide 28
STORY: Act 6 - Proof in Production
TENSION: Medium -> High
EMPHASIS: Casos reales e impacto operativo
DELIVERY: Energetico y concreto
EN: Real Applications
SAY: Real Applications
EN: ## Kubernetes
SAY: ## Kubernetes (koo-ber-NET-eez)
EN: The orchestrator provisions cluster components as a typed workflow:
SAY: The orchestrator (OR-kes-tray-ter) provisions cluster components as a typed workflow:
EN: [code example]
SAY: [code example]
EN: Each dependency is a DependencyType.
SAY: Each dependency is a DependencyType.
EN: The compiler catches: installing Cilium without Kubernetes.
SAY: The compiler (kum-PIE-ler) catches: / installing Cilium without Kubernetes (koo-ber-NET-eez).
EN: Not the on-call engineer at 2 AM.
SAY: Not the on-call engineer at 2 AM.
EN: >"In my machine it works" has a price here.
SAY: >"In my machine it works" has a price here.
EN: >
SAY: >
EN: > This is the highest-stakes infrastructure in the deck.
SAY: > This is the highest-stakes Infrastructure (IN-fruh-STRUHK-cher) in the deck.
EN: ## Blockchain Validators
SAY: ## Blockchain Validators
EN: Validators require brutal uptime.
SAY: Validators require brutal uptime.
EN: A validator that fails loses funds — not your infrastructure's money.
SAY: A validator that fails loses funds / not your Infrastructure (IN-fruh-STRUHK-cher)'s money.
EN: Your customer's.
SAY: Your customer's.
EN: Post-quantum cryptography: CRYSTALS-Kyber + Falcon + AES-256-GCM hybrid. Validator keys protected against quantum computers.
SAY: Post-quantum cryptography: / CRYSTALS-Kyber + Falcon + AES-256-GCM hybrid. / Validator keys protected against quantum computers.
EN: SLOs with real error budgets: 99.99% = 52.6 min downtime/year. Prometheus blocks deploys when burn rate exceeds budget.
SAY: SLOs with real error budgets: / 99.99% = 52.6 min downtime/year. / Prometheus blocks deploys when burn rate exceeds budget.
EN: Deterministic config: validator parameters are types. A bondamount that isn't a valid u128 doesn't compile.
SAY: Deterministic config: / validator parameters are types. / A bondamount that isn't a valid u128 doesn't compile.
## Slide 29
STORY: Act 6 - Proof in Production
TENSION: Medium -> High
EMPHASIS: Casos reales e impacto operativo
DELIVERY: Energetico y concreto
EN: Disaster Recovery
SAY: Disaster Recovery
EN: Rollback as a type, not a procedure
SAY: Rollback as a type, not a procedure
EN: 3 AM. Something broke. You need to rollback.
SAY: 3 AM. / Something broke. / You need to rollback.
EN: Without types: you improvise.
SAY: Without types: / you improvise.
EN: With types: you choose a strategy
SAY: With types: / you choose a strategy
EN: — or it doesn't compile.
SAY: — or it doesn't compile.
EN: [code example]
SAY: [code example]
EN: Multi-backend backup: restic, borg, tar, rsync
SAY: Multi-backend backup: / restic, borg, tar, rsync
EN: — all as enum variants.
SAY: — all as enum (EE-num) variants.
EN: Production backup and DR restore use the same type, the same schema.
SAY: Production backup and DR restore use the same type, the same schema.
EN: > The runbook exists.
SAY: > The runbook exists.
EN: >
SAY: >
EN: > Nobody reads it clearly at 3 AM under pressure.
SAY: > Nobody reads it clearly at 3 AM under pressure.
EN: >
SAY: >
EN: > The type forces the decision before the crisis.
SAY: > The type forces the decision before the crisis.
EN: >
SAY: >
EN: > The state is the same in prod and in DR. Always.
SAY: > The state is the same in prod and in DR. / Always.
## Slide 30
STORY: Act 6 - Proof in Production
TENSION: Medium -> High
EMPHASIS: Casos reales e impacto operativo
DELIVERY: Energetico y concreto
EN: Self-Healing
SAY: Self-Healing
EN: > When something breaks at 3 AM
SAY: > When something breaks at 3 AM
EN: > — the system responds, not you.
SAY: > / the system responds, not you.
EN: [code example]
SAY: [code example]
EN: — Typed Remediation
SAY: — Typed Remediation
EN: What happens at 3 AM:
SAY: What happens at 3 AM:
EN: Alert fires → RemediationEngine matches condition → runs RestartService
SAY: Alert fires → RemediationEngine matches condition → runs RestartService
EN: Works: silent. Nobody woken up.
SAY: Works: / silent. / Nobody woken up.
EN: Fails 3×: page sent — with full state, checkpoint, and execution history.
SAY: Fails 3×: / page sent / with full state, checkpoint, and execution history.
EN: > You wake up to information. Not to chaos.
SAY: > You wake up to information. / Not to chaos.
EN: 🛡 ●●●●●   😴 ●●●●●   🔥 ●○○○○
SAY: 🛡 ●●●●●   😴 ●●●●●   🔥 ●○○○○
## Slide 31
STORY: Act 6 - Proof in Production
TENSION: Medium -> High
EMPHASIS: Casos reales e impacto operativo
DELIVERY: Energetico y concreto
EN: Without types. Without compiler. Without explicit state.
SAY: Without types. / Without compiler (kum-PIE-ler). / Without explicit state.
EN: MTTR > 30 minutes.
SAY: MTTR > 30 minutes.
EN: ────────────────────────
SAY: ────────────────────────
EN: Rust. Types. Explicit state.
SAY: Rust (rahst). / Types. / Explicit state.
EN: Automated response.
SAY: Automated response.
EN: MTTR (at 3 AM. without you.)
SAY: MTTR (at 3 AM. / without you.)
EN: 🛡 ●●●●●    😴 ●●●●●    🔥 ●○○○○
SAY: 🛡 ●●●●●    😴 ●●●●●    🔥 ●○○○○
## Slide 32
STORY: Act 7 - Close & CTA
TENSION: Medium -> Low
EMPHASIS: Cierre emocional con accion
DELIVERY: Lento y memorable
EN: Why This Matters
SAY: Why This Matters
EN: For everyone in this room
SAY: For everyone in this room
## Slide 33
STORY: Act 7 - Close & CTA
TENSION: Medium -> Low
EMPHASIS: Cierre emocional con accion
DELIVERY: Lento y memorable
EN: For You
SAY: For You
EN: If you've been frustrated like me
SAY: If you've been frustrated like me
EN: Rust solves problems you already have.
SAY: Rust (rahst) solves problems you already have.
EN: This is not hype. It is operational relief.
SAY: This is not hype. / It is operational relief.
EN: Start here:
SAY: Start here:
EN: Model your infrastructure as types
SAY: Model your Infrastructure (IN-fruh-STRUHK-cher) as types
EN: Let the compiler pre-validate before deployment
SAY: Let the compiler (kum-PIE-ler) pre-validate before deployment
EN: If you're earlier in your career
SAY: If you're earlier in your career
EN: Start with type safety from day one.
SAY: Start with type safety from day one.
EN: Build for reliability, not only speed.
SAY: Build for reliability (rih-lai-uh-BIH-luh-tee), not only speed.
EN: The shortest path:
SAY: The shortest path:
EN: Types for config.
SAY: Types for config.
EN: Traits for providers.
SAY: Traits for providers.
EN: Determinism for operations.
SAY: Determinism for operations.
## Slide 34
STORY: Act 7 - Close & CTA
TENSION: Medium -> Low
EMPHASIS: Cierre emocional con accion
DELIVERY: Lento y memorable
EN: I have perspective from long production experience.
SAY: I have perspective from long production experience.
EN: I have seen technologies come and go.
SAY: I have seen technologies come and go.
EN: Rust is not hype. Rust is relief with evidence.
SAY: Rust (rahst) is not hype. / Rust (rahst) is relief with evidence.
EN: It solves real operational problems I had for decades.
SAY: It solves real operational problems I had for decades.
EN: More years is not a liability.
SAY: More years is not a liability.
EN: It is an advantage.
SAY: It is an advantage.
## Slide 35 (name: end)
STORY: Act 7 - Close & CTA
TENSION: Medium -> Low
EMPHASIS: Cierre emocional con accion
DELIVERY: Lento y memorable
EN: Why I Needed Rust
SAY: Why I Needed Rust (rahst)
EN: 🛡 ●●●●●
SAY: 🛡 ●●●●●
EN: 😴 ●●●●●
SAY: 😴 ●●●●●
EN: 🔥 ●○○○○
SAY: 🔥 ●○○○○
EN: Three Closing Lines
SAY: Three Closing Lines
EN: I have lived this problem for decades.
SAY: I have lived this problem for decades.
EN: Rust gave me deterministic systems and better sleep.
SAY: Rust (rahst) gave me deterministic systems and better sleep.
EN: Start small: model infrastructure as types.
SAY: Start small: / model Infrastructure (IN-fruh-STRUHK-cher) as types.
EN: Thank you. Questions?
SAY: Thank you. / Questions?
EN: More info:
SAY: More info:
EN: · jesusperez.pro
SAY: · jesusperez.pro
EN: · provisioning.systems · vapora.dev · rustelo.dev
SAY: · provisioning (pruh-VIH-zhuh-ning).systems · vapora.dev · rustelo.dev