Lesson
SFA, 2FA, MFA and passkeys: safer logins in plain English
Turn on two-factor authentication everywhere, use passkeys where you can, keep your recovery codes safe, and let a password manager remember the rest.
13 min read
Lesson
Learning
Longer guides, explainers and cheat sheets, for when you want to learn a tool, not just copy a fix.
Lesson
SFA, 2FA, MFA and passkeys: safer logins in plain English
Turn on two-factor authentication everywhere, use passkeys where you can, keep your recovery codes safe, and let a password manager remember the rest.
13 min read
Lesson
What is an API? How it works, how safe it is, and its limits
An API lets one program ask another for data or actions. Learn requests, responses, pagination, rate limits, security, webhooks and how to test one with Postman.
9 min read
Lesson
Where to host your images: S3, R2 or your own server
Small sites can keep images on their own server behind Cloudflare. Big or busy image libraries belong on Cloudflare R2, which charges nothing for downloads.
7 min read
Lesson
Cloudflare 101: set up the free plan, step by step
Swap your nameservers to Cloudflare, turn on the orange cloud for your website records and set SSL to Full (strict). You get free speed, SSL and protection.
11 min read
Lesson
When you need a cloud server, and why Vultr is a smart pick
Need a server for a week, in another country or with more power? A Vultr cloud server starts in seconds, from 32 cities, billed by the hour.
4 min read
Lesson
WordPress, Shopify or Webflow: which one do you need?
Shopify if selling is the main job. WordPress with WooCommerce if content and control matter. Webflow if design comes first and your range is small.
3 min read
Advertisement
Lesson
Deployer, the PHP deployment tool: get started
Deployer puts PHP sites live with no downtime and rolls back with one command. Install it, write a deploy.php, deploy a Laravel or WordPress site and roll back.
3 min read
Lesson
MAMP: set up a local site with a virtual host
Give each local project its own address, like mysite.test, in MAMP on a Mac. I turn on virtual hosts, add the site, map the name in /etc/hosts and restart.
3 min read
Lesson
MySQL JOINs explained: INNER, LEFT, RIGHT, FULL, CROSS, self
What each MySQL JOIN returns, shown with two small tables and the real rows that come back. Plus how I build a FULL OUTER JOIN, which MySQL doesn't have.
7 min read
Lesson
What is Laravel Blade? Templates, layouts and components
Blade is Laravel's template language. It gives you HTML files with {{ }} for safely escaped output, @ directives for loops and conditions, layouts and components.
4 min read
Lesson
Add a README.md to every project (with a template)
A good README tells the next developer what a project is, how to run it and how to deploy it. What I put in mine, a template to copy and the Markdown you need.
3 min read