Skip to content

Instantly share code, notes, and snippets.

@Gerst20051
Gerst20051 / resume.json
Created March 5, 2023 08:18
JSON Resume
{
"basics": {
"name": "Andrew Gerst",
"label": "Senior Software Engineer"
}
}
@Gerst20051
Gerst20051 / flatten.js
Last active November 3, 2023 01:19
Flatten JS Object Keys
function flatten(obj) {
const result = {};
for (const key of Object.keys(obj)) {
if (typeof obj[key] === 'object') {
const nested = flatten(obj[key]);
for (const nestedKey of Object.keys(nested)) {
result[`${key}.${nestedKey}`] = nested[nestedKey];
}
} else {
result[key] = obj[key];
@Gerst20051
Gerst20051 / watch.command.sh
Last active November 17, 2022 05:32
Bash Watch Command
# execute commands at a specified interval of seconds
function watch.command {
# USAGE: watch.commands [seconds] [commands...]
# EXAMPLE: watch.command 5 date
# EXAMPLE: watch.command 5 date echo 'ls -l' echo 'ps | grep "kubectl\\\|node\\\|npm\\\|puma"'
# EXAMPLE: watch.command 5 'date; echo; ls -l; echo; ps | grep "kubectl\\\|node\\\|npm\\\|puma"' echo date 'echo; ls -1'
local cmds=()
for arg in "${@:2}"; do
echo $arg | sed 's/; /;/g' | tr \; \\n | while read cmd; do
cmds+=($cmd)
@Gerst20051
Gerst20051 / gitlab-graphql-console-script.js
Last active August 19, 2022 23:05
GitLab GraphQL Console Script
(async () => {
const gitlabHost = window.location.host;
const gitlabUser = 'andrew';
const workingDirPath = '~/Desktop';
const snippetDirName = 'gitlab-snippets';
const getSnippetInfoForIds = async ids => {
const rawResponse = await fetch(`https://${gitlabHost}/api/graphql`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
@Gerst20051
Gerst20051 / github-gpg-key-setup.sh
Created July 24, 2022 12:38
Automate GitHub GPG Key Setup
#!/usr/bin/env sh
# ASCII: http://patorjk.com/software/taag/#p=display&f=Graffiti&t=Create%20Github%20GPG%20Key
# SOURCE: https://gist.github.com/Gerst20051/
function double_echo {
echo && echo
}
function newline {
@Gerst20051
Gerst20051 / docker-setup.sh
Last active September 26, 2022 18:24
Automate Docker Setup Script
#!/usr/bin/env sh
# ASCII: http://patorjk.com/software/taag/#p=display&f=Graffiti&t=Docker%20Setup%20Script
# SOURCE: https://gist.github.com/Gerst20051/bf1341448bd43f430761c1f8150fb1b7
function double_echo {
echo && echo
}
function newline {
@Gerst20051
Gerst20051 / macmini-preprovision-script.sh
Last active July 24, 2022 12:22
MacMini Preprovision Script
#!/usr/bin/env sh
# ASCII: http://patorjk.com/software/taag/#p=display&f=Graffiti&t=MacMini%20Preprovision
# SOURCE: https://gist.github.com/Gerst20051/1028d2ed1ca8de80afe5144e5188c745
playbook_repo_name='MacMini-Ansible-Playbook'
playbook_repo_url="git@github.com:Gerst20051/$playbook_repo_name.git"
playbook_repo_directory="$HOME/$playbook_repo_name"
secrets_repo_name='Ansible-Playbook-Secrets'
secrets_repo_url="git@github.com:Gerst20051/$playbook_repo_name.git"
@Gerst20051
Gerst20051 / github-ssh-key-setup.sh
Last active July 24, 2022 12:32
Automate GitHub SSH Key Setup
#!/usr/bin/env sh
# ASCII: http://patorjk.com/software/taag/#p=display&f=Graffiti&t=Create%20Github%20SSH%20Key
# SOURCE: https://gist.github.com/Gerst20051/3add6fe949b7eef6b4957e5b7d3707c6
github_ssh_key_directory=${1:-~/.ssh}
github_ssh_key_name=${2:-github_ed25519}
email_address=$3 # optional param - this will be prompted for if not provided
if [ $# -gt 0 ] && (($# < 2 || $# > 3)); then
@Gerst20051
Gerst20051 / ReactingNodes.js
Last active April 8, 2022 10:38
Reacting Nodes
// https://onecompiler.com/javascript/3xyh52rrn
class ReactingNodes {
#nodes = {};
node(component) {
return [this.#nodes[component], component in this.#nodes, this.update(component)];
}
update(component) {
@Gerst20051
Gerst20051 / .snowsql.config.default.clean.ini
Last active April 11, 2022 17:49
Default SnowSQL Config File ~/.snowsql/config
[connections]
[connections.example]
accountname = accountname
username = username
password = password1234
[options]
auto_completion = True
log_file = ../snowsql_rt.log