<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>100 Days of Python</title>
    <link>https://100days.cyberako.blog/</link>
    <description>Daily notes from my #100DaysOfCode challenge, following the Talk Python course.</description>
    <language>en</language>
    <atom:link href="https://100days.cyberako.blog/feed.xml" rel="self" type="application/rss+xml"/>
    
    <item>
      <title>Day 0: Starting the challenge</title>
      <link>https://100days.cyberako.blog/days/000/</link>
      <guid isPermaLink="true">https://100days.cyberako.blog/days/000/</guid>
      <pubDate>Fri, 23 Oct 2026 12:00:00 +0000</pubDate>
      <description>&lt;p&gt;Tomorrow I start the #100DaysOfCode challenge with Python, working through
Talk Python&#39;s &lt;em&gt;#100DaysOfCode in Python&lt;/em&gt; course and writing up each day here.&lt;/p&gt;
&lt;h2&gt;The plan&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Code every day for 100 days&lt;/li&gt;
&lt;li&gt;Follow the course&#39;s 33 three-day modules, from datetimes and collections
  through to Flask, databases and GUIs&lt;/li&gt;
&lt;li&gt;Post a short write-up here each day: what I did, what I learned, and the code&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;What the course covers&lt;/h2&gt;
&lt;p&gt;The course is taught by Michael Kennedy, Bob Belderbos and Julian Sequeira.
The opening &#34;sampling of what we&#39;ll cover&#34; lecture gives a taste of the
ground it covers:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Python fundamentals:&lt;/strong&gt; collections, lists and dictionaries&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reliable code:&lt;/strong&gt; testing with pytest, proper error handling, and logging
  to keep a history of what an app has done&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Object-oriented programming:&lt;/strong&gt; building a Dungeons and Dragons style game
  with classes and inheritance&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Data from the outside world:&lt;/strong&gt; JSON, calling JSON-based web services,
  web scraping (turning any HTML page into a data source) and RSS feeds&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Automating services:&lt;/strong&gt; the Twitter and GitHub APIs, and sending email&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Automating the desktop and web:&lt;/strong&gt; programming against Excel, and driving
  a browser with Selenium to log in, navigate and click buttons&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Web apps and databases:&lt;/strong&gt; Flask (probably the easiest way to write a web
  app in Python), the built-in SQLite database, and the SQLAlchemy ORM for
  mapping classes to database tables&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Data visualisation:&lt;/strong&gt; graphs with Plotly, with about a quarter of the
  course presented in Jupyter notebooks&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GUIs:&lt;/strong&gt; cross-platform desktop apps for Windows, Linux and macOS in just a
  few lines of code&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Building APIs:&lt;/strong&gt; extending Flask to create my own API and put it on the
  internet&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;That&#39;s only part of it. There are 33 modules in all, three days each.&lt;/p&gt;
&lt;p&gt;Flask is the one I&#39;ve already had a head start on, because this blog is a
Flask app. Each post is written in Markdown, and Frozen-Flask turns the site
into static pages hosted on AWS.&lt;/p&gt;
&lt;p&gt;The grid on the home page fills in as each day gets logged.&lt;/p&gt;</description>
    </item>
    
  </channel>
</rss>