Skip to content

Instantly share code, notes, and snippets.

View dudo's full-sized avatar
🤙

Brett Dudo dudo

🤙
View GitHub Profile
name: 'Close stale issues and PR'
on:
schedule:
- cron: '30 1 * * *'
jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v3
import { useState, useLayoutEffect } from "react";
export const useViewportSize = (debounceTime = 250) => {
const [viewportSize, setViewportSize] = useState({
width: undefined,
height: undefined
});
const debounce = (fn, ms) => {
let timer;
return () => {
const { build } = require('esbuild');
const manifestPlugin = require('esbuild-plugin-manifest');
const options = {
entryPoints: ['src/index.js'],
entryNames: '[dir]/[name]-[hash]',
outdir: 'dist',
bundle: true,
minify: true,
plugins: [manifestPlugin()],
@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 October 31, 2023 17:48

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