Skip to content

Instantly share code, notes, and snippets.

View rjungemann's full-sized avatar

Roger Jungemann rjungemann

View GitHub Profile
# Simple perl repl (in bash). Works w/readline, but no support for multi-line statements
alias re.pl="rlwrap perl -de 0"
@rjungemann
rjungemann / endliner.rb
Created January 7, 2011 21:46
Checks a directory structure for files missing newlines
#!/usr/bin/env ruby
require 'rubygems'
require 'ptools'
start = ARGV.first || '.'
Dir.glob("#{start}/**/**").each do |f|
begin
next if(File.directory?(f) || File.binary?(f))
@rjungemann
rjungemann / crusher.pd
Created December 19, 2010 21:25
A series of sample PureData scripts to get started with guitar signal processing
#N canvas 162 163 176 386 10;
#X msg 17 336 \; pd dsp 1;
#X msg 84 336 \; pd dsp 0;
#X obj 61 291 dac~;
#X obj 22 74 samphold~;
#X obj 73 53 phasor~ 8000;
#X obj 22 24 adc~;
#X obj 22 206 spigot~;
#X obj 61 185 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
@rjungemann
rjungemann / descendClips.as
Created December 16, 2010 23:45
traverses a tree of DisplayObjects, calling the callback function on each
// traverses a tree of DisplayObjects, calling the callback function on each
function descendClips(clip, callback) {
callback(clip);
for(var i = 0; i < clip.numChildren; i++) {
var child = clip.getChildAt(i);
try { descendClips(child, callback); } catch(e) {}
}
}
@rjungemann
rjungemann / boehm.c
Created December 14, 2010 07:04
Boehm GC Example
#include <assert.h>#include <stdio.h>
#include <gc.h>
int main(void)
{
int i;
GC_INIT();
for (i = 0; i < 10000000; ++i)
{
@rjungemann
rjungemann / extra_steps.rb
Created November 16, 2010 20:34
pretty_print_xslt in Ruby
#!/usr/bin/env ruby
# usage:
#
# ruby extra_steps.rb SCRIPT ROOT_URL RELATIVE_URL
require 'nokogiri' rescue puts "Needs nokogiri. Type in `gem install nokogiri` to install."
require 'erb'
def pretty_print_xslt
@rjungemann
rjungemann / Hasher.js
Created November 7, 2010 10:39
Playing with hashing algorithms
// use a hashing algorithm (in this case, SHA-1) to predictably assign
// a key to a particular slot. May be useful for sharding purposes.
// Based off of ideas found at:
//
// https://github.com/antirez/redis/blob/master/design-documents/REDIS-CLUSTER
var crypto = require('crypto');
// digits -- number of digits to check
// slotSize -- number of slots to assign to
@rjungemann
rjungemann / ViewNib.rb
Created November 3, 2010 03:53
Load a view from a nib/xib in Objective C
class ViewNib
def self.load(name)
nib = NSNib.alloc.initWithNibNamed(name, bundle: nil)
objects = Pointer.new_with_type('@')
view = nil
nib.instantiateNibWithOwner(NSApp, topLevelObjects: objects)
objects[0].each { |object| view = object if object.is_a? NSView }
@rjungemann
rjungemann / dice.rb
Created October 27, 2010 01:50
Silly dice class for teaching purposes
class Dice
attr_accessor :sides
# set "sides" to default to 6
def initialize
self.sides = 6
end
# take a random number from 0 to 1, multiply by number of sides,
# then round up
@rjungemann
rjungemann / kilos.rb
Created October 26, 2010 20:38
Converting pounds to kilos and vice versa in Ruby (for teaching purposes)
# formulas to convert between kilos and pounds
def pounds_to_kilos pounds
pounds * 0.45359237
end
def kilos_to_pounds kilos
kilos / 0.45359237
end