- How to Solve Java Problems
Everyone gets stuck. The difference between an hour and a day is having a method instead of guessing. This post is that method — four steps, in order — plus the errors every Java beginner hits and what each one is really telling you. 1. Read the error. Actually read it. The most common mistake is…
- Backend Dev – Deployment and Observability
Code that only runs on your laptop is not finished. Building one artifact and configuring it per environment, secrets that are not in git, containers and what they actually fix, a deploy pipeline, health checks the load balancer can use, and logs, metrics and traces — enough to answer “is it broken and where” at 3am.
- Depth-First Search
Follow one path to its end, then back up and try the next. The same code as BFS with the queue swapped for a stack — the traversal strategy IS the container. Recursive and iterative forms, cycle detection, and how to choose between DFS and BFS.
- Terraform – A CI/CD Pipeline in GitHub Actions
Plan on the pull request, apply on merge, and no AWS keys stored anywhere. Configuring GitHub's OIDC provider and the IAM role it assumes, posting the plan as a PR comment, the image build and push to ECR, rolling the ECS service onto the new image, and the concurrency group that stops two applies running at once.
- React Native – Internals: Hermes, JSI and the New Architecture
How the thing actually works. JavaScript runs in Hermes; your components are not drawn by a web view but turned into real native views. The old asynchronous bridge, why it was the bottleneck, and what JSI, Fabric and TurboModules replaced it with. What the New Architecture changes in practice, why Hermes matters for startup time, and how to reason about the two threads when something feels slow.