Skip to content

Instantly share code, notes, and snippets.

Chris Moore dooglus

Block or report user

Report or block dooglus

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View gist:0fa81be1f9b087142ef987a06d6824d3
#!/usr/bin/env python
import random, string, time
def rand():
return start_date + random.random() * (end_date - start_date)
def fmt(seconds):
return '[%s]' % time.ctime(seconds)
View gist:351c25605a60a0c9b3af41d14004e4ff
def evaluate(hand):
ranks = '23456789TJQKA'
if len(hand) > 5: return max([evaluate(hand[:i] + hand[i+1:]) for i in range(len(hand))])
score, ranks = zip(*sorted((cnt, rank) for rank, cnt in {ranks.find(r): ''.join(hand).count(r) for r, _ in hand}.items())[::-1])
if len(score) == 5: # if there are 5 different ranks it could be a straight or a flush (or both)
if ranks[0:2] == (12, 3): ranks = (3, 2, 1, 0, -1) # adjust if 5 high straight
score = ([1,(3,1,2)],[(3,1,3),(5,)])[len({suit for _, suit in hand}) == 1][ranks[0] - ranks[4] == 4] # high card, straight, flush, straight flush
return score, ranks
@dooglus
dooglus / public.py
Created Aug 13, 2016
create Bitcoin public key from private key
View public.py
#! /usr/bin/env python
class Point(object):
def __init__(self, _x, _y, _order = None): self.x, self.y, self.order = _x, _y, _order
def calc(self, top, bottom, other_x):
l = (top * inverse_mod(bottom)) % p
x3 = (l * l - self.x - other_x) % p
return Point(x3, (l * (self.x - x3) - self.y) % p)
View gist:40b56a1dfc3eb14f67e84c5489182db9
Verifying that +dooglus2 is my blockchain ID. https://onename.com/dooglus2
View gist:1426a596d59b722d3312
import random, math
num_sims = 1000
num_rolls = 1000
chance = 5/100.0
edge = 1 - 2*chance
start_bank = 1000
risk = 0
while risk < 1:
@dooglus
dooglus / clams.py
Last active Jan 2, 2016
clamd in Python, accepting long commands on standard input
View clams.py
#!/usr/bin/python
from __future__ import print_function
import base64, httplib, json, string, sys, re
USER = 'user'; PASS = 'pass'; HOST = '127.0.0.1'; PORT = 30174
class RPC:
def __init__(self, host, port, username, password):
self.authhdr = "Basic %s" % (base64.b64encode("%s:%s" % (username, password)))
self.conn = httplib.HTTPConnection(host, port, False, 30)
View development_genesis.json
{
"nonce": "0x0000000000000042",
"difficulty": "0x40000",
"alloc": {
"bbbbbaaaaa82db86a35502193b4c6ee9a76ebe8f": {
"balance": "10015200000000000000000"
},
},
"mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"coinbase": "0x0000000000000000000000000000000000000000",
View gist:863daab1a8c6431b6338
#include <boost/spirit/include/classic_core.hpp>
#include <iostream>
#include <string>
#include <stdio.h>
#include <stdint.h>
using namespace std;
using namespace boost::spirit::classic;
struct count_satoshis
View jd-verify.py
#!/usr/bin/env python
import hmac
import hashlib
from sys import argv, exit, stderr
def hmac_sha512(key, message):
return hmac.new(key, message, hashlib.sha512).hexdigest()
def roll(server_seed, client_seed, nonce):
# Generate key and message strings.
You can’t perform that action at this time.