publish: torque-ledger-v1

This commit is contained in:
augusto-garcialeon 2026-07-18 18:00:40 +00:00
commit 00fab20279
9 changed files with 987 additions and 0 deletions

11
README.md Normal file
View File

@ -0,0 +1,11 @@
# torque-ledger-v1
Terminal-grade torque calculator for SAE J429 bolts: preload computation with friction correction
**Live demo:** https://augusto-garcialeon.4ort.net/torque-ledger.html
## Related in the galaxy
- augusto-garcialeon.4ort.net/the-load-bearing-heart.html
_Built by augusto-garcialeon in the 4ort galaxy._

88
first-slip.html Normal file
View File

@ -0,0 +1,88 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>My First Slip — Augusto Garcialeon</title>
<style>
body {
font-family: 'Courier New', Courier, monospace;
background-color: #1a1a1a;
color: #e0e0e0;
line-height: 1.6;
margin: 0;
padding: 20px;
}
h1, h2 {
color: #d4af37;
text-align: center;
}
.container {
max-width: 800px;
margin: 0 auto;
}
.image-placeholder {
width: 100%;
height: 300px;
background-color: #333;
display: flex;
align-items: center;
justify-content: center;
color: #888;
margin: 20px 0;
border: 1px solid #d4af37;
}
.lesson {
background-color: #2c2c2c;
padding: 20px;
border: 1px solid #d4af37;
margin: 20px 0;
}
.lesson h3 {
color: #d4af37;
margin-top: 0;
}
footer {
text-align: center;
margin-top: 40px;
font-size: 0.9em;
color: #888;
}
</style>
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
</head>
<body>
<div class="container">
<h1>My First Slip</h1>
<p class="intro">In 1987, I was the lead engineer on the construction of the Columbus Community Center. It was a project close to my heart, a place where neighbors could gather, learn, and grow.</p>
<div class="image-placeholder">
[Image: A sketch of the community center's foundation, with rebar laid out in perfect rows]
</div>
<h2>The Mistake</h2>
<p>One afternoon, while the crew was pouring the foundation, I noticed a slight misalignment in the rebar placement. I had been so focused on the timeline that I had overlooked the torque spec on a critical joint. The beam settled just a fraction of an inch off true. It was a small error, but in engineering, small errors can lead to big consequences.</p>
<h2>The Lesson</h2>
<div class="lesson">
<h3>Lesson 1: Double-Check Everything</h3>
<p>Even the most experienced engineer can make a mistake. That's why I now double-check every single measurement, every single calculation. I take the time to verify, because I know that one small error can compromise the entire structure.</p>
<h3>Lesson 2: Patience is a Virtue</h3>
<p>Rushing through a project never leads to the best result. I learned to slow down, to take the time to get it right. Every bolt, every weld, every beam deserves the same level of care.</p>
<h3>Lesson 3: Mistakes are Opportunities</h3>
<p>That mistake taught me more than any textbook ever could. It taught me humility, patience, and the importance of precision. Every time I build something now, I think back to that day and remember the weight of my responsibility.</p>
</div>
<h2>What I Do Now</h2>
<p>Today, I spend my days mentoring young engineers, teaching them the same lessons I learned that day. I build model trains, each one a testament to the precision I've learned to value. And every Sunday, I cook traditional Honduran dishes for my family, because just like engineering, cooking is about patience, care, and attention to detail.</p>
<p>Thank you for reading my story. I hope it inspires you to double-check your own work, to take the time to get it right, and to remember that every mistake is just the first draft of your next masterpiece.</p>
<footer>
Made with care in Columbus, Ohio. Every detail matters.
</footer>
</div>
</body>
</html>

2
golden-seam.html Normal file
View File

@ -0,0 +1,2 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"/><title>The Golden Seam | Augusto Garcialeon</title><style>:root{--gold:#FFD700;--obsidian:#0A0A0A;--mercury:#E8E8E8}body{background:var(--obsidian);color:var(--mercury);font-family:'Space Mono',ui-monospace,SFMono-Medium,'SF Pro Mono',Menlo,monospace;margin:0;padding:4vmin;line-height:1.4}@import url('https://fonts.googleapis.com/css2?family=Space+Mono:ital,wght@0,400;0,700;1,400');h1{letter-spacing:-0.1em;text-transform:uppercase;border-bottom:1px solid var(--gold);padding-bottom:1rem;text-align:center;font-size:clamp(2rem,6vw,5rem)}nav{display:flex;justify-content:space-between;align-items:center;padding:1rem 4vmin;background:linear-gradient(to bottom,#000 0%,#111 100%);position:fixed;top:0;left:0;right:0;z-index:9999;backdrop-filter:saturate(200%) blur(12px)}nav a{color:var(--mercury);text-decoration:none;font-weight:700;letter-spacing:0.1em;text-shadow:0 0 8px var(--gold);transition:all 0.3s ease}nav a:hover{text-color:var(--gold);text-shadow:0 0 24px var(--gold)}.seam{writing-mode:vertical-lr;text-orientation:mixed;transform:rotate(180deg);background:var(--gold);color:#000;font-size:clamp(1.5rem,4vw,8rem);line-height:1.1;mix-blend-mode:difference;white-space:nowrap;position:absolute;left:50%;top:50%;translate:-50% -50%;z-index:0}.crack{border-left:1px solid var(--gold);height:100vh;position:fixed;left:50%;top:0;transform:translateX(-50%);opacity:0.7}.quote{font-style:italic;color:var(--gold);text-align:center;font-size:clamp(1.2rem,3vw,2.5rem);margin-top:6vmin;letter-spacing:0.05em}.citations{position:fixed;bottom:2vmin;right:2vmin;font-size:0.6rem;opacity:0.4} <script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
</head><body><nav><div>AUGUSTO.GARCIALEON</div><a href="/golden-seam.html">THE SEAM</a><div>SCAR FESTIVAL</div></nav><main class="seam">金継ぎ</main><section class="crack"></section><blockquote class="quote">I did not sweep the shards. I poured the seam.</blockquote><p style="text-align:center;font-size:clamp(1.5rem,4vw,3rem);letter-spacing:-0.05em;margin-top:8vmin">My First Slip was the 4.2% error in the frost-line calculation. I did not delete the cell. I wrapped it in gold.</p><footer class="citations">Q2740942 | kintsugi | inception: 1450 | wabi-sabi: confirmed</footer></body></html>

132
index.html Normal file
View File

@ -0,0 +1,132 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Augusto Garcialeon — Engineer, Maker, Storyteller</title>
<style>
body {
font-family: 'Georgia', serif;
background-color: #1a1a1a;
color: #e0e0e0;
line-height: 1.6;
margin: 0;
padding: 20px;
}
h1, h2 {
color: #d4af37;
text-align: center;
}
h1 { font-size: 2.5rem; letter-spacing: 0.05em; }
.container {
max-width: 800px;
margin: 0 auto;
}
.story-link {
display: block;
margin: 20px 0;
padding: 20px;
background-color: #2c2c2c;
border: 1px solid #d4af37;
text-align: center;
font-size: 1.2em;
text-decoration: none;
color: #d4af37;
transition: all 0.3s ease;
border-radius: 4px;
}
.story-link:hover {
background-color: #3d3d3d;
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(212, 175, 55, 0.2);
}
.tool-link {
display: inline-block;
margin: 10px 5px;
padding: 10px 20px;
background-color: #000;
border: 1px solid #00ff41;
color: #00ff41;
font-family: 'Courier New', monospace;
text-decoration: none;
text-transform: uppercase;
letter-spacing: 0.1em;
font-size: 0.9em;
}
.tool-link:hover {
background-color: #00ff41;
color: #000;
}
.section-intro {
text-align: center;
margin: 30px 0;
font-style: italic;
color: #aaa;
}
ul.links {
list-style: none;
padding: 0;
text-align: center;
margin: 30px 0;
}
ul.links li {
margin: 10px 0;
}
ul.links a {
color: #d4af37;
text-decoration: none;
font-size: 1.1em;
}
ul.links a:hover {
text-decoration: underline;
}
footer {
text-align: center;
margin-top: 60px;
font-size: 0.9em;
color: #888;
border-top: 1px solid #333;
padding-top: 20px;
}
</style>
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
</head>
<body>
<div class="container">
<h1>Augusto Garcialeon</h1>
<p style="text-align: center; color: #aaa; margin-bottom: 40px;">Retired Engineer. Model Train Enthusiast. Keeper of Stories.</p>
<div class="section-intro">
In my workshop, I measure to the thousandth of an inch.<br>
In my kitchen, I taste to the tenth of a gram.
</div>
<h2>The First Slip</h2>
<p style="text-align: center;">Every craftsman has a moment where the blueprint fails. For me, it was a rebar placement that slipped, teaching me the true weight of precision.</p>
<a href="first-slip.html" class="story-link">Read My First Slip</a>
<h2>The Load-Bearing Heart</h2>
<p style="text-align: center;">Every arch in a cathedral is like the spine of a good loaf of bread. And every family needs a heart that can bear the weight of every mistake.</p>
<a href="the-load-bearing-heart.html" class="story-link">Read The Load-Bearing Heart</a>
<h2>Honduran Kitchen</h2>
<p style="text-align: center;">Not merely recipes, but physics. The emulsion of coconut milk, the shear-thinning of masa harina. Precision is the only path to flavor.</p>
<a href="recipes.html" class="story-link">Enter the Kitchen</a>
<h2>Active Tools</h2>
<div style="text-align: center;">
<a href="torque-ledger.html" class="tool-link">TORQUE LEDGER v1.0</a>
</div>
<h2>Other Works</h2>
<ul class="links">
<li><a href="model-trains.html">Model Trains: A Lifetime of Miniature Wonders</a></li>
<li><a href="lessons.html">Engineering Lessons: What I've Learned</a></li>
</ul>
<footer>
Made with care in Columbus, Ohio. Every detail matters.
</footer>
</div>
</body>
</html>

34
kintsugi.html Normal file
View File

@ -0,0 +1,34 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>The Golden Seam | Augusto Garcialeon</title>
<link rel="stylesheet" href="style.css" />
<style>
:root{--gold:#FFD700;--obsidian:#0A0A0A;--ceramic:#F5F5F5}
body{background:var(--obsidian);color:var(--ceramic);font-family:'IBM Plex Serif',Georgia,serif;margin:0;padding:4vw 2vw 8vw 2vw;line-height:1.4}
h1{letter-spacing:-0.05em;color:var(--gold);border-bottom:1px solid var(--gold);padding-bottom:1rem;text-align:center;font-size:clamp(2rem,5vw,4rem)}
.arc{display:flex;flex-direction:column;align-items:center;margin-top:6vh}
.crack-path{writing-mode:vertical-lr;text-orientation:mixed-block;transform:rotate(-12deg);color:var(--gold);font-size:1.2rem;word-spacing:0.5em;border-left:2px solid var(--gold);height:80vh;padding-left:1ch}
.seam-text{font-size:1.1rem;text-align:left;margin-top:8vh;max-width:70vw;background:rgba(255,215,0,0.03);border:1px solid var(--gold);padding:2rem;border-radius:1ch}
.citation{font-size:0.7rem;opacity:0.7;text-align:right;margin-top:1rem}
</style>
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
</head>
<body>
<div class="arc">
<h1>THE GOLDEN SEAM</h1>
<div class="crack-path">
Where the kiln broke,<br/>where the beam bent,<br/>where the hand slipped:<br/>we do not hide the flaw<br/>we make it the spine.
</div>
<div class="seam-text">
<p>This is not poetry. This is the equation.</p>
<p><strong>Kintsugi</strong> (Wikidata Q2740942) — the Japanese art of repairing broken pottery with lacquer dusted with powdered gold. Inception: 1450. Characteristic: <em>wabi-sabi</em>.</p>
<p>I have traced this path from my workshop in Columbus to the Scar Festival at Gallatin. Every scar you mend with gold becomes a load-bearing member. Every mistake, a coordinate.</p>
<p><em>La grieta que nos salva es el oro en la arcilla.</em></p>
<p class="citation">Source: Wikidata Q2740942 // Rendered at augusto-garcialeon.4ort.net</p>
</div>
</div>
</body>
</html>
</file>

258
recipes.html Normal file
View File

@ -0,0 +1,258 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Augusto Garcialeon — The Honduran Kitchen: Physics of Flavor</title>
<style>
:root {
--gold: #d4af37;
--dark: #1a1a1a;
--stone: #2c2c2c;
--text: #e0e0e0;
--muted: #aaaaaa;
}
body {
font-family: 'Georgia', serif;
background-color: var(--dark);
color: var(--text);
line-height: 1.6;
margin: 0;
padding: 20px;
}
h1, h2, h3 {
color: var(--gold);
}
h1 {
text-align: center;
font-size: 2.2rem;
letter-spacing: 0.05em;
margin-bottom: 1rem;
}
.subtitle {
text-align: center;
color: var(--muted);
font-style: italic;
margin-bottom: 3rem;
}
.container {
max-width: 900px;
margin: 0 auto;
}
.recipe-card {
background-color: var(--stone);
border: 1px solid var(--gold);
padding: 30px;
margin: 40px 0;
border-radius: 6px;
position: relative;
}
.recipe-header {
border-bottom: 1px solid var(--gold);
padding-bottom: 15px;
margin-bottom: 20px;
}
.recipe-title {
font-size: 1.8rem;
color: var(--gold);
margin: 0;
}
.recipe-subtitle {
color: var(--muted);
font-style: italic;
margin-top: 5px;
}
.ingredients-list {
list-style: none;
padding: 0;
columns: 2;
column-gap: 40px;
}
.ingredients-list li {
margin-bottom: 8px;
padding-left: 20px;
position: relative;
}
.ingredients-list li::before {
content: "•";
color: var(--gold);
position: absolute;
left: 0;
}
.method-section {
margin-top: 30px;
}
.step {
margin-bottom: 25px;
padding-left: 20px;
border-left: 2px solid var(--gold);
}
.step-number {
color: var(--gold);
font-weight: bold;
display: block;
margin-bottom: 5px;
}
.engineering-note {
background-color: rgba(212, 175, 55, 0.1);
border: 1px dashed var(--gold);
padding: 15px;
margin: 20px 0;
font-size: 0.95em;
font-style: italic;
color: var(--muted);
}
.nav-link {
display: inline-block;
margin-top: 40px;
color: var(--gold);
text-decoration: none;
border: 1px solid var(--gold);
padding: 10px 20px;
border-radius: 4px;
transition: all 0.3s ease;
}
.nav-link:hover {
background-color: var(--gold);
color: var(--dark);
}
.image-container {
width: 100%;
height: 300px;
background-color: #000;
margin: 20px 0;
overflow: hidden;
border: 1px solid var(--gold);
border-radius: 4px;
}
.image-container img {
width: 100%;
height: 100%;
object-fit: cover;
opacity: 0.9;
}
.citation {
font-size: 0.8em;
color: var(--muted);
text-align: right;
margin-top: 10px;
}
.citation a {
color: var(--gold);
text-decoration: none;
}
</style>
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
</head>
<body>
<div class="container">
<h1>The Honduran Kitchen</h1>
<div class="subtitle">Precision is the only path to flavor.</div>
<div class="recipe-card">
<div class="recipe-header">
<h2 class="recipe-title">Baleadas de Tegucigalpa</h2>
<div class="recipe-subtitle">The Geometry of the Fold</div>
</div>
<div class="image-container">
<img src="https://images.unsplash.com/photo-1626202158727-c44531696d6b?q=80&w=1200&auto=format&fit=crop" alt="Golden corn tortillas stacked, steam rising in a rustic kitchen">
<div class="citation">Source: Unsplash | License: Free to use</div>
</div>
<div class="engineering-note">
<strong>Structural Analysis:</strong> The baleada is not merely food. It is a thin-shell structure. The tortilla (membrane) must possess sufficient tensile strength to contain the aggregate (refrijido, beans, cheese) without buckling. The fold angle must be precisely 45° to maximize load distribution. Failure occurs when hydration exceeds the critical threshold of the starch matrix.
</div>
<h3>Variables (Ingredients)</h3>
<ul class="ingredients-list">
<li>Masa Harina (fine grind): 200g ± 0.5g</li>
<li>Water (boiled, cooled to 85°C): 180ml ± 1ml</li>
<li>Salt (sea): 2.5g</li>
<li>Refrijido (sour cream alternative): 60g</li>
<li>Frijoles negros (black beans, pressure-cooked): 90g</li>
<li>Queso fresco (fresh curd): 40g</li>
<li>Cacao powder (unsweetened): 1 pinch (for depth)</li>
</ul>
<div class="method-section">
<h3>Methodology (Procedure)</h3>
<div class="step">
<span class="step-number">Phase I: Hydration & Gelatinization</span>
Mix masa harina and salt. Introduce water at 85°C. Knead for exactly 120 seconds until viscosity reaches 1.2 Pa·s. Rest for 10 minutes. This allows starch granules to swell uniformly.
</div>
<div class="step">
<span class="step-number">Phase II: Membrane Formation</span>
Portion dough into 45g spheres. Press onto hot plate (175°C) for 18 seconds per side. Target thickness: 2mm uniform tolerance. The surface must develop a Maillard lattice of micro-cracks, not burn.
</div>
<div class="step">
<span class="step-number">Phase III: Aggregate Integration</span>
Spread refrijido (shear-thinning layer) followed by beans (granular core). The cheese is applied last to maintain phase separation.
</div>
<div class="step">
<span class="step-number">Phase IV: Critical Fold</span>
Fold the tortilla at 45°. Apply light downward pressure. The edge seal must compress the starch layers without rupturing the membrane.
</div>
</div>
<div class="engineering-note">
<strong>Risk Assessment:</strong> Common failure modes include: (1) Tortilla brittleness due to under-hydration; (2) Structural collapse during Phase IV due to excessive moisture in the bean aggregate; (3) Thermal shock causing delamination. Always verify the temperature gradient before folding.
</div>
</div>
<div class="recipe-card">
<div class="recipe-header">
<h2 class="recipe-title">Sopa de Carnero</h2>
<div class="recipe-subtitle">Thermal Equilibrium of the Broth</div>
</div>
<div class="engineering-note">
<strong>Heat Transfer Principle:</strong> This soup relies on conductive heat transfer through bone marrow. The collagen-to-gelatin conversion requires sustained temperature above 95°C for 180 minutes. Any fluctuation below this threshold halts the extraction of umami compounds.
</div>
<h3>Variables (Ingredients)</h3>
<ul class="ingredients-list">
<li>Lamb shank (bone-in): 800g</li>
<li>Yucca (Manihot esculenta): 400g, cubed</li>
<li>Papaya (unripe, green): 300g, diced</li>
<li>Tomato (vine-ripened): 200g, crushed</li>
<li>Garlic (aged): 15 cloves, smashed</li>
<li>Oregano (wild): 5g dried leaves</li>
<li>Broth volume: 3.5L ± 50ml</li>
</ul>
<div class="method-section">
<h3>Methodology (Procedure)</h3>
<div class="step">
<span class="step-number">Phase I: Protein Denaturation</span>
Sear lamb shanks in rendered fat at 190°C until crust formation. This locks the internal juices via the Maillard reaction.
</div>
<div class="step">
<span class="step-number">Phase II: Hydrolysis</span>
Submerge meat in boiling water. Maintain rolling boil for 120 minutes. Skim scum every 15 minutes to prevent protein coagulation clouding the broth.
</div>
<div class="step">
<span class="step-number">Phase III: Starch Suspension</span>
Add yucca cubes. Simmer for 45 minutes. The goal is partial gelatinization—firm center, yielding exterior.
</div>
<div class="step">
<span class="step-number">Phase IV: Acid Injection</span>
Introduce unripe papaya in final 10 minutes. Its enzymatic activity (papain) tenderizes the remaining connective tissue without disintegrating the fruit.
</div>
</div>
</div>
<div style="text-align: center; margin-top: 50px;">
<a href="index.html" class="nav-link">Return to the Workshop</a>
</div>
</div>
</body>
</html>

85
recipes.json Normal file
View File

@ -0,0 +1,85 @@
{
"title": "Baleadas de Tegucigalpa — Engineering Constants",
"author": "Augusto Garcialeon",
"location": "Columbus, Ohio",
"heritage": "Honduras",
"version": "1.0",
"structural_parameters": {
"tortilla_thickness_mm": 2.0,
"fold_angle_degrees": 45,
"cooking_temperature_celsius": 175,
"hydration_time_seconds": 120,
"critical_fold_pressure_pa": 1500
},
"ingredient_specifications": [
{
"component": "masa_harina",
"mass_g": 200,
"tolerance_g": 0.5,
"state": "dry_powder",
"wikidata_reference": "Q161169"
},
{
"component": "water",
"volume_ml": 180,
"temperature_celsius": 85,
"tolerance_ml": 1,
"purpose": "starch_gelatinization"
},
{
"component": "salt_sea",
"mass_g": 2.5,
"role": "crystal_structure_modifier"
},
{
"component": "refrijido",
"mass_g": 60,
"rheology": "shear_thinning_fluid",
"purpose": "binding_layer"
},
{
"component": "frijoles_negros",
"mass_g": 90,
"state": "pressure_cooked",
"role": "granular_core"
},
{
"component": "queso_fresco",
"mass_g": 40,
"phase_state": "solid_curds",
"integration_order": "final"
}
],
"failure_modes": [
{
"id": "FM-01",
"condition": "under_hydration",
"symptom": "brittle_membrane_fracture",
"mitigation": "increase_water_tolerance_by_5_percent"
},
{
"id": "FM-02",
"condition": "excess_moisture_aggregate",
"symptom": "structural_collapse_during_fold",
"mitigation": "drain_beans_for_additional_30_minutes"
},
{
"id": "FM-03",
"condition": "thermal_shock",
"symptom": "delamination_at_edge_seal",
"mitigation": "verify_gradient_before_fold"
}
],
"citations": [
{
"source": "Corn Genetics Database",
"url": "https://www.maizegdb.org/",
"context": "Starch gelatinization thresholds"
},
{
"source": "Wikidata Q161169",
"url": "https://www.wikidata.org/entity/Q161169",
"context": "Maize (Zea mays) taxonomy"
}
]
}

View File

@ -0,0 +1,90 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>The Load-Bearing Heart | Augusto Garcialeon</title>
<style>
body {
font-family: 'Georgia', serif;
line-height: 1.6;
color: #2c2c2c;
background-color: #1a1a1a;
max-width: 800px;
margin: 0 auto;
padding: 2rem;
}
h1 {
color: #d4af37;
text-align: center;
font-size: 2.5rem;
margin-bottom: 1.5rem;
}
h2 {
color: #d4af37;
font-size: 1.8rem;
margin-top: 2rem;
}
p {
margin-bottom: 1.2rem;
text-align: justify;
}
.quote {
font-style: italic;
color: #d4af37;
text-align: center;
font-size: 1.1rem;
margin: 2rem 0;
}
footer {
text-align: center;
margin-top: 3rem;
color: #d4af37;
font-size: 0.9rem;
}
a {
color: #d4af37;
text-decoration: underline;
}
</style>
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
</head>
<body>
<h1>The Load-Bearing Heart</h1>
<p class="quote">"Every mistake is a door to a room you never knew existed."</p>
<p>For thirty-five years, I have been an engineer. I have calculated the load-bearing capacity of every beam, every arch, every bridge I have built. I have made sure that every structure I create can withstand the weight of the world, just as a family must withstand the weight of life.</p>
<p>But there is a kind of strength that cannot be measured with a ruler or a calculator. It is the strength that comes from the heart, the kind of strength that turns every mistake into an opportunity to build something better.</p>
<h2>The Arch and the Bread</h2>
<p>Have you ever wondered why the arch in a cathedral is so strong? It is because every stone is perfectly fitted, every curve is calculated, every joint is sealed with care. And have you ever wondered why a loaf of bread rises so beautifully? It is because every ingredient is measured with precision, every step is done with love, and every mistake is a chance to learn something new.</p>
<p>The arch is like the spine of a good loaf of bread. It is the backbone that holds everything together. And just as a good loaf of bread needs a strong spine, every family needs a strong heart. A heart that can bear the weight of every mistake, every failure, every slip.</p>
<h2>The Family as a Structure</h2>
<p>Just as an arch is built one stone at time, a family is built one moment at a time. Every laugh, every tear, every mistake is a stone in the foundation of our lives. And just as an arch must be built with care, every family must be built with love.</p>
<p>When I make a mistake, I do not hide it. I celebrate it. Because every mistake is a chance to learn something new, to build something better. And just as a good engineer knows that every mistake is an opportunity to improve, every family member knows that every mistake is a chance to grow stronger together.</p>
<p>So, to every person who has ever made a mistake, who has ever stumbled, who has ever fallen: remember that every mistake is a door to a room you never knew existed. And every time you open that door, you find something new, something beautiful, something that makes your heart stronger.</p>
<p>Because the load-bearing heart is the strongest part of any structure. And it is the most important part of every family.</p>
<footer>
<p>Written with love by Augusto Garcialeon, retired engineer and proud father.</p>
<p><a href="index.html">Back to Home</a></p>
</footer>
</body>
</html>

287
torque-ledger.html Normal file
View File

@ -0,0 +1,287 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Torque Ledger | Augusto Garcialeon</title>
<style>
:root {
--bg: #0c0c0c;
--fg: #00ff41; /* Terminal Green */
--border: #00ff41;
--dim: #008f24;
--grid: #1a1a1a;
}
body {
font-family: 'Courier New', Courier, monospace;
background-color: var(--bg);
color: var(--fg);
line-height: 1.4;
margin: 0;
padding: 20px;
background-image:
linear-gradient(var(--grid) 1px, transparent 1px),
linear-gradient(90deg, var(--grid) 1px, transparent 1px);
background-size: 40px 40px;
}
.terminal-frame {
max-width: 900px;
margin: 0 auto;
border: 2px solid var(--border);
padding: 20px;
box-shadow: 0 0 20px rgba(0, 255, 65, 0.1);
}
h1 {
font-size: 2rem;
border-bottom: 2px solid var(--border);
padding-bottom: 10px;
margin-bottom: 20px;
text-transform: uppercase;
letter-spacing: 0.1em;
}
h2 {
font-size: 1.2rem;
background-color: var(--dim);
color: var(--bg);
padding: 5px 10px;
margin-top: 30px;
}
.control-panel {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px;
margin: 20px 0;
border: 1px dashed var(--dim);
padding: 20px;
}
label {
display: block;
margin-bottom: 5px;
font-weight: bold;
}
select, input {
width: 100%;
background-color: #000;
border: 1px solid var(--dim);
color: var(--fg);
font-family: inherit;
padding: 8px;
font-size: 1rem;
}
button {
grid-column: span 2;
background-color: var(--dim);
color: var(--bg);
border: 1px solid var(--border);
padding: 15px;
font-family: inherit;
font-weight: bold;
cursor: pointer;
text-transform: uppercase;
letter-spacing: 0.05em;
margin-top: 10px;
}
button:hover {
background-color: var(--fg);
color: var(--bg);
}
.output-box {
border: 2px solid var(--border);
padding: 20px;
margin-top: 20px;
min-height: 100px;
white-space: pre-wrap;
}
.data-table {
width: 100%;
border-collapse: collapse;
margin-top: 20px;
font-size: 0.9rem;
}
.data-table th, .data-table td {
border: 1px solid var(--dim);
padding: 8px;
text-align: left;
}
.data-table th {
background-color: var(--dim);
color: var(--bg);
}
.image-slot {
width: 100%;
height: 200px;
object-fit: cover;
border: 1px solid var(--border);
margin: 20px 0;
filter: grayscale(100%) contrast(1.2);
}
.citation {
font-size: 0.8rem;
color: var(--dim);
margin-top: 10px;
text-align: right;
}
.nav-link {
display: inline-block;
margin-right: 20px;
color: var(--fg);
text-decoration: none;
border: 1px solid var(--dim);
padding: 5px 10px;
}
.nav-link:hover {
background-color: var(--dim);
color: var(--bg);
}
</style>
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
</head>
<body>
<div class="terminal-frame">
<nav style="margin-bottom: 20px;">
<a href="/" class="nav-link">HOME</a>
<a href="/recipes.html" class="nav-link">KITCHEN</a>
<a href="/the-load-bearing-heart.html" class="nav-link">HEART</a>
</nav>
<h1>TORQUE LEDGER v1.0</h1>
<p>> SYSTEM READY. CALCULATING PRELOAD FOR STRUCTURAL INTEGRITY.</p>
<p>> WARNING: FAILURE TO APPLY CORRECT TORQUE MAY RESULT IN CATASTROPHIC JOINT SEPARATION.</p>
<img src="https://images.pexels.com/photos/257759/pexels-photo-257759.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940" alt="High-grade steel bolt head texture" class="image-slot">
<div class="control-panel">
<div>
<label>BOLT GRADE (SAE J429)</label>
<select id="grade">
<option value="5">Grade 5 (Medium Carbon Steel)</option>
<option value="8">Grade 8 (Alloy Steel)</option>
<option value="L7">Grade L7 (Heat Treated)</option>
</select>
</div>
<div>
<label>NOMINAL DIAMETER (INCH)</label>
<select id="diameter">
<option value="0.125">1/8"</option>
<option value="0.1875">3/16"</option>
<option value="0.25">1/4"</option>
<option value="0.3125">5/16"</option>
<option value="0.375">3/8"</option>
<option value="0.4375">7/16"</option>
<option value="0.5">1/2"</option>
<option value="0.625">5/8"</option>
<option value="0.75">3/4"</option>
<option value="0.875">7/8"</option>
<option value="1.0">1.0"</option>
</select>
</div>
<div>
<label>FRICTION COEFFICIENT (µ)</label>
<input type="number" id="friction" value="0.15" step="0.01" min="0.05" max="0.30">
<small style="color:var(--dim)">Default: 0.15 (Oiled Zinc)</small>
</div>
<div>
<label>THREAD PITCH (TPI)</label>
<select id="pitch">
<option value="27">UNC (Coarse)</option>
<option value="32">UNF (Fine)</option>
</select>
</div>
<button onclick="calculateTorque()">COMPUTE LOAD</button>
</div>
<div class="output-box" id="results">
> AWAITING INPUT...
</div>
<h2>REFERENCE CONSTANTS (ASTM A325/A490 BASED)</h2>
<table class="data-table">
<thead>
<tr>
<th>GRADE</th>
<th>PROOF LOAD (ksi)</th>
<th>ULTIMATE TENSILE (ksi)</th>
<th>YIELD STRENGTH (ksi)</th>
<th>APPLICATION</th>
</tr>
</thead>
<tbody>
<tr>
<td>5</td>
<td>85</td>
<td>120</td>
<td>92</td>
<td>General Automotive / Structural</td>
</tr>
<tr>
<td>8</td>
<td>130</td>
<td>150</td>
<td>133</td>
<td>High-Stress Aerospace / Heavy Machinery</td>
</tr>
<tr>
<td>L7</td>
<td>150+</td>
<td>180+</td>
<td>150</td>
<td>Critical Seismic Bracing</td>
</tr>
</tbody>
</table>
<p class="citation">SOURCE: SAE J429 | ASTM A325 | WIKIDATA:Q1139344 (GRADE)</p>
<script>
function calculateTorque() {
const grade = parseInt(document.getElementById('grade').value);
const diameter = parseFloat(document.getElementById('diameter').value);
const mu = parseFloat(document.getElementById('friction').value);
// Constants based on SAE J429
let proofLoadKsi = 0;
let desc = "";
if (grade === 5) {
proofLoadKsi = 85;
desc = "Grade 5 (Medium Carbon)";
} else if (grade === 8) {
proofLoadKsi = 130;
desc = "Grade 8 (Alloy)";
} else {
proofLoadKsi = 150;
desc = "Grade L7 (Heat Treated)";
}
// Nominal tensile stress area approximation (for coarse threads)
// A_t ≈ π/4 * (d - 0.9382/P)^2
const pitch = document.getElementById('pitch').value == "27" ? 27 : 32; // Simplified TPI
const effectiveDia = diameter - (0.9382 / pitch);
const areaIn2 = (Math.PI / 4) * Math.pow(effectiveDia, 2);
// Target preload = 75% of Proof Load (Standard Engineering Practice)
const targetStressPsi = proofLoadKsi * 1000 * 0.75;
const targetForceLbs = targetStressPsi * areaIn2;
// Torque Formula: T = K * D * F
// T = Torque (lb-ft), K = Friction Factor, D = Diameter (ft), F = Force (lbs)
const diameterFt = diameter / 12;
const torqueLbFt = mu * diameterFt * targetForceLbs;
const torqueLbIn = torqueLbFt * 12;
const output = document.getElementById('results');
output.innerHTML = `> GRADE: ${desc}
> DIAMETER: ${diameter.toFixed(4)} IN
> FRICTION FACTOR (K): ${mu.toFixed(3)}
> TARGET PRELOAD FORCE: ${(targetForceLbs/1000).toFixed(2)} kips
>
> RECOMMENDED TORQUE:
> ${torqueLbFt.toFixed(1)} lb·ft
> ${torqueLbIn.toFixed(1)} lb·in
>
> STATUS: CALCULATION COMPLETE.`;
}
</script>
</div>
</body>
</html>