Week #59

Another productive week, a lot shipped, almost all critical bugs fixed, the launch looks great. Wrote daily for another week about SQLite/SQL. Adding up 24 posts. Read it here. Generating a lot of ideas, getting back to journaling, reading instead of consuming videos and doomscrolling. It is getting better day by day. I have completed my yearly goal of reading 12 books. Still 3 more months to go, would be almost at 15-18 books.

I am healing. Another week, of not writing much production code, but helping a lot of code go to production by pointing out bugs, testing, debugging and importantly defining the problem and its possible solution. Coding is not the only thing about being a software developer, there are all of those elements to that make one better at the craft.

Looking forward for a month full of SQLog, might live stream this weekend after again 2 weeks of procrastinating about it. Have a bit of ideas, and the inspiration that the coding from scratch is not dead yet, learning is still alive, people might feel value in what I do.

Quote of the week

"The quieter you become, the more you are able to hear."

-- Rumi

Ah! This is what I have been doing, just hearing what nature has to say. I am reading and journaling instead of consuming endlessly. This puts me in a thinking and attentive zone, rather than the consumption cycle that drains energy and causes anxiety. Being quite here doesn’t mean not doing, it just means to step down your brain power and think about the things happening, without getting distracted, lets embrace boredom.

Created

Read

  1. What would you do with 52 hours of discretionary time
    • This is a fresh perspective, I haven't taken that analytical approach in measuring the number of hours spent in weekends. That's quite a lot, 52.
    • Would be spending some time to plan and think about it, it really had me thinking now.
  2. I wrote a journal entry for everyday in 2024
    • I had journaled for 1 year in paper, 2 years on my phone, and the last couple of years, have lost that habit. Life gets in the way, your habits change, but this I think I have to keep, it used to give me clarity and feeling of accomplishment.
    • It has been exactly a month since I started journalling again, pen and paper, a tiny little book, around 50 words, I would cramp 100 in that little page. I love it, its like a glimpse of a quarter in a tiny book. I am also thinking of getting back to obsidian for digital journal, just because its accessible and searchable. This article I will give credit for bringing up searching and doing some analysis on the things I have already written, that would be exciting to find how I change or my writing changes me.
  3. The last programmers
    • There is so much wisdom in this post, I feel like quoting a lot of things, but the ending nails it "The parts that have always mattered, really. Understanding people". There I put it, no fuss, no bait, just facts.
    • Maybe we are the last generation of coders that type code by hand, and push to production. We are seeing the hands taken over by AI slop. I call the code slop, it is. If not reviewed by a human, it is garbage, well not entirely but nothing short of saphegetti, legacy, I-don't-want-to-touch-and-read like code.
    • The author is hinting at the transition from developer happiness to user happiness. I don't like that but it's the harsh truth, the hard pill to swallow. No one will be a true nerdy developer anymore, they all would be average vibe coders. Only the best among them will be truly nerds. Will that change from now? I don't think so, people can use computers now, but in earlier days they don't use to. People (in India) at least don't know the proper usage of AI, its actual working, that's why AI-bros exist. Sadly they would sell these AI as their product but that is I think would be a skill, to steer AI in doing what you want, and for that you need to understand what they want. Pretty long rabbit hole but worth thinking about as a developer.
  4. Package Managers are evil
    • This is a fair take. Absolitely, the left pad example from Theo is one such thing. People just keep on adding packages/libraries without thinking much, in pre-AI days that was the problem.
    • But now, with AI, it can spit out code like anything. No need to worry about managing packages, but eventually it will be producing more code which is a liability. AI produced code might be fragile, very like todo: authentication coming soon, like code. If not tested or reviewed, can't trust it.
    • He is right on all the points, Golang is batteries included, and clearly defines what a package actually is, its just a folder. You can import anything from the folder. Except only if the functions or structs are capital case (annoying at times, but fine). Having some rule is better than having none. Javascript failed to define a rule, and NPM is a mess. Golang doesn't have a package manager, it just manages itself.
    • I also find python dependency management like javascript to be honest, but a little better with terms of completeness. Since people can mess up on the web pretty easily, the things to mess up with Python have a less surface area. If you are aware of what happened to PyPI several times, you know what I am talking about, Its common to manipulate a source of truth and people might find themselves in all sorts of trouble, they would have never imagined. With uv I think it is moving to a better place, but still the core of the problem is from the too much of flexibility, which is fine, and needed even. Python doesn't needs to be like Go.
  5. When the Job search becomes impossible
    • This is gold. It might not look as relatable to everyone or even every time for those who relate to it now. But for me, who had spent 4 months finding a internships, 87 applications to land an interview, I can surely say there is a hope at the end of tunnel.
    • I am saying this to myself again, maybe in the future, if this job search turns out to be the three stage one, impossible search, next to impossible search, wired search. Maybe sometimes, life wants you to show something different before you see what you wanted to see, and that might even amp up the feelings after going through that path. Maybe it was not the path for you, you were all on the wrong path, maybe it was a long path, maybe it was multiple paths, and you'll have to keep switching paths, who knows?
    • I started to slow down and learn things, If people say you are not worth hiring, don't give them a chance to say that. I started writing about a skill, every single day, even if it might be very small thing I learn, I write it down in the blog. I don't care if no one sees it, I don't care if in the era of AI, blogs are not searched, I don't give a shi* about SEO, its all doom and gloom. But I do keep my knowledge to myself, it just takes a moment for someone to see my work in these days and recognize the skills and if not I still have the skill, If can't prove the skill then I need to improve.
    • "Rest is all about space. It engages purposefully with serious boredom".
    • The above quote is true, I am not sure, if people are getting aware about this doom-scrolling thing, but its real! I got sucked into it in the month of June-July somewhere and it felt like my brain was rotting. I immediately took a step back, paused all notifications and started reading instead of scrolling. I read books, I don't have money to buy but you know, I love fiction. I completed around 6 books in the past 2 months, and wow what a feeling to bear. Too much dumped here, let's write a post about it. Thriving in the boredom or Reading is better then doom-scrolling.
  6. Blogs used to be different
    • This is so well written, the conversations have been lost, it feels all clickbait and flow where the trend takes me, instead of the flow or my curiosity.
    • Blogging in earlier days, I am speaking from 2018-2020, I knew it used to be very much tied to google, I never read a lot of blog post at that time, so I can’t comment, but can feel the lack of social media would make it really amazing back then.
  7. 13 Reason why SQL has to GO
    • https://www.infoworld.com/article/2335455/13-reasons-sql-has-got-to-go.html
    • I don't like this take, nor I think is grounded. Its looking like a AI slop or maybe someone just living in the land of NoSQL.
    • "Tables don't scale", what is the meaning of it? If that's the case, then collections also don't? Right? I bet PostgreSQL and MySQL aren't using tables, then it means that MySQL doesn't scale, come on!
    • I don't want to react to this clickbait, I already know the pros and cons of SQL vs NoSQL, SQL isn't going anywhere, and so is the good old MySQL. Relational Databases are the nuts and bolts of web, and without them, industry can fall apart pretty quickly. Unless MongoDB keeps them happy :)
  8. IT manager needed tech support because they had never heard of a command line
    • Can we all laugh here? I mean, yes its not needed, but at least heard of it! SKILL ISSUES.
    • Or Maybe he was rich, he had macbook since his career began. I didn't had a laptop, I found the command line on my android phone! Also discovered the world of Vim, because Nano and Vim was the only option, and I choose the Command line and Vim came along.
  9. Become the person who does the thing
    • https://www.fredrivett.com/2025/09/10/becoming-the-person-who-does-the-thing/
    • Yes, the world right now feels like everything is pushing me in a direction that I wanted, in my favor. For real! Journalling, job searching, embracing boredom, learning and locking in, and the most recent thing since almost a week, building a exercise routine.
    • I also believed physical fitness is not important as mental well being. But I am coming to realize, there is no mental fitness if the body is not fit. At least it should be moving. By working remotely I was sucked into sitting and consuming junk/content. Feeling lethargic and exhausted all the time, last weekend, my brother set me up for an exercise, I felt energetic after that. I have been doing minimum 20 minutes each day since and keeping away from the vicious consumption cycle.
    • Side by side, I am also on a writing streak of 24 on SQL and SQLite on my blog here with sqlog. This all is pushing me to get better and be the person I want to be. This article helps me validate everything I am doing, I don't need validation for the actions I do, but a human is a social animal, he needs resonance and some level of accountability or validation for what I am heading for is the correct place or not.
  10. Forward vs Reverse Proxy
    • This is cool, the examples, make it really interesting and relatable.
    • Forward proxy acts on the behalf of the client
    • Reverse proxy acts on the behalf of the server
    • It actually makes sense and helps understand better.
  11. Just use SQL they say
    • Use tooling around it, there are SQLC tools for go and I think even for Python. It will help you write type safe boilerplate code in the native language as you write the SQL query.
    • I think the author is right, but unaware of the tooling that exists around it.
  12. The AI Trap: Why do they quit coding
    • Programming isn’t dead. Programming is not just about coding, its about problem solving.
    • The joy of problem solving would still be there. It makes a little harsh on people to quit as some of the casual programmers who tried to earn money would definitely quit.

Watched

  • Python: The documentary

    • Wow! Just wow! From abstracting the language for making it friendly to running the world. It went from 0 to 3 pretty quick. Its the language spoken by LLMs
    • Dropbox was surprising, the whole stack is Python! how would the frontend by python, maybe server side rendered, but that is really sick. The scale of that working makes me think again, is python slow? or people make it? by adding unnecessary complexity, django scales!
    • I read a few post from Amir about Claude code and AI stuff and was about to disagree, but he is a creator of Flask, and oh my god how many frameworks? I took a step back and read some of his blogs again and it changed my mindset. Maybe LLMs are cool, maybe we need to be better programmers, we need to define our problems better, that’s what I was missing. This guy is a legend.
    • The pyladies moment made me cry. Not gonna lie, this was really relatable. I also find loneliness and under-confident when given an opportunity, maybe its just me.
    • Guido is such a humble and mature person. He took the leadership as if he was like the care-taker of the language, I mean he is the creator of course, but most of the people just take the money and go away. He lead the development forward and made the language what it is today.
    • I cannot relate to 2 to 3 switch, but can understand why it might have happened in the first place. Writing an API for the first time is cool, no constraints, just buggy code to make it work, but then you realise oh, that is a bad code, here and there, and it becomes necessary to refactor in a way that it has to break the backwards compatibility.
  • The fastest sorting algorithm: Radix Sort

    • Simply, we take the bases or digits in the number and sort them in buckets, the memory might be high, so that’s why its done per digit to avoid billions of buckets being created for each number.
    • I like the approach of floating point numbers, the guy really thought it through, was really clever of using a format that would sort the number as a digit. Absolutely fantastic mathematics in this.
    • Will try to implement in golang to get a feel for it.
  • DNS Lookup from scratch

    • This was a refreshing post, it made me think,
    • Programming is not dead yet.
    • I have lost the motivation in streaming because of AI, no one would watch someone code something for hours, but this is bringing that back.
    • The joy, the delight, the satisfaction of coding your own DNS from scratch in C, elite programmer. I would recommend subscribing this guy, full of energy.
  • Print function in Python

    • Wow! I thought print was for stdout, but it was meant to be written to the file. So cool. I though write was the only option to write the file, but this is so crucial to know.
    • Print is a very versatile function. Sometimes, it makes me wonder, is python really a magical language.

Double click to interact with video

Learnt

  • Javascript
    • 2d Arrays - Creating and Initialising an 2d array - arr = Array.from({length:n}, () => Array(n).fill(val)); - Here n is the dimension and val is the value to prefill with - For instance if n = 2, val = 0 then arr = [[0,0],[0,0]]
    • Set difference - To find the difference in two sets in JS - > s1 = new Set([1,2,3]) Set(3) { 1, 2, 3 } > s2 = new Set([2,3,4]) Set(3) { 2, 3, 4 } > s1.difference(s2) Set(1) { 1 } - Or from an Array - Create a set, for each array - Then from each array find the element that doesn’t exist in the other set - This will give the non-present element in both the arrays - Combine the set to get a array of elements that are different in both the original arrays - > a1 = [1,2,3,4,4] [ 1, 2, 3, 4, 4 ] > a2 = [2,3,4,5,5] [ 2, 3, 4, 5, 5 ] > s1 = new Set(a1); Set(4) { 1, 2, 3, 4 } > s2 = new Set(a2); Set(4) { 2, 3, 4, 5 } > d1 = new Set(a1.filter(n=>!s2.has(n))); Set(1) { 1 } > d2 = new Set(a2.filter(n=>!s1.has(n))); Set(1) { 5 } > [...d1, ...d2] [ 1, 5 ]
    • String split - Javascript split is bit under-powered compared to the Python split - > s = "hello world, this is two spaced word" 'hello world, this is two spaced word' > s.match(/\S+/g) [ 'hello', 'world,', 'this', 'is', 'two', 'spaced', 'word' ] > s.split(" ") [ 'hello', 'world,', '', 'this', 'is', '', 'two', 'spaced', 'word' ] >
  • SQLite
    • There are 4 column constraint namely 1. NOT NULL 2. GENERATED ALWAYS 3. DEFAULT (Not really a constraint) 4. UNIQUE
    • TABLE Level constraint 1. PRIMARY KEY 2. FOREIGN KEY 3. CHECK 4. UNIQUE
    • Using combination values for unique constraint
    • Understanding the difference between stored and virtual generated columns and comparing against the reading of those columns with time bench marking
    • The check constraint is not a column level constraint, its a table level constraint as it can use combination of multiple columns for managing (updating or inserting) a record / row.

Tech News

  • Claude model degradation: I don’t use Claude much but it had a reputation of being one of the premium and high quality availability model which with this seems to be deteriorated.
  • Nepal reverses the social media ban as the protest turns deadly: Really a deadly situation in Nepal, I can relate as I have my work colleagues working there. Government is pretty unstable and it might create havoc for such a fragile nation which might add misery to the already poor state.

Happy Coding :)

For more news, follow the Hackernewsletter (#762nd edition) , and for software development/coding articles, join daily.dev.