Skip to content

Instantly share code, notes, and snippets.

Graham McMillan gmcmillan

  • Denver, Colorado
Block or report user

Report or block gmcmillan

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@gmcmillan
gmcmillan / purge-ban-domain-varnish.md
Created Mar 30, 2017 — forked from aderowbotham/purge-ban-domain-varnish.md
Purge (ban) an entire domain in Varnish Cache 3
View purge-ban-domain-varnish.md

How to purge ('ban') an entire domain in Varnish Cache 3

#####EDIT: NB Ban is technically different from Purge. Banned objects remain in memory but banning is faster than purging. Read the Varnish 3 documentation here and here.

Purge may be a more appropriate action for your use-case; although the examples in the gist below work, it's not necessarily the best way of doing this.


@gmcmillan
gmcmillan / ssl-domain-alias.php
Last active Jul 11, 2019
use a different domain for wp-admin, from this stack exchange post: http://wordpress.stackexchange.com/a/39210/81906
View ssl-domain-alias.php
<?php
// this goes in wp-content/mu-plugins/ssl-domain-alias.php
/**
* Plugin Name: SSL Domain Alias
* Plugin URI: http://wordpress.stackexchange.com/questions/38902
* Description: Use a different domain for serving your website over SSL, set with <code>SSL_DOMAIN_ALIAS</code> in your <code>wp-config.php</code>.
* Author: TheDeadMedic
* Author URI: http://wordpress.stackexchange.com/users/1685/thedeadmedic
View keybase.md

Keybase proof

I hereby claim:

  • I am gmcmillan on github.
  • I am mcmgr (https://keybase.io/mcmgr) on keybase.
  • I have a public key whose fingerprint is 1AE8 6C97 4E2B 903B 250C 0A63 5B88 A21A 0B47 7BB5

To claim this, I am signing this object:

@gmcmillan
gmcmillan / safe_browsing.rb
Last active May 16, 2016
Ruby Class to Query Google Safe Browsing API in Batches
View safe_browsing.rb
# Note: POST requests are limited to 500 domains each with the SB API, which is why this code splits it into batches
require 'net/https'
require 'open3'
class SafeBrowsing
attr_reader :opt
attr_accessor :results
View filebench-mbpr.txt
FileBench Version 1.4.4
filebench> load webserver
98008: 3.236: Webserver Version 2.1 personality successfully loaded
98008: 3.236: Usage: set $dir=<dir>
98008: 3.236: set $filesize=<size> defaults to 16384
98008: 3.236: set $nfiles=<value> defaults to 1000
98008: 3.236: set $dirwidth=<value> defaults to 20
98008: 3.236: set $nthreads=<value> defaults to 100
98008: 3.236: set $iosize=<size> defaults to 1048576
98008: 3.236: run runtime (e.g. run 60)
@gmcmillan
gmcmillan / download_all_chef_cookbooks.rb
Created Feb 13, 2013
Quick ruby script to download all cookbooks (all versions) from a Chef server.
View download_all_chef_cookbooks.rb
#!/usr/bin/env ruby
cookbook_list = `knife cookbook list -a`.split("\n")
cookbook_list.each do |line|
line.strip!
line.match(/^([a-z0-9]+\-[a-z0-9-]+|\w+)\s+(\d\.\d\.\d|.+)$/)
name = $1
versions = $2
@gmcmillan
gmcmillan / parse_ini.rb
Created Jan 21, 2013
Simple parser for my.cnf/ini files without needing an external library.
View parse_ini.rb
class Config
# The path to the config file as a String.
attr_reader :file
# Attributes used while config is parsed.
#
# Example:
# [mysqld] # group
# param = val # param, val
View upgrade_ruby.md

1. Install Xcode

2. Use XCode to install Command Line Utilities (GCC)

Open Xcode. Click the "Xcode" button in the top left of the screen near the Apple logo, then click "Preferences", then click "Downloads".

3. Install rbenv:

View cpanel_cpconf_value
root@cvm01 [/var/cpanel]# /usr/local/cpanel/bin/fetch_cpconf_value access_log
/usr/local/cpanel/logs/access_log
View gist:4495698
irb(main):002:0> "AaAAaAA".match('\A[a-zA-Z]')
=> #<MatchData "A">
You can’t perform that action at this time.