SlideShare une entreprise Scribd logo
1  sur  34
Télécharger pour lire hors ligne
Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 1
SHELL REVOLUTION
https://joind.in/10644
Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 2
WHO AM I?
•President and Co-Founder of E-Moxie - www.emoxie.com	

•Baltimore, MD	

•PHP Developer, System Administrator,Tinkerer	

•Meetup Organizer - Baltimore PHP/Mobile/API	

•Trainer	

•Maximize efficiencies and make life easier (mainly mine)	

•I’ve seen things, and learned a bit on the way	

!
chris@emoxie.com	

Twitter: @cmstone
Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 3
Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 4
LOST ART
Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 5
COULDN’T LIVE WITHOUT
ls	

mv	

cp	

ps	

echo	

!
!
!
!
Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 6
INDISPENSABLE TOOLS
Fish	

Screen	

Mosh	

Vagrant
Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 7
Fish
Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 8
FISH
“Finally, a command line shell for the 90s”
• Color
• Web based Config
• Auto suggest
Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 9
SCREEN
Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 10
SCREEN
•Terminal multiplexer	

•Window manager for the terminal	

•Has been around since the beginning of time	

•Ability to create additional “windows” or terminals within one
terminal window and switch between them
Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 11
QUICK START
•screen -R (Reattach a detached session if not already attached)	

•screen -ls (List current screen sockets and their state)	

•Ctrl+a D (Detach current screen session)	

•Ctrl+a C (Create a new window)	

•Ctrl+a # (Switch to window)	

•Ctrl+a * (List windows)
Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 12
MOSH - The MObile SHell
Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 13
QUICK START
•MIT Computer Science 	

•Fairly new	

•Supports roaming	

•Intermittent Connectivity	

•Local Echo	

•SSH Replacement	

•Available for pretty much anything (even iOS and Android)
Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 14
HOW DO I GET IT
Mac: 	

	

 	

 brew install mobile-shell	

Linux: 	

 	

 apt-get install mosh or yum install mosh	

Windows:	

	

 Cygwin is experimental
Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 15
DOWNFALLS OF MOSH
•Not installed by default in most installations	

•No terminal scrollback (use screen!)	

•Local echo
Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 16
Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 17
WHAT IS IT?
•Awesome	

•Life changing	

•New kid on the block	

•The #1 tool you should have in your development arsenal	

•Development tool that every developer and project should be
using	

•Manager for a virtualization provider (VirtualBox,VMWare, etc)	

•Automates your [development] environment (Puppet or Chef)	

•Support for Docker containers
Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 18
WHY?
•Gets rid of the “it works for me”	

•EASY and FAST	

•Everyone on the same page	

•Closely resembles a production environment	

•Keeps your computer clean	

•Low barrier to entry
Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 19
THE HARD WAY
1. Someone new joins your company or team	

2.They need to get their development environment setup	

3. It takes two days to one week to get up and running	

4. Install an IDE	

5. Install MAMP or XAMP or something else that can serve pages	

6. Make sure the PHP version is the same	

7. Make sure the PHP config is the same
Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 20
THE HARD WAY
1. Install additional extensions	

2. Configure MAMP	

3. Always tackle “it works for me” problems in the environment	

4. Environment relies on the local machine. Screwed it up? Do it again.	

5. Production environment got updated? Let’s make sure everyone
updates to the right version, do it again. Sounds fun....
Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 22
THE EASY WAY
1. Someone new joins your company or team and they need to get
their development environment setup	

2. Install IDE	

3. InstallVirtualBox	

4. InstallVagrant	

5. Clone git repository	

6. Run ‘vagrant up’	

7. Make things
Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 23
MY PROCESS
1. New person shows	

2. InstallVirtualBox	

3. InstallVagrant	

4. Clone git repository	

5. Run ‘vagrant up’	

6.Vagrant uses puppet to boostrap the system using a very similar
config to production systems	

7. Use IDE of choice
Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 24
MY PROCESS
Zero Config for User	

1. Apache is using dynamic virtual hosting	

2. Local ~/development folder is mapped to /var/www inVM	

3. *.dev.emoxie.com points to 192.168.1.50	

4. Apache maps the * to /var/www/<*>
Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 25
WHAT DO I NEED
1.Vagrant - vagrantup.com	

2.VirtualBox - virtualbox.org	

3. PuPHPet - puphpet.com - GREAT Kickstarter to get you going	

4. Not a PHP User? http://www.vagrantbox.es
Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 26
PHP
• Not just for the web	

• $argv[]	

• get_options()
Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 27
PHP
<?php	

var_dump($argv);	

?>
php script.php arg1 arg2 arg3
array(4) {!
[0]=>!
string(10) "script.php"!
[1]=>!
string(4) "arg1"!
[2]=>!
string(4) "arg2"!
[3]=>!
string(4) "arg3"!
}
Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 28
Additional Tools
Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 29
SED
Parses and transforms text	

!
sed 's/regexp/replacement/g' inputFile > outputFile	

sed 's/cat/dog/g' inputFile > outputFile	

macbook:~ chris$ cat file	
cat	
macbook:~ chris$ sed 's/cat/dog/g' file > dog	
macbook:~ chris$ cat dog	
dog
Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 30
AWK
• Interpreted programming language used for text processing	

• Great for 	

!
• length($0) > 80
macbook:~ chris$ ps ax | grep Dropbox | awk '{print $1}'	
29835
Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 31
NANO
Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 32
ADDITIONAL RESOURCES
1. edx.org - Linux Foundations - Courses Start - Aug 1	

2. Local LUG	

3. User Groups
Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 33
QUESTIONS?
Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 34
THANKS!
Please reach out to me @cmstone or chris@emoxie.com
Please rate and give feedback!!
https://joind.in/10644

Contenu connexe

Similaire à Shell Revolution

Two Factor Authentication and You
Two Factor Authentication and YouTwo Factor Authentication and You
Two Factor Authentication and YouChris Stone
 
Everyone Is Part of Continuous Delivery (Agile Portugal)
Everyone Is Part of Continuous Delivery (Agile Portugal)Everyone Is Part of Continuous Delivery (Agile Portugal)
Everyone Is Part of Continuous Delivery (Agile Portugal)Manuel Pais
 
Unleashing Creative Freedom with MODX (2015-07-21 @ PHP FRL)
Unleashing Creative Freedom with MODX (2015-07-21 @ PHP FRL)Unleashing Creative Freedom with MODX (2015-07-21 @ PHP FRL)
Unleashing Creative Freedom with MODX (2015-07-21 @ PHP FRL)Mark Hamstra
 
Baltimore PHP - October 2013- Development Environments Made Easy
Baltimore PHP - October 2013- Development Environments Made EasyBaltimore PHP - October 2013- Development Environments Made Easy
Baltimore PHP - October 2013- Development Environments Made EasyChris Stone
 
ApacheCon 2015: Community building the open source way
ApacheCon 2015: Community building the open source wayApacheCon 2015: Community building the open source way
ApacheCon 2015: Community building the open source wayRikki Endsley
 
Ran Mizrahi - Symfony2 meets Drupal8
Ran Mizrahi - Symfony2 meets Drupal8Ran Mizrahi - Symfony2 meets Drupal8
Ran Mizrahi - Symfony2 meets Drupal8Ran Mizrahi
 
Charm City Linux - Jan 2014 - Web Dev Made Easy - Shell Revolution
Charm City Linux - Jan 2014 - Web Dev Made Easy - Shell RevolutionCharm City Linux - Jan 2014 - Web Dev Made Easy - Shell Revolution
Charm City Linux - Jan 2014 - Web Dev Made Easy - Shell RevolutionChris Stone
 
Deploying PHP Applications with Ansible
Deploying PHP Applications with AnsibleDeploying PHP Applications with Ansible
Deploying PHP Applications with AnsibleOrestes Carracedo
 
html5 css3 the future of web technology
html5 css3 the future of web technologyhtml5 css3 the future of web technology
html5 css3 the future of web technologyhazzaz
 
Building Mobile Apps using HTML CSS & Javascript
Building Mobile Apps using HTML CSS & JavascriptBuilding Mobile Apps using HTML CSS & Javascript
Building Mobile Apps using HTML CSS & JavascriptMoses Ngone
 
Comparing Hot JavaScript Frameworks: AngularJS, Ember.js and React.js - Sprin...
Comparing Hot JavaScript Frameworks: AngularJS, Ember.js and React.js - Sprin...Comparing Hot JavaScript Frameworks: AngularJS, Ember.js and React.js - Sprin...
Comparing Hot JavaScript Frameworks: AngularJS, Ember.js and React.js - Sprin...Matt Raible
 
HTML5 History & Features
HTML5 History & FeaturesHTML5 History & Features
HTML5 History & FeaturesDave Ross
 
Continuous delivery with jenkins pipelines incl. dev tools (@ Vienna DevOps &...
Continuous delivery with jenkins pipelines incl. dev tools (@ Vienna DevOps &...Continuous delivery with jenkins pipelines incl. dev tools (@ Vienna DevOps &...
Continuous delivery with jenkins pipelines incl. dev tools (@ Vienna DevOps &...Roman Pickl
 
Hardcore URL Routing for WordPress - WordCamp Atlanta 2014 (PPT)
Hardcore URL Routing for WordPress - WordCamp Atlanta 2014 (PPT)Hardcore URL Routing for WordPress - WordCamp Atlanta 2014 (PPT)
Hardcore URL Routing for WordPress - WordCamp Atlanta 2014 (PPT)Mike Schinkel
 
NLUUG Spring 2012 - OpenShift Primer
NLUUG Spring 2012 - OpenShift PrimerNLUUG Spring 2012 - OpenShift Primer
NLUUG Spring 2012 - OpenShift PrimerEric D. Schabell
 
Drupalcon Sessions about Devops
Drupalcon Sessions about DevopsDrupalcon Sessions about Devops
Drupalcon Sessions about DevopsAGILEDROP
 
Optimizing Test Coverage throughout the DevOps Pipeline
Optimizing Test Coverage throughout the DevOps PipelineOptimizing Test Coverage throughout the DevOps Pipeline
Optimizing Test Coverage throughout the DevOps PipelinePerfecto Mobile
 
Intro to Front-End Web Devlopment
Intro to Front-End Web DevlopmentIntro to Front-End Web Devlopment
Intro to Front-End Web Devlopmentdamonras
 

Similaire à Shell Revolution (20)

Two Factor Authentication and You
Two Factor Authentication and YouTwo Factor Authentication and You
Two Factor Authentication and You
 
Everyone Is Part of Continuous Delivery (Agile Portugal)
Everyone Is Part of Continuous Delivery (Agile Portugal)Everyone Is Part of Continuous Delivery (Agile Portugal)
Everyone Is Part of Continuous Delivery (Agile Portugal)
 
Unleashing Creative Freedom with MODX (2015-07-21 @ PHP FRL)
Unleashing Creative Freedom with MODX (2015-07-21 @ PHP FRL)Unleashing Creative Freedom with MODX (2015-07-21 @ PHP FRL)
Unleashing Creative Freedom with MODX (2015-07-21 @ PHP FRL)
 
Baltimore PHP - October 2013- Development Environments Made Easy
Baltimore PHP - October 2013- Development Environments Made EasyBaltimore PHP - October 2013- Development Environments Made Easy
Baltimore PHP - October 2013- Development Environments Made Easy
 
ApacheCon 2015: Community building the open source way
ApacheCon 2015: Community building the open source wayApacheCon 2015: Community building the open source way
ApacheCon 2015: Community building the open source way
 
Ran Mizrahi - Symfony2 meets Drupal8
Ran Mizrahi - Symfony2 meets Drupal8Ran Mizrahi - Symfony2 meets Drupal8
Ran Mizrahi - Symfony2 meets Drupal8
 
updatedcv15
updatedcv15updatedcv15
updatedcv15
 
Charm City Linux - Jan 2014 - Web Dev Made Easy - Shell Revolution
Charm City Linux - Jan 2014 - Web Dev Made Easy - Shell RevolutionCharm City Linux - Jan 2014 - Web Dev Made Easy - Shell Revolution
Charm City Linux - Jan 2014 - Web Dev Made Easy - Shell Revolution
 
Deploying PHP Applications with Ansible
Deploying PHP Applications with AnsibleDeploying PHP Applications with Ansible
Deploying PHP Applications with Ansible
 
html5 css3 the future of web technology
html5 css3 the future of web technologyhtml5 css3 the future of web technology
html5 css3 the future of web technology
 
Building Mobile Apps using HTML CSS & Javascript
Building Mobile Apps using HTML CSS & JavascriptBuilding Mobile Apps using HTML CSS & Javascript
Building Mobile Apps using HTML CSS & Javascript
 
Comparing Hot JavaScript Frameworks: AngularJS, Ember.js and React.js - Sprin...
Comparing Hot JavaScript Frameworks: AngularJS, Ember.js and React.js - Sprin...Comparing Hot JavaScript Frameworks: AngularJS, Ember.js and React.js - Sprin...
Comparing Hot JavaScript Frameworks: AngularJS, Ember.js and React.js - Sprin...
 
HTML5 History & Features
HTML5 History & FeaturesHTML5 History & Features
HTML5 History & Features
 
Word press
Word pressWord press
Word press
 
Continuous delivery with jenkins pipelines incl. dev tools (@ Vienna DevOps &...
Continuous delivery with jenkins pipelines incl. dev tools (@ Vienna DevOps &...Continuous delivery with jenkins pipelines incl. dev tools (@ Vienna DevOps &...
Continuous delivery with jenkins pipelines incl. dev tools (@ Vienna DevOps &...
 
Hardcore URL Routing for WordPress - WordCamp Atlanta 2014 (PPT)
Hardcore URL Routing for WordPress - WordCamp Atlanta 2014 (PPT)Hardcore URL Routing for WordPress - WordCamp Atlanta 2014 (PPT)
Hardcore URL Routing for WordPress - WordCamp Atlanta 2014 (PPT)
 
NLUUG Spring 2012 - OpenShift Primer
NLUUG Spring 2012 - OpenShift PrimerNLUUG Spring 2012 - OpenShift Primer
NLUUG Spring 2012 - OpenShift Primer
 
Drupalcon Sessions about Devops
Drupalcon Sessions about DevopsDrupalcon Sessions about Devops
Drupalcon Sessions about Devops
 
Optimizing Test Coverage throughout the DevOps Pipeline
Optimizing Test Coverage throughout the DevOps PipelineOptimizing Test Coverage throughout the DevOps Pipeline
Optimizing Test Coverage throughout the DevOps Pipeline
 
Intro to Front-End Web Devlopment
Intro to Front-End Web DevlopmentIntro to Front-End Web Devlopment
Intro to Front-End Web Devlopment
 

Dernier

A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 

Dernier (20)

A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 

Shell Revolution

  • 1. Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 1 SHELL REVOLUTION https://joind.in/10644
  • 2. Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 2 WHO AM I? •President and Co-Founder of E-Moxie - www.emoxie.com •Baltimore, MD •PHP Developer, System Administrator,Tinkerer •Meetup Organizer - Baltimore PHP/Mobile/API •Trainer •Maximize efficiencies and make life easier (mainly mine) •I’ve seen things, and learned a bit on the way ! chris@emoxie.com Twitter: @cmstone
  • 3. Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 3
  • 4. Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 4 LOST ART
  • 5. Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 5 COULDN’T LIVE WITHOUT ls mv cp ps echo ! ! ! !
  • 6. Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 6 INDISPENSABLE TOOLS Fish Screen Mosh Vagrant
  • 7. Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 7 Fish
  • 8. Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 8 FISH “Finally, a command line shell for the 90s” • Color • Web based Config • Auto suggest
  • 9. Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 9 SCREEN
  • 10. Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 10 SCREEN •Terminal multiplexer •Window manager for the terminal •Has been around since the beginning of time •Ability to create additional “windows” or terminals within one terminal window and switch between them
  • 11. Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 11 QUICK START •screen -R (Reattach a detached session if not already attached) •screen -ls (List current screen sockets and their state) •Ctrl+a D (Detach current screen session) •Ctrl+a C (Create a new window) •Ctrl+a # (Switch to window) •Ctrl+a * (List windows)
  • 12. Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 12 MOSH - The MObile SHell
  • 13. Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 13 QUICK START •MIT Computer Science •Fairly new •Supports roaming •Intermittent Connectivity •Local Echo •SSH Replacement •Available for pretty much anything (even iOS and Android)
  • 14. Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 14 HOW DO I GET IT Mac: brew install mobile-shell Linux: apt-get install mosh or yum install mosh Windows: Cygwin is experimental
  • 15. Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 15 DOWNFALLS OF MOSH •Not installed by default in most installations •No terminal scrollback (use screen!) •Local echo
  • 16. Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 16
  • 17. Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 17 WHAT IS IT? •Awesome •Life changing •New kid on the block •The #1 tool you should have in your development arsenal •Development tool that every developer and project should be using •Manager for a virtualization provider (VirtualBox,VMWare, etc) •Automates your [development] environment (Puppet or Chef) •Support for Docker containers
  • 18. Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 18 WHY? •Gets rid of the “it works for me” •EASY and FAST •Everyone on the same page •Closely resembles a production environment •Keeps your computer clean •Low barrier to entry
  • 19. Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 19 THE HARD WAY 1. Someone new joins your company or team 2.They need to get their development environment setup 3. It takes two days to one week to get up and running 4. Install an IDE 5. Install MAMP or XAMP or something else that can serve pages 6. Make sure the PHP version is the same 7. Make sure the PHP config is the same
  • 20. Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 20 THE HARD WAY 1. Install additional extensions 2. Configure MAMP 3. Always tackle “it works for me” problems in the environment 4. Environment relies on the local machine. Screwed it up? Do it again. 5. Production environment got updated? Let’s make sure everyone updates to the right version, do it again. Sounds fun....
  • 21.
  • 22. Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 22 THE EASY WAY 1. Someone new joins your company or team and they need to get their development environment setup 2. Install IDE 3. InstallVirtualBox 4. InstallVagrant 5. Clone git repository 6. Run ‘vagrant up’ 7. Make things
  • 23. Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 23 MY PROCESS 1. New person shows 2. InstallVirtualBox 3. InstallVagrant 4. Clone git repository 5. Run ‘vagrant up’ 6.Vagrant uses puppet to boostrap the system using a very similar config to production systems 7. Use IDE of choice
  • 24. Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 24 MY PROCESS Zero Config for User 1. Apache is using dynamic virtual hosting 2. Local ~/development folder is mapped to /var/www inVM 3. *.dev.emoxie.com points to 192.168.1.50 4. Apache maps the * to /var/www/<*>
  • 25. Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 25 WHAT DO I NEED 1.Vagrant - vagrantup.com 2.VirtualBox - virtualbox.org 3. PuPHPet - puphpet.com - GREAT Kickstarter to get you going 4. Not a PHP User? http://www.vagrantbox.es
  • 26. Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 26 PHP • Not just for the web • $argv[] • get_options()
  • 27. Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 27 PHP <?php var_dump($argv); ?> php script.php arg1 arg2 arg3 array(4) {! [0]=>! string(10) "script.php"! [1]=>! string(4) "arg1"! [2]=>! string(4) "arg2"! [3]=>! string(4) "arg3"! }
  • 28. Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 28 Additional Tools
  • 29. Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 29 SED Parses and transforms text ! sed 's/regexp/replacement/g' inputFile > outputFile sed 's/cat/dog/g' inputFile > outputFile macbook:~ chris$ cat file cat macbook:~ chris$ sed 's/cat/dog/g' file > dog macbook:~ chris$ cat dog dog
  • 30. Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 30 AWK • Interpreted programming language used for text processing • Great for ! • length($0) > 80 macbook:~ chris$ ps ax | grep Dropbox | awk '{print $1}' 29835
  • 31. Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 31 NANO
  • 32. Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 32 ADDITIONAL RESOURCES 1. edx.org - Linux Foundations - Courses Start - Aug 1 2. Local LUG 3. User Groups
  • 33. Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 33 QUESTIONS?
  • 34. Chris Stone | E-Moxie | @cmstone | php[tek] 2014 | Shell Revolution | https://joind.in/10644 34 THANKS! Please reach out to me @cmstone or chris@emoxie.com Please rate and give feedback!! https://joind.in/10644