Skip to content

Instantly share code, notes, and snippets.

Avatar
👾
OOICU812

Ryan Parman skyzyx

👾
OOICU812
View GitHub Profile
View README.md

I'm OK; The Bull Is Dead

By Gopal K. Kapur
Published at Computerworld • JUN 21, 2004 6:00 AM PST

Early in my career, when I worked as an engineer, my boss had a process by which the engineering team was expected to report project status. He insisted that we use the following steps, in the specified order:

  1. Punch line: The facts; no adjectives, adverbs or modifiers. "Milestone 4 wasn't hit on time, and we didn't start Task 8 as planned." Or, "Received charter approval as planned."

  2. Current status: How the punch-line statement affects the project. "Because of the missed milestone, the critical path has been delayed five days."

@skyzyx
skyzyx / GoSublime.sublime-settings
Last active Dec 27, 2019
GoSublime preferences
View GoSublime.sublime-settings
{
"margo": {},
// The maximum amount of memory(MiB) that MarGo is allowed to use
"margo_oom": 1000,
// you may set specific environment variables here
// e.g "env": { "PATH": "$HOME/go/bin:$PATH" }
// in values, $PATH and ${PATH} are replaced with
// the corresponding environment(PATH) variable, if it exists.
@skyzyx
skyzyx / irrationality.md
Last active Jul 30, 2020
Dumb, small things that irritate me for completely irrational reasons.
View irrationality.md
@skyzyx
skyzyx / homebrew-gnubin.md
Last active Sep 21, 2020
Using GNU command line tools in macOS instead of FreeBSD tools
View homebrew-gnubin.md

macOS is a Unix, and not built on Linux.

I think most of us realize that macOS isn't a Linux OS, but what that also means is that instead of shipping with the GNU flavor of command line tools, it ships with the FreeBSD flavor. As such, writing shell scripts which can work across both platforms can sometimes be challenging.

Homebrew

Homebrew can be used to install the GNU versions of tools onto your Mac, but they are all prefixed with "g" by default.

All commands have been installed with the prefix "g". If you need to use these commands with their normal names, you can add a "gnubin" directory to your PATH from your bashrc.

@skyzyx
skyzyx / rca.md
Last active Aug 7, 2020
Internal (not customer-facing) Root Cause Analysis (aka Post-Mortem) template
View rca.md

[20XX-XX-XX] Service Name downtime

  • This is a blameless Post-mortem.
  • We will not focus on the past events as they pertain to "could've", "should've", etc.
  • All follow up action items will be assigned to a team/individual before the end of the meeting.
  • If the item is not going to be top priority leaving the meeting, don't make it a follow up item.

| | |

@skyzyx
skyzyx / spf.md
Last active Apr 3, 2020
SPF records
View spf.md

Once upon a time, my company faced an issue: We were trying to send emails via so many third-party services (Google Apps, Sendmail, Amazon SES, Marketo, various other tools), that we exceeded the SPF-mandated DNS lookup limit by several, causing many of our emails to be flagged as spam.

Here was the problem I needed to solve:

  1. Starting with a top level domain, fetch the SPF records for the domain.

  2. Results will include a blend of include:, ip4:, or ip6: statements.

  3. We want to collect all IP statements as a unique, flattened List.

@skyzyx
skyzyx / gist:9fb1a4d2cd1d2537f414aa709d04e279
Created Oct 14, 2018
Downsample to AAC 2-channel audio
View gist:9fb1a4d2cd1d2537f414aa709d04e279
ffmpeg -i $INPUT -c:v copy -af "pan=stereo|FL < 1.0*FL + 0.707*FC + 0.707*BL|FR < 1.0*FR + 0.707*FC + 0.707*BR" -vol 512 -movflags +faststart $OUTPUT
@skyzyx
skyzyx / ecs-host-status.sh
Created Sep 15, 2018
Check the launch status of the underlying EC2 instances in an ECS cluster.
View ecs-host-status.sh
##
# Requires:
# * AWS Unified CLI Tools
# * jq
##
cluster_name="name-of-ecs-cluster"
aws ec2 describe-instance-status \
--instance-ids $(
@skyzyx
skyzyx / reflog.sh
Created Sep 4, 2018
Prune large, already-deleted files from your Git history.
View reflog.sh
wget http://repo1.maven.org/maven2/com/madgag/bfg/1.13.0/bfg-1.13.0.jar -O ~/bin/bfg.jar
git clone git@github.com:{org}/{repo}.git
cd {repo}
java -jar ~/bin/bfg.jar --strip-blobs-bigger-than 100k --protect-blobs-from {branch}
git reflog expire --expire=now --all && git gc --prune=now --aggressive
git push --force
@skyzyx
skyzyx / single.html
Last active Jun 30, 2020
Hugo Partial for Generating the Table of Contents
View single.html
...
{{- partial "toc.html" . -}}
...
You can’t perform that action at this time.