<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://norvilis.com/how-to-add-an-already-committed-file-to-gitignore/</loc>
<lastmod>2025-02-19T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/how-to-install-aur-packages-on-manjaro/</loc>
<lastmod>2025-02-19T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/eli5-compiled-language-vs-interpreted-language/</loc>
<lastmod>2025-03-15T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/creating-a-new-vue-app-with-vite/</loc>
<lastmod>2025-03-25T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/how-to-use-form-validations-in-dialog-with-nitrokit/</loc>
<lastmod>2025-05-26T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/after-merging-changes-on-github-sync-them-to-your-local-branch/</loc>
<lastmod>2025-11-16T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/add-tailwindcss-4-to-vite-react-app/</loc>
<lastmod>2025-11-19T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/cheat-sheet-for-a-javascript-developer-diving-into-typescript-for-the-first-time/</loc>
<lastmod>2025-11-21T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/model-classes-and-service-objects/</loc>
<lastmod>2025-11-22T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/the-solo-frontend-team-building-a-ui-system-in-pure-ruby/</loc>
<lastmod>2026-02-23T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/the-holy-trinity-ruby-bundler-and-gemfiles-explained/</loc>
<lastmod>2026-02-24T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/where-does-gem-install-actually-go-exploring-the-ruby-filesystem/</loc>
<lastmod>2026-02-25T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/ai-assistance-vs-vibe-coding-the-two-modes-of-modern-development/</loc>
<lastmod>2026-02-26T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/stop-building-settings-pages-a-guide-to-ruthless-mvp-scoping/</loc>
<lastmod>2026-02-27T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/dear-future-me-how-to-write-code-you-won-t-hate-in-6-months/</loc>
<lastmod>2026-02-28T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/stop-using-net-http-a-guide-to-modern-ruby-requests/</loc>
<lastmod>2026-03-01T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/tdd-is-a-luxury-pragmatic-testing-for-the-solo-developer/</loc>
<lastmod>2026-03-02T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/why-i-stopped-using-docker-in-development/</loc>
<lastmod>2026-03-03T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/the-magic-of-lvh-me-testing-rails-subdomains-in-development/</loc>
<lastmod>2026-03-04T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/the-missing-macro-3-ways-to-belongs-to-through-in-rails/</loc>
<lastmod>2026-03-05T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/the-saas-architecture-guide-how-to-handle-multitenancy-in-rails-routing/</loc>
<lastmod>2026-03-06T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/the-faster-way-to-scrape-finding-hidden-apis-in-modern-websites/</loc>
<lastmod>2026-03-07T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/the-ultimate-ruby-scraping-stack-from-nokogiri-to-ferrum/</loc>
<lastmod>2026-03-08T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/ruby-vs-python-why-i-choose-happiness-over-hype/</loc>
<lastmod>2026-03-09T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/you-are-writing-regex-wrong-a-guide-to-ruby-s-best-hidden-feature/</loc>
<lastmod>2026-03-10T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/how-hotwire-restored-my-sanity-in-web-development/</loc>
<lastmod>2026-03-11T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/not-just-html-scraping-data-from-messy-pdfs/</loc>
<lastmod>2026-03-12T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/why-i-switched-from-rspec-to-minitest-rails-default/</loc>
<lastmod>2026-03-13T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/the-renaissance-of-the-one-person-framework-why-rails-is-more-relevant-than-ever/</loc>
<lastmod>2026-03-14T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/why-you-should-stop-just-posting-on-dev-to-and-where-to-go-instead/</loc>
<lastmod>2026-03-15T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/the-middle-of-nowhere-demystifying-middleware-in-rails/</loc>
<lastmod>2026-03-16T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/stop-building-ugly-admin-panels-why-avo-is-the-future-of-rails-admins/</loc>
<lastmod>2026-03-17T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/stripe-connect-simplified-routing-payments-in-your-rails-app/</loc>
<lastmod>2026-03-18T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/is-it-worth-becoming-a-rails-developer-in-2026-the-honest-truth/</loc>
<lastmod>2026-03-19T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/how-to-use-activerecord-without-rails/</loc>
<lastmod>2026-03-20T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/the-graphql-goldmine-how-to-reverse-engineer-apis-for-scraping/</loc>
<lastmod>2026-03-21T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/the-ruby-browser-war-playwright-vs-ferrum-2026-edition/</loc>
<lastmod>2026-03-22T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/taking-a-monthly-cut-rails-stripe-connect-and-recurring-billing/</loc>
<lastmod>2026-03-23T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/if-you-love-ruby-but-need-more-speed-elixir-vs-crystal/</loc>
<lastmod>2026-03-24T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/stop-fearing-devops-a-rails-developer-s-guide-to-docker/</loc>
<lastmod>2026-03-25T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/why-i-stopped-using-bootstrap-and-moved-to-tailwind-css/</loc>
<lastmod>2026-03-26T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/my-favorite-rails-productivity-gem-annotate-models/</loc>
<lastmod>2026-03-27T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/a-beginner-s-guide-to-clickhouse-in-ruby-on-rails/</loc>
<lastmod>2026-03-28T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/rails-vs-laravel-vs-django-vs-nestjs-why-i-still-choose-ruby/</loc>
<lastmod>2026-03-29T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/the-ruby-on-rails-job-market-in-2026-why-it-s-better-than-ever/</loc>
<lastmod>2026-03-30T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/the-secret-to-fast-web-scraping-finding-internal-json-apis/</loc>
<lastmod>2026-03-31T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/hotwire-vs-inertia-js-which-one-should-you-use-in-rails/</loc>
<lastmod>2026-04-01T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/ditch-node-js-a-simple-guide-to-rails-importmaps/</loc>
<lastmod>2026-04-02T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/the-ultimate-showdown-rails-8-vs-phoenix-liveview/</loc>
<lastmod>2026-04-03T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/how-to-use-rails-magic-methods-in-plain-ruby-scripts/</loc>
<lastmod>2026-04-04T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/stop-using-rvm-the-ultimate-guide-to-ruby-version-managers/</loc>
<lastmod>2026-04-05T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/why-ruby-on-rails-is-the-secret-weapon-for-ai-startups/</loc>
<lastmod>2026-04-06T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/the-ultimate-guide-to-universal-linux-apps-snap-flatpak-and-appimage/</loc>
<lastmod>2026-04-07T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/how-to-accept-crypto-payments-in-your-rails-8-app/</loc>
<lastmod>2026-04-08T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/adonisjs-vs-ruby-on-rails-which-mvc-framework-wins/</loc>
<lastmod>2026-04-09T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/the-easiest-way-to-add-drag-and-drop-to-your-rails-app/</loc>
<lastmod>2026-04-10T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/building-a-world-class-search-engine-in-rails-with-searchkick/</loc>
<lastmod>2026-04-11T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/how-to-fix-n-1-queries-in-rails-like-a-pro/</loc>
<lastmod>2026-04-12T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/stop-ai-spaghetti-enforcing-rails-architecture-in-2026/</loc>
<lastmod>2026-04-13T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/wise-testing-what-to-test-and-ignore-as-a-solo-rails-developer/</loc>
<lastmod>2026-04-14T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/pundit-vs-cancancan-vs-action-policy-which-rails-auth-gem-wins/</loc>
<lastmod>2026-04-15T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/it-looks-like-ruby-but-it-s-not-how-to-understand-elixir/</loc>
<lastmod>2026-04-16T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/how-to-build-a-custom-affiliate-system-in-ruby-on-rails/</loc>
<lastmod>2026-04-17T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/making-sense-of-javascript-in-rails-webpack-rollup-esbuild-and-importmaps/</loc>
<lastmod>2026-04-18T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/how-i-built-a-native-android-app-with-zero-kotlin-experience/</loc>
<lastmod>2026-04-19T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/how-to-add-a-visual-page-builder-to-your-rails-app-in-10-minutes/</loc>
<lastmod>2026-04-20T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/how-turbo-8-morphing-makes-rails-frontend-development-feel-like-magic/</loc>
<lastmod>2026-04-21T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/how-to-actually-get-hired-on-upwork-as-a-rails-developer/</loc>
<lastmod>2026-04-23T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/laravel-for-rails-devs-how-to-learn-the-sister-framework-in-a-weekend/</loc>
<lastmod>2026-04-24T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/the-developer-s-hardware-wallet-a-review-of-the-onekey-classic-1s/</loc>
<lastmod>2026-04-25T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/oop-vs-functional-programming-explained-for-dummies/</loc>
<lastmod>2026-04-26T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/rails-8-how-to-auto-generate-social-media-preview-cards/</loc>
<lastmod>2026-04-27T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/stop-using-ugly-browser-alerts-custom-turbo-confirms-in-rails-8/</loc>
<lastmod>2026-04-28T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/the-language-of-the-web-http-basics-you-actually-need-to-know/</loc>
<lastmod>2026-04-29T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/the-secret-to-side-by-side-gem-development-in-rails/</loc>
<lastmod>2026-04-30T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/the-importmap-guide-to-shadcn-beautiful-ui-with-zero-build-step/</loc>
<lastmod>2026-05-01T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/high-roi-testing-the-3-secrets-every-solo-rails-dev-needs/</loc>
<lastmod>2026-05-02T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/how-to-build-a-desktop-app-with-rails-8-and-electron/</loc>
<lastmod>2026-05-03T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/images-volumes-and-containers-docker-explained-in-plain-english/</loc>
<lastmod>2026-05-05T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/build-your-own-cloud-empire-hosting-unlimited-rails-apps-with-kamal-2/</loc>
<lastmod>2026-05-06T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/stop-fearing-oop-a-simple-guide-to-ruby-classes-for-beginners/</loc>
<lastmod>2026-05-07T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/hotwire-native-vs-nativephp-how-web-frameworks-are-conquering-mobile-and-desktop/</loc>
<lastmod>2026-05-08T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/10-crypto-disasters-that-shook-the-world-and-what-they-teach-coders/</loc>
<lastmod>2026-05-09T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/killing-the-password-how-to-add-passkeys-to-your-rails-8-app/</loc>
<lastmod>2026-05-10T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/the-solo-developer-s-secret-weapon-self-hosted-automation-with-n8n/</loc>
<lastmod>2026-05-11T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/stop-leaking-api-keys-managing-secrets-in-kamal-2/</loc>
<lastmod>2026-05-12T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/background-ai-using-solid-queue-for-slow-openai-api-calls/</loc>
<lastmod>2026-05-13T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/stop-paying-for-vector-databases-how-to-build-ai-search-in-postgres/</loc>
<lastmod>2026-05-14T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/why-i-stopped-using-stripe-the-case-for-merchant-of-records-mor/</loc>
<lastmod>2026-05-14T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/the-magic-of-turbo-frames-infinite-pagination-in-pure-html/</loc>
<lastmod>2026-05-15T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/ditching-redis-how-to-handle-websockets-in-rails-8-with-solid-cable/</loc>
<lastmod>2026-05-16T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/build-once-launch-ten-times-the-rails-engine-saas-strategy/</loc>
<lastmod>2026-05-17T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/rails-8-built-in-auth-vs-devise-why-the-default-finally-wins/</loc>
<lastmod>2026-05-18T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/completing-the-puzzle-adding-signup-and-password-resets-to-rails-8-auth/</loc>
<lastmod>2026-05-19T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/the-perfect-zsh-setup-oh-my-zsh-on-cachyos-arch/</loc>
<lastmod>2026-05-20T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/the-vibe-coder-s-survival-guide-concepts-you-can-t-just-prompt-away/</loc>
<lastmod>2026-05-21T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/distributed-uniqueness-implementing-twitter-snowflake-ids-in-rails-8/</loc>
<lastmod>2026-05-23T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/n8n-vs-bytechef-which-automation-engine-should-you-self-host/</loc>
<lastmod>2026-05-24T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/stop-chasing-hype-why-i-chose-postgres-over-new-age-databases/</loc>
<lastmod>2026-05-27T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/the-better-primary-key-a-guide-to-ulids-for-rails-developers/</loc>
<lastmod>2026-05-27T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/stop-making-ugly-apps-simple-tailwind-tricks-for-backend-developers/</loc>
<lastmod>2026-05-28T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/uuid-v7-vs-ulid-which-sortable-id-should-you-choose/</loc>
<lastmod>2026-05-29T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/from-erb-to-phlex-5-steps-to-pure-ruby-views/</loc>
<lastmod>2026-05-30T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/count-length-or-size-avoiding-activerecord-performance-traps/</loc>
<lastmod>2026-05-31T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/the-developer-s-way-to-track-traffic-self-hosting-ackee-or-plausible/</loc>
<lastmod>2026-06-01T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/stop-using-js-for-everything-harnessing-the-power-of-pure-css-in-2026/</loc>
<lastmod>2026-06-02T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/from-coder-to-architect-how-to-learn-rails-when-ai-writes-the-code/</loc>
<lastmod>2026-06-03T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/the-5-vps-reality-my-honest-math-on-moving-to-kamal-2/</loc>
<lastmod>2026-06-04T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/mvt-vs-mvc-understanding-django-through-a-rails-lens/</loc>
<lastmod>2026-06-05T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/the-ai-support-agent-connecting-n8n-openai-and-your-rails-db/</loc>
<lastmod>2026-06-06T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/viewcomponent-vs-phlex-which-ruby-ui-library-should-you-choose/</loc>
<lastmod>2026-06-07T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/rapid-ui-development-top-4-component-kits-for-solo-rails-devs/</loc>
<lastmod>2026-06-08T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/stripe-style-ids-in-rails-a-guide-to-the-make-id-gem/</loc>
<lastmod>2026-06-09T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/demystifying-rails-magic-how-autoloading-actually-works/</loc>
<lastmod>2026-06-10T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/is-coding-over-5-career-pivots-for-rails-devs-in-the-ai-era/</loc>
<lastmod>2026-06-11T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/go-for-rubyists-a-practical-guide-to-learning-golang/</loc>
<lastmod>2026-06-16T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/datastar-in-rails-8-real-time-ui-without-the-websocket-headache/</loc>
<lastmod>2026-06-17T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/zero-js-search-building-a-live-filter-with-turbo-8-page-morphing/</loc>
<lastmod>2026-06-18T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/pro-file-uploads-in-rails-8-speed-and-scalability-with-direct-uploads/</loc>
<lastmod>2026-06-19T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/the-budget-friendly-monolith-rails-file-uploads-with-cloudflare-r2/</loc>
<lastmod>2026-06-21T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/real-time-engagement-web-push-notifications-in-rails-8/</loc>
<lastmod>2026-06-23T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/the-shopify-goldmine-how-to-build-your-first-app-in-rails/</loc>
<lastmod>2026-08-07T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://norvilis.com/about/</loc>
</url>
<url>
<loc>https://norvilis.com/categories/</loc>
</url>
<url>
<loc>https://norvilis.com/</loc>
</url>
<url>
<loc>https://norvilis.com/tags/</loc>
</url>
<url>
<loc>https://norvilis.com/posts/</loc>
</url>
<url>
<loc>https://norvilis.com/page2/</loc>
</url>
<url>
<loc>https://norvilis.com/page3/</loc>
</url>
<url>
<loc>https://norvilis.com/page4/</loc>
</url>
<url>
<loc>https://norvilis.com/page5/</loc>
</url>
<url>
<loc>https://norvilis.com/page6/</loc>
</url>
<url>
<loc>https://norvilis.com/page7/</loc>
</url>
<url>
<loc>https://norvilis.com/page8/</loc>
</url>
<url>
<loc>https://norvilis.com/page9/</loc>
</url>
<url>
<loc>https://norvilis.com/page10/</loc>
</url>
<url>
<loc>https://norvilis.com/page11/</loc>
</url>
<url>
<loc>https://norvilis.com/page12/</loc>
</url>
<url>
<loc>https://norvilis.com/page13/</loc>
</url>
</urlset>
