Smartphone on a desk showing "secured" on its screen.

Example IAM Policy for AWS S3

If you're setting up a website on S3 + CloudFront, this example policy will help.

Read More →
Smartphone on a desk showing "secured" on its screen.

Two-factor Authentication

Now you can add an extra layer of security to your account by enabling two-factor authentication. This can be turned on for any individual account or, as an admin, you can require it for all your users.

Read More →
A young boy holding a book.

How To Encourage Proper Headings In Webpages

Using headings properly in a webpage will improve its structure and make it easier for humans and automated tools to consume content. Here's how you can encourage the use of proper headings in Surreal CMS.

Read More →
A cell phone camera mounted in a tripod

Making Embedded Videos Responsive

Video hosting is hard to get right. It's almost always better to use a third-party service than to self-host, but how can you make those embeds responsive?

Read More →
An old rotary telephone

Four Reasons Why Phone Support Is Inferior To Email

Every so often, someone asks if I provide phone support. The short answer is no, and there's a good reason for that. Spending all that time on the phone would actually make my support pretty lousy.

Read More →
A CD being inserted into a laptop

Why SaaS is Cheaper Than Installable Software

As a SaaS provider, this question comes up all the time: "Is there an installable version of your software that I can put on my own server?"

Read More →
A kitten with a circular selection in the center

How To Make Rounded Images With CSS

Need a perfectly round image without cropping or wrapping it in extra elements? Here are four lines of CSS that will save the day.

Read More →
"Hello" sketched onto a notecard on top of a notebook with handwritten characters.

Enabling Cross-domain Fonts with CORS

If you're serving web fonts from a different origin than your website, you might find that they don't load in certain browsers. Here's why that happens and how you can fix it.

Read More →
Letter stamps in a box

Better Typography with JavaScript

Learn how to automatically improve your website's typography using a bit of JavaScript.

Read More →
A notepad and pencil

Cory's Amazing Dot Paper

In a world where designers use Sketch, Photoshop, and other apps to create wireframes, I'm here in my corner holding this old fashioned pencil and a stack of dot paper.

Read More →
Node.js logo

How to Upgrade (or Downgrade) Node.js using npm

Need to update your version of Node.js? Here's how you can upgrade or downgrade from the command line using npm.

Read More →
Wireframe of a code beautifier tool

Creating a Code Beautifier in Two Days

Last week I drew up a wireframe for a code beautifier. The next day, I decided to turn it into a real tool. The whole project took less than two days to complete.

Read More →
A label and a twig

Best Practices for Filenames on the Web

Some filenames are better than others. We enforce a certain pattern to ensure your website follows best practices for naming files on the web.

Read More →
Hot air balloons in the sky.

Free For Personal, Educational, and Non-profit Use

Surreal CMS is now completely free for personal, educational, and non-profit use. This changes everything.

Read More →
Two computers on a desk

Most Websites Can Be Static

Static websites are becoming more and more popular these days. Here's why you should consider going static for your next project.

Read More →
Drawings of wireframes

The Difference Between a Website Builder and a CMS

These days, there's a fine line between a website builder and a CMS. A lot of folks use the terms interchangeably, but they are very different products.

Read More →
Slip, Trip or Fall

Lessons Learned From a 10 Year Old SaaS

I launched a SaaS product in 2008. Here's how I got started and some of the things I've learned over the years.

Read More →
Slip, Trip or Fall

Troubleshooting Credit Card Issues

If you're buying something online, there's a good chance it will be on a credit card. Unfortunately, charges don't always go through when you expect them to.

Read More →
Slip, Trip or Fall

Automatic Code Cleanup

Surreal CMS works hard to keep your code as tidy as possible. The editor has always produced semantic markup, but now we've taken things a step further to make sure your code is easy to read even when you view the source.

Read More →
Lover’s Lock

The Move to HTTPS

The web is moving to HTTPS at a fast pace, and the latest version of Surreal CMS is HTTPS-only. Here's why you should make sure your websites are protected too.

Read More →
Manhatten Bridge

Working with HTTP Authentication

Some designers use HTTP Authentication to protect certain pages from being accessed without a username and password. This post shows you how to make protected pages load in the editor.

Read More →
JavaScript in progress

Highlighting Code Blocks with Prism

Prism is a lightweight, extensible syntax highlighter used by thousands of websites. This tutorial will show you how to highlight code blocks using Prism in Surreal CMS.

Read More →
Photo gallery

Creating a Fancybox Gallery

Fancybox is a feature-rich lightbox library for presenting photo galleries. This tutorial shows you how to integrate Fancybox 3 with Surreal CMS using code you can copy and paste.

Read More →
Four by one

Creating a Lightbox Gallery

Lightbox is one of the most popular ways to display photos in a gallery. This tutorial shows you how to integrate the original Lightbox 2 with Surreal CMS using code you can copy and paste.

Read More →

How To Preserve Empty Elements

By default, the editor removes empty elements as part of its cleanup process. This post will show you how to preserve them when needed.

Read More →

Troubleshooting Character Encoding Issues

If you publish changes and see strange characters appear aftwards, chances are the page's character encoding is wrong. This post will show you how to fix that.

Read More →
Asphault in Maui

Announcing Surreal CMS 7

The long-awaited release of Surreal CMS 7 has been rolled out. Here's what you need to know about the soft launch.

Read More →
A school of fish

Moving To DigitalOcean

I've happily hosted Surreal CMS on Media Temple ever since it launched in 2008. Alas, due to a recent influx in security-related blocks that are affecting my users, I have little choice but to move to another host.

Read More →
A couple of beers, cheers!

How One Bar Uses Surreal CMS To Manage Their Menu

Here's a great story about a bar in Buffalo that uses Surreal CMS in a unique way — to power their digital beer menu!

Read More →
Woman sitting on stone steps holding a cell phone

A Case For Responsive Web Apps

Have you ever noticed all those people staring into their phones? In public, in the car, in line at the store...they never seem to take their eyes off their phone. What do you think they're looking at?

Read More →