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

Modals

Code Standards: Frontend Frontend Class Structure

AnimationTools.js modals.css animationParams important css classes

Security Group IP addresses

Infrastructure (AWS) VPC

When adding IP addresses or CIDR blocks to VPC security groups - make sure you're using the private IP address and not e.g. a public-facing IP address such as a static one you assigned to a webserver. Only private addresses will work.

March 29

Development Updates, pre-launch 2024

Hi all, hope you're doing well. Been ill with some weird cold/flu-like infection the last week or so, so things have been a little slow, but updates are below as usual. Checkbox design redone, refactoring in progress Since normal HTML checkboxes can't be sty...

Crontabs

Webserver Documentation

Each Deserted Chateau webserver should have the following added to the root crontab: # Add the below lines to your Bitnami LAMP server's root crontab. # These lines should be added to ALL servers, including the primary cronjob server. # Delete temporary s...

Systems Manager / Parameter Store

Infrastructure (AWS) IAM

Example permissions policy This policy grants permission to create, delete and get Parameter Store parameters with the "/Deserted-Chateau/" prefix. { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", ...

Lambda

Infrastructure (AWS) IAM

Example permissions policy This policy grants access to create, update, delete and invoke Lambda functions. It only allows executing functions whose names begin with the "Deserted-Chateau-Test" prefix. Note the iam:PassRole permission; when you attach this p...

S3

Infrastructure (AWS) IAM

Example permissions policy This policy allows access to objects within a given bucket. The main use of this is to allow an external CDN provider to authenticate to S3, by creating a user with this policy attached, and allowing the external CDN provider to au...

SES

Infrastructure (AWS) IAM

Example permissions policy { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "ses:SendEmail", "ses:SendTemplatedEmail"...

April 13

Development Updates, pre-launch 2024

Hi all, hope you're doing well. The illness I had in the last update has persisted; I went to the doctor, and they've told me I have the aftereffects of a nasty sinus infection. Apparently the symptoms will persist for 2-3 months, so I'll just have to deal wit...

Route 53

Third-party service providers Amazon Web Services (AWS)

Homepage https://aws.amazon.com/route53/ What is it? AWS' DNS (domain name system) service. It handles managing DNS records for a domain, and also acts as a domain name registrar, i.e. you can buy/manage your ownership of a domain name with it. Why did we ...

Systems Manager

Third-party service providers Amazon Web Services (AWS)

Homepage https://aws.amazon.com/systems-manager/ What is it? AWS Systems Manager is one of the 'bigger' AWS services: it covers a whole load of things, from analysing incidents, system data analytics and a ton of other stuff. Why did we choose it? Specifi...

SNS (Simple Notification Service)

Third-party service providers Amazon Web Services (AWS)

Homepage https://aws.amazon.com/sns/ What is it? A "pub/sub" (publish/subscribe) service for notifications, basically acting as a place to store application-related notifications. Why did we choose it? It's a necessary part of good practice when using AWS...

SQS (Simple Queue Service)

Third-party service providers Amazon Web Services (AWS)

Homepage https://aws.amazon.com/sqs/ What is it? A service for queuing messages of any kind to be processed later. Why did we choose it? It's a necessary part of good practice when using SES (the email service). What do we use it for? Receiving notifica...

Variable evaluation and race conditions

Language pitfalls JavaScript

Suppose we have some code like this: // elementsArray is an array of 10 jQuery objects for (let i = 0; i < elementsArray.length; i++) { let elementID = elementsArray[i].attr("id"); // Fade in the element over 400ms. $(`#${elementID}`).fadeIn(400, fu...

Configuration Values

Code Standards: Backend Redis: Cached Items and Rate Limits

Deserted Chateau's webservers have various configuration values that are stored in the main database. These values are cached without an expiry time in Redis, with the SITE:::WEBSERVER:::CONFIGURATION key as a JSON-encoded string. The webservers always retrie...

Refreshing cached values

Code Standards: Backend Redis: Cached Items and Rate Limits

Implementing an animated preview generator

Media Transcoding Videos: Serverless Code

Generating animated previews with ffmpeg The basic command for animated preview generation looks like this: /opt/bin/ffmpeg \ -y \ -i "yourvideo.mp4" \ -ss 00:00:00.100 \ -filter:v scale=trunc(oh*a/2)*2:480,fps=20 \ -c:v libx264 \ -preset ultrafast \ ...

Turnstile

Third-party service providers Cloudflare

Homepage https://www.cloudflare.com/en-gb/products/turnstile/ What is it? A CAPTCHA alternative, that doesn't require users to solve puzzles. Why did we choose it? It has a solid privacy policy, does not collect personal data, and presents less of a pain ...

The MariaDB Node.js connector

Infrastructure (AWS) RDS

Using the batch query function When using batch queries via conn.batch, be aware that attempting to run a batch with a dataset of exactly one will cause it to fail with a rather unhelpful error message: SqlError: (conn=229016, no: 1295, SQLState: HY000) This...

EventBridge

Third-party service providers Amazon Web Services (AWS)

Homepage https://aws.amazon.com/eventbridge/ What is it? A service for scheduling and triggering events, either for some specific action, or on a schedule. Why did we choose it? It integrates well with AWS Lambda, so we can use it to invoke Lambda functio...