Skip to content

Instantly share code, notes, and snippets.

View peterellisjones's full-sized avatar

Peter Jones peterellisjones

View GitHub Profile
@peterellisjones
peterellisjones / gist:426ced0eb025e00d0a94
Last active August 29, 2015 14:06
Create random arithmetic operations using numbers between 0 and 20
# returns a random operation that
# result in n. eg:
# randomOperation(20) => [4, '*', 5]
# randomOperation(10) => [20, '/', 2]
class RandomOperationGenerator
def initialize(min = 0, max = 20)
raise "min must be less than max" unless min < max
@min = min
@max = max
end
package main
import "fmt"
func binarySearchRec(elem int, array []int, accesses int) (bool, int) {
accesses += 1
if len(array) == 0 {
return false, accesses
} else if len(array) == 1 {
@peterellisjones
peterellisjones / Wikipedia Edit Data for 30 Dow Jones Companies
Created January 3, 2013 10:01
CSV Data. Each row contains information about an edit on the Wikipedia page for the 30 companies currently (2013-01-03) in the Dow Jones Industrial Average. Up to 5000 edits per company are provided. Each row contains: company name, company symbol, edit date/time, edit size (absolute). eg: McDonald's,MCD,2012-06-26 19:37:00 UTC,988
This file has been truncated, but you can view the full file.
3M,MMM,2012-12-21 11:23:00 UTC,20
3M,MMM,2012-12-21 11:18:00 UTC,35
3M,MMM,2012-12-11 04:42:00 UTC,2
3M,MMM,2012-12-09 10:59:00 UTC,15
3M,MMM,2012-11-08 14:15:00 UTC,15
3M,MMM,2012-11-05 20:35:00 UTC,154
3M,MMM,2012-10-29 11:22:00 UTC,33
3M,MMM,2012-10-24 05:18:00 UTC,4
3M,MMM,2012-10-08 10:26:00 UTC,24
3M,MMM,2012-10-08 10:26:00 UTC,24
@peterellisjones
peterellisjones / enumerable_functional_extensions.rb
Last active February 12, 2024 07:15
Some extensions to Ruby's Enumerable class to allow some fancy functional programming. More info here: http://ukoki.com/post/38615453403/extending-rubys-enumerable
#
# Extensions to Enumerable to add more functional operators
# More info here: http://ukoki.com/post/38615453403/extending-rubys-enumerable
#
module Enumerable
# example:
# [1,2,3].zip_map([1,2,3], [1,2,3]) { |x,y,z| x * y * z }
# => [1,8,27]