SlideShare a Scribd company logo
1 of 105
AUTOMATE




automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
Hi.




automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
Who are you?




automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
Caveats!




automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
Why?




automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
Not a bad thing!




automate ALL THE THINGS :: kitthodsden : @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 :: kitthodsden : @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 :: kitthodsden : @kitt ::open web camp 2012
⌘ space


automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
Skylight
                           http://www.candylabs.com/skylight

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




automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
Gnome Launch Box
                               https://live.gnome.org/

                               Gnome Do
                               http://do.davebsd.com/




automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
cd                             !!
                  cp                             !$
                  less                           which
                  lsrm
                  pwd                            cat
                  find                           grep

                  pushd / popddirs -v




automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
aliases




automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
zsh, bash format
                        alias d="dirs -v"

                        tcsh format
                        alias d 'dirs -v'



automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
alias tokitt 'scp !* ki.tt:kitt-images; echo "https://kitt.hodsden.org/images/!*"'




automate ALL THE THINGS :: kitthodsden : @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 :: kitthodsden : @kitt ::open web camp 2012
automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
cd ..
          ..

          ls -al
          lsl
          ll

          mkdir -p
          md

          psg
          ps -ef | grep !$

          hg
          history | grep !$

          find . -name $*
          ff


automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
alias gen_ctags='/usr/local/bin/ctags --
langmap=php:.engine.inc.module.theme.php.install.test.pr
ofile --php-kinds=cdfi --languages=php --recurse --
exclude=".git" --exclude=".svn" --exclude=".hg" --
exclude=".bzr" --exclude="CVS" --totals=yes --tag-
relative=yes --regex-PHP="/abstracts+classs+([^ ]+)/1/c/"
--regex-PHP="/interfaces+([^ ]+)/1/c/" --regex-
PHP="/(publics+|statics+|abstracts+|protecteds+|priva
tes+)functions+&?s*([^ (]+)/2/f/"'



automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
scripts FTW!




automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
http://theopenphotoproject.org/




automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
https://github.com/openphoto/openphoto-php
                 https://gist.github.com/1274061




automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
https://github.com/openphoto/openphoto-php
                 https://gist.github.com/1274061




automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
cron / at




automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
% crontab -e




automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
# mhdommondow 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 am
0 4 15-21 * 1 /command




automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
at




automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
% at 1220 jul 14
   at> ~/bin/tweet "I am now speaking at #owc12 about
   the "at" command. I hope I timed it well."
   at> ^D




automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
automate ALL THE THINGS :: kitthodsden : @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 :: kitthodsden : @kitt ::open web camp 2012
automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
zen coding




automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
div#banner>div.logo+ul#navigation>li*4>a




automate ALL THE THINGS :: kitthodsden : @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 :: kitthodsden : @kitt ::open web camp 2012
automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
code!




automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
Cake
   http://book.cakephp.org/1.3/view/1522
         /Code-Generation-with-Bake




automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
Drupal
    http://drupal.org/project/easy_module




automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
Symfony
   http://symfony.com/doc/current/book/p
              age_creation.html




automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
Django
   https://github.com/debrice/djangogener
                     ator




automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
Rails
    http://guides.rubyonrails.org/command
                   _line.html
    http://guides.rubyonrails.org/getting_st
                   arted.html



automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
Ruby
   http://doc.zeroc.com/display/Ice/Code+
            Generation+in+Ruby




automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
Hudson / Jenkins / CI




automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
http://www.flickr.com/photos/emmett_ns_tullos/159845627/

automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
GreaseMonkey!




                            http://www.greasespot.net/




automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
http://userscripts.org/




automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
meanwhile...




automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
BIG




automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
RED




automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
SASS




automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
clicky




automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
clickyclicky




automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
http://www.phpied.com/form-auto-fill-bookmarklet/

                           @stoyanstefanov




automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
Selenium                        Windmill




automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
push pull poll post




automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
have you changed yet? no.
                have you changed yet? no.
                have you changed yet? no.




automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
http://danieljaeger.openphoto.net/
                      http://9686.openphoto.net/


automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
IFTTT
                               ifttt.com




automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
wait! wait! focus!




automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
ImageOptim
                         http://imageoptim.com/




automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
open -a ImageOptim.app *.png




automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
Uh oh…




automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
let us count the ways…




automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
1. send an email
                     AT&T: number@txt.att.net
                     Qwest: number@qwestmp.com
                     T-Mobile: number@tmomail.net
                     Verizon: number@vtext.com
                     Sprint: number@messaging.sprintpcs.com or
                     number@pm.sprint.com
                     Virgin Mobile: number@vmobl.com
                     Nextel: number@messaging.nextel.com
                     Alltel: number@message.alltel.com
                     Metro PCS: number@mymetropcs.com
                     Powertel: number@ptel.com
                     Boost Mobile: number@myboostmobile.com
                     Suncom: number@tms.suncom.com
                     Tracfone: number@mmst5.tracfone.com
                     U.S. Cellular: number@email.uscc.net


automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
2. send a tweet




automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
3. Use webhooks with Twilio




automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
4. Use IFTTT




automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
Documentation by voice!




                           http://ifttt.com/recipes/774



automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
phew!




automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
Examples




automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
example: email collections of links




automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
$(document).ready(function() {
    $('.clicky').clickme();
   });



automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
example: autoload page in
             breakpoint-sized windows




automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
want to try:
             have google OCR your files




automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
Thank you!


                                resources at
                              http://ki.tt/owc4



automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
Kitt Hodsden
                            http://ki.tt/
                               @kitt



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

More Related Content

What's hot

Finding harmony in web development
Finding harmony in web developmentFinding harmony in web development
Finding harmony in web developmentChristian Heilmann
 
Fronteers 2009 Of Hamsters, Feature Creatures and Missed Opportunities
Fronteers 2009 Of Hamsters, Feature Creatures and Missed OpportunitiesFronteers 2009 Of Hamsters, Feature Creatures and Missed Opportunities
Fronteers 2009 Of Hamsters, Feature Creatures and Missed OpportunitiesChristian Heilmann
 
Debugging Effectively - PHP UK 2017
Debugging Effectively - PHP UK 2017Debugging Effectively - PHP UK 2017
Debugging Effectively - PHP UK 2017Colin O'Dell
 
Will Git Be Around Forever? A List of Possible Successors
Will Git Be Around Forever? A List of Possible SuccessorsWill Git Be Around Forever? A List of Possible Successors
Will Git Be Around Forever? A List of Possible Successors🎤 Hanno Embregts 🎸
 
Don't Think Websites, think data
Don't Think Websites, think dataDon't Think Websites, think data
Don't Think Websites, think dataMike Ellis
 
Android code puzzlers + tips & tricks
Android code puzzlers + tips & tricksAndroid code puzzlers + tips & tricks
Android code puzzlers + tips & tricksNLJUG
 

What's hot (6)

Finding harmony in web development
Finding harmony in web developmentFinding harmony in web development
Finding harmony in web development
 
Fronteers 2009 Of Hamsters, Feature Creatures and Missed Opportunities
Fronteers 2009 Of Hamsters, Feature Creatures and Missed OpportunitiesFronteers 2009 Of Hamsters, Feature Creatures and Missed Opportunities
Fronteers 2009 Of Hamsters, Feature Creatures and Missed Opportunities
 
Debugging Effectively - PHP UK 2017
Debugging Effectively - PHP UK 2017Debugging Effectively - PHP UK 2017
Debugging Effectively - PHP UK 2017
 
Will Git Be Around Forever? A List of Possible Successors
Will Git Be Around Forever? A List of Possible SuccessorsWill Git Be Around Forever? A List of Possible Successors
Will Git Be Around Forever? A List of Possible Successors
 
Don't Think Websites, think data
Don't Think Websites, think dataDon't Think Websites, think data
Don't Think Websites, think data
 
Android code puzzlers + tips & tricks
Android code puzzlers + tips & tricksAndroid code puzzlers + tips & tricks
Android code puzzlers + tips & tricks
 

Similar to Automate ALL THE THINGS

Ruby on Rails - The Best Track for your Start Up
Ruby on Rails - The Best Track for your Start UpRuby on Rails - The Best Track for your Start Up
Ruby on Rails - The Best Track for your Start UpPrateek Saxena
 
Javapolis GWT Gadget OpenSocial
Javapolis GWT Gadget OpenSocialJavapolis GWT Gadget OpenSocial
Javapolis GWT Gadget OpenSocialDidier Girard
 
Google Devfest Singapore - OpenSocial
Google Devfest Singapore - OpenSocialGoogle Devfest Singapore - OpenSocial
Google Devfest Singapore - OpenSocialPatrick Chanezon
 
Serverless, The Middy Way - Workshop
Serverless, The Middy Way - WorkshopServerless, The Middy Way - Workshop
Serverless, The Middy Way - WorkshopLuciano Mammino
 
GitGot: The Swiss Army Chainsaw of Git Repo Management
GitGot: The Swiss Army Chainsaw of Git Repo ManagementGitGot: The Swiss Army Chainsaw of Git Repo Management
GitGot: The Swiss Army Chainsaw of Git Repo ManagementJohn Anderson
 
[Phpcamp]Shindig An OpenSocial container
[Phpcamp]Shindig An OpenSocial container[Phpcamp]Shindig An OpenSocial container
[Phpcamp]Shindig An OpenSocial containerBipin Upadhyay
 
StirTrek 2018 - Rapid API Development with Sails
StirTrek 2018 - Rapid API Development with SailsStirTrek 2018 - Rapid API Development with Sails
StirTrek 2018 - Rapid API Development with SailsJustin James
 
Front Page of Hacker News with GitLab Pages
Front Page of Hacker News with GitLab PagesFront Page of Hacker News with GitLab Pages
Front Page of Hacker News with GitLab PagesWill Hall
 
Introduction to the IBM Watson Data Platform
Introduction to the IBM Watson Data PlatformIntroduction to the IBM Watson Data Platform
Introduction to the IBM Watson Data PlatformMargriet Groenendijk
 
Big Data Seminar: Analytics, Hadoop, Map Reduce, Mongo and other great stuff
Big Data Seminar: Analytics, Hadoop, Map Reduce, Mongo and other great stuffBig Data Seminar: Analytics, Hadoop, Map Reduce, Mongo and other great stuff
Big Data Seminar: Analytics, Hadoop, Map Reduce, Mongo and other great stuffMoshe Kaplan
 
20 Ideas On How To Improve Your Agile Board
20 Ideas On How To Improve Your Agile Board20 Ideas On How To Improve Your Agile Board
20 Ideas On How To Improve Your Agile BoardMarcus Hammarberg
 
Ejemplos de sitios con HTML5 + CSS3 + jQuery
Ejemplos de sitios con HTML5 + CSS3 + jQueryEjemplos de sitios con HTML5 + CSS3 + jQuery
Ejemplos de sitios con HTML5 + CSS3 + jQueryjose diaz
 
Introduction to Magento 2 module development - PHP Antwerp Meetup 2017
Introduction to Magento 2 module development - PHP Antwerp Meetup 2017Introduction to Magento 2 module development - PHP Antwerp Meetup 2017
Introduction to Magento 2 module development - PHP Antwerp Meetup 2017Joke Puts
 
From Idea to App (or “How we roll at Small Town Heroes”)
From Idea to App (or “How we roll at Small Town Heroes”)From Idea to App (or “How we roll at Small Town Heroes”)
From Idea to App (or “How we roll at Small Town Heroes”)Bramus Van Damme
 
For a Social Local and Mobile Drupal
For a Social Local and Mobile DrupalFor a Social Local and Mobile Drupal
For a Social Local and Mobile DrupalAdyax
 

Similar to Automate ALL THE THINGS (20)

Ruby on Rails - The Best Track for your Start Up
Ruby on Rails - The Best Track for your Start UpRuby on Rails - The Best Track for your Start Up
Ruby on Rails - The Best Track for your Start Up
 
Javapolis GWT Gadget OpenSocial
Javapolis GWT Gadget OpenSocialJavapolis GWT Gadget OpenSocial
Javapolis GWT Gadget OpenSocial
 
Automate all the things
Automate all the thingsAutomate all the things
Automate all the things
 
Google Devfest Singapore - OpenSocial
Google Devfest Singapore - OpenSocialGoogle Devfest Singapore - OpenSocial
Google Devfest Singapore - OpenSocial
 
Serverless, The Middy Way - Workshop
Serverless, The Middy Way - WorkshopServerless, The Middy Way - Workshop
Serverless, The Middy Way - Workshop
 
GitGot: The Swiss Army Chainsaw of Git Repo Management
GitGot: The Swiss Army Chainsaw of Git Repo ManagementGitGot: The Swiss Army Chainsaw of Git Repo Management
GitGot: The Swiss Army Chainsaw of Git Repo Management
 
Shifting Gears
Shifting GearsShifting Gears
Shifting Gears
 
[Phpcamp]Shindig An OpenSocial container
[Phpcamp]Shindig An OpenSocial container[Phpcamp]Shindig An OpenSocial container
[Phpcamp]Shindig An OpenSocial container
 
StirTrek 2018 - Rapid API Development with Sails
StirTrek 2018 - Rapid API Development with SailsStirTrek 2018 - Rapid API Development with Sails
StirTrek 2018 - Rapid API Development with Sails
 
Front Page of Hacker News with GitLab Pages
Front Page of Hacker News with GitLab PagesFront Page of Hacker News with GitLab Pages
Front Page of Hacker News with GitLab Pages
 
Introduction to the IBM Watson Data Platform
Introduction to the IBM Watson Data PlatformIntroduction to the IBM Watson Data Platform
Introduction to the IBM Watson Data Platform
 
Geek git
Geek gitGeek git
Geek git
 
Jabber Bot
Jabber BotJabber Bot
Jabber Bot
 
Big Data Seminar: Analytics, Hadoop, Map Reduce, Mongo and other great stuff
Big Data Seminar: Analytics, Hadoop, Map Reduce, Mongo and other great stuffBig Data Seminar: Analytics, Hadoop, Map Reduce, Mongo and other great stuff
Big Data Seminar: Analytics, Hadoop, Map Reduce, Mongo and other great stuff
 
20 Ideas On How To Improve Your Agile Board
20 Ideas On How To Improve Your Agile Board20 Ideas On How To Improve Your Agile Board
20 Ideas On How To Improve Your Agile Board
 
Ejemplos de sitios con HTML5 + CSS3 + jQuery
Ejemplos de sitios con HTML5 + CSS3 + jQueryEjemplos de sitios con HTML5 + CSS3 + jQuery
Ejemplos de sitios con HTML5 + CSS3 + jQuery
 
Introduction to Magento 2 module development - PHP Antwerp Meetup 2017
Introduction to Magento 2 module development - PHP Antwerp Meetup 2017Introduction to Magento 2 module development - PHP Antwerp Meetup 2017
Introduction to Magento 2 module development - PHP Antwerp Meetup 2017
 
From Idea to App (or “How we roll at Small Town Heroes”)
From Idea to App (or “How we roll at Small Town Heroes”)From Idea to App (or “How we roll at Small Town Heroes”)
From Idea to App (or “How we roll at Small Town Heroes”)
 
For a Social Local and Mobile Drupal
For a Social Local and Mobile DrupalFor a Social Local and Mobile Drupal
For a Social Local and Mobile Drupal
 
Git and Github workshop
Git and Github workshopGit and Github workshop
Git and Github workshop
 

Recently uploaded

How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 

Recently uploaded (20)

How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 

Automate ALL THE THINGS

  • 1. AUTOMATE automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 2. Hi. automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 3. Who are you? automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 4. Caveats! automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 5. Why? automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 6. automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 7. Not a bad thing! automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 8. 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 :: kitthodsden : @kitt ::open web camp 2012
  • 9. “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 :: kitthodsden : @kitt ::open web camp 2012
  • 10. ⌘ space automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 11. automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 12. Skylight http://www.candylabs.com/skylight Launchy http://www.launchy.net/ http://pylaunchy.sourceforge.net/docs/ automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 13. Gnome Launch Box https://live.gnome.org/ Gnome Do http://do.davebsd.com/ automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 14. automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 15. automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 16. automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 17. automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 18. automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 19. automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 20. cd !! cp !$ less which lsrm pwd cat find grep pushd / popddirs -v automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 21. automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 22. aliases automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 23. zsh, bash format alias d="dirs -v" tcsh format alias d 'dirs -v' automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 24. alias tokitt 'scp !* ki.tt:kitt-images; echo "https://kitt.hodsden.org/images/!*"' automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 25. % cd /home/takethelongroad/path/to/interesting/location % cd ../../another/interesting/location % cd ../../../back/to/another/place % cd ../../../../another/interesting/location automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 26. automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 27. cd .. .. ls -al lsl ll mkdir -p md psg ps -ef | grep !$ hg history | grep !$ find . -name $* ff automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 28. alias gen_ctags='/usr/local/bin/ctags -- langmap=php:.engine.inc.module.theme.php.install.test.pr ofile --php-kinds=cdfi --languages=php --recurse -- exclude=".git" --exclude=".svn" --exclude=".hg" -- exclude=".bzr" --exclude="CVS" --totals=yes --tag- relative=yes --regex-PHP="/abstracts+classs+([^ ]+)/1/c/" --regex-PHP="/interfaces+([^ ]+)/1/c/" --regex- PHP="/(publics+|statics+|abstracts+|protecteds+|priva tes+)functions+&?s*([^ (]+)/2/f/"' automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 29. scripts FTW! automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 30. http://theopenphotoproject.org/ automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 31. https://github.com/openphoto/openphoto-php https://gist.github.com/1274061 automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 32. https://github.com/openphoto/openphoto-php https://gist.github.com/1274061 automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 33. cron / at automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 34. % crontab -e automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 35. # mhdommondow 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 am 0 4 15-21 * 1 /command automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 36. at automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 37. % at 1220 jul 14 at> ~/bin/tweet "I am now speaking at #owc12 about the "at" command. I hope I timed it well." at> ^D automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 38. automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 39. automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 40. automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 41. 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 :: kitthodsden : @kitt ::open web camp 2012
  • 42. automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 43. zen coding automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 44. div#banner>div.logo+ul#navigation>li*4>a automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 45. <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 :: kitthodsden : @kitt ::open web camp 2012
  • 46. automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 47. code! automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 48. Cake http://book.cakephp.org/1.3/view/1522 /Code-Generation-with-Bake automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 49. Drupal http://drupal.org/project/easy_module automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 50. Symfony http://symfony.com/doc/current/book/p age_creation.html automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 51. Django https://github.com/debrice/djangogener ator automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 52. Rails http://guides.rubyonrails.org/command _line.html http://guides.rubyonrails.org/getting_st arted.html automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 53. Ruby http://doc.zeroc.com/display/Ice/Code+ Generation+in+Ruby automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 54. automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 55. automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 56. Hudson / Jenkins / CI automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 57. http://www.flickr.com/photos/emmett_ns_tullos/159845627/ automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 58. automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 59. GreaseMonkey! http://www.greasespot.net/ automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 60. http://userscripts.org/ automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 61. automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 62. automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 63. meanwhile... automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 64. BIG automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 65. RED automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 66. SASS automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 67. automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 68. clicky automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 69. clickyclicky automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 70. http://www.phpied.com/form-auto-fill-bookmarklet/ @stoyanstefanov automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 71. Selenium Windmill automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 72. automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 73. push pull poll post automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 74. have you changed yet? no. have you changed yet? no. have you changed yet? no. automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 75. http://danieljaeger.openphoto.net/ http://9686.openphoto.net/ automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 76. automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 77. IFTTT ifttt.com automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 78. automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 79. automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 80. automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 81. wait! wait! focus! automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 82. ImageOptim http://imageoptim.com/ automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 83. automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 84. automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 85. automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 86. automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 87. open -a ImageOptim.app *.png automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 88. Uh oh… automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 89. let us count the ways… automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 90. 1. send an email AT&T: number@txt.att.net Qwest: number@qwestmp.com T-Mobile: number@tmomail.net Verizon: number@vtext.com Sprint: number@messaging.sprintpcs.com or number@pm.sprint.com Virgin Mobile: number@vmobl.com Nextel: number@messaging.nextel.com Alltel: number@message.alltel.com Metro PCS: number@mymetropcs.com Powertel: number@ptel.com Boost Mobile: number@myboostmobile.com Suncom: number@tms.suncom.com Tracfone: number@mmst5.tracfone.com U.S. Cellular: number@email.uscc.net automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 91. 2. send a tweet automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 92. 3. Use webhooks with Twilio automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 93. 4. Use IFTTT automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 94. Documentation by voice! http://ifttt.com/recipes/774 automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 95. phew! automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 96. Examples automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 97. example: email collections of links automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 98. automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 99. automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 100. automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 101. $(document).ready(function() { $('.clicky').clickme(); }); automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 102. example: autoload page in breakpoint-sized windows automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 103. want to try: have google OCR your files automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 104. Thank you! resources at http://ki.tt/owc4 automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012
  • 105. Kitt Hodsden http://ki.tt/ @kitt automate ALL THE THINGS :: kitthodsden : @kitt ::open web camp 2012