Skip to content

Instantly share code, notes, and snippets.

@sarfata
sarfata / gist:5068200
Created March 1, 2013 21:58
Google Script example on how to get the total number of comments for a disus forum
function disqusComments(cursor) {
var api_key = "YOUR_API_KEY";
var forum = "YOUR_FORUM";
var url = "https://disqus.com/api/3.0/forums/listThreads.json?api_key=" + api_key + "&forum=" + forum; //+ "&limit=100";
if (cursor) {
url = url + "&cursor=" + cursor;
}
@sarfata
sarfata / gist:5549732
Created May 9, 2013 19:06
First test pass but the second one fails - I do not understand why. The only difference is that the second test ticks 200ms (which is more than needed), while the first one only ticks 100ms.
var assert = require('assert'),
sinon = require('sinon');
describe("Testing sinon useFakeTimers", function() {
it('sinon faking timer should work with small intervals', function() {
var clock = sinon.useFakeTimers();
var spy = sinon.spy();
setInterval(spy, 100);
assert(! spy.calledOnce);
@sarfata
sarfata / hn-watch.py
Created June 10, 2013 10:48
Parses hn homepage and counts article with small scores so you can have a better idea of when is a good time to post.
# -*- coding: utf-8 -*-
import sys
import codecs
import re
from bs4 import BeautifulSoup
import requests
reload(sys)
sys.setdefaultencoding("utf-8")
@sarfata
sarfata / jshint-pebble
Created January 13, 2014 02:50
A sample [JSHint](http://www.jshint.com) configuration file for Pebble development and a modified `wscript` build file to call jshint on every build.
/*
* Example jshint configuration file for Pebble development.
*
* Read: http://developer.getpebble.com/blog/2014/01/12/Using-JSHint-For-Pebble-Development/
* And check out the full documentation at http://www.jshint.com/docs/options/
*/
{
// Declares the existence of a global 'Pebble' object
"globals": { "Pebble" : true },
@sarfata
sarfata / gist:9200708
Created February 25, 2014 01:15
SimplyJS: Setting text
simply.text({
title: "Hello",
subtitle: "World",
body: "The real sense of life..."
});
@sarfata
sarfata / hello_world.c
Created March 29, 2014 01:18
Pebble Videos - Build a Watchface
#include <pebble.h>
Window *window;
TextLayer *text_layer;
TextLayer *date_layer;
InverterLayer *inverter_layer;
void handle_timechanges(struct tm *tick_time, TimeUnits units_changed) {
static char time_buffer[10];
static char date_buffer[10];
@sarfata
sarfata / hello_world.c
Created March 29, 2014 01:21
Pebble Videos - Introduction to Pebble Development
#include <pebble.h>
Window *window;
TextLayer *text_layer;
void handle_init(void) {
// Create a window and text layer
window = window_create();
text_layer = text_layer_create(GRect(0, 0, 144, 154));
@sarfata
sarfata / gist:10574031
Created April 13, 2014 08:03
Pebble: How to override the back button when you are using a menu layer
/* Add those lines somewhere in your file */
// Define what you want to do when the back button is pressed
void back_button_handler(ClickRecognizerRef recognizer, void *context) {
APP_LOG(APP_LOG_LEVEL_DEBUG, "back clicked");
}
// We need to save a reference to the ClickConfigProvider originally set by the menu layer
ClickConfigProvider previous_ccp;
@sarfata
sarfata / gist:df39171bebee7766b816
Created May 29, 2014 03:25
JSConf'14 Scavenger Hunt app
var card = new Pebble.UI.Card({ title: "JSConf 2014", subtitle: "Scavenger Hunt", scrollable: true });
card.show();
var msg = "Contacting NSA to get your current position ";
var timer = setInterval(function() {
card.body(msg);
msg += ".";
}, 800);
function distanceBetweenCoordinates(pos1, pos2) {
@sarfata
sarfata / app.js
Created June 6, 2014 02:13
AA Hackathon - Example pebblejs app
/*
* Example provided by Pebble for the American Airlines - Gogo in flight - Wearable World Hackathon
*
* To use this project, please go to cloudpebble.net and create a new Pebble.js project.
* Copy and paste this gist in the app.js file.
*
* You will need to update the gogoStatusURL to point to a valid Gogo Inflight test server.
* An example JSON file is provided too.
*/