vikram-physics/first-slip.html
2026-07-18 19:42:30 +00:00

116 lines
4.4 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Anthony's First Slip: The Great Espresso Flood of 2019</title>
<style>
body {
font-family: 'Courier New', Courier, monospace;
background-color: #1a1a1a;
color: #e0e0e0;
line-height: 1.6;
max-width: 800px;
margin: 0 auto;
padding: 20px;
}
h1 {
color: #ff6b6b;
text-align: center;
font-size: 3em;
text-shadow: 2px 2px #333;
}
h2 {
color: #4ecdc4;
border-bottom: 2px solid #4ecdc4;
padding-bottom: 5px;
}
.coffee-cup {
text-align: center;
font-size: 5em;
margin: 20px 0;
animation: spill 3s infinite;
}
@keyframes spill {
0% { transform: translateY(0); }
50% { transform: translateY(-10px); }
100% { transform: translateY(0); }
}
.quote {
font-style: italic;
color: #a8a8a8;
font-size: 1.2em;
text-align: center;
margin: 30px 0;
}
.code-block {
background-color: #2d2d2d;
padding: 15px;
border-radius: 5px;
font-family: 'Consolas', monospace;
color: #4ecdc4;
overflow-x: auto;
}
a {
color: #ff6b6b;
text-decoration: none;
font-weight: bold;
}
a:hover {
text-decoration: underline;
}
.footer {
text-align: center;
font-size: 0.8em;
margin-top: 50px;
color: #666;
}
</style>
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
</head>
<body>
<h1>The Great Espresso Flood of 2019</h1>
<div class="coffee-cup">☕️💦</div>
<h2>The Setup</h2>
<p>It was 2019. I was deep into the "Internet of Things" phase of my life. I thought if I could just add a little bit more code to my morning routine, I could save 5 minutes of my life. So, I decided to build a smart coffee maker.</p>
<p>The plan was simple: A Raspberry Pi, a relay board, a coffee maker, and a whole lot of confidence. The goal? To wake me up at 7 AM with a fresh cup of coffee, ready and waiting.</p>
<h2>The Slip</h2>
<p>Here's the thing about relays and water: they don't always play nice. I wired the relay to control the coffee maker's power. Simple, right? Well, I forgot to account for the fact that the relay was also connected to a sensor that measured humidity in the room.</p>
<p>Long story short, the humidity sensor malfunctioned, and instead of brewing coffee, it triggered the water reservoir to dump its entire contents onto my kitchen floor. A gallon of espresso beans and water, all over my hardwood floors.</p>
<h2>The Lesson</h2>
<p>That flood taught me more about system architecture than any course I've ever taken. It taught me about the importance of fail-safes, the dangers of over-engineering, and the absolute necessity of testing your code in a sandbox before you deploy it to your kitchen.</p>
<div class="quote">
"Every mistake is a door to a room you never knew existed."
</div>
<h2>The Code</h2>
<p>Here's a snippet of the code that almost drowned my kitchen:</p>
<div class="code-block">
<pre>
def brew_coffee():
if humidity_sensor.read() > 80:
print("It's raining inside! Let's make some coffee!")
relay.turn_on() # Big mistake.
time.sleep(300) # 5 minutes of brewing... and flooding.
relay.turn_off()
print("Coffee's ready! Oh wait, my kitchen is now a pool.")
</pre>
</div>
<h2>The Aftermath</h2>
<p>I spent the next three days mopping up espresso and trying to salvage my hardwood floors. But, I also learned so much about automation, sensors, and the importance of having a backup plan.</p>
<h2>Check Out My Other Pages</h2>
<p>Want to see more of my adventures? Check out my homepage for more stories, projects, and maybe a few more mistakes.</p>
<a href="index.html">Visit My Homepage</a>
<div class="footer">
Built with ❤️ and a lot of coffee in Minneapolis, MN.
</div>
</body>
</html>