Adding a self-hosted captcha alternative to ASP.NET Identity

Sooner or later your public facing ASP.NET Identity form will be targeted by illicit actors and you will start getting sign-ups from john.doe1231@gmail.com but they never click the email verification link or use the service. My best guess this is either to warm up spam sending email addresses with legitimate email traffic or to disqualify … Continue reading Adding a self-hosted captcha alternative to ASP.NET Identity

A more beautiful based ASP.NET Identity UI based on TailwindCSS and Preline

I think it's often take for granted that the default ASP.NET project template gives you Authentication, User Management, SSO and Two Factor Support out-of-the-box with minimal extra setup. One thing that always bothered me was that compared to other software starter kits the built-in UI looked like ... well ... a developer made it. There … Continue reading A more beautiful based ASP.NET Identity UI based on TailwindCSS and Preline

Using Clerk as an OAuth Provider for ASP.NET Core

I've been using Clerk on the frontend for a few applications and recently came across the need to authenticate on the server side too. This guide will show you the necessary steps to configure Clerk and ASP.NET to enable authenticating your Clerk users. Update Oct 2023: Removed open_id scope as it is not accepted anymore … Continue reading Using Clerk as an OAuth Provider for ASP.NET Core

NextJS Router compatible Weglot Language Switcher

I've started using an automatic translation service called Weglot on SecureMailMerge (which by the way offers advanced mail merge functionality for Outlook 365, if you're interested). The site runs on NextJS and is statically generated wherever possible. Weglot on the other hand acts as a proxy, so you create your subdomain language, e.g. de.securemailmerge.com and … Continue reading NextJS Router compatible Weglot Language Switcher

How to quickly setup typesense as a drop-in replacement for Algolia DocSearch on TailwindUI templates

"How do you replace the search in the TailwindUI documentation template (called syntax)" or "Can I add TypeSense as Search for a Tailwind UI site?", you might ask? TailwindUI uses Algolia's DocSearch on their template offering (e.g. the documentation template). DocSearch is a great easy-to-use solution, but it's only available for public facing websites and … Continue reading How to quickly setup typesense as a drop-in replacement for Algolia DocSearch on TailwindUI templates

Using Caddy 2 on an Azure VM to host static content from blob storage

There are multiple ways to host static websites from Azure Storage Blobs to a custom domain serving HTTPS: Using Azure CDN: https://docs.microsoft.com/en-us/azure/storage/blobs/static-website-content-delivery-network Using Cloudflare: https://support.cloudflare.com/hc/en-us/articles/360021902391-Enabling-Cloudflare-SSL-on-Azure-Storage-Static-Web-Hosting-Applications But if you want a bit more flexibility at less than 5USD/month cost consider using Caddy 2 (the HTTPS-by-default webserver written in Go) one a VM to serve your website. … Continue reading Using Caddy 2 on an Azure VM to host static content from blob storage

A handbook for running great co-working spaces

A guide for creating and running a good co-working space

I've been travelling full time for a couple of years now. So I've seen and used my fair share of co-working spaces and seen the good and the not so good. Apart from having a baseline of things I look for when choosing a co-working space I've also collected a list of highlights from my … Continue reading A handbook for running great co-working spaces