<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>https://muhammadamal.my.id/blog/end-to-end-industrial-ai-camera-dashboard/</loc><lastmod>2026-04-28T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/end-to-end-industrial-ai-camera-dashboard.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/</loc><lastmod>2026-04-28T09:00:00+07:00</lastmod><changefreq>daily</changefreq><priority>1</priority></url><url><loc>https://muhammadamal.my.id/tracks/programming/</loc><lastmod>2026-04-28T09:00:00+07:00</lastmod><changefreq>weekly</changefreq><priority>0.6</priority></url><url><loc>https://muhammadamal.my.id/tracks/</loc><lastmod>2026-04-28T09:00:00+07:00</lastmod><changefreq>weekly</changefreq><priority>0.6</priority></url><url><loc>https://muhammadamal.my.id/blog/</loc><lastmod>2026-04-28T09:00:00+07:00</lastmod><changefreq>daily</changefreq><priority>0.9</priority></url><url><loc>https://muhammadamal.my.id/blog/edge-vision-mqtt-integration/</loc><lastmod>2026-04-24T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/edge-vision-mqtt-integration.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/mqtt-qos-persistence-tuning/</loc><lastmod>2026-04-21T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/mqtt-qos-persistence-tuning.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/mqtt-cluster-optimization-environmental-monitoring/</loc><lastmod>2026-04-17T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/mqtt-cluster-optimization-environmental-monitoring.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/golang-sensor-event-processing/</loc><lastmod>2026-04-14T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/golang-sensor-event-processing.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/high-throughput-telemetry-pipeline-go/</loc><lastmod>2026-04-10T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/high-throughput-telemetry-pipeline-go.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/yolo-jetson-tensorrt-deployment/</loc><lastmod>2026-04-07T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/yolo-jetson-tensorrt-deployment.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/defect-detection-model-factory-floor/</loc><lastmod>2026-04-03T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/defect-detection-model-factory-floor.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/computer-vision-quality-control-industrial-edge/</loc><lastmod>2026-04-01T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/computer-vision-quality-control-industrial-edge.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/slo-error-budgets-ai-pipelines/</loc><lastmod>2026-03-27T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/slo-error-budgets-ai-pipelines.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/grafana-dashboards-as-code-terraform/</loc><lastmod>2026-03-24T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/grafana-dashboards-as-code-terraform.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/prometheus-grafana-alerting-dashboards/</loc><lastmod>2026-03-20T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/prometheus-grafana-alerting-dashboards.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/vector-search-load-testing/</loc><lastmod>2026-03-17T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/vector-search-load-testing.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/vector-database-performance-monitoring/</loc><lastmod>2026-03-13T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/vector-database-performance-monitoring.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/token-usage-cost-telemetry-opentelemetry/</loc><lastmod>2026-03-10T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/token-usage-cost-telemetry-opentelemetry.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/opentelemetry-genai-semantic-conventions/</loc><lastmod>2026-03-06T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/opentelemetry-genai-semantic-conventions.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/opentelemetry-llm-tracing/</loc><lastmod>2026-03-03T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/opentelemetry-llm-tracing.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/agentic-devops-guardrails-cost-controls/</loc><lastmod>2026-02-27T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/agentic-devops-guardrails-cost-controls.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/ai-generated-test-suites-agent-loops/</loc><lastmod>2026-02-24T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/ai-generated-test-suites-agent-loops.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/ai-driven-test-driven-development/</loc><lastmod>2026-02-20T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/ai-driven-test-driven-development.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/ai-reviewer-agent-pull-requests/</loc><lastmod>2026-02-17T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/ai-reviewer-agent-pull-requests.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/ai-code-review-pipeline-ci/</loc><lastmod>2026-02-13T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/ai-code-review-pipeline-ci.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/langgraph-checkpointing-human-in-the-loop/</loc><lastmod>2026-02-10T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/langgraph-checkpointing-human-in-the-loop.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/multi-agent-workflows-crewai/</loc><lastmod>2026-02-06T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/multi-agent-workflows-crewai.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/autonomous-engineering-squad-langgraph/</loc><lastmod>2026-02-03T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/autonomous-engineering-squad-langgraph.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/benchmarking-slm-latency-memory-edge/</loc><lastmod>2026-01-30T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/benchmarking-slm-latency-memory-edge.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/edge-model-footprint-pruning-distillation/</loc><lastmod>2026-01-27T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/edge-model-footprint-pruning-distillation.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/autonomous-agent-network-webassembly/</loc><lastmod>2026-01-23T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/autonomous-agent-network-webassembly.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/wasm-inference-runtime-edge-agents-rust/</loc><lastmod>2026-01-20T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/wasm-inference-runtime-edge-agents-rust.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/lora-fine-tuning-small-language-model/</loc><lastmod>2026-01-16T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/lora-fine-tuning-small-language-model.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/phi-4-mini-raspberry-pi-llama-cpp/</loc><lastmod>2026-01-13T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/phi-4-mini-raspberry-pi-llama-cpp.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/quantizing-slms-4-bit-gguf/</loc><lastmod>2026-01-09T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/quantizing-slms-4-bit-gguf.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/small-language-models-edge-2026/</loc><lastmod>2026-01-06T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/small-language-models-edge-2026.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/predictions-for-2026-the-post-agent-era-for-backend-engineers/</loc><lastmod>2025-12-19T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/predictions-for-2026-the-post-agent-era-for-backend-engineers.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/talking-to-executives-about-technical-risk-a-practical-framework/</loc><lastmod>2025-12-17T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/talking-to-executives-about-technical-risk-a-practical-framework.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/lessons-from-running-platform-engineering-teams-in-2025/</loc><lastmod>2025-12-15T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/lessons-from-running-platform-engineering-teams-in-2025.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/the-2025-technical-retrospective-agents-wasm-edge-ai-and-mcp/</loc><lastmod>2025-12-12T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/the-2025-technical-retrospective-agents-wasm-edge-ai-and-mcp.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/architecture-reviews-that-dont-waste-senior-time/</loc><lastmod>2025-12-10T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/architecture-reviews-that-dont-waste-senior-time.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/building-influence-without-authority-a-tech-leads-guide/</loc><lastmod>2025-12-08T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/building-influence-without-authority-a-tech-leads-guide.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/writing-adrs-that-actually-inform-decisions/</loc><lastmod>2025-12-05T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/writing-adrs-that-actually-inform-decisions.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/consultative-discovery-for-complex-software-architectures/</loc><lastmod>2025-12-03T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/consultative-discovery-for-complex-software-architectures.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/transitioning-to-technical-leadership-a-senior-engineers-playbook/</loc><lastmod>2025-12-01T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/transitioning-to-technical-leadership-a-senior-engineers-playbook.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/closing-the-loop-support-feedback-to-product-engineering/</loc><lastmod>2025-11-21T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/closing-the-loop-support-feedback-to-product-engineering.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/escalation-paths-and-runbooks-for-enterprise-support/</loc><lastmod>2025-11-19T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/escalation-paths-and-runbooks-for-enterprise-support.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/measuring-support-engineering-effectiveness-metrics-that-matter/</loc><lastmod>2025-11-17T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/measuring-support-engineering-effectiveness-metrics-that-matter.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/triage-automation-with-llms-and-zendesk-a-hands-on-tutorial/</loc><lastmod>2025-11-14T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/triage-automation-with-llms-and-zendesk-a-hands-on-tutorial.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/sla-driven-operations-for-tech-support-managers/</loc><lastmod>2025-11-12T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/sla-driven-operations-for-tech-support-managers.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/bridging-l3-engineers-and-enterprise-clients-a-tech-support-playbook/</loc><lastmod>2025-11-10T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/bridging-l3-engineers-and-enterprise-clients-a-tech-support-playbook.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/embedding-strategies-for-support-documentation-in-2025/</loc><lastmod>2025-11-07T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/embedding-strategies-for-support-documentation-in-2025.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/building-a-support-knowledge-base-from-zendesk-and-jira/</loc><lastmod>2025-11-05T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/building-a-support-knowledge-base-from-zendesk-and-jira.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/rag-systems-for-technical-support-teams-in-2025/</loc><lastmod>2025-11-03T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/rag-systems-for-technical-support-teams-in-2025.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/measuring-developer-experience-dora-space-backstage/</loc><lastmod>2025-10-29T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/measuring-developer-experience-dora-space-backstage.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/service-catalog-design-that-scales/</loc><lastmod>2025-10-27T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/service-catalog-design-that-scales.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/developer-onboarding-backstage-argocd-end-to-end/</loc><lastmod>2025-10-22T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/developer-onboarding-backstage-argocd-end-to-end.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/score-spec-workload-portability-2025/</loc><lastmod>2025-10-20T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/score-spec-workload-portability-2025.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/techdocs-at-scale-backstage-production-setup/</loc><lastmod>2025-10-15T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/techdocs-at-scale-backstage-production-setup.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/writing-custom-backstage-plugins-typescript/</loc><lastmod>2025-10-13T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/writing-custom-backstage-plugins-typescript.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/golden-paths-software-templates-backstage/</loc><lastmod>2025-10-08T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/golden-paths-software-templates-backstage.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/building-internal-developer-portal-backstage-1-34/</loc><lastmod>2025-10-06T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/building-internal-developer-portal-backstage-1-34.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/supply-chain-security-ai-models-signing-and-sbom/</loc><lastmod>2025-09-24T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/supply-chain-security-ai-models-signing-and-sbom.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/content-moderation-for-llms-llama-guard-3-2/</loc><lastmod>2025-09-22T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/content-moderation-for-llms-llama-guard-3-2.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/policy-as-code-opa-1-0-production-walkthrough/</loc><lastmod>2025-09-17T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/policy-as-code-opa-1-0-production-walkthrough.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/spiffe-spire-service-identity-hands-on-tutorial/</loc><lastmod>2025-09-15T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/spiffe-spire-service-identity-hands-on-tutorial.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/securing-rag-against-data-exfiltration-2025/</loc><lastmod>2025-09-10T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/securing-rag-against-data-exfiltration-2025.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/devsecops-ai-ml-pipelines-comprehensive-tutorial/</loc><lastmod>2025-09-08T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/devsecops-ai-ml-pipelines-comprehensive-tutorial.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/zero-trust-architectures-ai-services-step-by-step-setup/</loc><lastmod>2025-09-03T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/zero-trust-architectures-ai-services-step-by-step-setup.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/advanced-prompt-injection-defenses-2025-practical-guide/</loc><lastmod>2025-09-01T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/advanced-prompt-injection-defenses-2025-practical-guide.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/observability-for-n8n-2025-metrics-logs-traces/</loc><lastmod>2025-08-22T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/observability-for-n8n-2025-metrics-logs-traces.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/self-hosted-n8n-on-kubernetes-production-setup/</loc><lastmod>2025-08-20T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/self-hosted-n8n-on-kubernetes-production-setup.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/error-handling-and-retries-for-production-n8n-workflows/</loc><lastmod>2025-08-18T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/error-handling-and-retries-for-production-n8n-workflows.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/managing-secrets-and-credentials-in-n8n-for-enterprise/</loc><lastmod>2025-08-15T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/managing-secrets-and-credentials-in-n8n-for-enterprise.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/n8n-queue-mode-redis-at-scale-production-walkthrough/</loc><lastmod>2025-08-13T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/n8n-queue-mode-redis-at-scale-production-walkthrough.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/connecting-jira-cloud-to-internal-platforms-with-n8n/</loc><lastmod>2025-08-11T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/connecting-jira-cloud-to-internal-platforms-with-n8n.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/orchestrating-complex-enterprise-data-syncs-with-n8n/</loc><lastmod>2025-08-08T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/orchestrating-complex-enterprise-data-syncs-with-n8n.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/writing-custom-n8n-nodes-typescript-step-by-step-tutorial/</loc><lastmod>2025-08-06T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/writing-custom-n8n-nodes-typescript-step-by-step-tutorial.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/advanced-n8n-architecture-2025-queue-mode-worker-scaling/</loc><lastmod>2025-08-04T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/advanced-n8n-architecture-2025-queue-mode-worker-scaling.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/rate-limiting-resilience-patterns-modern-apis/</loc><lastmod>2025-07-30T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/rate-limiting-resilience-patterns-modern-apis.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/opentelemetry-grpc-go-production-walkthrough/</loc><lastmod>2025-07-28T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/opentelemetry-grpc-go-production-walkthrough.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/schema-first-api-development-with-buf/</loc><lastmod>2025-07-23T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/schema-first-api-development-with-buf.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/api-gateway-architectures-2025-envoy-gateway-kong/</loc><lastmod>2025-07-21T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/api-gateway-architectures-2025-envoy-gateway-kong.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/streaming-grpc-realtime-data-guide/</loc><lastmod>2025-07-16T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/streaming-grpc-realtime-data-guide.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/securing-internal-microservices-jwt-spiffe-2025/</loc><lastmod>2025-07-14T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/securing-internal-microservices-jwt-spiffe-2025.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/connect-go-browser-friendly-grpc-tutorial/</loc><lastmod>2025-07-09T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/connect-go-browser-friendly-grpc-tutorial.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/grpc-deep-dive-2025-high-throughput-patterns/</loc><lastmod>2025-07-07T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/grpc-deep-dive-2025-high-throughput-patterns.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/yugabytedb-for-global-apps/</loc><lastmod>2025-06-25T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/yugabytedb-for-global-apps.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/reading-pg-stat-io-and-modern-postgres-internals/</loc><lastmod>2025-06-23T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/reading-pg-stat-io-and-modern-postgres-internals.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/time-series-at-scale-with-timescaledb-hypertables/</loc><lastmod>2025-06-18T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/time-series-at-scale-with-timescaledb-hypertables.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/high-availability-postgres-with-patroni-4-0/</loc><lastmod>2025-06-16T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/high-availability-postgres-with-patroni-4-0.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/citus-for-sharded-multi-tenant-postgres/</loc><lastmod>2025-06-11T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/citus-for-sharded-multi-tenant-postgres.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/distributed-sql-with-cockroachdb-24-3/</loc><lastmod>2025-06-09T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/distributed-sql-with-cockroachdb-24-3.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/scaling-pgvector-to-billion-vector-workloads/</loc><lastmod>2025-06-04T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/scaling-pgvector-to-billion-vector-workloads.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/advanced-postgresql-17-tuning-at-scale/</loc><lastmod>2025-06-02T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/advanced-postgresql-17-tuning-at-scale.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/postmortem-automation-with-llms-drafts-that-dont-lie/</loc><lastmod>2025-05-23T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/postmortem-automation-with-llms-drafts-that-dont-lie.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/chaos-engineering-with-ai-augmented-hypotheses/</loc><lastmod>2025-05-21T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/chaos-engineering-with-ai-augmented-hypotheses.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/slos-and-burn-rate-alerting-in-2025-a-practical-guide/</loc><lastmod>2025-05-19T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/slos-and-burn-rate-alerting-in-2025-a-practical-guide.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/incident-response-automation-with-langgraph-a-step-by-step-tutorial/</loc><lastmod>2025-05-16T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/incident-response-automation-with-langgraph-a-step-by-step-tutorial.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/anomaly-detection-on-prometheus-metrics-a-hands-on-guide/</loc><lastmod>2025-05-14T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/anomaly-detection-on-prometheus-metrics-a-hands-on-guide.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/building-an-sre-copilot-for-on-call-engineers/</loc><lastmod>2025-05-12T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/building-an-sre-copilot-for-on-call-engineers.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/ai-driven-log-analysis-at-scale-a-production-tutorial/</loc><lastmod>2025-05-09T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/ai-driven-log-analysis-at-scale-a-production-tutorial.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/auto-remediation-pipelines-with-llm-agents-and-argo-events/</loc><lastmod>2025-05-07T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/auto-remediation-pipelines-with-llm-agents-and-argo-events.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/aiops-in-may-2025-what-actually-works-in-production/</loc><lastmod>2025-05-05T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/aiops-in-may-2025-what-actually-works-in-production.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/observability-edge-fleets-at-scale-patterns-that-work/</loc><lastmod>2025-04-30T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/observability-edge-fleets-at-scale-patterns-that-work.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/deploying-models-tflite-micro-constrained-devices/</loc><lastmod>2025-04-28T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/deploying-models-tflite-micro-constrained-devices.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/bridging-opc-ua-modbus-mqtt-go-step-by-step/</loc><lastmod>2025-04-23T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/bridging-opc-ua-modbus-mqtt-go-step-by-step.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/streaming-inference-pipelines-kafka-go-production-walkthrough/</loc><lastmod>2025-04-21T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/streaming-inference-pipelines-kafka-go-production-walkthrough.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/onnx-runtime-edge-devices-comprehensive-tutorial/</loc><lastmod>2025-04-16T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/onnx-runtime-edge-devices-comprehensive-tutorial.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/advanced-mqtt-clustering-emqx-5-8-production-guide/</loc><lastmod>2025-04-14T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/advanced-mqtt-clustering-emqx-5-8-production-guide.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/real-time-telemetry-processing-go-1-24-tutorial/</loc><lastmod>2025-04-09T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/real-time-telemetry-processing-go-1-24-tutorial.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/edge-ai-hardware-april-2025-jetson-coral-raspberry-pi-5-ai-hat/</loc><lastmod>2025-04-07T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/edge-ai-hardware-april-2025-jetson-coral-raspberry-pi-5-ai-hat.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/observability-for-multi-agent-systems-langsmith-and-phoenix-in-2025/</loc><lastmod>2025-03-26T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/observability-for-multi-agent-systems-langsmith-and-phoenix-in-2025.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/long-running-autonomous-agent-workflows-checkpoints-and-retries/</loc><lastmod>2025-03-24T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/long-running-autonomous-agent-workflows-checkpoints-and-retries.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/agent-to-agent-communication-protocols-choosing-the-right-one/</loc><lastmod>2025-03-19T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/agent-to-agent-communication-protocols-choosing-the-right-one.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/model-context-protocol-explained-building-mcp-servers-in-2025/</loc><lastmod>2025-03-17T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/model-context-protocol-explained-building-mcp-servers-in-2025.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/autogen-0-4-deep-dive-what-changed-and-how-to-use-it/</loc><lastmod>2025-03-12T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/autogen-0-4-deep-dive-what-changed-and-how-to-use-it.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/role-based-agent-teams-with-crewai-a-production-walkthrough/</loc><lastmod>2025-03-10T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/role-based-agent-teams-with-crewai-a-production-walkthrough.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/production-multi-agent-systems-with-langgraph-0-2-a-hands-on-tutorial/</loc><lastmod>2025-03-05T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/production-multi-agent-systems-with-langgraph-0-2-a-hands-on-tutorial.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/multi-agent-systems-in-2025-architecture-patterns-that-work/</loc><lastmod>2025-03-03T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/multi-agent-systems-in-2025-architecture-patterns-that-work.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/running-wasm-at-the-edge-cloudflare-workers-fastly-compute/</loc><lastmod>2025-02-26T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/running-wasm-at-the-edge-cloudflare-workers-fastly-compute.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/wasm-component-model-in-production-practical-walkthrough/</loc><lastmod>2025-02-24T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/wasm-component-model-in-production-practical-walkthrough.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/distributed-wasm-apps-with-wasmcloud-production-tutorial/</loc><lastmod>2025-02-19T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/distributed-wasm-apps-with-wasmcloud-production-tutorial.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/wasm-vs-docker-where-lightweight-container-story-holds-up/</loc><lastmod>2025-02-17T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/wasm-vs-docker-where-lightweight-container-story-holds-up.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/building-wasm-microservices-with-spin-hello-world-to-production/</loc><lastmod>2025-02-12T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/building-wasm-microservices-with-spin-hello-world-to-production.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/embedding-wasmtime-in-a-rust-host-hands-on-guide/</loc><lastmod>2025-02-10T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/embedding-wasmtime-in-a-rust-host-hands-on-guide.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/compiling-rust-to-wasm-with-cargo-component-step-by-step-tutorial/</loc><lastmod>2025-02-05T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/compiling-rust-to-wasm-with-cargo-component-step-by-step-tutorial.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/server-side-webassembly-february-2025-practical-survey/</loc><lastmod>2025-02-03T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/server-side-webassembly-february-2025-practical-survey.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/benchmarking-slms-for-your-use-case-lmeval-to-custom/</loc><lastmod>2025-01-29T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/benchmarking-slms-for-your-use-case-lmeval-to-custom.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/local-rag-with-slms-private-knowledge-without-cloud/</loc><lastmod>2025-01-27T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/local-rag-with-slms-private-knowledge-without-cloud.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/structured-output-and-function-calling-on-local-slms/</loc><lastmod>2025-01-22T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/structured-output-and-function-calling-on-local-slms.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/fine-tuning-slms-with-lora-and-qlora-hands-on/</loc><lastmod>2025-01-20T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/fine-tuning-slms-with-lora-and-qlora-hands-on.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/serving-slms-at-scale-with-vllm-production-guide/</loc><lastmod>2025-01-15T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/serving-slms-at-scale-with-vllm-production-guide.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/llama-cpp-deep-dive-quantization-gguf-inference-speed/</loc><lastmod>2025-01-13T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/llama-cpp-deep-dive-quantization-gguf-inference-speed.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/running-slms-locally-with-ollama-step-by-step/</loc><lastmod>2025-01-08T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/running-slms-locally-with-ollama-step-by-step.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/slm-landscape-january-2025-practical-survey/</loc><lastmod>2025-01-06T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/slm-landscape-january-2025-practical-survey.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/lessons-from-year-rust-postgres-ai-agents/</loc><lastmod>2024-12-20T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/lessons-from-year-rust-postgres-ai-agents.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/predictions-2025-platform-engineering-agentic-ai/</loc><lastmod>2024-12-18T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/predictions-2025-platform-engineering-agentic-ai.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/2024-wrap-up-agentic-era-backend-engineers/</loc><lastmod>2024-12-16T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/2024-wrap-up-agentic-era-backend-engineers.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/roadmaps-that-survive-contact-with-reality/</loc><lastmod>2024-12-13T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/roadmaps-that-survive-contact-with-reality.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/cost-justifying-platform-investments-cfo-friendly-pitch/</loc><lastmod>2024-12-11T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/cost-justifying-platform-investments-cfo-friendly-pitch.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/communicating-tradeoffs-non-engineers-without-dumbing-down/</loc><lastmod>2024-12-09T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/communicating-tradeoffs-non-engineers-without-dumbing-down.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/reading-the-room-politics-technical-decisions/</loc><lastmod>2024-12-06T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/reading-the-room-politics-technical-decisions.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/translating-business-impact-architecture-decisions/</loc><lastmod>2024-12-04T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/translating-business-impact-architecture-decisions.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/consultative-discovery-engineering-leaders-playbook/</loc><lastmod>2024-12-02T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/consultative-discovery-engineering-leaders-playbook.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/zero-downtime-postgres-migrations-in-2024/</loc><lastmod>2024-11-22T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/zero-downtime-postgres-migrations-in-2024.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/vacuum-and-bloat-management-for-busy-postgres-tables/</loc><lastmod>2024-11-20T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/vacuum-and-bloat-management-for-busy-postgres-tables.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/native-postgres-partitioning-patterns-that-hold-at-scale/</loc><lastmod>2024-11-18T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/native-postgres-partitioning-patterns-that-hold-at-scale.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/logical-replication-for-blue-green-postgres-deploys/</loc><lastmod>2024-11-15T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/logical-replication-for-blue-green-postgres-deploys.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/pgvector-tuning-in-2024-hnsw-and-ivfflat-in-production/</loc><lastmod>2024-11-13T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/pgvector-tuning-in-2024-hnsw-and-ivfflat-in-production.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/choosing-the-right-postgres-index-brin-gin-hnsw-ivfflat/</loc><lastmod>2024-11-11T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/choosing-the-right-postgres-index-brin-gin-hnsw-ivfflat.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/reading-explain-analyze-like-a-senior-dba/</loc><lastmod>2024-11-08T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/reading-explain-analyze-like-a-senior-dba.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/connection-pooling-with-pgbouncer-setup-that-survives-10k-clients/</loc><lastmod>2024-11-06T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/connection-pooling-with-pgbouncer-setup-that-survives-10k-clients.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/postgres-17-in-production-features-worth-using/</loc><lastmod>2024-11-04T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/postgres-17-in-production-features-worth-using.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/llm-red-teaming-practical-techniques-2024/</loc><lastmod>2024-10-30T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/llm-red-teaming-practical-techniques-2024.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/container-image-signing-cosign-sigstore-2024/</loc><lastmod>2024-10-28T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/container-image-signing-cosign-sigstore-2024.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/securing-rag-systems-against-data-exfiltration/</loc><lastmod>2024-10-23T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/securing-rag-systems-against-data-exfiltration.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/sast-semgrep-ai-triage-real-codebases/</loc><lastmod>2024-10-21T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/sast-semgrep-ai-triage-real-codebases.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/secrets-scanning-trufflehog-gitleaks-ci-2024/</loc><lastmod>2024-10-16T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/secrets-scanning-trufflehog-gitleaks-ci-2024.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/auto-remediation-cloud-security-findings/</loc><lastmod>2024-10-14T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/auto-remediation-cloud-security-findings.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/ai-assisted-detection-rules-sigma-yara-2024/</loc><lastmod>2024-10-09T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/ai-assisted-detection-rules-sigma-yara-2024.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/prompt-injection-defenses-llm-apps-2024/</loc><lastmod>2024-10-07T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/prompt-injection-defenses-llm-apps-2024.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/auditing-low-code-workflows-soc2-iso27001/</loc><lastmod>2024-09-25T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/auditing-low-code-workflows-soc2-iso27001.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/when-pro-code-wins-over-low-code-decision-matrix/</loc><lastmod>2024-09-23T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/when-pro-code-wins-over-low-code-decision-matrix.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/identity-federation-citizen-developers-keycloak-auth0/</loc><lastmod>2024-09-18T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/identity-federation-citizen-developers-keycloak-auth0.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/reusable-connectors-n8n-make-2024/</loc><lastmod>2024-09-16T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/reusable-connectors-n8n-make-2024.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/webhook-reliability-patterns-retries-idempotency-signatures/</loc><lastmod>2024-09-11T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/webhook-reliability-patterns-retries-idempotency-signatures.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/securely-exposing-enterprise-apis-citizen-developers/</loc><lastmod>2024-09-09T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/securely-exposing-enterprise-apis-citizen-developers.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/self-hosting-n8n-engineering-teams-2024/</loc><lastmod>2024-09-04T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/self-hosting-n8n-engineering-teams-2024.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/low-code-enterprise-pro-code-view/</loc><lastmod>2024-09-02T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/low-code-enterprise-pro-code-view.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/digital-twins-real-telemetry/</loc><lastmod>2024-08-23T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/digital-twins-real-telemetry.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/securing-ot-it-boundary/</loc><lastmod>2024-08-21T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/securing-ot-it-boundary.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/realtime-anomaly-detection-iiot/</loc><lastmod>2024-08-19T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/realtime-anomaly-detection-iiot.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/opcua-mqtt-kafka-bridging/</loc><lastmod>2024-08-16T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/opcua-mqtt-kafka-bridging.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/timeseries-timescale-influx-compared/</loc><lastmod>2024-08-14T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/timeseries-timescale-influx-compared.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/edge-ai-tflite-onnx-2024/</loc><lastmod>2024-08-12T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/edge-ai-tflite-onnx-2024.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/scaling-mqtt-emqx-hivemq/</loc><lastmod>2024-08-09T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/scaling-mqtt-emqx-hivemq.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/mqtt5-industrial-features/</loc><lastmod>2024-08-07T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/mqtt5-industrial-features.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/iiot-reference-architecture-2024/</loc><lastmod>2024-08-05T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/iiot-reference-architecture-2024.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/mtls-service-mesh-or-application-layer/</loc><lastmod>2024-07-24T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/mtls-service-mesh-or-application-layer.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/openapi-first-go-oapi-codegen/</loc><lastmod>2024-07-22T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/openapi-first-go-oapi-codegen.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/rate-limiting-redis-token-bucket-sliding-window/</loc><lastmod>2024-07-17T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/rate-limiting-redis-token-bucket-sliding-window.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/choosing-api-gateway-2024/</loc><lastmod>2024-07-15T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/choosing-api-gateway-2024.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/securing-go-microservices-jwt/</loc><lastmod>2024-07-10T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/securing-go-microservices-jwt.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/grpc-internal-services-go-buf/</loc><lastmod>2024-07-08T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/grpc-internal-services-go-buf.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/federated-graphql-apollo-router/</loc><lastmod>2024-07-03T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/federated-graphql-apollo-router.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/graphql-vs-rest-2024/</loc><lastmod>2024-07-01T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/graphql-vs-rest-2024.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/synthetic-monitoring-and-canary-deploys/</loc><lastmod>2024-06-26T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/synthetic-monitoring-and-canary-deploys.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/blameless-postmortems-that-actually-change-behavior/</loc><lastmod>2024-06-24T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/blameless-postmortems-that-actually-change-behavior.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/service-mesh-resilience-istio-ambient-vs-linkerd-2024/</loc><lastmod>2024-06-19T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/service-mesh-resilience-istio-ambient-vs-linkerd-2024.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/ebpf-plus-opentelemetry-observability-2024/</loc><lastmod>2024-06-17T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/ebpf-plus-opentelemetry-observability-2024.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/auto-remediation-kubernetes-argo-events-policy/</loc><lastmod>2024-06-12T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/auto-remediation-kubernetes-argo-events-policy.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/chaos-engineering-kubernetes-litmus-chaos-mesh-2024/</loc><lastmod>2024-06-10T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/chaos-engineering-kubernetes-litmus-chaos-mesh-2024.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/slos-error-budgets-engineers-actually-use/</loc><lastmod>2024-06-05T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/slos-error-budgets-engineers-actually-use.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/digital-immune-systems-for-engineers/</loc><lastmod>2024-06-03T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/digital-immune-systems-for-engineers.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/evaluating-llm-agents/</loc><lastmod>2024-05-24T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/evaluating-llm-agents.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/cost-control-for-llm-agents/</loc><lastmod>2024-05-22T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/cost-control-for-llm-agents.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/guardrails-for-llm-agents-2024/</loc><lastmod>2024-05-20T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/guardrails-for-llm-agents-2024.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/memory-for-ai-agents/</loc><lastmod>2024-05-17T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/memory-for-ai-agents.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/react-reflexion-planner-executor-agent-loops/</loc><lastmod>2024-05-15T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/react-reflexion-planner-executor-agent-loops.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/multi-agent-conversations-with-autogen/</loc><lastmod>2024-05-13T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/multi-agent-conversations-with-autogen.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/designing-tools-for-llm-agents/</loc><lastmod>2024-05-10T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/designing-tools-for-llm-agents.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/production-agents-langgraph-state-machines/</loc><lastmod>2024-05-08T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/production-agents-langgraph-state-machines.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/agentic-ai-landscape-may-2024/</loc><lastmod>2024-05-06T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/agentic-ai-landscape-may-2024.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/from-vs-code-to-neovim-in-30-days-a-senior-devs-migration-plan/</loc><lastmod>2024-04-24T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/from-vs-code-to-neovim-in-30-days-a-senior-devs-migration-plan.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/ai-assist-in-neovim-copilot-codeium-and-chatgpt-in-2024/</loc><lastmod>2024-04-22T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/ai-assist-in-neovim-copilot-codeium-and-chatgpt-in-2024.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/debugging-in-neovim-with-nvim-dap-go-and-python-in-2024/</loc><lastmod>2024-04-17T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/debugging-in-neovim-with-nvim-dap-go-and-python-in-2024.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/tmux-and-neovim-together-a-keyboard-only-workflow-that-sticks/</loc><lastmod>2024-04-15T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/tmux-and-neovim-together-a-keyboard-only-workflow-that-sticks.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/treesitter-for-real-refactoring-structural-edits-in-neovim/</loc><lastmod>2024-04-10T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/treesitter-for-real-refactoring-structural-edits-in-neovim.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/fast-code-navigation-in-neovim-telescope-and-fzf-lua-patterns/</loc><lastmod>2024-04-08T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/fast-code-navigation-in-neovim-telescope-and-fzf-lua-patterns.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/bootstrapping-neovim-with-lazy-nvim-and-mason-a-backend-dev-setup/</loc><lastmod>2024-04-03T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/bootstrapping-neovim-with-lazy-nvim-and-mason-a-backend-dev-setup.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/why-senior-developers-are-moving-to-neovim-in-2024/</loc><lastmod>2024-04-01T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/why-senior-developers-are-moving-to-neovim-in-2024.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/shipping-rust-kubernetes-distroless-docker-2024/</loc><lastmod>2024-03-27T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/shipping-rust-kubernetes-distroless-docker-2024.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/rust-service-observability-metrics-logs-traces-2024/</loc><lastmod>2024-03-25T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/rust-service-observability-metrics-logs-traces-2024.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/rust-shared-state-arc-mutex-channels-2024/</loc><lastmod>2024-03-20T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/rust-shared-state-arc-mutex-channels-2024.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/rust-webassembly-edge-wasmtime-wasi-2024/</loc><lastmod>2024-03-18T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/rust-webassembly-edge-wasmtime-wasi-2024.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/embedded-rust-embassy-no-std-2024/</loc><lastmod>2024-03-13T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/embedded-rust-embassy-no-std-2024.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/axum-http-service-tracing-2024/</loc><lastmod>2024-03-11T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/axum-http-service-tracing-2024.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/async-rust-tokio-patterns-2024/</loc><lastmod>2024-03-06T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/async-rust-tokio-patterns-2024.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/rust-production-2024-stack/</loc><lastmod>2024-03-04T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/rust-production-2024-stack.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/tracks/ai/</loc><lastmod>2024-02-26T09:00:00+07:00</lastmod><changefreq>weekly</changefreq><priority>0.6</priority></url><url><loc>https://muhammadamal.my.id/blog/rag-evaluation-ragas-trulens-deepeval/</loc><lastmod>2024-02-26T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/rag-evaluation-ragas-trulens-deepeval.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/rag-reranking-rrf-cohere-bge/</loc><lastmod>2024-02-21T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/rag-reranking-rrf-cohere-bge.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/rag-security-access-control-multi-tenant/</loc><lastmod>2024-02-19T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/rag-security-access-control-multi-tenant.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/hybrid-search-bm25-vectors-rag/</loc><lastmod>2024-02-14T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/hybrid-search-bm25-vectors-rag.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/rag-chunking-strategies-real-documents/</loc><lastmod>2024-02-12T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/rag-chunking-strategies-real-documents.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/embedding-models-2024-openai-cohere-open-source/</loc><lastmod>2024-02-07T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/embedding-models-2024-openai-cohere-open-source.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/vector-database-pinecone-qdrant-pgvector/</loc><lastmod>2024-02-05T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/vector-database-pinecone-qdrant-pgvector.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/naive-rag-failures-production-2024/</loc><lastmod>2024-02-02T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/naive-rag-failures-production-2024.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/argo-cd-applicationsets-self-service/</loc><lastmod>2024-01-29T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/argo-cd-applicationsets-self-service.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/score-workload-spec-platform/</loc><lastmod>2024-01-24T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/score-workload-spec-platform.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/developer-experience-metrics-dora-2024/</loc><lastmod>2024-01-22T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/developer-experience-metrics-dora-2024.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/service-catalog-backstage-design/</loc><lastmod>2024-01-17T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/service-catalog-backstage-design.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/crossplane-vs-terraform-platform-teams/</loc><lastmod>2024-01-15T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/crossplane-vs-terraform-platform-teams.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/golden-paths-self-service-developer-experience/</loc><lastmod>2024-01-10T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/golden-paths-self-service-developer-experience.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/internal-developer-platform-backstage-kubernetes/</loc><lastmod>2024-01-08T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/internal-developer-platform-backstage-kubernetes.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/platform-engineering-vs-devops-2024/</loc><lastmod>2024-01-03T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/platform-engineering-vs-devops-2024.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/2023-year-end-retrospective/</loc><lastmod>2023-12-28T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/2023-year-end-retrospective.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/2023-llm-tooling-retrospective/</loc><lastmod>2023-12-27T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/2023-llm-tooling-retrospective.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/event-storming-for-discovery/</loc><lastmod>2023-12-22T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/event-storming-for-discovery.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/decision-logs-and-async-leadership/</loc><lastmod>2023-12-20T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/decision-logs-and-async-leadership.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/rfcs-and-adrs-as-leadership-tools/</loc><lastmod>2023-12-18T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/rfcs-and-adrs-as-leadership-tools.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/managing-multidisciplinary-teams/</loc><lastmod>2023-12-13T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/managing-multidisciplinary-teams.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/discovery-questionnaires-and-the-mom-test/</loc><lastmod>2023-12-11T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/discovery-questionnaires-and-the-mom-test.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/consultative-discovery-for-software-projects/</loc><lastmod>2023-12-06T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/consultative-discovery-for-software-projects.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/from-senior-engineer-to-tech-lead/</loc><lastmod>2023-12-04T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/from-senior-engineer-to-tech-lead.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/llm-vendor-risk-failover-strategy/</loc><lastmod>2023-11-30T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/llm-vendor-risk-failover-strategy.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/langchain-lcel-vs-llamaindex-routing/</loc><lastmod>2023-11-28T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/langchain-lcel-vs-llamaindex-routing.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/claude-2-1-200k-context-comparison/</loc><lastmod>2023-11-24T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/claude-2-1-200k-context-comparison.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/llm-observability-monitoring-dashboard/</loc><lastmod>2023-11-22T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/llm-observability-monitoring-dashboard.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/rag-evaluation-pipeline-ci/</loc><lastmod>2023-11-20T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/rag-evaluation-pipeline-ci.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/hybrid-retrieval-pgvector-bm25/</loc><lastmod>2023-11-16T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/hybrid-retrieval-pgvector-bm25.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/securing-internal-llm-chatbot-data/</loc><lastmod>2023-11-14T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/securing-internal-llm-chatbot-data.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/openai-assistants-api-production-review/</loc><lastmod>2023-11-10T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/openai-assistants-api-production-review.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/gpt-4-turbo-128k-context-migration/</loc><lastmod>2023-11-08T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/gpt-4-turbo-128k-context-migration.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/internal-rag-chatbot-llamaindex/</loc><lastmod>2023-11-02T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/internal-rag-chatbot-llamaindex.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/repository-pattern-done-right-php-and-go/</loc><lastmod>2023-10-26T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/repository-pattern-done-right-php-and-go.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/decoupling-laravel-from-eloquent-without-fighting-the-framework/</loc><lastmod>2023-10-23T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/decoupling-laravel-from-eloquent-without-fighting-the-framework.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/dependency-injection-laravel-container-patterns/</loc><lastmod>2023-10-19T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/dependency-injection-laravel-container-patterns.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/domain-layer-purity-in-laravel-10/</loc><lastmod>2023-10-16T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/domain-layer-purity-in-laravel-10.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/ports-and-adapters-in-go-with-wire-and-fx/</loc><lastmod>2023-10-12T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/ports-and-adapters-in-go-with-wire-and-fx.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/hexagonal-architecture-explained-for-php-and-go-devs/</loc><lastmod>2023-10-09T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/hexagonal-architecture-explained-for-php-and-go-devs.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/clean-architecture-php-without-the-cult/</loc><lastmod>2023-10-05T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/clean-architecture-php-without-the-cult.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/upgrading-laravel-10-real-world-checklist/</loc><lastmod>2023-10-02T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/upgrading-laravel-10-real-world-checklist.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/pod-security-standards-migration/</loc><lastmod>2023-09-28T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/pod-security-standards-migration.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/slsa-provenance-build-attestations/</loc><lastmod>2023-09-25T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/slsa-provenance-build-attestations.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/opa-gatekeeper-admission-policy/</loc><lastmod>2023-09-21T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/opa-gatekeeper-admission-policy.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/falco-runtime-security-kubernetes/</loc><lastmod>2023-09-18T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/falco-runtime-security-kubernetes.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/vault-dynamic-secrets-kubernetes/</loc><lastmod>2023-09-14T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/vault-dynamic-secrets-kubernetes.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/sbom-syft-cyclonedx-pipeline/</loc><lastmod>2023-09-11T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/sbom-syft-cyclonedx-pipeline.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/sigstore-cosign-keyless-signing/</loc><lastmod>2023-09-07T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/sigstore-cosign-keyless-signing.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/trivy-container-scanning-pipeline/</loc><lastmod>2023-09-04T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/trivy-container-scanning-pipeline.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/iiot-backpressure-reliability-patterns/</loc><lastmod>2023-08-30T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/iiot-backpressure-reliability-patterns.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/opc-ua-to-mqtt-bridge/</loc><lastmod>2023-08-26T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/opc-ua-to-mqtt-bridge.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/edge-computing-k3s-iiot/</loc><lastmod>2023-08-23T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/edge-computing-k3s-iiot.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/kafka-for-iiot-ingestion/</loc><lastmod>2023-08-19T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/kafka-for-iiot-ingestion.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/timescaledb-vs-influxdb-sensor-storage/</loc><lastmod>2023-08-16T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/timescaledb-vs-influxdb-sensor-storage.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/telegraf-influxdb-mqtt-pipeline/</loc><lastmod>2023-08-12T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/telegraf-influxdb-mqtt-pipeline.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/emqx-5-clustering-for-iiot/</loc><lastmod>2023-08-09T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/emqx-5-clustering-for-iiot.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/tuning-mosquitto-2-at-scale/</loc><lastmod>2023-08-05T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/tuning-mosquitto-2-at-scale.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/choosing-mqtt-5-broker-iiot/</loc><lastmod>2023-08-02T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/choosing-mqtt-5-broker-iiot.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/rustls-vs-openssl-backend-tls/</loc><lastmod>2023-07-28T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/rustls-vs-openssl-backend-tls.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/axum-0-6-production-apis/</loc><lastmod>2023-07-25T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/axum-0-6-production-apis.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/error-handling-thiserror-anyhow/</loc><lastmod>2023-07-21T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/error-handling-thiserror-anyhow.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/building-secure-clis-clap-4/</loc><lastmod>2023-07-18T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/building-secure-clis-clap-4.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/async-rust-tokio-1-29/</loc><lastmod>2023-07-14T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/async-rust-tokio-1-29.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/memory-safety-without-gc/</loc><lastmod>2023-07-11T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/memory-safety-without-gc.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/ownership-borrowing-in-practice/</loc><lastmod>2023-07-07T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/ownership-borrowing-in-practice.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/why-rust-growing-fast-backend/</loc><lastmod>2023-07-04T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/why-rust-growing-fast-backend.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/cluster-cost-engineering-karpenter-keda/</loc><lastmod>2023-06-27T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/cluster-cost-engineering-karpenter-keda.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/advanced-github-actions-reusable-workflows-oidc/</loc><lastmod>2023-06-23T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/advanced-github-actions-reusable-workflows-oidc.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/backstage-internal-developer-platform-backbone/</loc><lastmod>2023-06-20T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/backstage-internal-developer-platform-backbone.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/progressive-delivery-argo-rollouts-flagger/</loc><lastmod>2023-06-16T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/progressive-delivery-argo-rollouts-flagger.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/fluxcd-vs-argocd-real-comparison/</loc><lastmod>2023-06-13T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/fluxcd-vs-argocd-real-comparison.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/kubernetes-1-27-multi-tenancy-patterns/</loc><lastmod>2023-06-09T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/kubernetes-1-27-multi-tenancy-patterns.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/argocd-applicationsets-scale-multi-tenant/</loc><lastmod>2023-06-06T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/argocd-applicationsets-scale-multi-tenant.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/platform-engineering-team-topologies-idp/</loc><lastmod>2023-06-02T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/platform-engineering-team-topologies-idp.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/unified-developer-productivity-dashboard/</loc><lastmod>2023-05-30T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/unified-developer-productivity-dashboard.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/n8n-vs-zapier-vs-power-automate-dev-teams/</loc><lastmod>2023-05-25T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/n8n-vs-zapier-vs-power-automate-dev-teams.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/slack-approval-flows-dev-backlogs/</loc><lastmod>2023-05-23T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/slack-approval-flows-dev-backlogs.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/jira-github-issues-two-way-sync/</loc><lastmod>2023-05-18T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/jira-github-issues-two-way-sync.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/auto-triage-pmo-tickets-openai-n8n/</loc><lastmod>2023-05-16T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/auto-triage-pmo-tickets-openai-n8n.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/github-actions-n8n-webhook-orchestration/</loc><lastmod>2023-05-11T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/github-actions-n8n-webhook-orchestration.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/linear-graphql-api-backlog-sync/</loc><lastmod>2023-05-09T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/linear-graphql-api-backlog-sync.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/jira-rest-api-v3-automation-patterns/</loc><lastmod>2023-05-04T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/jira-rest-api-v3-automation-patterns.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/n8n-self-hosted-dev-teams/</loc><lastmod>2023-05-02T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/n8n-self-hosted-dev-teams.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/langchain-framework-intro/</loc><lastmod>2023-04-27T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/langchain-framework-intro.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/chroma-local-prototyping/</loc><lastmod>2023-04-24T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/chroma-local-prototyping.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/weaviate-hybrid-search/</loc><lastmod>2023-04-20T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/weaviate-hybrid-search.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/milvus-self-hosted-production/</loc><lastmod>2023-04-17T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/milvus-self-hosted-production.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/semantic-search-from-scratch/</loc><lastmod>2023-04-13T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/semantic-search-from-scratch.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/embedding-models-deep-dive/</loc><lastmod>2023-04-10T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/embedding-models-deep-dive.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/pinecone-getting-started-pod-based/</loc><lastmod>2023-04-06T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/pinecone-getting-started-pod-based.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/vector-databases-landscape-2023/</loc><lastmod>2023-04-03T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/vector-databases-landscape-2023.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/testing-grpc-services-golang-testcontainers/</loc><lastmod>2023-03-30T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/testing-grpc-services-golang-testcontainers.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/observability-grpc-opentelemetry-golang/</loc><lastmod>2023-03-27T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/observability-grpc-opentelemetry-golang.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/connection-pooling-grpc-postgres-golang/</loc><lastmod>2023-03-20T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/connection-pooling-grpc-postgres-golang.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/grpc-interceptors-middleware-golang/</loc><lastmod>2023-03-16T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/grpc-interceptors-middleware-golang.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/context-deadlines-grpc-microservices/</loc><lastmod>2023-03-13T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/context-deadlines-grpc-microservices.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/golang-goroutine-patterns-microservices/</loc><lastmod>2023-03-09T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/golang-goroutine-patterns-microservices.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/grpc-streaming-rpcs-golang/</loc><lastmod>2023-03-06T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/grpc-streaming-rpcs-golang.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/grpc-basics-golang-microservices/</loc><lastmod>2023-03-02T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/grpc-basics-golang-microservices.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/typescript-5-0-beta-preview-decorators/</loc><lastmod>2023-02-27T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/typescript-5-0-beta-preview-decorators.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/type-safe-api-routes-nextjs-13/</loc><lastmod>2023-02-23T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/type-safe-api-routes-nextjs-13.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/typescript-strict-mode-config-worth-it/</loc><lastmod>2023-02-20T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/typescript-strict-mode-config-worth-it.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/react-server-components-nextjs-13/</loc><lastmod>2023-02-16T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/react-server-components-nextjs-13.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/nextjs-13-app-router-first-impressions/</loc><lastmod>2023-02-13T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/nextjs-13-app-router-first-impressions.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/typescript-4-9-satisfies-operator-patterns/</loc><lastmod>2023-02-09T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/typescript-4-9-satisfies-operator-patterns.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/migrating-large-javascript-codebase-typescript/</loc><lastmod>2023-02-06T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/migrating-large-javascript-codebase-typescript.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/why-typescript-winning-over-javascript-2023/</loc><lastmod>2023-02-02T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/why-typescript-winning-over-javascript-2023.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/llm-error-handling-retries/</loc><lastmod>2023-01-27T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/llm-error-handling-retries.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/llm-cost-control-token-budgets/</loc><lastmod>2023-01-24T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/llm-cost-control-token-budgets.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/streaming-llm-responses-sse/</loc><lastmod>2023-01-20T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/streaming-llm-responses-sse.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/few-shot-prompting-in-context/</loc><lastmod>2023-01-17T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/few-shot-prompting-in-context.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/prompt-engineering-basics-engineers/</loc><lastmod>2023-01-13T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/prompt-engineering-basics-engineers.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/openai-nodejs-integration-2023/</loc><lastmod>2023-01-10T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/openai-nodejs-integration-2023.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/openai-python-patterns-pitfalls/</loc><lastmod>2023-01-06T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/openai-python-patterns-pitfalls.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/why-llm-integration-backend-2023/</loc><lastmod>2023-01-03T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/why-llm-integration-backend-2023.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/engineering-productivity-metrics-2022/</loc><lastmod>2022-12-23T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/engineering-productivity-metrics-2022.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/ai-code-licensing-ip/</loc><lastmod>2022-12-21T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/ai-code-licensing-ip.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/ai-coding-tools-2022/</loc><lastmod>2022-12-19T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/ai-coding-tools-2022.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/codespaces-copilot-cloud-dev/</loc><lastmod>2022-12-16T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/codespaces-copilot-cloud-dev.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/copilot-for-tests-tdd/</loc><lastmod>2022-12-14T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/copilot-for-tests-tdd.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/ai-pair-programming-2022/</loc><lastmod>2022-12-12T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/ai-pair-programming-2022.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/reviewing-ai-suggested-code/</loc><lastmod>2022-12-09T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/reviewing-ai-suggested-code.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/copilot-prompt-style-comments/</loc><lastmod>2022-12-07T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/copilot-prompt-style-comments.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/what-copilot-is-good-at/</loc><lastmod>2022-12-05T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/what-copilot-is-good-at.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/a-year-with-github-copilot-in-production/</loc><lastmod>2022-12-02T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/a-year-with-github-copilot-in-production.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/november-retro-api-security/</loc><lastmod>2022-11-30T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/november-retro-api-security.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/backend-audit-logging/</loc><lastmod>2022-11-28T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/backend-audit-logging.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/input-validation-owasp-top-10/</loc><lastmod>2022-11-25T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/input-validation-owasp-top-10.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/csrf-defense-patterns/</loc><lastmod>2022-11-23T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/csrf-defense-patterns.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/cors-security/</loc><lastmod>2022-11-21T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/cors-security.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/api-keys-vs-oauth/</loc><lastmod>2022-11-18T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/api-keys-vs-oauth.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/redis-rate-limiting-distributed/</loc><lastmod>2022-11-16T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/redis-rate-limiting-distributed.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/rate-limiting-algorithms/</loc><lastmod>2022-11-14T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/rate-limiting-algorithms.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/oauth-21-vs-20/</loc><lastmod>2022-11-11T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/oauth-21-vs-20.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/refresh-tokens-revocation/</loc><lastmod>2022-11-09T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/refresh-tokens-revocation.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/jwt-for-sessions-usually-wrong/</loc><lastmod>2022-11-07T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/jwt-for-sessions-usually-wrong.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/jwt-done-right/</loc><lastmod>2022-11-04T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/jwt-done-right.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/backend-api-security-2022/</loc><lastmod>2022-11-02T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/backend-api-security-2022.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/october-retro-etl/</loc><lastmod>2022-10-31T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/october-retro-etl.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/etl-monitoring-lag-errors/</loc><lastmod>2022-10-28T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/etl-monitoring-lag-errors.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/etl-backfill-historical/</loc><lastmod>2022-10-26T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/etl-backfill-historical.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/postgres-bulk-loading-copy/</loc><lastmod>2022-10-24T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/postgres-bulk-loading-copy.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/debezium-postgres-cdc/</loc><lastmod>2022-10-21T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/debezium-postgres-cdc.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/kafka-sync-backbone/</loc><lastmod>2022-10-19T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/kafka-sync-backbone.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/etl-schema-drift/</loc><lastmod>2022-10-17T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/etl-schema-drift.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/etl-idempotent-watermarks/</loc><lastmod>2022-10-14T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/etl-idempotent-watermarks.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/go-etl-pipeline/</loc><lastmod>2022-10-12T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/go-etl-pipeline.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/python-etl-pipeline/</loc><lastmod>2022-10-10T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/python-etl-pipeline.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/postgres-logical-replication-cdc/</loc><lastmod>2022-10-07T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/postgres-logical-replication-cdc.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/cdc-vs-polling/</loc><lastmod>2022-10-05T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/cdc-vs-polling.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/lightweight-etl-vs-big-data/</loc><lastmod>2022-10-03T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/lightweight-etl-vs-big-data.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/september-retro-observability/</loc><lastmod>2022-09-30T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/september-retro-observability.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/prometheus-cardinality-cost/</loc><lastmod>2022-09-28T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/prometheus-cardinality-cost.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/error-budgets-burn-rate/</loc><lastmod>2022-09-26T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/error-budgets-burn-rate.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/slo-practice/</loc><lastmod>2022-09-23T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/slo-practice.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/tempo-distributed-tracing/</loc><lastmod>2022-09-21T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/tempo-distributed-tracing.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/promtail-pipelines-parsing/</loc><lastmod>2022-09-19T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/promtail-pipelines-parsing.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/loki-log-aggregation/</loc><lastmod>2022-09-16T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/loki-log-aggregation.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/prometheus-alertmanager/</loc><lastmod>2022-09-14T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/prometheus-alertmanager.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/grafana-dashboards-that-help/</loc><lastmod>2022-09-12T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/grafana-dashboards-that-help.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/node-prometheus-instrumentation/</loc><lastmod>2022-09-09T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/node-prometheus-instrumentation.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/go-prometheus-instrumentation/</loc><lastmod>2022-09-07T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/go-prometheus-instrumentation.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/prometheus-101-metrics-promql/</loc><lastmod>2022-09-05T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/prometheus-101-metrics-promql.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/observability-stack-2022/</loc><lastmod>2022-09-02T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/observability-stack-2022.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/august-retro-iiot/</loc><lastmod>2022-08-29T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/august-retro-iiot.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/mqtt-security-acls-certificates/</loc><lastmod>2022-08-26T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/mqtt-security-acls-certificates.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/iiot-anomaly-alerting/</loc><lastmod>2022-08-24T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/iiot-anomaly-alerting.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/grafana-iiot-dashboards/</loc><lastmod>2022-08-22T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/grafana-iiot-dashboards.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/opc-ua-mqtt-bridge/</loc><lastmod>2022-08-19T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/opc-ua-mqtt-bridge.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/sparkplug-b-industrial-ot/</loc><lastmod>2022-08-17T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/sparkplug-b-industrial-ot.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/mqtt-timescaledb-ingest/</loc><lastmod>2022-08-15T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/mqtt-timescaledb-ingest.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/go-sensor-reader-edge/</loc><lastmod>2022-08-12T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/go-sensor-reader-edge.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/sensor-data-schemas-json-protobuf-cbor/</loc><lastmod>2022-08-10T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/sensor-data-schemas-json-protobuf-cbor.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/self-host-mosquitto-tls-auth/</loc><lastmod>2022-08-08T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/self-host-mosquitto-tls-auth.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/mqtt-broker-comparison-mosquitto-emqx-hivemq/</loc><lastmod>2022-08-05T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/mqtt-broker-comparison-mosquitto-emqx-hivemq.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/mqtt-101-pub-sub-edge/</loc><lastmod>2022-08-03T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/mqtt-101-pub-sub-edge.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/why-industrial-iot-2022/</loc><lastmod>2022-08-01T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/why-industrial-iot-2022.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/july-retro-docker-compose/</loc><lastmod>2022-07-29T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/july-retro-docker-compose.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/docker-compose-vs-kubernetes-local/</loc><lastmod>2022-07-27T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/docker-compose-vs-kubernetes-local.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/docker-compose-ci-ephemeral-stacks/</loc><lastmod>2022-07-25T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/docker-compose-ci-ephemeral-stacks.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/docker-compose-resource-limits/</loc><lastmod>2022-07-22T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/docker-compose-resource-limits.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/docker-compose-build-vs-image/</loc><lastmod>2022-07-20T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/docker-compose-build-vs-image.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/docker-compose-networking/</loc><lastmod>2022-07-18T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/docker-compose-networking.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/docker-volumes-vs-bind-mounts/</loc><lastmod>2022-07-15T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/docker-volumes-vs-bind-mounts.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/docker-compose-watch-live-reload/</loc><lastmod>2022-07-13T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/docker-compose-watch-live-reload.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/compose-healthchecks-depends-on/</loc><lastmod>2022-07-11T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/compose-healthchecks-depends-on.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/docker-compose-env-secrets/</loc><lastmod>2022-07-08T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/docker-compose-env-secrets.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/docker-compose-profiles/</loc><lastmod>2022-07-06T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/docker-compose-profiles.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/multi-service-compose-polyglot/</loc><lastmod>2022-07-04T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/multi-service-compose-polyglot.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/beyond-docker-compose-up-2022-patterns/</loc><lastmod>2022-07-01T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/beyond-docker-compose-up-2022-patterns.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/june-retro-clean-architecture/</loc><lastmod>2022-06-29T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/june-retro-clean-architecture.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/clean-architecture-testing/</loc><lastmod>2022-06-27T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/clean-architecture-testing.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/eloquent-vs-domain-models/</loc><lastmod>2022-06-24T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/eloquent-vs-domain-models.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/laravel-service-container-di/</loc><lastmod>2022-06-22T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/laravel-service-container-di.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/laravel-9-clean-architecture/</loc><lastmod>2022-06-20T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/laravel-9-clean-architecture.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/go-adapter-pattern/</loc><lastmod>2022-06-17T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/go-adapter-pattern.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/go-use-case-pattern/</loc><lastmod>2022-06-15T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/go-use-case-pattern.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/go-repository-pattern/</loc><lastmod>2022-06-13T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/go-repository-pattern.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/go-domain-entities/</loc><lastmod>2022-06-10T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/go-domain-entities.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/go-dependency-injection-no-framework/</loc><lastmod>2022-06-08T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/go-dependency-injection-no-framework.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/clean-architecture-go-layout/</loc><lastmod>2022-06-06T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/clean-architecture-go-layout.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/clean-architecture-layers/</loc><lastmod>2022-06-03T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/clean-architecture-layers.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/why-clean-architecture-in-2022/</loc><lastmod>2022-06-01T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/why-clean-architecture-in-2022.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/may-retro-workflow-automation/</loc><lastmod>2022-05-30T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/may-retro-workflow-automation.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/n8n-monitoring-production/</loc><lastmod>2022-05-27T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/n8n-monitoring-production.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/n8n-security-credentials-oauth/</loc><lastmod>2022-05-25T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/n8n-security-credentials-oauth.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/n8n-slack-standup-bot/</loc><lastmod>2022-05-23T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/n8n-slack-standup-bot.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/n8n-error-handling-retries/</loc><lastmod>2022-05-20T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/n8n-error-handling-retries.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/webhooks-101-engineering-workflows/</loc><lastmod>2022-05-18T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/webhooks-101-engineering-workflows.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/notion-jira-sync-n8n/</loc><lastmod>2022-05-16T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/notion-jira-sync-n8n.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/slack-slash-commands-n8n/</loc><lastmod>2022-05-13T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/slack-slash-commands-n8n.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/jira-auto-assignment-github-events/</loc><lastmod>2022-05-11T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/jira-auto-assignment-github-events.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/n8n-jira-rest-api-v3/</loc><lastmod>2022-05-09T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/n8n-jira-rest-api-v3.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/n8n-workflow-basics-triggers-nodes/</loc><lastmod>2022-05-06T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/n8n-workflow-basics-triggers-nodes.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/self-host-n8n-docker-compose/</loc><lastmod>2022-05-04T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/self-host-n8n-docker-compose.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/why-build-internal-tools-with-n8n/</loc><lastmod>2022-05-02T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/why-build-internal-tools-with-n8n.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/april-retro-react-18-nextjs/</loc><lastmod>2022-04-29T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/april-retro-react-18-nextjs.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/nextjs-deployment-vercel-vs-self-hosted/</loc><lastmod>2022-04-27T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/nextjs-deployment-vercel-vs-self-hosted.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/nextjs-image-optimization/</loc><lastmod>2022-04-25T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/nextjs-image-optimization.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/nextjs-middleware-auth-redirects/</loc><lastmod>2022-04-22T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/nextjs-middleware-auth-redirects.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/nextjs-data-fetching-ssg-ssr-isr/</loc><lastmod>2022-04-20T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/nextjs-data-fetching-ssg-ssr-isr.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/nextjs-routing-pages-dynamic/</loc><lastmod>2022-04-18T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/nextjs-routing-pages-dynamic.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/cra-to-nextjs-12-migration/</loc><lastmod>2022-04-15T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/cra-to-nextjs-12-migration.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/upgrading-react-17-to-react-18/</loc><lastmod>2022-04-13T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/upgrading-react-17-to-react-18.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/react-18-useid-usesyncexternalstore/</loc><lastmod>2022-04-11T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/react-18-useid-usesyncexternalstore.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/react-18-automatic-batching/</loc><lastmod>2022-04-08T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/react-18-automatic-batching.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/react-suspense-data-fetching-2022/</loc><lastmod>2022-04-06T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/react-suspense-data-fetching-2022.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/react-concurrent-rendering-usetransition/</loc><lastmod>2022-04-04T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/react-concurrent-rendering-usetransition.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/react-18-changes-for-app-devs/</loc><lastmod>2022-04-01T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/react-18-changes-for-app-devs.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/march-retro-rust-backend/</loc><lastmod>2022-03-30T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/march-retro-rust-backend.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/rust-vs-go-backend-api/</loc><lastmod>2022-03-28T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/rust-vs-go-backend-api.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/rust-docker-image-small-distroless/</loc><lastmod>2022-03-25T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/rust-docker-image-small-distroless.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/rust-structured-logging-tracing/</loc><lastmod>2022-03-23T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/rust-structured-logging-tracing.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/rust-serde-json-patterns/</loc><lastmod>2022-03-21T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/rust-serde-json-patterns.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/rust-sqlx-postgres/</loc><lastmod>2022-03-18T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/rust-sqlx-postgres.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/rust-json-api-axum/</loc><lastmod>2022-03-16T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/rust-json-api-axum.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/async-rust-tokio-2022/</loc><lastmod>2022-03-14T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/async-rust-tokio-2022.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/cargo-workspaces-backend-services/</loc><lastmod>2022-03-11T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/cargo-workspaces-backend-services.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/rust-error-handling-result-thiserror/</loc><lastmod>2022-03-09T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/rust-error-handling-result-thiserror.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/rust-lifetimes-without-fear/</loc><lastmod>2022-03-07T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/rust-lifetimes-without-fear.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/rust-ownership-borrowing-for-go-devs/</loc><lastmod>2022-03-04T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/rust-ownership-borrowing-for-go-devs.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/why-learn-rust-in-2022/</loc><lastmod>2022-03-02T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/why-learn-rust-in-2022.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/github-actions-deploy-docker-staging/</loc><lastmod>2022-02-28T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/github-actions-deploy-docker-staging.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/github-actions-matrix-parallel-tests/</loc><lastmod>2022-02-25T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/github-actions-matrix-parallel-tests.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/github-actions-cache-buildkit/</loc><lastmod>2022-02-23T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/github-actions-cache-buildkit.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/github-actions-go-monorepo/</loc><lastmod>2022-02-21T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/github-actions-go-monorepo.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/postgres-multi-column-index-order/</loc><lastmod>2022-02-18T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/postgres-multi-column-index-order.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/postgres-partial-indexes/</loc><lastmod>2022-02-16T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/postgres-partial-indexes.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/postgres-index-types-btree-gin-gist-brin/</loc><lastmod>2022-02-14T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/postgres-index-types-btree-gin-gist-brin.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/pgbouncer-connection-pooling-postgres/</loc><lastmod>2022-02-11T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/pgbouncer-connection-pooling-postgres.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/postgres-autovacuum-tuning/</loc><lastmod>2022-02-09T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/postgres-autovacuum-tuning.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/postgres-memory-shared-buffers-work-mem/</loc><lastmod>2022-02-07T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/postgres-memory-shared-buffers-work-mem.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/postgres-query-planner-explain/</loc><lastmod>2022-02-04T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/postgres-query-planner-explain.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/postgres-performance-tuning-checklist/</loc><lastmod>2022-02-02T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/postgres-performance-tuning-checklist.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/lessons-containerizing-11-services/</loc><lastmod>2022-01-31T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/lessons-containerizing-11-services.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/shared-database-monolith-microservices/</loc><lastmod>2022-01-28T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/shared-database-monolith-microservices.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/go-docker-image-small-distroless/</loc><lastmod>2022-01-26T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/go-docker-image-small-distroless.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/go-graceful-shutdown-health-checks/</loc><lastmod>2022-01-24T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/go-graceful-shutdown-health-checks.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/go-structured-logging-zap/</loc><lastmod>2022-01-21T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/go-structured-logging-zap.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/go-config-management-viper-env-flags/</loc><lastmod>2022-01-19T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/go-config-management-viper-env-flags.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/docker-compose-polyglot-microservices/</loc><lastmod>2022-01-17T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/docker-compose-polyglot-microservices.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/grpc-vs-rest-go-microservices/</loc><lastmod>2022-01-14T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/grpc-vs-rest-go-microservices.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/microservice-boundaries-billing-module/</loc><lastmod>2022-01-12T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/microservice-boundaries-billing-module.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/monolith-to-first-go-microservice/</loc><lastmod>2022-01-10T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/monolith-to-first-go-microservice.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/multi-stage-docker-build-image-size/</loc><lastmod>2022-01-07T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/multi-stage-docker-build-image-size.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/production-dockerfile-php-monolith/</loc><lastmod>2022-01-05T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/production-dockerfile-php-monolith.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/blog/why-im-containerizing-my-monolith-in-2022/</loc><lastmod>2022-01-03T09:00:00+07:00</lastmod><changefreq>monthly</changefreq><priority>0.8</priority><image:image><image:loc>https://muhammadamal.my.id/images/blog/og/why-im-containerizing-my-monolith-in-2022.jpg</image:loc><image:title/></image:image></url><url><loc>https://muhammadamal.my.id/about/</loc><lastmod>2022-01-01T00:00:00+07:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://muhammadamal.my.id/privacy/</loc><lastmod>2022-01-01T00:00:00+07:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://muhammadamal.my.id/contact/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url></urlset>