Advanced Search
Search Results
457 total results found
SES: SMTP user credentials
SMTP credentials vs. IAM Access Keys If it looks like an IAM credential, walks like an IAM credential, and quacks like an IAM credential... well, this time it's actually an SMTP credential. When you create SMTP user credentials in SES, be aware that althoug...
HTMLPurifier
Homepage https://htmlpurifier.org/ What is it? A heavyweight library for sanitizing strings that may contain malicious or 'dirty' HTML. Why did we choose it? The comprehensiveness of its checks, and its integration with PHP. What do we use it for? Serve...
LAMP (Linux, Apache, MariaDB, PHP)
Homepage https://en.wikipedia.org/wiki/LAMP_(software_bundle) What is it? A common bundle of four pieces of software used to power webservers: L: the Linux operating system A: the Apache webserver software M: the MySQL database software (or more modern...
Node Package Manager (npm)
Homepage https://www.npmjs.com/ What is it? A dependency and package manager for Node.js projects, and a central repository for Node libraries. Why did we choose it? It's damn good, that's why. All manner of useful libraries there that help us to make bet...
GitHub
Homepage https://github.com/ What is it? A version control manager; effectively it's a cloud service and a client for using the Git version control system for code management. Why did we choose it? It's free, works well, and has solid support and usabilit...
Requesting SSL certificates with more than one domain
When requesting an ACM certificate, AWS will ask you to add some CNAME records in Route 53 (or your DNS provider if not using Route 53) to prove you own the domain. If you are requesting a certificate that covers multiple domains (e.g. "yourwebsite.com" and "...
robots.txt files
If you are against crappy, unethical AI bots scraping your website (as you should be), bear in mind that improper use of the robots.txt file can do more harm than good. Do not disallow everything A simple robots txt file that disallows all web crawlers looks...
Outdated AWS docs for CloudFront+WAF integration
There are several outdated articles on the AWS website about how to integrate CloudFront and WAF (including some articles that mention writing your own Lambda function to automatically update your load balancer's security group with CloudFront IP addresses). ...
Do we use an AI detector?
No. Why we do not use an AI detector Bad Accuracy AI detectors are notorious for vastly overstating their accuracy, because they usually cherry-pick the sample data on which to conduct tests, and then use the results of those tests to advertise themselves. ...
Do we use a search provider?
No, we don't. Why we don't use a search provider There isn't anything specifically wrong with most search providers - they don't have the same ethical issues as 'AI detection' providers, for instance. There are two reasons we don't use a search provider: Co...
The special Lightsail VPC
Normally when you use Lightsail, you can't connect to other AWS resources from your Lightsail servers (e.g: you won't be able to connect to an RDS database). This is because your Lightsail resources are inside their own special VPC, and thus they can't see you...
JavaScript does not support 64-bit integers
In most languages, a long is a 64-bit integer, for use when a 32-bit integer isn't big enough. JavaScript doesn't have such a concept: all numbers in JavaScript are represented as 64-bit doubles (i.e. double precision floats). That does not have the same maxim...
Swing / AWT
Invoking changes to your Swing UI All Swing events happen on one thread (The EDT, or Event Dispatch Thread). Doing processing on this thread in your normal code logic will cause your UI to freeze up while your processing is done, since all Swing rendering is ...
Asynchronous code pitfalls
Using Promises incorrectly Not respecting the order of code execution can have unexpected results. For instance: async function determineCultureLevel() { let cultureLevel = "Philistine"; let promise = new Promise((resolve, reject) => { // ...
PHP version changes
Some seemingly basic functions only exist in PHP 8+ Some normally core functions in other languages only exist in new-ish versions of PHP. Here's a list of functions that are not available in older versions: // https://www.php.net/manual/en/function.str-cont...
Null comparisons and falsey values
Some languages have weird rules for null comparisons and falsey values; try to keep that in mind when coding weird edge cases. Some examples below. PHP $shadalooLeader = "M. Bison" $ryu = ''; $ryu == null; // Evaluates to true $ryu === null; // Eval...
Passing by value vs reference
In some languages, you have to pay attention to using variables from a greater scope (e.g. a global variable or function variable) inside an anonymous function, if you intend to return the same reference back. PHP Example Here's some code using promises: us...
Deprecated or incorrect usage of functions
A lot of older PHP functions and constants are effectively deprecated or not recommended for use, and it's not always obvious that this is the case or what the replacements are. FILTER_SANITIZE_STRING (for the filter_var, filter_input methods) is deprecated, ...
Configuring iptables
You can configure IPTables to restrict access to a particular server by IP address. Unless you save the configuration for permanent use via the iptables-save command, your configuration will not persist between server restarts. Be sure your configuration is...
Image Download Function
Below is an example of a function you can use to set the Content-Disposition HTTP header when a URL's query string includes "dl=1", i.e. when you want a user's browser to download an image rather than display it. var validSuffixes = [".jpg", ".png", ".jpeg", ...