Skip to content

Instantly share code, notes, and snippets.

View dudo's full-sized avatar
🚧
I'm not sure if I'm digging my own grave, but I'm moving a lot of dirt...

Brett Dudo dudo

🚧
I'm not sure if I'm digging my own grave, but I'm moving a lot of dirt...
View GitHub Profile
@dudo
dudo / t9.rb
Created September 22, 2021 20:16
require 'set'
module Trie
class T9
attr_reader :root
def initialize
@root = Hash.new
end
@dudo
dudo / wrapper.rb
Last active June 30, 2021 04:30
Wrap a method with a macro. Allow for procs to be passed.
module Wrapper
def wrap(method_name, options: {})
proxy = Module.new
proxy.define_method(method_name) do |*args, &block|
options = instance_exec(&options) if options.is_a?(Proc)
target = is_a?(Module) ? "#{self}." : "#{self.class}#"
puts "#{target}#{method_name} is about to be called. `wrap` options #{options}"
super *args, &block
end
self.prepend proxy
@dudo
dudo / .env
Last active December 4, 2020 09:10
docker-compose example
# https://github.com/bkeepers/dotenv
COMPOSE_PROJECT_NAME=my_app
REDIS_URL=redis://redis:6379
PGHOST=db
PGUSER=postgres
PGPASSWORD=postgres
@dudo
dudo / jeep.md
Last active May 17, 2024 12:34

IMG_0861

Jeep

  • 2006 Wrangler Unlimited (LJ)
    • 4.0L
    • 6 speed manual

Drivetrain

RSpec.describe Api::ClientBase do
subject(:api) { described_class.new(config) }
let(:scheme) { 'https' }
let(:host) { Faker::Internet.domain_name }
let(:port) { 3000 }
let(:config) do
{
'scheme' => scheme,

The 4 simple math functions

Lerp

Lerp is the acronym for linear interpolation. The idea is very simple, you have 2 values, and you want to “walk” between those values by a factor.

func lerp = (start, end, factor) => 
  start * (1-factor) + end * factor;
require 'csv'
require 'activerecord-import'
module ActsAsCsv
extend ActiveSupport::Concern
class_methods do
def filename
if const_defined? :CSV_FILENAME
self::CSV_FILENAME
class ApplicationRecord < ActiveRecord::Base
self.abstract_class = true
def self.human_enum_name(enum_name, enum_value)
I18n.t("activerecord.attributes.#{model_name.i18n_key}.#{enum_name.to_s.pluralize}.#{enum_value}")
end
def self.human_enum_collection(enum_name)
send(enum_name.to_s.pluralize).keys.map do |val|
[human_enum_name(enum_name, val), val]
@dudo
dudo / equivalent_binary_trees.go
Last active January 5, 2020 04:12
Go Exercises
package main
import (
"code.google.com/p/go-tour/tree"
"fmt"
)
// Walk walks the tree t sending all values
// from the tree to the channel ch.
func Walk(t *tree.Tree, ch chan int) {
class Order < ActiveRecord::Base
scope :paid, -> { where(id: Payment.paid.select(:order_id)) }
end
# SELECT "orders".* FROM "orders" WHERE "orders"."id" IN (
# SELECT "payments"."order_id"
# FROM "payments"
# WHERE "payments"."state" IN ('charged', 'authorized')
# )