# Thoughts & Stories

> Sharing my experiences, learnings, and adventures in tech and beyond.

URL: https://www.matthewswong.com/en/blog/

## Newest 40 of 816 articles

- [AI Agent Harness Engineering: What Research and Real Runs Show](https://www.matthewswong.com/en/blog/ai-agent-harness-engineering-research/)
- [How to Build an Accessible Website in Next.js (Beginners)](https://www.matthewswong.com/en/blog/cara-membuat-website-accessible-nextjs/)
- [How to Run the Node Test Runner in Next.js for Beginners](https://www.matthewswong.com/en/blog/cara-menjalankan-node-test-runner-nextjs/)
- [How to Write a CLAUDE.md File That Works in Claude Code](https://www.matthewswong.com/en/blog/cara-menulis-claude-md-yang-efektif/)
- [How Next.js Caching Works: Static, Dynamic and Revalidate](https://www.matthewswong.com/en/blog/cara-kerja-caching-rendering-nextjs-static-dynamic/)
- [How to Secure a Docker Container: 7 Steps for Beginners](https://www.matthewswong.com/en/blog/cara-mengamankan-container-docker/)
- [How to Improve Core Web Vitals in Next.js for Beginners](https://www.matthewswong.com/en/blog/cara-meningkatkan-core-web-vitals-nextjs/)
- [How to Roll Back a Docker Deploy on a VPS (Beginner Guide)](https://www.matthewswong.com/en/blog/cara-rollback-deploy-docker-di-vps/)
- [How to Build Next.js Middleware: Matcher, Redirect, Rewrite](https://www.matthewswong.com/en/blog/cara-membuat-middleware-nextjs/)
- [Docker Swarm vs Kubernetes: A Small Team Load Test Verdict](https://www.matthewswong.com/en/blog/docker-swarm-vs-kubernetes-small-team-load-test/)
- [ERP Expense Settlement Advance Reconciliation and Input VAT](https://www.matthewswong.com/en/blog/erp-expense-settlement-advance-reconciliation-input-vat/)
- [Integer vs Decimal Money Postgres: Two ERPs, Two Answers](https://www.matthewswong.com/en/blog/integer-rupiah-vs-numeric-decimal-postgres-erp/)
- [How to Deploy Docker Compose in Production for Beginners](https://www.matthewswong.com/en/blog/cara-deploy-docker-compose-production-vps/)
- [How to Turn a Plain Dockerfile into a Docker Multi-Stage Build](https://www.matthewswong.com/en/blog/cara-membuat-multi-stage-build-docker/)
- [ERP Contract Billing Schedule Down Payment Without Double Bills](https://www.matthewswong.com/en/blog/erp-contract-billing-schedule-down-payment-invoices/)
- [ERP Payroll Amendment Closed Period: Fix It Without Editing](https://www.matthewswong.com/en/blog/erp-payroll-amendment-correct-closed-period/)
- [How to Build an API in Next.js with Route Handlers (route.ts)](https://www.matthewswong.com/en/blog/cara-membuat-api-nextjs-route-handlers/)
- [How to Add SEO Metadata in the Next.js App Router for Beginners](https://www.matthewswong.com/en/blog/cara-membuat-seo-metadata-nextjs-app-router/)
- [How to Build a Playwright Smoke Test in GitHub Actions](https://www.matthewswong.com/en/blog/cara-smoke-test-playwright-github-actions/)
- [Server vs Client Components in Next.js: A Beginner Guide](https://www.matthewswong.com/en/blog/perbedaan-server-component-client-component-nextjs/)
- [How to View Docker Logs: Tail, Follow and Compose Guide](https://www.matthewswong.com/en/blog/cara-melihat-docker-logs-untuk-pemula/)
- [How to Create CI/CD with GitHub Actions: 7 Beginner Steps](https://www.matthewswong.com/en/blog/cara-membuat-ci-cd-github-actions-pemula/)
- [How to Fix Docker No Space Left on Device (7 Steps)](https://www.matthewswong.com/en/blog/cara-mengatasi-docker-no-space-left-on-device/)
- [How to Store Docker Secrets and Environment Variables Safely](https://www.matthewswong.com/en/blog/cara-simpan-secret-environment-variable-docker-aman/)
- [Learn Docker from Scratch: First Container in 6 Steps](https://www.matthewswong.com/en/blog/belajar-docker-dari-nol-panduan-pemula/)
- [How to Deploy Next.js to a VPS with Docker and GitHub Actions](https://www.matthewswong.com/en/blog/cara-deploy-nextjs-ke-vps-docker-github-actions/)
- [How to Log In to a VPS Over SSH and Secure It (Beginner Guide)](https://www.matthewswong.com/en/blog/cara-login-ssh-vps-aman-pemula/)
- [How to Set Up Nginx Reverse Proxy for Docker and Cloudflare](https://www.matthewswong.com/en/blog/cara-setting-nginx-reverse-proxy-docker-cloudflare/)
- [Backstage MCP Actions Backend: Secure AI Access to Your Portal](https://www.matthewswong.com/en/blog/backstage-mcp-actions-backend-ai-agents/)
- [State of FinOps 2026: What 98% Managing AI Spend Means](https://www.matthewswong.com/en/blog/state-of-finops-2026-ai-cost-management/)
- [OpenCost Inference Cost per Million Tokens for Self-Hosted vLLM](https://www.matthewswong.com/en/blog/opencost-inference-cost-per-million-tokens-vllm/)
- [Autoscale vLLM on Kubernetes with KEDA: Queue Depth, Not GPU %](https://www.matthewswong.com/en/blog/autoscale-vllm-keda-queue-depth-gpu-eks/)
- [Project Glasswing Patch Gap: 6,157 Disclosed, 516 Patched](https://www.matthewswong.com/en/blog/project-glasswing-patching-deficit-open-source/)
- [Cyber Resilience Act Reporting Obligations: A DevOps Runbook](https://www.matthewswong.com/en/blog/eu-cra-reporting-september-2026-devops-runbook/)
- [NIST AI Agent Standards Initiative: What CAISI Covers](https://www.matthewswong.com/en/blog/nist-ai-agent-standards-initiative-caisi/)
- [Stack Overflow Developer Survey 2026: AI Agent Trust](https://www.matthewswong.com/en/blog/stack-overflow-developer-survey-2026-ai-agent-trust/)
- [AI Code Review Bottleneck: What CMU and Stanford Measured](https://www.matthewswong.com/en/blog/ai-code-review-bottleneck-cmu-stanford-silent-approvals/)
- [AIBOM Hugging Face Study: 97,940 Models, Docs Missing](https://www.matthewswong.com/en/blog/aibom-completeness-hugging-face-models-ml-bom/)
- [Pickle Model Scanner Evasion: ShadowPickle and Safetensors](https://www.matthewswong.com/en/blog/shadowpickle-model-scanner-evasion-safetensors/)
- [PP 33/2026 Pelindungan Data Pribadi: A Developer Guide](https://www.matthewswong.com/en/blog/gr-33-2026-pdp-implementing-regulation-developers/)

Every article, with its summary: https://www.matthewswong.com/llms-full.txt

## Categories

- [DevOps](https://www.matthewswong.com/en/blog/category/devops/) (193)
- [AI](https://www.matthewswong.com/en/blog/category/ai/) (142)
- [Backend](https://www.matthewswong.com/en/blog/category/backend/) (102)
- [Web Dev](https://www.matthewswong.com/en/blog/category/web-dev/) (90)
- [ERP](https://www.matthewswong.com/en/blog/category/erp/) (77)
- [Security](https://www.matthewswong.com/en/blog/category/security/) (65)
- [Software Development](https://www.matthewswong.com/en/blog/category/software-development/) (58)
- [Cloud](https://www.matthewswong.com/en/blog/category/cloud/) (29)
- [Career](https://www.matthewswong.com/en/blog/category/career/) (28)
- [AI/ML](https://www.matthewswong.com/en/blog/category/ai-ml/) (18)
- [Product](https://www.matthewswong.com/en/blog/category/product/) (12)
- [University](https://www.matthewswong.com/en/blog/category/university/) (1)
- [Hackathon](https://www.matthewswong.com/en/blog/category/hackathon/) (1)

---

- HTML version: https://www.matthewswong.com/en/blog/
- Bahasa Indonesia: https://www.matthewswong.com/id/blog/
- Site index for agents: https://www.matthewswong.com/llms.txt
- Sitemap: https://www.matthewswong.com/sitemap.xml
- API description (OpenAPI): https://www.matthewswong.com/openapi.json
