Polymath Engineer Weekly #84
Benchmarks, REPL, Gemini, Metaprogramming, CAP Theorem, Compiled React, WAL and Numbers
I have created a survey to get feedback from you. It is really short and anonymous. I would really appreciate if you take 2 minutes to help me make this site better.
Hello again. Let's try some new things this week.
Comic of the week
Links of the week
How can Rust be so fast in the TechEmpower Web Framework Benchmarks?
But, you should absolutely not expect that your typical Rust webApp will perform so well. I will say that it's just a matter of bad incentives. They are asked to pump the charts up, so they oblige.
Actually, when we look at how performs axum [postgresql - sqlx], which is the most idiomatic code that you can find among all the Rust implementations, it's one of the slowest framework, slower than most Go, PHP, Java, and even JavaScript implementations.
In this article, I will examine what sets a Lisp REPL apart from an interactive language shell and explore some of the opportunities a having access to a REPL offers. I will use Clojure in all of the examples, because that’s the Lisp I’m most familiar with.
The biggest question of all, though, is Google. Again, this is a company that should dominate AI, thanks to their research and their infrastructure. The biggest obstacle, though, above and beyond business model, is clearly culture. To that end, the nicest thing you can say about Google’s management is to assume that they, like me and everyone else, just want to build products and not be yelled at; that, though, is not leadership.
Borrow Checker, Lifetimes and Destructor Arguments in C++
In this post, we explored advanced C++ techniques for compile-time validation, focusing on stateful metaprogramming, destructor arguments, lifetimes, and borrow checking. These methods offer flexibility and extensibility, enhancing memory safety and error prevention.
However, they come with complexity and non-standardized approaches, potentially complicating code maintenance. Despite this, leveraging these techniques can significantly improve software quality.
Not practical at all, but a very insightful read…
The Role of CAP Theorem in Modern Day Distributed Systems
Daniel J. Abadi, then computer science professor at Yale University, even rewrote CAP as PACELC to illustrate this spectrum: “If there is a partition (P), how does the system trade off availability and consistency (A and C); else (E), when the system is running normally in the absence of partitions, how does the system trade off latency (L) and consistency (C)?”
My first experience doing React was in 2015. Babel and React were still fairly new to most devs. In a way, their popularity grew in tandem with each other. React is famously known for compiling JSX to function calls. So I guess React is technically compiled but I've always felt like it was a small syntax sugar and the semantics of one JSX element becoming a very predictable function means to me that it's a fairly "light" amount of compiling.
Today, we also compile TypeScript into JavaScript which to me is funny because in this case it just means all the TS that we write evaporates when we save and the code that's left is the JavaScript. But I guess it still meets my definition of "is what you write, what you get".
The Rest is History: Investigations of WAL History Files
In this discussion, we will explore a recovered database and trace the narrative embedded in the history files. By the conclusion, you will have gained a deeper insight into the functionality of these history files within Postgres, empowering you to address queries related to recovery processes and the database's historical journey (or may I call it the 'family tree').
Book of the Week
The Beauty of Numbers in Nature: Mathematical Patterns and Principles from the Natural World
Do you have any more links our community should read? Feel free to post them on the comments.
Have a nice week. 😉
Have you read last week's post? Check the archive.