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:
Design: | |
Note: The smallest block that can be allocated is 8 bytes due to the following structure. | |
Byte Layout: | |
0 3 7 | |
---------------------------- | |
| size of | offset to | | |
| data | next free | | |
---------------------------- |
import os | |
from zbase62 import zbase62 | |
from mongoengine import * | |
from mongoengine.queryset import OperationError | |
class RandomPKDocument(Document): | |
id = StringField(unique=True, primary_key=True) | |
def get_pk_prefix(self): |
import datetime | |
from mongoengine import * | |
class DocumentBase(Document): | |
date_created = DateTimeField() | |
date_updated = DateTimeField() | |
def _type(self): | |
return unicode(self.__class__.__name__) |
#!/usr/bin/env python | |
import csv | |
import argparse | |
from flask_common.utils import CsvWriter | |
from closeio_api_client.api import CloseIO_API, APIError | |
HEADERS = ['date_created', 'lead_name', 'status', 'date_won', 'date_lost', 'confidence', 'user_name', 'note', 'value', 'value_period'] | |
parser = argparse.ArgumentParser(description='Export Opportunities to CSV') | |
parser.add_argument('--api_key', '-k', required=True, help='API Key') |
#!/usr/bin/env python | |
import csv | |
import argparse | |
from flask_common.utils import CsvWriter | |
from closeio_api_client.api import CloseIO_API, APIError | |
HEADERS = ['display_name', 'addresses'] | |
parser = argparse.ArgumentParser(description='Export Leads to CSV') | |
parser.add_argument('--api_key', '-k', required=True, help='API Key') |
#!/usr/bin/env python | |
import sys | |
import time | |
import codecs | |
import argparse | |
from pybars import Compiler | |
from closeio_api_client.api import CloseIO_API as CloseIO |
#!/usr/bin/env python | |
import argparse | |
from closeio_api import Client as CloseIO_API | |
parser = argparse.ArgumentParser(description='Search and update some leads') | |
parser.add_argument('--api_key', '-k', required=True, help='API Key') | |
args = parser.parse_args() | |
api = CloseIO_API(args.api_key) |
United States, United States of America, 'Merica, USA, U.S. => US | |
United Kingdom, UK, England => GB | |
Canada => CA | |
Germany, Deutschland => DE | |
France => FR | |
Afghanistan => AF | |
Åland Islands => AX | |
Albania => AL | |
Algeria => DZ | |
American Samoa => AS |
function ImportJSONBasicAuthentication(url, query, parseOptions, username, password) { | |
var fetchOptions = { | |
"headers" : { | |
"Authorization" : 'Basic ' + Utilities.base64Encode(username + ':' + password) | |
}, | |
muteHttpExceptions: true | |
}; | |
return ImportJSONAdvanced(url, fetchOptions, query, parseOptions, includeXPath_, defaultTransform_); |