I started learning about programming seriously1 as an adult 3 years ago. Not quite to the day, but pretty close. I started off with Zed Shaw’s Learn Python The Hard Way. At the time, this seemed like a great way to get exposed to what programming was all about in as short of time as possible. I still think I can stand behind this reasoning.

I found myself diving into learning about programming for 2 reasons:

I have come a long way since then. However, nearly everything that I have done since then has “looked” more or less the same, meaning that I write something up to be called directly from the command line, like nearly all programming tutorials show. I hever have really gotten into the web side of things(though that needs to change soon…). That is to say, I have never made anything that most average people would recognize as a progam or app.

I got inspired to change this during a recent Rust class that I did with some of my coworkers. The class mostly consisted of working through The Rust Programming Language together. did a very simple final project that would give us the chance to use actually build something rather than working problems from the book and rustlings exercises. I choose to do a Pomodoro timer, as this is a tool that I find very helpful for my day to day work.

Coming into this process, I really have no clue about how GUIs actually work. It seemed like you would need some kind of loop to monitor changes to state and some how send these to the screen. Based on some cursory research, this turns out to be the case, but the whole process is pretty complicated…so lets get learning.

  1. Maybe lets not take the use of the word seriously here too seriously…