Days 46-50: Code with Benny
If you're curious what this is all about, check out the Introduction to Code with Benny
Check out my last two posts: Days 36-40, Days 41-45
Follow me on twitter! All of these logs are posted there daily in short-form π
What I've done so far:
- Completed all 100 days of Replit's 100 Days of Python course. Wrote about what I've learned in Day 30 "Thoughts"
- Harvard's CS50, weeks 0-6!
- Started my own project: ShouldIReadTheNewsToday? A tool that automatically analyzes today's news headlines from major news providers around the world, and, uses an AI model to tell you if you should read the news based on your tolerance of bad news π
- Daily log posts and several fun threads (follow me on twitter!)
This week, I'm hopping between a few islands near Bali called π"Gili" and "Lombok".
Marathon training is going very well. I'm consistently setting new personal distance records, and have gone up to 18mi/29km. The marathon is just a few weeks away, and I'm feeling more and more confident as the date draws closer πͺ
Day 46 (April 28th, 2023)
What I covered/did
Short day today: Read over Week 6 problem sets/labs/practice problems of Harvard's CS50, and a bit of Week 7! Week 7 continues with some python concepts
- Flat-File Databases (python)
- Learned how to create a dynamic program that counts up certain elements in a csv file in a way that is agnostic of the csv column positions, and whether or not an input exists yet, and then uses for loops + dictionaries to store and analyze the data in the csv
Resources I used
Thoughts
Today was my personal-record-breaking 18mi/29km run, so coding took a backseat to prep, run, and recovery of that run (3hrs 17min of running!!).
That being said, I got to jump back into SQL today, which I have very brief experience with from my time working at Qorvo, Inc. (a semiconductor manufacturing firm) where I used some SQL to query a database of Qorvo products. I'm not sure knowing SQL is 100% useful to my indie hacking goals, but I think I trust CS50 enough to provide some value with it, and given they decided to include it in their intro course, I think it's worth going through the lecture, at the least, and then taking any data querying skills I may gain with me (since these skills are probably transferrable to a variety of context - basically anywhere that includes a database).
Day 47
What I covered/did
A lot of Week 7 of Harvard's CS50!
- learned how to use python's automatic sorted function for dictionaries
- lambda functions
- relational databases (thus initiating my brief dive into SQL!)
- CRUD (Creating, reading, updating, and deleting data)
- A bunch of SQL syntax/commands (AVG, COUNT, DISTINCT, LOWER, MAX, MIN, UPPER, WHERE, LIKE, ORDERBY, LIMIT, GROUPBY)
Resources I used
Thoughts
Enjoyed learning some additional python skills, and diving a bit into SQL. I like how CS50 introduced relational databases and then SQL by explaining where it fits into the modern tech world (e.g. Google, Β Twitter, and Meta using relational databases to store info at scale). I have heard this phrase "relational database" get thrown around before, so it's interesting to understand what it actually means (similar to the other concepts I have re-learned so far).
Cool thing is how dynamic python is - from my vantage point so far, it seems like every language/tool can be imported into python (you can use SQL in python too!). Really enjoying the fact that I'm picking this language as my "base" language.
Day 48
What I covered/did
Most of the remainder of Week 7 lecture of Harvard's CS50!
- Diving into how to query relational databases (schemas, primary keys, foreign keys, etc)
- ASC, DESC sorting, UPDATE command
- sqlite data types (BLOB, INTEGER, NUMERIC, REAL, TEXT)
- Nesting queries
- JOIN
Resources I used
Thoughts
I take back what I said in Day 46 thoughts about SQL potentially not being useful to my indie hacking goals - the ability to quickly and more efficiently query data is definitely useful and I can imagine situations where user data/data that feeds into building the product needs to analyzed or pulled into other places in the backend of what I end up building.
Hurt my foot yesterday playing tennis barefoot - not recommended for those training for marathons...
Day 49
What I covered/did
The rest of Week 7 lecture of Harvard's CS50!
- Indexes
- Using SQL in Python
- Race Conditions
- SQL Injection Attacks
Resources I used
Thoughts
Wrapping up an active week with some friends in an island called "Gili Trawangan". I've been saying that it's the most "islandy island" I've ever been to - as tropical, laid back, and beach-y as you can imagine. Makes wanting to work a challenge :)
That being said - I'm moving forward through the CS50 lectures slowly but surely. I've put building ShouldIReadTheNewsToday on pause in the meantime, but plan to reinitiate work on it in the next few days.
Unfortunately, the foot injury looks like it may last a few more days, so marathon training is on pause for now. A bit concerning given how close I am to race day, but I'm confident I'll heal quickly and pull through.
Day 50
What I covered/did
Week 7 Lab/Problem Sets/Practice Problems, and some of Week 8 lecture from CS50!
- Operators and additional SQL functions
- Overview on Routers, DNS, HTTP, and IP/TCP protocols
Resources I used
Thoughts
Nice to dive back into HTML/CSS, and get a CS50-style introduction to Javascript (which I did briefly in high school). I covered HTML/CSS in the 100 days of Python Replit course, but I don't think that was a particularly robust introduction, and I'm curious to learn more about the computer science history and context around the development of this very internet-y language.
I'm finding myself heading to more and more remote places as of recent, and am currently writing this from a villa in a bit remote of a place in a bit remote of an island (Lombok). It's been a unique experience, as I round out these 50 days, to reflect back on how I have made this 100 days of coding challenge work (and how I have gotten in my own way π). I will be releasing a halfway-point reflection piece in the next few days, and in it, I want to weigh the pros and cons of the hectic lifestyle I've pursued over the past 7 weeks.
Preliminarily, I think that I have, for the most part, optimized for fun, adventure, and social enjoyment, and coding/marathon training have filled the gaps. Now, I want to optimize for something different: routine, focus on coding, and content creation. When I wrote my initial plan, I underestimated the role adventure would play in my life, and imagined that I could do everything all at once. I think I am becoming better acquainted with the tradeoffs I need to make now that I have lived the digital nomad/Bali lifestyle for the past few months. Now, I'm more prepared to make those tradeoffs, and stay in one place for a while.
All this being said - my itinerary is set, and for the next 2.5 weeks, I'm still optimizing for travel, adventure, and marathon training. But around Day 70, I want to close out the last 30 days of this 100 days challenge with a renewed focus on this part of my life.
Anyways - thanks for following along. See below for some fun pictures :)
Some pictures from this past week ππ
Member discussion