Advanced Search
Search Results
355 total results found
Setting up Redis for local development (unused)
Install Redis for windows using the instructions here: https://redis.io/docs/getting-started/installation/install-redis-on-windows/ ------Upon system restart you will need to start up Redis before it can be used, with command: sudo service redis-server start...
Setting up SES for email sending AND receiving
Setting up Amazon SES to send and receive emails: # WARNING: Amazon SES only supports receiving emails in a small handful of regions. Make sure you set it, and anything else you need to link to it (e.g. SNS) up in a supported region to avoid frustration later...
SMTP User Notes
When using SES: - Emails sent directly via SMTP, e.g. via Monolog/PHPMailer, must be sent with the SMTP username and password. This is the access key and secret created when you create an IAM user for an SES region through the console. - Emails sent via the ...
Stripe Billing
Homepage https://stripe.com/gb/billing What is it? Stripe's offering for recurring payments, like monthly subscriptions and similar things. Why did we choose it? It does the job well, and has good API tools. What do we use it for? Enabling users to purc...
getID3
Homepage https://github.com/JamesHeinrich/getID3 What is it? A PHP library for parsing media files. Why did we choose it? PHP's own ability to parse media files is inconsistent, and getID3 does a far better job of it. What do we use it for? Validating u...
imagesloaded
Homepage https://github.com/desandro/imagesloaded What is it? A JavaScript library for reliably detecting when an image file has been loaded by a user's browser. Why did we choose it? Native JavaScript methods for detecting image loads are unreliable; som...
imgareaselect
Homepage https://github.com/odyniec/imgareaselect What is it? A jQuery plugin that enables selecting an area of an image. Why did we choose it? Implementing that kind of front-end functionality can be a major pain due to differences in browsers and so for...
Misconfiguring Apache Rewrite directives
The mod_rewrite module is extremely powerful, but painful to debug. Here's some common pitfalls and useful resources. The Holy .htaccess tester There's a very useful tool here: https://htaccess.madewithlove.com/ . Make use of it; it can save you a lot of hea...
Understanding how to configure Apache properly
For the most part, there are two important things we need to consider when configuring Apache, but first a basic overview of how configuring Apache works. Apache configuration Apache uses two types of "configuration files": the main httpd.conf file, which is...
Incorrect event object properties in Chrome DevTools
When logging some object types in the Chrome DevTools console, you can get misleading results. Consider the following code, for getting a file from a file upload dialog shown to the user: input.addEventListener('change', (e) => { console.log("Event object e...
Troubleshooting log messages not appearing
If you're expecting Apache to be logging output, and it isn't, there's a few likely culprits. Incorrect file permissions If your log files don't have the proper write permissions, Apache can't write anything to them. Usually this isn't something you resolve ...
Upload handling
To handle images uploaded into a TinyMCE editor's content by a user, a few things have to be done: Client-side code: extra TinyMCE initialisation parameters Initialising the TinyMCE editor to allow for image uploading requires adding a few extra initialisati...
December 29
Hi everyone, hope you had a good Christmas and everything :) lots of updates below! Documentation Server: Published It’s now publicly viewable! I changed a bit of the documentation structure, moving webserver setup stuff out of the AWS part of the docs and i...
Choosing 'secondary' infrastructure providers
While this isn't necessarily needed (you might have every tech solution you need from your primary provider), it's often the case that some things will be a lot better value from other providers. As a result, many websites have one "main" provider and a few se...
User-submitted rich text content security rules
Certain security practices need to be adhered to when dealing with user-submitted TinyMCE content: Web Application Firewall rules WAFs often have core rules for protecting against XSS. Due to rich text editors usually including a bunch of HTML and CSS, WAFs ...
Fade animations on HTML elements
Sometimes, fading in an element (for example, using jQuery's fadeIn() method, or setting an element's transition and opacity CSS values) will not work, and the element just displays immediately. The reason for this is due to two things: concurrency issues,...
Inconsistent image load event firing
Due to some inconsistencies in browser event behaviour, trying to detect when an image has finished loading can be quite difficult. Images that have been retrieved from the user's browser cache sometimes won't fire an onload event at all, making it hard for yo...
S3
Homepage https://aws.amazon.com/s3/ What is it? AWS' file storage offering. S3 is actually rather well-known, as its structure and standards laid the foundation for a lot of other file storage services ("S3 compatible" is something you'll see a lot on compe...
EC2 (Elastic Compute Cloud)
Homepage https://aws.amazon.com/ec2/ What is it? AWS' "big giant powerful" cloud computing offering. Unlike a lot of other AWS services that have some "specific" function, EC2 has an absolutely ridiculous number of functions and services within it, but all ...
SES (Simple Email Service)
Homepage https://aws.amazon.com/ses/ What is it? AWS' automated email offering. Unlike a normal email inbox for a human (e.g. Gmail), programmatic email offerings like this are about being able to send an email via code, which is needed in cases where sendi...