5 min read

Days 16-20: Code with Benny

πŸ‘‰
If you're new, welcome to Days 16-20 of my 100 days of coding challenge! Glad you're here πŸ™‚

Check out my last two posts: Days 6-10, Days 11-15

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-61 of Replit's 100 Days of Python course
  • Learned a variety of skills: variables, math functions, for/while/while true loops, libraries, subroutines, lists and 2D lists, dictionaries, saving, writing to, and reading from files, eval() and auto-loading/saving from files, try/except functions, manipulating csv files, os library, recursion, debugging, database functions, and more!
  • Kept on with my twitter daily log posts
πŸ’‘
Check out my Notion Learnings Database - Replit 100 days course page for details on what I'm learning. I log all my notes there - daily!

Day 16 (March 29th, 2023)

What I covered/did

Day 62-63 of the Replit course I linked below!

  • Project day - built a private diary tool. Spent time on this to architect it myself, got the structure 90%-ish right, which felt great.
  • Separating out code into multiple files

Resources I used

Thoughts

Small but steady progress. Definitely overextended myself socially this week - finding it's easy to fall into that trap in Bali. Recalibrating for the rest of this week 😊

Also, have begun hardcore marathon training, which is taking up greater headspace, energy and time than initially expected. I'm psyched to be doing this though. Blog updates to come soon!

a beautiful running path I found along a Bali beach at 6:15am :)

I did the Day 62 project myself (most of it), with a focus on architecting the solution correctly. Felt good about my ability to problem solve/dig through my notes to find relevant info, and then architect the program on my own.

Onwards!

Day 17

What I covered/did

Day 64-72 of the Replit course I linked below!

  • Intro to Object Oriented Programming (classes, objects, inheritance, etc)
  • Building simple GUIs with tkinter (graphic user interfaces). Went relatively quickly through this (see "thoughts" below for why)
  • defining a variable as "global" (allowing access to change variables outside of a subroutine they are defined in)
  • Secrets/secret data
  • Hashing (python has built-in hash function), and salting to build hacker-proof login systems

Resources I used

Thoughts

Funny disclaimer Replit included for Day 66: "DISCLAIMER: As the title states, this can get gooey. TKinter totally sucks - if you'd rather move on to something more fun, click "mark lesson as complete" and move on to Day 70 to get back to the good stuff." I decided to check it out but not spend a ton of time on this given the disclaimer (and the fact that I will be using non-Python based languages/no-code tools for building front-ends later).

Skipped Days 67-69 because after the initial tkinter overview, I think I got the picture for what this 90's style GUI was capable of (and its relevance to what I'll be doing - i.e. likely minimal relevance, for a while).

Enjoyed the security-focused Days 70-72, as well as the overview of Object Oriented Programming (I can see the class-object structure being useful in copy-paste scenarios). I'm curious to know what extent that OOP saves on compute resources relative to alternative code not using OOP (basically, how useful is OOP really?).

Today was a cruising day. Enjoying moving a bit faster, when possible. Getting eager to wrap up this course, however, and try a project of my own, so will aim to turn the last 25 lessons ("days") of the course into a bit of a sprint.

Day 18

What I covered/did

Day 73-75 of the Replit course I linked below!

  • HTML Crash Course! (tags including: body, bullets, links, images, etc)
  • CSS for styling web pages (colors, alignment, fonts type and size, and how OOP is involved)

Resources I used

Thoughts

Unexpected that another language (HTML) is briefly covered in this python course, but given this is on my roadmap anyways, I'm happy to have gotten started. I find it easy actually, although it is character-heavy and kind of cumbersome. Mostly excited to start understanding the code that pops up when you right click and select "Inspect" on a web page within Google Chrome 😊

Upcoming: going to learn Flask, which is "how python turns itself into a web server and allows you to create custom web pages for every user".

Day 19

What I covered/did

Day 76-77 of the Replit course I linked below!

  • Flask (for combining python and html/css!)
  • Templating, replacing, and redirecting to slim down Flask code. Particularly happy about learning about the redirect function - seems to be something I have come across in the past that is super easy to do (example use case: buying related domains and redirect them to the one you want).

Resources I used

Thoughts

Today's April 1st. Got pranked by some friends (it was well done - a group of 3 of them pretended one of them got kidnapped πŸ˜‚). Got me good.

Anyways - it's exciting that the code I'm doing is starting to move into dynamic web apps (that's always been the goal). I think, even as I write this, my confidence in my ability to build working, valuable web apps is starting to grow, as I know now what the problem set for building a particular app actually looks like.

Before, it used to be this nebulous chain of logic that looked kind of like: get user inputs using a front-end I either build or use a no-code tool to create, do something with those inputs on the backend, and use that no-code tool to output those inputs. The scary part was always that backend data processing part, but now I'm seeing how some ideas I have might actually be accomplished using some of the functions I've learned so far.

Exciting stuff :)

πŸ’‘
Don't forget to follow me on twitter - all of these daily logs are posted there in short-form πŸ™‚

Day 20

What I covered/did

Day 78-79 of the Replit course I linked below!

  • Practice with Flask
  • HTML Forms! (method & action, <input>, buttons, drop downs, etc)

Resources I used

Thoughts

Bit of a quick one. For those that don't know - I'm still working a part-time job to keep some income coming in the door until my coding/content pays my bills :) As a result, today was a work-heavy day to frontload that stuff so that this week I can focus more on coding and content.

In a week I head to Thailand and Cambodia for a "visa run". I'll be gone for two weeks, and then I head back to Bali late April. I anticipate those two weeks being a bit more hectic and requiring a fun combination of impromptu work sessions and frontloading work, but I figured while I'm still in Bali where I have a routine more figured out, I'll get as much done as I can.

Loving this life. Loving this learning.

See you for the next 5 days :)