Skip to content

Instantly share code, notes, and snippets.

View leibovic's full-sized avatar

Margaret Leibovic leibovic

  • League
  • Toronto, ON
View GitHub Profile
@leibovic
leibovic / dominant-color.js
Created June 9, 2011 16:27
Dominant Color
function getDominantColor(aImg) {
let canvas = document.createElement("canvas");
canvas.height = aImg.height;
canvas.width = aImg.width;
let context = canvas.getContext("2d");
context.drawImage(aImg, 0, 0);
// keep track of how many times a color appears in the image
let colorCount = {};
@leibovic
leibovic / iconscrape.py
Created July 26, 2011 18:51
A script to look for icons specified in link tags with rel="icon" and the sizes attribute, or with rel="apple-touch-icon"
#! /usr/bin/env python
import csv
import urllib2
import sgmllib
class LinkParser(sgmllib.SGMLParser):
def parse(self, s):
self.feed(s)
self.close()
@leibovic
leibovic / gist:2305880
Created April 4, 2012 21:35 — forked from rnewman/gist:2305471
Start of a query
Due to limitations of SQLite, we need to make a temp table for this:
CREATE TEMP TABLE duped_urls AS
SELECT url, SUM(visits) AS total, MAX(modified) AS latest, MAX(_id) AS winner
FROM history
GROUP BY url
HAVING count(url) > 1;
UPDATE history
SET visits = (SELECT total FROM duped_urls WHERE duped_urls.url=history.url),
SRCDIR=mozilla-central
MOZCONFIG=$(SRCDIR)/.mozconfig-droid
OBJDIR=$(SRCDIR)/obj-android
MAKE=make -s -j8
embedding:
$(MAKE) -C $(OBJDIR)/embedding
mobile:
$(MAKE) -C $(OBJDIR)/mobile/android
@leibovic
leibovic / keybase.md
Created April 2, 2014 03:34
keybase.md

Keybase proof

I hereby claim:

  • I am leibovic on github.
  • I am margaret (https://keybase.io/margaret) on keybase.
  • I have a public key whose fingerprint is AFCD 3560 F696 9368 411A 107C D104 171F 7615 3348

To claim this, I am signing this object:

@leibovic
leibovic / FeedHelper.js
Last active August 29, 2015 14:01
Helper script to parse RSS feeds for Firefox for Android hub add-ons
"use strict";
var FeedHelper = {
parseFeed: function(feedUrl, onFinish, onError) {
let listener = {
handleResult: function handleResult(feedResult) {
let feedDoc = feedResult.doc;
let parsedFeed = feedDoc.QueryInterface(Ci.nsIFeed);
onFinish(parsedFeed);
}
@leibovic
leibovic / index.html
Last active August 29, 2015 14:07
Countdown Timer
<!DOCTYPE html>
<meta charset="utf-8">
<title>Countdown</title>
<h1 id="clock">00:00:00</h1>
<div>
<button class="plus" value="10">+10</button>
<button class="plus" value="5">+5</button>
<button class="plus" value="1">+1</button>
@leibovic
leibovic / pngcrush.sh
Created November 5, 2014 22:18
pngcrush all changed files in the topmost hg commit
#!/bin/bash
# pngcrushes any changed files in the top-most patch
files=`hg status -n --rev .^`
for f in $files
do
echo $f
pngcrush $f $f.new
mv $f.new $f
@leibovic
leibovic / task.js
Last active August 29, 2015 14:15
Web compatible version of Task.jsm
/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80 filetype=javascript: */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/. */
"use strict";
/**
* This module implements a subset of "Task.js" <http://taskjs.org/>.
# HG changeset patch
# User Nick Alexander <nalexander@mozilla.com>
# Date 1431118818 25200
# Fri May 08 14:00:18 2015 -0700
# Node ID 5645e1d9cbf3f76429dba78e25d8121327cbbb2a
# Parent 0406efcbb88be90a7e2163087f82dc89921b9b48
No bug - Add leakcanary to base Gradle project.
diff --git a/mobile/android/base/GeckoApplication.java b/mobile/android/base/GeckoApplication.java
--- a/mobile/android/base/GeckoApplication.java