<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Miracle Ifunanya]]></title><description><![CDATA[Miracle Ifunanya]]></description><link>https://miracleifunanya.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Thu, 17 Sep 2026 04:42:01 GMT</lastBuildDate><atom:link href="https://miracleifunanya.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[I Finally Understood Why A or B and C Isn't What I Thought It Was]]></title><description><![CDATA[A few nights ago I was staring at a homework problem that looked like this in plain English:
"You can travel if you're financially approved, physically able to get there, and you actually want to go, ]]></description><link>https://miracleifunanya.hashnode.dev/i-finally-understood-why-a-or-b-and-c-isn-t-what-i-thought-it-was</link><guid isPermaLink="true">https://miracleifunanya.hashnode.dev/i-finally-understood-why-a-or-b-and-c-isn-t-what-i-thought-it-was</guid><category><![CDATA[Python]]></category><category><![CDATA[Boolean Logic]]></category><category><![CDATA[programming languages]]></category><category><![CDATA[Computer Science]]></category><dc:creator><![CDATA[Miracle Ifunanya]]></dc:creator><pubDate>Thu, 03 Sep 2026 14:15:09 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6645f75060f3a16bccfd957f/888db938-15fb-4559-af83-916f6730d2fc.jpg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>A few nights ago I was staring at a homework problem that looked like this in plain English:</p>
<p>"You can travel if you're financially approved, physically able to get there, and you actually want to go, where financial approval depends on affordability and safety, or a mix of scholarship-style exceptions."</p>
<p>My first instinct was to just... start typing and hope the logic fell into place. It didn't. I wrote something like this:</p>
<p><code>can_travel = can_afford and destination_is_safe or educational_value</code></p>
<p>and it gave me the wrong answer for half my test cases. That's when I actually sat down and relearned how Python evaluates Boolean logic, not just "and/or/not exist," but how they interact.</p>
<p>I assumed Python read Boolean expressions the same way I read English, left to right. It doesn't. Python evaluates in this order:</p>
<ul>
<li><p>Parentheses</p>
</li>
<li><p><code>not</code></p>
</li>
<li><p><code>and</code></p>
</li>
<li><p><code>or</code></p>
</li>
</ul>
<p>So my line above was actually being interpreted as:</p>
<p><code>can_travel = (can_afford and destination_is_safe) or educational_value</code></p>
<p>...which is a completely different rule than what I meant. The fix wasn't "learn more syntax," it was learn to make my grouping explicit instead of relying on Python to guess what I meant:</p>
<p><code>can_travel = ( (can_afford and destination_is_safe) or (not can_afford and destination_is_safe and educational_value) )</code></p>
<p>Once I forced the parentheses to match my mental model, the bug disappeared.</p>
<p>Now, the bigger unlock is, translate before you code</p>
<p>This was a process fix. Instead of trying to write one giant expression straight from English, I started doing this every time:</p>
<p>Step 1 — Pull out the individual conditions.</p>
<p><code>financial = ...</code></p>
<p><code>physical = ...</code></p>
<p><code>want = ...</code></p>
<p>Step 2 — Translate each piece on its own, using a small mental cheat sheet:</p>
<p><code>English</code></p>
<ul>
<li><p><code>both a and b</code></p>
</li>
<li><p><code>at least one a or b</code></p>
</li>
<li><p><code>opposite not a</code></p>
</li>
<li><p><code>neither not a and not b</code></p>
</li>
<li><p><code>unless a and not b</code></p>
</li>
<li><p><code>required + either/or a and (b or c)</code></p>
</li>
</ul>
<p>Step 3 — Combine the pieces, not the raw sentence:</p>
<p><code>can_travel = financial and physical and want</code></p>
<p>Step 4 — Actually substitute values instead of eyeballing it.</p>
<p><code>True and False and True # -&gt; False</code></p>
<p>That last step sounds obvious, but I caught myself "solving" problems in my head instead of literally tracing the substitution, which is exactly how you write code that passes today's test case and fails the autograder's hidden ones.</p>
<p>The other thing that clicked: truth tables aren't just a formality</p>
<p>For a nested expression like:</p>
<p><code>not (not A or B)</code></p>
<p>I used to try to evaluate it in one shot mentally, and I'd flip a sign somewhere. Writing out the actual truth table, going inside-out, one operation at a time, made the errors visible instead of invisible:</p>
<p><code>A B not A not A or B Result</code></p>
<p><code>T T F T F</code></p>
<p><code>T F F F T</code></p>
<p><code>F T T T F</code></p>
<p><code>F F T T F</code></p>
<p>Once it's a table instead of a sentence in my head, there's nowhere for a mistake to hide.</p>
<p>Why this matters beyond a project</p>
<p>This is the same skill that shows up later in permission systems, feature flags, form validation, and query filters, anywhere a system has to decide "should this happen or not" based on multiple conditions. The pattern is always the same: isolate the conditions, translate each one individually, then combine. The syntax (and/or/not in Python, &amp;&amp;/||/! in JS) changes.</p>
<p>If you've hit a Boolean expression that gave you the "wrong" answer even though your logic felt right, I'd bet it's precedence. Drop your gnarliest one in the comments, I'll trade you a truth table for it.</p>
]]></content:encoded></item><item><title><![CDATA[From Microbes to the Cloud: A Journey of Miracles]]></title><description><![CDATA[Hi there, globe!
My name is Miracle, and I'm here to tell you about my incredible journey from studying microscopic bacteria under a microscope to traversing the enormous cloud as a cloud engineer. It's going to be one hell of a ride, so buckle up!
I...]]></description><link>https://miracleifunanya.hashnode.dev/from-microbes-to-the-cloud-a-journey-of-miracles</link><guid isPermaLink="true">https://miracleifunanya.hashnode.dev/from-microbes-to-the-cloud-a-journey-of-miracles</guid><category><![CDATA[Cloud]]></category><category><![CDATA[CloudEngineer]]></category><category><![CDATA[Cloud Computing]]></category><dc:creator><![CDATA[Miracle Ifunanya]]></dc:creator><pubDate>Tue, 28 May 2024 21:51:46 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1716932968502/eb93cb14-b4ea-4095-8046-03a6cf5430db.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hi there, globe!</p>
<p>My name is Miracle, and I'm here to tell you about my incredible journey from studying microscopic bacteria under a microscope to traversing the enormous cloud as a cloud engineer. It's going to be one hell of a ride, so buckle up!</p>
<p>Imagine yourself as a keen-eyed amateur microbiologist, equipped with a reliable microscope and an infatuation with the invisible realm of bacteria and viruses. Yes, I was that person.</p>
<p>I used to spend my days staring into Petri dishes and marvelling at the complex dance of life that was being revealed to me. I had no idea that my fascination with the tiny world would later inspire me to learn about the marvels of technology on a larger scale.</p>
<p>Today, I work as a tech support personnel and am fully immersed in the cloud computing environment. I wear a different kind of lab coat - the virtual kind.</p>
<p>"But Miracle, how on earth did you make the leap from microbiology to cloud engineering?" is probably what you're wondering now. Let me tell you something, my friend: transferrable abilities are crucial. As you can see, learning about microbiology gave me priceless insights into observation, analysis, and problem-solving techniques that are equally useful in the tech world.</p>
<p>My road into the tech industry wasn't very clear-cut. It was more like a twisting road with many of U-turns along the way, actually. But really, isn't that what adds interest to life? Ultimately, what's the purpose of following a path when you can carve out your own route through the infinite possibilities?</p>
<p>A few small tweaks here and there was where it all began. I was quickly immersed in the world of technology, learning how to use databases, networks, and—most importantly—the cloud.</p>
<p>Yes, I might not be cultivating bacteria or diagnosing infections anymore, but the ideas are still the same. Whether I'm optimizing cloud infrastructure or debugging a server problem, I approach every challenge with the same curiosity and will to solve it.</p>
<p>Furthermore, the wonderful thing about technology is that it's a big, dynamic field with a plethora of options for research and learning. There's always something new to discover, something new to wonder at, and something new to learn—whether you're an experienced pro or a wide-eyed novice like me. Haha!😂</p>
<p>Thus, here I am, a former microbiologist turned cloud developer, prepared to tackle any obstacles that may arise.</p>
<p>Hey, if there's one thing my path has taught me, it's to never undervalue the ability to bring aspirations into reality through curiosity, perseverance, and a dash of magic.</p>
<p>I therefore advise all of you aspiring techies to embrace the unexpected. Pursue your hobbies, and never be scared to forge your own path in the amazing and crazy world of technology. Who knows? Along the road, you could just come across a few miracles just like me.</p>
<p>😊😊😊</p>
<p>Thank you for reading.</p>
<p>With all my love,</p>
<p>Miracle</p>
]]></content:encoded></item></channel></rss>