<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Pathtoprogrammingcareer on Janusworx</title><link>https://janusworx.com/tags/pathtoprogrammingcareer/</link><description>Recent content in Pathtoprogrammingcareer on Janusworx</description><generator>Hugo -- gohugo.io</generator><language>en</language><managingEditor>feedback@janusworx.com (Mario Jason Braganza)</managingEditor><webMaster>feedback@janusworx.com (Mario Jason Braganza)</webMaster><copyright>© 2026, Mario Jason Braganza</copyright><lastBuildDate>Wed, 30 Jun 2021 18:42:52 +0530</lastBuildDate><atom:link href="https://janusworx.com/tags/pathtoprogrammingcareer/index.xml" rel="self" type="application/rss+xml"/><item><title>Learning Backend WebDev, Log #11 - Got a Django Certificate! Some Reflections</title><link>https://janusworx.com/work/learning-backend-webdev-log-11-django-cert-some-reflections/</link><pubDate>Wed, 30 Jun 2021 18:42:52 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/work/learning-backend-webdev-log-11-django-cert-some-reflections/</guid><description>&lt;p&gt;Been a few days since I wrote about Django.&lt;br&gt;
Last week was a roller coaster personally, so I took things slow.&lt;br&gt;
And then got back to a rhythm this week.&lt;/p&gt;
&lt;!-- TEASER_END --&gt; 
&lt;p&gt;The daily work’s paid off and I managed to hit a milestone.&lt;br&gt;
I got done with my Django course, today! :)&lt;br&gt;
Hurrah!&lt;/p&gt;
&lt;hr style="margin-left: auto; margin-right: auto;margin-bottom: 40px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;" /&gt;
&lt;p&gt;&lt;a href="https://janusworx.com/images/2021/edx-django-cert.png" &gt;&lt;figure&gt;&lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt="Picture of my certificate, passing the Django Course"
 src="https://janusworx.com/images/2021/edx-django-cert.png"
 &gt;&lt;/figure&gt;
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://credentials.edx.org/credentials/c2b43bbea674427ea6b764993ce00b6d/" target="_blank" rel="noreferrer"&gt;Cert online.&lt;/a&gt;&lt;/p&gt;
&lt;hr style="margin-left: auto; margin-right: auto;margin-bottom: 40px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;" /&gt;

&lt;h2 class="relative group"&gt;Some Reflections (in no particular order)
 &lt;div id="some-reflections-in-no-particular-order" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#some-reflections-in-no-particular-order" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;I should keep better logs and notes about how I go about doing work. I kept deleting my sqlite database, trying to fix model errors, forgetting that I’d moved to Postgres.&lt;/li&gt;
&lt;li&gt;This whole Django journey has built up on the last one. While I stood up a Django project the last time, I didn’t understand or grasp what I was doing.&lt;/li&gt;
&lt;li&gt;This time around, I’ve understood the &lt;em&gt;why&lt;/em&gt; and I’ve gotten a better mental model of how it all hangs together. What the request response cycle is. What needs to happen then. How it’s mostly all &lt;a href="https://en.wikipedia.org/wiki/Create,_read,_update_and_delete" target="_blank" rel="noreferrer"&gt;CRUD.&lt;/a&gt; How Django enables me to tie all these pieces together using models and views and forms and templates and a million and one little things to ease my life.&lt;/li&gt;
&lt;li&gt;I’m now confident enough to go try standing up a Django project on my own and then muddle through, to build something I want.&lt;/li&gt;
&lt;li&gt;I started the year, flailing about in the world of programming, because &lt;em&gt;everything&lt;/em&gt; interested me. I’m thankful I took the time, to figure out what interested me and where I wanted to apply my focus to. Once I zeroed in on doing web development with Python, I’ve made much better progress learning.&lt;/li&gt;
&lt;li&gt;While I understand that I need to &lt;em&gt;write&lt;/em&gt; a lot more code, I want to finish building up a firm foundation first. To that end I want to &lt;a href="https://www.pg4e.com/" target="_blank" rel="noreferrer"&gt;learn Postgres&lt;/a&gt;, finish up &lt;a href="https://www.edx.org/course/cs50s-web-programming-with-python-and-javascript" target="_blank" rel="noreferrer"&gt;CS50W&lt;/a&gt;, crash learn &lt;a href="https://www.udemy.com/course/datastructurescncpp/" target="_blank" rel="noreferrer"&gt;Data Structures &amp;amp; Algorithms&lt;/a&gt; (for my Indian interviews. Nearly every Indian company I’ve interviewed with, has made me do this and I’ve flunked miserably every time. I hope to miserably pass muster at least, going forward) and a &lt;a href="https://www.edx.org/course/c-programming-language-foundations" target="_blank" rel="noreferrer"&gt;wee bit of C.&lt;/a&gt; Also JavaScript. Lots to learn. I need to do this bit by bit daily, just like I did this part so far.&lt;/li&gt;
&lt;li&gt;I understand what folks say, when they talk about programming. I understand their opinions better. Makes me realise that I’ve gotten the basics down pat enough.&lt;br&gt;
To wit, Dr. Chuck was opining on destructors in classes in Javascript, and why there weren’t there in the early days and why they might be desirable now. And all the while, I was nodding my head in agreement, having understood every word, going uh-huh, uh-huh. Why? Yes! It’d be a darned good idea. I could do custom cleanup when my classes get torn down. (And this, from someone who has not written more than two pages of JavaScript yet 😂)&lt;/li&gt;
&lt;li&gt;I kept waiting all this while, for it get easier, to reach some abstract level by means of some deep insight, hoping once I’d master &lt;em&gt;that&lt;/em&gt;, I could then just fly along, spewing stuff, left right and centre, creating amazing works of code.&lt;br&gt;
What I found instead, is a bunch of primitives that folk all over the world, take and put together in different ways, using various methods of combining them.&lt;/li&gt;
&lt;li&gt;I realised that most of programming is just convention, based on a few truths. Which means that there is no grand unifying theory that ties all this in a neat bow. It’s just a lot of dedicated folk putting in the toil to create said works of code and polishing them to make it look beautiful. It’s mostly hard work. Not Genius.&lt;br&gt;
Actual breakthroughs and genuine insights that change everything are few and far between.&lt;/li&gt;
&lt;li&gt;And this makes me strangely happy. If it’s just hard work … well that I can do :) Why didn’t someone just point this out to me earlier? Knowledge work is just work? Putting in the hours and work and toil? Sure! Sign me up!&lt;/li&gt;
&lt;li&gt;I figure, it’s turtles all the way down. The work consists of studying something complex, breaking it down, understanding it, practicing it, making it your own and creating a portfolio to show it off. Basically the same journey as a carpenter. Apprenticeship -&amp;gt; Journeyman -&amp;gt; Craftsman.&lt;/li&gt;
&lt;li&gt;Finally, I’ve spent so much time telling folk, that becoming a &lt;a href="https://janusworx.com/books-through-the-years/" target="_blank" rel="noreferrer"&gt;good reader&lt;/a&gt;, took me &lt;em&gt;years.&lt;/em&gt; And as usual I’ve been domain blind. I did not see, it’s the same thing with becoming a good programmer. Toil and patience.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I’m on a break for the whole of next week, and will be back after, to begin the rest of the journey, refreshed.&lt;br&gt;
Here’s to upwards and onwards!&lt;/p&gt;</description></item><item><title>Learning Backend WebDev, Log #10 - A Very Long, and a Really Good Day</title><link>https://janusworx.com/work/learning-backend-webdev-log-10-a-very-long-and-a-really-good-day/</link><pubDate>Sat, 19 Jun 2021 17:55:52 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/work/learning-backend-webdev-log-10-a-very-long-and-a-really-good-day/</guid><description>&lt;p&gt;I did. I really did have a good work day!&lt;br&gt;
I had one of those, whatchacallit, &lt;a href="https://www.ted.com/talks/mihaly_csikszentmihalyi_flow_the_secret_to_happiness" target="_blank" rel="noreferrer"&gt;&lt;em&gt;flow states.&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;
&lt;!-- TEASER_END --&gt;

&lt;h2 class="relative group"&gt;What I learnt in Django land
 &lt;div id="what-i-learnt-in-django-land" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#what-i-learnt-in-django-land" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;I learnt nothing!&lt;/li&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;li&gt;I struggled and struggled and then, struggled a bit more.&lt;/li&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;li&gt;Working over the past two days reminded me of this &lt;a href="https://wizardzines.com/comics/track-your-progress/" target="_blank" rel="noreferrer"&gt;Julia Evans&lt;/a&gt; page, that I serendipitously came across a while ago.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr style="margin-left: auto; margin-right: auto;margin-bottom: 40px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;" /&gt;
![Julia Evans comic explaining the importance of tracking progress][jeiln]
&lt;hr style="margin-left: auto; margin-right: auto;margin-bottom: 40px; width:100px; border: none; background-color:rgb(238, 238, 238); color: rgb(238, 238, 238); height: 1px;" /&gt;

&lt;h2 class="relative group"&gt;Focus Follow Up aka Flow what?
 &lt;div id="focus-follow-up-aka-flow-what" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#focus-follow-up-aka-flow-what" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;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).&lt;/li&gt;
&lt;li&gt;This probably means I am comfortable with the level I am at, and I should stretch a bit more.&lt;/li&gt;
&lt;li&gt;Did eleven, 30 minute sessions with no aborts. I lost track of time, quite a bit.&lt;/li&gt;
&lt;li&gt;Am done with three out of the four modules of this course, I’m on.&lt;/li&gt;
&lt;li&gt;After yesterday, today’s progress really feels good.&lt;/li&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;li&gt;And so, I want to get more comfortable with feeling uncomfortable.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here’s to finishing strong!&lt;/p&gt;</description></item><item><title>Learning Backend WebDev, Log #9 - A Very Long, and Not Very Good Day</title><link>https://janusworx.com/work/learning-backend-webdev-log-9-a-very-long-and-not-very-good-day/</link><pubDate>Fri, 18 Jun 2021 20:09:18 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/work/learning-backend-webdev-log-9-a-very-long-and-not-very-good-day/</guid><description>&lt;p&gt;Today is a short post.&lt;br&gt;
I worked a lot.&lt;br&gt;
Did not get much work or progress in.&lt;/p&gt;
&lt;p&gt;Life got in the way.&lt;br&gt;
Hope tomorrow is a better day.&lt;/p&gt;
&lt;p&gt;I did do, 2 hours of work though, and I did learn a lot.&lt;br&gt;
So there’s that.&lt;/p&gt;
&lt;p&gt;Until tomorrow …&lt;/p&gt;</description></item><item><title>Learning Backend WebDev, Log #8 - Many, Many Relationships</title><link>https://janusworx.com/work/learning-backend-webdev-log-8-many-many-relationships/</link><pubDate>Thu, 17 Jun 2021 16:42:17 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/work/learning-backend-webdev-log-8-many-many-relationships/</guid><description>&lt;p&gt;Another day of doing only Django.&lt;br&gt;
Not that I’m complaining. Finishing up this Django course is my priority.&lt;br&gt;
Followed by PostgreSQL and Data Structures and Algorithms.&lt;br&gt;
I just have to do them step by step, one after another.&lt;/p&gt;
&lt;!-- TEASER_END --&gt;

&lt;h2 class="relative group"&gt;What I learnt in Django land
 &lt;div id="what-i-learnt-in-django-land" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#what-i-learnt-in-django-land" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;I like calling it Django land. Reminds me of Tarantino’s Django and Candyland.&lt;/li&gt;
&lt;li&gt;I learnt all about many to many database relationships and how they’re done with models in Django.&lt;/li&gt;
&lt;li&gt;They’re a logical extension of one to many relationships.&lt;/li&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;li&gt;I realise that all these complicated terms I feared are actually succinct names for simple, yet long winded processes or things.&lt;/li&gt;
&lt;li&gt;I’m going to practice all this tomorrow morning.&lt;/li&gt;
&lt;li&gt;Heuristic, whenever I see repeated strings vertically, I ought to be thinking databases for efficient storage.&lt;/li&gt;
&lt;li&gt;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)&lt;/li&gt;
&lt;li&gt;Use integers for primary keys. Integers are &lt;em&gt;fast.&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;Focus Follow Up aka How did I do with focus today?
 &lt;div id="focus-follow-up-aka-how-did-i-do-with-focus-today" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#focus-follow-up-aka-how-did-i-do-with-focus-today" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Did seven, 30 minute sessions of Django and one aborted session&lt;/li&gt;
&lt;li&gt;Had a lot of housework today and still managed to wrangle 3 and half hours of deep work.&lt;/li&gt;
&lt;li&gt;Writing notes, seems to be helping. I get my quizzes right the first time around.&lt;/li&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;li&gt;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 😂&lt;/li&gt;
&lt;li&gt;I serendipitously came across &lt;a href="https://twitter.com/CompSciFact/status/1405267698695639041?s=20" target="_blank" rel="noreferrer"&gt;this tweet,&lt;/a&gt; just a few minutes ago, which tells me I am not alone :)
&lt;ul&gt;
&lt;li&gt;Writing code is often a constant struggle against distraction.&lt;br&gt;
— Joy of Clojure&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;This focus is now bleeding into other areas of my life. I am slowing down and doing other stuff, slowly, intentionally.&lt;/li&gt;
&lt;li&gt;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&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="https://seths.blog/2021/01/born-to-run-things/" target="_blank" rel="noreferrer"&gt;Here’s to showin’ up!&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Learning Backend WebDev, Log #7 - Owning All the Rows</title><link>https://janusworx.com/work/learning-backend-webdev-log-7-owning-all-the-rows/</link><pubDate>Wed, 16 Jun 2021 17:59:23 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/work/learning-backend-webdev-log-7-owning-all-the-rows/</guid><description>&lt;p&gt;Let’s get on with today’s log!&lt;br&gt;
I studied only Django today.&lt;br&gt;
Was plagued with rains and power cuts and family stuff.&lt;br&gt;
Managed to work well and patiently though.&lt;/p&gt;
&lt;!-- TEASER_END --&gt;

&lt;h2 class="relative group"&gt;What I learnt in Django land.
 &lt;div id="what-i-learnt-in-django-land" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#what-i-learnt-in-django-land" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Owned Rows, that opened my eyes into another dimension to begin with.&lt;/li&gt;
&lt;li&gt;While I knew that Django supports multiple users, it struck home today, that &lt;em&gt;I&lt;/em&gt; 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.&lt;/li&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;li&gt;I subclassed stuff, which let me drill OOP concepts like inheritance a bit more.&lt;/li&gt;
&lt;li&gt;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 &lt;em&gt;just&lt;/em&gt; the way I liked it.&lt;/li&gt;
&lt;li&gt;Finally, finally, I learnt the amount of work Django saves me and just how much power is there under the hood.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;Focus Follow Up aka How did I fare today and how do I feel now at the end of the day?
 &lt;div id="focus-follow-up-aka-how-did-i-fare-today-and-how-do-i-feel-now-at-the-end-of-the-day" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#focus-follow-up-aka-how-did-i-fare-today-and-how-do-i-feel-now-at-the-end-of-the-day" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Did eight, 30 minute sessions of learning Django.&lt;/li&gt;
&lt;li&gt;Had three aborted sessions, when I got ridiculously distracted.&lt;/li&gt;
&lt;li&gt;If you want to know, why I abort and start over, &lt;a href="https://janusworx.com/blog/learning-backend-webdev-log-6-focus-followup/" target="_blank" rel="noreferrer"&gt;I kinda go over this, in this post.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;So worked about the same time (or less) as I did yesterday. I feel like I learnt a bit more, than I did yesterday.&lt;/li&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;li&gt;Energy wise, this is still sustainable. I feel good still at the end of the day. Not drained and exhausted.&lt;/li&gt;
&lt;li&gt;Also I &lt;em&gt;think&lt;/em&gt; 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 😂&lt;/li&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Learning Backend WebDev, Log #6 - Focus Followup</title><link>https://janusworx.com/work/learning-backend-webdev-log-6-focus-followup/</link><pubDate>Tue, 15 Jun 2021 19:18:48 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/work/learning-backend-webdev-log-6-focus-followup/</guid><description>&lt;p&gt;Today, I did not quite care how much progress I made.&lt;br&gt;
Instead I focussed on getting my focus periods in, like I &lt;a href="https://janusworx.com/blog/learning-backend-webdev-log-5-figured-out-how-to-focus/" target="_blank" rel="noreferrer"&gt;described yesterday.&lt;/a&gt;&lt;/p&gt;
&lt;!-- TEASER_END --&gt;
&lt;p&gt;It’s about an hour earlier than when I usually call it a day.&lt;br&gt;
And yet, now that I am checking, I have ‘worked’ fewer actual hours than usual.&lt;br&gt;
And I have gotten a bit of exercise and housework done too!&lt;br&gt;
(This does not usually happen on a normal study day)&lt;/p&gt;

&lt;h3 class="relative group"&gt;What I did
 &lt;div id="what-i-did" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#what-i-did" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Set a timer for 30 minutes.&lt;/li&gt;
&lt;li&gt;Got to work. Butt in seat.&lt;/li&gt;
&lt;li&gt;If I got distracted, I’d reset the timer to 30 minutes and start again. The aborted session would not count.&lt;/li&gt;
&lt;li&gt;Tried to be patient with myself. Realised that doing things over, was not really a negative, if it meant that in the long run I’d be able to focus better.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 class="relative group"&gt;How I fared
 &lt;div id="how-i-fared" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#how-i-fared" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;I did six, 30 minute sessions of Django.&lt;/li&gt;
&lt;li&gt;I did three, 30 minute sessions of Postgres.&lt;/li&gt;
&lt;li&gt;Don’t think I could have lasted this long, if it was just Django.&lt;/li&gt;
&lt;li&gt;Had to scratch and start over six times.&lt;/li&gt;
&lt;li&gt;Ended up doing close to 4 and a half hours of focussed &lt;a href="https://www.calnewport.com/books/deep-work/" target="_blank" rel="noreferrer"&gt;&lt;em&gt;Deep Work.&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 class="relative group"&gt;What I learnt
 &lt;div id="what-i-learnt" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#what-i-learnt" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Learnt about tables in Postgres and did basic commands with a single table&lt;/li&gt;
&lt;li&gt;Learnt about forms in Django and how they are built and all the niceties Django provides.&lt;/li&gt;
&lt;li&gt;Worked through some exercises in Django, where I built forms and then hooked it up to models using Views.&lt;/li&gt;
&lt;li&gt;Then learnt just how much time and effort Django saves me by using generic ClassViews.&lt;/li&gt;
&lt;li&gt;Also got into a rhythm of doing stuff, blowing Django up, looking at the error, figuring it out and then going on the next blowup.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 class="relative group"&gt;What I feel
 &lt;div id="what-i-feel" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#what-i-feel" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Did a whole day today, after yesterday’s run&lt;/li&gt;
&lt;li&gt;Tired, but not exhausted.&lt;/li&gt;
&lt;li&gt;Still feel energetic enough to write this blog post&lt;/li&gt;
&lt;li&gt;Actually love this time, when I can sit peacefully and write. All I need now, to complete this setting is a glass of &lt;a href="https://www.business-standard.com/article/beyond-business/the-goan-version-107052601024_1.html" target="_blank" rel="noreferrer"&gt;cheap Goan port.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;I don’t feel rushed.&lt;/li&gt;
&lt;li&gt;At four and a half hours, it might feel like I spent less time, but I got much more done than I do in a eight hour day. I realise that the tiny rest periods in between are doing me good. The first few breaks, I kept checking all my feeds. By afternoon, I had settled down to either doing small chores or just enjoying the solitude as I did gentle physical stretches&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If I can do 30 minute stretches at will this week, I’ll increase them to 45 minutes next week.&lt;br&gt;
Here’s to hoping, this is a sustainable way to focus and learn lots daily.&lt;/p&gt;</description></item><item><title>Learning Backend WebDev, Log #5 - Figured Out How to Focus</title><link>https://janusworx.com/work/learning-backend-webdev-log-5-figured-out-how-to-focus/</link><pubDate>Mon, 14 Jun 2021 20:17:26 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/work/learning-backend-webdev-log-5-figured-out-how-to-focus/</guid><description>&lt;p&gt;Hopefully, for the next couple of months at least.&lt;/p&gt;
&lt;!-- TEASER_END --&gt;
&lt;p&gt;As amazing as &lt;a href="http://www.dr-chuck.com/" target="_blank" rel="noreferrer"&gt;Dr. Chuck&lt;/a&gt; and &lt;a href="https://brianyu.me/" target="_blank" rel="noreferrer"&gt;Brian Yu&lt;/a&gt; and &lt;a href="https://lerner.co.il/" target="_blank" rel="noreferrer"&gt;Reuven Lerner&lt;/a&gt; are, I find myself falling asleep as I learn web development.&lt;br&gt;
I look at the videos, I seem to understand things, and then I zone out.&lt;br&gt;
A while later, 30 minutes have passed, three videos are over and I am wondering, just what the heck Dr. Chuck is on about.&lt;/p&gt;
&lt;p&gt;I find myself struggling like this over and over.&lt;br&gt;
I have days of intense focus. But those are draining.&lt;br&gt;
I then need a couple of days to recover, for every day, that I can study like that.&lt;br&gt;
I realised that I need something sustainable.&lt;/p&gt;
&lt;p&gt;So I decided to do a few things differently today onwards&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;I studied more than one thing.&lt;br&gt;
While my focus remains learning Django, I realised that I cannot make that the entire day’s focus.&lt;br&gt;
My mind can no longer process information like this.&lt;br&gt;
While I want to focus on one thing and get it out of the way as soon as possible, to get on with the next thing, my mind refuses to cooperate.&lt;br&gt;
So I studied Django for the most part, but also interspersed it with writing and exercising Python code (which I am sorely in need of) and learning some PostgreSQL.&lt;/li&gt;
&lt;li&gt;I started interval focus training.&lt;br&gt;
I realised that the phone is doing me no favours, but I do need to check it.&lt;br&gt;
So I started working in 15 minute bursts since Friday.&lt;br&gt;
15 minutes of no interruptions, followed by a minute or two of stretching my legs and responding to messages (no email, no social media.)&lt;br&gt;
Today I did 30 minute sessions, which I’ll continue the whole of this week.&lt;br&gt;
I hope to build up my focus muscle to where I can work in 90 minute stretches. And if I get in 3-4 such stretches on a daily basis, I’ll consider that a day well spent.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;And as I write this at the end of the day, to my mind, I have made more progress, than I usually make in two days without being exhausted at the end of it all.&lt;br&gt;
I’ve no idea how long this will work for me.&lt;br&gt;
But I’ll report back on how this is going next week.&lt;br&gt;
And probably write again, on when the well has dried up and I’ll need to change tactics.&lt;/p&gt;
&lt;p&gt;Until next time …&lt;/p&gt;</description></item><item><title>Learning Backend WebDev, Log #4 - Beginning to Learn PostgreSQL</title><link>https://janusworx.com/work/learning-backend-webdev-log-4-beginning-to-learn-postgresql/</link><pubDate>Thu, 10 Jun 2021 16:15:18 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/work/learning-backend-webdev-log-4-beginning-to-learn-postgresql/</guid><description>&lt;p&gt;Like I mentioned the other day, Django is driving me batty!&lt;/p&gt;
&lt;!-- TEASER_END --&gt;
&lt;p&gt;Ok, I cannot completely blame Django.&lt;br&gt;
A dental procedure has left me in quite a bit of pain and unable to focus.&lt;/p&gt;
&lt;p&gt;So I was wondering what else I could do, instead of Django and decided I’d learn &lt;a href="https://www.postgresql.org/about/" target="_blank" rel="noreferrer"&gt;PostgreSQL&lt;/a&gt;.&lt;br&gt;
I was tickled pink when I read that Postgres is actually Post Ingres.&lt;br&gt;
I am old enough to remember Ingres databases that ran on computers I supported as a junior hardware engineer in the late 90s. I was warned not to &lt;em&gt;ever&lt;/em&gt; touch the database machine unless I was supervised :P&lt;br&gt;
I also attended seminars for another ‘Post Ingres’ database called NonstopSQL in the early oughts when I worked with Compaq as a support engineer for their laptops. Engineers would have open sessions. But what did a boy servicing laptops have to do with Tandem machines? How did they let me attend? That I will never know. Just that I found them fascinating :)&lt;/p&gt;
&lt;p&gt;Now it all comes full circle when I actually need to learn about databases.&lt;br&gt;
And what better database to learn than Postgres? :)&lt;/p&gt;
&lt;p&gt;All those random videos about Postgres &lt;a href="https://janusworx.com/blog/learning-backend-webdev-log-2/" target="_blank" rel="noreferrer"&gt;the other day&lt;/a&gt;, led me to the University of Michigan’s, &lt;a href="https://www.coursera.org/specializations/postgresql-for-everybody" target="_blank" rel="noreferrer"&gt;PostgreSQL for Everybody Specialization&lt;/a&gt;.&lt;br&gt;
Dr Chuck Severance is an engaging instructor, so I promptly signed up.&lt;/p&gt;
&lt;p&gt;I’ll log the journey and what I learn, here in the days to come.&lt;/p&gt;
&lt;p&gt;So long, for now!&lt;/p&gt;</description></item><item><title>Learning Backend WebDev, Log #3 - Cross Site Request Forgery</title><link>https://janusworx.com/work/learning-backend-webdev-log-3-cross-site-request-forgery/</link><pubDate>Tue, 08 Jun 2021 16:56:11 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/work/learning-backend-webdev-log-3-cross-site-request-forgery/</guid><description>&lt;p&gt;Wasn’t quite well today, so took it slow.&lt;/p&gt;
&lt;!-- TEASER_END --&gt;

&lt;h3 class="relative group"&gt;The Problem
 &lt;div id="the-problem" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-problem" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;
&lt;p&gt;The only thing I managed to learn was what a &lt;a href="https://en.wikipedia.org/wiki/Cross-site_request_forgery" target="_blank" rel="noreferrer"&gt;Cross Site Request Forgery&lt;/a&gt;(CSRF) is, and how Django helps protect against it.&lt;br&gt;
The Wikipedia page describes it in painstaking detail, and if you want it described a bit more simply, then &lt;a href="https://www.squarefree.com/securitytips/web-developers.html#CSRF" target="_blank" rel="noreferrer"&gt;Jesse Ruderman&lt;/a&gt; does an admirable job.&lt;br&gt;
&lt;a href="https://www.youtube.com/watch?v=vRBihr41JTo" target="_blank" rel="noreferrer"&gt;Computerphile does an even better job.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I am using this analogy in my head.&lt;/p&gt;
&lt;p&gt;I go and stay over at &lt;a href="https://youtu.be/bDdh9IBnnBA" target="_blank" rel="noreferrer"&gt;my friend, Jack’s&lt;/a&gt; apartment so often, that he leaves the key under the cactus outside the door.&lt;br&gt;
Now this kind of thing is common knowledge. If someone is out on errands, expecting family home, the key is hidden in plain sight. (under the cactus or the doormat or something like that)&lt;br&gt;
So someone else (a thief, not me. I’m family) can always look at these common places and gain entry and rob us blind.&lt;br&gt;
(Not that Jack has anything of value, except for old BoneyM records)&lt;/p&gt;
&lt;p&gt;So what is Jack to do? What needs be done?&lt;br&gt;
Jack gets it into his mind to do something … crazy everytime and tell only me about it.&lt;br&gt;
He’ll barricade the door with some sort of strong rope and hide the scissors someplace.&lt;br&gt;
Or he’ll roll the heavy table outside to block the door (and the stairwell) knowing that I know how to unlock the castors and move the godaweful table.&lt;br&gt;
Or he’ll put a facade of a door that looks like a safe, knowing I’ll peel it off later.&lt;br&gt;
(Why can’t he just give me another key instead of making me do all this work? God only knows. He’s a nutcase!)&lt;br&gt;
The point being, he does something different every time to add an additional layer of security.&lt;/p&gt;
&lt;p&gt;So a CSRF token is something similar. While your keys and session data might be stored on your computer and might be accessed by something foreign, it is not possible for said foreign entity to steal your CSRF token, because it is short lived and changes frequently (the token that is, not the foreign kook trying to hack their way into your server.)&lt;br&gt;
This keeps malicious sites from doing … um … malicious things on your server.&lt;/p&gt;

&lt;h3 class="relative group"&gt;The Resolution
 &lt;div id="the-resolution" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-resolution" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;
&lt;p&gt;Django, like Python, is batteries included.&lt;br&gt;
So its &lt;a href="https://docs.djangoproject.com/en/3.2/topics/http/middleware/" target="_blank" rel="noreferrer"&gt;Middleware&lt;/a&gt; includes CSRF protection.&lt;br&gt;
In its various forms, to use in various places, it boils down to writing/including something like &lt;code&gt;csrf_token&lt;/code&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If I want to use it in a form, the default method is to just include &lt;code&gt;&amp;lt;form method=&amp;quot;post&amp;quot;&amp;gt;{% csrf_token %}&lt;/code&gt; in any template that routes / forwards to another URL internally. (what do I do if I want to post to a URL externally? I don’t know yet. I’ll look stuff up later, if such stuff is even common. In my head, the threat model is for all my routes and urls and models on my server)&lt;/li&gt;
&lt;li&gt;If I want to use it in an AJAX post, I have to remember to pass the CSRF token in as POST data with every POST request.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And of course, being the awesome folk they are, the Django folk have documented this really well and &lt;a href="https://docs.djangoproject.com/en/3.2/ref/csrf/#how-it-works" target="_blank" rel="noreferrer"&gt;you can always see the work behind all the magic.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;That was it for today. More later!&lt;/p&gt;</description></item><item><title>Learning Backend WebDev, Log #2</title><link>https://janusworx.com/work/learning-backend-webdev-log-2/</link><pubDate>Mon, 07 Jun 2021 19:55:43 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/work/learning-backend-webdev-log-2/</guid><description>&lt;p&gt;I miss writing about what I learn.&lt;br&gt;
So I am going to try and begin again.&lt;/p&gt;
&lt;!-- TEASER_END --&gt; 
&lt;p&gt;I was too focussed on trying to learn all the stuff as quickly as possible, so I can go job hunt.&lt;br&gt;
But I realise, I need to strike some sort of balance between learning slow enough, so that I can learn and document and enjoy vs going full tilt to finish up the blocks that I need.&lt;/p&gt;
&lt;p&gt;One good thing that I’ve figured out for myself though is that I would love to use Python to do web stuff.&lt;br&gt;
Ergo, I’d like to be a Python backend developer.&lt;br&gt;
To that end, I am learning Python and Django and HTML and CSS and Postgres and I want to learn Flask and FastAPI and some low level network engine like Twisted.&lt;br&gt;
Writing this, I realise there is no end to what I want to learn.&lt;br&gt;
And once again, I need to strike a balance between what I’d want and love to learn vs what is actually needed to land a job that pays the bills, at least to begin with.&lt;br&gt;
I’ve been on a learning rampage the past month, and I have learnt lots, but something niggles me.&lt;br&gt;
My mind hates it when it cannot quite make out the shape of the thing it’s learning.&lt;br&gt;
When I don’t have a mental model of it in my head.&lt;/p&gt;
&lt;p&gt;So this post is kind of clearing out my head, to see where I am at.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Python, I consider myself a slow writer, but now I understand gosh darn nearly everything I lay my eyes on. I can &lt;em&gt;read&lt;/em&gt; Python.&lt;br&gt;
I need to practice writing a lot more to gain fluency. But I am &lt;em&gt;comfortable&lt;/em&gt; with the language. Like I mentioned above, I have the shape of Python in my head. I know what it feels like, how to intuit things, and what the entire Python continent looks like and the areas that I’m comfortable with.&lt;/li&gt;
&lt;li&gt;HTML &amp;amp; CSS, I’ve learnt enough to be dangerous. Once again, I know what’s involved, and the areas that I need to work on.&lt;/li&gt;
&lt;li&gt;JavaScript, is something I need to work on. If I want to become a web developer, then this is a skill I need to have. I’ve learnt the basics. But I need to figure out what this world looks like.&lt;/li&gt;
&lt;li&gt;Django, is what I am trying to learn currently and it’s driving me bananas. It has &lt;em&gt;so many&lt;/em&gt; moving parts. This feels like learning Python basics all over again. Hopefully the CS50W course that I’m doing will help me gain perspective.&lt;/li&gt;
&lt;li&gt;PostgreSQL, is the final piece of what will make me think that I have the basics in place. I’ve just begun learning this today, as a break from Django. I’ll go mad otherwise. Let’s see how this pans out.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;All the rest can wait.&lt;br&gt;
So anything I learn about any of these things in the days going forward, I’ll write about how it felt and what I understood, over here.&lt;/p&gt;
&lt;p&gt;Wish me luck!&lt;/p&gt;</description></item><item><title>The Long Road I took to Learn Basic Python</title><link>https://janusworx.com/work/the-long-road-i-took-to-learn-basic-python/</link><pubDate>Wed, 29 Apr 2020 14:37:54 +0530</pubDate><author>feedback@janusworx.com (Mario Jason Braganza)</author><guid>https://janusworx.com/work/the-long-road-i-took-to-learn-basic-python/</guid><description>&lt;p&gt;I have been wanting to switch careers to programming for a long time now.&lt;br&gt;
Just that juggling a part time job, home work, and a broken back, always kept me from somehow giving it the time, that that I needed.&lt;/p&gt;
&lt;p&gt;It has been two years now.&lt;/p&gt;
&lt;p&gt;My lowest ebb, was September last year, when I caught a really nasty bug, was laid up in bed, for nearly a month and then checked myself into a hospital because I thought I was having a heart attack.&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;In the meanwhile, people have learnt stuff, gotten careers and rocketed up their charts while I sit here spinning my wheels.&lt;br&gt;
Or at least I used to think, I was spinning my wheels, until this month.&lt;/p&gt;
&lt;p&gt;In my head, I used to be like, why is this so hard for me?&lt;/p&gt;
&lt;p&gt;I write this, to remind myself from getting discouraged.&lt;br&gt;
To remind myself of the progress I made, even if it hasn’t been much yet.&lt;br&gt;
To show my future self, that past Jason, was not a fat slob.&lt;br&gt;
He worked his ass off. And he was resilient.&lt;br&gt;
I write this, because I had a few hard days again, but this time I don’t want to slide into a pit of despair once more.&lt;/p&gt;
&lt;p&gt;The first thing, I reminded myself, was that everybody’s journey is different.&lt;br&gt;
With my physical problems, it has not been easy to focus.&lt;br&gt;
I have to juggle a ton of things, as a husband, son, consultant, patient and student.&lt;br&gt;
And while it may seem all dark and gloomy, I was surrounded by incredibly loving and helpful people, which has made my journey, a lot easier than it would have been without them. My wife, my mother, my friends … all pillars of support!&lt;br&gt;
So the pace I am at, might be much slower than other people, but it reminded me of something my physio said to me when I was sure, I would never be able to run more than 2 minutes straight.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;You might be slow.&lt;br&gt;
You might be fat.&lt;br&gt;
You might be in pain.&lt;br&gt;
But you will be better much sooner than other folks I know. &lt;br&gt;
Because you are doing it.&lt;br&gt;
While the rest are still sitting on their asses, moaning.&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;The second thing I did, was to take stock of how far, I have actually come.&lt;br&gt;
Yes, I am not as financially well off as I would like to be.&lt;br&gt;
Yes, life has kicked me in the nuts, more times, than I would like to count.&lt;br&gt;
But I dug myself out of poverty.&lt;br&gt;
I am working myself to the best shape of my life.&lt;br&gt;
I could barely walk two years ago, and now I am practically running.&lt;br&gt;
I am steadily inching to being my weight in my early twenties (while being much fitter than I was then)&lt;/p&gt;
&lt;p&gt;So the problem is not me.&lt;br&gt;
It might take time.&lt;br&gt;
But I can do this.&lt;/p&gt;
&lt;p&gt;And as I am doing this second public round of a &lt;a href="https://janusworx.com/tags/100daysofcode/" &gt;hundred days of code&lt;/a&gt;, I realise all I have to do is to have no shame about my speed (or my abilities), and be resiient and persistent.&lt;/p&gt;
&lt;p&gt;And to remind me about just how far I have come, I write this down.&lt;br&gt;
I started nearly three years ago. I wasted a year, spinning my wheels.&lt;br&gt;
And then I found &lt;a href="https://janusworx.com/on-starting-with-summer-training-at-dgplug/" target="_blank" rel="noreferrer"&gt;Kushal and DGPLUG&lt;/a&gt;. A more supportive mentor and a more welcoming community, I hadn’t experienced in my life. I am still learning from them. And they still teach me with unending patience. If you are ever on IRC, just come say hi on the #learnandteach channel on Freenode. &lt;br&gt;
I started learning the basics from a &lt;a href="http://laurenipsum.org/" target="_blank" rel="noreferrer"&gt;kids book&lt;/a&gt;, because the big ones were confusing.&lt;br&gt;
I tried learning python after that, but I failed.&lt;br&gt;
I tried lots of books, and online sites, but I just could not get it.&lt;br&gt;
I realised that just learn the syntax and go, does not do a thing in my brain.&lt;br&gt;
Or the excellent &lt;a href="https://pymbook.readthedocs.io/en/latest/" target="_blank" rel="noreferrer"&gt;Python for You and Me&lt;/a&gt; would have been just the ticket.&lt;br&gt;
Then I realised that maybe learning more basics would help.&lt;br&gt;
And that this was not something I could learn in a few weeks or months.&lt;br&gt;
So I studied the raw &lt;a href="https://www.edx.org/course/introduction-to-computer-science-and-programming-7" target="_blank" rel="noreferrer"&gt;basics of computer science&lt;/a&gt;, so I could understand, what was what.&lt;br&gt;
And then I understood some.&lt;br&gt;
I then took my time and read the biggest non fiction book I ever read in my life. &lt;a href="https://janusworx.com/learning-python/" target="_blank" rel="noreferrer"&gt;The Lutz Python Book&lt;/a&gt;. &lt;br&gt;
And I understood some more.&lt;br&gt;
I went and watched a series of videos by &lt;a href="https://www.youtube.com/watch?v=YYXdXT2l-Gg&amp;amp;list=PL-osiE80TeTt2d9bfVyTiXJA-UTHn6WwU" target="_blank" rel="noreferrer"&gt;some kid on youtube&lt;/a&gt;.&lt;br&gt;
And I understood some more.&lt;br&gt;
Just doing all this took the better part of a year and a half.&lt;/p&gt;
&lt;p&gt;Now here I am.&lt;br&gt;
On the cusp of a moment, when I think the dam might break.&lt;br&gt;
Because things make sense faster now.&lt;br&gt;
I can read what other people write and actually understand.&lt;br&gt;
I can think for myself and write short programs.&lt;br&gt;
I can understand what the other folks teach and get it.&lt;br&gt;
From here on, it seems just like a matter of loads of practice.&lt;/p&gt;
&lt;p&gt;I write this though, to remind myself, that if this moment is not to be, then I needn’t worry.&lt;br&gt;
I can see how far I have come.&lt;br&gt;
I will do this.&lt;br&gt;
All I need to be is shameless in my learning, patient in my attitude, and resilient in my mind.&lt;/p&gt;
&lt;p&gt;P.S. I realised all this was inspired by an old &lt;a href="https://dailystoic.com/you-make-your-own-good-fortune/" target="_blank" rel="noreferrer"&gt;Aurelius&lt;/a&gt; quote,&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;“True good fortune is what you make for yourself. Good fortune: good character, good intentions and good actions.”&lt;/p&gt;
&lt;/blockquote&gt;&lt;div class="footnotes" role="doc-endnotes"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;Spoiler. It wasn’t. Just an enlarged spleen acting up due to complications from the bug. Still serious. Just not a heart attack :)&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description></item></channel></rss>