I’ve been teaching myself Python for the better part of the year. Being the mathematically and systems oriented person I am it was only a matter of time I delved into programming again. This isn’t the first time I’ve been down this road, just the furthest.

A long while ago, during the summer between my junior and senior years of college I took up learning Python since I heard plenty of things about its use and accessibility for non-comp-sci majors like myself. My journey ended as quickly as it began with only completing a handful of lessons from Learn Python the Hard Way and a few problems on Project Euler.

project euler

Project Euler’s Problem Page

My time with Python was short, but sweet.

Two years passed and I hadn’t touched a line of code since then, until one afternoon when a friend called me with an idea.

Listeners of my productivity podcast know that I’m the sort of person who gets really excited about new projects, so when my friend called me up with an idea for an app I jumped on that wagon fast. What the app was supposed to do doesn’t matter here, what does is that it brought me back into the world of programming. Neither him nor I had any formal training in programming, so I picked up a Java course off of Udemy so I could begin my path of becoming a successful app developer.

That project never got past the learning Java phase. Between the two of us I ended up being drawn to the world of programming more than him, and thus the project died. Around the same time I began my first podcast with another friend, which did end up taking off, and with that, it was back into a codeless world for me.

My programming life began a familiar pattern. I’d pick up the basics of a language for a bit, then drop it for something else. The same self fulfilling prophecy continued with other languages, like learning just enough HTML & CSS to customize a WordPress theme, or learning the basics of AutoLISP for my job as an engineer. Nothing really stuck, and it took a while for me to figure out why.

I picked up learning these languages and the basics of code because I saw them as fun before it got too hard. I never challenged myself because I didn’t understand how a computer thought or was structured. Plus most of my practice problems involved math problems from Project Euler. Coding felt like some fancy way to solve math problems, and nothing else.

I picked up Python again this time around, due to its accessibility and use in data science. I am not a data scientist by any means, but I do love data. I started again with Learn Python the Hard Way, then found out shortly afterwards from the Learn Python subreddit that, well, that course sucks. So I followed their lead and started with Automate the Boring Stuff with Python.

automate_2e_cover

And wow did this lesson make a huge difference in my programming journey. No longer did I see coding as a fancy way to solve math problems, it could be used that way, but I now knew how to do other things with it. I could manipulate files, write Excel documents, and move my cursor! I finally felt like this was it. What really opened my eyes to this brave new world of programming was the API.

Another hobby of mine is fiction writing. I don’t share it that often since I’m self conscious of it (but that should change soon), and like coding is only a skill I’ve gone back to the basics and no further for many cycles now. One problem with writing fiction for me is that I always feel like I either have too many ideas I want to work on, or none at all. So I decided to pick up going to /r/WritingPrompts every so often to explore ideas. But that got overwhelming. I just wanted one topic to write from and no more. So I turned to Python.

2020-04-23 18_00_32-Prompts and motivation to create something out of nothing

So many great ideas, where do you being?

Using my knowledge of Python and knowing that API’s exist, I looked into the reddit API for python and began automating my decisions. I created a very simple program that picked a random post from the entire history of the subreddit and printed the prompt and the direct link to the prompt. I never know what I’m going to get, and I like it that way. This was what I wanted Python and Java for years ago.

Learning about the API changed everything once again. I could now interact with websites and app in ways I only ever dreamed of. Since then I’ve created a simple Discord bot, and have experimented with a Slack bot.

This time it will be different, I finally feel like it’s time I continue down this path I’ve been drawn to on and off again for over six years. It’ll be back to the basics over and over again no more.