Skip to content

Instantly share code, notes, and snippets.

Matt Jones al2o3cr

Block or report user

Report or block al2o3cr

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@al2o3cr
al2o3cr / presentation.md
Last active Mar 1, 2019
50 Ways To Leave Your Method
View presentation.md
View response.js
[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((![]+[])[+!+[]]+(![]+[])[!+[]+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]+(!![]+[])[+[]]+(![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+
@al2o3cr
al2o3cr / README.md
Created Jun 25, 2018
STI method generation optimization
View README.md

Reducing STI memory usage

if there are many STI child classes, ActiveRecord generates methods for each one individually. This is wasteful in the typical case, since all the children share the same underlying columns.

The small patch included here causes those methods to instead be generated in the parent class, shared amongst all the subclasses.

DO NOT use this if you call methods like attribute :foo to adjust the typecasting of columns in individual models.

@al2o3cr
al2o3cr / test_association_save.rb
Last active Sep 29, 2017
Test case for rails/rails #28536
View test_association_save.rb
# frozen_string_literal: true
begin
require "bundler/inline"
rescue LoadError => e
$stderr.puts "Bundler version 1.10 or later is required. Please update your Bundler"
raise e
end
gemfile(true) do
@al2o3cr
al2o3cr / test_aliased_through.rb
Created Jan 14, 2017
Reproduction script for rails/rails #27666
View test_aliased_through.rb
begin
require "bundler/inline"
rescue LoadError => e
$stderr.puts "Bundler version 1.10 or later is required. Please update your Bundler"
raise e
end
gemfile(true) do
source "http://rubygems.org"
# Activate the gem you are reporting the issue against.
View README.md
View 💩 🚌👏 .rb
require 'thwait'
class Voice
BASELINE = %w( there is no - poop ing - on - the bus - )
VOICES = `say -v '?'`.lines.map { |line| line.split.first }
attr_reader :voice_name, :rate
def initialize(voice_name, rate)
@i = 0
@al2o3cr
al2o3cr / bd_test.rb
Last active Jan 1, 2016
Test rounding behavior of BigDecimal
View bd_test.rb
require 'bigdecimal'
def to_decimal(digits, dp)
digits = digits.dup
if dp < -digits.length
digits.unshift(*([nil]*(-digits.length-dp)))
end
digits.insert(dp+digits.length, '.').map { |x| x || '0' }.join
end
@al2o3cr
al2o3cr / gist:5073866
Created Mar 3, 2013
Silly SQL trick: computing pi very very inefficiently
View gist:5073866

Inspired by Postgres: The Bits You Haven't Found:

\set n 1000;

SELECT 4*COUNT(DISTINCT(x, y))/(1.0*:n*:n) AS result FROM generate_series(0,:n) AS x, generate_series(0,:n) AS y WHERE x*x + y*y <= :n*:n;

This uses the simple method of checking every integer-valued point in [0,n] x [0,n] to see if it's inside the circle - the Wikipedia approximations to pi article has more details.

View regex_bench.rb
require 'benchmark'
nelements = 10
nlines = 10
def repeating_string(base, elements, lines)
(([base]*elements).join(',')+"\n")*lines
end
# test string
You can’t perform that action at this time.