Shortdark Software Development

In the "Development" category...

33 items

Using Amazon Certificate Manager (ACM) with EC2 and ELB/ALB 14 April, 2023

Why connect an EC2 Instance to ACM and ALB? The standard compute instance on AWS is called EC2 (Elastic Compute Cloud). EC2 instances are a…

Setting up an AWS S3 Static Website with CloudFlare 16 February, 2022

This is a quick guide to setting up a static website on AWS S3. Not only are we securing the bucket with our bucket policy and bucket…

PHP 8 and Nginx on Ubuntu 20.04 LTS Tutorial 17 October, 2021

I needed to set up instances running PHP 8 a few times to test that my WordPress plugins and composer packages work on PHP 8. I also have…

Case Study: Composer Package 30 August, 2021

This is a look at a composer package that returns an SVG graph from an array of data: shortdark/socket composer package. There may be better…

Learning a new Coding Language 13 June, 2021

When I learn a new language, or write something in a language I don't use very often, there are a few ways to go about it. I guess, often we…

About Shortdark 01 January, 2021

I am a web developer living in Sheffield, UK who has mainly been developing websites in PHP. My Career Timeline 1999 Taught myself HTML, CSS…

PHP Coding Style (More Than One Way to Skin a Cat) 29 November, 2020

I look up everything before I use it. An IDE such as PHP Storm has the PHP docs built in so can tell you a lot of the information you need…

Regex Examples 19 July, 2020

Coding that is simple yet powerful allows you to get many different problems solved. As such, using regex is one of my favorite coding…

Some CSS Discussion 01 March, 2020

The actual CSS is no longer in this post, it has been moved here Bart Simpson Head Animation How did we manage before smartphones? The other…

Javascript CSS Accordion 22 December, 2019

I was having trouble finding a WordPress plugin that would give me an Accordion on a particular WordPress website. Either jQuery was not in…

Setting up AWS Elastic Beanstalk with Laravel to update with GIT 08 December, 2019

Disclaimer for 2021 and Beyond In case anyone should read this article and get the wrong idea here is my disclaimer for 2021 and beyond…

Updating Headers for Extra Security 02 June, 2019

In this post, we looked at some ways to tighten up security and increase the speed of websites in modern times. How to Implement Security…

Optimizing MySQL Queries 22 April, 2019

When you first build a website the database may seem fast. All your queries may get executed quickly. But, after a while when the database…

Creating a Composer Package Tutorial 21 April, 2019

This is a simple step-by-step guide to making a PHP composer package that can be listed publicly on packagist.org for anyone in the world to…

How to create and run Bash Scripts 06 April, 2019

To create a bash script that will work only for your user, you can store the bash files in your user's home directory. The standard place to…

Interacting with S3 using PHP 09 February, 2019

Trying to connect to use AWS S3 for the first time can be confusing. Here is a quick guide to roughly what has to happen. Basic Steps to Set…

Apache to Nginx 27 January, 2019

I had a PHP website that was the last man standing on some shared hosting that was slow that didn't have SSH access. I decided that since I…

Trying AWS Lightsail 13 January, 2019

AWS Lightsail is the closest thing AWS has to shared hosting. It is their quick, easy and inexpensive off-the-shelf hosting that has SSH…

Best Practices for Websites in 2018 14 July, 2018

Once upon a time you could buy a domain name and hook it up to some cheap, shared hosting and that was all you had to do. You could build…

Customizing Linux 09 July, 2018

Here are some tweaks you can make to various parts of Linux to make the whole experience a little easier and more intuitive. This guide is…

Moving a WordPress Blog to Different Hosting 08 July, 2018

2022 Update This post was written in 2018 and while I think most of the article still applies, there are other methods to deploy a WordPress…

WordPress and the Command Line 07 July, 2018

These days there are often WordPress apps on the control panel of hosting providers that enable you to install WordPress easily with a click…

Upgrading from Debian 8 (Jessie) to Debian 9 (Stretch) 14 March, 2018

Previously, I looked at setting up Debian 8 with PHP 7.0. But now, Debian 9 is the current stable version and Debian 8 is only due to…

MySQL in the Command Line 04 March, 2018

Following the setting up a Linux webserver tutorial. You may also wish to create a MySQL database. First, install MySQL in the Linux console…

How to Fix Some Potential Issues When Using CDN (Cloudflare) 28 January, 2018

Using a CDN is a great way to optimize your website and protect against DDoS attacks. The process of setting up a CDN is pretty simple…

How to Build a Laravel Website (Basic Steps After Installation) 27 January, 2018

Basic Steps After Installing Laravel 5.4 You have successfully installed Laravel 5.4 and you have directed the domain name at the public…

Installing Laravel on Debian 8 with PHP 7.0 12 April, 2017

I was unable to find a single tutorial that would show exactly how to install Laravel on Debian, possibly because I was using PHP 7.0 on…

Converting a Website to HTTPS (Adding SSL Encryption) Tutorial 04 April, 2017

The internet is gradually becoming more and more encrypted and secure. While this is most important for websites where you might enter…

Setting up a Linux Webserver with SSH in 20 Steps (Debian 8) 19 March, 2017

Here is a guide to Setting up a Linux Webserver with SSH. This is for Debian 8 (Jessie) although other versions of Debian will be similar…

How to write a WordPress Plugin 05 October, 2016

There are 1,000s of WordPress Plugins and each one is individual, but for anyone wanting to make a plugin for themselves here are a few…

Post Volume Stats 15 September, 2016

Post Volume Stats Wordpress plugin, "Post Volume Stats", is free to download here. It is a plugin to show the user's posting patterns - from…

Add Target Fixer 14 September, 2016

This is currently a very simple plugin that solves the target="_blank" vulnerability, which is a security risk in that it allows phishing to…

Projects 30 July, 2016

You can see my public git repos at my GitHub profile. Some Personal Websites Here are some websites I've set up at various points as part of…