Skip to content

Instantly share code, notes, and snippets.

View patcon's full-sized avatar

Patrick Connolly patcon

View GitHub Profile
#!/bin/bash
# Setup and start Sauce Connect for your TravisCI build
# This script requires your .travis.yml to include the following two private env variables:
# SAUCE_USERNAME
# SAUCE_ACCESS_KEY
# Follow the steps at https://saucelabs.com/opensource/travis to set that up.
#
# Curl and run this script as part of your .travis.yml before_script section:
# before_script:
@patcon
patcon / README.md
Created July 26, 2013 19:00
Idea: Create tool to convert Know Your Company emails into word clouds

KYC Word Cloud Generator

Know Your Company is a service being piloted by 37signals, which aims to help employees at medium sized businesses stay connected. It sends regular weekly emails, to which reply is optional. These emails ask either stand-up-type questions or fun get-to-know-one-another questions, and later compile them into a nice message and sends it out to everyone.

Sometimes these emails are too long, and so it seems helpful to create a word cloud that can be posted to a company network, such as Yammer.

This gist will log the ideation until a real repo is created, if this happens at all.

#!/usr/bin/env ruby
#
# this is a special meta-check. It runs ping checks against all hosts in
# the /endpoints API and sends individual results directly to sensu-client via
# the udp/3030 client socket. this is different from the normal sensu check model
# where individual scripts run and their exit status and output is used to create
# a single event.
#
# the reason for this check is to be able to dynamically ping a list of hosts
# without the race conditions and timing issues involved with creating individual
@patcon
patcon / gist:6133875
Last active February 1, 2019 14:09
Idea: Simple skill matrix planning and evaluation for growing organizations.

Context

As an agile organization grows, it comes under increasing pressure to define the composition of skills in the organization. This is important for many things, including internal advancement, hiring, and professional & personal growth.

Premises

  • relative skills between team members are more important than absolute milestones.
  • skills matrix should be dynamic and evolving.
  • Maintainance and creation of of system should:

1.1 Definition of Role

A “Role” is an organizational entity with a “Purpose” to express, “Domains” to control, and “Accountabilities” to perform.

1.2 Responsibilities of Role-Filling

When filling a Role, a Partner accepts the following responsibilities:

1.2.1 Processing Tensions

A Partner is responsible for sensing “Tensions” for that Role and processing them. A Tension is a gap between what is, and what could be better.

1.2.2 Processing Accountabilities

A Partner is responsible for breaking down their Role’s Accountabilities into Projects and Next-Actions to move them forward. A Project is an outcome to achieve, and a Next-Action is a concrete, physical action that could be executed immediately if time allowed.

1.2.3 Processing Projects

@patcon
patcon / gist:6255170
Last active December 21, 2015 05:09
Simplest presentation possible with Big.py and a bash webserver.

Ok, so I've just discovered my favourite, simplistic way to create presentations like this demo slideshow. The idea is that the words on each slide are made to fill the whole frame, so formatting is as easy as creating a new line.

So setting up a presentation is as simple as this:

git clone https://github.com/harperreed/bigpy.git
cd bigpy
@patcon
patcon / README.md
Last active December 24, 2015 04:09
Little script to generate composer.json files for all modules/themes/profiles from root Drupal directory.

Usage

  • Copy script and template from this repo into root of 8.x branch of Drupal repo.
  • Run ruby -e "require './generate-composer-json-files.rb'; generate_composer_files"

TODO

  • Add ability to generate composer.json for Drupal components.
  • Add script to split out repos with git subtree split and push to github.
#!/usr/bin/env sh
# Remove the versiono of puppet installed by the vagrant guys.
# Augeas is broken on it.
sudo rm -rf /opt/vagrant_ruby/lib/ruby/gems/1.8/gems/puppet*
sudo rm -rf /opt/vagrant_ruby/bin/puppet*
sudo rm -rf /opt/vagrant_ruby/bin/facter
echo "Ensuring Puppet package repo available..."
wget http://apt.puppetlabs.com/puppetlabs-release-precise.deb --quiet
➜ proviso git:(basic-puppet-lamp) ✗ vagrant provision
[default] Configuring cache buckets...
[default] Running provisioner: shell...
[default] Running: /var/folders/qh/3rl39sq93zd248f1bs9gq3r80000gn/T/vagrant-shell20131012-93253-4gjaph
Ensuring Puppet package repo available...
Updating package repositories...
Ensuring version 3.3.1 of Puppet installed...
[default] Configuring cache buckets...
[default] Running provisioner: puppet...
Running Puppet with default.pp...
@patcon
patcon / gist:7158234
Created October 25, 2013 17:11
Disqus Devops job posting
Development Operations Lead
at Disqus (View all jobs)
Disqus - San Francisco
We're looking for an experienced Development Operations Lead to play an integral operations role at Disqus. The ideal person is obsessed with uptime and site speed and has years of experience with server hardware and Linux systems. At the same time, you are passionate about working with development engineers to get more done faster with less trouble. You'll be working at our office in San Francisco. Disqus reaches over 1 billion unique visitors a month. You'll be working on large scale challenges immediately as well as make a huge, lasting impact on all technical decisions.
What You'll Do
Lead our server-side infrastructure, including configuring Linux systems (e.g. packaging) and dealing with hardware.
Directly responsible for site reliability
Participation in 24/7 on-call rotation (be available by phone or email in case something goes wrong)