controlflow's Avatar

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/

44 Followers  |  44 Following  |  5 Posts  |  Joined: 14.10.2023
Posts Following

Posts by controlflow (@controlflow.bsky.social)

Preview
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...

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. :)

30.10.2025 16:39 — 👍 47    🔁 17    💬 5    📌 0
Post image

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.

01.11.2025 13:29 — 👍 1    🔁 1    💬 0    📌 0
Preview
The Great Software Quality Collapse: How We Normalized Catastrophe The Apple Calculator leaked 32GB of RAM.

This was a great read. No idea how to get on top of this, perhaps pulling random people away from keyboards? Who knows!
techtrenches.substack.com/p/the-great-...

10.10.2025 20:39 — 👍 21    🔁 7    💬 2    📌 1
Preview
Compiler-generated collection class for collection expression is not debugger-friendly · Issue #80303 · dotnet/roslyn Version Used: C# 13, VS 17.14 Steps to Reproduce: IReadOnlyList<int> xs = [123]; IReadOnlyList<int> ys = [111, 222, 333]; Hover over xs and ys in the VS debugger. Expected Behavior: Experience simi...

Compiler-generated classes for C# 12 `[collection, expressions]` still look awful in the debugger, pls vote: github.com/dotnet/rosly...

16.09.2025 14:01 — 👍 0    🔁 0    💬 0    📌 0
Post image

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

07.09.2025 14:39 — 👍 0    🔁 1    💬 0    📌 0

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>`?

18.05.2025 15:11 — 👍 0    🔁 0    💬 0    📌 0
before

before

Post image Post image

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...

19.04.2025 19:41 — 👍 0    🔁 0    💬 0    📌 0