controlflow

@controlflow.bsky.social

I work on JetBrains .NET IDEs (Rider & ReSharper) · Mostly about IDE tooling · Drones · 3D printing · Opinions are mine https://controlflow.github.io/

I'm writing another book, and the first few chapters are available through Manning Early Access now! For 50% off! hubs.la/Q03Q9PGP0 More details, and the story of how I came to write it, are on my blog at ericlippert.com/2025/10/30/i... It feels great to be writing again after a long break. :)

Fabulous Adventures in Data Structures and Algorithms - Eric Lippert

Author Eric Lippert introduces fabulous solutions using uncommon algorithms and data structures. There’s a lot more to algorithms than the useful-but-boring recipes you recite for every interview. Th...

hubs.la

Damn, it is hard to believe, but Java compiles the `switch` over the `String` values by using the runtime-provided `hashCode()` impl. Meaning it is not possible to change the `String.hashCode` impl w/o recompiling all the Java programs.

Bild

Before C# 14, there were just a few rare erasure conflicts in C#, like when u define overloads differing only by `ref` /`out`. With C# 14 extensions, we are one step closer to Java, with its stupid "have the same erasure" conflicts

Bild

Is `internal interface I` implementation in `public class C : I` is a part of the public API surface? Can u erase the `: I` without breaking the consumers? Given `public interface IPublic<T>`, what about `public class C : IPublic<I>`?

Periodic reminder to check your CPU thermal paste. Never use ancient thermal paste. Make sure the layer is thin and spreaded evenly. And don't be lazy like me, result: throttling is absent, -20°C, -900RPM on AIO fans...

beforeBildBild