Skip to content

Instantly share code, notes, and snippets.

@kevinwright
kevinwright / proresproxy.sh
Last active February 18, 2024 21:14
Use ffmpeg to build prores proxies for Premiere Pro
#!/usr/bin/env bash
# Usage notes
# ===========
#
# proxy_watermark.png needs to be in the same directory as the script
# download from here: http://whoismatt.com/images/2016/7-july/adobe_proxy_logo.png
#
# on OSX, both pv and ffmpeg will need to be installed via homebrew
@kevinwright
kevinwright / arch-firstboot.md
Last active October 25, 2023 08:28
Arch first-boot configuration. Setup the first user, sudo, vm tools, and enough of a dev env to support AUR+yaourt

OpenSSH daemon

pacman -S openssh
systemctl start sshd
systemctl enable sshd.socket

Sudoers

@kevinwright
kevinwright / DesyncedCodec.md
Last active September 13, 2023 19:55
DesyncedCodec.md

Descyned Data

A guide to decrypting clipboard pastes

Part 1 - Base62

The rest of this guide will be based off the following string:

DSC8i2aZu6y0tMLNB0PBhLM2MZw2U2EWgeL4CeghO42QyxI30UveL3DsdAx2U

To test your current state

get self then match against PoweredDown, PathBlocked, etc.

To see if you have an empty slot

Check if you have available space for something you'd normally never pick up

To test if a parameter is undefined

Compare Item against blank

To avoid a behaviour auto-running on copied buildings

@kevinwright
kevinwright / S3Handler.scala
Created June 29, 2023 10:40
Coursier S3 handler
package example.com
//To Use:
// URL.setURLStreamHandlerFactory(S3HandlerFactory)
// val s3repo: Repository = MavenRepository("s3://bucket/maven/release")
import software.amazon.awssdk.auth.credentials.DefaultCredentialsProvider
import software.amazon.awssdk.core.sync.ResponseTransformer
import software.amazon.awssdk.regions.Region
import software.amazon.awssdk.services.s3.S3Client
@kevinwright
kevinwright / HandlebarsEngine.scala
Created July 20, 2018 08:27
Handlebars.java -> scala adaptor
import java.{util => ju}
import com.github.jknack.handlebars.context.{JavaBeanValueResolver, MapValueResolver, MethodValueResolver}
import com.github.jknack.handlebars._
import com.github.jknack.handlebars.helper.EachHelper
import com.github.jknack.handlebars.io.ClassPathTemplateLoader
import scala.reflect.runtime.{universe => ru}
import scala.util.Try
import scala.collection.JavaConverters._
#!/bin/bash
if [ $# -lt 2 ]; then
echo "format: git_cleanup <repo name> [-x/--expunge <directory 1> -l/--keeplatest <directory 2> ...]"
exit
fi
PROJ="$1"
shift
#!/bin/bash
#disable globbing of the *
set -f
INPUT=$1
SUBBED=($(
sed \
-e "s,multiply,*,g" \
@kevinwright
kevinwright / ansi_up.css
Created February 7, 2015 18:20
ansi_up styles
.ansi-black-fg { color: rgb(0,0,0); }
.ansi-red-fg { color: rgb(205,0,0); }
.ansi-green-fg { color: rgb(0,205,0); }
.ansi-yellow-fg { color: rgb(205,205,0); }
.ansi-blue-fg { color: rgb(0,0,238); }
.ansi-magenta-fg { color: rgb(205,0,205); }
.ansi-cyan-fg { color: rgb(0,205,205); }
.ansi-white-fg { color: rgb(229,229,229); }
.ansi-bright-black-fg { color: rgb(127,127,127); }
@kevinwright
kevinwright / ThrottledExecutionContext.scala
Last active October 5, 2018 08:09
Limit number of futures running in parallel (now updated with seize/release implementations suggested by roland)
import java.util.concurrent.ConcurrentLinkedQueue
import java.util.concurrent.atomic.AtomicInteger
import scala.concurrent.ExecutionContext
import scala.util.control.NonFatal
import scala.annotation.tailrec
//inspired by https://gist.github.com/viktorklang/4552423
object ThrottledExecutionContext {
def apply(maxConcurrents: Int)(implicit context: ExecutionContext): ExecutionContext = {