Links list - 2025-02-09

Hello, and welcome to a new post of Links lists! Hope you enjoy today's selection. 🙂

Mistakes engineers make in large established codebases

An interesting article about working in large, legacy codebases - something I have been doing for a living most of my career. All the article is very relatable for me. I especially love this quote:

So you should know how to work in the “legacy mess” because that’s what your company actually does. Good engineering or not, it’s your job.

Translating Java to Kotlin at Scale

Meta has been translating their Android codebase from Java to Kotlin using automated tooling, which they felt was necessary given their scale. It's a very interesting article and technique, but I wonder why they have such a massive Android code base - I was expecting more React Native and just not that much code to be honest.

Prototyping in Rust

Some simple but useful advice about how to "prototype fast" in Rust. I had already been using some of these ideas on my own projects lately (things like "just use String instead of &str and dealing with lifetimes"), but there's a lot here.

Compiler stuff

Type inference in C++ and Rust

A very interesting and extremely well written article, pointing out the differences in approach between C++ and Rust type inference. It's also a great explanation of why Rust does not have function overload.

Exponential time complexity in the Swift type checker

Another great article that I discovered while reading the previous one, and explains the various issues that the Swift type checker has due to some (questionable?) design decisions.

Why Swift’s Type Checker Is So Slow

And yet another article on the same topic.

SMBC - App

I love the SMBC web comic and I have been reading it for years. This strip was so on point - and so irritating - that I had to share it. 🤣