Issue #74
Curated list of blogs, videos, papers, podcasts on programming and distributed systems.
“Reality continues to ruin my life.”
― Bill Watterson
The third edition of the DSConf is here.
CFP and tickets are open and available here: https://dsconf.in
Posts
Libra’s cryptography engineering is unsound.
The libra project depends on several fairly new “wild west” libraries for building experimental cryptosystems that have only emerged in the last few years. It is impossible to say whether the dependencies on the following tools are secure or not as none of these libraries have had security audits nor do they have standard practice disclosure policies. Several core libraries in particular are indeterminate about their vulnerabilities to side channel and timing attacks. - #stephendiehl
Async-await on stable Rust!
So, what is async await? Async-await is a way to write functions that can "pause", return control to the runtime, and then pick up from where they left off. Typically those pauses are to wait for I/O, but there can be any number of uses. - #blog #rust-lang
System design hack: Postgres is a great pub/sub & job server
If you're making any project of sufficient complexity, you'll need a publish/subscribe server to process events. This article will introduce you to Postgres, explain the alternatives, and walk you through an example use case of pub/sub and its solution. - #layerci
Bad JSON parsers
Exposing problems in json parsers of several programming languages. #github
Parse, don’t validate
Alright, I’ll confess: unless you already know what type-driven design is, my catchy slogan probably doesn’t mean all that much to you. Fortunately, that’s what the remainder of this blog post is for. I’m going to explain precisely what I mean in gory detail - #lexi-lambda
My name causes an issue with any booking! (names end with MR and MRS)
This used to go just fine for 6 years now. Recently, another smart developer decided to prevent people with first name less than 2 characters from checking-in. I contacted the airlines to give them a simple solution. Either to prevent GDS from making bookings with names less than 2 characters, or remove the restriction on the name length during online check-in. Yet to be ignored again. - #travel #stackexchange
Time Series Prediction - A short introduction for pragmatists
Are you trying to predict time series but don't know where to start? This blog post will provide a comparison of the most prominent techniques and show you how to implement them. - #liip
Let's Create a Simple Load Balancer With Go
Load Balancers plays a key role in Web Architecture. They allow distributing load among a set of backends. This makes services more scalable. Also since there are multiple backends configured the service become highly available as load balancer can pick up a working server in case of a failure. - #kasvith #github
Incident Review: You Can’t Deploy Binaries That Don’t Exist
Between 22:50 and 22:54 UTC on July 9, our capacity to accept traffic to api.honeycomb.io gradually diminished until all incoming requests started to fail. 8 minutes later, at 23:02, the API server was once again running at full capacity. During the initial 4 minutes some requests were accepted and others refused, but for those 8 minutes all traffic bounced and we lost data sent to us. - #honeycomb
Reading list of Stroustrup
#stroustrup
Pros, cons and best practices with respect to data queues and distributed systems.
Videos
PyTorch at Tesla - Andrej Karpathy
How Tesla is using PyTorch to develop full self-driving capabilities for its vehicles, including AutoPilot and Smart Summon.
Confluent’s Journey Bringing Event Streaming to the Cloud
Ganesh Srinivasan, VP of Engineering at Confluent
Technical Challenges Developing a Distributed SQL Database
Neha Deodhar, Software Engineer at YugaByte