Skip to content

Instantly share code, notes, and snippets.

View patcon's full-sized avatar

Patrick Connolly patcon

View GitHub Profile
@patcon
patcon / README.md
Last active January 2, 2016 17:49
Using Sqwiggle in a hover window

Introduction

Sqwiggle is a remote collaboration tool. [video demo]

Using squiggle is great if you have multiple monitors and can keep the application window open on the side. However, it's much simpler to forget that it's open when you have it below your working window on a single screen.

Installing Afloat, an OSX window manager, allows you to float a small, transparent app window over your single workspace.

Requirements

@patcon
patcon / create-hubot-script-repo
Last active March 9, 2017 10:43
Small helper script to make managing hubot-scripts org less tedious.
#!/usr/bin/env ruby
## Description:
# Small helper script to make managing hubot-scripts org less tedious.
#
## Requirements:
# gem install octokit
#
## Usage:
# create-hubot-script-repo <username>/<repo> [<org>]
@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)
➜ 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...
#!/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
@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.
@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

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: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:
#!/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