Synopsis
Free style Software engineering talk.
Episodes
-
How End to End encryption work?
12/04/2020 Duration: 13minIn this video I explain End to End encryption within the context of WhatsApp. I explain how encryption and TLS works then the problem of having a centerlized server decrypting the traffic, I then talk about how end to end encryption (e2e) can help mitgate that and finally I explain the problems with e2e encryption Classic Encryption Example 1:00 End to end encryption 3:25 Problem with E2E 7:30 - Trust? Fingerprints/CA (QR whatspp) encryption 00:30 encryption, e2e encryption, end to end encryption, whatsapp end to end encryption, how e2e works, e2e limitations --- Support this podcast: https://anchor.fm/hnasr/support
-
WhatsApp Limits Messages that can be Forwarded
12/04/2020 Duration: 05minWhatsApp Introduced long time a go Unlimited forwarding then limited Up to 5 times Double forwarded too many times (last year) Double forwarded messages can only be forwarded once or even none Forwarding feature end to end encryption Sent/delivered/read https://www.cnbc.com/2020/04/07/whatsapp-limits-message-forwards-to-combat-coronavirus-misinformation.html --- Support this podcast: https://anchor.fm/hnasr/support
-
Forward Proxy vs Reverse Proxy Explained
09/04/2020 Duration: 14minIn this video, I explain the difference between a proxy and a reverse proxy. This is a refreshed version of the proxy video I made. What is a Proxy ? Proxy use cases - Logging - Anonymity - Geofencing - Caching - Block sites (office) - Enable Polyglot What is Reverse Proxy? Reverse Proxy Example Reverse Proxy Use Cases - Caching (Varnish) - Load Balancing - Ingress (/pics) - Canary Deployment Many types of proxy check it here Q and A * can we use proxy and reverse proxy together? * Can I use Proxy to hide my identity instead of a VPN? * Can I use proxy just for HTTP? tags: proxy vs reverse proxy, reverse proxy benefits, what is a reverse proxy, what is a proxy, what is the difference between proxy and reverse proxy Sidecar proxy 4:14 Load balance 7:40 Proxy Reverse Proxy 5:00
-
What is a Distributed Transaction in Microservices?
05/04/2020 Duration: 21minIn this video I explore what is a distributed transaction but first I explain what is a transaction, then why we invented distributed transactions and finally discuss proposed solutions to implement distributed transactions Cards 2:40 ACID https://www.youtube.com/watch?v=pomxJOFVcQs 7:30 Microservices https://www.youtube.com/watch?v=T-m7ZFxeg1A Transactions 2:30 Compensating Edits 6:40 Atomic Clocks 11:50 Event Sourcing 13:30 Mini-Monolith 15:20 Resources https://www.youtube.com/watch?v=YPbGW3Fnmbc https://www.youtube.com/watch?v=S4FnmSeRpAY https://www.youtube.com/watch?v=epOLEdaPSLQ https://softwareengineeringdaily.com/2018/12/19/linkerd-service-mesh-with-william-morgan/
-
Chrome follows FireFox steps - Rolling back SameSite cookie change
04/04/2020 Duration: 05minA very necessary change and good step made by Google Chrome Team to rollback the same site cookie change Blog https://blog.chromium.org/2020/04/temporarily-rolling-back-samesite.html Firefox re-enables https://www.youtube.com/watch?v=sh3TPId35Ec SameSite Cookie Attribute https://www.youtube.com/watch?v=aUF2QCEudPo --- Support this podcast: https://anchor.fm/hnasr/support
-
Bloom Filters Explained
02/04/2020 Duration: 09minIn this video I explain why we invented bloom filters and where you can use it to make your queries more efficent. --- Support this podcast: https://anchor.fm/hnasr/support
-
What is On Demand TLS?
30/03/2020 Duration: 14minOn-Demand TLS is a new feature developed by Caddy Web Server that allows TLS certificate to be generated on the first request, I explain this tech and their pros and cons in this video. --- Support this podcast: https://anchor.fm/hnasr/support
-
Lazy Loading vs Eager Loading with Node JS & Express
29/03/2020 Duration: 08minLazy Loading is a technique where a piece of data is being loaded when needed instead prior. This ensures Fast startup times but can delay requests. In this video I’ll show both Eager loading and the lazy loading with example Node JS --- Support this podcast: https://anchor.fm/hnasr/support
-
The good the bad and the ugly on gRPC
28/03/2020 Duration: 15minIn this podcast I discuss the good, the bad and the ugly about gRPC. No technology is perfect. --- Support this podcast: https://anchor.fm/hnasr/support
-
This is why gRPC was invented
28/03/2020 Duration: 09minTHIS IS MAIN reason gRPC was invented 8:40 -> 16:40 (8 minutes) In this video I discuss the reasoning and all the problems and limitations that lead to the invention of gRPC. --- Support this podcast: https://anchor.fm/hnasr/support
-
Firefox re-enables TLS 1.0 & TLS 1.1 to allow access to legacy websites hosting COVID19 information
25/03/2020 Duration: 04minFirefox has disabled TLS 1.0 and TLS 1.1 to improve your website connections. Sites that don't support TLS version 1.2 will now show an error page. We reverted the change for an undetermined amount of time to better enable access to critical government sites sharing COVID19 information. https://www.youtube.com/watch?v=grVVuGnN9IE https://www.mozilla.org/en-US/firefox/74.0/releasenotes/ https://twitter.com/cramforce/status/1242515799215988737?s=21 --- Support this podcast: https://anchor.fm/hnasr/support
-
Episode 141 - Software Chat - Copy and Paste Code, Tutorial Hell, Frontend Frameworks, GitHub Pull request Trolling and more
23/03/2020 Duration: 26minCopy and Paste Code, Tutorial Hell, Frontend Frameworks, GitHub Pull request Trolling and more --- Support this podcast: https://anchor.fm/hnasr/support
-
Episode 140 - Software Chat - Learning at Home, Consistent Hashing, Empathy with Engineers and More
21/03/2020 Duration: 18minNew software chat series let me know if you like it --- Support this podcast: https://anchor.fm/hnasr/support
-
Episode 139 - How to Become a Good Backend Engineer (Fundamentals)
19/03/2020 Duration: 26minIn this video, I discuss the path of becoming a backend engineer through concepts and fundamentals. These are not tools
-
Episode 138 - Firefox Implements DNS over HTTPS This is good but also might be bad
15/03/2020 Duration: 16minFireFox DNS over HTTPS is a great step to a more secure web however it is absolutely useless without this ESNI. I also discuss doh in this video, esni and why this might not be a good idea https://blog.mozilla.org/blog/2020/02/25/firefox-continues-push-to-bring-dns-over-https-by-default-for-us-users/ --- Support this podcast: https://anchor.fm/hnasr/support
-
Episode 137 - Active-Active vs Active-Passive Cluster Pros and Cons
15/03/2020 Duration: 11minIn this video I want to talk over the active active active vs active passive cluster configuration for high availability. We will also explain the pros & cons of using an active-active cluster vs using an active-passive cluster. --- Support this podcast: https://anchor.fm/hnasr/support
-
Episode 136 - Sidecar Proxy (Pros and Cons)
08/03/2020 Duration: 26minA sidecar proxy is an application design pattern which abstracts certain networking features, such as inter-service communications, monitoring and security, timeouts, retries, communication protocols, away from the main architecture to ease the maintenance of the application as a whole. In this video I’d like to talk about how we classically do things: Library Pattern getComments HTTP1:1/JSON Add features retries/timeout /hardcode the server name what it changed/add new server to load balance between them/credentials Sidecar pattern getComments HTTP/2 Sidecar proxy/container Examples Microservices (Linkerd, Envoy, Istio) Pros Language agnostic (polyglot) Protocol upgrade Security Tracing and Monitoring Service Discovery Caching Cons Complexity Latency SideCar Proxy must be layer 7 Library 2:25 Sidecar: 7:40 Example: 13:00 (https://www.youtube.com/watch?v=cp3Ku1XeOn8) Pros & Cons : 16:15 Cards 6:22 HTTP/2 10;50 Reverse Proxy / proxy ex
-
Episode 135 - mySQL 8.0 has a new feature called Atomic DDL and it is not what you think
05/03/2020 Duration: 06minMySQL 8.0 supports atomic Data Definition Language (DDL) statements. This feature is referred to as atomic DDL. An atomic DDL statement combines the data dictionary updates, storage engine operations, and binary log writes associated with a DDL operation into a single, atomic transaction. The transaction is either committed, with applicable changes persisted to the data dictionary, storage engine, and binary log, or is rolled back, even if the server halts during the operation. I discuss mySQL 8.0 atomic ddl compared to Postgres transactional ddl --- Support this podcast: https://anchor.fm/hnasr/support
-
Episode 134 - gRPC
29/02/2020 Duration: 01h19mingRPC (gRPC Remote Procedure Calls[1]) is an open source remote procedure call (RPC) system initially developed at Google in 2015[2]. It uses HTTP/2 for transport, Protocol Buffers as the message format. In this video I want to explore gRPC, go through examples, pros and cons of gRPC. Client/ Server communication SOAP HTTP (REST) WebSockets Client Libraries gRPC gRPC Demo todos gRPC Pros and Cons Pros Fast two/uni and request Unform One library to rule them all Progress feedback( long synchronous requests) drop pluggable wait...) cancel request All benefits of H2 and Protobuff Cons schema based (not everyone wants schema) Thick client - limited languages - Proxies still don’t understand it Still young Error handling No native browser support Timeouts, circuit breaker just like any RPC (pub/sub rules in this case) Can you create your own protocol? Spotify example with Hermes --- Support this podcast: https://anchor.fm/hnasr/support
-
Episode 133 - Firefox fixes a bug that prevented users from signing into the Royal Bank of Canada (73.1)
26/02/2020 Duration: 05minFirefox version 73.1 fixes a bug that prevented users from signing into Royal Canadian Bank (Firefox fixed a bug that prevented Canadians from signing in to their bank royal Canadian bank) what caused it? Lets get into it * Users will sign in and will get blank page. * Cause Beacon API and HTTP/2 * Bug has been there forever Sources https://bugzilla.mozilla.org/show_bug.cgi?id=1613943#c16