Mix.install([
{:vega_lite, "~> 0.1.9"},
{:kino_vega_lite, "~> 0.1.8"},
{:nx, "~> 0.5"}
])
alias VegaLite, as: Vl
A partial solution to the problem posed here: https://twitter.com/mikelikesbikes/status/1396159019837018117
This solution represents the expressions in reverse Polish notation (RPN) - see also Forth and HP48s.
The version presented here does NOT produce all values from 1 to 100, as it does not use enough operators.
Extending the search to additional operators only requires adding the value to @operators
and a clause to eval
to handle it.
[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((![]+[])[+!+[]]+(![]+[])[!+[]+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]+(!![]+[])[+[]]+(![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+ |
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.
# 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 |
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. |
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 |
A programmatic reinterpretation of Steve Reich's Clapping Music
A variation on code from https://gist.github.com/jamesdabbs/a85fa5553df7dba0ba3dbb25f4cafe4b
Based on code & ideas from @celeenr's (https://twitter.com/celeenr) RubyConf 2016 talk "Rhythmic Recursion"
Try different voices for say
.
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 'https://rubygems.org' | |
# NOTE: tests pass on 4.1.x, fail on 4.2 |
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 'https://rubygems.org' | |
gem 'activerecord', '4.2.4' |