Skip to main content
Advanced Search
Search Terms
Content Type

Exact Matches
Tag Searches
Date Options
Updated after
Updated before
Created after
Created before

Search Results

457 total results found

Setting Up

Setting up your website, and the infrastructure needed to make it function.

Implementing Searches / Galleries

Implementing search, gallery results for a given user's profile and similar use cases. A lot of caching and efficiency considerations.

Infrastructure Security

Security

Additional security measures that can be applied to your site infrastructure.

WAF

Infrastructure (AWS)

Web Application Firewall, and specifics of using it with CloudFront + ALB

Bunny

Third-party service providers

A network services provider, who provide CDN services and related network infrastructure.

Zoho

Third-party service providers

A productivity and workspace solutions provider, who we use for internal emails.

Build, dependency and code management

Tech stack

"Give me a big enough dependency manager, and I can compile the world" - Archimedes (maybe)

JavaScript

Language pitfalls

"It's not Java!!"

PHP

Language pitfalls

Warning: undefined array key "brain" on line 5

Java

Language pitfalls

"It's not JavaScript!!"

General pitfalls across languages

Language pitfalls

Whether 2 + 2 = 4 is never as simple as it might seem...

BunnyCDN

Infrastructure (Non-AWS)

Bunny's Content Delivery Network, setup instructions, etc.

Zoho Mail

Infrastructure (Non-AWS)

Zoho's email/inbox service, setup instructions, etc.

CloudFront

Infrastructure (AWS)

Content Delivery Network, also used as an entry point for Deserted Chateau for security purposes

Configuring Apache

Webserver Documentation

The server... it knows too much...

PHP and phpMyAdmin Configuration

Webserver Documentation

Configuring PHP for correct security and session management + configuring phpMyAdmin.

Logging

Code Standards: Backend

Deserted Chateau's logging systems and configuration.

TinyMCE Standards & Overrides

Code Standards: Frontend

Injecting world domination into the Shadow DOM. Please stand by.

HTML / JS / CSS notes

Code Standards: Frontend

"Once, only god and I knew what this code did. But now..."

2024

Development Updates, pre-launch

"That was a problem for future me, and now I am future me..."

Page loading and AJAX considerations

Interface Design

Some tips on avoiding slow or "janky" page loading.

Lightsail

Infrastructure (AWS)

AWS' webserver solution

sharp

Third-party libraries Backend libraries

Homepage https://sharp.pixelplumbing.com/ What is it? Sharp is a high-performance library for image transformation in Node.js. Why did we choose it? Performance. Sharp uses the extremely fast libvips library under the hood, making it much faster than most...

Node.js

Tech stack Frameworks & Runtime Environments

Homepage https://nodejs.org/en What is it? A runtime environment for running JavaScript as backend code (as opposed to JavaScript's normal use as a frontend scripting language). Why did we choose it? It's efficient, does the job well in the places where w...

flowjs

Third-party libraries Frontend libraries

Homepage https://github.com/flowjs/flow.js What is it? An open-source library for managing file uploads in PHP and JavaScript. Makes a lot of the more tedious tasks easier, like splitting uploads into chunks, managing failed uploads and so forth. Why did w...

BaconQrCode

Third-party libraries Backend libraries

Homepage https://github.com/Bacon/BaconQrCode What is it? An open-source library for transforming a QR code, in its text form, into an image that can be scanned by a user's phone or other device. Why did we choose it? It's necessary for turning QR codes i...

robthree/twofactorauth

Third-party libraries Backend libraries

Homepage https://github.com/RobThree/TwoFactorAuth What is it? An open-source library for creating, managing and using QR codes for two-factor authentication. Why did we choose it? It's open-source, well maintained, and does the job. What do we use it fo...

monolog

Third-party libraries Backend libraries

Homepage https://github.com/Seldaek/monolog What is it? An open-source library that implements a logging framework for PHP, making managing logs and logging without default PHP functions a lot nicer. Why did we choose it? It's easy to use, conforms to sta...

Composer

Tech stack Build, dependency and code management

Homepage https://getcomposer.org/ What is it? A dependency manager for PHP projects. Why did we choose it? It's well supported, and allows for easy integration of extensions and plugins we use. What do we use it for? Managing Deserted Chateau's backend ...

DOMPurify

Third-party libraries Frontend libraries

Homepage https://github.com/cure53/DOMPurify  What is it? A JavaScript library for sanitising input to protect against XSS attacks. What do we use it for? Sanitizing user input when displaying it on pages, where it's not being displayed by e.g. a library ...

Setting up BunnyCDN for use with Amazon S3

Infrastructure (Non-AWS) BunnyCDN

Step 1: Create an IAM user with permissions to read from the S3 Bucket Create an IAM user which will be used by BunnyCDN to access the buckets it serves from. Make sure this user has permissions to use s3::GetObject on the buckets in question. Example IAM pol...

Setting up Zoho Mail for email inboxes

Infrastructure (Non-AWS) Zoho Mail

Zoho Mail is used for email inboxes (as opposed to Amazon SES, which is used for sending automatic emails such as activation emails and the like). Below are the steps to get Zoho Mail working, which are fairly standard for any email provider. Step 1: Verify ...

ZohoMail

Third-party service providers Zoho

Homepage https://www.zoho.com/mail/ What is it? It provides email services, specifically the kind ordinary users are familiar with, where you have an inbox and can manually write emails to send and receive emails. Why did we choose it? Data privacy, and p...

Setting up SES for email sending

Infrastructure (AWS) SES

Setting up Amazon SES to send (but NOT receive) emails: - Register your domain in Route 53 (or transfer it).- In Amazon SES, create a new verified identity for your domain. Choose Easy DKIM and make sure both 2048-bit RSA and "Publish to Route 53" are enabled...

AWS Overview

Third-party service providers Amazon Web Services (AWS)

Homepage https://aws.amazon.com/ What is it? Amazon Web Services (AWS) is a cloud infrastructure provider. In simple terms, cloud infrastructure providers have a huge range of services that aim to have everything modern website needs in one place. For examp...

Lightsail

Third-party service providers Amazon Web Services (AWS)

Homepage https://aws.amazon.com/lightsail/ What is it? Lightsail is AWS' simplified web server offering. In the past, Amazon EC2 was the only way to run webservers in AWS; it's still possible to do that, but it's advanced and requires a lot of careful confi...

RDS (Relational Database Service)

Third-party service providers Amazon Web Services (AWS)

Homepage https://aws.amazon.com/rds/ What is it? RDS provides database servers. These are used for storing, organising and querying data; on a super small website you could do this on the webserver, but in anything larger than that, you need a dedicated dat...

ElastiCache for Redis

Third-party service providers Amazon Web Services (AWS)

Homepage https://aws.amazon.com/elasticache/ What is it? ElastiCache is AWS' cache server offering. Cache servers are used, as the name implies, for caching: to provide higher performance where data doesn't need to be absolutely up-to-date, or when data mig...

Controlling whether images are displayed or downloaded in new tabs

Interface Design Images, Videos & Other Media

When you want a user to be able to view an image in a new tab when they right click and select "Open in new tab", instead of downloading the image (or vice versa), requires some modifications to your CDN configuration. I'll write this into the documentation l...

Transcoding: what it is, and why it is important

Media Transcoding Transcoding Overview

Definition Transcoding means resizing an image or other media to multiple sizes, so that users can be shown a size that's appropriate to their screen and internet speed, the size at which the media will be displayed on a given page, and so on. It's called tra...

The execution flow for image and video transcoding

Media Transcoding Transcoding Overview

In basic form, the way both image and video transcoding is implemented involves using 'serverless' cloud functions. This doesn't mean an eldritch horror creature performs them, but simply that you don't have a dedicated server waiting to run them; you request ...

Options for implementing image and video transcoding

Media Transcoding Transcoding Overview

When it comes to transcoding media, you have two main options you can choose from in terms of how to implement it: using a premade solution, or doing it yourself. There are merits to either approach, but don't try the DIY approach unless you know what you're d...