<?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[Kibet Builds]]></title><description><![CDATA[I'm a software engineer with a Java/Spring Boot background who decided to learn machine learning from scratch — and document every step publicly. This blog cove]]></description><link>https://kibetbuilds.hashnode.dev</link><image><url>https://cdn.hashnode.com/res/hashnode/image/upload/v1593680282896/kNC7E8IR4.png</url><title>Kibet Builds</title><link>https://kibetbuilds.hashnode.dev</link></image><generator>RSS for Node</generator><lastBuildDate>Thu, 10 Sep 2026 07:26:38 GMT</lastBuildDate><atom:link href="https://kibetbuilds.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Day 1: I Wrote My First Python Script and It Fetched Live Weather From Nairobi]]></title><description><![CDATA[I'm a software engineer. Java, Spring Boot — that's been my world. I'm comfortable there. Maybe too comfortable.
A few weeks ago I watched someone I know get a gig building an AI model for an insuranc]]></description><link>https://kibetbuilds.hashnode.dev/day-1-i-wrote-my-first-python-script-and-it-fetched-live-weather-from-nairobi</link><guid isPermaLink="true">https://kibetbuilds.hashnode.dev/day-1-i-wrote-my-first-python-script-and-it-fetched-live-weather-from-nairobi</guid><category><![CDATA[Python]]></category><category><![CDATA[python beginner]]></category><category><![CDATA[AI]]></category><category><![CDATA[Machine Learning]]></category><dc:creator><![CDATA[Immanuel Kibet Ngeno]]></dc:creator><pubDate>Tue, 01 Sep 2026 20:01:33 GMT</pubDate><content:encoded><![CDATA[<p>I'm a software engineer. Java, Spring Boot — that's been my world. I'm comfortable there. Maybe too comfortable.</p>
<p>A few weeks ago I watched someone I know get a gig building an AI model for an insurance company. The brief: simulate a car crash, reconstruct the physics, figure out who was at fault. She used physics simulations, machine learning, computer vision. Things I'd heard of but couldn't build. I sat with that feeling for a while.</p>
<p>So I made a decision. I'm going to learn machine learning — properly, not just prompt engineering and vibes. And I'm going to document every single step here so that in six months, there's a record of exactly where I started.</p>
<p>Today was day one.</p>
<hr />
<p><strong>What I built</strong></p>
<p>A Python script that fetches real-time weather data from any city in the world and prints it in plain English.</p>
<pre><code class="language-python">import requests 
import sys

def get_weather(city): 
    url = f"https://wttr.in/{city}?format=j1" 
    response = requests.get(url) 
    data = response.json()

    temp = data["current_condition"][0]["temp_C"]
    feels_like = data["current_condition"][0]["FeelsLikeC"]
    description = data["current_condition"][0]["weatherDesc"][0]["value"]

    return {
        "city": city,
        "description": description,
        "temp": temp,
        "feels_like": feels_like
    }

if __name__ == "__main__":
    city = sys.argv[1] if len(sys.argv) &gt; 1 else "Nairobi"
    result = get_weather(city)
    print(f"{result['city']} right now: {result['description']}")
    print(f"Temperature: {result['temp']}°C (feels like {result['feels_like']}°C)")
</code></pre>
<p>I ran it for Nairobi, then Tokyo, then London. It just worked.</p>
<hr />
<p><strong>What I actually learned</strong></p>
<p>I come from Java so Python syntax wasn't the hard part. What was new: how Python handles libraries (<code>import requests</code> instead of Maven dependencies), how JSON from an API becomes a Python dictionary automatically via <code>response.json()</code>, and why every project gets its own virtual environment instead of installing packages globally.</p>
<p>The line that made me think hardest was this one:</p>
<pre><code class="language-python">temp = data["current_condition"][0]["temp_C"]
</code></pre>
<p>That's three operations chained: get a list from a dict, grab the first item, then get a value from that dict. Once you see it, you can't unsee it. That's how you navigate any API response.</p>
<hr />
<p><strong>The setup</strong></p>
<p>Mac M4, Python managed by <code>uv</code> (think Gradle but for Python versions and packages), VS Code with the Python and Jupyter extensions. Setup took under 20 minutes.</p>
<hr />
<p><strong>What's next</strong></p>
<p>Tomorrow I extend this into a morning brief bot — weather, news, calendar — that runs automatically every day. By end of September, I want to have a solid enough Python base that I can start touching real data science libraries.</p>
<p>The destination is that insurance model. I'm not there yet. But today I made the first commit.</p>
<hr />
<p>Nairobi, September 2026. Let's go.</p>
]]></content:encoded></item></channel></rss>