Upgrade to Pro — share decks privately, control downloads, hide ads and more …

The Developer's Toolkit

6b767d8a4c9910e007c122d81eb4de73?s=47 Noel Rappin
November 14, 2018

The Developer's Toolkit

As developers, our work is mediated through many tools besides languages. We use terminals, browsers, git, and the os. Not to mention editors. These are powerful tools that can be infinitely customized and extended. The tools can make common tasks easier or less error prone to perform. Or they can give you visibility into system behavior. But the options are bewildering and each customization has a cost. It’s time to make your environment work for you. This isn’t just a list of tips and tricks, but will also suggest how to evaluate whether a power tool or shortcut is worth your time.

More notes are available at https://medium.com/@noelrap/developers-toolkit-cheat-sheet-82d98d34fde7

6b767d8a4c9910e007c122d81eb4de73?s=128

Noel Rappin

November 14, 2018
Tweet

More Decks by Noel Rappin

Other Decks in Technology

Transcript

  1. This slide will help you be faster and more efficient

    Noel Rappin | The Developer's Toolkit | RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  2. Here's a workflow: Noel Rappin | The Developer's Toolkit |

    RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  3. Finish some code run rubocop & linter commit code create

    pull request Noel Rappin | The Developer's Toolkit | RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  4. A 10 step process Noel Rappin | The Developer's Toolkit

    | RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  5. • bundle exec rubocop -aD • git status • git

    add • git commit • Edit message in editor Noel Rappin | The Developer's Toolkit | RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  6. • git push origin <branchname> • open GitHub • Click

    to create pull request • Edit to taste • Create Noel Rappin | The Developer's Toolkit | RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  7. Memorize 5 commands Noel Rappin | The Developer's Toolkit |

    RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  8. What's most important? Noel Rappin | The Developer's Toolkit |

    RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  9. This is probably not your process Noel Rappin | The

    Developer's Toolkit | RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  10. Novice vs. Expert workflow Noel Rappin | The Developer's Toolkit

    | RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  11. The Developer's Toolkit Noel Rappin (@noelrap) h"ps:/ /www.tablexi.com/kickstarter h"p:/ /techdoneright.io

    h"p:/ /www.noelrappin.com h"p:/ /bit.ly/dev-toolkit-cheat Noel Rappin | The Developer's Toolkit | RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  12. What makes a tool useful? Noel Rappin | The Developer's

    Toolkit | RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  13. We have to a)end to detail Noel Rappin | The

    Developer's Toolkit | RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  14. Brains have a limited ability to focus Noel Rappin |

    The Developer's Toolkit | RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  15. Stay focused on important stuff Noel Rappin | The Developer's

    Toolkit | RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  16. Not about saving keystrokes... Noel Rappin | The Developer's Toolkit

    | RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  17. Memory and focus Noel Rappin | The Developer's Toolkit |

    RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  18. Our tools are complex and flexible Noel Rappin | The

    Developer's Toolkit | RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  19. We expect complexity Noel Rappin | The Developer's Toolkit |

    RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  20. We valorize complexity Noel Rappin | The Developer's Toolkit |

    RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  21. Command line tools are great Noel Rappin | The Developer's

    Toolkit | RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  22. They are also opaque and memory intensive Noel Rappin |

    The Developer's Toolkit | RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  23. Noel Rappin | The Developer's Toolkit | RubyConf 2018 |

    h>ps:/ /www.tablexi.com | @noelrap
  24. Noel Rappin | The Developer's Toolkit | RubyConf 2018 |

    h>ps:/ /www.tablexi.com | @noelrap
  25. You don't need to be a CLI expert to be

    a real programmer Noel Rappin | The Developer's Toolkit | RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  26. Types of tools Noel Rappin | The Developer's Toolkit |

    RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  27. Noel Rappin | The Developer's Toolkit | RubyConf 2018 |

    h>ps:/ /www.tablexi.com | @noelrap
  28. Opaque Years To Learn Idiosyncra+c setup Noel Rappin | The

    Developer's Toolkit | RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  29. Noel Rappin | The Developer's Toolkit | RubyConf 2018 |

    h>ps:/ /www.tablexi.com | @noelrap
  30. As an entry-level developer, learning vim may not be the

    best use of your -me. Noel Rappin | The Developer's Toolkit | RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  31. (as an senior developer, it also might not be) Noel

    Rappin | The Developer's Toolkit | RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  32. The success of Vim means we don't understand exper%se, UX,

    or workflow Noel Rappin | The Developer's Toolkit | RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  33. Noel Rappin | The Developer's Toolkit | RubyConf 2018 |

    h>ps:/ /www.tablexi.com | @noelrap
  34. Single use But pre(y easy to use Noel Rappin |

    The Developer's Toolkit | RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  35. Noel Rappin | The Developer's Toolkit | RubyConf 2018 |

    h>ps:/ /www.tablexi.com | @noelrap
  36. Trivial to use once set up Has unexpected uses Noel

    Rappin | The Developer's Toolkit | RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  37. So what? Noel Rappin | The Developer's Toolkit | RubyConf

    2018 | h>ps:/ /www.tablexi.com | @noelrap
  38. Choose your stenotypes very carefully Noel Rappin | The Developer's

    Toolkit | RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  39. You have limited counter space for waffle irons Noel Rappin

    | The Developer's Toolkit | RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  40. But curb cuts... you can have oodles of them Noel

    Rappin | The Developer's Toolkit | RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  41. The good stuff Noel Rappin | The Developer's Toolkit |

    RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  42. Shell Prompt Noel Rappin | The Developer's Toolkit | RubyConf

    2018 | h>ps:/ /www.tablexi.com | @noelrap
  43. How to handle aliases.. Noel Rappin | The Developer's Toolkit

    | RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  44. Command History Noel Rappin | The Developer's Toolkit | RubyConf

    2018 | h>ps:/ /www.tablexi.com | @noelrap
  45. Noel Rappin | The Developer's Toolkit | RubyConf 2018 |

    h>ps:/ /www.tablexi.com | @noelrap
  46. Jump h"ps:/ /github.com/gsamokovarov/jump Noel Rappin | The Developer's Toolkit |

    RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  47. Fuzzy finder h"ps:/ /github.com/junegunn/fzf Noel Rappin | The Developer's Toolkit

    | RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  48. Noel Rappin | The Developer's Toolkit | RubyConf 2018 |

    h>ps:/ /www.tablexi.com | @noelrap
  49. Please use ITerm2 Noel Rappin | The Developer's Toolkit |

    RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  50. Click to open Noel Rappin | The Developer's Toolkit |

    RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  51. Op#on-click to posi%on mouse Noel Rappin | The Developer's Toolkit

    | RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  52. Let's talk about Git Noel Rappin | The Developer's Toolkit

    | RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  53. Git hooks Noel Rappin | The Developer's Toolkit | RubyConf

    2018 | h>ps:/ /www.tablexi.com | @noelrap
  54. .git/hooks/pre-commit .git/hooks/pre-push Noel Rappin | The Developer's Toolkit | RubyConf

    2018 | h>ps:/ /www.tablexi.com | @noelrap
  55. bundle exec rubocop --force-exclusion \ `git ls-tree -r HEAD --name-only`

    Noel Rappin | The Developer's Toolkit | RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  56. Use a Git GUI tool like Fork Noel Rappin |

    The Developer's Toolkit | RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  57. Noel Rappin | The Developer's Toolkit | RubyConf 2018 |

    h>ps:/ /www.tablexi.com | @noelrap
  58. Noel Rappin | The Developer's Toolkit | RubyConf 2018 |

    h>ps:/ /www.tablexi.com | @noelrap
  59. GitHub T Noel Rappin | The Developer's Toolkit | RubyConf

    2018 | h>ps:/ /www.tablexi.com | @noelrap
  60. Noel Rappin | The Developer's Toolkit | RubyConf 2018 |

    h>ps:/ /www.tablexi.com | @noelrap
  61. Github Push Noel Rappin | The Developer's Toolkit | RubyConf

    2018 | h>ps:/ /www.tablexi.com | @noelrap
  62. GitHub hub h"ps:/ /hub.github.com Noel Rappin | The Developer's Toolkit

    | RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  63. alias gitprq='git pull-request --no-edit --browse --push' Noel Rappin | The

    Developer's Toolkit | RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  64. Editor Tricks Noel Rappin | The Developer's Toolkit | RubyConf

    2018 | h>ps:/ /www.tablexi.com | @noelrap
  65. Noel Rappin | The Developer's Toolkit | RubyConf 2018 |

    h>ps:/ /www.tablexi.com | @noelrap
  66. Noel Rappin | The Developer's Toolkit | RubyConf 2018 |

    h>ps:/ /www.tablexi.com | @noelrap
  67. Noel Rappin | The Developer's Toolkit | RubyConf 2018 |

    h>ps:/ /www.tablexi.com | @noelrap
  68. Noel Rappin | The Developer's Toolkit | RubyConf 2018 |

    h>ps:/ /www.tablexi.com | @noelrap
  69. Noel Rappin | The Developer's Toolkit | RubyConf 2018 |

    h>ps:/ /www.tablexi.com | @noelrap
  70. Noel Rappin | The Developer's Toolkit | RubyConf 2018 |

    h>ps:/ /www.tablexi.com | @noelrap
  71. Also Git and GitHub support Noel Rappin | The Developer's

    Toolkit | RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  72. Fira Code Noel Rappin | The Developer's Toolkit | RubyConf

    2018 | h>ps:/ /www.tablexi.com | @noelrap
  73. Web-Based Waffle Irons Noel Rappin | The Developer's Toolkit |

    RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  74. Rubular Noel Rappin | The Developer's Toolkit | RubyConf 2018

    | h>ps:/ /www.tablexi.com | @noelrap
  75. Str$ime Noel Rappin | The Developer's Toolkit | RubyConf 2018

    | h>ps:/ /www.tablexi.com | @noelrap
  76. Some General Mac U&li&es Noel Rappin | The Developer's Toolkit

    | RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  77. Alfred Noel Rappin | The Developer's Toolkit | RubyConf 2018

    | h>ps:/ /www.tablexi.com | @noelrap
  78. Noel Rappin | The Developer's Toolkit | RubyConf 2018 |

    h>ps:/ /www.tablexi.com | @noelrap
  79. Be#er Touch Tool Noel Rappin | The Developer's Toolkit |

    RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  80. Dash Noel Rappin | The Developer's Toolkit | RubyConf 2018

    | h>ps:/ /www.tablexi.com | @noelrap
  81. Transmit Noel Rappin | The Developer's Toolkit | RubyConf 2018

    | h>ps:/ /www.tablexi.com | @noelrap
  82. Sequel Pro Pos$co Noel Rappin | The Developer's Toolkit |

    RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  83. Noel Rappin | The Developer's Toolkit | RubyConf 2018 |

    h>ps:/ /www.tablexi.com | @noelrap
  84. Window manager Noel Rappin | The Developer's Toolkit | RubyConf

    2018 | h>ps:/ /www.tablexi.com | @noelrap
  85. The Touch Bar Noel Rappin | The Developer's Toolkit |

    RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  86. VS Code Noel Rappin | The Developer's Toolkit | RubyConf

    2018 | h>ps:/ /www.tablexi.com | @noelrap
  87. ITerm2 Noel Rappin | The Developer's Toolkit | RubyConf 2018

    | h>ps:/ /www.tablexi.com | @noelrap
  88. Remember the task? Noel Rappin | The Developer's Toolkit |

    RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  89. Finish some code run rubocop commit create PR Noel Rappin

    | The Developer's Toolkit | RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  90. What I actually do • Open Fork • examine changes

    easily • Edit commit message in fork • Commit -- rubocop runs automa=cally • gitprq (or fork) (or click link) Noel Rappin | The Developer's Toolkit | RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  91. This has fewer steps Noel Rappin | The Developer's Toolkit

    | RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  92. Faster Less prone to mistakes Less to memorize Noel Rappin

    | The Developer's Toolkit | RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  93. Focus on important parts Noel Rappin | The Developer's Toolkit

    | RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  94. How to evaluate a tool Noel Rappin | The Developer's

    Toolkit | RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  95. Just knowing there's something to be improved is a big

    first step Noel Rappin | The Developer's Toolkit | RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  96. Things to look for: Noel Rappin | The Developer's Toolkit

    | RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  97. I do these steps all the 'me Noel Rappin |

    The Developer's Toolkit | RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  98. I make this mistake a lot Noel Rappin | The

    Developer's Toolkit | RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  99. I wish I could see... Noel Rappin | The Developer's

    Toolkit | RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap
  100. Noel Rappin (@noelrap) h"p:/ /pragprog.com/book/nrtest3 h"p:/ /tablexi.com/kickstarter h"p:/ /techdoneright.io h"p:/

    /bit.ly/dev-toolkit-cheat Noel Rappin | The Developer's Toolkit | RubyConf 2018 | h>ps:/ /www.tablexi.com | @noelrap