- 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.
- 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.
- Android – Getting Started
What you actually need to build an Android app, what Gradle is doing on your behalf, and the anatomy of a project — settings, the version catalog, the app module, the manifest, one Activity. Ending with the app running on an emulator against a real backend, and why the emulator calls your Mac 10.0.2.2.
- Spring Study Guide – Core Spring
The container, and everything that lives in it. What dependency injection buys you, how an ApplicationContext starts and stops, the full bean lifecycle in the order it actually runs, the five scopes, component scanning, @Bean versus @Component, resolving ambiguity with @Qualifier and @Primary, profiles, @Value and SpEL, and the two proxy types Spring can create.
- Java 21 Migration Guide (17→21)
Java 17 to 21 is the easiest LTS upgrade in years. Nothing significant was removed, the language changes are additive, and most applications move with a version bump and a test run. This post covers the few things that do bite. If you are coming from Java 8 or 11 rather than 17, read the Java 17…