Skip to content

Instantly share code, notes, and snippets.

View scottsb's full-sized avatar

Scott Buchanan scottsb

View GitHub Profile
@scottsb
scottsb / gist:ebd4e00be4eb2cb18cc2
Last active August 29, 2015 14:10
All CSS Slide-Out Menu
<html>
<head>
<style type="text/css">
body {
font-family: helvetica, sans-serif;
margin: 0;
}
p {
margin: 0 0 1em;
}
@scottsb
scottsb / example.php
Last active September 11, 2015 22:01
Hack to handle multiple Exception types with a single block
<?php
class Foo extends Exception {}
class Bar extends Exception {}
class Baz extends Exception {}
try {
throw new Foo();
} catch (Exception $e) {
switch (get_class($e)) {
case 'Foo':
@scottsb
scottsb / resetting-csync2-cluster.md
Last active October 25, 2021 20:28
Guide to Resetting a csync2 Cluster

Guide to Resetting a csync2 Cluster

Introduction

These are possible steps to reset a csync2 cluster that has been seriously fubared. This is an apocalyptic approach and should only be used when more surgical fixes (like correcting an individual conflict) aren't workable.

Use Cases

@scottsb
scottsb / example.php
Created September 28, 2015 13:45
Comedy of Errors
<?php
class Example {
protected $_defaultItemKey;
protected $_items;
// BUG: forces a zero-base reindex when default item is added to front of array
public function __construct($defaultItem) {
// Pretend these are loaded from the database
$this->_items = [
@scottsb
scottsb / gist:b67753b2c196fc33946c
Last active November 28, 2015 19:19
Bookmarklet to create Google Now reminder
javascript:open('https://www.google.com/webhp?#q=set+a+reminder','targetname','height=480,width=980');
@scottsb
scottsb / sugit
Last active February 2, 2016 16:26
Run Git as Repo Owner
#!/bin/sh
# Execute git commands passed on command line as whatever user owns the current Git repository.
# Script can be substituted 1:1 for git in commands.
# Available under the MIT license.
sudo -u $(stat -c %U $(git rev-parse --git-dir)) git "$@"
@scottsb
scottsb / casesafe.sh
Last active January 16, 2024 08:47 — forked from Hais/workspace.sh
Create and manage a case-sensitive disk-image on macOS (OS X).
#!/bin/bash
# ---------------------------------------------------------
# Customizable Settings
# ---------------------------------------------------------
MOUNT_POINT="${CASE_SAFE_MOUNT_POINT:-${HOME}/casesafe}"
VOLUME_PATH="${CASE_SAFE_VOLUME_PATH:-${HOME}/.casesafe.dmg.sparseimage}"
VOLUME_NAME="${CASE_SAFE_VOLUME_NAME:-casesafe}"
VOLUME_SIZE="${CASE_SAFE_VOLUME_SIZE:-60g}"
@scottsb
scottsb / fix-diffcase-images.sh
Last active April 19, 2019 10:24
Fix name of images in Magento whose names only vary by case (renaming them both in the filesystem and the database catalog). This is useful if media files need to pass through a case-insensitive filesystem, like a Mac.
#!/bin/bash
# Settings
SUFFIX=alt
MAGERUNCMD=magerun
# Sanity Checks
type $MAGERUNCMD >/dev/null 2>&1 || {
echo "ERROR: This script requires the command '$MAGERUNCMD' to be executable in the current path."
exit
@scottsb
scottsb / checklist.md
Created February 24, 2016 20:25
Data to Hand Off in Digital Agency Transition
  • Credentials for site admin
  • Credentials for hosting environment
  • Credentials for domain registration & DNS
  • Admin access to any site analytics platforms
  • If the code is in version control, copy of full repository including metadata (so we can preserve commit history)
  • Explanation of how code is currently deployed to the server, including a copy of any scripts used
  • License keys & registration information for any platform third-party modules purchased
  • Any code or architecture documentation
  • List of any known outstanding defects or maintenance improvements needed
@scottsb
scottsb / paypal-id-formats.md
Last active June 2, 2020 14:10
PayPal API ID Prefix Formats

PayPal API ID Prefix Formats

PayPal uses various prefixes to distinguish different types of unique IDs in their APIs, but these are not currently documented in a single place. This Gist seeks to bring that information together into a single place. If there is something missing, please reach out through one of the channels on my GitHub profile since GitHub doesn't send notifications on Gist comments.

Formats