What are we trying to observe? Raw object data.
// Objects
var obj = { id: 2 };
obj.id = 3; // obj == { id: 3 }
// Arrays
var arr = ['foo', 'bar'];
arr.splice(1, 1, 'baz'); // arr == ['foo', 'baz'];
What are we trying to observe? Raw object data.
// Objects
var obj = { id: 2 };
obj.id = 3; // obj == { id: 3 }
// Arrays
var arr = ['foo', 'bar'];
arr.splice(1, 1, 'baz'); // arr == ['foo', 'baz'];
I've done the same process every couple years since 2013 (Mountain Lion, Mavericks, High Sierra, Catalina) and I updated the Gist each time I've done it.
I kinda regret for not using something like Boxen (or anything similar) to automate the process, but TBH I only actually needed to these steps once every couple years...
# Extract frames. One every 1 second(s) | |
ffmpeg -i video.mp4 -r 1 scenes/scene_%04d.png | |
# Convert png to png8 to decrease size. | |
for f in $(ls scenes | grep -i png); do convert "scenes/$f" "PNG8:scenes/$f"; done; | |
# Create animation | |
convert -delay 100 -loop 0 scenes/*.png animation.gif |
Here are a list of headless browsers that I know about:
// Using Casperjs to screenshot an entire Facebook Post */ | |
var casper = require('casper').create({ | |
clientScripts: [ | |
'jquery.js' | |
] | |
}); | |
//login to facebook | |
casper.start('https://www.facebook.com/', function() { | |
this.fill('#login_form', { email: 'email', pass: 'password' }, true); |
// an IIFE that illustrates different implementations | |
// of $.post() with Promises | |
// | |
// Check out jsFiddle `jQuery and Promises with UI animation` | |
// - demonstrates $.Deferrred() and custom $.when() | |
// - @ http://jsfiddle.net/ThomasBurleson/RTLr6/179/ | |
// | |
var onSubmitFeedback = (function () { | |
var target = $("#container").append("<div class='spinner'>"); |
// Alternative JavaScript Syntax | |
Person = :(name, address) { @name!, @address! } | |
Person::inspect = :{ <: "{@name} lives at {@address}" } | |
tj := Person('TJ', '314 Bessborough ave') | |
bob := Person('Bob', 'Some place') | |
[tj, bob].each(:(person){ print(person.inspect()) }) |