- 895
- 22 812 612
Hussein Nasser
United States
Registrace 19. 08. 2014
Join me as we discuss various software engineering topics with examples and add fun elements to them. We always try to learn by example here in this educational CZcams channel which we believe is the right way to learn. I love Software engineering (especially the backend) and I strive to be a better software engineer every day. Join me on this journey and let us learn together.
All opinions, suggestions, and tips I provide in all of this channel's content are my own. Information provided is for educational purposes only.
Consider becoming a member to support the channel
czcams.com/channels/_ML5xP23TOWKUcc-oAE_Eg.htmljoin
Stay awesome!
Hussein Nasser,
www.husseinnasser.com
Feel free to shoot me an email h@husseinnasser.com
twitter: @hnasr
All opinions, suggestions, and tips I provide in all of this channel's content are my own. Information provided is for educational purposes only.
Consider becoming a member to support the channel
czcams.com/channels/_ML5xP23TOWKUcc-oAE_Eg.htmljoin
Stay awesome!
Hussein Nasser,
www.husseinnasser.com
Feel free to shoot me an email h@husseinnasser.com
twitter: @hnasr
They made Python faster with this compiler option
Fundamentals of Operating Systems Course
oscourse.win
Looks like fedora is compiling cpython with the -o3 flag, which does aggressive function inlining among other optimizations.
This seems to improve python benchmarks performance by at most 1.16x at a cost of an extra 3MB in binary size (text segment). Although it does seem to slow down some benchmarks as well though not significantly.
O1 - local register allocation, subexpression elimination
O2 - Function inlining only small functions
O3 - Agressive inlining, SMID
0:00 Intro
1:00 Fedora Linux gets Fast Python
5:40 What is Compiling?
9:00 Compiling with No Optimization
12:10 Compiling with -O1
15:30 Compiling with -O2
20:00 Compiling with -O3
23:20 Showing Numbers
Backend Troubleshooting Course
performance.husseinnasser.com
Fundamentals of Backend Engineering (link redirects to udemy with coupon)
backend.husseinnasser.com
Fundamentals of Networking for Effective Backends udemy course (link redirects to udemy with coupon)
network.husseinnasser.com
Fundamentals of Database Engineering udemy course (link redirects to udemy with coupon)
database.husseinnasser.com
Follow me on Medium
medium.com/@hnasr/membership
Introduction to NGINX (link redirects to udemy with coupon)
nginx.husseinnasser.com
Python on the Backend (link redirects to udemy with coupon)
python.husseinnasser.com
Become a Member on CZcams
czcams.com/channels/_ML5xP23TOWKUcc-oAE_Eg.htmljoin
Buy me a coffee if you liked this
www.buymeacoffee.com/hnasr
Arabic Software Engineering Channel
czcams.com/channels/hWZsjdoRvZ0T9QWZOD6UpA.html
🔥 Members Only Content
czcams.com/play/UUMO_ML5xP23TOWKUcc-oAE_Eg.html
🏭 Backend Engineering Videos in Order
backend.husseinnasser.com
💾 Database Engineering Videos
czcams.com/play/PLQnljOFTspQXjD0HOzN7P2tgzu7scWpl2.html
🎙️Listen to the Backend Engineering Podcast
husseinnasser.com/podcast
Gears and tools used on the Channel (affiliates)
🖼️ Slides and Thumbnail Design
Canva
partner.canva.com/c/2766475/647168/10068
Stay Awesome,
Hussein
oscourse.win
Looks like fedora is compiling cpython with the -o3 flag, which does aggressive function inlining among other optimizations.
This seems to improve python benchmarks performance by at most 1.16x at a cost of an extra 3MB in binary size (text segment). Although it does seem to slow down some benchmarks as well though not significantly.
O1 - local register allocation, subexpression elimination
O2 - Function inlining only small functions
O3 - Agressive inlining, SMID
0:00 Intro
1:00 Fedora Linux gets Fast Python
5:40 What is Compiling?
9:00 Compiling with No Optimization
12:10 Compiling with -O1
15:30 Compiling with -O2
20:00 Compiling with -O3
23:20 Showing Numbers
Backend Troubleshooting Course
performance.husseinnasser.com
Fundamentals of Backend Engineering (link redirects to udemy with coupon)
backend.husseinnasser.com
Fundamentals of Networking for Effective Backends udemy course (link redirects to udemy with coupon)
network.husseinnasser.com
Fundamentals of Database Engineering udemy course (link redirects to udemy with coupon)
database.husseinnasser.com
Follow me on Medium
medium.com/@hnasr/membership
Introduction to NGINX (link redirects to udemy with coupon)
nginx.husseinnasser.com
Python on the Backend (link redirects to udemy with coupon)
python.husseinnasser.com
Become a Member on CZcams
czcams.com/channels/_ML5xP23TOWKUcc-oAE_Eg.htmljoin
Buy me a coffee if you liked this
www.buymeacoffee.com/hnasr
Arabic Software Engineering Channel
czcams.com/channels/hWZsjdoRvZ0T9QWZOD6UpA.html
🔥 Members Only Content
czcams.com/play/UUMO_ML5xP23TOWKUcc-oAE_Eg.html
🏭 Backend Engineering Videos in Order
backend.husseinnasser.com
💾 Database Engineering Videos
czcams.com/play/PLQnljOFTspQXjD0HOzN7P2tgzu7scWpl2.html
🎙️Listen to the Backend Engineering Podcast
husseinnasser.com/podcast
Gears and tools used on the Channel (affiliates)
🖼️ Slides and Thumbnail Design
Canva
partner.canva.com/c/2766475/647168/10068
Stay Awesome,
Hussein
zhlédnutí: 9 177
Video
They made Kafka 80% faster by switching file systems
zhlédnutí 31KPřed 14 dny
Allegro improved their Kafka produce tail latency by over 80% when they switched from ext4 to xfs. What I enjoyed most about this article is the detailed analysis and tweaking the team made to ext4 before considering switching to xfs. This is a classic case of how a good tech blog looks like in my opinion. 0:00 Intro 0:30 Summary 2:35 How Kafka Works? 5:00 Producers Writes are Slow 7:10 Tracing...
New Course Alert - Fundamentals of Operating Systems
zhlédnutí 10KPřed 21 dnem
Head to os.husseinnasser.com to grab my new OS course Operating systems (their kernel specifically) orchestrate many processes, allow access to memory, disk, network and execute processes by scheduling them to the CPU. Sounds simple when we put it this way but this task is vast. Writing efficient programs depends on how much understanding the engineer has in OS kernel. When we access a 32 bit i...
Google Patches Linux kernel with 40% TCP performance
zhlédnutí 126KPřed 2 měsíci
Google submitted a patch to Linux Kernel 6.8 to improve TCP performance by 40%, this is done via rearranging the tcp structures for better cpu cache lines, I explore this here. 0:00 Intro 0:30 Google improves Linux Kernel TCP by 40% 1:40 How CPU Cache Line Works 6:45 Reviewing the Google Patch www.phoronix.com/news/Linux-6.8-Networking lore.kernel.org/netdev/20231129072756.3684495-1-lixiaoyan@g...
Cloudflare Open sources Pingora (NGINX replacement)
zhlédnutí 28KPřed 2 měsíci
Cloudflare has announced they are open sourcing Pingora as a networking framework! This is their in-house Rust proxy they built few years ago to replace NGINX This is kind of Big news for few reasons, let us discuss blog.cloudflare.com/pingora-open-source/? 0:00 Intro 0:30 Reasons why Cloudflare built Pingora? 3:00 It is a framework! 7:30 What in Pingora? 11:50 Security in Pingora 13:45 Multi-t...
The Cost of Memory Fragmentation
zhlédnutí 6KPřed 3 měsíci
Fragmentation is a very interesting topic to me, especially when it comes to memory. While virtually memory does solve external fragmentation (you can still allocate logically contiguous memory in non-contiguous physical memory) it does however introduce performance delays as we jump all over the physical memory to read what appears to us for example as contiguous array in virtual memory. You s...
How a Machine Becomes a Router | ip_forward
zhlédnutí 6KPřed 3 měsíci
Recently I learned how the Linux option net.ipv4.ip_forward can turn your machine into a router. I have been using this option in past when working with iptables but never paid attention to how it works. I explore this here. You see, when your NIC receives a frame from the network with a MAC address the frame is copied to the kernel if the MAC address matches the NIC’s. If doesn’t match the NIC...
The Real Hidden Cost of a Request
zhlédnutí 26KPřed 5 měsíci
In this video I explore the hidden costs of sending a request from the frontend to the backend More details here medium.com/@hnasr/the-journey-of-a-request-to-the-backend-c3de704de223 Discovering Backend Bottlenecks: Unlocking Peak Performance performance.husseinnasser.com Fundamentals of Backend Engineering Design patterns udemy course (link redirects to udemy with coupon) backend.husseinnasse...
Why create Index blocks writes
zhlédnutí 11KPřed 6 měsíci
Fundamentals of Database Engineering udemy course (link redirects to udemy with coupon) database.husseinnasser.com Why create Index blocks writes In this video I explore how create index, why does it block writes and how create index concurrently work and allow writes. 0:00 Intro 1:28 How Create Index works 4:45 Create Index blocking Writes 5:00 Create Index Concurrently Discovering Backend Bot...
Before you move to HTTP/3 ...
zhlédnutí 15KPřed 7 měsíci
HTTP/3 is getting popular in the cloud scene but before you migrate to HTTP/3 consider its cost. I explore it here. 0:00 Intro HTTP/3 is getting popular 3:40 HTTP/1.1 Cost 5:18 HTTP/2 Cost 6:30 HTTP/3 Cost blog.apnic.net/2023/09/25/why-http-3-is-eating-the-world/ Discovering Backend Bottlenecks: Unlocking Peak Performance performance.husseinnasser.com Fundamentals of Backend Engineering Design ...
Deep dive on how static files are served with HTTP (kernel, sockets, file system, memory, zero copy)
zhlédnutí 19KPřed 7 měsíci
In this video I do a deep dive on how serving static files work in web servers. 0:00 Intro 2:00 Overview 3:00 Request handling and Receive Queue 8:50 Reading file from disk 13:50 Response and the Send Queue 24:00 Sending Response to the Client Discovering Backend Bottlenecks: Unlocking Peak Performance performance.husseinnasser.com Fundamentals of Backend Engineering Design patterns udemy cours...
The Pros and Cons of Encrypted Client Hello
zhlédnutí 6KPřed 7 měsíci
Discovering Backend Bottlenecks: Unlocking Peak Performance performance.husseinnasser.com The Encrypted Client Hello or ECH is a new RFC that encrypts the TLS client hello to hide sensitive information like the SNI. In this video I go through pros and cons of this new rfc. 0:00 Intro 2:00 SNI 4:00 Client Hello 8:40 Encrypted Client Hello 11:30 Inner Client Hello Encryption 18:00 Client-Facing O...
The effect of Random UUID on database performance
zhlédnutí 67KPřed 8 měsíci
In this video I whiteboard how UUIDs hurt write (and read performance) when used on secondary and primary indexes. UUIDv4 are the most popular but they are truly random. Compared to snowflakes, ULID or UUIDv7 or even UUIDv1. 0:00 UUIDv4 2:30 B Tree Indexes and UUID 5:30 Random UUIDv4 Insert Workload 12:40 Ordered Insert Workload (UUID7/ULID, Sequence) 14:00 Shared buffer pool flushes 15:00 Shop...
how greedy are your processes? | Linux niceness
zhlédnutí 16KPřed 9 měsíci
Discovering Backend Bottlenecks: Unlocking Peak Performance performance.husseinnasser.com In this video I explain linux Nice processes and how to change the priority of a process. In the Linux operating system, processes manage and execute applications and tasks. One of the key utilities for managing processes on Linux is the `nice` command, which adjusts the priority of a process. Every proces...
How does the Kernel manage backend Connections?
zhlédnutí 11KPřed 9 měsíci
How does the Kernel manage backend Connections?
What happens before the Backend gets the Request
zhlédnutí 45KPřed 9 měsíci
What happens before the Backend gets the Request
They Enabled Postgres Partitioning and their Backend fell apart
zhlédnutí 37KPřed 10 měsíci
They Enabled Postgres Partitioning and their Backend fell apart
New course alert - Unlocking Backend Performance
zhlédnutí 16KPřed 10 měsíci
New course alert - Unlocking Backend Performance
WebTransport is a Game Changer Protocol
zhlédnutí 53KPřed 11 měsíci
WebTransport is a Game Changer Protocol
Your SSD lies but that's ok .. I think | Postgres fsync
zhlédnutí 19KPřed 11 měsíci
Your SSD lies but that's ok .. I think | Postgres fsync
The problem with software engineering
zhlédnutí 64KPřed 11 měsíci
The problem with software engineering
Clustered Collections makes Mongo faster but there is a cost
zhlédnutí 22KPřed rokem
Clustered Collections makes Mongo faster but there is a cost
Prime Video Swaps Microservices for Monolith: 90% Cost Reduction
zhlédnutí 156KPřed rokem
Prime Video Swaps Microservices for Monolith: 90% Cost Reduction
AWS Serverless Lambda Supports Response Streaming
zhlédnutí 26KPřed rokem
AWS Serverless Lambda Supports Response Streaming
The Cloudflare mTLS vulnerability - A Deep Dive Analysis
zhlédnutí 9KPřed rokem
The Cloudflare mTLS vulnerability - A Deep Dive Analysis
The Virgin Media ISP outage - What happened?
zhlédnutí 6KPřed rokem
The Virgin Media ISP outage - What happened?
GitHub SSH key is Leaked - How bad is this?
zhlédnutí 66KPřed rokem
GitHub SSH key is Leaked - How bad is this?
Thank you!
Yea 4yrs later id still watch it
Thank you, you clear my doubts
Thanks for the information🎉🎉🎉
why does everyone use node i need to know web browser code
it's not supposed or designed to be as universally accessible like rest on http 1.1 which is like ubiquitous at this point. if that's important to you, go with REST. REST is for accessibility. grpc defines both server AND client, and when you have both fixed in your system architecture, you're now granted with ultra superior performance and throughput. It's like a comparison between general purpose processing unit and a specialized processing unit. latter will always have an advantage in performance.
A normal app server should never accept CONNECT method then?
One more important thing, if you change rows a lot or add rows etc…, index is a No go.
Plz explain connection pooling in django
The power of traefik is auto config. If you have a services running in a docker or k8s environment, traefik is king ;-) To add a docker service to traefik is just a couple labels to the service, and traefik is handling the rest. If you have a k8s running on a airbnb scale, you don't want to add all running instances manually to your reverse proxy, right? With traefik, scaling a docker/k8s service, don't need any config to traefik, it will be automatically loadbalanced. If you once setup right. (the hardest part of the job).
Just discovered your channel yesterday, thanks for your videos! I love the way you explain things, not only the what, but also the why, showing us how to think, this will help me in my first job interview :)
Made it to the end
you are super fun to watch.
Can you please make a video on the importance of SARGable Queries?
Old video , new comment: I am doing research in to TLS termination on sites like AWS S3. Is there a moment after TLS termination and before Server Side Encryption that the data is in plaintext in memory on the server? Is this prone to some kind of attack? If at any point the data is unencrypted is a vulnerability, what are your thoughts. I search aws s3 website, they dont talk about this. But they do say that data is encrypted at rest. If data is uploaded using multipart upload (for large files) it has to be decrypted on their side using their ssl private key? Load balances that decrypt the data, often need to pass it to other endpoints and when configured AWS services you can choose to do so without TLS, and the end user will never know. (maybe faster processing, cheaper etc)
Great explanation!! Can you explain the Signal Protocol. The Double Ratchet Algorithm !!
I wish you create more explaining video on how this all works on text and symbols level, what adds to what, and extracts from what
Hi, are you the one that made an elfpack?
Fundamentals of Operating Systems course oscourse.win
Fundamentals of Operating Systems course oscourse.win
Fundamentals of Operating Systems course oscourse.win
Fundamentals of Operating Systems course oscourse.win
Fundamentals of Operating Systems course oscourse.win
Fundamentals of Operating Systems course oscourse.win
Fundamentals of Operating Systems course oscourse.win
Fundamentals of Operating Systems course oscourse.win
Fundamentals of Operating Systems course oscourse.win
Fundamentals of Backend Engineering backend.win
Fundamentals of Backend Engineering backend.win
thank you
I use UPNP wizard. Without it i couldn't play the games i want :(
stateful : 세션변수 이용/ 서버에 저장 stateless: 토큰 사용
You a hero bro
Thank you very much for your videos , I dare anyone to watch you explaining a concept whatever the complexity of the concept and not understand it ❤❤❤
Very informative video.
Not a single line of code to illustrste the concepts i can imagine not coding in a 14 udemy course. 😂
SQL Creates an Abstraction between the Programming Business Logic and the Underlying Database Storage. The Database Administrator, Can Make Changes to and Performance Tune The Database. Without breaking The Programming Business Logic.
MongoDB = Hierarchical Database, Like Mainframe Database: IMS. You Don't Understand WHAT a Relational SQL Database System is and How it Improves Perfromance.
took them long enough to discover it
I can't appreciate this channel just enough man 🥺 my little frontend oriented brain is happy with the way you explain stuff
When I connect to Public wifi, isn't that password can catch in the network?
Amazing way of teaching, where are you from Nasser?
Therapist: the uncanny valley of accents doesn't exist The uncanny valley of accents:
indepth on kafka.............
Is not signature = server public key + ca public key ? You say signature= server public key + ca private key
My university teacher told me that he/she knows nothing. So he/she closed the door and play your videos in projector
it is what it is 😂😂😂
I scoured internet to understand this for last 2 hours. And i stumbled upon hussein's video's again... everything is crystal clear now. Excited for your new course on OS , bought it but need to go through it 😁😁😁😁