Days 16-20: Code with Benny
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
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!
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 :)
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 :)