Skip to content

Instantly share code, notes, and snippets.

@FredLackeyOfficial
FredLackeyOfficial / generate-combinations.js
Created November 5, 2023 15:49
Simple JavaScript method to return all possible combinations from a given array.
const generateCombinations = (arr, length) => {
if (length === 0) return [[]];
if (arr.length === 0 || length > arr.length) return [];
if (length === 1) return arr.map(item => [item]);
const combinations = [];
for (let i = 0; i < arr.length; i++) {
@FredLackeyOfficial
FredLackeyOfficial / update-route53-contacts.sh
Created August 6, 2022 10:45
AWS CLI syntax to update all Route 53 domains with the same contact
# Step 1 of 2: Export Contact Info
export CONTACT_INFO="FirstName=Fred,LastName=Lackey,ContactType=PERSON,AddressLine1=PO Box 6066,City=Live Oak,State=FL,CountryCode=US,ZipCode=32060,PhoneNumber=+1.4073743733,Email=fred.lackey@gmail.com"
# Step 2 of 2: Run command
aws route53domains list-domains --profile fredlackey | jq -r '.Domains' | jq -r '.[].DomainName' | while read DOMAIN; do \
eval "aws route53domains update-domain-contact --profile fredlackey --domain $DOMAIN --admin-contact \"$CONTACT_INFO\" --registrant-contact \"$CONTACT_INFO\" --tech-contact \"$CONTACT_INFO\""; sleep 10;
done;
# Format for the contact info blob:
# FirstName=string,LastName=string,ContactType=string,OrganizationName=string,AddressLine1=string,AddressLine2=string,City=string,State=string,CountryCode=string,ZipCode=string,PhoneNumber=string,Email=string,Fax=string,ExtraParams=[{Name=string,Value=string},{Name=string,Value=string}]
@FredLackeyOfficial
FredLackeyOfficial / defaults-file.json
Last active June 15, 2022 00:19
Merge a simple JSON object with a more complex version to ensure defaults are always included (even if empty).
{
"parentIdentifier": "ROOT",
"name": "",
"protocol": "",
"parameters": {
"port": "",
"read-only": "",
"swap-red-blue": "",
"cursor": "",
"color-depth": "",
@FredLackeyOfficial
FredLackeyOfficial / setup-docker.sh
Last active April 11, 2020 14:16
Setup Docker on Linux
#!/bin/bash
# curl https://gist.githubusercontent.com/FredLackeyOfficial/d993aa52fbd2795bf39e9226db572dba/raw/setup-docker.sh | sudo bash
# bash <(curl -Ls https://gist.githubusercontent.com/FredLackeyOfficial/d993aa52fbd2795bf39e9226db572dba/raw/setup-docker.sh)
sudo apt remove docker docker-engine docker.io
sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
@FredLackeyOfficial
FredLackeyOfficial / eod.sh
Last active February 7, 2020 01:42
Push EOD changes to Git
#!/bin/bash
CUR_DIR=$(pwd)
echo "Committing end of day changes ..."
for i in $(find . -name ".git" | cut -c 3-); do
echo "";
echo "Committing $i ...";
@FredLackeyOfficial
FredLackeyOfficial / README.md
Last active October 27, 2017 12:05
Add Cron Job to Restart CGMiner Service Periodically

1. SSH Into Controller
Self explainatory.

2. Create Shell Script
Create the folder, the file...

mkdir /usr/share/cron/  
vi /usr/share/cron/cgrestart.sh  

The script is...

@FredLackeyOfficial
FredLackeyOfficial / README.md
Last active October 25, 2017 22:33
Using DbSchema with Postgres, Sequelize, and Sequelize-Auto

Using DbSchema with Postgres & Sequelize

The road to using Postgres, Sequelize, Sequelize-Auto, and DbSchema have some bumps along the way. More specifically, these "bumps" have to do with automatic incrementing and audit fields. These are the steps I recommend when working with this combination.

Rule #1: Do not use Sync
Sequelize-Auto does not handle indexes. For this reason, any indexes created in DbSchema will be ignored. This is why we use DbSchema to work with database modifications. We only tweak enough of Sequelize's models to work with the columns. Since the models will not have indexes by default, we must never use Sequelize to push changes to the database.

The process...

1. Define Sequences

@FredLackeyOfficial
FredLackeyOfficial / git-keep
Created June 21, 2017 18:56 — forked from miraculixx/git-keep
create .keep files for empty directories currently ignored by git
#!/bin/bash
# create .keep files for empty directories currently ignored by git
# run git clean -nd to see which directories are empty and therefore ignored by git currently
# run git keep to add these directories by adding a .keep file
# see this discussion http://stackoverflow.com/questions/115983/how-do-i-add-an-empty-directory-to-a-git-repository/21422128#21422128
git clean -nd | awk '{ print $3 }' | xargs -L1 -I{} touch {}.keep
@FredLackeyOfficial
FredLackeyOfficial / dreamfactory-docker-up.sh
Created June 21, 2017 18:19
Bash script to bring up Dreamfactory in Docker
#!/bin/bash
main(){
local PROJECT_PATH="$(realpath "../")";
local PROJECT_NAME="$(basename $PROJECT_PATH)";
create_network "$PROJECT_NAME"
create_databases "$PROJECT_NAME"
create_dreamfactory "$PROJECT_NAME"
}
@FredLackeyOfficial
FredLackeyOfficial / remove-all-group-members.js
Created March 30, 2017 14:15
Remove all members from Facebook group
// Load the group's member list and then paste this into the console.
// You may have to hit RETURN after the end of it.
// And you'll also have to click the CONFIRM button a bunch of times.
var deleteAllGroupMembers = (function () {
var deleteAllGroupMembers = {};
// the facebook ids of the users that will not be removed.
// IMPORTANT: add your own facebook id here so that the script will not remove yourself!
var excludedFbIds = ['1234','11223344']; // make sure each id is a string!
var usersToDeleteQueue = [];