Skip to content

Instantly share code, notes, and snippets.

@hawx
hawx / subclass.rb
Created February 12, 2015 18:26
adds Object#subclasses
class Object
# A method that adds a #subclass class method allowing
# you to find the subclasses of a particular class.
#
# @example
#
# class String2 < String; end
# class String3 < String; end
# String.subclasses
@hawx
hawx / counts.sh
Last active August 29, 2015 14:26
List links with counts
grep 'http[^, ]*' *.txt | sed -ne 's/.*\(http[^, ]*\).*/\1/p' | sort | uniq -c | sort -r -t ' ' > counts.txt
@hawx
hawx / build.sh
Last active October 13, 2015 18:55
Building evmpd on raspbian
git clone https://github.com/hawx/evmpd
cd evmpd
sudo apt-get install libmpdclient-dev
wget http://mirror.ox.ac.uk/sites/archive.raspbian.org/archive/raspbian/pool/main/libe/libevdev/libevdev-dev_1.3+dfsg-1_armhf.deb
sudo apt-get install libjs-jquery # WHAT?
sudo dpkg -i libevdev-dev_1.3+dfsg-1_armhf.deb
make
@hawx
hawx / reboot.sh
Last active November 16, 2015 13:32
Reboot sonoses in ip range
#/usr/bin/env bash
#
# eg. ./reboot.sh 192.168.1
for ip in $1.{1..254}; do
curl "http://$ip:1400/reboot" -m 2 2>/dev/null &
done
@hawx
hawx / poker_test.py
Last active December 2, 2015 19:40
Suit-blind poker hands kata solution in simple (fors and ifs as much as possible) Python
import unittest
def winner(hand1, hand2):
hand1 = sorted(hand1, reverse=True)
hand2 = sorted(hand2, reverse=True)
result = try_winner([four_of_a_kind, full_house, straight, three_of_a_kind,
two_pairs, pair], hand1, hand2)
if result != 0:
@hawx
hawx / quit.go
Created January 2, 2016 14:25
Example showing how to provide a blocking-close for long running processes in golang. The process will run until Close() is called, this call blocks until the process has actually stopped.
package main
import (
"log"
"time"
)
type Process struct {
quit chan struct{}
}
@hawx
hawx / listener.go
Last active February 5, 2016 11:21
HTTP Listener
package main
import (
"io/ioutil"
"log"
"net/http"
"os"
"strings"
)
'use strict';
var GitHub = require('github-api');
var fetch = require('node-fetch');
var exec = require('child_process').exec;
const gh = new GitHub({ token: 'MY_TOKEN' });
const org = gh.getOrganization('MY_ORG');
fetch('https://api.bitbucket.org/2.0/teams/MY_ORG/repositories')
@hawx
hawx / radio.test.js
Created April 24, 2017 10:42
Testing radio buttons in Angular...
it('test', () => {
const element = `
<section>
<label>
<input type="radio"
ng-value="true"
name="test"
ng-model="$ctrl.value"
hidden
required />
@hawx
hawx / checkbox.test.js
Created April 24, 2017 10:47
Testing checkbox in Angular...
it('test', () => {
const element = `
<section>
<label>
<input type="checkbox" name="test" ng-model="$ctrl.value" />
ok
</label>
<div ng-if="$ctrl.value">what</div>
</section>