- Python – Decorators
Decorators, built up from the one fact that makes them possible: functions are objects. Writing one, passing arguments through it, why `functools.wraps` is not optional, and the built-in decorators you already use.
- Java 17 Pattern Matching for instanceof
Every instanceof check used to be followed by a cast to the type you had just checked for. Pattern matching folds the two into one, and the compiler tracks where the result is valid. It is a small change that removes a line from a very common shape. The old shape s is a pattern variable . It exists…
- iOS – State, @Observable and Data Flow
@State, @Binding, @Observable and @Environment: which one to reach for, and the rule that decides it. Why @Observable replaced ObservableObject and what it actually changed, @Bindable, and the line between state a screen owns and state the app owns — with the three stores this app has and the many it deliberately does not.
- Java 17 Text Blocks
A text block is a string literal delimited by three quotes that can span lines without escaping. It exists because embedded JSON, SQL and HTML were genuinely painful to read in Java, and the workarounds — concatenation, \n everywhere, external files — were all worse than the problem. The problem…
- Divide and Conquer
Split the problem into independent subproblems, solve each, combine. The word doing the work is independent — that is exactly what separates this from dynamic programming. Fast exponentiation, and counting inversions for free inside a merge.