Skip to content

Instantly share code, notes, and snippets.

View DanThiffault's full-sized avatar

Dan Thiffault DanThiffault

View GitHub Profile
@DanThiffault
DanThiffault / Cheffile
Created March 20, 2012 11:41
Rails lastmile example
#!/usr/bin/env ruby
#^syntax detection
site 'http://community.opscode.com/api/v1'
cookbook 'build-essential'
cookbook 'ruby_build',
:git => 'git://github.com/fnichol/chef-ruby_build.git', :ref => 'v0.6.2'
cookbook 'rbenv',
#!/usr/bin/env bash
sudo apt-get -y update
sudo apt-get -y install build-essential zlib1g-dev libssl-dev libreadline6-dev libyaml-dev git-core
cd /tmp
wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p194.tar.gz
tar -xvzf ruby-1.9.3-p194.tar.gz
cd ruby-1.9.3-p194/
./configure --prefix=/usr/local
make
sudo make install
@DanThiffault
DanThiffault / tad.sh
Created January 15, 2013 19:02
Tmux attach/create session from current directory
#!/bin/sh
# tmux attach directory
# inspired by https://github.com/croaky/dotfiles/commit/df3dd5129bfa941ac0bdf2885da92f822042ee5b
SESSION=$(basename $PWD)
# credit from http://stackoverflow.com/questions/3432536/create-session-if-none-exists
function hassession {
tmux has-session -t $SESSION 2>/dev/null
}
::-webkit-inner-spin-button { display: none; }
::-webkit-datetime-edit {}
.datePicker {
position: relative;
margin-bottom: 15px;
}
.ul.calendar-header {
display: none;
@DanThiffault
DanThiffault / ws.fsx
Last active December 12, 2022 04:52
Simple F# Web Server
open System
open System.Net
open System.Text
open System.IO
// Modified from http://sergeytihon.wordpress.com/2013/05/18/three-easy-ways-to-create-simple-web-server-with-f/
// download this file to your root directory and name as ws.fsx
// run with `fsi --load:ws.fsx`
// visit http://localhost:8080
@DanThiffault
DanThiffault / services.js
Last active January 25, 2017 17:34
Angular $http service with automatic retries and status code based error messages
(function (app) {
// Fluent interface to generate a map of status codes to error messages
function genErrorMap() {
var statusErrorMap = { "default": { msg: "An error has occurred", retryable: false } };
var methods = {
// Add a mapping from an array of status codes to an errorMessage and whether we should retry
// the request when recieving this error status code
add: function (statusCodes, errorMessage, retryable) {
for (var i = 0; i < statusCodes.length; i++) {

Keybase proof

I hereby claim:

  • I am DanThiffault on github.
  • I am danthiffault (https://keybase.io/danthiffault) on keybase.
  • I have a public key whose fingerprint is 6387 145A 834E 08F6 2B3A 5F60 A2D4 1BB3 EA59 31D4

To claim this, I am signing this object:

@DanThiffault
DanThiffault / Vagrantfile
Created January 23, 2016 21:07
Elixir Phoenix Dev Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :
# Vagrant file for elixir & phoenix dev
Vagrant.configure(2) do |config|
config.vm.box = "debian/jessie64"
config.vm.provider :virtualbox do |vb|
vb.name = "elixirdev"
end
@DanThiffault
DanThiffault / bulk_insert.rb
Created February 8, 2016 22:28
Bulk Arel inserts
bookMergeBlocks = BookMergeBlock.arel_table
im = Arel::InsertManager.new Arel::Table.engine
im.into bookMergeBlocks
im.select @raw_books.select(book.id,:book_id).uniq.arel
im.columns << bookMergeBlocks[:master_book_id]
im.columns << bookMergeBlocks[:duplicate_book_id]
@DanThiffault
DanThiffault / Readme.md
Created February 16, 2016 22:37
Rails nested transactions

See Nested Transactions for more information.

TL;DR if you're going to use nested transactions you probably should not raise ActiveRecord::Rollback