SlideShare a Scribd company logo
1 of 31
Download to read offline
Pimp my dev box

   Víctor Martínez
   @knoopx
   http://github.com/knoopx
   http://knoopx.net
I'm sorry, are you from the past?
Pimp my shell
First of all, get a dark theme
  Your eyes will thank you at the end of the day

Solarized                              (My own)
http://ethanschoonover.com/solarized   https://github.com/knoopx/knoopx.terminal
Then, please, get a (good) package manager
Replace Apple's bundled BSD* tools
        with the GNU ones
     they are far more powerful

$ brew install findutils ack grep bash
gcc (...)!

 (*) Only some of them are really BSD, but Apple usually ships
           dinosaur-aged GNU software with their OS.
Install some other cool software
brew install wget colordiff rmtrash
unrar (...)

●   wget: downloads files from the internets
●   unrar: unpacks files from the internets
●   colordiff: get colorful differences between files
●   rmtrash: send files to OSX trash instead of deleting them

          ...and make them your defaults
alias diff=colordiff
alias find=gfind
alias rm=rmtrash
Replace BASH with a modern shell

                  fish




 ZSH
I choose ZSH, what do I get?
$ brew install zsh

●   colors, rainbows and unicorns
●   unified history between tabs
●   tab tab tab! out of the box
    autocompletions for almost
    everything
●   keyboard navigable completion lists
●   powerful globbing and expansions
●   syntax highlighting
●   plays well with floating point
    calculations
●   (many more! STFW!)

ZSH is essentially an
enhanced experience of
everything you already
know from BASH
Don't fall into the configuration madness
Use an existing community-maintained
package of zsh configurations:

● oh-my-zsh
● zsh-lovers
● zsh-users
Keep your settings under version control
    like all the other cool kids around
Pimp my GIT
Use __git_ps1 from git/contrib
     do not reinvent the wheel
Send pull-reqs from the terminal
$ git co awesome-feature
$ git pull-req # $EDITOR opens asking you for PR title/msg
$ subl ~/bin/git-pull-req
Do the house cleaning once a week
Prune stale remote-tracking branches
$ git remote prune origin

Delete already merged branches
$ git branch -d `git branch --merged | grep -v * | xargs`


Do everything at once
$ git branch-cleanup


$ cat ~/bin/git-branch-cleanup
git remote prune origin && git branch -d `git branch --merged | grep -v * |
xargs`
Use mergetool
Automate conflict resolution
$ subl ~/.gitattributes




$ subl ~/.gitconfig
Use GitX
The only useful GIT GUI



Lets you
visualize
Use GitX
The only useful GIT GUI


                          Review,
                          stage and
                          commit
Use GitX
The only useful GIT GUI
$ git diff master | gitx




  Friendlier
       diffs
Use GitX
Don't be lame, do everything else from the
command line. Mastering GIT will make
unstoppable.
                     $   git   rebase -i HEAD~5




   ✕ ✔
                     $   git   reset --hard origin/master
                     $   git   merge --no-ff awesome-feature
                     $   git   checkout -b features/new-one
Pimp my desktop
Apply developer-friendly OSX settings
These fancy Apple features makes you waste time
               http://mths.be/osx
Use an application launcher
     or better yet, use Quicksilver
              http://qsapp.com/




Alternatives: Spotlight, Alfred.app, Launchbar
What can I do with Quicksilver?
Launch/switch applications   Play some music
What can I do with Quicksilver?
                    Browse your clipboard history

Move files
What can I do with Quicksilver?

 Quickly jump
right into your
 project folder
What can I do with Quicksilver?
   Unlimited possibilities! Master it!
Manage your windows with the keyboard

Never, ever, use   Use spectacle.app instead
these buttons




                      http://spectacleapp.com/
Master the keyboard shortcuts
     Hotkey EVE http://hotkeyeve.github.com/eve/




Cheatsheet http://www.cheatsheetapp.com/CheatSheet/
Now you are a little more
      productive
      Thanks for watching

More Related Content

What's hot

Zsh & fish: better *bash* for hackers
Zsh & fish: better *bash* for hackersZsh & fish: better *bash* for hackers
Zsh & fish: better *bash* for hackersRuslan Sharipov
 
while42 Paris#13 - Building images for Scaleway using Docker
while42 Paris#13 - Building images for Scaleway using Dockerwhile42 Paris#13 - Building images for Scaleway using Docker
while42 Paris#13 - Building images for Scaleway using DockerManfred Touron
 
Null Xposed Framework internals and writing modules
Null Xposed Framework internals and writing modulesNull Xposed Framework internals and writing modules
Null Xposed Framework internals and writing modulesAbhinav Chourasia, GMOB
 
Why Zsh is Cooler than Your Shell
Why Zsh is Cooler than Your ShellWhy Zsh is Cooler than Your Shell
Why Zsh is Cooler than Your Shelljaguardesignstudio
 
Why zsh is Cooler than Your Shell
Why zsh is Cooler than Your ShellWhy zsh is Cooler than Your Shell
Why zsh is Cooler than Your Shellbrendon_jag
 
Coursera Capstone project
Coursera Capstone projectCoursera Capstone project
Coursera Capstone projectIgorGrigorev1
 
Flexibling Git - Be a Happier Developer with Git
Flexibling Git - Be a Happier Developer with GitFlexibling Git - Be a Happier Developer with Git
Flexibling Git - Be a Happier Developer with GitNguyen Binh Son
 
GNOME development on Tizen Mobile
GNOME development on Tizen MobileGNOME development on Tizen Mobile
GNOME development on Tizen MobileJoone Hur
 
5 Time Saving Bash Tricks
5 Time Saving Bash Tricks5 Time Saving Bash Tricks
5 Time Saving Bash TricksNikhil Mungel
 
Let's Count Bytes! Launching Ruby in 32K of RAM
Let's Count Bytes! Launching Ruby in 32K of RAMLet's Count Bytes! Launching Ruby in 32K of RAM
Let's Count Bytes! Launching Ruby in 32K of RAMAmoniac OÜ
 
Mastering Docker on a Raspberry Pi
Mastering Docker on a Raspberry PiMastering Docker on a Raspberry Pi
Mastering Docker on a Raspberry PiTeam Hypriot
 
Plan 9でWebプログラミング
Plan 9でWebプログラミングPlan 9でWebプログラミング
Plan 9でWebプログラミングRyousei Takano
 
Gitosis on Mac OS X Server
Gitosis on Mac OS X ServerGitosis on Mac OS X Server
Gitosis on Mac OS X ServerYasuhiro Asaka
 
今日から始めるPlan 9 from Bell Labs
今日から始めるPlan 9 from Bell Labs今日から始めるPlan 9 from Bell Labs
今日から始めるPlan 9 from Bell LabsRyousei Takano
 
Let's talk about the Ubuntu 18.04 LTS Roadmap!
Let's talk about the Ubuntu 18.04 LTS Roadmap!Let's talk about the Ubuntu 18.04 LTS Roadmap!
Let's talk about the Ubuntu 18.04 LTS Roadmap!Dustin Kirkland
 

What's hot (20)

Zsh & fish: better *bash* for hackers
Zsh & fish: better *bash* for hackersZsh & fish: better *bash* for hackers
Zsh & fish: better *bash* for hackers
 
Starting python
Starting pythonStarting python
Starting python
 
The hacker choice
The hacker choiceThe hacker choice
The hacker choice
 
Ubuntu 17.10
Ubuntu 17.10Ubuntu 17.10
Ubuntu 17.10
 
while42 Paris#13 - Building images for Scaleway using Docker
while42 Paris#13 - Building images for Scaleway using Dockerwhile42 Paris#13 - Building images for Scaleway using Docker
while42 Paris#13 - Building images for Scaleway using Docker
 
Null Xposed Framework internals and writing modules
Null Xposed Framework internals and writing modulesNull Xposed Framework internals and writing modules
Null Xposed Framework internals and writing modules
 
Why Zsh is Cooler than Your Shell
Why Zsh is Cooler than Your ShellWhy Zsh is Cooler than Your Shell
Why Zsh is Cooler than Your Shell
 
Why zsh is Cooler than Your Shell
Why zsh is Cooler than Your ShellWhy zsh is Cooler than Your Shell
Why zsh is Cooler than Your Shell
 
Coursera Capstone project
Coursera Capstone projectCoursera Capstone project
Coursera Capstone project
 
Flexibling Git - Be a Happier Developer with Git
Flexibling Git - Be a Happier Developer with GitFlexibling Git - Be a Happier Developer with Git
Flexibling Git - Be a Happier Developer with Git
 
Github flow
Github flowGithub flow
Github flow
 
GNOME development on Tizen Mobile
GNOME development on Tizen MobileGNOME development on Tizen Mobile
GNOME development on Tizen Mobile
 
5 Time Saving Bash Tricks
5 Time Saving Bash Tricks5 Time Saving Bash Tricks
5 Time Saving Bash Tricks
 
Let's Count Bytes! Launching Ruby in 32K of RAM
Let's Count Bytes! Launching Ruby in 32K of RAMLet's Count Bytes! Launching Ruby in 32K of RAM
Let's Count Bytes! Launching Ruby in 32K of RAM
 
Mastering Docker on a Raspberry Pi
Mastering Docker on a Raspberry PiMastering Docker on a Raspberry Pi
Mastering Docker on a Raspberry Pi
 
Plan 9でWebプログラミング
Plan 9でWebプログラミングPlan 9でWebプログラミング
Plan 9でWebプログラミング
 
Gitosis on Mac OS X Server
Gitosis on Mac OS X ServerGitosis on Mac OS X Server
Gitosis on Mac OS X Server
 
今日から始めるPlan 9 from Bell Labs
今日から始めるPlan 9 from Bell Labs今日から始めるPlan 9 from Bell Labs
今日から始めるPlan 9 from Bell Labs
 
Let's talk about the Ubuntu 18.04 LTS Roadmap!
Let's talk about the Ubuntu 18.04 LTS Roadmap!Let's talk about the Ubuntu 18.04 LTS Roadmap!
Let's talk about the Ubuntu 18.04 LTS Roadmap!
 
Git! Why? How?
Git! Why? How?Git! Why? How?
Git! Why? How?
 

Viewers also liked

Data Tools cosystem_for_non_programmers
Data Tools cosystem_for_non_programmersData Tools cosystem_for_non_programmers
Data Tools cosystem_for_non_programmersitnig
 
Die Another Day: Scaling from 0 to 4 million daily requests as a lone develop...
Die Another Day: Scaling from 0 to 4 million daily requests as a lone develop...Die Another Day: Scaling from 0 to 4 million daily requests as a lone develop...
Die Another Day: Scaling from 0 to 4 million daily requests as a lone develop...itnig
 
Visualizing large datasets (BIG DATA itnig friday)
Visualizing large datasets (BIG DATA itnig friday)Visualizing large datasets (BIG DATA itnig friday)
Visualizing large datasets (BIG DATA itnig friday)itnig
 
Make your own Open Source transition with CocoaPods
Make your own Open Source transition with CocoaPodsMake your own Open Source transition with CocoaPods
Make your own Open Source transition with CocoaPodsitnig
 
La burbuja publicitaria
La burbuja publicitariaLa burbuja publicitaria
La burbuja publicitariaitnig
 
SEO para ecommerce by Alfonso Moure
SEO para ecommerce by Alfonso MoureSEO para ecommerce by Alfonso Moure
SEO para ecommerce by Alfonso Moureitnig
 
Analisis de las empresas del Ibex35
Analisis de las empresas del Ibex35Analisis de las empresas del Ibex35
Analisis de las empresas del Ibex35itnig
 
One graph to rule them all - Facebook
One graph to rule them all - FacebookOne graph to rule them all - Facebook
One graph to rule them all - Facebookitnig
 
Control Your Life - The Startup Way
Control Your Life - The Startup WayControl Your Life - The Startup Way
Control Your Life - The Startup Wayitnig
 

Viewers also liked (9)

Data Tools cosystem_for_non_programmers
Data Tools cosystem_for_non_programmersData Tools cosystem_for_non_programmers
Data Tools cosystem_for_non_programmers
 
Die Another Day: Scaling from 0 to 4 million daily requests as a lone develop...
Die Another Day: Scaling from 0 to 4 million daily requests as a lone develop...Die Another Day: Scaling from 0 to 4 million daily requests as a lone develop...
Die Another Day: Scaling from 0 to 4 million daily requests as a lone develop...
 
Visualizing large datasets (BIG DATA itnig friday)
Visualizing large datasets (BIG DATA itnig friday)Visualizing large datasets (BIG DATA itnig friday)
Visualizing large datasets (BIG DATA itnig friday)
 
Make your own Open Source transition with CocoaPods
Make your own Open Source transition with CocoaPodsMake your own Open Source transition with CocoaPods
Make your own Open Source transition with CocoaPods
 
La burbuja publicitaria
La burbuja publicitariaLa burbuja publicitaria
La burbuja publicitaria
 
SEO para ecommerce by Alfonso Moure
SEO para ecommerce by Alfonso MoureSEO para ecommerce by Alfonso Moure
SEO para ecommerce by Alfonso Moure
 
Analisis de las empresas del Ibex35
Analisis de las empresas del Ibex35Analisis de las empresas del Ibex35
Analisis de las empresas del Ibex35
 
One graph to rule them all - Facebook
One graph to rule them all - FacebookOne graph to rule them all - Facebook
One graph to rule them all - Facebook
 
Control Your Life - The Startup Way
Control Your Life - The Startup WayControl Your Life - The Startup Way
Control Your Life - The Startup Way
 

Similar to Pimp my dev box (Friday Training at Itnig)

Git - Some tips to do it better
Git - Some tips to do it betterGit - Some tips to do it better
Git - Some tips to do it betterJonas De Smet
 
Bash is not a second zone citizen programming language
Bash is not a second zone citizen programming languageBash is not a second zone citizen programming language
Bash is not a second zone citizen programming languageRené Ribaud
 
Github - Git Training Slides: Foundations
Github - Git Training Slides: FoundationsGithub - Git Training Slides: Foundations
Github - Git Training Slides: FoundationsLee Hanxue
 
Unleash your inner console cowboy
Unleash your inner console cowboyUnleash your inner console cowboy
Unleash your inner console cowboyKenneth Geisshirt
 
Open shift
Open shiftOpen shift
Open shiftmarcolof
 
zebra & openconfigd Introduction
zebra & openconfigd Introductionzebra & openconfigd Introduction
zebra & openconfigd IntroductionKentaro Ebisawa
 
Practical git for developers
Practical git for developersPractical git for developers
Practical git for developersWim Godden
 
Ci For The Web 2.0 Guy Or Gal
Ci For The Web 2.0 Guy Or GalCi For The Web 2.0 Guy Or Gal
Ci For The Web 2.0 Guy Or GalChad Woolley
 
A "Box" Full of Tools and Distros
A "Box" Full of Tools and DistrosA "Box" Full of Tools and Distros
A "Box" Full of Tools and DistrosDario Faggioli
 
Nix: What even is it though?
Nix: What even is it though?Nix: What even is it though?
Nix: What even is it though?Burke Libbey
 
Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014biicode
 
MongoDB World 2019 Builder's Fest - Ready, Git set ... Go!
MongoDB World 2019 Builder's Fest - Ready, Git set ... Go!MongoDB World 2019 Builder's Fest - Ready, Git set ... Go!
MongoDB World 2019 Builder's Fest - Ready, Git set ... Go!Stennie Steneker
 
slides.pdf
slides.pdfslides.pdf
slides.pdfvidsvagi
 
Becoming a Git Master - Nicola Paolucci
Becoming a Git Master - Nicola PaolucciBecoming a Git Master - Nicola Paolucci
Becoming a Git Master - Nicola PaolucciAtlassian
 
Sacándole jugo a git
Sacándole jugo a gitSacándole jugo a git
Sacándole jugo a gitBerny Cantos
 
Introduction to FreeNAS development by John Hixson
Introduction to FreeNAS development by John HixsonIntroduction to FreeNAS development by John Hixson
Introduction to FreeNAS development by John HixsoniXsystems
 
Django dev-env-my-way
Django dev-env-my-wayDjango dev-env-my-way
Django dev-env-my-wayRobert Lujo
 

Similar to Pimp my dev box (Friday Training at Itnig) (20)

Git - Some tips to do it better
Git - Some tips to do it betterGit - Some tips to do it better
Git - Some tips to do it better
 
Bash is not a second zone citizen programming language
Bash is not a second zone citizen programming languageBash is not a second zone citizen programming language
Bash is not a second zone citizen programming language
 
Github - Git Training Slides: Foundations
Github - Git Training Slides: FoundationsGithub - Git Training Slides: Foundations
Github - Git Training Slides: Foundations
 
Unleash your inner console cowboy
Unleash your inner console cowboyUnleash your inner console cowboy
Unleash your inner console cowboy
 
Open shift
Open shiftOpen shift
Open shift
 
zebra & openconfigd Introduction
zebra & openconfigd Introductionzebra & openconfigd Introduction
zebra & openconfigd Introduction
 
Practical git for developers
Practical git for developersPractical git for developers
Practical git for developers
 
Git presentation
Git presentationGit presentation
Git presentation
 
Ci For The Web 2.0 Guy Or Gal
Ci For The Web 2.0 Guy Or GalCi For The Web 2.0 Guy Or Gal
Ci For The Web 2.0 Guy Or Gal
 
A "Box" Full of Tools and Distros
A "Box" Full of Tools and DistrosA "Box" Full of Tools and Distros
A "Box" Full of Tools and Distros
 
Nix: What even is it though?
Nix: What even is it though?Nix: What even is it though?
Nix: What even is it though?
 
Automate Yo' Self
Automate Yo' SelfAutomate Yo' Self
Automate Yo' Self
 
Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014
 
MongoDB World 2019 Builder's Fest - Ready, Git set ... Go!
MongoDB World 2019 Builder's Fest - Ready, Git set ... Go!MongoDB World 2019 Builder's Fest - Ready, Git set ... Go!
MongoDB World 2019 Builder's Fest - Ready, Git set ... Go!
 
slides.pdf
slides.pdfslides.pdf
slides.pdf
 
slides.pdf
slides.pdfslides.pdf
slides.pdf
 
Becoming a Git Master - Nicola Paolucci
Becoming a Git Master - Nicola PaolucciBecoming a Git Master - Nicola Paolucci
Becoming a Git Master - Nicola Paolucci
 
Sacándole jugo a git
Sacándole jugo a gitSacándole jugo a git
Sacándole jugo a git
 
Introduction to FreeNAS development by John Hixson
Introduction to FreeNAS development by John HixsonIntroduction to FreeNAS development by John Hixson
Introduction to FreeNAS development by John Hixson
 
Django dev-env-my-way
Django dev-env-my-wayDjango dev-env-my-way
Django dev-env-my-way
 

More from itnig

Presentation of the project "Startups Made in Spain" · On Friday, January 9 a...
Presentation of the project "Startups Made in Spain" · On Friday, January 9 a...Presentation of the project "Startups Made in Spain" · On Friday, January 9 a...
Presentation of the project "Startups Made in Spain" · On Friday, January 9 a...itnig
 
Web Scraping for Non Programmers
Web Scraping for Non ProgrammersWeb Scraping for Non Programmers
Web Scraping for Non Programmersitnig
 
Hands-On Prototyping Without Code
Hands-On Prototyping Without CodeHands-On Prototyping Without Code
Hands-On Prototyping Without Codeitnig
 
Essentials Every Non-Technical Person Need To Know To Build The Best Tech-Tea...
Essentials Every Non-Technical Person Need To Know To Build The Best Tech-Tea...Essentials Every Non-Technical Person Need To Know To Build The Best Tech-Tea...
Essentials Every Non-Technical Person Need To Know To Build The Best Tech-Tea...itnig
 
The Black Magic of Ruby Metaprogramming
The Black Magic of Ruby MetaprogrammingThe Black Magic of Ruby Metaprogramming
The Black Magic of Ruby Metaprogrammingitnig
 
Futurology For Entrepreneurs: 7 Ways To Spot The Opportunities Of Tomorrow
Futurology For Entrepreneurs: 7 Ways To Spot The Opportunities Of TomorrowFuturology For Entrepreneurs: 7 Ways To Spot The Opportunities Of Tomorrow
Futurology For Entrepreneurs: 7 Ways To Spot The Opportunities Of Tomorrowitnig
 
"El boom del Consumo Colaborativo" by Albert Cañigueral
"El boom del Consumo Colaborativo" by Albert Cañigueral"El boom del Consumo Colaborativo" by Albert Cañigueral
"El boom del Consumo Colaborativo" by Albert Cañigueralitnig
 
Analítica Ágil - De la Sobrecarga a la Evidencia de los Datos
Analítica Ágil - De la Sobrecarga a la Evidencia de los DatosAnalítica Ágil - De la Sobrecarga a la Evidencia de los Datos
Analítica Ágil - De la Sobrecarga a la Evidencia de los Datositnig
 
Ser público en internet lo es todo.
Ser público en internet lo es todo.Ser público en internet lo es todo.
Ser público en internet lo es todo.itnig
 
Performance marketingonline enterategratis_
Performance marketingonline enterategratis_Performance marketingonline enterategratis_
Performance marketingonline enterategratis_itnig
 
Hablar en Público by Marion Chevalier
Hablar en Público by Marion ChevalierHablar en Público by Marion Chevalier
Hablar en Público by Marion Chevalieritnig
 
Collecting metrics with Graphite and StatsD
Collecting metrics with Graphite and StatsDCollecting metrics with Graphite and StatsD
Collecting metrics with Graphite and StatsDitnig
 
QR-Codes 101 - Convirtiendo la tinta en bits
QR-Codes 101 - Convirtiendo la tinta en bitsQR-Codes 101 - Convirtiendo la tinta en bits
QR-Codes 101 - Convirtiendo la tinta en bitsitnig
 
Ser Autónomo: Obligaciones Tributarias a tener en cuenta
Ser Autónomo: Obligaciones Tributarias a tener en cuentaSer Autónomo: Obligaciones Tributarias a tener en cuenta
Ser Autónomo: Obligaciones Tributarias a tener en cuentaitnig
 
Get Multimedia Done! - by Masumi Mutsuda
Get Multimedia Done! - by Masumi MutsudaGet Multimedia Done! - by Masumi Mutsuda
Get Multimedia Done! - by Masumi Mutsudaitnig
 
Como crear una empresa que vende por internet
Como crear una empresa que vende por internetComo crear una empresa que vende por internet
Como crear una empresa que vende por internetitnig
 
Introduction to Node.js
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.jsitnig
 
Google Tips and Trips
Google Tips and TripsGoogle Tips and Trips
Google Tips and Tripsitnig
 
Fun advertising - Introduction to advergaming
Fun advertising - Introduction to advergamingFun advertising - Introduction to advergaming
Fun advertising - Introduction to advergamingitnig
 
Web performance optimization for everyone
Web performance optimization for everyoneWeb performance optimization for everyone
Web performance optimization for everyoneitnig
 

More from itnig (20)

Presentation of the project "Startups Made in Spain" · On Friday, January 9 a...
Presentation of the project "Startups Made in Spain" · On Friday, January 9 a...Presentation of the project "Startups Made in Spain" · On Friday, January 9 a...
Presentation of the project "Startups Made in Spain" · On Friday, January 9 a...
 
Web Scraping for Non Programmers
Web Scraping for Non ProgrammersWeb Scraping for Non Programmers
Web Scraping for Non Programmers
 
Hands-On Prototyping Without Code
Hands-On Prototyping Without CodeHands-On Prototyping Without Code
Hands-On Prototyping Without Code
 
Essentials Every Non-Technical Person Need To Know To Build The Best Tech-Tea...
Essentials Every Non-Technical Person Need To Know To Build The Best Tech-Tea...Essentials Every Non-Technical Person Need To Know To Build The Best Tech-Tea...
Essentials Every Non-Technical Person Need To Know To Build The Best Tech-Tea...
 
The Black Magic of Ruby Metaprogramming
The Black Magic of Ruby MetaprogrammingThe Black Magic of Ruby Metaprogramming
The Black Magic of Ruby Metaprogramming
 
Futurology For Entrepreneurs: 7 Ways To Spot The Opportunities Of Tomorrow
Futurology For Entrepreneurs: 7 Ways To Spot The Opportunities Of TomorrowFuturology For Entrepreneurs: 7 Ways To Spot The Opportunities Of Tomorrow
Futurology For Entrepreneurs: 7 Ways To Spot The Opportunities Of Tomorrow
 
"El boom del Consumo Colaborativo" by Albert Cañigueral
"El boom del Consumo Colaborativo" by Albert Cañigueral"El boom del Consumo Colaborativo" by Albert Cañigueral
"El boom del Consumo Colaborativo" by Albert Cañigueral
 
Analítica Ágil - De la Sobrecarga a la Evidencia de los Datos
Analítica Ágil - De la Sobrecarga a la Evidencia de los DatosAnalítica Ágil - De la Sobrecarga a la Evidencia de los Datos
Analítica Ágil - De la Sobrecarga a la Evidencia de los Datos
 
Ser público en internet lo es todo.
Ser público en internet lo es todo.Ser público en internet lo es todo.
Ser público en internet lo es todo.
 
Performance marketingonline enterategratis_
Performance marketingonline enterategratis_Performance marketingonline enterategratis_
Performance marketingonline enterategratis_
 
Hablar en Público by Marion Chevalier
Hablar en Público by Marion ChevalierHablar en Público by Marion Chevalier
Hablar en Público by Marion Chevalier
 
Collecting metrics with Graphite and StatsD
Collecting metrics with Graphite and StatsDCollecting metrics with Graphite and StatsD
Collecting metrics with Graphite and StatsD
 
QR-Codes 101 - Convirtiendo la tinta en bits
QR-Codes 101 - Convirtiendo la tinta en bitsQR-Codes 101 - Convirtiendo la tinta en bits
QR-Codes 101 - Convirtiendo la tinta en bits
 
Ser Autónomo: Obligaciones Tributarias a tener en cuenta
Ser Autónomo: Obligaciones Tributarias a tener en cuentaSer Autónomo: Obligaciones Tributarias a tener en cuenta
Ser Autónomo: Obligaciones Tributarias a tener en cuenta
 
Get Multimedia Done! - by Masumi Mutsuda
Get Multimedia Done! - by Masumi MutsudaGet Multimedia Done! - by Masumi Mutsuda
Get Multimedia Done! - by Masumi Mutsuda
 
Como crear una empresa que vende por internet
Como crear una empresa que vende por internetComo crear una empresa que vende por internet
Como crear una empresa que vende por internet
 
Introduction to Node.js
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.js
 
Google Tips and Trips
Google Tips and TripsGoogle Tips and Trips
Google Tips and Trips
 
Fun advertising - Introduction to advergaming
Fun advertising - Introduction to advergamingFun advertising - Introduction to advergaming
Fun advertising - Introduction to advergaming
 
Web performance optimization for everyone
Web performance optimization for everyoneWeb performance optimization for everyone
Web performance optimization for everyone
 

Recently uploaded

Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 

Recently uploaded (20)

Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 

Pimp my dev box (Friday Training at Itnig)

  • 1. Pimp my dev box Víctor Martínez @knoopx http://github.com/knoopx http://knoopx.net
  • 2. I'm sorry, are you from the past?
  • 4. First of all, get a dark theme Your eyes will thank you at the end of the day Solarized (My own) http://ethanschoonover.com/solarized https://github.com/knoopx/knoopx.terminal
  • 5. Then, please, get a (good) package manager
  • 6. Replace Apple's bundled BSD* tools with the GNU ones they are far more powerful $ brew install findutils ack grep bash gcc (...)! (*) Only some of them are really BSD, but Apple usually ships dinosaur-aged GNU software with their OS.
  • 7. Install some other cool software brew install wget colordiff rmtrash unrar (...) ● wget: downloads files from the internets ● unrar: unpacks files from the internets ● colordiff: get colorful differences between files ● rmtrash: send files to OSX trash instead of deleting them ...and make them your defaults alias diff=colordiff alias find=gfind alias rm=rmtrash
  • 8. Replace BASH with a modern shell fish ZSH
  • 9. I choose ZSH, what do I get? $ brew install zsh ● colors, rainbows and unicorns ● unified history between tabs ● tab tab tab! out of the box autocompletions for almost everything ● keyboard navigable completion lists ● powerful globbing and expansions ● syntax highlighting ● plays well with floating point calculations ● (many more! STFW!) ZSH is essentially an enhanced experience of everything you already know from BASH
  • 10. Don't fall into the configuration madness Use an existing community-maintained package of zsh configurations: ● oh-my-zsh ● zsh-lovers ● zsh-users
  • 11. Keep your settings under version control like all the other cool kids around
  • 13. Use __git_ps1 from git/contrib do not reinvent the wheel
  • 14. Send pull-reqs from the terminal $ git co awesome-feature $ git pull-req # $EDITOR opens asking you for PR title/msg $ subl ~/bin/git-pull-req
  • 15. Do the house cleaning once a week Prune stale remote-tracking branches $ git remote prune origin Delete already merged branches $ git branch -d `git branch --merged | grep -v * | xargs` Do everything at once $ git branch-cleanup $ cat ~/bin/git-branch-cleanup git remote prune origin && git branch -d `git branch --merged | grep -v * | xargs`
  • 17. Automate conflict resolution $ subl ~/.gitattributes $ subl ~/.gitconfig
  • 18. Use GitX The only useful GIT GUI Lets you visualize
  • 19. Use GitX The only useful GIT GUI Review, stage and commit
  • 20. Use GitX The only useful GIT GUI $ git diff master | gitx Friendlier diffs
  • 21. Use GitX Don't be lame, do everything else from the command line. Mastering GIT will make unstoppable. $ git rebase -i HEAD~5 ✕ ✔ $ git reset --hard origin/master $ git merge --no-ff awesome-feature $ git checkout -b features/new-one
  • 23. Apply developer-friendly OSX settings These fancy Apple features makes you waste time http://mths.be/osx
  • 24. Use an application launcher or better yet, use Quicksilver http://qsapp.com/ Alternatives: Spotlight, Alfred.app, Launchbar
  • 25. What can I do with Quicksilver? Launch/switch applications Play some music
  • 26. What can I do with Quicksilver? Browse your clipboard history Move files
  • 27. What can I do with Quicksilver? Quickly jump right into your project folder
  • 28. What can I do with Quicksilver? Unlimited possibilities! Master it!
  • 29. Manage your windows with the keyboard Never, ever, use Use spectacle.app instead these buttons http://spectacleapp.com/
  • 30. Master the keyboard shortcuts Hotkey EVE http://hotkeyeve.github.com/eve/ Cheatsheet http://www.cheatsheetapp.com/CheatSheet/
  • 31. Now you are a little more productive Thanks for watching