Hussein Nasser @hnasr.bsky.social · 25/06/2026When 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/2026TLB 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/2026I 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/2026Postgres is half as fast in Linux 7.0, and we always knew why youtu.be/gO4J5Bkd1Ocyoutu.bePostgres is half as fast in Linux 7.0, and we always knew whyAn aws engineer discovered a 50% regression in postgres throughput ... 000
Hussein Nasser @hnasr.bsky.social · 14/06/2026Watch 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/2026The 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/2026Root 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/2026Note 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/2026In 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/2026Memorizing 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/2026The thing AI can't give software engineers youtu.be/-T39cM3LPk0youtu.beThe thing AI can't give software engineersA discussion about why many engineers still love the struggle, the ... 000
Hussein Nasser @hnasr.bsky.social · 04/06/2026These 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/2026To 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 · 28/05/2026The rule of CPU in the Kernelyoutu.beThe rule of CPU in the KernelFundamentals 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/2026Why It took Postgres years to do asyncyoutu.beWhy It took Postgres years to do asyncFundamentals 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/2026Root 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/2026Socket Management in Backend System Designyoutu.beSocket Management in Backend System DesignIn 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/2026The scars behind a piece of software innovation are not transferable. 000
Hussein Nasser @hnasr.bsky.social · 10/05/2026You cannot make a good implementation until you first make a naïve one. 010
Hussein Nasser @hnasr.bsky.social · 07/05/2026IPv8 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/2026Why It took Postgres years to do asyncyoutu.beHussein Nasser253 likes, 17 comments. "Why It took Postgres years to do async" 000
Hussein Nasser @hnasr.bsky.social · 03/05/20265 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/2026If 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/2026My 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/2026Even 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/2026I 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/2026If 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/2026OOP 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/2026Announcing 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/2026Trying 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/2026I 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/2026Apache Kafka Architecture (a substack piece)substack.comApache Kafka ArchitectureThe internals of the beast 000
Hussein Nasser @hnasr.bsky.social · 10/04/2026It 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 · 05/04/2026If 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/2026To 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/2026Any 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/2026Code 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/2026Imposter syndrome is like a self recursive function. 000
Hussein Nasser @hnasr.bsky.social · 22/03/2026If 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/2026Will 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/2026Giving 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 DBEID2026courses.husseinnasser.comAll Hussein Nasser Courses List with CouponsRecommended Prerequisites: Fundamentals of Network Engineering + Fundamentals of Operating Systems 010
Hussein Nasser @hnasr.bsky.social · 15/03/2026what 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/2026My 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/2026PostgreSQL Internal Architecture Explained youtu.be/Q56kljmIN14youtu.bePostgreSQL Internal Architecture ExplainedCreating 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/2026How I design software open.substack.com/pub/hnasr/p/... 000
Hussein Nasser @hnasr.bsky.social · 05/03/2026Fully 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/2026asynchronous calls are a mirage. There always something synchronous being blocked upstream. 000
Hussein Nasser @hnasr.bsky.social · 01/03/2026If 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