Skip to content

Instantly share code, notes, and snippets.

🙇
humble

Tim Morgan seven1m

View GitHub Profile
@seven1m
seven1m / clipd
Last active Mar 15, 2019
simple clipboard history script for Sway window manager and dmenu (might work with other Wayland window managers too)
View clipd
#!/usr/bin/env ruby
# https://mpov.timmorgan.org/clipboard-history-in-sway-window-manager/
require 'json'
STORE = "#{ENV['HOME']}/.clipboard-history"
LIMIT = 100
unless File.exist?(STORE)
@seven1m
seven1m / Gemfile
Last active Jan 12, 2019
Sinatra app boilerplate so I don't have to go hunting for these settings every time.
View Gemfile
source 'https://rubygems.org'
gem 'sinatra'
gem 'sinatra-contrib'
@seven1m
seven1m / open_source_church_software.md
Last active Feb 13, 2019
List of Open Source Church Software
View open_source_church_software.md
@seven1m
seven1m / observer-rust.rb
Created Jul 17, 2018
Observr script for comiling a Rust project and running tests when files are saved.
View observer-rust.rb
require 'open3'
def test
puts
puts '========================================='
puts
_, stdout, wait_thr = Open3.popen2('cargo test -- --nocapture --test-threads=1')
print stdout.getc until stdout.eof?
wait_thr.value.success?
end
@seven1m
seven1m / crystal_static_binary_filesize_vs_rust.sh
Last active Jun 15, 2018
I was interested to see static binary size difference between Crystal and Rust.
View crystal_static_binary_filesize_vs_rust.sh
~/Desktop cat hello_crystal.cr
puts "hello world"
~/Desktop cat hello_rust.rs
fn main() {
println!("hello world");
}
~/Desktop crystal --version
Crystal 0.25.0 [7fb783f7a] (2018-06-11)
LLVM: 4.0.0
@seven1m
seven1m / dymo_speed.rb
Last active Mar 30, 2018
Speed up printing to Dymo printers on macOS High Sierra by killing hung processes.
View dymo_speed.rb
# Problem:
#
# There is a 10-12 second delay between each print job when printing labels on a Dymo LabelWriter
# (and probably other Dymo printers) via newer versions of Cups. This affects macOS High Sierra,
# Raspbian Linux, and probably other Linux distributions.
#
# This script is a hack to work around the problem by killing hung print processes once the label is finished printing.
#
# Script Usage:
#
View people_list_to_csv.rb
# export a list from Planning Center People to CSV
#
# setup:
# 1. gem install pco_api
# 2. create a personal access token at https://api.planningcenteronline.com/oauth/applications
# 3. edit the app id and secret below
#
# usage:
# ruby people_list_to_csv.rb listid filename.csv
#
@seven1m
seven1m / archive.rb
Last active Dec 5, 2017
download all images for twitter archive
View archive.rb
# gem install http
# unzip archive.zip -d archive
# cd archive
# ruby archive.rb
require 'http'
require 'fileutils'
require 'digest'
FileUtils.mkdir_p('media')
View parallel.rb
#!/usr/bin/env ruby
# Run several commands for different directories at the same time and multiplex their output with color-coded app labels.
#
# Usage:
#
# ruby parallel.rb "foo:$HOME/projects/foo:bundle exec rake db:migrate" "bar:$HOME/projects/bar:bundle exec rake db:migrate"
#
# The output will look something like this (but the prefix labels will have different colors):
#
@seven1m
seven1m / boardslam.rb
Last active May 27, 2018
Classical Conversations Board Slam math game in use at http://seven1m.sdf.org/experiments/boardslam.cgi
View boardslam.rb
#!/usr/bin/env ruby
# pass 3 numbers as arguments:
#
# ./boardslam.rb 3 5 1
#
# 3 - 5^0 - 1 = 1
# 3 - 5^0 * 1 = 2
# 3 + 5^0 - 1 = 3
# 3 + 5^0 * 1 = 4
You can’t perform that action at this time.