Pure JavaScript Zoom and Pan, taken from http://phrogz.net/tmp/canvas_zoom_to_cursor.html
A Pen by TechSlides on CodePen.
# follow instructions on http://caffe.berkeleyvision.org/install_osx.html except for protobuf, where you should use --devel and not use --with-python because it is the default behaviour | |
brew install --devel protobuf #basically you are installing protobuf 3.0, the same checked by pip for tensorflow | |
# continue with caffe installation, after make all and before make runtest, set the right linking lib location | |
install_name_tool -change libcaffe.so.1.0.0-rc3 @rpath/libcaffe.so.1.0.0-rc3 .build_release/test/test_all.testbin | |
install_name_tool -change libcaffe.so.1.0.0-rc3 @rpath/libcaffe.so.1.0.0-rc3 .build_release/tools/caffe | |
install_name_tool -change libcaffe.so.1.0.0-rc3 @rpath/libcaffe.so.1.0.0-rc3 .build_release/lib/libcaffe.so | |
# run make runtest, if everything is ok, before running make pycaffe set the right linking location for python | |
install_name_tool -change libcaffe.so.1.0.0-rc3 @rpath/libcaffe.so.1.0.0-rc3 /Users/imac/caffe/python/caffe/_caffe.so | |
# make pycaffe; cd caffe/python; try to run python >>>impor |
Pure JavaScript Zoom and Pan, taken from http://phrogz.net/tmp/canvas_zoom_to_cursor.html
A Pen by TechSlides on CodePen.
FFMPEG filters provide a powerful way to programmatically enhance or alter videos, and it’s fairly simple to add a watermark to a video using the overlay filter. The easiest way to install ffmpeg is to download a pre-built binary for your specific platform. Then you don’t have to worry about including and installing all the right dependencies and codecs you will be using.
Once you have ffmpeg installed, adding a watermark is as easy as passing your existing source through an overlay filter like so:
ffmpeg -i test.mp4 -i watermark.png -filter_complex "overlay=10:10" test1.mp4
Basically, we’re passing in the original video, and an overlay image as inputs, then passing it through the filter, and saving the output as test1.mp4.
// source: https://ctrlq.org/code/19702-twitter-image-upload | |
function autoTweet() { | |
var ss = SpreadsheetApp.getActiveSpreadsheet(); | |
var sheet = ss.getSheetByName("schedule"); // This must match the sheet name! | |
var rows = sheet.getRange("A:D").getValues(); | |
var titleList = [], newValues = [], | |
response, doc, title; | |
var twitterCallback = function(rowIndex, err, result) { |
#!/usr/bin/env python | |
# encoding: utf-8 | |
import tweepy #https://github.com/tweepy/tweepy | |
import json | |
import sys | |
#Twitter API credentials | |
consumer_key = "" | |
consumer_secret = "" |
// this function will work cross-browser for loading scripts asynchronously | |
function loadScript(src) { | |
return new Promise(function(resolve, reject) { | |
const s = document.createElement('script'); | |
let r = false; | |
s.type = 'text/javascript'; | |
s.src = src; | |
s.async = true; | |
s.onerror = function(err) { | |
reject(err, s); |
exFAT support on macOS seems to have some bugs because my external drives with exFAT formatting will randomly get corrupted.
If Disk Utility is unable to repair, consider trying this:
diskutil list
to find the right drive id.disk1s1
sudo fsck_exfat -d <id from above>
. eg sudo fsck_exfat -d disk1s3
-d
is debug so you'll see all your files output as they're processed.( // http://doc.sccode.org/Classes/ServerOptions.html
s.options.numBuffers = 1024 * 16; // increase this if you need to load more samples s.options.memSize = 8192 * 16; // increase this if you get "alloc failed" messages s.options.maxNodes = 1024 * 32; // increase this if you are getting drop outs and the message "too many nodes"
// Default // s.options.numOutputBusChannels = 2; // set this to your hardware output channel size, if necessary // s.options.numInputBusChannels = 2; // set this to your hardware output channel size, if necessary
// Open the Chrome inspector, and select the topmost div containing the twitter thread. | |
// You might want to open the first tweet in the thread, scroll down to load every item in the thread, then select the parent container | |
var foo = document.createElement("div"); | |
var str = "" | |
$($0).find(".tweet").each(function(i, t) { | |
var tweet = $(t); | |
var turl = "https://twitter.com" + tweet.data("permalink-path") | |
var tdate = tweet.find(".tweet-timestamp").attr("title") | |
var tcontent = tweet.find(".tweet-text").html() |
or delicacies too choice for the manual.
TOC