Sign in

Hussein Nasser

@hnasr.bsky.social
201 followers 5 following 335 posts

Backend and Database Courses courses.husseinnasser.com YouTube youtube.com/@hnasr Author of pglocks.org

PostsRepliesMedia
Hussein Nasser @hnasr.bsky.social · 25/06/2026
When a client process that is connected to a postgres instance is killed, what happens to the backend postgres process and all the locks it holds?
000
Hussein Nasser @hnasr.bsky.social · 21/06/2026
TLB misses are expensive. But TLB misses that trigger page faults are even more expensive. Choice of processes vs threads can exacerbate this
010
Hussein Nasser @hnasr.bsky.social · 18/06/2026
I keep forgetting that VACUUM FULL doesn’t analyze the table. Spent 20 minutes wondering why my query was using a bitmap scan instead of index only. Need to explicitly use VACUUM FULL, ANALYZE
010
Hussein Nasser @hnasr.bsky.social · 17/06/2026
Postgres is half as fast in Linux 7.0, and we always knew why youtu.be/gO4J5Bkd1Oc
youtu.be
Postgres is half as fast in Linux 7.0, and we always knew why
An aws engineer discovered a 50% regression in postgres throughput ...
000
Hussein Nasser @hnasr.bsky.social · 14/06/2026
Watch out for APIs (especially OOP getters) that may look benign but perform an expensive operation. Calling these (especially in a tight loop) will result in a performance degradation (massive singleton queries) and just looking at the code from outside will not reveal the issue.
000
Hussein Nasser @hnasr.bsky.social · 12/06/2026
The audio version of Root Cause: Stories and Lessons from Two Decades of Backend Engineering Bugs, narrated by yours truly is live on Amazon and Kobo! I hope you enjoy it, thank you all the kind words and support. Not a mention of AI in the book, so In case you need a break amzn.to/3QHjQDz
020
Hussein Nasser @hnasr.bsky.social · 11/06/2026
Root Cause will make you look and think of system internals from a different lens. Grab your copy Amazon: amzn.to/4cfQjJj b&n www.barnesandnoble.com/w/root-cause...
010
Hussein Nasser @hnasr.bsky.social · 10/06/2026
Note to self, VACUUM (FULL) marks the visibility maps of all tables to 0, making index only scans heap-fetch. You have to follow it with a VACUUM; to get them updated. pg 17. Didn’t try 18.
000
Hussein Nasser @hnasr.bsky.social · 07/06/2026
In the end, AI will produce more bloated products for us to troubleshoot and fix. If you are a good software troubleshooter who understands the fundamentals. you will be on high demand. And Your skillsets are deadly.
000
Hussein Nasser @hnasr.bsky.social · 06/06/2026
Memorizing trick programming questions and answering interviews flawlessly as you may know isn’t productive. Coming up with your own solution on the fly, no matter how inefficient or bad you think it is 100 times better.
100
Hussein Nasser @hnasr.bsky.social · 06/06/2026
The thing AI can't give software engineers youtu.be/-T39cM3LPk0
youtu.be
The thing AI can't give software engineers
A discussion about why many engineers still love the struggle, the ...
000
Hussein Nasser @hnasr.bsky.social · 04/06/2026
These days… I get excited to see typos while reading and relish the long pauses and even rambling while watching videos. Really… I’ll take any glimpse of humanity left.
000
Hussein Nasser @hnasr.bsky.social · 02/06/2026
To understand locking in PostgreSQL I built pglocks dot org. I then compiled that locking techniques and other database fundaments I learned throughout my years in this database course. If you are interested in database systems, checkout my 30 hours database course, courses.husseinnasser.com
010
Hussein Nasser @hnasr.bsky.social · 31/05/2026
010
Hussein Nasser @hnasr.bsky.social · 28/05/2026
The rule of CPU in the Kernel
youtu.be
The rule of CPU in the Kernel
Fundamentals of Operating Systems Course https://oscourse.winWatch full show here https://youtu.be/aJpcysMJkvkNodeJS Internals and Architecturehttps://node.w...
000
Hussein Nasser @hnasr.bsky.social · 24/05/2026
Why It took Postgres years to do async
youtu.be
Why It took Postgres years to do async
Fundamentals of Operating Systems Course https://oscourse.winWatch full show here https://youtu.be/yGjGc21mmoU NodeJS Internals and Architecturehttps://node....
021
Hussein Nasser @hnasr.bsky.social · 21/05/2026
Root Cause: Stories and Lessons from Two Decades of Backend Engineering Bugs No best practices. no recommendations. just stories of the most interesting bugs and how I solved them I hope you enjoy it amzn.to/4cKfZhe
000
Hussein Nasser @hnasr.bsky.social · 17/05/2026
Socket Management in Backend System Design
youtu.be
Socket Management in Backend System Design
In this video I introduce 5 different design patterns for building backend applications. Each mode explains how a socket listener is established, a connectio...
000
Hussein Nasser @hnasr.bsky.social · 14/05/2026
The scars behind a piece of software innovation are not transferable.
000
Hussein Nasser @hnasr.bsky.social · 10/05/2026
You cannot make a good implementation until you first make a naïve one.
010
Hussein Nasser @hnasr.bsky.social · 07/05/2026
IPv8 draft is out. With 8 bytes instead of 4 bytes. The leading 4 bytes is the ASN (ISP). Compatible with IPv4. I am interested in the overhead cost of this conversion at scale.
000
Hussein Nasser @hnasr.bsky.social · 03/05/2026
Why It took Postgres years to do async
youtu.be
Hussein Nasser
253 likes, 17 comments. "Why It took Postgres years to do async"
000
Hussein Nasser @hnasr.bsky.social · 03/05/2026
5 chapters recorded for the audio book of Root Cause. Getting close. You are getting additional content with the audio book as am adding commentary as I remember memories / stories during the chapter reads
000
Hussein Nasser @hnasr.bsky.social · 03/05/2026
If have 4-6 years of experience in the backend and want to elevate your skills, consider grabbing the advanced Backend engineering Bundle. It consists of three fundamental courses taken in this order for an effective learning roadmap.
100
Hussein Nasser @hnasr.bsky.social · 30/04/2026
My new book Root cause - Lessons from two decades of backend engineering bugs Each chapter is an interesting bug, filled with diagrams, fundamental concepts, and most importantly journey of discovery. Grab your copy amzn.to/4cKfZhe
020
Hussein Nasser @hnasr.bsky.social · 26/04/2026
Even if you think you are right keep an open mind that you may be wrong. You will be surprised as how much right-er you could be when you do that. When there is doubt there is room to improve, to learn and explore. When you think you are right, exploration halts.
000
Hussein Nasser @hnasr.bsky.social · 25/04/2026
I designed this course for developers and engineers who built backend and frontend apps and would like to take their skills further in understanding the full stack and how to identify performance bottlenecks on their backend applications. Grab it here courses.husseinnasser.com
000
Hussein Nasser @hnasr.bsky.social · 23/04/2026
If you found yourself hoping a fix works, know that part of you doesn’t understand the problem very well. That part of you wants the bug gone. Resisting the bug creates fear. If you wish to hope, hope for an error so you can understand why what you applied didn’t work the art of trial and error.
000
Hussein Nasser @hnasr.bsky.social · 19/04/2026
OOP and Databases don’t mix well. When you force them to mix, you get a lipstick. Also know as ORMs.
000
Hussein Nasser @hnasr.bsky.social · 17/04/2026
Announcing my new book, Root Cause, Stories from two decades of backend engineering bugs paperback amzn.to/4cKfZhe ebook amzn.to/4cfQjJj
010
Hussein Nasser @hnasr.bsky.social · 16/04/2026
Trying to explain a brilliant data structure (such as bloom filter) often falls flat and unappreciated. This is because the context and pain and the need behind it is often omitted or sometimes not even known. Instead a contrived reasoning is provided leaving people more puzzled.
000
Hussein Nasser @hnasr.bsky.social · 15/04/2026
I wrote a new book that has been in the works for years. It is called Root Cause, and it is for those who enjoy the art of backend engineering. amzn.to/4cKfZhe
071
Hussein Nasser @hnasr.bsky.social · 12/04/2026
Apache Kafka Architecture (a substack piece)
substack.com
Apache Kafka Architecture
The internals of the beast
000
Hussein Nasser @hnasr.bsky.social · 10/04/2026
It feels good to understand what goes on behind the scenes in the database. It boils down to the fundamentals that I compiled in this course. I get messages from people who passed interviews, got hired, promoted and improved their apps. Grab your copy databases.win
000
Hussein Nasser @hnasr.bsky.social · 09/04/2026
Confidence is the absence of doubt
000
Hussein Nasser @hnasr.bsky.social · 05/04/2026
If you ever used the /*+ APPEND */ Oracle hint to bulk insert rows into a table, you won’t be able to read the table in the same transaction. If you try you will get this error. ORA-12838: cannot read/modify an object after modifying it in parallel.
000
Hussein Nasser @hnasr.bsky.social · 03/04/2026
To build performant backend applications, it is better to start from first principles. Head to courses.husseinnasser.com for a coupon. I recommend getting the OS course as it is the basis to unlocking all other courses.
000
Hussein Nasser @hnasr.bsky.social · 02/04/2026
Any software you build to solve a problem will have a limitation. The danger is in not knowing what the limitations are before building it. To make this concrete, if database X is advertised as a better alternative of database Y, vendors of X will praise the “good” of X, highlight the “bad” Y
100
Hussein Nasser @hnasr.bsky.social · 29/03/2026
Code with fewer lines is not always simple code. Fewer lines of code often indicate an abstraction. Abstractions are not inherently simple; they create the illusion of simplicity. They don’t remove complexity—they hide it. This hidden complexity can cause engineers to lower their guard.
100
Hussein Nasser @hnasr.bsky.social · 26/03/2026
Imposter syndrome is like a self recursive function.
000
Hussein Nasser @hnasr.bsky.social · 22/03/2026
If you sit with a bug long enough, the root cause will reveal itself. Don’t try to get “rid” of it, because that will create frustration and aversion. Enjoy the exploration of the root cause removing yourself from blame and responsibility. When you do, you will feel yourself level up.
010
Hussein Nasser @hnasr.bsky.social · 19/03/2026
Will RAM become so expensive that we’ll be forced to actually write efficient software? just like the early days of computing
111
Hussein Nasser @hnasr.bsky.social · 19/03/2026
Giving out 200 free coupons of my courses for Eid. هنالك ألم كثير في العالم، أتمنى انه نحتفل في السنة القادمة في عالم بدون حروب... courses.husseinnasser.com NGINX course NGINXEID2026 OS course OSEID2026 Real time websockets WSEID2026 Troubleshooting backend PFEID2026 Database DBEID2026
courses.husseinnasser.com
All Hussein Nasser Courses List with Coupons
Recommended Prerequisites: Fundamentals of Network Engineering + Fundamentals of Operating Systems
010
Hussein Nasser @hnasr.bsky.social · 15/03/2026
what happens if you lose power halfway through writing to the data files in the database? I explore this on my substack open.substack.com/pub/hnasr/p/...
011
Hussein Nasser @hnasr.bsky.social · 13/03/2026
My favorite thing about software engineering is making it transparent. Node is one of the most popular runtimes used on backend engineering yet I feel it is the least understood. I surely ran into this way at times.
100
Hussein Nasser @hnasr.bsky.social · 12/03/2026
PostgreSQL Internal Architecture Explained youtu.be/Q56kljmIN14
youtu.be
PostgreSQL Internal Architecture Explained
Creating a listener on the backend application that accepts connections is simple. You listen on an address-port pair, connection attempts to that address and port will get added to an accept queue;…
000
Hussein Nasser @hnasr.bsky.social · 08/03/2026
How I design software open.substack.com/pub/hnasr/p/...
000
Hussein Nasser @hnasr.bsky.social · 05/03/2026
Fully understanding existing components and how they work is something we rarely do. We throw our hands and blame the component, the tool, the framework, the language, the database but rarely we blame our lack of understanding.
000
Hussein Nasser @hnasr.bsky.social · 01/03/2026
asynchronous calls are a mirage. There always something synchronous being blocked upstream.
000
Hussein Nasser @hnasr.bsky.social · 01/03/2026
If have 3-5 years of experience in the backend and want to elevate your skills, consider grabbing the advanced Backend engineering Bundle. The Advanced Backend Engineering Bundle courses.husseinnasser.com/bundle Coupons: BACK-MAR2026-A, PF-MAR2026-A , WS-MAR2026-A
000