<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">
  <url>
    <loc>https://iamrusiru.lovable.app/</loc>
    <lastmod>2026-05-20</lastmod>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://iamrusiru.lovable.app/about</loc>
    <lastmod>2026-05-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://iamrusiru.lovable.app/contact</loc>
    <lastmod>2026-05-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://iamrusiru.lovable.app/privacy-policy</loc>
    <lastmod>2026-05-20</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://iamrusiru.lovable.app/cookie-policy</loc>
    <lastmod>2026-05-20</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://iamrusiru.lovable.app/post/cryptographic-failures</loc>
    <lastmod>2026-05-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://iamrusiru.lovable.app/assets/post-cryptographic-failures-DCB7eoDI.jpg</image:loc>
      <image:title>Cryptographic Failures: The OWASP A02 Risk Hiding in Your Code</image:title>
      <image:caption>Cryptographic failures are the silent data leaks behind most modern breaches. Here is what they are, why OWASP ranks them A02, and how I prevent them in production.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://iamrusiru.lovable.app/post/broken-access-control</loc>
    <lastmod>2026-05-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://iamrusiru.lovable.app/assets/post-broken-access-control-e98I9JDn.jpg</image:loc>
      <image:title>Broken Access Control: The OWASP Top 10's Most Dangerous Flaw</image:title>
      <image:caption>Broken access control is the number one OWASP risk because it is silent, easy to ship, and devastating to recover from. Here is how it happens, how attackers exploit it, and how I prevent it in production code.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://iamrusiru.lovable.app/post/work-life-balance-for-developers</loc>
    <lastmod>2026-05-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://iamrusiru.lovable.app/assets/post-work-life-balance-Bht9CaCg.jpg</image:loc>
      <image:title>Work-Life Balance for Developers: Why It Matters and How to Protect It</image:title>
      <image:caption>Work-life balance is the deliberate division of time and energy between professional work and personal life. For developers, it is the single biggest predictor of long-term productivity, mental health, and career longevity. Here is why it matters and how to actually protect it.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://iamrusiru.lovable.app/post/drupal-page-caching</loc>
    <lastmod>2026-05-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://iamrusiru.lovable.app/assets/post-drupal-caching-D1Vlciz1.jpg</image:loc>
      <image:title>Digging Deeper into Drupal Page Caching: A Developer's Guide</image:title>
      <image:caption>Drupal page caching stores fully rendered HTML for anonymous users so requests skip the bootstrap and database, often cutting response times from hundreds of milliseconds to under 50. Here is how the cache layers work, why they invalidate, and how to debug them in production.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://iamrusiru.lovable.app/post/code-review-security-platform</loc>
    <lastmod>2026-05-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://iamrusiru.lovable.app/assets/post-code-review-security-DLnpKqXT.jpg</image:loc>
      <image:title>Why Integrating a Code Review and Security Analysis Platform Is Essential for Clean Code</image:title>
      <image:caption>Integrating a code review and security analysis platform like SonarQube into your development lifecycle catches bugs early, prevents security vulnerabilities, and keeps your codebase maintainable as it scales.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://iamrusiru.lovable.app/post/vibe-coding</loc>
    <lastmod>2026-05-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://iamrusiru.lovable.app/assets/post-vibe-coding-Bvq9Yrp7.jpg</image:loc>
      <image:title>Vibe Coding: How AI Makes Coding Easier (And Why Clear Requirements Still Matter)</image:title>
      <image:caption>Vibe coding with AI tools like Copilot and ChatGPT can dramatically speed up development, but the quality of your output depends entirely on how clearly you define your requirements. Here is how to get the best of both worlds.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://iamrusiru.lovable.app/post/owasp-top-ten</loc>
    <lastmod>2026-05-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://iamrusiru.lovable.app/assets/post-owasp-DupiPNXs.jpg</image:loc>
      <image:title>OWASP Top 10: A Developer's Practical Guide</image:title>
      <image:caption>The OWASP Top 10 lists the most critical web application security risks. Every developer should understand these vulnerabilities and know how to prevent them. Here is a practical guide with code examples for each category.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://iamrusiru.lovable.app/post/clean-code-principles</loc>
    <lastmod>2026-05-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://iamrusiru.lovable.app/assets/post-clean-code-D2XSNVoK.jpg</image:loc>
      <image:title>Clean Code Principles Every Developer Should Know</image:title>
      <image:caption>Clean code is code that is easy to read, maintain, and extend. Here are the essential principles - meaningful names, single responsibility, avoiding magic numbers, DRY, tests as documentation, and the Boy Scout Rule.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://iamrusiru.lovable.app/post/switched-to-typescript</loc>
    <lastmod>2026-05-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://iamrusiru.lovable.app/assets/post-typescript-ORe6T8Vf.jpg</image:loc>
      <image:title>Why I Switched From JavaScript to TypeScript (And Never Looked Back)</image:title>
      <image:caption>TypeScript catches bugs at compile time that JavaScript misses at runtime, making refactoring fearless, onboarding faster, and codebases dramatically more maintainable. Here is why I switched and what changed.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://iamrusiru.lovable.app/post/cli-tool-rust</loc>
    <lastmod>2026-05-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://iamrusiru.lovable.app/assets/post-cli-rust-BdEyot1i.jpg</image:loc>
      <image:title>Building a CLI Tool in Rust: A Weekend Adventure</image:title>
      <image:caption>Rust is an excellent language for building fast, reliable CLI tools. I spent a weekend building a file organizer in Rust and learned about ownership, pattern matching, and error handling along the way.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://iamrusiru.lovable.app/post/books-better-engineer</loc>
    <lastmod>2026-05-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://iamrusiru.lovable.app/assets/post-books-engineer-lz25AFO2.jpg</image:loc>
      <image:title>The Books That Made Me a Better Engineer</image:title>
      <image:caption>The best books for software engineers are not all about code. Books on systems thinking, communication, and time management build mental models that directly improve how you design software and work with teams.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://iamrusiru.lovable.app/post/react-server-components</loc>
    <lastmod>2026-05-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://iamrusiru.lovable.app/assets/post-react-rsc-DfnbyIVE.jpg</image:loc>
      <image:title>React Server Components: What Actually Changes?</image:title>
      <image:caption>React Server Components run only on the server, reducing bundle size and simplifying data fetching. Here is how they work, when to use them, and what changes in your existing React applications.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://iamrusiru.lovable.app/post/fastapi-quickstart</loc>
    <lastmod>2026-05-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://iamrusiru.lovable.app/assets/post-fastapi-UqePWCrK.jpg</image:loc>
      <image:title>Setting Up a Python FastAPI Backend in 15 Minutes</image:title>
      <image:caption>FastAPI is a modern Python framework for building REST APIs with automatic validation, OpenAPI documentation, and database integration. This quickstart guide gets you from zero to a working API in 15 minutes.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://iamrusiru.lovable.app/post/side-projects-keep-me-sane</loc>
    <lastmod>2026-05-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://iamrusiru.lovable.app/assets/post-side-projects-DNb9GNuZ.jpg</image:loc>
      <image:title>Why Side Projects Keep Me Sane as a Developer</image:title>
      <image:caption>Side projects provide creative freedom that work constraints cannot offer. They let you experiment with new technologies, learn from failure without consequences, and rediscover the joy that got you into programming.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://iamrusiru.lovable.app/post/code-review-etiquette</loc>
    <lastmod>2026-05-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://iamrusiru.lovable.app/assets/post-code-review-BUIaoq5C.jpg</image:loc>
      <image:title>Code Review Etiquette: Being Kind and Thorough</image:title>
      <image:caption>Good code reviews build trust and improve code quality. Bad ones build resentment. Here are practical habits for giving constructive, respectful, and productive code review feedback.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://iamrusiru.lovable.app/post/dotfile-one-liners</loc>
    <lastmod>2026-05-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://iamrusiru.lovable.app/assets/post-dotfiles-CQMvM_C2.jpg</image:loc>
      <image:title>Useful One-Liners I Keep in My Dotfiles</image:title>
      <image:caption>Dotfiles are configuration files that customize your shell and development environment. Here is a curated list of bash aliases, git shortcuts, and utility scripts that save developers minutes every day.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://iamrusiru.lovable.app/post/burnout-and-recovery</loc>
    <lastmod>2026-05-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://iamrusiru.lovable.app/assets/post-burnout-GeJayjxC.jpg</image:loc>
      <image:title>Burnout, Recovery, and What I Learned</image:title>
      <image:caption>Developer burnout often feels like emptiness rather than exhaustion. Here is an honest account of what burnout felt like, how I recovered by setting firm boundaries, and the lessons that apply to every developer.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://iamrusiru.lovable.app/post/debugging-production</loc>
    <lastmod>2026-05-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://iamrusiru.lovable.app/assets/post-debugging-DuYpOeKj.jpg</image:loc>
      <image:title>The Art of Debugging in Production</image:title>
      <image:caption>Debugging production issues requires structured logging, systematic investigation, and a clear incident playbook. Here is what I have learned from years of on-call rotations about finding and fixing bugs in live systems.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://iamrusiru.lovable.app/post/git-workflow-tips</loc>
    <lastmod>2026-05-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://iamrusiru.lovable.app/assets/post-git-workflow-CKA2SCjC.jpg</image:loc>
      <image:title>Git Workflow Tips I Wish I Knew Earlier</image:title>
      <image:caption>Interactive rebase, bisect, and worktrees are powerful git features that most developers learn years too late. Here is how they work and how they transform version control workflows.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://iamrusiru.lovable.app/post/why-i-journal-as-dev</loc>
    <lastmod>2026-05-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://iamrusiru.lovable.app/assets/post-journaling-P4rcY6IV.jpg</image:loc>
      <image:title>Why I Keep a Developer Journal</image:title>
      <image:caption>A developer journal is a simple daily habit that compounds into one of the most valuable career tools you can build. Writing down what you learn each day improves performance reviews, reveals learning patterns, and speeds up debugging.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://iamrusiru.lovable.app/post/docker-compose-dev</loc>
    <lastmod>2026-05-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://iamrusiru.lovable.app/assets/post-docker-B7iSY497.jpg</image:loc>
      <image:title>Docker Compose for Local Development</image:title>
      <image:caption>Docker Compose lets you define your entire development stack in a single YAML file. One command replaces dozens of manual setup steps, reducing new developer onboarding from half a day to five minutes.</image:caption>
    </image:image>
  </url>
</urlset>