This gist shows how to create a GIF screencast using only free OS X tools: QuickTime, ffmpeg, and gifsicle.
To capture the video (filesize: 19MB), using the free "QuickTime Player" application:
phantom.injectJs "casper.js" | |
getLinks = -> | |
links = document.querySelectorAll "h3.r a" | |
Array::map.call links, (e) -> e.getAttribute "href" | |
links = [] | |
casper = new phantom.Casper() | |
casper.start "http://google.fr/", (self) -> |
<?php | |
/** | |
* Scrape the number of podcast reviews from iTunes for all country specific storefronts. | |
* | |
* @author Sean Murphy <[email protected]> | |
*/ | |
$podcast_id = '366931951'; // Startups For the Rest of Us | |
//$podcast_id = '318567721'; // techzing |
require 'date' | |
# Actually doesn't matter WHAT you choose as the epoch, it | |
# won't change the algorithm. Just don't change it after you | |
# have cached computed scores. Choose something before your first | |
# post to avoid annoying negative numbers. Choose something close | |
# to your first post to keep the numbers smaller. This is, I think, | |
# reddit's own epoch. | |
$our_epoch = Time.local(2005, 12, 8, 7, 46, 43).to_time |
<?php | |
/** | |
* Scrape the number of app reviews from iTunes. | |
* | |
* Set the iOS app id and the number of pages to scrape, and it creates a {$app_id}-reviews.csv file | |
* | |
* @author Kent Bye <[email protected]> | |
* Modified and extended from Sean Murphy's gist at https://gist.github.com/1878352 | |
*/ |
npm install -g yo
yo webapp
npm install grunt-contrib-jade --save-dev
#!/usr/bin/env ruby | |
# Used to perform multiple requests of urls for benchmarking | |
# | |
# @example | |
# # Requests the url 3 times outputting times for each | |
# ./benchmark_url 3 http://my.url.com | |
# ruby benchmark_url 3 http://my.url.com | |
# | |
# # Requests each url 5 times outputting times for each |
/** @jsx React.DOM */ | |
define([ | |
'underscore', 'jquery', 'react', 'platform/uuid' | |
], function (_, $, React, uuid) { | |
'use strict'; | |
/** | |
* SwitchBox control (checkbox with special markup to look like a light switch). | |
* Can be configured with an optional `onChange` prop to effect state up the tree. | |
*/ |
angular.module('restangularDemoApp', [ | |
'restangular', | |
'ngCookies' | |
]) | |
.constant('apiKey', 'YOUR_Mongolab_API_KEY') | |
.config(function(RestangularProvider, apiKey) { | |
RestangularProvider.setBaseUrl('https://api.mongolab.com/api/1/databases/YOURDATABASE/collections'); | |
RestangularProvider.setDefaultRequestParams({ | |
apiKey: apiKey | |
}) |
'use strict'; | |
module.exports = function(grunt) { | |
// load all grunt tasks | |
require('matchdep').filterDev('grunt-*').forEach(grunt.loadNpmTasks); | |
// configurable paths | |
var paths = { |