Skip to content

Instantly share code, notes, and snippets.

View nathanharper's full-sized avatar
🤠

Nathan Harper nathanharper

🤠
View GitHub Profile
@nathanharper
nathanharper / davmail_updater.pl
Last active August 29, 2015 14:02
Script to look for a new version of Davmail on Sourceforge, download it, and install it.
#!/usr/bin/perl
use strict;
use warnings;
use File::Path qw(make_path);
my $download_url = "http://sourceforge.net/projects/davmail/files/latest/download?source=files";
my $user_agent = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/34.0.1847.116 Chrome/34.0.1847.116 Safari/537.36';
my $version_file = "davmail_version";
my $davmail_deb = "davmail_latest.deb";
my $version_path = "$ENV{'HOME'}/.config/davmail_updater";
@nathanharper
nathanharper / ikill.pl
Last active August 29, 2015 14:02
simple process search/destroy menu
#!/usr/bin/env perl
BEGIN { $Curses::OldCurses = 1; }
use strict;
use warnings;
use Curses;
use perlmenu;
my $ARGC = $#ARGV + 1;
my $killid = 15;
my @all_pids;
function! BddFindFunction()
ruby<<E___
line = VIM::Buffer.current.line
if /^\s*(?:[Gg]iven|[Ww]hen|[Tt]hen|[Bb]ut|[Aa]nd)\s+"([^"]+)".*$/ =~ line
function_name = $1.gsub(/[^A-Za-z0-9\s]/, "").gsub(/\s+/, "_").downcase
Vim::command('call searchpos("def ' + function_name + '")')
else
Vim::message "Not a BDD :^("
end
E___
@nathanharper
nathanharper / java_switch.sh
Created January 6, 2015 14:27
Switch Java Version
/usr/libexec/java_home -v 1.8.0_25 --exec javac -version
@nathanharper
nathanharper / default-csrf.js
Last active January 22, 2018 11:56
axios default CSRF Token
let csrfToken = 'lololololol';
let axiosDefaults = require('axios/lib/defaults');
axiosDefaults.headers.common['X-CSRF-Token'] = csrfToken;
#!/usr/bin/env bash
nc -l localhost 12345
curl -H "Content-Type: application/json" -X POST -d '{"lol": "data"}' http://localhost:12345
git tag -d 12345
git push origin :refs/tags/12345
Time.new().strftime("%Y%m%d%H%M%S")
@nathanharper
nathanharper / mock-promise.js
Last active July 5, 2018 02:54
Mock a promise object for jest tests
// Put this in your "setupEnvScriptFile" for Jest.
// usage: `jest.genMockFn().mockReturnValue(promisify('whateva'))`
promisify = function (returnValue, delay) {
delay = !!delay;
let delayCount = 0;
let recursiveMockPromise = new function () {
let self = this;
self.returnValue = returnValue;
#!/bin/bash
git branch -u origin/$(git rev-parse --abbrev-ref HEAD)