Days 26-30: Code with Benny
Check out my last two posts: Days 16-20, Days 21-25
If you're curious what this is all about: Introduction to Code with Benny.
Follow me on twitter! All of these daily logs are posted there in short-form π
What I've done so far:
- Completed days 0-89 days of Replit's 100 Days of Python course
- Learned a variety of python skills (from simple print all the way to building dynamic web pages, using APIs, and web scraping). Will summarize what I've learned in a later post, but for now, check out Day 30 "Thoughts" below!
- Daily log posts on Twitter
This week, I'm in πBangkok, Thailand. I'm balancing exploring this huge city with daily coding. So far - going well π
Marathon training is going well too! More updates here soon, but if you want to hear about my toughest & longest run so far, check out Day 21 "Thoughts".
Day 26 (April 8th, 2023)
What I covered/did
Days 90-91 of the Replit course I linked below! Super exciting day today.
- JSON! And my first API call from randomuser.me :)
- APIs!!
Resources I used
Thoughts
Today, I got to cover the bread and butter of web apps: APIs. I see web scraping further down the course list for when there are no APIs to lean on, but for now, it's exciting to see how this actually works (and it's so much easier than I thought! at least for now). Of course the nuance/challenge here is in trying to adapt your code to the JSON text or other output from the code written by the creator of the API, but I'm excited to give this a try for the many different APIs I'll be using in the future.
Arrived in Bangkok today - will shut down the laptop and go see the city now πββοΈ
Day 27
What I covered/did
Days 92-93 of the Replit course I linked below!
- A bit of practice building a simple weather app pulling data from a free weather API (open-meteo.com)
- Messed around with the Spotify API!
- Used ChatGPT to outline how to build an AI app I'm thinking of pursuing
Resources I used
Thoughts
Weather app was easy to build! Pretty awesome what APIs can allow you to do - Day 93 was a day for messing with the Spotify API, so I went deeper into reading and understanding how to use developer/API documentation. It's really really exciting for me to start getting into this.
I also have an idea for an AI app I'll share later as I build it, but preliminarily, I asked ChatGPT to outline how to build it, and got a great breakdown that included: sample front-end frameworks, suggested AI models to use, example popular database services (MongoDB, PostgreSQL), and deployment solutions. There is a lot I don't know how to do in the outline it recommended, but I'm looking forward to breaking down the task and building this thing part by part.
Regarding marathon training: ran 4 miles in 100F+ degree heat this morning in Bangkok (around 9am). Felt good about my ability to do it with little prep and not feel overwhelmed/dehydrated afterwards, but I definitely think I need to get up earlier...
Also, a fun thing: after Bangkok this week I'm heading to Cambodia for another week and a half. However, I happen to be in Bangkok and Cambodia at the perfect time to catch a huge annual festival in each: Songkran (water festival) in Bangkok, and Cambodian New Year. Will share some photos in next week's postπ
Day 28
What I covered/did
Day 94 of the Replit course I linked below!
- NewsAPI practice, as well as OpenAI API! Came up with a funny quick app idea while doing this (see "thoughts" below)
Resources I used
Thoughts
Idea: Use NewsAPI and maybe OpenAI's API to create an app called "Should I look at the news today?" that allows someone to choose how tolerant they are of bad news and then AI filters through it and tells them if they should look or not lol. Might put this together real quick this week :)
Day 29
What I covered/did
Days 95-97 of the Replit course I linked below!
- Practice with OpenAI API!
- WEB SCRAPING - simple scrape of yelp for top 10 restaurants. First intro into diving into the "Inspect" tool in browsers for looking through site HTML and deriving useful insights
Resources I used
Thoughts
Came across this incredible blog post today that basically outlines how there has been an explosion of open source large language models (LLMs) in the past few weeks, many of which match the performance of GPT-3/Chat-GPT. This is super exciting for me because 1) open-source is generally better (not as dependent on the whims of a company/controlling entity), and 2) open-source is free! The fact that I can now create any AI-using app/tool without worrying about pricing or abrupt changes is super reassuring and exciting. After the past few days of the course messing with OpenAI's API, I had added to my to-do list the need to explore how to best deal with OpenAI's pricing model (though their pricing is generous, I have already gone through my free credits, and wasn't looking forward to this task).
Anyways - all this to say, I'm exciting to start exploring my AI-based ideas, and even more so after seeing, at the surface level, all of the open-source work happening (in the past few weeks, no less!!).
Day 30
What I covered/did
Days 98-100 of the Replit course I linked below!!
- Learned how to automate sending emails - managed to send myself an email via code (see below)
- More practice with web scraping and emailing - basically connecting all the pieces of the skills I've learned. Included scraping a community events page for events I like and emailing them to myself, and building a product price scraper/notifier when a price for something drops below a price I'd pay for it
Resources I used
Thoughts
I finished my first course!! Feels great to have finished this thing. I started with near-zero coding knowledge and now can build dynamic web apps while using APIs, web-scraping, and more.
A few cool things I got to do and learn in this course (I will attempt to explain in a non-technical manner):
- Databases and how to add/subtract data from them
- Building a project code repository with multiple files
- HTML/CSS (how to design and style a web page!)
- How to build a dynamic web app (something users can interact with that changes based on each user and their inputs)
- Object-oriented programming
- Simple graphic user interfaces
- Authentication/logins for web apps
- APIs! (a way to interact with other products and databases all over the internet)
- Web-scraping - basically pulling data straight from a website with or without their permission (usually without)
- How to automatically send emails via code I've written!
Sent myself an email today too via some code I wrote, which is so cool... it's exciting to start writing code that creates some real-world actions outside of the Replit console.
I've talked about this quite a bit already, but I think I want to start working on some of my own project ideas. I'm still traveling for the next ~10 days, and am taking a few days off to celebrate festivals in Thailand and Cambodia (see Day 27 thoughts), but will try to squeeze in app building on top of courses in the meantime. If I'm unsuccessful... c'est la vie. I'll jump into it when I stop moving around as much after those 10 days.
Also, will release the remainder of my learning roadmap very soon that will include what I plan to do with the remainder of this 100 days of coding challenge!