Skip to content

Instantly share code, notes, and snippets.

@granolocks
granolocks / binding_dot_pray.rb
Last active January 31, 2017 18:36
pray your conditions are met, otherwise take a look
require 'pry'
class Binding
def pray(expected_condition)
unless eval(expected_condition)
puts 'prayers unanswered, mortal'
pry
end
end
end
@granolocks
granolocks / cache_value_for_module.rb
Created January 27, 2017 15:02
cache value with class variables and time out (simple pattern)
module ValueCache
@@last_set = 0
@@last_val = nil
def get_val
# do not re-process more than once every 10s
if Time.now.to_i - 10 > @@last_set
@@last_val = [1,2,3,4,5,6].sample
@@last_set = Time.now.to_i
end
@granolocks
granolocks / parseparams.rb
Created January 20, 2017 04:13
parse uri params jank af
def parse_params(uri)
CGI.unescape(uri.split("?").last).split('&').each_with_object({}) do |p,c|
key, val = p.split('=')
c[key] = val
end
end
@granolocks
granolocks / rubygems-local-to-csv.rb
Created January 17, 2017 15:18
print locally installed rubygems
require 'rubygems'
data = Gem::Specification.map do |gemspec|
{
name: gemspec.name,
version: "'#{gemspec.version.to_s}'",
license: gemspec.license,
homepage: gemspec.homepage,
source: "Gem::Specification.each"
}
@granolocks
granolocks / random_mac.rb
Created January 5, 2017 19:36
random mac generator
puts (0..255).map{|x|x.to_s(16).rjust(2,'0')}.sample(6).join(':')
require 'ipaddr'
require 'pry'
subt = '10.0.0.0/8'
sub_size = IPAddr.new(subt).to_range.count
t = Time.now.to_f
IPAddr.new(subt).to_range.include?('10.1.1.1')
t2 = Time.now.to_f
@granolocks
granolocks / ieee_802_15_4_sink.py
Created November 16, 2016 19:20 — forked from anonymous/ieee_802_15_4_sink.py
IEEE 802.15.4 packet sink
import Numeric
from gnuradio import gr, gru
import crc16
import gnuradio.gr.gr_threading as _threading
import struct
import cogra
@granolocks
granolocks / ieee_802_15_4_sink.py
Created November 16, 2016 19:20 — forked from anonymous/ieee_802_15_4_sink.py
IEEE 802.15.4 packet sink
import Numeric
from gnuradio import gr, gru
import crc16
import gnuradio.gr.gr_threading as _threading
import struct
import cogra
@granolocks
granolocks / heatmap.py
Last active August 26, 2016 17:33
heatmap.py, from someone else for rtl_power and rx_power output
#! /usr/bin/env python
from PIL import Image, ImageDraw, ImageFont
import os, sys, gzip, math, argparse, colorsys, datetime
from collections import defaultdict
from itertools import *
urlretrieve = lambda a, b: None
try:
import urllib.request
@granolocks
granolocks / poc.sh
Created May 24, 2016 21:18
write a template from var
outputfile=somecrap.out
echo 'enter your name fool'
read name
cat << _EOF_ > $outputfile
this is my file
blah blah blah
your name is $name