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

36 KiB
Raw Blame History

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