hnasr Profile Banner
Hussein Nasser Profile
Hussein Nasser

@hnasr

Followers
74K
Following
4K
Statuses
21K

Backend and Database Courses https://t.co/Qonec4YftL YouTube https://t.co/FfDg8cnVCI Author of https://t.co/PcX2tDsIxC Engineer @esri

California, USA
Joined July 2010
Don't wanna be here? Send us removal request.
@hnasr
Hussein Nasser
8 months
List of all courses in a single link (with coupons) The order is optional. (pinned tweet)
Tweet media one
27
60
669
@hnasr
Hussein Nasser
3 hours
@nerdynaman So much magic behind WebRTC, it is heavily abstracted. If I would to summarize that video, WebRTC is an attempt to bring UDP to the web with peer to peer.
0
0
3
@hnasr
Hussein Nasser
18 hours
$9.99 coupons expires Feb 14 BACK-FEB2025-B NET-FEB2025-B NGINX-FEB2025-B DB-FEB2025-B PY-FEB2025-B PF-FEB2025-B OS-FEB2025-B
0
0
10
@hnasr
Hussein Nasser
18 hours
Fill factor is a property of the index, ie when you build an index how much the leaf pages are filled with key-value pairs, before creating a new page. The exception is Postgres where fill factor is applied to the table as well and have slightly different behavior.
0
0
28
@hnasr
Hussein Nasser
3 days
RT @axboe: The networking side of the io_uring receive zero-copy support was finally merged, it's queued for the 6.15 kernel. See this merg…
0
20
0
@hnasr
Hussein Nasser
5 days
For tech, I put it to test immediately and use my existing knowledge to verify it and google to find it. 70% of the time it has wrong info there is 30% correct information from my experience. it helps when you ask it to show the source code of popular engine for verification. like the other day I asked it to show me where in chromium code the 6 connection hardcoded limit is. and it did after 5 wrong attempts. and there is of course question everything if the topic is something I’m not familiar its get harder especially when I can’t find it on google this thing is glorified next word predictor. trained on trillions of content. so it will not say it doesn’t know it will just make up stuff based on what it saw before.
0
0
2
@hnasr
Hussein Nasser
6 days
@copy_n4 glad to hear that!
0
0
1
@hnasr
Hussein Nasser
7 days
First time I try Node’s C++ Addons. Pretty cool that you can get context on the event loop, environment etc. I was also able to debug my C++ code by running Node in debug mode with VS code.
1
1
62
@hnasr
Hussein Nasser
7 days
I don’t blame you, these are indeed confusing and each database implementation can differ causing more confusion. I would say Don’t define, but understand the principles of isolation first. Transactions and Concurrency. A Transaction can make changes. A Transaction can be committed or uncommitted. Isolation answers the question, from the point of the current transaction and the question is “what can I see?” Can I see changes made by other uncommitted transactions? read uncommitted No, I only want to see changes made by committed transactions — read committed This raises a question, you said you want to see committed changes but when? do you want to see all changes committed NOW (at the time of a query). — read committed Or do you want that if you read a row you lock on to that state of the row ie if it changes (and committed by other transactions) you don’t want to see it.. other things can see. or do you want a more consistent view, yes id still like to see committed changes but not with every query I make, I want to see committed changes since the start of my transaction, this is snapshot isolation keep in mind RR and SI sometimes implemented as one (pg) up to now all this affects reads. Serialization is the odd ball where if transactions reading and writing, the goal is to serialize the transaction so they look like they run after each other, to produce a consistent predictable result.. You can solve this with locks and physically serialize transactions (pessimistic concurrency control) OR you can use serializable isolation which is a clever check to allow multiple concurrency and fail if the serialization anomaly detected forcing the client to retry (optimistic concurrency control) am not a fan of OCC because I don’t like to complicate my code retries I rather be blocked and wait hope that helps
1
1
39
@hnasr
Hussein Nasser
7 days
@sid6mathur Not really, didn’t make any changes aside from disabling cache so I can see the requests. granted this video is dated, their CDN may have switched to a different protocol.
1
0
0
@hnasr
Hussein Nasser
7 days
Head to for a $9.99 discount coupon. You can also grab the rest of my courses starting at $9.99 discount (limited time).
1
1
10
@hnasr
Hussein Nasser
12 days
New X article
@hnasr
Hussein Nasser
12 days
3
5
92
@hnasr
Hussein Nasser
12 days
2
49
478
@hnasr
Hussein Nasser
14 days
@AMagdy_h You can jump directly to the fundamentals of backend engineering course if you ha e basics of networking. Then follow it up with the troubleshooting backend course. Having the fundamentals of OS is also good to have
1
0
3
@hnasr
Hussein Nasser
14 days
Any code you write has a flaw, It might not be obvious today, but it will reveal itself one day. Google, Microsoft, Amazon and others all experienced severe outages during the pandemic. Because they didn’t anticipate the unique workload, they had to rewrite and redesign quite a bit to handle that case. I have that all documented on my channel. So knowing that nothing is perfect, rid yourself of the anxiety that your code might fail. It will. So everyone else’s. Why not write the code you know and understand and learn how to make it better when things go wrong. This is how you grow. Now if you have someone by your side which can clearly tell you why your code will fail in certain scenarios because they experienced it, you can shortcut that knowledge. But apply that only if you fully understand the change. This becomes rare as you get more experience and code changes from others become more like personal preference and cosmetic. Watch out for those.
4
26
241
@hnasr
Hussein Nasser
15 days
Nice patch, I talk about page tables in process control block on my OS course. Mapping virtual address in the process to the physical address. With large number of processes share a lot of memory, the PTEs can grow large. Threads get this for free.
@phoronix
Phoronix
15 days
Linux Patches Allow Sharing PTEs Between Processes - Can Mean Significant RAM Savings Big Memory Savings: "...would have required 878GB+ for just the PTEs. If these PTEs could be shared, the a substantial amount of memory saved."
0
0
6