Skip to content

Instantly share code, notes, and snippets.

View kzar's full-sized avatar
🐈
Bashing the rocks together...

Dave Vandyke kzar

🐈
Bashing the rocks together...
View GitHub Profile
@kzar
kzar / gist:56e211fc7096f07cd75ac4f2f960f6ed
Last active January 15, 2019 12:48
Edge showOptions debugging
// First these two lines
let manifest = browser.runtime.getManifest();
browser.extension.getURL(manifest.options_page || manifest.options_ui.page);
// Then this one
browser.tabs.query({}, tabs => { console.log(JSON.stringify(tabs)); })
// Then this
browser.runtime.openOptionsPage
@kzar
kzar / gist:7397117c70b3a9bbf212
Created September 16, 2014 12:46
Highlight trailing whitespace and tabs red in emacs
; Highlight tabs and trailing whitespace everywhere
(setq whitespace-style '(face trailing tabs))
(custom-set-faces
'(whitespace-tab ((t (:background "red")))))
(global-whitespace-mode)
@kzar
kzar / default_param_mutate.py
Created September 28, 2017 10:32
Shared default parameter value Python example
import random
def foo(b={}):
b[random.random()] = "bar"
print b
for i in range(10):
print "Iteration " + str(i + 1)
foo()
@kzar
kzar / abp-crowdin-fix.diff
Created September 25, 2017 16:43
Adblock Plus Crowdin integration fix
diff --git a/localeTools.py b/localeTools.py
index 140f22c..f80a187 100644
--- a/localeTools.py
+++ b/localeTools.py
@@ -299,7 +299,7 @@ def setupTranslations(localeConfig, projectName, key):
allowed = set()
allowedLocales = json.load(urllib2.urlopen(
'https://crowdin.com/languages/languages_list?callback='
- ))
+ ))['data']
@kzar
kzar / adblockplusui-critical-dependency.patch
Created September 22, 2017 09:59
adblockplusui critical dependency webpack fix
diff --git a/messageResponder.js b/messageResponder.js
index 65e91ea..7ed00c7 100644
--- a/messageResponder.js
+++ b/messageResponder.js
@@ -21,8 +21,6 @@
(function(global)
{
- let ext = global.ext || require("ext_background");
-
@kzar
kzar / strip.js
Last active September 15, 2016 09:42
Small Node.js script to strip document blocking rules. (See https://issues.adblockplus.org/ticket/4280 )
"use strict";
let fs = require("fs");
if (process.argv.length != 3)
{
console.log("Usage: nodejs strip.js filename.json");
process.exit(1);
}
let filename = process.argv[2];
@kzar
kzar / webmate-keypresses.js
Last active August 2, 2016 22:16
Sending tricky keypresses to webmate.io
// Some keypresses are hard to send to VMs running in webmate.io as they are intercepted
// by the web browser. In those cases you can manually send them. Open the JavaScript console
// and paste one of these snippets.
// Notes:
// - There's a handy sheet of the key codes here http://www.cambiaresearch.com/articles/15/javascript-key-codes.
// - For buttons like Control or Alt you need to use "keydown", but for other keys "keypress".
// - Don't forget to also send a "keyup", otherwise the key will be held down forever!
// Control f
$("#console").wmks("sendKeyCode", 17, "keydown");
@kzar
kzar / safari-27656882.txt
Created August 2, 2016 13:09
Safari bug 27656882 - Safari Content Blocking API breaking Safari's URL parser
Summary:
We have found a serious bug whereby a content blocking rule list with a certain rule can stop Safari from being able to parse certain URLs. Specifically we found this to happen for Google text ad links which are supposed to redirect to the advertisement. Instead of the browser being redirected, Safari displays an error (see screenshot). This error goes away when the content blocking API is not used, and when it is used without certain troublesome rules.
Steps to Reproduce:
1. Create a new empty Safari Extension.
2. Create a file called rules.json containing the following:
[
{
"trigger": {
@kzar
kzar / ssh-tunnel.clj
Created December 7, 2011 16:57
Open and keep open a SSH tunnel using Clojure
(ns ssh-tunnel.core
(require [clj-ssh.ssh :as ssh]))
(defn ssh-tunnel
"Run a ssh tunnel in a deamon thread."
[session local-port remote-port]
(ssh/with-local-port-forward [session local-port remote-port]
(.setDaemonThread session true)
(ssh/with-connection session
(.setServerAliveInterval session 1000)
@kzar
kzar / gist:7346ba6995704054651ebf9faf069c33
Last active June 30, 2016 19:09
University of Teesside historic term dates
https://web.archive.org/web/20040604013918/http://www.tees.ac.uk/sections/about/termdates.cfm
https://web.archive.org/web/20120514124434/http://www.tees.ac.uk/sections/stud/termdates.cfm
2003 - 2004
Semester 1
Monday 22 September 2003 - Friday 23 January 2004
Semester 2
Monday 2 February 2004 - Friday 28 May 2004
Autumn Term
Monday 22 September 2003 - 12 December 2003