- Java 25 Module Imports & Simple Source Files
Java 25 finalised two changes aimed squarely at the first hour of learning Java: a program no longer needs a class declaration or a static main , and a single import can pull in a whole module. Together they make a first Java file three lines long. The first program, then and now That version asks…
- React – useMemo, useCallback and memo
Three tools that all do the same thing — skip work when nothing relevant changed — and are all easy to use wrongly. What each one actually caches, why memo does nothing until the props are stable, the cases that genuinely need them, and why the React Compiler may make all of this optional.
- Angular – State Management
Most Angular apps do not need a state library, and the ones that do should be able to say why. The demo app splits it deliberately: signal-based services injected from the root for the customer screens, NgRx for the admin section. What each is good at, what `createFeature` buys you, and why registering the store on a lazy route keeps it out of everyone else's download.
- Docker – Registries, Tagging and Pushing an Image
How an image gets from your laptop to a server. What a registry reference is really made of, `login` and `push`, Docker Hub versus ECR versus GHCR, a tagging scheme that survives a rollback, and why deploying `:latest` means you cannot answer the question "what is actually running?"
- Hasura – Securing It for Production
The checklist between a working Hasura and one you can put on the internet. Turning the console and introspection off, keeping the admin secret out of everything a client can read, why an unauthenticated request is not the same as a blocked one, restricting what the engine can reach at the database level, and the allow-list and rate-limiting features that need Enterprise — said plainly rather than assumed.