Skip to content

Instantly share code, notes, and snippets.

View ethankhall's full-sized avatar

Ethan Hall ethankhall

  • Gusto
  • Seattle, WA
View GitHub Profile
@ethankhall
ethankhall / Dockerfile
Last active June 4, 2023 09:43
Sorbet Linux-ARM build
# syntax=docker/dockerfile:1.4
FROM gusto/ruby:2.7.6-ubuntu20.04 as build
ARG GIT_TAG=0.5.10458.20220926130158-4007ec60a
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN <<END_OF_RUN
set -ex
apt-get update
apt-get install -y software-properties-common
@ethankhall
ethankhall / zsh.yaml
Created January 2, 2018 00:51
cfg-management
- template:
src: zshrc
dest: "$HOME/.zshrc"
- command:
exec: git clone --recursive https://github.com/ethankhall/prezto.git $HOME/.zprezto
- command:
exec: ln -s $HOME/.zprezto/runcoms/@it@ $HOME/.@it@
items:
@ethankhall
ethankhall / NomadTestMain.kt
Created September 19, 2017 17:19
Nomad Test Main
import com.hashicorp.nomad.apimodel.EphemeralDisk
import com.hashicorp.nomad.apimodel.Job
import com.hashicorp.nomad.apimodel.Resources
import com.hashicorp.nomad.apimodel.RestartPolicy
import com.hashicorp.nomad.apimodel.Task
import com.hashicorp.nomad.apimodel.TaskGroup
import com.hashicorp.nomad.javasdk.NomadApiClient
import com.hashicorp.nomad.javasdk.NomadApiConfiguration
import org.apache.commons.lang.RandomStringUtils
import org.slf4j.Logger
configurations {
groovy
}
dependencies {
groovy localGroovy()
}
project.tasks.create("generateExample", JavaExec) { task ->
def inputFile = file("input.groovy")
@ethankhall
ethankhall / upload.sh
Created August 16, 2016 21:48
Upload pypi to bintray
NAME=$1
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
REPO=""
USERNAME=""
KEY=""
echo "Uploading $1 to bintray"
if jfrog bt package-show $USERNAME/$USERNAME/$NAME > /dev/null; then
echo "Package already exists, not creating"
@ethankhall
ethankhall / tree
Created August 11, 2016 22:50
{py}gradle Directory Structure
$ tree
├── build.gradle
├── gradlew
├── foo
│ ├── build.gradle
│ ├── setup.cfg
│ ├── setup.py
│ ├── src
│ │ └── foo
@ethankhall
ethankhall / setup.py
Created August 11, 2016 22:49
Example setup.py for {py}gradle
from setuptools.dist import Distribution
import os
class GradleDistribution(Distribution, object):
"""The Python to Gradle bridge."""
#: The name of the requirements file generated by pygradle.
PINNED_TXT = 'pinned.txt'
@ethankhall
ethankhall / build.gradle
Created August 11, 2016 22:47
Sample build.gradle for {py}gradle
apply plugin: 'python-sdist'
dependencies {
python 'pypi:Werkzeug:0.7',
python 'pypi:Jinja2:2.4',
python 'pypi:itsdangerous:0.21',
python 'pypi:click:2.0'
}
apply plugin: 'python-sdist'
dependencies {
python 'pypi:Werkzeug:0.7',
python 'pypi:Jinja2:2.4',
python 'pypi:itsdangerous:0.21',
python 'pypi:click:2.0'
}
@ethankhall
ethankhall / flip.sh
Created June 17, 2016 23:35
Flip ascii
echo
echo -en "( º_º) ┬─┬ \r"
sleep .5
echo -en " ( º_º) ┬─┬ \r"
sleep .5
echo -en " ( ºДº)┬─┬ \r"
sleep .5
echo -en " (╯'Д')╯︵⊏ \r"
sleep .5
echo -en " (╯'□')╯︵ ⊏ \r"