41554 blogs · [ { "id": "01a0876b-2e59-73fa-a34c-7450d3cd2eee", "title": "Should You Fix AI-Generated Code or Rebuild It?", "url": "https://dennmart.com/articles/should-you-fix-ai-generated-code-or-rebuild-it/", "published_at": "2026-08-03T12:21:05+00:00" }, { "id": "01a0876b-2e59-73fa-a34c-7450d4c108b2", "title": "Secure Kamal Deployments With Tailscale SSH", "url": "https://dennmart.com/articles/secure-kamal-deployments-with-tailscale-ssh/", "published_at": "2026-06-08T07:50:47+00:00" }, { "id": "01a0876b-2e59-73fa-a34c-7450d58b9839", "title": "Leaving Heroku: Which Provider Should You Choose?", "url": "https://dennmart.com/articles/leaving-heroku-which-provider-should-you-choose/", "published_at": "2026-01-21T11:00:00+00:00" }, { "id": "01a0876b-2e59-73fa-a34c-7450d66c6263", "title": "Using Kamal's Local Registry for Simpler Deployments", "url": "https://dennmart.com/articles/using-kamal-local-registry-for-simpler-deployments/", "published_at": "2025-10-30T02:40:47+00:00" }, { "id": "01a0876b-2e59-73fa-a34c-7450d71590fb", "title": "Review Apps With Kamal (Part 6) - Docker Cache and PR Comments", "url": "https://dennmart.com/articles/review-apps-with-kamal-part-6-docker-cache-and-pr-comments/", "published_at": "2025-06-11T08:47:01+00:00" }, { "id": "01a0876b-2e59-73fa-a34c-7450d7d3c6bf", "title": "Review Apps With Kamal (Part 5) - Using Hooks to Check Setup", "url": "https://dennmart.com/articles/review-apps-with-kamal-part-5-using-hooks-to-check-setup/", "published_at": "2025-05-13T06:09:23+00:00" }, { "id": "01a0876b-2e59-73fa-a34c-7450d8249342", "title": "Review Apps With Kamal (Part 4): Instant URLs for Our Apps", "url": "https://dennmart.com/articles/review-apps-with-kamal-part-4-instant-urls-for-our-apps/", "published_at": "2025-04-14T07:39:24+00:00" }, { "id": "01a0876b-2e59-73fa-a34c-7450d87ada88", "title": "Review Apps With Kamal (Part 3): Automating Deployments", "url": "https://dennmart.com/articles/review-apps-with-kamal-part-3-automating-deployments/", "published_at": "2025-03-24T07:07:18+00:00" }, { "id": "01a0876b-2e59-73fa-a34c-7450d8aacaaa", "title": "Review Apps With Kamal (Part 2): Configuring Kamal Destinations", "url": "https://dennmart.com/articles/review-apps-with-kamal-part-2-configuring-destinations/", "published_at": "2025-02-27T03:04:08+00:00" }, { "id": "01a0876b-2e59-73fa-a34c-7450d90eab92", "title": "Review Apps With Kamal (Part 1): Provisioning Servers", "url": "https://dennmart.com/articles/review-apps-with-kamal-part-1-provisioning-servers/", "published_at": "2025-01-10T07:18:35+00:00" }, { "id": "01a0876b-2e59-73fa-a34c-7450d92c726d", "title": "High Availability PostgreSQL Replication With Kamal", "url": "https://dennmart.com/articles/high-availability-postgresql-replication-with-kamal/", "published_at": "2024-12-20T03:05:50+00:00" }, { "id": "01a0876b-2e59-73fa-a34c-7450da027515", "title": "Kamal 2: What's New and How to Easily Upgrade Your Apps", "url": "https://dennmart.com/articles/kamal-2-whats-new-and-how-to-easily-upgrade-your-apps/", "published_at": "2024-12-02T08:20:30+00:00" }, { "id": "01a0876b-2e59-73fa-a34c-7450da7995dc", "title": "Secure Your Kamal App Deployments With Let's Encrypt", "url": "https://dennmart.com/articles/secure-your-kamal-app-deployments-with-lets-encrypt/", "published_at": "2024-08-07T06:44:46+00:00" }, { "id": "01a0876b-2e59-73fa-a34c-7450dadb8981", "title": "Dead Simple Load Testing at Scale on Lambda or Fargate", "url": "https://dennmart.com/articles/dead-simple-load-testing-at-scale-on-lambda-or-fargate/", "published_at": "2024-07-31T07:38:31+00:00" }, { "id": "01a0876b-2e59-73fa-a34c-7450db3f783f", "title": "Hassle-Free Automated PostgreSQL Backups for Kamal Apps", "url": "https://dennmart.com/articles/hassle-free-automated-postgresql-backups-for-kamal-apps/", "published_at": "2024-07-06T06:09:51+00:00" }, { "id": "01a0876b-2e59-73fa-a34c-7450dc0b516f", "title": "Deploy Secure Load Balancers on Hetzner Cloud With Terraform", "url": "https://dennmart.com/articles/deploy-secure-load-balancers-on-hetzner-cloud-with-terraform/", "published_at": "2024-06-12T09:15:00+00:00" }, { "id": "01a0876b-2e59-73fa-a34c-7450dcda26a8", "title": "Get Started With Hetzner Cloud and Terraform for Easy Deployments", "url": "https://dennmart.com/articles/get-started-with-hetzner-cloud-and-terraform-for-easy-deployments/", "published_at": "2024-05-17T06:56:38+00:00" }, { "id": "01a0876b-2e59-73fa-a34c-7450dd7397e9", "title": "Automating Rubocop Into Your Rails Development Workflow", "url": "https://dennmart.com/articles/automating-rubocop-into-your-rails-development-workflow/", "published_at": "2024-04-15T07:08:56+00:00" }, { "id": "01a0876b-2e59-73fa-a34c-7450ddf7222c", "title": "Setting Up Rubocop for Legacy Ruby on Rails Projects", "url": "https://dennmart.com/articles/setting-up-rubocop-for-legacy-ruby-on-rails-projects/", "published_at": "2024-04-02T05:55:28+00:00" }, { "id": "01a0876b-2e59-73fa-a34c-7450de5e99cf", "title": "Revitalize Your Old Codebase Easily With Static Code Analysis", "url": "https://dennmart.com/articles/revitalize-your-old-codebase-easily-with-static-code-analysis/", "published_at": "2024-03-02T13:09:59+00:00" }, { "id": "01a0876b-2e59-73fa-a34c-7450de5f9472", "title": "20 Lessons Learned From 20 Years in Tech: Part 2", "url": "https://dennmart.com/articles/20-lessons-learned-from-20-years-in-tech-part-2/", "published_at": "2024-01-18T05:19:13+00:00" }, { "id": "01a0876b-2e59-73fa-a34c-7450df36c396", "title": "20 Lessons Learned From 20 Years in Tech: Part 1", "url": "https://dennmart.com/articles/20-lessons-learned-from-20-years-in-tech-part-1/", "published_at": "2024-01-08T08:01:47+00:00" }, { "id": "01a0876b-2e59-73fa-a34c-7450dfeee1fb", "title": "How Testers Help Developers Elevate Their Productivity", "url": "https://dennmart.com/articles/how-testers-help-developers-elevate-their-productivity/", "published_at": "2023-12-20T05:34:11+00:00" }, { "id": "01a0876b-2e59-73fa-a34c-7450e0635262", "title": "How to Achieve Speed and Quality in Software Development", "url": "https://dennmart.com/articles/how-to-achieve-speed-and-quality-in-software-development/", "published_at": "2023-12-04T06:02:22+00:00" }, { "id": "01a0876b-2e59-73fa-a34c-7450e0d4e06a", "title": "The Important Role of Documentation in DevOps Success", "url": "https://dennmart.com/articles/the-important-role-of-documentation-in-devops-success/", "published_at": "2023-11-22T06:30:00+00:00" }, { "id": "01a0876b-2e59-73fa-a34c-7450e0f8aaff", "title": "Deploying Your Serverless Applications Easily With Terraform", "url": "https://dennmart.com/articles/deploying-your-serverless-applications-easily-with-terraform/", "published_at": "2023-11-15T07:13:39+00:00" }, { "id": "01a0876b-2e59-73fa-a34c-7450e162cc9a", "title": "Deploy Your Rails Applications the Easy Way With Kamal", "url": "https://dennmart.com/articles/deploy-your-rails-applications-the-easy-way-with-kamal/", "published_at": "2023-10-16T09:25:37+00:00" }, { "id": "01a0876b-2e59-73fa-a34c-7450e1866945", "title": "The Hidden Benefit of Bringing Freelancers Into Your Teams", "url": "https://dennmart.com/articles/the-hidden-benefit-of-bringing-freelancers-into-your-teams/", "published_at": "2023-10-09T05:19:46+00:00" }, { "id": "01a0876b-2e59-73fa-a34c-7450e196dd88", "title": "Distributing Docker Images for Rails Apps With GitHub Actions", "url": "https://dennmart.com/articles/distributing-docker-images-for-rails-apps-with-github-actions/", "published_at": "2023-10-03T05:17:58+00:00" }, { "id": "01a0876b-2e59-73fa-a34c-7450e1ed1a5e", "title": "Hiring a Freelance DevOps Engineer: What You Need to Know", "url": "https://dennmart.com/articles/hiring-a-freelance-devops-engineer-what-you-need-to-know/", "published_at": "2023-09-18T08:40:00+00:00" }, { "id": "01a0876b-2e59-73fa-a34c-7450e2400286", "title": "Private File Downloads From S3 With Lambda & API Gateway", "url": "https://dennmart.com/articles/private-file-downloads-from-s3-with-lambda-and-api-gateway/", "published_at": "2023-09-05T08:06:07+00:00" }, { "id": "01a0876b-2e59-73fa-a34c-7450e2aeacd8", "title": "Simple Yet Powerful Ways to Shrink Your AWS Expenses", "url": "https://dennmart.com/articles/simple-yet-powerful-ways-to-shrink-your-aws-expenses/", "published_at": "2023-07-30T09:45:39+00:00" }, { "id": "01a0876b-2e59-73fa-a34c-7450e368735f", "title": "Building Lean Docker Images for Rails Apps", "url": "https://dennmart.com/articles/building-lean-docker-images-for-rails-apps/", "published_at": "2023-05-18T09:49:58+00:00" }, { "id": "01a0876b-2e59-73fa-a34c-7450e4383df4", "title": "Deploy Hugo Sites With Terraform and GitHub Actions (Part 2)", "url": "https://dennmart.com/articles/deploy-hugo-sites-with-terraform-and-github-actions-part-2/", "published_at": "2023-04-24T00:54:00+00:00" }, { "id": "01a0876b-2e59-73fa-a34c-7450e4cf3fa8", "title": "Deploy Hugo Sites With Terraform and GitHub Actions (Part 1)", "url": "https://dennmart.com/articles/deploy-hugo-sites-with-terraform-and-github-actions-part-1/", "published_at": "2023-04-06T02:29:33+00:00" }, { "id": "01a0876b-2e59-73fa-a34c-7450e552f318", "title": "Create an S3 Bucket for Website Hosting With Terraform", "url": "https://dennmart.com/articles/create-an-s3-bucket-for-website-hosting-with-terraform/", "published_at": "2023-02-20T03:46:41+00:00" } ] posts Claim your blog
Back to dennmart.com
Blog · corpus.blog/blogs/dennmart.com/posts

dennmart.com

dennmart.com

2026

2025

2024

2023