Learning Backend WebDev, Log #11 - Got a Django Certificate! Some Reflections

Been a few days since I wrote about Django. Last week was a roller coaster personally, so I took things slow. And then got back to a rhythm this week. The daily work’s paid off and I managed to hit a milestone. I got done with my Django course, today! :) Hurrah! ...

June 30, 2021 · Mario Jason Braganza

Learning Backend WebDev, Log #10 - A Very Long, and a Really Good Day

I did. I really did have a good work day! I had one of those, whatchacallit, flow states. What I learnt in Django land I learnt nothing! Well I learnt nothing new. I spent the whole day and what little I time I had yesterday, trying to crack the assignment for module three of the course. I struggled and struggled and then, struggled a bit more. The more I write Django, the more intuitive it feels, like I can never make out, what’s provided by Python and what has been built for me by Django. It all feels like one seamless whole. The blow up Django cycle continued today, to an extreme, it felt like. But it felt good and iterative, like I had a sandbox to play in, as I wished. There’d be a decimal error and I’d fix it and then there’d be some sort of bounds error because I’d built too little capacity to hold stuff in my models and I’d go fix it and then I’d figure that this method returns a tuple, so I need to catch it in two variables and throw one away, just so I could have at the data I was interested in, and I learnt how to rebuild my models and migrations and reset my database and I spent two exasperating hours on a consistent Django blowup that just should not have been possible. And then I realised, I was assigning the same data to two models (same variable.) Long story short, I learned a lot. Working over the past two days reminded me of this Julia Evans page, that I serendipitously came across a while ago. ![Julia Evans comic explaining the importance of tracking progress][jeiln] Focus Follow Up aka Flow what? This probably, was the first time, I had a state of flow while programming (I used to have them all the time at work as well lots of times, when I am writing). This probably means I am comfortable with the level I am at, and I should stretch a bit more. Did eleven, 30 minute sessions with no aborts. I lost track of time, quite a bit. Am done with three out of the four modules of this course, I’m on. After yesterday, today’s progress really feels good. While I’ll take my wins where I can find them, I should be cognizant of the fact that it was the uncomfortable practice of the week that brought me here. And so, I want to get more comfortable with feeling uncomfortable. Here’s to finishing strong! ...

June 19, 2021 · Mario Jason Braganza

Learning Backend WebDev, Log #9 - A Very Long, and Not Very Good Day

Today is a short post. I worked a lot. Did not get much work or progress in. Life got in the way. Hope tomorrow is a better day. I did do, 2 hours of work though, and I did learn a lot. So there’s that. Until tomorrow … P.S. Subscribe to my mailing list! Forward these posts and letters to your friends and get them to subscribe! P.P.S. Feed my insatiable reading habit. ...

June 18, 2021 · Mario Jason Braganza

Learning Backend WebDev, Log #8 - Many, Many Relationships

Another day of doing only Django. Not that I’m complaining. Finishing up this Django course is my priority. Followed by PostgreSQL and Data Structures and Algorithms. I just have to do them step by step, one after another. What I learnt in Django land I like calling it Django land. Reminds me of Tarantino’s Django and Candyland. I learnt all about many to many database relationships and how they’re done with models in Django. They’re a logical extension of one to many relationships. It’s like one of those who know who games. I know Carol. Carol knows Amelia. And so Carol is my through table, my join table, my junction table. I can request things of Amelia through Carol. That in a nutshell is what it is like. I realise that all these complicated terms I feared are actually succinct names for simple, yet long winded processes or things. I’m going to practice all this tomorrow morning. Heuristic, whenever I see repeated strings vertically, I ought to be thinking databases for efficient storage. Heuristic, whenever I see multiple things relating to multiple other things, I ought to be thinking many to many models/relationships (many books to a genre, many genres to a book, an author with multiple books, a book with multiple authors) Use integers for primary keys. Integers are fast. I now love the folk who designed and built Django. The more I learn about its innards, the more I realise there is no Django magic. Just back breaking hard work and lots of thought put into building this beautiful edifice over the years. Makes me appreciate learning Django, even more. Focus Follow Up aka How did I do with focus today? Did seven, 30 minute sessions of Django and one aborted session Had a lot of housework today and still managed to wrangle 3 and half hours of deep work. Writing notes, seems to be helping. I get my quizzes right the first time around. Deliberate practice and focus are not easy, that’s for sure. I keep looking at the clock. And then I keep moaning about how time passes too slowly when I am struggling with stuff. Also noticed that whenever I start working on something tough, my mind gets really uncomfortable and wants to do everything else, but focus on the problem and do the work. I want to suddenly call people I haven’t spoken to in ages, check my mail, my messages, peek at the fediverse 😂 I resist. And tell myself, I just have to hold on for 20 more minutes 😂 I serendipitously came across this tweet, just a few minutes ago, which tells me I am not alone :) Writing code is often a constant struggle against distraction. — Joy of Clojure This focus is now bleeding into other areas of my life. I am slowing down and doing other stuff, slowly, intentionally. My mind feels like it is slowly expanding as if it was in a vise. It feels a bit more relaxed, a bit more freer Here’s to showin’ up! ...

June 17, 2021 · Mario Jason Braganza

Learning Backend WebDev, Log #7 - Owning All the Rows

Let’s get on with today’s log! I studied only Django today. Was plagued with rains and power cuts and family stuff. Managed to work well and patiently though. What I learnt in Django land. Owned Rows, that opened my eyes into another dimension to begin with. While I knew that Django supports multiple users, it struck home today, that I was the one to write all the code that supported all those users. All the exercises so far, were just build a view, show some data. And now I realise, Oh! I cannot let Tom edit Jerry’s cheese details, nor can Spike get into Tom’s house. I need to be the one that guards against all that. Owned rows are one way I can do this. They will let logged in users edit or delete rows that belong to them only. Not the others. I subclassed stuff, which let me drill OOP concepts like inheritance a bit more. Finally, I learnt about DRY in action where I let the parent classes do all the heavy lifting, while I wrote a tiny class that let me tweak stuff just the way I liked it. Finally, finally, I learnt the amount of work Django saves me and just how much power is there under the hood. Focus Follow Up aka How did I fare today and how do I feel now at the end of the day? Did eight, 30 minute sessions of learning Django. Had three aborted sessions, when I got ridiculously distracted. If you want to know, why I abort and start over, I kinda go over this, in this post. So worked about the same time (or less) as I did yesterday. I feel like I learnt a bit more, than I did yesterday. I’ve begun writing scratch notes as I look at the videos. This makes it more slowgoing, but I internalise stuff a more. I think. I’ll see if this helps. Energy wise, this is still sustainable. I feel good still at the end of the day. Not drained and exhausted. Also I think I’m getting the grasp of this. I keep pausing the videos and then trying to predict stuff. I find myself being right, more and more frequently. Today was the first time I yelled at Dr. Chuck for typing in the model name wrong 😂 I only wish I had begun much, much, much earlier in life, when all these things were beginning and then grown with the Django project. I wish I was not as intimidated about programming being the domain of ‘smart’ people, when I was young. I wish I had more patience, as I traverse what seems like a never ending road of learning with no end in sight, with new things to learn, every half a mile. I wish I could get over this big mountain of basic fundamentals with a snap of my fingers. But I can’t. So I’ll do the next best thing. Show up. And do the work. P.S. Subscribe to my mailing list! Forward these posts and letters to your friends and get them to subscribe! P.P.S. Feed my insatiable reading habit. ...

June 16, 2021 · Mario Jason Braganza

Learning Backend WebDev, Log #6 - Focus Followup

Today, I did not quite care how much progress I made. Instead I focussed on getting my focus periods in, like I described yesterday. It’s about an hour earlier than when I usually call it a day. And yet, now that I am checking, I have ‘worked’ fewer actual hours than usual. And I have gotten a bit of exercise and housework done too! (This does not usually happen on a normal study day) ...

June 15, 2021 · Mario Jason Braganza