Skip to content

Instantly share code, notes, and snippets.

@coderanger
coderanger / talk.md
Last active December 28, 2015 02:58
PyCon 2016 Submission

Behind Closed Doors: Managing Passwords in a Dangerous World

Description

A modern application has a lot of passwords and keys floating around. Encryptions keys, database passwords, and API credentials; often typed in to text files and forgotten. Fortunately a new wave of tools are emerging to help manage, update, and audit these secrets. Come learn how to avoid being the next TechCrunch headline.

Abstract

Secrets come in many forms, passwords, keys, tokens. All crucial for the operation of an application, but each dangerous in its own way. In the past, many of us have pasted those secrets in to a text file and moved on, but in a world of config automation and ephemeral microservices these patterns are leaving our data at greater risk than ever before.

@coderanger
coderanger / readme.md
Created February 25, 2016 03:23
ChefConf 2016 Proposal Ideas

Anyone Can Cook: Writing Good Cookbooks as a Beginner

Abstract

Learning to write high-quality Chef cookbooks can be a daunting prospect. There are few resources and little documentation. Let's dive in to the best practices to build usable, maintainable, and delightful Chef cookbooks. We'll cover the structure of great cookbooks for new and experienced Chefs alike.

Outline

Keybase proof

I hereby claim:

  • I am coderanger on github.
  • I am coderanger (https://keybase.io/coderanger) on keybase.
  • I have a public key whose fingerprint is AF25 8FBF 2D56 96D9 5764 0543 445B 6255 C512 B26E

To claim this, I am signing this object:

@coderanger
coderanger / file.rb
Created May 18, 2016 00:20
File transport API sketch.
# Remote file or directory proxy object.
#
# @since 1.0.0
class File
# Create a proxy object. All data is lazy-loaded so this does very little.
#
# @param connection [Airlift::Connection] Connection object to use for
# operations.
# @param path [String] File or directory path.
# @param follow_symlink [Boolean] Follow symlinks when getting file info.
@coderanger
coderanger / example.rb
Created June 15, 2016 22:31
Example of subclassing the Unicorn resource
module MyUnicorn
# Subclass the resource.
class Resource < PoiseApplicationRuby::Resources::Unicorn::Resource
# Give it a new name so we can find it.
provides(:my_unicorn)
# Add a new property. Could do more here.
property(:listen)
end
# Subclass the provider.
@coderanger
coderanger / make_diecut.py
Created September 6, 2016 03:05
Automatically extract diecut paths for an image.
#!/usr/bin/env python2
from __future__ import print_function
import argparse
import re
import sys
import attr
import cv2
import numpy
@coderanger
coderanger / chef-server.rb
Created April 4, 2017 21:00
ssd's config example for Chef Server external stuffs
fqdn "FQDN"
postgresql['external'] = true
postgresql['vip'] = 'EXTERNAL_PG_IP'
postgresql['db_superuser'] = 'DB_SUPERUSER'
postgresql['db_superuser_password'] = 'DB_SUPERUSER_PASSWORD'
opscode_solr4['external'] = true
opscode_solr4['external_url'] = 'http://EXTERNAL_ES_IP:9200'
opscode_erchef['search_provider'] = 'elasticsearch'
opscode_erchef['search_queue_mode'] = 'batch'
bookshelf['storage_type'] = :sql
@coderanger
coderanger / pitch.md
Last active January 6, 2018 04:11
Old clan warfare idea I found

Clan Warfare Revamp Make-A-KoL

Elevator Pitch

Make clan war be a turned-based tower defense minigame. Towers and tower upgrades have an escalating cost so larger clans don't have an advantage. Each player gets one clan attack a day if they are participating and can attack either a random clan for material rewards or a specific clan for bragging rights points (similar to PvP).

@coderanger
coderanger / email.md
Created June 9, 2018 23:19
Crazy good spam

From: 7N5C 7n5corp@gmail.com

Subject: Converstion with you

Noah,

My name is Stella Hughes and I would like to have a conversation with you about a project I have been trying to develop for the past several years.

@coderanger
coderanger / Dockerfile
Last active August 17, 2018 00:51
Dockerfile snippet for Caddy build
###################
# Caddy build image
FROM abiosoft/caddy:builder
ARG caddy_version="0.11.0"
ARG caddy_plugins="cors,realip,expires,proxyprotocol,prometheus"
ENV ENABLE_TELEMETRY="false"
# Disable a bunch of standard plugins we don't need.
RUN sed -i "/# build/a sed -Ei '/caddyhttp.(basicauth|browse|fastcgi|markdown|templates|websocket)/d' /go/src/github.com/mholt/caddy/caddyhttp/caddyhttp.go" /usr/bin/builder.sh