Skip to content

Instantly share code, notes, and snippets.

Monero Address:

42ETQViAC5gfxMnto9eQXLL1tQNgGZBzUKDJN4CXVfSthwn2vAmPdv6EqA7VAV3K1Cfu7ZQYkBMdeFdASxnXdWqwAz8vJBG

Pools:

gulf.moneroocean.stream:443 us-west.minexmr.com:443

@dorkrawk
dorkrawk / 🐙..cr
Last active March 9, 2024 17:57
Testing emjoi usage in Crystal.
# this works!
🐙 = 8
puts 🐙
#> 8
# this doesn't work
class 🍕
def eat
@dorkrawk
dorkrawk / dijkstras.cr
Created March 27, 2017 05:06
Dijkstra's Algorithm implemented in Crystal
class Node
getter name, edges
def initialize(@name : String)
@edges = {} of Node => Float64
end
def add_edge(node, weight)
@edges[node] = weight
end
@dorkrawk
dorkrawk / commands
Last active August 29, 2015 14:14
Useful Commands
git pull -r # pull with rebase instead of merge
rspec -c -fd # run rspec tests with color, verbose output
#########################
# Sane Ruby Setup on OSX
# Install X-Code Command Line Tools
xcode-select --install
# Install Home Brew
@dorkrawk
dorkrawk / singleton_struct.rb
Created December 11, 2014 00:22
A monkeypatch to Ruby Struct to get rid of "warning: redefining constant Struct::whatever" when using Structs
class Struct
def self.new_singleton(name, *fields)
if Struct::const_defined?(name)
Struct.const_get(name)
else
Struct.new(name, *fields)
end
end
end
@dorkrawk
dorkrawk / therem.ino
Last active August 29, 2015 14:07
Theremino. Code for a custom Ardunio based instrument I designed.
#define trigPin 13
#define echoPin 12
#define tonePin 8
#define ledPin 7
#define keyPin 0
#include "notes.h"
const int threshold = 200;
int notes[] = { NOTE_B0,NOTE_C1,NOTE_CS1,NOTE_D1,NOTE_DS1,NOTE_E1,NOTE_F1,NOTE_FS1,NOTE_G1,NOTE_GS1,NOTE_A1,NOTE_AS1,NOTE_B1,NOTE_C2,NOTE_CS2,NOTE_D2,NOTE_DS2,NOTE_E2,NOTE_F2,NOTE_FS2,NOTE_G2,NOTE_GS2,NOTE_A2, NOTE_AS2,NOTE_B2, NOTE_C3, NOTE_CS3,NOTE_D3, NOTE_DS3,NOTE_E3, NOTE_F3, NOTE_FS3,NOTE_G3, NOTE_GS3,NOTE_A3, NOTE_AS3,NOTE_B3, NOTE_C4, NOTE_CS4,NOTE_D4, NOTE_DS4,NOTE_E4, NOTE_F4, NOTE_FS4,NOTE_G4, NOTE_GS4,NOTE_A4, NOTE_AS4,NOTE_B4, NOTE_C5, NOTE_CS5,NOTE_D5, NOTE_DS5,NOTE_E5, NOTE_F5, NOTE_FS5,NOTE_G5, NOTE_GS5,NOTE_A5, NOTE_AS5,NOTE_B5, NOTE_C6, NOTE_CS6, NOTE_D6, NOTE_DS6, NOTE_E6, NOTE_F6, NOTE_FS6, NOTE_G6, NOTE_GS6, NOTE_A6, NOTE_AS6, NOTE_B6, NOTE_C7, NOTE_CS7, NOTE_D7, NOTE_DS7, NOTE_E7, NOTE_F7, NOTE_FS7, NOTE_G7, NOTE_GS7, NOTE_A7, NOTE_AS7, NOTE_B7, NOTE_C8, NOTE_CS8, NOTE_D8, NOTE_DS8 };
@dorkrawk
dorkrawk / field_set_values.rb
Created July 19, 2013 04:24
Possible long ugly way to get a "field name" => "field value" hash from a Lawn Tent field set.
fs.project.template.fields.map{ |x| fs.field_values.select{|fv| fv.field == x }.map{|fv| {x.name => fv.string_value}}}
@dorkrawk
dorkrawk / primes.scala
Created July 10, 2013 00:16
Use lazy evaluation to compute primes.
def from(n: Int): Stream[Int] = n #:: from(n + 1)
def sieve(s: Stream[Int]): Stream[Int] = s.head #:: sieve(s.tail filter (_ % s.head != 0))
val primes = sieve(from(2))
primes.take(10).toList // produces first 10 primes
primes.take(100).toList // produces first 100 primes
@dorkrawk
dorkrawk / blue_red_green.ino
Created April 10, 2013 05:03
This is the first little Arduino program I wrote (outside of basic tutorials). It turns on a blue, red, or green LED based on a key stroke. Neat!
char input = 0;
int blue = 9;
int red = 10;
int green = 11;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
delay(100);
@dorkrawk
dorkrawk / boolean_evil.py
Created February 20, 2013 19:18
An incredibly evil little piece of Python to toss into unsuspecting code.
import random
if random.randint(0,1):
(True,False) = (False,True)