Skip to content

Instantly share code, notes, and snippets.

View dougdroper's full-sized avatar

Douglas Roper dougdroper

View GitHub Profile
@dougdroper
dougdroper / day5.rb
Last active December 8, 2020 12:17
day 5 (1 and 2)
values = File.read('input2.txt')
def binary(range, rows, mLetter='F')
mid = (range.last - range.first) / 2.0
return rows.first.match(/F|L/) ? range.first : range.last if rows.count == 1
letter = rows.shift
letter == mLetter ? binary((range.first..(range.first + mid.floor)), rows, mLetter) : binary(((range.first + mid.ceil)..range.end), rows, mLetter)
end
@dougdroper
dougdroper / day4_2.rb
Created December 5, 2020 16:57
day 4 p2
require 'pry'.freeze
values = File.read('input2.txt')
def b_rule(v)
return true if (1920..2002).include?(v.to_i)
end
def i_rule(v)
return true if (2010..2020).include?(v.to_i)
@dougdroper
dougdroper / classifier.rb
Last active October 29, 2020 10:10
Tensorflow model to train SMS requests
require 'csv'
class Classifier
attr_reader :csv
attr_accessor :results
def initialize(csv)
@csv = csv
@results = {true: [], false: []}
end
@dougdroper
dougdroper / machine.js
Last active September 23, 2020 08:42
Generated by XState Viz: https://xstate.js.org/viz
const contactAndDelivery = {
id: 'contactAndDelivery',
initial: 'name',
states: {
name: {
on: {
SUCCESS: 'address'
}
},
address: {
Idle*
start -> AgeAndPostcode
AgeAndPostcode
answering*
finished -> valid?
valid?
allValid -> YourKit
invalid -> answering

Keybase proof

I hereby claim:

  • I am dougdroper on github.
  • I am dougdroper (https://keybase.io/dougdroper) on keybase.
  • I have a public key ASDRy9Yyl0-lQlJI7RiBEMhgmt9QIhuvkiC3mkL2_Sa0FQo

To claim this, I am signing this object:

const foo = ({bar}) => ({foo: `hellllllo ${bar}`})
const myDefaultFn = (args) => {...args}
const overRides = {
doug: (...args) => foo(args),
...catchEverythingElsePlease: (...args) => myDefaultFn(args)
}
overRides['doug']({bar: "doug"})
@dougdroper
dougdroper / pre-push
Created May 9, 2016 12:46
Run linter before pushing
#!/usr/bin/env ruby
result = `govuk-lint-ruby lib app spec`
unless !!result.match("no offenses detected")
puts result
exit 1
end
exit 0
@dougdroper
dougdroper / plot.rb
Last active August 29, 2015 14:02
plot
# A -> B
# C -> D
# B -> E
# A -> E
# E -> Y
# Y -> Z
# Z -> X
def routes
{a: [:b, :e], c: [:d], b: [:e], e: [:y], y: [:z], z: [:x] }
require 'csv'
class Tree
def initialize(employees)
@managers = employees.group_by {|e| e["Manager"] }
@employee_names = employees.map {|e| e["Employee Name"]}
(@managers.keys.compact - @employee_names).each do |name|
@managers[nil] << {"Employee Name" => name}
end
end