Skip to content

Instantly share code, notes, and snippets.

View asselstine's full-sized avatar

Brendan Asselstine asselstine

View GitHub Profile
@asselstine
asselstine / rbenv.yml
Created November 28, 2013 22:42
Ansible script to install rbenv. Intended for CentOS images.
---
# file ruby.yml
- hosts: all
gather_facts: false
sudo: true
vars:
# Where to install rbenv
- rbenv_root: /usr/local/rbenv
# The version of Ruby to install
#!/bin/bash
VOL_ID=$1
DESCRIPTION=$2
MAX_BACKUPS=$3
ERROR_EMAIL=test@developer.com
LOG_FILE=~/aws_vol_backup.log
function log {
When you have a bunch of poorly written Rails migrations that include data migrations, sometimes it is impossible to update very old databases because the migrations required old versions of the code.
How to get around this?
Use git-bisect.
@asselstine
asselstine / hotfix.sh
Last active April 3, 2020 12:12
hotfix workflow
# My Heroku git production remote is called 'production'
git remote -v
# Yields:
#
# origin git@github.com:Loft47/loft.git (fetch)
# origin git@github.com:Loft47/loft.git (push)
# production https://git.heroku.com/loft47-prod.git (fetch)
# production https://git.heroku.com/loft47-prod.git (push)
# staging https://git.heroku.com/vey-staging.git (fetch)
@asselstine
asselstine / truffle.js
Last active February 6, 2018 22:50
Truffle configuration example that shows how to import ES6 style modules.
require('babel-register') // should already exist in Truffle webpack box
require('babel-polyfill') // added to appease zeppelin-solidity
require('babel-node-modules')([ // added so that we can include zeppelin-solidity test JS
'zeppelin-solidity' // module that has ES6 style files I wish to include
])
module.exports = {
networks: {
development: {
host: '127.0.0.1',
@asselstine
asselstine / watch-truffle-tests.sh
Created February 6, 2018 22:46
Uses Facebook's Watchman to trigger `truffle test` when contracts or tests change.
#! /bin/sh
watchman-make -p 'contracts/**' 'test/**' --make=truffle -t test
@asselstine
asselstine / 3.json
Created April 11, 2018 22:02
Example network config
{
"migrationVersion": 1521830456,
"contracts": [
{
"contractName": "CryptoDoggies",
"address": "0xc7f2f998c937eec6c8a0a64e3ab8d1f089bf2e86"
}
]
}
@asselstine
asselstine / Export AWS profile
Created June 12, 2018 16:24
Bash function to easily export your AWS credentials
export_aws_profile() {
profile=$1
profile=${profile:-default}
echo "Exporting AWS profile $profile..."
export AWS_ACCESS_KEY_ID=`aws configure get aws_access_key_id --profile ${profile}`
export AWS_SECRET_ACCESS_KEY=`aws configure get aws_secret_access_key --profile ${profile}`
}
@asselstine
asselstine / config.yml
Created August 24, 2018 22:05
Run Truffle Tests on CircleCI 2.0
# Javascript Node CircleCI 2.0 configuration file
#
# Check https://circleci.com/docs/2.0/language-javascript/ for more details
#
#
version: 2
jobs:
build:
docker:
# specify the version you desire here
@asselstine
asselstine / TCR_Example.sol
Last active September 12, 2018 17:13
An example of a contract that uses the DoctorRegistry
import 'medcredits-solidity/DoctorRegistry.sol';
contract CaseFactory {
uint8 constant DERMATOLOGY_CODE = 0x00001a83;
Case[] cases;
mapping (uint256 => address) public caseIndices;
DoctorRegistry doctorRegistry;
function CaseFactory(DoctorRegistry _doctorRegistry) {