Skip to content

Instantly share code, notes, and snippets.

@meagar
meagar / close_zoom.js
Last active August 29, 2023 10:33
User Script: Close zoom tabs upon completion
// ==UserScript==
// @name Close Zoom Tabs
// @namespace Violentmonkey Scripts
// @match https://*.zoom.us/j/*
// @grant none
// @version 1.0
// @author Matthew Eagar <meagar@hey.com>
// @description Close the tabs Zoom spawns
// @homepage https://gist.github.com/meagar/9c902cf83d464c0572ea8dd37a7faa00
// ==/UserScript==
@meagar
meagar / benchmark.rb
Created December 1, 2020 15:00
Monotonic time for benchmarking
# Source: https://blog.dnsimple.com/2018/03/elapsed-time-with-ruby-the-right-way/
starting = Process.clock_gettime(Process::CLOCK_MONOTONIC)
# time consuming operation
ending = Process.clock_gettime(Process::CLOCK_MONOTONIC)
elapsed = ending - starting
elapsed # => 9.183449000120163 seconds
SIDES = %w(R L B F U D)
TURNS = ["", "2", "'"] # one turn, two turns, one counter-turn
moves = 20.times.inject([]) { |memo, _| memo + [(SIDES - [memo.last]).sample] }
p moves.zip(TURNS.cycle).map(&:join) # ["F", "L2", "U'", "B", "L2", "R'", "D", "U2", "B'", "D", "F2", "U'", "L", "B2", "U'", "D", "R2", "L'", "D", "F2"]
SIDES = %w(R L B F U D)
TURNS = ["", "2", "'"] # one turn, two turns, one counter-turn
N = 20
last = ""
moves = N.times.map do
side = (SIDES - [last]).sample
turn = TURNS.sample
last = side
[side, turn].join
# benchmark for http://stackoverflow.com/q/44097717/229044
require 'set'
require 'benchmark'
def make_data(size = 25_000)
t = Time.now
size.downto(0).map do |i|
{
'timestamp-value' => (t - i * 60).to_s[0..15],
# This is pure data, it's the definition of a category
class Category
has_many :clues
# name: string
end
# This is pure data, it's the definition of a category, it's not tied to any user or game
class Clue
MyModule.configure do |config| 
#stuff inside 
end 
@meagar
meagar / SassMeister-input.sass
Created March 14, 2015 18:42
Generated by SassMeister.com.
// ----
// Sass (v3.4.12)
// Compass (v1.0.3)
// ----
.loggedIn
margin: 0
&.active
margin: auto
@meagar
meagar / keybase.md
Created October 8, 2014 21:25
keybase.md

Keybase proof

I hereby claim:

  • I am meagar on github.
  • I am meagar (https://keybase.io/meagar) on keybase.
  • I have a public key whose fingerprint is 6CBA F179 B60D D17D A8DA 9A06 B227 183C DC1F A2E5

To claim this, I am signing this object:

@meagar
meagar / legacy_branches.rb
Created September 24, 2014 14:33
show legacy branches in a git repo
require 'time'
DAY = 60 * 60 * 24
def print_branches(branches)
by_author = Hash.new { |hash,key| hash[key] = {} }
branches.each do |branch|
lines = `git show -s --pretty=medium #{branch}`.lines
# commit d8f1e9d4c755d46192db635e964a9b04d6882f90