Skip to content

Instantly share code, notes, and snippets.

View sorentwo's full-sized avatar
🏡

Parker Selbert sorentwo

🏡
View GitHub Profile
@sorentwo
sorentwo / Ecto Tests
Created December 21, 2015 18:16
Output of `mix test.all`
test/ecto/changeset/embedded_test.exs:381: warning: variable changeset is unused
test/ecto/changeset/embedded_test.exs:386: warning: variable changeset is unused
test/ecto/changeset/embedded_test.exs:392: warning: variable changeset is unused
test/ecto/changeset/embedded_test.exs:396: warning: variable changeset is unused
test/ecto/changeset/embedded_test.exs:468: warning: variable changeset is unused
test/ecto/changeset/embedded_test.exs:473: warning: variable new_changeset is unused
test/ecto/changeset/embedded_test.exs:473: warning: variable old_changeset is unused
test/ecto/changeset/embedded_test.exs:480: warning: variable changeset is unused
test/ecto/changeset/embedded_test.exs:487: warning: variable changeset is unused
test/ecto/changeset/embedded_test.exs:492: warning: variable changeset is unused
@sorentwo
sorentwo / webpack.config.js
Created November 12, 2015 03:26
Webpack with extract text
var webpack = require("webpack");
var ExtractTextPlugin = require("extract-text-webpack-plugin")
module.exports = {
entry: "./web/static/app/app.js",
output: {
path: "./priv/static/js",
filename: "app.js"
},
@sorentwo
sorentwo / gist:e87bbafad92fd98af823
Created September 4, 2015 18:11
Docker run for wkhtmltopdf
# WKHTMLTOPDF #################################################################
RUN apt-get update \
&& apt-get -y install build-essential xorg libssl-dev libxrender-dev \
&& mkdir -p /usr/src/wkhtmltopdf \
&& curl -fSL -o wkhtmltopdf.tar.bz2 "http://wkhtmltopdf.googlecode.com/files/wkhtmltopdf-0.11.0_rc1-static-amd64.tar.bz2" \
&& tar -xzjf wkhtmltopdf-0.11.0_rc1-static-amd64.tar.bz2 -C /usr/src/wkhtmltopdf \
&& rm wkhtmltopdf.tar.bz2
&& cd /usr/src/wkhtmltopdf \
@sorentwo
sorentwo / luatime.rb
Created August 18, 2015 11:21
Redis vs Lua payload reconstruction
require 'bundler'
Bundler.setup
require 'json'
require 'benchmark/ips'
require 'redis'
require 'securerandom'
REDIS = Redis.new(url: 'redis://localhost:6379/11')
@sorentwo
sorentwo / puma.cap
Created July 8, 2015 15:53
Upstart/Puma Capistrano Task
namespace :puma do
desc 'Start puma'
task :start do
on roles(:app) do
execute 'sudo start puma'
end
end
desc 'Stop puma'
task :stop do
@sorentwo
sorentwo / oror_vs_hash_new.rb
Created April 10, 2015 21:12
Compare performance of ||= vs Hash.new for default arrays
require 'benchmark'
N = 10_000
C = %w[a b c] * 100
Benchmark.bmbm do |x|
x.report "||=" do
N.times do
C.each_with_object({}) do |val, memo|
memo[val] ||= []
@sorentwo
sorentwo / puma.rb
Created April 10, 2015 18:12
Puma Configuration
#!/usr/bin/env puma
require 'dotenv'
threads 16, 16
quiet
# Clustering ##################################################################
@sorentwo
sorentwo / prime_sieve.ex
Created March 27, 2015 15:09
Sieve of Erasthones
defmodule PrimeSieve do
@moduledoc """
1. Create a list l of consecutive integers {2,3,…,N}.
2. Select p as the first prime number in the list, p=2.
3. Remove all multiples of p from the l.
4. Set p equal to the next integer in l which has not been removed.
5. Repeat steps 3 and 4 until p^2 > N, all the remaining numbers in the list are primes
"""
def primes(n) do
numbers = 2..(n - 1)
@sorentwo
sorentwo / test_helper.exs
Last active August 29, 2015 14:16
Transactional Tests
defmodule CustomTest.Case do
use ExUnit.CaseTemplate
alias Ecto.Adapters.SQL
setup_all do
SQL.begin_test_transaction(Repo)
on_exit fn ->
SQL.rollback_test_transaction(Repo)
@sorentwo
sorentwo / app_impl.ex
Created February 18, 2015 16:58
Custom JSON encoding
defimpl Poison.Encoder, for: App do
def encode(app, options) do
Poison.Encoder.Map.encode(%{id: app.id, name: app.name}, options)
end
end