105
ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012 AUTOMATE

Automate ALL THE THINGS

  • Upload
    kitthod

  • View
    2.026

  • Download
    3

Embed Size (px)

DESCRIPTION

Presentation from Open Web Camp on automating web workflow and some parts of life.

Citation preview

Page 1: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

AUTOMATE

Page 2: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Hi.

Page 3: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Who are you?

Page 4: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Caveats!

Page 5: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Why?

Page 6: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Page 7: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Not a bad thing!

Page 8: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Laziness – The quality that makes you go to great effort to reduce overall energy expenditure. It makes you write labor-saving programs that other people will find useful, and document what you wrote so you don't have to answer so many questions about it. Hence, the first great virtue of a programmer.

http://en.wikipedia.org/wiki/Larry_Wall

Page 9: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

“Progress isn't made by early risers. It's made by lazy men trying to find easier ways to do something.”

Robert A. Heinlein

Page 10: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

⌘ space

Page 11: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Page 12: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Skylighthttp://www.candylabs.com/skylight

Launchyhttp://www.launchy.net/http://pylaunchy.sourceforge.net/docs/

Page 13: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Gnome Launch Boxhttps://live.gnome.org/

Gnome Dohttp://do.davebsd.com/

Page 14: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Page 15: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Page 16: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Page 17: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Page 18: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Page 19: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Page 20: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

cd!!

cp!$

lesswhich

lsrm

pwdcat

findgrep

pushd / popddirs -v

Page 21: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Page 22: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

aliases

Page 23: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

zsh, bash format

alias d="dirs -v"

tcsh format

alias d 'dirs -v'

Page 24: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

alias tokitt 'scp \!* ki.tt:kitt-images; echo "https://kitt.hodsden.org/images/\!*"'

Page 25: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

% cd /home/takethelongroad/path/to/interesting/location% cd ../../another/interesting/location% cd ../../../back/to/another/place% cd ../../../../another/interesting/location

Page 26: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Page 27: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

cd ....

ls -al lslll

mkdir -pmd

psgps -ef | grep !$

hghistory | grep !$

find . -name $*ff

Page 28: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

alias gen_ctags='/usr/local/bin/ctags --langmap=php:.engine.inc.module.theme.php.install.test.profile --php-kinds=cdfi --languages=php --recurse --exclude="\.git" --exclude="\.svn" --exclude="\.hg" --exclude="\.bzr" --exclude="CVS" --totals=yes --tag-relative=yes --regex-PHP="/abstract\s+class\s+([^ ]+)/\1/c/" --regex-PHP="/interface\s+([^ ]+)/\1/c/" --regex-PHP="/(public\s+|static\s+|abstract\s+|protected\s+|private\s+)function\s+\&?\s*([^ (]+)/\2/f/"'

Page 29: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

scripts FTW!

Page 30: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

http://theopenphotoproject.org/

Page 31: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

https://github.com/openphoto/openphoto-phphttps://gist.github.com/1274061

Page 32: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

https://github.com/openphoto/openphoto-phphttps://gist.github.com/1274061

Page 33: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

cron / at

Page 34: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

% crontab -e

Page 35: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

# m h dom mon dow command

# every seventh minute, every day*/7 * * * * /usr/bin/example -arg

# run ping and ls at noon and midnight on the 1st day of every 2nd month# output the commands into the log file /var/log/cronrun.0 0,12 1 */2 * /sbin/ping -c 192.168.0.1; ls -la >>/var/log/cronrun

# third monday of every month at 4 am0 4 15-21 * 1 /command

Page 36: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

at

Page 37: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

% at 1220 jul 14at> ~/bin/tweet "I am now speaking at #owc12 about the "at" command. I hope I timed it well."at> ^D

Page 38: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Page 39: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Page 40: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Page 41: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

M-x (<do commands that will be repeated>M-x )

meta-x open-paren<do commands that will be repeated>meta-x close-paren

flower x shift 9<do commands that will be repeated>flower x shift 0

Page 42: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Page 43: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

zen coding

Page 44: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

div#banner>div.logo+ul#navigation>li*4>a

Page 45: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

<div id="banner"> <div class="logo"></div> <ul id="navigation"> <li><a href=""></a></li> <li><a href=""></a></li> <li><a href=""></a></li> <li><a href=""></a></li> </ul></div>

Page 46: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Page 47: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

code!

Page 48: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Cakehttp://book.cakephp.org/1.3/view/1522/Code-Generation-with-Bake

Page 49: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Drupalhttp://drupal.org/project/

easy_module

Page 50: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Symfonyhttp://symfony.com/doc/current/

book/page_creation.html

Page 51: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Djangohttps://github.com/debrice/

djangogenerator

Page 52: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Railshttp://guides.rubyonrails.org/command_line.html

http://guides.rubyonrails.org/getting_started.html

Page 53: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Rubyhttp://doc.zeroc.com/display/Ice/

Code+Generation+in+Ruby

Page 54: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Page 55: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Page 56: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Hudson / Jenkins / CI

Page 57: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

http://www.flickr.com/photos/emmett_ns_tullos/159845627/

Page 58: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Page 59: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

GreaseMonkey!

http://www.greasespot.net/

Page 60: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

http://userscripts.org/

Page 61: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Page 62: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Page 63: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

meanwhile...

Page 64: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

BIG

Page 65: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

RED

Page 66: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

SASS

Page 67: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Page 68: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

clicky

Page 69: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

clicky clicky

Page 70: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

http://www.phpied.com/form-auto-fill-bookmarklet/

@stoyanstefanov

Page 71: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Selenium Windmill

Page 72: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Page 73: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

push pull poll post

Page 74: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

have you changed yet? no.have you changed yet? no.have you changed yet? no.

Page 75: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

http://danieljaeger.openphoto.net/http://9686.openphoto.net/

Page 76: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Page 77: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

IFTTTifttt.com

Page 78: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Page 79: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Page 80: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Page 81: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

wait! wait! focus!

Page 82: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

ImageOptimhttp://imageoptim.com/

Page 83: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Page 84: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Page 85: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Page 86: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Page 87: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

open -a ImageOptim.app *.png

Page 88: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Uh oh…

Page 89: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

let us count the ways…

Page 91: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

2. send a tweet

Page 92: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

3. Use webhooks with Twilio

Page 93: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

4. Use IFTTT

Page 94: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

http://ifttt.com/recipes/774

Documentation by voice!

Page 95: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

phew!

Page 96: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Examples

Page 97: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

example: email collections of links

Page 98: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Page 99: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Page 100: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Page 101: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

$(document).ready(function() { $('.clicky').clickme();});

Page 102: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

example: autoload page in breakpoint-sized windows

Page 103: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

want to try:have google OCR your files

Page 104: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Thank you!

resources athttp://ki.tt/owc4

Page 105: Automate ALL THE THINGS

automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012

Kitt Hodsdenhttp://ki.tt/

@kitt