Skip to content

Instantly share code, notes, and snippets.

View ryanprior's full-sized avatar

Ryan Prior ryanprior

View GitHub Profile

Keybase proof

I hereby claim:

  • I am ryanprior on github.
  • I am ryanprior (https://keybase.io/ryanprior) on keybase.
  • I have a public key ASC3mcyt1cxZwkguFjasaSi3a4sjw-0DrUBNvAWE9CQyTAo

To claim this, I am signing this object:

Hackathon ideas

using retina scan images / face recognition as an authenticator for Conjur

CLI command: `conjur authn explain`

shows you which environment variables and files are being used to establish your identity.

or perhaps as a verbose flag to `conjur authn whoami`

create an Emacs plugin that rearranges CSS rules according to criteria:

  • logical grouping (eg. sizing, positioning)
  • alphabetical ordering
  • by length of key

Summary of "Untangling Jenkins"

and ideas for further writing

Goal: improve developer and operator happiness

Problems leading to paralysis

  1. no. of Jenkins jobs
  2. dependencies (on various packages needed by job executors)
  3. a feeling (from dev & ops perspective) of overall complexity

Conjur Authenticators vs authn-local

A Comparison:

Authenticators authn-local
audience end-users Conjur developers/integrators
purpose authenticate a user or host create an auth token
access exposed externally via an API exposed inside the container via a UNIX socket
restrictions imposed by the design (eg ldap authenticator can only auth ldap users) none

Setting up Conjur with just docker and bash

Many of our demos require docker-compose and a compose file, plus maybe a startup script to get started with Conjur. That's convenient because it gives great reproducibility, and I personally like docker-compose a lot, but in this gist I want to show off how to get a Conjur server up and running with only docker and bash, nothing more.

This was performed on my dev machine running macOS 10.13.5, with Docker version 18.03.1-ce and GNU bash, version 3.2.57.

The Three Best Software Community Chat Options for 2019

For an online community built around software, the best chat options are Gitter, Zulip, and Matrix. I'll start with some traits they all share, then break out into strengths of each.

Gitter, Zulip and Matrix/riot.im are:

  • excellent: they do the job with practically no drawbacks
  • accessible: they make it easy for people to join your community
  • free software
# -*-mode:sh-*-
function py-cli {
(
export PYCLI_INPUT="$1"
shift
read -r -d ~~ program <<EOF
from os import environ
input = environ['PYCLI_INPUT']
$@
~~
input = ARGV.first unless ARGV.empty?
ARGV.shift unless ARGV.empty?
program = %(
input = "#{input}"
#{ARGV.join " "}
)
Process.exec("/usr/bin/python3", ["-c", program])
@ryanprior
ryanprior / gist:7a991aabf28f153802b28761c556c7fa
Created November 27, 2019 21:17
example: tar with gzip vs plain tar
ryan@swallowtail:~/.emacs.d$ time tar czf elpa.tar.gz elpa
real 0m3.048s
user 0m3.056s
sys 0m0.197s
ryan@swallowtail:~/.emacs.d$ time tar cf elpa.tar elpa
real 0m0.189s
user 0m0.028s
sys 0m0.155s
@ryanprior
ryanprior / *shell*
Created October 4, 2020 14:32
Links on esbuild package
$ ldd /gnu/store/rxkh9bdfg6rpqm2sxm22npq4sd5yyvlc-go-github-com-evanw-esbuild-0.7.9/bin/esbuild
linux-vdso.so.1 (0x00007ffccab9e000)
libgcc_s.so.1 => /gnu/store/01b4w3m6mp55y531kyi1g8shh722kwqm-gcc-7.5.0-lib/lib/libgcc_s.so.1 (0x00007f2934dc8000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f293499d000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f29345ac000)
/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/lib/ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2 (0x00007f2934bbc000)