Skip to content

Instantly share code, notes, and snippets.

@shreeve
shreeve / waitForSelector.md
Last active November 23, 2022 08:20
Helpful waitForSelector() javascript method

waitForSelector(want, opts={})

coffeescript

waitForSelector(want, opts={}) =>
  new Promise (resolve, reject) =>
    return resolve node if node = document.querySelector want

    find = new MutationObserver (changes) =>
@shreeve
shreeve / ruby-precedence.txt
Created August 16, 2019 22:27
Ruby Precedence
N A M Operator(s) Description
- - - ----------- -----------
1 R Y ! ~ + boolean NOT, bitwise complement, unary plus
(unary plus may be redefined from Ruby 1.9 with +@)
2 R Y ** exponentiation
1 R Y - unary minus (redefine with -@)
2 L Y * / % multiplication, division, modulo (remainder)
2 L Y + - addition (or concatenation), subtraction
@shreeve
shreeve / codesandbox.md
Last active January 18, 2019 09:35
Some codesandbox stuff stuff

main.coffee

import Vue from "vue"
import App from "./App"

Vue.config.productionTip = false

new Vue
  el: "#app"
@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
@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'

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 / 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
@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 \
@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!)