Resources Software Development Web Security

AWS autoscaling links and resources

AWS autoscaling lets you set up groups of EC2 instances which are controlled by a load balancer. The load balancer in turn makes sure your app has the correct number of EC2 instances running at all times. If your traffic is high it adds the maximum that you set. If traffic goes down it adjust to have the minimum EC2 instances that you set.

This system is great for startups who have no idea if their app will go viral or just flop. Often they just flop. But if you are lucky and it takes off you want to be able to handle the traffic so you don’t lose users.

Documentation link to AWS autoscaling

Running EC2 instances at Scale with autoscaling groups – small Ebook that walks through the whole process including using CodeDeploy.

Resources Software Development

AWS resources and links

AWS Parameter Store vs. AWS Secrets Manager – great short article that covers use cases and information about each and when to use.

Resources Software Development

Linux how to copy files from one directory to another without copying the directory name

This is for later when I forget how to do this. Basically I wanted to know how to move files from one directory into another recursively without the cp command also copying the directory name.

Basically if you use cp -r /directory then the contents of the directory and all within are copied, but this also copies the name of the current directory.

expect the unexpected
With linux expect the unexpected

The cp command is not logical, it doesn’t do what a user would expect.  Instead of just copying the files from /var/www/example to say /var/www/new-directory like one would logically expect, this command copies the files into new-directory but also puts them inside example so you end up with /var/www/new-directory/example/fileshere which is probably not what anyone expects.

So what kind of sorcery is required to get the outcome we would expect?
You add a tiny little dot to the first directory like so
cp -r /var/www/example/. /var/www/new-directory

Yes it is very important you structure the command EXACTLY like the above or else you won’t get what you want. Including the final slash with a dot after example/. tells the cp command to not copy the directory name, but to put all the files from that directory into the other.
Know you know…

now you know



Resources Software Development

GIT how to check user settings

With git you can configure global or per repository settings. Global means any repository on your computer that you want to use will use these settings unless you specify specific settings per repository.

The settings I am speaking of are your username, email and remote origin etc.  This article at this link covers the basics of setting your email and username.

But how do you see what the current values of a repository are? Navigate to the repository, to the level where your .git directory is and type the following:
git config –list

You should see something like the following:

git configs example
example git configs output

You can also view individual settings such as or with the following
git config

git config

Those commands will output the current values that are set. Basically you are telling git to echo/print the current values.
Here is a list of all of the values you can set in the git configuration.

Here is a link to the documentation that explains how to get and set git configuration values.

The documentation links show mostly how to set global settings for git, many times you will want per repository settings such as the origin. This article covers nicely how to set per repository settings.

Bitbucket has created this really nice git tutorial and documentation.

Here is another page of links and resources about GIT

Resources Software Development

Devops resources and links

Devops is the process of going from code to deployment operations.

When to use AWS OpsWorks vs. CloudFormation or Elastic Beanstalk


Resources Software Development

Phpmyadmin links and resources.

I wanted to use Phpmyadmin without the Apache install running. I couldn’t figure it out, but someone else did.

Here is a link to how to use phpmyadmin without apache

Software Development Web Development

PHP tools for CI CD testing etc.

7 Continuous Integration Tools for PHP Laravel Developers

Resources Software Development

CI/CD resources and information.

Here is a list of Articles, videos and other information about Continuous integration, deployment etc. etc. Devops resources.

CI/CD article

Understanding the CI/CD Pipeline: What It Is, Why It Matters 

Set Up a CI/CD Pipeline on AWS 

Continuous integration vs. continuous delivery vs. continuous deployment

CICD on AWS using CodeBuild, CodeDeploy and CodePipeline

Resources Software Development

Database design info resources and links

This page is all about databases, their design, how they work, how they replicate etc.

Living without atomic clocks – article about the subject and cockroachdb

Exploiting a Natural Network Effect for Scalable,
Fine-grained Clock Synchronization – pdf link

Amazon time sync service – atomic clock ntp time syncing for AWS based systems.

STORING UTC IS NOT A SILVER BULLET – article about storing timestamps

Keeping Time With Amazon Time Sync Service

Setting the time for your Linux instance – amazon cloud

Storing Date/Times in Databases 

Resources Software Development Web Development

yaml resources and links

Yaml is used for configuration of different software used for development.

WHY JSON ISN’T A GOOD CONFIGURATION LANGUAGE – good article that explains why yaml is better for configuration than json. When I originally encountered yaml I was like WTF another damn BS PITA I have to learn. Honestly I don’t learn this shit more than what I need to get things done. Your brain only remembers about 23% of what you learn 12 months later anyways. So trying to learn things 100% inside and out is over 75% a waste of time. LOL

Yaml website – reference card

Yaml primer – great intro on github