Skip to content

Instantly share code, notes, and snippets.

@silverhammermba
silverhammermba / person.rb
Created August 31, 2012 03:09
Ruby OOP example
class Person
def initialize name, dob
@name = name
@dob = dob
end
def age
(Time.now - @dob) / (365 * 24 * 60 * 60)
end
@silverhammermba
silverhammermba / roll.rb
Created April 25, 2013 23:04
Dice Rolling Script
#!/usr/bin/env ruby
# dice rolling from the command line
# e.g. 2x3d6+4, d6
def parse str
raise ArgumentError.new("Bad roll string: #{str}") unless str =~ /^((\d+)x)?(\d+)?d(\d+)([+-]\d+)?$/
times = 1
times = $2.to_i if $2
number = 1
number = $3.to_i if $3
@silverhammermba
silverhammermba / terrible.rb
Last active May 23, 2022 17:45
Generates word searches with only a single word to find, but every letter in the grid is in the word.
#!/usr/bin/env ruby
# terrible word search generator
# inspired by http://cnlohr.blogspot.com/2014/02/to-make-terrible-wordsearches.html
if ARGV.length != 3
STDERR.puts "usage: #$0 WIDTH HEIGHT WORD"
exit 1
end
$word = ARGV[2].upcase
@silverhammermba
silverhammermba / gist:9202455
Created February 25, 2014 04:02
Mobius Ring Generator
#!/usr/bin/env ruby
# generate OBJ of Mobius wedding band
require 'matrix'
if ARGV.size != 6
STDERR.puts "usage: #$0 SIDES RADIUS SAMPLES STRETCH TURNS CURVE"
exit 1
end
@silverhammermba
silverhammermba / PKGBUILD
Created May 30, 2014 22:40
Synaptics Palm Detection patch
# $Id: PKGBUILD 213056 2014-05-18 13:44:18Z andyrtr $
# Maintainer: Jan de Groot <[email protected]>
# Contributor: Tobias Powalowski <[email protected]>
# Contributor: Thomas Bächler <[email protected]>
# Contributor: Alexander Baldeck <[email protected]>
pkgname=xf86-input-synaptics
pkgver=1.8.0
pkgrel=2
pkgdesc="Synaptics driver for notebook touchpads"
@silverhammermba
silverhammermba / data.tsv
Created May 31, 2014 14:42
ABS_TOOL_WIDTH vs ABS_MT_PRESSURE
8 103
8 103
8 103
8 103
12 120
12 120
12 120
12 120
8 109
8 109
@silverhammermba
silverhammermba / mancala.rb
Created November 15, 2015 18:23
An SVG mancala board generator
def pathdef d
<<-XML
<path style="#$linestyle" d="#{d}" />
XML
end
def roundedpath rad, *points
meth = "M"
sides = points.each_slice(2).map.with_index do |p, i|
corner = "#{meth} #{p[0].join(' ')} A #{rad} #{rad} 0 0 1 #{p[1].join(' ')}"
############## Kodi CRASH LOG ###############
################ SYSTEM INFO ################
Date: Sun Dec 6 10:08:44 EST 2015
Kodi Options:
Arch: x86_64
Kernel: Linux 4.2.5-1-ARCH #1 SMP PREEMPT Tue Oct 27 08:13:28 CET 2015
Release: Arch Linux
############## END SYSTEM INFO ##############
@silverhammermba
silverhammermba / themer.rb
Last active April 22, 2016 02:53
Generate awesome theme from background image
#!/usr/bin/env ruby
# pick a random background and generate an awesome theme based on it
require 'color'
require 'color/palette/monocontrast'
require 'erb'
require 'fileutils'
require 'imlib2'
require 'optparse'
require 'shellwords'
@silverhammermba
silverhammermba / example.rb
Last active May 20, 2016 01:42
method for testing a program with various settings
require_relative './test_run'
x = run(key_max: 25_000, threads: (1..4), iters: 1_000_000, n: 21, read: 10, branch: %w{locking2})
File.open('box.data', 'w') do |f|
x.each do |r|
r[:ticks].each { |y| f.puts "#{y} #{r[:threads]}" }
end
end