Skip to content

Instantly share code, notes, and snippets.

View adunkman's full-sized avatar

Andrew Dunkman (he/him) adunkman

View GitHub Profile
@adunkman
adunkman / sheets-poc.html
Created September 8, 2015 22:38
A quick proof-of-concept to use Google Sheets as a backend.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore.js"></script>
<script>
(function () {
var key = "1HwGVE-MqVmeLwcfljmBmuTD55arVxsElG3C2urJadAw";
var url = "https://spreadsheets.google.com/feeds/list/" + key + "/od6/public/values?alt=json";
@adunkman
adunkman / index.js
Last active August 29, 2015 14:27
Simple proof-of-concept for Content-Security-Policy in report-only mode.
var app = require("express")();
// JSON parse the body of requests with `application/csp-report` content type.
app.use(require("body-parser").json({
type: "application/csp-report"
}));
// Page with CSP header (in report-only mode).
app.get("/", function (req, res) {
res.setHeader("Content-Security-Policy-Report-Only", [
@adunkman
adunkman / bookmarklet.js
Created June 19, 2015 20:21
Hacking the Harvest Platform
(function () {
var github = function () {
var parts;
if (parts = window.location.pathname.match(/^\/([^\/]+\/[^\/]+)\/(?:issues|pull)\/(\d+)/)) {
var repo = parts[1];
var issue = parts[2];
var url = window.location.href;
var name = document.querySelector(".js-issue-title").innerText;
window.open([
@adunkman
adunkman / README.md
Created May 5, 2015 14:56
Platform bookmarklet
@adunkman
adunkman / hacked-together.js
Created April 9, 2015 19:11
A quick program thrown together to run some stats on an export of Bugsnag errors.
var _ = require("./vendor/assets/javascripts/vendor/underscore.js");
var parts = [
require("/Users/adunkman/Downloads/arc-response-2015 Apr 9 11-21-29.json"),
require("/Users/adunkman/Downloads/arc-response-2015 Apr 9 11-23-02.json")
];
var complete = parts.reduce(function (a, b) { return a.concat(b); });
var reportBy = function (name, grouper) {

Keybase proof

I hereby claim:

  • I am adunkman on github.
  • I am adunkman (https://keybase.io/adunkman) on keybase.
  • I have a public key whose fingerprint is 6DD1 FC34 52A3 B4D7 39F6 C092 1AF3 8D02 5A7B 51A9

To claim this, I am signing this object:

@adunkman
adunkman / bundle.js
Created September 18, 2014 14:58
Sample of using connect-assets (mincer/sprockets-style concatenation) without globals.
//= require closure_start
//= require jQuery
//= require the_rest_of_your_dependencies
//= require_self
//= require closure_end
var something = function () {
return "this also gets included in the closure, since require_self is defined".
};

Ward 1

  • Adams Morgan
    • Named after two schools, Adams (a segregated black school) and Morgan (a segregated white school)
    • Main commercial district is along 18th St NW
    • Adams Morgan Day Festival is held annually on the Second Sunday of September
    • Farmer's market on Saturdays
  • Columbia Heights
  • Howard University
  • Kalorama

Taken from element.getBoundingClientRect MDN documentation:

For cross-browser compatibility, use window.pageXOffset and window.pageYOffset instead of window.scrollX and window.scrollY, except use (((t = document.documentElement) || (t = document.body.parentNode)) && typeof t.ScrollLeft == 'number' ? t : document.body).ScrollLeft and (((t = document.documentElement) || (t = document.body.parentNode)) && typeof t.ScrollTop == 'number' ? t : document.body).ScrollTop when window.pageXOffset and window.pageYOffset (and window.pageXOffset and window.pageYOffset) are undefined.

Oye.

@adunkman
adunkman / gist:5631298
Last active December 17, 2015 15:19
Execute git status on each directory that is a git repository in the current directory.
ls -dx1 */.git/ | sed 's/\(.*\)\/\.git\//echo \1: \&\& cd \1 \&\& git status --porcelain \&\& cd ..; /' | bash