Skip to content

Instantly share code, notes, and snippets.

@shreeve
shreeve / start.sh
Last active August 29, 2015 14:21
docker start script
#!/usr/bin/env bash
watch=/tmp/watch
ready=/tmp/ready
rm -f $watch $ready
mkfifo $watch
# reap all on exit
trap "exit" INT TERM
@shreeve
shreeve / ffi-ruby-bridge.rb
Last active August 29, 2015 14:22
FFI bridge to libruby
# See https://gist.github.com/nanki/1336545
require 'ffi'
module FFI::Ruby
class Value
class << self
extend ::FFI::Library
ffi_lib 'ruby'
@shreeve
shreeve / binding_of_caller-fiddler.rb
Last active August 29, 2015 14:22
binding_of_caller, pure Fiddle version (no compiler needed)
#!/usr/bin/env ruby
# =============================================================================
# UPDATE as of June 15, 2015: See the bindings gem at:
#
# https://rubygems.org/gems/bindings
# =============================================================================
# =============================================================================
# Quick proof-of-concept of an Fiddle-based binding_of_caller (no compiling!)
@shreeve
shreeve / Dockerfile
Created May 29, 2015 22:50
Dockerfiles
FROM ubuntu-debootstrap:14.04
# Nodejs needed for ruby asset pipeline
RUN apt-get update -y \
&& apt-get install -y \
curl \
libpq-dev \
&& curl -sSL https://deb.nodesource.com/setup_0.12 | bash - \
&& apt-get install -y nodejs \
&& apt-get autoremove -y \
# RESTful API
#
# +--------+-------------------+---------+---------+----------+-----------+
# | METHOD PATH | ACTION | PAYLOAD | TEMPLATE | REDIRECT |
# + -------+-------------------+---------+---------+----------+-----------|
# | GET | /orders | index | | index | |
# | GET | /orders/new | new | | edit | |
# | GET | /orders/4;edit | edit | | edit | |
# | GET | /orders/4 | show | | show | |
# + -------+-------------------+---------+---------+----------+-----------+
@shreeve
shreeve / appinfo.rb
Created December 1, 2015 15:02
App Info (Mac OSX)
#!/usr/bin/ruby -E binary
# alias lscleanup="/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user && killall Finder"
apps = {}
uses = {}
text = %x{`locate lsregister` -dump}
rows = text.split('-' * 80); rows.shift

Keybase proof

I hereby claim:

  • I am shreeve on github.
  • I am shreeve (https://keybase.io/shreeve) on keybase.
  • I have a public key ASBI8x-VoitCK6fVsyz0tNSu4A-NsuCh6ri6I1-p1t0gXAo

To claim this, I am signing this object:

@shreeve
shreeve / MongooseProvider.coffee
Created October 21, 2017 10:01
AdonisJS provider for Mongoose (MongoDB)
{ ServiceProvider } = require '@adonisjs/fold'
AdonisMongoose = require 'mongoose'
module.exports = class MongooseProvider extends ServiceProvider
register: ->
@app.singleton 'Adonis/Addons/AdonisMongoose', =>
Config = @app.use 'Adonis/Src/Config'
mongoHost = Config.get 'mongo.host', '127.0.0.1'
mongoPort = Config.get 'mongo.port', '27017'
mongoDb = Config.get 'mongo.db' , 'test'
@shreeve
shreeve / watch.coffee
Created February 9, 2018 20:54
Simple macos-only file watcher (basic concept, not done)
#!/usr/bin/env coffee
fs = require 'fs'
fp = require 'path'
EventEmitter = require 'events'
class Watcher extends EventEmitter
constructor: (globs, cb) ->
super()
@watch globs, cb if globs?.length