Blog

Blog & Technical Insights

Sharing knowledge and insights on web development, cloud security, DevSecOps, and emerging technologies.

Writing

Latest Articles

Practical write-ups from real projects: what worked, what did not, and why.

How to Add Cloudflare Turnstile to Devise in Rails
devise

How to Add Cloudflare Turnstile to Devise in Rails

If you're looking for a simple way to add Cloudflare Turnstile to Devise, there isn't an official integration. You ca...

Read article
How I Accidentally Polluted My Production Storage Bucket (And How to Fix It)
ruby-on-rails

How I Accidentally Polluted My Production Storage Bucket (And How to Fix It)

A cautionary tale about Active Storage, environment credentials, and an unexpected Rails gotcha. The Setup Like many ...

Read article
How to Add Cloudflare Turnstile to a Rails Application
cloudflare-turnstile

How to Add Cloudflare Turnstile to a Rails Application

If you've ever clicked on fire hydrants or traffic lights to prove you're human, you know the frustration of traditio...

Read article
Bypassing VPN for MegaSync via Secure SSH SOCKS5 Tunnel on macOS
meganz

Bypassing VPN for MegaSync via Secure SSH SOCKS5 Tunnel on macOS

This guide shows how to route MegaSync traffic outside your VPN securely using an SSH SOCKS5 tunnel to a remote serve...

Read article
How to Enable 4K @ 60Hz in LibreELEC on Raspberry Pi or SBC
libreelec

How to Enable 4K @ 60Hz in LibreELEC on Raspberry Pi or SBC

By default, LibreELEC does not enable 4K at 60Hz out of the box — even on capable displays. This short guide walks yo...

Read article
Quickly Convert a WordPress Site to Static HTML with HTTrack
httrack

Quickly Convert a WordPress Site to Static HTML with HTTrack

HTTrack is an open-source tool that clones a website into static HTML files. Converting WordPress to static HTML impr...

Read article
How to Secure Your WordPress Admin with Cloudflare Access
wordpress

How to Secure Your WordPress Admin with Cloudflare Access

Securing the WordPress admin area is a critical step in protecting your site from brute force login attempts, bot sca...

Read article
Preventing Unsafe Package Upgrades in package.json
nodejs

Preventing Unsafe Package Upgrades in package.json

Some packages should not be updated past a certain version—whether due to breaking changes, compatibility constraints...

Read article
How to Secure and Stream Mega.nz WebDAV Content in Kodi via Cloudflare Zero Trust
meganz

How to Secure and Stream Mega.nz WebDAV Content in Kodi via Cloudflare Zero Trust

If you want to securely access and stream your Mega.nz cloud storage via WebDAV using Cloudflare Zero Trust, while en...

Read article
Optimizing DietPi OS Boot Time
systemd-analyze

Optimizing DietPi OS Boot Time

DietPi is a lightweight Debian-based operating system designed for minimal resource consumption, but its boot time ca...

Read article
How to Securely Fetch Unpublished CraftCMS Entries with a Custom API Header
craftcms

How to Securely Fetch Unpublished CraftCMS Entries with a Custom API Header

CraftCMS provides a robust GraphQL API for querying your content, but sometimes you need to tailor the API for differ...

Read article
How to Calculate the Correct Amount with Stripe Fees Included
stripe

How to Calculate the Correct Amount with Stripe Fees Included

When processing payments through Stripe, you need to account for their fees to ensure you receive the exact amount yo...

Read article
How to Permanently Disable Security Notifications on Windows 10
windows-10

How to Permanently Disable Security Notifications on Windows 10

Windows is very opinionated about its operating system, and always assumes it knows better than its users, so it does...

Read article
WebDriverError: You are trying to upload something that isn't a file.
reactjs

WebDriverError: You are trying to upload something that isn't a file.

Occasionally, when running Ruby on Rails system tests with Selenium WebDriver in Gitlab CI, you will receive an error...

Read article
Diagnosing "PhaseScriptExecution failed with a nonzero exit code" in Xcode
react-native

Diagnosing "PhaseScriptExecution failed with a nonzero exit code" in Xcode

Encountering the error message "PhaseScriptExecution failed with a nonzero exit code" in React Native can be frustrat...

Read article
Resolving Phusion Passenger Log Location Issues with Nginx
phusion-passenger

Resolving Phusion Passenger Log Location Issues with Nginx

When deploying Ruby on Rails applications using Phusion Passenger with Nginx, you might encounter an issue where Pass...

Read article
Deploying Strapi on CentOS Stream 8 with Nginx and Phusion Passenger
strapi

Deploying Strapi on CentOS Stream 8 with Nginx and Phusion Passenger

Hey there! If you’re like me, you’ve probably found yourself scratching your head trying to get your Strapi CMS up an...

Read article
Keeping Your Website Up and Running: A Simple Uptime Monitoring Solution
uptime

Keeping Your Website Up and Running: A Simple Uptime Monitoring Solution

Ever had that sinking feeling when you realize your website is down? It's frustrating, potentially costly, and often,...

Read article
Secure Your DietPi OS with Cloudflare WARP
dietpi

Secure Your DietPi OS with Cloudflare WARP

If you are looking to enhance your internet security and privacy on your DietPi OS, Cloudflare WARP is a fantastic ch...

Read article
How to Easily Resend Failed Emails in Postmark
postmark

How to Easily Resend Failed Emails in Postmark

If you’ve got some failed emails in Postmark, don’t worry — resending them is easy. Whether it's inbound or outbound ...

Read article
Make JavaScript Work Seamlessly with or without Turbo in Ruby on Rails
ruby-on-rails

Make JavaScript Work Seamlessly with or without Turbo in Ruby on Rails

If you're working on a Ruby on Rails project, you've likely encountered Turbo — a powerful tool from Hotwire that opt...

Read article
Set Up macOS to Use Postfix for Sending Automated Emails from CRON
macos

Set Up macOS to Use Postfix for Sending Automated Emails from CRON

Looking to automate email notifications from your macOS using CRON jobs? This guide walks through configuring Postfix...

Read article
Install MegaCMD on DietPi OS for Orange Pi 5
mega-cmd

Install MegaCMD on DietPi OS for Orange Pi 5

This guide provides a step-by-step process for downloading, compiling and installing MegaCMD (the cloud storage solut...

Read article
Topics

Popular Topics & Resources

The themes I keep coming back to.

🔒

Security Fundamentals

Essential security practices for modern web applications, from authentication to data protection.

  • OWASP Top 10 vulnerabilities
  • Secure coding practices
  • Authentication & authorization
  • Data encryption strategies
💎

Ruby on Rails Mastery

Advanced techniques and best practices for building scalable Rails applications.

  • Performance optimization
  • API design patterns
  • Background job processing
  • Testing strategies
☁️

Cloud Architecture

Design patterns and best practices for building resilient cloud-native applications.

  • Microservices architecture
  • Container orchestration
  • Serverless computing
  • Infrastructure as code
⚙️

DevSecOps Pipeline

Implementing security throughout the development lifecycle with automation.

  • CI/CD security integration
  • Automated testing
  • Compliance monitoring
  • Incident response
Say Hello

Have a Question or Topic Suggestion?

I'd love to hear from you! Reach out with questions, topic suggestions, or collaboration opportunities.