List of resources (any medium) that caught my attention this year (2025 edition). If curious check also:

Jan-2025

Databases in 2024: A Year in Review // Blog // Andy Pavlo - Carnegie Mellon University

Ask HN: Programmers who don’t use autocomplete/LSP, how do you do it?

  • https://news.ycombinator.com/item?id=42492508 Interesting debate on VIM vs IDE. I write Bash in Vim and Python in IDE (VSCode + iPython) and although enamoured by David Baeyzley’s mastery, the IDE’s just where I’m at with that particular language. To each his own, I think for this.

Programming as Theory Building (1985) [pdf]

Bird (2024)

Null device - Wikipedia

Say NO to Venn Diagrams When Explaining JOINs – Java, SQL and jOOQ.

Hotel California - by Benn Stancil - benn.substack

Remembering Mike Maples, Sr.

Why Greenland Is Of Growing Strategic Significance

Jerry Seinfeld, Ichiro Suzuki and the Pursuit of Mastery

  • https://www.readtrung.com/p/jerry-seinfeld-ichiro-suzuki-and Anyone Can Pursue Mastery Mastery is Plateaus and Brief Spurts of Progress Mastery is a Lifelong Journey The Importance of a Child’s Mindset Mastery & Muscle Memory The Zen Buddhism Connection 4 Traits Shared By Practitioners of Mastery Seinfeld and Ichiro Suzuki

AI’s Uneven Arrival – Stratechery by Ben Thompson

  • https://stratechery.com/2025/ais-uneven-arrival/ An eye-opener for o3. This is a surprising and important step-function increase in AI capabilities, showing novel task adaptation ability never seen before in the GPT-family models. For context, ARC-AGI-1 took 4 years to go from 0% with GPT-3 in 2020 to 5% in 2024 with GPT-4o. All intuition about AI capabilities will need to get updated for o3, which performs at 75% for ths test.

The Origins of Wokeness

  • https://paulgraham.com/woke.html We should have a conscious bias against defining new forms of heresy. Whenever anyone tries to ban saying something that we’d previously been able to say, our initial assumption should be that they’re wrong. Only our initial assumption of course. If they can prove we should stop saying it, then we should. But the burden of proof is on them. In liberal democracies, people trying to prevent something from being said will usually claim they’re not merely engaging in censorship, but trying to prevent some form of “harm”. And maybe they’re right. But once again, the burden of proof is on them. It’s not enough to claim harm; they have to prove it.

Heroku and the Twelve-Factor App with Vish Abrams - Software Engineering Daily

Principles - Nabeel S. Qureshi

Show HN: GUI for editing Mermaid class diagrams

The quiet rebellion of a little life

  • https://news.ycombinator.com/item?id=42769751 Near as I can tell there is a not-insignificant part of the American psychological context that amounts to a threat of utter destitution should you not choose to keep slaving away. By Krom, America needs homeless people to show you just how far you can fall unless you keep serving the man.

AI Slop, Suspicion, and Writing Back

From open source to acquired with Ashley Jeffs (Changelog Interviews #625)

  • https://changelog.com/podcast/625 On Benthos Stream Processing, from OS to being bought by Red Panda. Very funny at times, the humor there seemed like instilled in Benthos itself.

Jinja (template engine) - Wikipedia

  • https://en.wikipedia.org/wiki/Jinja_(template_engine) Using Jinja for a simpler task as it was a first thing that occured to me. I should have just used a built-in Template module though. I did not need any programming logic in the template just a simple placeholders.

Good Lord - by Benn Stancil - benn.substack

Antiqua et Nova: Note on the relationship between AI and human intelligence

Feb-2025

Don’t Believe Him (by Ezra)

Introducing self-describing JSONs

49 Small Truths About Marriage All Couples Understand - Fatherly

Turso is rewriting SQLite in Rust with Glauber Costa, CEO at Turso (Changelog Interviews #626)

Beej’s Guide to Network Programming

Trumpian policy as cultural policy - Marginal REVOLUTION

Fallthrough & Friends with Matthew Sanabria & Kris Brandow (Changelog & Friends #77)

  • https://changelog.com/friends/77 On documentation: what’s often missing is I think my biggest gripe right now is just how few docs we have, how little documentation so many things have. But if there was a way… I think there was especially – what was it? There was one that was like the discover and learn steps. I am very frustrated often at libraries that I want to go in and understand, and there’s no “Oh, start looking here.” Or like “Here’s the basic architecture that you can then use to understand how this codebase is laid out, so you can go read the code and understand how we’ve implemented all of these things.” That documentation is almost always completely missing.

QuadrupleA/sqlite-page-explorer: Visual tool to explore SQLite databases page-by-page, the way they’re stored on disk and the way SQLite sees them.

Normally developers interact with databases on the “schema level” - tables, rows, and SQL. But taking a peek at the “page level” can give you some interesting insights:

Continuous reinvention: A brief history of block storage at AWS

Marshmallow Test and Parenting - @desunit (Sergey Bogdanov)

Comments - Tech’s Dumbest Mistake: Why Firing Programmers for AI Will Destroy Everything

Let Brandon Cook - Cal Newport

Firing programmers for AI is a mistake

Why Blog If Nobody Reads It?

Do-nothing scripting: the key to gradual automation (2019)

What is the difference between len() and sys.getsizeof() methods in python? - Stack Overflow

Filtered Decks - Anki Manual

htop Explained Visually

PBS - JOHN GARDNER - EDUCATION AND EXCELLENCE

  • https://www.pbs.org/johngardner/sections/writings_speech_1.html The things you learn in maturity aren’t simple things such as acquiring information and skills. You learn not to engage in self-destructive behavior. You leant not to burn up energy in anxiety. You discover how to manage your tensions, if you have any, which you do. You learn that self-pity and resentment are among the most toxic of drugs. You find that the world loves talent, but pays off on character.

You come to understand that most people are neither for you nor against you, they are thinking about themselves. You learn that no matter how hard you try to please, some people in this world are not going to love you, a lesson that is at first troubling and then really quite relaxing.

Intro To ‘comm’ Command In Linux

Pravidla Magic: The Gathering ( ▷ Videonávod)

The Republican Party’s NPC Problem — and Ours

Discovering discovery coding with Jimmy Miller (Changelog & Friends #80)

Future of AI: what happens after DeepSeek? (No One knows - but I have a guess) - YouTube

Achievement, here and there - by Benn Stancil

Discovering discovery coding with Jimmy Miller (Changelog & Friends #80)

Vim After Bram: A Core Maintainer on How They’ve Kept It Going - The New Stack

SED1260 - Robert Hodges

Understanding Golang’s lightweight concurrency model

Understanding Golang’s lightweight concurrency model

yq

Discovering discovery coding with Jimmy Miller (Changelog & Friends #80)

  • https://changelog.com/friends/80#transcript But I think the key to get into discovery coding is to be willing to not have a solution in mind. I do think that that is easier said than done. I think it’s very, very tempting anytime you’re approaching programming problems to come with solutions. And I don’t know, it sounds almost silly when I say it, but I’ve found that to be the number one thing that stops me from finding the good solutions, is that I already have a solution in mind, even if it’s just in the back of my head, and as I’m going and doing this, I will just automatically go towards that solution.

So step one, clear your mind, meditate… No solutions. Step two I really think is ask questions. Ask questions about the codebase, about the problem, about whatever it is that is this situation you’re in, and try to find the answers for those. And if the answers are frustrating to find, if it just takes too long to find them, build a tool that makes it really easy. And if you start there, the process of discovery coding will start becoming the easy default, because every time you want to have an answer, you already have tools available to you to help find that answer, and that ends up being like your inspiration for how to continue.

So the goal is to try to make it easy to discovery-code, because if it’s not, you’re never gonna do it. So you kind of have to do the hard work up front.

Jr Devs - I Can’t Code Anymore

Don’t Call Yourself A Programmer, And Other Career Advice

Europe faces its fate as an American colony - New Statesman

DOC • Beautiful, boring, and without soul

Discovering discovery coding with Jimmy Miller (Changelog & Friends #80)

  • https://changelog.com/friends/80 the key to get into discovery coding is to be willing to not have a solution in mind. I do think that that is easier said than done. I think it’s very, very tempting anytime you’re approaching programming problems to come with solutions. And I don’t know, it sounds almost silly when I say it, but I’ve found that to be the number one thing that stops me from finding the good solutions, is that I already have a solution in mind, even if it’s just in the back of my head, and as I’m going and doing this, I will just automatically go towards that solution.

So step one, clear your mind, meditate… No solutions. Step two I really think is ask questions. Ask questions about the codebase, about the problem, about whatever it is that is this situation you’re in, and try to find the answers for those. And if the answers are frustrating to find, if it just takes too long to find them, build a tool that makes it really easy. And if you start there, the process of discovery coding will start becoming the easy default, because every time you want to have an answer, you already have tools available to you to help find that answer, and that ends up being like your inspiration for how to continue.

So the goal is to try to make it easy to discovery-code, because if it’s not, you’re never gonna do it. So you kind of have to do the hard work up front.

The Digital Antiquarian

  • https://www.filfre.net/ Something that makes me highly nostalgic and that gives soul to the gaming as I remember it.

Programming with LLMs featuring David Crawshaw (Changelog Interviews #629)

  • https://changelog.com/podcast/629 A different take on AI assisted coding than one you have from Primagean, who is much more skeptical. This is more specific, building Go-specific tooling and being passionate about what LLMs can do for us. Also appreciating how code-completion is a completely different paradigm than a chat-bot for AI and how cool that is, pionereed by GitHub Copilot. I am not turning it back on, I don’t depend on the amount of code I write for my paycheck so I rather write by myself, working through the problems alone. Or with occational oblique strategy. Still, it is fascinating what is happening, utterly mezmerizing to watch that.

New Junior Developers Can’t Actually Code

  • https://nmn.gl/blog/ai-and-learning Clickbait and Moral Panic or it is really different? I am surely cautious. But the great plus is you CAN build things that until now needed code. If your focus is on craft - no. If your focus is on value - absolutely.

Change my mind (Changelog & Friends #81)

GenAI hot takes and bad use cases (Practical AI #304)

  • https://changelog.com/practicalai/304 What’s LLM are currently not good for: high throughput/low latency usecases, complete autonomy, high-stakes forecasting, not top languages (both of human and computer world), … there is more and great!

The return of the modern data stack - by Benn Stancil

But this SAP product, if it works the way I think it does, extends that idea in a couple of new ways. First, it suggests that applications, like CRMs and ERPs to CPQs and ATSs, could be one of the buckets that databases connect their calculators to. Rather than exporting data out of SAP—which is how people have done this for a while, and it clearly hasn’t gone well—SAP can simply reformat it. Then, people can bring their database—or, since it’s 2025, bring their aGeNtS—directly to the applications themselves.

The End of Programming as We Know It – O’Reilly

aposd-vs-clean-code/README.md at main · johnousterhout/aposd-vs-clean-code

The end of YC - by Benn Stancil - benn.substack

(7) Real Time Traffic Analytics powered by ClickHouse at FlockSafety - YouTube

Opinion

(7) Clickhouse: Faster Queries, Faster Answers (with Alasdair Brown) - YouTube

Demystifying the Parquet File Format

LeetCode is dead? Privacy is done?

Opinion

Docker Compose vs Kubernetes - Differences Explained

You might not need Redis - viblo.se

You might not need Redis

(1) Bjarne Says C++ Is Under Attack - YouTube

Ep. 343: A Minimal Protocol for Taking Control of Your Life - The Deep Life by Cal Newport

Can Ukraine—and America—Survive Donald Trump?

(1) 1.01 - Basics of Operating Systems - YouTube

(1) MIT 6.828: Operating System Engineering - YouTube

(1) MIT 6.004 Computation Structures, Spring 2017 - YouTube

How we built a Scalable Data Platform · JC

  • https://jchandra.com/posts/data-infra/#our-new-data-platform Highly Interesting, but for me essentially highlighting a quite typical - when successful - customer journey that necessitates a creation of OLAP specific platform optimized for cost and performance. The fact you’re stepping away from managed solutions seems alto to be a direction into which market is headed atm.

DBeaver - Wikipedia