Skip to content

Instantly share code, notes, and snippets.

View ZeroBugBounce's full-sized avatar

Richard Lowe ZeroBugBounce

View GitHub Profile
@ZeroBugBounce
ZeroBugBounce / RedditUrlBuilder
Created March 29, 2013 21:28
Helps to create the URLs for the Reddit API in C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ZeroBugBounce.ReddShift
{
public class RedditUrlBuilder
{
// http://www.reddit.com/top/?sort=top&t=week
@ZeroBugBounce
ZeroBugBounce / Program.cs
Created May 6, 2013 02:29
Optimization of 'Coins in a Line Solution' (see method 'SnistDort3')
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
namespace ConsoleApplication7
{
public static class Program
{
@ZeroBugBounce
ZeroBugBounce / Program.cs
Created August 10, 2013 18:22
Proper async I/O demonstrating completion port usage in C# / .NET with StreamReader/Writer
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace ReadLargeFileAsync
{
@ZeroBugBounce
ZeroBugBounce / commit-msg
Last active August 29, 2015 13:56
A git prepare-commit-msg hook to add Jira ID automatically to all feature branch commits
#!/usr/bin/env python
import re
import subprocess
import sys
f = open( sys.argv[1], "r" )
commit_msg = f.read();
f.close()
current_branches = subprocess.check_output(["git", "branch", "--no-color"])
@ZeroBugBounce
ZeroBugBounce / timelineAndProfile.js
Created March 20, 2014 14:09
Record both a timeline and profile your JS simultaneously
// just enter this on the console to record both for 3 seconds
(function() {
console.timeline();
console.profile();
setTimeout(function() {
console.timelineEnd();
console.profileEnd();
}, 3000);
})();
@ZeroBugBounce
ZeroBugBounce / inline-worker.js
Created June 4, 2014 18:12
Run code in a web worker, without the worker code being in a separate .js file
var InlineWorker =
(function() {
var handleMessage = function(msg) {
if(this.onmessage) {
this.onmessage(msg);
}
}
InlineWorker = function(workerFunc) {
var code = workerFunc.toString();
@ZeroBugBounce
ZeroBugBounce / fowardEvents.js
Created June 19, 2014 14:50
Forwarding of events from one UI element or set of elements to another
// this shows forwarding jQuery events to native events
// where the target is hard-coded
forwardEventTo: function(e) {
var iframeDocument = this.$el.find('iframe')[0].contentWindow.document;
var target = iframeDocument.elementFromPoint(e.offsetX, e.offsetY);
if (target) {
var props = _.extend(e.originalEvent, {
srcElement: target,
@ZeroBugBounce
ZeroBugBounce / findResizedImages.js
Created August 21, 2014 14:54
Find images that have been resized from their natural dimensions
function getImageDimensions(path,callback) {
var img = new Image();
img.onload = function () {
callback({
width: img.width,
height: img.height
});
};
img.src = path;
}
@ZeroBugBounce
ZeroBugBounce / track-focus.js
Created August 27, 2014 15:49
Track the current active element (focused) in 100ms intervals
storage = { }; setInterval(function() {
if(storage.activeElement !== document.activeElement) {
storage.activeElement = document.activeElement;
console.log('new active element: %o', document.activeElement);
}
}, 100);
@ZeroBugBounce
ZeroBugBounce / findCssPropForSelector.js
Last active August 29, 2015 14:06
Find a value of a specific CSS property in declared styles of a document
// requires underscore.js or lodash.js
function findCssPropForSelector(className, prop) {
var rule;
_.each(document.styleSheets, function(ss) {
_.each(ss.cssRules, function(r) {
if(r.cssText.indexOf(className) >= 0) {
console.log('%s: %s', ss.href, r.style[prop]);
}
});