Skip to content

Instantly share code, notes, and snippets.

View skyzyx's full-sized avatar
👾
OOICU812

Ryan Parman skyzyx

👾
OOICU812
View GitHub Profile

Information is power. But like all power, there are those who want to keep it for themselves. The world’s entire scientific and cultural heritage, published over centuries in books and journals, is increasingly being digitized and locked up by a handful of private corporations. Want to read the papers featuring the most famous results of the sciences? You’ll need to send enormous amounts to publishers like Reed Elsevier.

There are those struggling to change this. The Open Access Movement has fought valiantly to ensure that scientists do not sign their copyrights away but instead ensure their work is published on the Internet, under terms that allow anyone to access it. But even under the best scenarios, their work will only apply to things published in the future. Everything up until now will have been lost.

That is too high a price to pay. Forcing academics to pay money to read the work of their colleagues? Scanning entire libraries but only allowing the folks at Google to read them? Providing scientific a

@skyzyx
skyzyx / convert_giphy_gifs.sh
Created August 24, 2018 00:22 — forked from colinbendell/convert_giphy_gifs.sh
Simple mass conversion of GIF to MP4 (h264/h265), WebM (vp8/vp9) and WebP
#!/bin/sh
curl 'https://giphy.com/page/2?next=2017-12-01%2004%3A15%3A01&amp%3Bis=1&is=1&json=true' -o gipyurls.json
jq .[].gifs[].images.original.url gipyurls.json |cut -d / -f 5 | parallel -j 20 --gnu curl https://media2.giphy.com/media/{}/giphy.gif -o {}.gif
parallel -j 20 --gnu "ffmpeg -f gif -i {} {}.h264.mp4" ::: *.gif
parallel -j 20 --gnu "ffmpeg -f gif -i {} -c:v libx265 {}.h265.mp4" ::: *.gif
parallel -j 20 --gnu "ffmpeg -f gif -i {} -c:v libvpx {}.vp8.webm" ::: *.gif
parallel -j 20 --gnu "ffmpeg -f gif -i {} -c:v libvpx-vp9 {}.vp9.webm" ::: *.gif
@skyzyx
skyzyx / webp-build.sh
Created August 24, 2018 19:57
Build all of the binaries for the WebP CLI tools.
#! /usr/bin/env bash
rm -Rf /tmp/libwebp && \
git clone https://github.com/webmproject/libwebp.git /tmp/libwebp && \
mkdir -p /tmp/libwebp/build && \
cd /tmp/libwebp/build && \
cmake -DWEBP_ENABLE_SIMD=ON -DWEBP_BUILD_CWEBP=ON -DWEBP_BUILD_DWEBP=ON -DWEBP_BUILD_GIF2WEBP=ON -DWEBP_BUILD_IMG2WEBP=ON -DWEBP_BUILD_WEBPINFO=ON -DWEBP_NEAR_LOSSLESS=ON ../ && \
make && \
make install
@skyzyx
skyzyx / ffmpeg.sh
Last active August 26, 2018 02:43
Compile FFMPEG with everything (including MP4 → Animated WebP support)
brew install ffmpeg \
--with-chromaprint \
--with-fdk-aac \
--with-fontconfig \
--with-freetype \
--with-frei0r \
--with-game-music-emu \
--with-libass \
--with-libbluray \
--with-libbs2b \
@skyzyx
skyzyx / single.html
Last active February 27, 2023 04:21
Hugo Partial for Generating the Table of Contents
...
{{- partial "toc.html" . -}}
...
@skyzyx
skyzyx / reflog.sh
Created September 4, 2018 20:09
Prune large, already-deleted files from your Git history.
wget http://repo1.maven.org/maven2/com/madgag/bfg/1.13.0/bfg-1.13.0.jar -O ~/bin/bfg.jar
git clone [email protected]:{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 / ecs-host-status.sh
Created September 15, 2018 02:52
Check the launch status of the underlying EC2 instances in an ECS cluster.
##
# Requires:
# * AWS Unified CLI Tools
# * jq
##
cluster_name="name-of-ecs-cluster"
aws ec2 describe-instance-status \
--instance-ids $(
@skyzyx
skyzyx / gist:9fb1a4d2cd1d2537f414aa709d04e279
Created October 14, 2018 08:10
Downsample to AAC 2-channel audio
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 / README.md
Last active May 12, 2022 20:24
SPF records

Instructions

Expectations

  • Verbalize your thoughts as you solve the problem. How you arrived at the solution is just as important as the solution itself.

  • Ask questions if you're not sure about something, rather than guessing.

  • Read the instructions, which consist of this entire page.

@skyzyx
skyzyx / rca.md
Last active December 8, 2022 19:32
Internal (not customer-facing) Root Cause Analysis (aka Post-Mortem) template

[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.

| | |