/Alex Kladov

Push Ifs Up And Fors Down tl;dr: The article presents two interdependent coding principles: (1) "Push Ifs Up" - move if conditions to the caller to simplify functions and enhance readability by centralizing control flow. This approach reduces bugs and makes code maintenance easier. (2) "Push Fors Down" - handle operations on batches of objects, not individually, for better performance and flexibility. This method is efficient, especially when combined with the first rule, as it streamlines processing and can enable advanced techniques like vectorization.

featured in #466


Rust Is A Scalable Language tl;dr: Rust is vertically scalable as you “can write all kinds of software in it,” as well as horizontally scalable - you “can easily parallelize development of large software artifacts across many people and teams.” Alex elaborates on both.

featured in #402


Zig And Rust tl;dr: I now find myself writing Zig full-time, after more than seven years of Rust. This post is a hand-wavy answer to the “why?” question. It is emphatically not a balanced and thorough comparison of the two languages.

featured in #401


Rust’s Ugly Syntax tl;dr: "People complain about Rust syntax. I think that most of the time when people think they have an issue with Rust’s syntax, they actually object to Rust’s semantics. In this slightly whimsical post, I’ll try to disentangle the two."

featured in #386


Hard Mode Rust tl;dr: "This post is a case study of writing a Rust application using only minimal, artificially constrained API (eg, no dynamic memory allocation). It assumes a fair bit of familiarity with the language."

featured in #358


Almost Rules tl;dr: "In this post, I’d want to catalog some of the cases I’ve seen in the Rust programming language where I think an internal boundaries were eroded with time."

featured in #334


Unit And Integration Tests tl;dr: "In this post I argue that integration-vs-unit is a confused, and harmful, distinction. I provide a more useful two-dimensional mental model instead. The model is descriptive (it allows to think more clearly about any test), but I also include my personal prescriptions."

featured in #332


ARCHITECTURE.md tl;dr: It takes 2x more time to write a patch if you are unfamiliar with the project, but 10x more time to figure out where to change the code. "ARCHITECTURE.md is a low-effort high-leverage way to bridge this gap." Aleksey gives us an example.

featured in #224


Why Not Rust? tl;dr: Although a Rust advocate, Aleksey argues the reasons not to use the language - you don't "ultimate performance" or control over hardware resources, it's complex, has a slow compile time, and more.

featured in #207