- Java 25 Other Improvements
Java 25 is the current LTS. The features with their own posts — compact source files , gatherers and flexible constructors — are the visible ones. This collects what else arrived between 21 and 25. Scoped values A replacement for ThreadLocal , and the reason it exists is virtual threads . A…
- Backend Dev – HTTP and API Design
The contract you hand to every other team. What HTTP actually gives you — methods, status codes, headers, idempotency — how to shape URLs and payloads so they survive the next feature, why a DTO is not busywork, validating input at the edge, one error format for the whole API, pagination, and versioning before you need it.
- Heaps
A tree stored in a flat array with no references at all, kept ordered just enough that the minimum is always at index 0. Sift up, sift down, and why building a heap from an array is O(n) rather than O(n log n) — a genuinely counter-intuitive result.
- Angular – Testing
Testing a pipe, a directive, a guard and an HTTP interceptor. When you need `TestBed` and when `new MyPipe()` is the better test, hosting a directive to exercise its selector, `HttpTestingController` and why `verify()` matters, driving a debounced search with fake timers, and where Playwright takes over from unit tests.
- Docker – Multi-Platform Builds and exec format error
You build on an Apple Silicon Mac, you push, the server says `exec format error`. Why that happens, what buildx and QEMU do about it, `--platform` for one target and a manifest list for both, what emulated builds cost in time, and the `--platform=$BUILDPLATFORM` trick that makes a cross build fast again.