Polymath Engineer Weekly #73
Hiring, Browsers, C++, RAG, Moonshots, Orchestration, Design
Links of the week
Predictions are hard, and, inevitably, most of them turn out wrong. But we’d like to brave the scathing mockery of the internets and try anyway! Our courage is bolstered by some useful data we have (both proprietary and gathered from the internet), which we’ll use to guess what will happen in 2024 and to answer the question foremost in many of our minds: “When is hiring coming back?”
Right now, this information only exists on my device. But with a bit of luck, it will travel through time and space to your device, and appear on your screen.
The fact that this works is a marvel of engineering.
Consider Rust traits which solve similar problems to those of C++ concepts. Traits’s explicit opt-in semantics offers several advantages including separately type-checked generics. Should we add traits to C++? If we do so, we’ll end up with two ways to solve the same problem with millions of lines of code using the old way. Moreover, most developers will need to be familiar with both to be effective in a large, existing codebase, compounding C++'s learning costs.
This article looks at a Retrieval-Augmented Generation (RAG) pipeline through the eyes of a data scientist. It discusses potential “hyperparameters” you can experiment with to improve your RAG pipeline’s performance. Similar to experimentation in Deep Learning, where, e.g., data augmentation techniques are not a hyperparameter but a knob you can tune and experiment with, this article will also cover different strategies you can apply, which are not per se hyperparameters.
Google’s Android strategy was, without question, brilliant, particularly when you realize that the ultimate goal was to protect search. By making it “open source”, Google got all of the phone carriers desperate for an iOS alternative on board, ensuring that hated rival Microsoft was not the alternative to Apple as it had been on PCs; a modular approach, though, is inherently more fragmented — and Google didn’t just want an alternative to Apple, they wanted to beat them, particularly in the early days of the smartphone wars — so the company spun a web of contracts and incentives to ensure that Android was only really usable with Google’s services. For this the company was rightly found guilty of antitrust violations in the EU, and now, for similar reasons, in the U.S.
It makes less sense for a single piece of software to try to wrap up all those services. But Kubernetes seems to be trying. Here’s some perspective: K8s is, some people say, essentially Borg but with Docker Containers instead of Midas packages. Midas is neat, but it in turn relies on BigTable and Colossus, two huge Google services. And that’s just packages, the lowest level primitive in the system. It’s an, uh, ambitious starting point for a global open source standard.
Book of the Week
Do you have any more links our community should read? Feel free to post them on the comments.
Have a nice week. 😉