Just a cute pic of me
by Mike McKee
Programming

Every Project Has Its Challenges -- That I Hate

66 Days of Math and Programming -- Day 22

I feel like I just got off a rollercoaster at Six Flags. I had the ride of my life, yet I want to barf my brains out.

Yesterday I finally finished the toughest part of my email automation project. So I’m absolutely thrilled. But I’m absolutely broken too.

That’s because I realized I just finished the easy part.

You see, I’ve worked with APIs before over the last few weeks. I retrieved data from Spotify’s API and retrieved data from ConvertKit’s API.

But do you see the pattern? The similarity?

Retrieved.

I didn’t manipulate anything within my Spotify or ConvertKit accounts.

But yesterday I did the seemingly impossible.

I accessed my Gmail using Python and figured out how to automatically send myself emails. (Check out my code here). So the project’s done, right?

Nope. Definitely not.

I started this project to automate my learning process and send myself a “wake-up email” every morning. It’ll give me a blog post to read, and I’d be happy. But the programming world hates me.

I planned on using the Linux Cron utility to run my Python script every morning on my laptop. That’s when I realized my idiotic mistake – Cron can’t run the script if my laptop is off.

So now I have to move my code to the cloud and run it there (probably using the Google Cloud Function product).

I’ve never worked with the cloud before, so learning how to use it is gonna be fun (and challenging).

Before ending this post, let me channel my inner “cheesy car salesman.”

“But wait! There’s more!

You see, my Python script works by accessing my local MySQL server and pulling data from it. But *again* if my laptop is off, not even the cloud can access my database.

So I’ve run into problemo numero dos…

I have to move my database to the cloud too.

The easy way out is to find a relational database that runs on the cloud, but I’m beyond easy at this point. I might as well optimize my learning by challenging myself more.

So rather than settle for a friendly relational database, I’m gonna put my Python skills to the test and work with a NoSQL database like MongoDB. Honestly, I’m not definite I’ll do this. Just 95% sure.

Either way, I have a lot of work ahead of me, so it’s gonna be one hell of a ride.

Okay, that’s it for today’s rant.

Frankly, I just wanted to share what was on my mind and give you a behind-the-scenes look at what I did yesterday.

Peace!