Skip to content

Instantly share code, notes, and snippets.

💻
Coding...

Mark Watson markwatson

💻
Coding...
Block or report user

Report or block markwatson

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
@markwatson
markwatson / keybase.md
Created Jan 3, 2018
Keybase verification
View keybase.md

Keybase proof

I hereby claim:

  • I am markwatson on github.
  • I am markwatson (https://keybase.io/markwatson) on keybase.
  • I have a public key ASCuAq64t3gLeQezhPXltcKBo12vkezVThpaCWjAF65M2Ao

To claim this, I am signing this object:

@markwatson
markwatson / toString Generator
Created Feb 9, 2016 — forked from jenslohmann/toString Generator
Java toString() generator for IntelliJ IDEA that generates JSON
View toString Generator
public java.lang.String toString() {
#if ( $members.size() > 0 )
#set ( $i = 0 )
return "{\"_class\":\"$classname\", " +
#foreach( $member in $members )
#set ( $i = $i + 1 )
#if ( $i == $members.size() )
#set ( $postfix = "+" )
#else
#set ( $postfix = "+ "", "" + " )
@markwatson
markwatson / onChange.js
Created Feb 23, 2015
Helper to live check for input box changes in JavaScript.
View onChange.js
$.fn.mwOnChange = function(callback, timeout) {
return $(this).each(function() {
if (timeout === undefined) {
timeout = 500;
}
var eventNames = 'keydown paste input';
var timeoutId = null;
$(this).on(eventNames, function(e) {
var self = this;
@markwatson
markwatson / createEl.js
Created May 29, 2014
Create elements in javascript. Useful to me, not that useful in general.
View createEl.js
var createEl = function(type, props, children) {
var el = document.createElement(type);
if (props) {
for (var key in props) {
if (props.hasOwnProperty(key)) {
if (key == "css") {
if (props[key].length > 0) {
el.style.cssText = props[key].join(';') + ";";
}
} else {
View countCSSRules.js
function countCSSRules() {
var results = '',
log = '';
if (!document.styleSheets) {
return;
}
for (var i = 0; i < document.styleSheets.length; i++) {
countSheet(document.styleSheets[i]);
}
function countSheet(sheet) {
@markwatson
markwatson / csv.py
Last active Aug 29, 2015
Reads CSV files while handling all types of edge cases. (Built as an exercise - probably not useful)
View csv.py
import re
import unittest
class CsvReader(object):
"""
Reads CSV files while handling all types of edge cases.
"""
def __init__(self, lines):
"""
A new CSV reader with the given lines.
@markwatson
markwatson / time_card.py
Created Jul 16, 2013
A simple time tracker script.
View time_card.py
#/usr/bin/env python
"""
time_cards.py
This utility tracks time.
"""
import datetime
import atexit
@markwatson
markwatson / merge_tuples.rb
Created Mar 11, 2013
Merges an array of arrays by adding the elements together.
View merge_tuples.rb
# Takes an array of totals_tuples and combines them into a single tuple.
def self.merge_tuples(tuples)
tuples.inject([]) do |xs, ys|
l = [xs.length, ys.length].max
zs = []
l.times.each do |i|
zs[i] = (xs[i] || 0) + (ys[i] || 0)
end
zs
end
@markwatson
markwatson / pretty_json.py
Last active Dec 12, 2015
A sublime text plugin that pretty formats all the select JSON blobs.
View pretty_json.py
import sublime, sublime_plugin
import json
import re
class PrettyJsonCommand(sublime_plugin.TextCommand):
def run(self, edit):
re_json_p = re.compile(r'^\s*(\w+)\s*\(\s*(.*)\s*\)\s*$')
try:
for region in self.view.sel():
@markwatson
markwatson / stats.py
Created May 3, 2012
Random stats functions
View stats.py
def mean(x): return sum(x) / len(x)
def std_dev(x, mx=None):
if mx is None:
mx = mean(x)
return math.sqrt(sum((i - mx)**2 for i in x)/len(x))
You can’t perform that action at this time.