Skip to content

Instantly share code, notes, and snippets.

Avatar

Solomon White rubysolo

View GitHub Profile
View bad.rb
class Bad < ActiveRecord::Migration
def change
Post.update_all(active: true) # <-- resolves to Post defined in app/models/post.rb
end
end
@rubysolo
rubysolo / README.md
Created Feb 15, 2019
NATS multi-tenant
View README.md

Running multi-tenant NATS server

Requires NATS 2.x, which is currently unreleased, so must be built from master.

connect to the same queue name under multiple accounts:

session 1:

nats-sub -s nats://quser1:one@$NATS_SERVER:$NATS_PORT 'foo'
View define_singleton_method.rb
class Garden
DEFAULT_STUDENTS = %w(
Alice Bob Charlie David
Eve Fred Ginny Harriet
Ileana Joseph Kincaid Larry
)
def initialize(garden_order, students=DEFAULT_STUDENTS)
@garden_order = garden_order
@students = students.map { |student| student.downcase }.sort
@rubysolo
rubysolo / mix_dep_install.sh
Created Jan 23, 2018
Docker mix install helper
View mix_dep_install.sh
#!/bin/sh
# manually download and "install" a given mix dep for non-elixir environment
#
# for example, download phoenix in a frontend build stage to get JS deps
depname=$1
version=$(grep "\"$depname\"" mix.lock | cut -d, -f 3 | sed -e 's/ *"//g')
echo "installing $depname version $version..."
@rubysolo
rubysolo / data.js
Created Mar 1, 2017 — forked from NPashaP/data.js
Stacked Density and Quantile Graphs
View data.js
var dqData=[];
dqData.push({title:'Product Groups',
mean:0.0393,
dP:[
['GROUP01',-0.0435,32937],
['GROUP10',-0.2651,132],
['GROUP11',-0.0694,1164],
['GROUP12',0.0345,17127],
['GROUP13',-0.0288,8858],
['GROUP18',-0.3741,46],
@rubysolo
rubysolo / file_size_hist.sh
Created Dec 12, 2016
File size histogram
View file_size_hist.sh
find . -type f -print0 | xargs -0 ls -l | awk '{ n=int(log($5)/log(2)); if (n<10) { n=10; } size[n]++ } END { for (i in size) printf("%d %d\n", 2^i, size[i]) }' | sort -n | awk 'function human(x) { x[1]/=1024; if (x[1]>=1024) { x[2]++; human(x) } } { a[1]=$1; a[2]=0; human(a); printf("%3d%s: %6d\n", a[1],substr("kMGTEPYZ",a[2]+1,1),$2) }'
@rubysolo
rubysolo / meme.rb
Created Dec 14, 2015 — forked from marcinbunsch/meme.rb
Meme generator using local images
View meme.rb
#!/usr/bin/env ruby
#
# OMG THIS CODE IS SO UGLY
# but...
# IT WORKS!!
#
# Hacked together by http://github.com/marcinbunsch
#
# This assumes the following:
# - That you're on a Mac
@rubysolo
rubysolo / page.html
Created Oct 23, 2015
delegated binding
View page.html
<div>
<button id="the-button">Hey</button>
</div>
<script>
$(document).on('click', '#the-button', function(e) {
// handler is bound to document, but only fires if event originated from #the-button
})
</script>
@rubysolo
rubysolo / config.exs
Created Oct 11, 2015 — forked from limhoff-r7/config.exs
nginx + phoenix configuration to server phoenix behind nginx at path 'phoenix'. nginx rewrites incoming URLs to strip the /phoenix, while the config.exs for phoenix ensures URLs are prefixed with /phoenix using the config.url.path
View config.exs
# This file is responsible for configuring your application
# and its dependencies with the aid of the Mix.Config module.
#
# This configuration file is loaded before any dependency and
# is restricted to this project.
use Mix.Config
# Configures the namespace used by Phoenix generators
config :my_app,
app_namespace: MyApp
You can’t perform that action at this time.