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
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
AUTOMATE
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
Hi.
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
Who are you?
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
Caveats!
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
Why?
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
Not a bad thing!
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
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
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
⌘ space
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
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/
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
Gnome Launch Boxhttps://live.gnome.org/
Gnome Dohttp://do.davebsd.com/
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
cd!!
cp!$
lesswhich
lsrm
pwdcat
findgrep
pushd / popddirs -v
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
aliases
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
zsh, bash format
alias d="dirs -v"
tcsh format
alias d 'dirs -v'
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
alias tokitt 'scp \!* ki.tt:kitt-images; echo "https://kitt.hodsden.org/images/\!*"'
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
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
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
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/"'
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
scripts FTW!
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
http://theopenphotoproject.org/
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
https://github.com/openphoto/openphoto-phphttps://gist.github.com/1274061
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
https://github.com/openphoto/openphoto-phphttps://gist.github.com/1274061
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
cron / at
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
% crontab -e
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
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
at
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
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
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
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
zen coding
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
div#banner>div.logo+ul#navigation>li*4>a
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>
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
code!
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
Cakehttp://book.cakephp.org/1.3/view/1522/Code-Generation-with-Bake
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
Drupalhttp://drupal.org/project/
easy_module
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
Symfonyhttp://symfony.com/doc/current/
book/page_creation.html
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
Djangohttps://github.com/debrice/
djangogenerator
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
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
Rubyhttp://doc.zeroc.com/display/Ice/
Code+Generation+in+Ruby
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
Hudson / Jenkins / CI
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
http://www.flickr.com/photos/emmett_ns_tullos/159845627/
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
GreaseMonkey!
http://www.greasespot.net/
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
http://userscripts.org/
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
meanwhile...
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
BIG
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
RED
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
SASS
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
clicky
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
clicky clicky
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
http://www.phpied.com/form-auto-fill-bookmarklet/
@stoyanstefanov
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
Selenium Windmill
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
push pull poll post
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.
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
http://danieljaeger.openphoto.net/http://9686.openphoto.net/
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
IFTTTifttt.com
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
wait! wait! focus!
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
ImageOptimhttp://imageoptim.com/
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
open -a ImageOptim.app *.png
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
Uh oh…
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
let us count the ways…
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
1. send an emailAT&T: [email protected]: [email protected]: [email protected]: [email protected]: [email protected] or [email protected] Mobile: [email protected]: [email protected]: [email protected] PCS: [email protected]: [email protected] Mobile: [email protected]: [email protected]: [email protected]. Cellular: [email protected]
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
2. send a tweet
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
3. Use webhooks with Twilio
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
4. Use IFTTT
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
http://ifttt.com/recipes/774
Documentation by voice!
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
phew!
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
Examples
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
example: email collections of links
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
$(document).ready(function() { $('.clicky').clickme();});
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
example: autoload page in breakpoint-sized windows
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
want to try:have google OCR your files
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
Thank you!
resources athttp://ki.tt/owc4
automate ALL THE THINGS :: kitt hodsden : @kitt :: open web camp 2012
Kitt Hodsdenhttp://ki.tt/
@kitt