Skip to content

Instantly share code, notes, and snippets.

@eligrey
eligrey / object-watch.js
Created April 30, 2010 01:38
object.watch polyfill in ES5
/*
* object.watch polyfill
*
* 2012-04-03
*
* By Eli Grey, http://eligrey.com
* Public Domain.
* NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.
*/
@robinkraft
robinkraft / s3bucketsize.py
Last active October 11, 2024 16:44
Simple python script to calculate size of S3 buckets
import sys
import boto
# based on http://www.quora.com/Amazon-S3/What-is-the-fastest-way-to-measure-the-total-size-of-an-S3-bucket
# assumes you've already configured your access id & secret key
s3 = boto.connect_s3()
@randomecho
randomecho / australian-postcodes.sql
Last active August 26, 2026 06:04
Australian postcodes (with states and suburb names) geocoded with latitude and longitude.
/*
Taken and cribbed from blog.datalicious.com/free-download-all-australian-postcodes-geocod
May contain errors where latitude and longitude are off. Use at own non-validated risk.
*/
SET NAMES utf8;
SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO';
DROP TABLE IF EXISTS postcodes_geo;
@joemiller
joemiller / pantheon-check-ping-endpionts.rb
Created June 18, 2013 15:56
a meta-check for sensu that creates many other checks
#!/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
@smerchek
smerchek / windows_installer.pp
Last active October 17, 2016 13:29
Puppet for windows installers at Softek
# This is the basic structure for a Windows project puppet module at Softek
# We found that the Package type as provided by Puppet was not quite sufficient for our needs.
# Instead, we transfer the file, exec msiexec when it changes (while logging install output), and then ensure the service is running.
class some_project {
$installer = 'Project.Setup.msi'
$url = "puppet:///release/${installer}"
file { "c:/packages/${installer}":
ensure => 'file',
mode => '1777',
@codeinthehole
codeinthehole / user-data.sh
Created August 18, 2014 12:41
Get the value of an EC2 instance's tag
#!/usr/bin/env bash
#
# Get the value of a tag for a running EC2 instance.
#
# This can be useful within bootstrapping scripts ("user-data").
#
# Note the EC3 instance needs to have an IAM role that lets it read tags. The policy
# JSON for this looks like:
#
# {
@dlin-me
dlin-me / AuSimple.kml
Last active February 22, 2017 03:36
Australian State Boundaries Polygon ( Simplified version with overlap border )
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<name>Australia State Polygon (Simplified with Overlaps)</name>
<description>Australia State Boundaries</description>
<Style id="polyStyID_0">
<LineStyle>
<color>66000000</color>
<width>2</width>
</LineStyle>
@stamler
stamler / install_splunk.sh
Created December 10, 2014 21:17
Install Splunk Enterprise 6.2 on CentOS 7 Minimal as a non-root user systemd service and enable syslog on port 514 and http on port 80
#!/bin/bash
# Install Splunk 6.2 on CentOS 7 as a non-root user service that runs on boot with
# systemd. This script also opens the firewall to allow syslog on UDP port 514. Since
# we're running Splunk as non-root, this port is then forwarded to 5514. Configuring a
# syslog input in slunk on UDP 514 will gather this data. Must be run as root
# Create Account
useradd splunk
groupadd splunk
#! /bin/bash
# node deactivation for an all-in-one (aka monolithic) PE master
# ignores mcollective deactivation
# read certnames from STDIN (one per line) and deactivate
while read certname; do
/opt/puppet/bin/puppet license 2>&1 | head - -n2
/bin/su - peadmin -c "/opt/puppet/bin/mco service stop pe-puppet -I $certname"
/opt/puppet/bin/puppet node deactivate $certname
/opt/puppet/bin/puppet cert revoke $certname
@GeoffWilliams
GeoffWilliams / publish_graph.sh
Created May 27, 2015 22:49
Install an apache web server and graphviz, then do a puppet apply and graph the results (assumes a class called ordering::mysql in the node graph)
#!/bin/bash
PUBDIR=$1
FINAL_DIR="/var/www/html/${PUBDIR}"
GRAPH_DIR="/var/opt/lib/pe-puppet/state/graphs/"
puppet apply -e "package {['httpd','graphviz']: ensure => present, }
service { 'httpd': ensure => 'running', }"
echo "publishing to $FINAL_DIR"
mkdir -p $FINAL_DIR
puppet apply --graph -e 'include ordering::mysql' && \
cd $GRAPH_DIR