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:
#!/usr/bin/python | |
import boto | |
import math | |
# Use boto to Copy an Object greater than 5 GB Using S3 Multipart Upload API | |
# probably could be made more pythonesque, based directly off the AWS Java example | |
# Copy an Object [greater than 5 GB] Using the AWS SDK for Java [S3] Multipart Upload API | |
# http://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjctsUsingLLJavaMPUapi.html | |
# copy in same bucket as a simple test |
<?php | |
//add your server aliases here | |
$servers = array( | |
"185.14.184.234" => "mcfly.bensmann.no", | |
"185.14.184.xxx" => "another.server.com", | |
); | |
//this script is triggered by this command from the terminal or cron: | |
//echo "time=`uptime`&df=`df -h`" | curl -s -d @- http://domain.com/path/to/script.php |
I use Namecheap.com as a registrar, and they resale SSL Certs from a number of other companies, including Comodo.
These are the steps I went through to set up an SSL cert.
import Adafruit_BBIO.PWM as PWM | |
servo_pin = "P8_13" | |
duty_min = 2.5 | |
duty_max = 13.1 | |
duty_span = duty_max - duty_min | |
PWM.start(servo_pin, duty_span * 0.5, 60.0) | |
while True: |
(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
<?xml version="1.0" encoding="UTF-8"?> | |
<!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//EN http://www.apple.com/DTDs/PropertyList-1.0.dtd > | |
<plist version="1.0"> | |
<dict> | |
<key>Label</key> | |
<string>org.nodered.plist</string> | |
<key>ProgramArguments</key> | |
<array> | |
<string>/usr/local/bin/node</string> | |
<string>/usr/local/bin/node-red</string> |
/* bling.js */ | |
window.$ = document.querySelector.bind(document); | |
window.$$ = document.querySelectorAll.bind(document); | |
Node.prototype.on = window.on = function(name, fn) { this.addEventListener(name, fn); }; | |
NodeList.prototype.__proto__ = Array.prototype; | |
NodeList.prototype.on = function(name, fn) { this.forEach((elem) => elem.on(name, fn)); }; |
<html prefix="og: http://ogp.me/ns#"> | |
<head> | |
<title>The Title</title> <!-- ˜60 chars --> | |
<meta name="description" content="The Description"> <!-- ˜150 chars --> | |
<meta property="og:title" content="The Title"> | |
<meta property="og:description" content="The Description"> <!-- ˜300 chars --> | |
<meta property="og:site_name" content="Sfida Blog"> | |
<meta property="og:locale" content="es_AR"> | |
<meta property="og:type" content="website"> | |
<meta property="og:url" content="http://www.sfidastudios.com"> |
Long ago, the first time I read "The Pragmatic Programmer", I read some advice that really stuck with me.
"Don't Use Manual Procedures".
This in the chapter on Ubiquitous Automation. To summarize, they want you to automate all the things.
The trouble was that I hadn't much of an idea how to actually go