├── Git-Workflow.jpg ├── README.md ├── readability.jpeg └── screen_org.jpg /Git-Workflow.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootcoder/tipsNtricks/17334d36afcc5731747f842f7f17bd374874deaa/Git-Workflow.jpg -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Tips && Tricks 2 | 3 | ## For the JR Dev in your life. 4 | 5 | **Literally** every thing below is IMHO 6 | 7 | It's a lot of data in one spot so use the TOC. You don't have to read it all in one go, actually you don't have to read it at all. Really this is just a spot where I have collected little things that I think make my life as a Dev better... 8 | 9 | ## Table of Contents 10 | - [How to Search Google](#how-to-google-search) 11 | - [Sublime Shortcuts](#sublime-shortcuts) 12 | - [Code Readability](#code-readability) 13 | - [File Organization](#file-organization) 14 | - [Software Suggestions](#software) 15 | - [Config Options](#config-stuff) 16 | - [Stuff Everbody Should Know](#stuff-everybody-should-know) 17 | - [Links](#links) 18 | 19 | ### Symbol Guide 20 | - ⌘ – Command Key 21 | - ⇥ – Tab Key 22 | - ⌃ – Control Key 23 | - ⌥ – Option Key 24 | - ⇧ – Shift Key 25 | - ⏎ – Return 26 | 27 | --- 28 | 29 | ### Pro Tip Numero Uno 30 | 31 | __HANDS OFF THE F*&^%ING MOUSE!!!__ 32 | 33 | As a developer your time is a __Super Valuable Resource__... 34 | 35 | So every little thing you can do to increase efficiency will pay vast dividends over the course of your career. 36 | 37 | You rarely need to actually touch the mouse. Every time you do you must take your hands completely off the keyboard. Grab the mouse. Go click the thing, then transfer back to the keyboard, find the home-row and finally start typing again...Precious seconds that add up to a huge savings every day. 38 | 39 | It won't be easy but start building this skill now. Force yourself to leave the mouse behind. You're better than that mouse. You don't need no stinkin mouse. You have *Dev Hands*!!! 40 | 41 | Also long term mouse usage can lead to RSI which is a seriously legit thing to avoid. 42 | 43 | **MORAL OF THE STORY** 44 | 45 | ```⌘ p``` in Sublime is hands down the fastest way to get around a working directory. Each application should be opened in its own sublime window ( subl . from command line @ application root) 46 | 47 | Side Note: Speeding up your search with a no mouse approach is crazy efficient. 48 | --- 49 | 50 | ### Attitude Matters 51 | 52 | [Start Here](http://blog.hiphipjorge.com/tips-for-learning-programming/) 53 | 54 | A lot actually. Coding as a career is essentially solving difficult puzzles through your editor everyday. Remember to maintain the correct attitude during your career as a dev. We are super fortunate to be in an industry which allows us to play as we work. No I don't mean ping pong or cornhole. I mean play with your puzzle. Maintain a joyous and fun level of interaction between your brain, your fingers and whatever is going on the screen. If you approach every challenge / feature / project with a poke / play attitude you will go much further and actually enjoy yourself as you do. *Gasp* 55 | 56 | Remain calm. For real. It sounds so simple and easy yet this easy simple thing is totally taken for granted. When you are not calm as a developer you lose the ability to focus logically on your code. You open yourself up to deep superego rabbit holes and you greatly reduce the efficiency of yourself as a developer. Establish this as a strong mental protocol by enforcing an internal state of happy play time. 57 | 58 | Example: 59 | 60 | When facing an increasing difficult coding challenge I do not say to myself 61 | 62 | ### *ARRRR this is really hard, I don't know what to do, how do I even start, maybe I'm not good enough... 63 | 64 | 65 | 66 | But rather something like 67 | 68 | ### *Sweet!!! Boss Level Challenge. I'm going to earn a shitload of XP. Something I don't know, Sweet!!! gonna level up like crazy. Ok I wonder what happens if I do X, nope OK, what about Y....* 69 | 70 | 71 | 72 | Also worth noting here is opposite side of the coin. If you allow yourself to look upon this work as a strenuous endeavor... If you start a new problem and think 'OMG this is gonna be soooooo hard || How the F do I even begin to figure this out', you are setting yourself up for a bad time. If you gaze upon a problem with negative eyes you are only granting a perfect stage for your superego to come out and kick your ass. So.... Don't do that! 73 | 74 | --- 75 | 76 | ### How to Google Search 77 | 78 | Super high on the list of most important things you will learn here. 79 | 80 | Enter a search term then quickly parse over 4-5 results to narrow down your scope. 81 | 82 | #### DEPENDENCY NOTE: 83 | 84 | The functionality detailed below is no longer supported in Chrome by default. :-( 85 | 86 | Get this [extension](https://chrome.google.com/webstore/detail/google-search-keyboard-sh/iobmefdldoplhmonnnkchglfdeepnfhd) to restore it. :-) 87 | 88 | #### Search Process: 89 | 90 | See rule number 1. Any time you are leaving the keyboard you are losing time. 91 | - ⌘ + t -- open a new tab 92 | - Enter search terms. The first word of your search should always be the language you are looking for. 93 | - ⏎ -- to search google 94 | - tab this will take focus from the search bar and place it in the results list. You know you're there because a little blue arrow will appear next to the first result. 95 | - open the first 5 links into new tabs 96 | - ⌘ + ⏎ -- to open link 97 | - down arrow -- to go to next link 98 | - Repeat until you have a decent cross section of suggestions from the internet. (I usually do like 5) 99 | - Cycle through newly opened tabs using 100 | 101 | ⌘ + ⇧ + { 102 | 103 | ⌘ + ⇧ + } 104 | 105 | - ⌘ + w -- Close unwanted tabs 106 | 107 | - Profit 108 | 109 | You should practice this process until you are at a point that you can research a particular thing in like 20 seconds. 110 | 111 | #### Search Tips: 112 | 113 | - The first word of any search should be the name of the language you are working in. 114 | - Leave out non technical words you might use to explain your question to a human. 115 | - Keep your query as small and clean as possible. 116 | - Train your eye to look at the dates when you are doing the arrow thing to open results. Get used to skipping the older links in your first pass. 117 | 118 | Ex: ruby gsub escaped characters 119 | 120 | Ex: ruby remove formatting characters 121 | 122 | VS: 123 | 124 | !Ex: How do I get rid of special characters in a string? 125 | 126 | !Ex: remove special formatting from ruby string 127 | 128 | --- 129 | 130 | ### Don't think, KNOW!!! 131 | 132 | Writing code is like being a puppy. Life is just better when you p on everything. 133 | 134 | When generating or debugging your code always know what things are evaluating to. 135 | - If you're unsure, __p it out.__ 136 | - If you think you know but maybe don't, __p it out.__ 137 | - If you're wondering if you made it inside some conditional block, __p it out.__ 138 | - If you haven't confirmed that you're even in the file you think you are, __p it out.__ 139 | - If you can't remember, __p it out.__ 140 | - If, If If, (whatever), __p it out.__ 141 | 142 | P'ing your variables is so important, I made a gem to help. 143 | 144 | 145 | ```ruby 146 | gem install extra_print 147 | ``` 148 | 149 | [Documentation](https://github.com/bootcoder/extra_print) 150 | 151 | --- 152 | 153 | 154 | ### Sublime Shortcuts 155 | [Complete List](http://sublime-text-unofficial-documentation.readthedocs.org/en/latest/reference/keyboard_shortcuts_osx.html) 156 | 157 | Super useful ones 158 | - move lines vertically ``` ⌘ + ⌃ ``` 159 | - jump to file ``` ⌘ + p + (fuzzy file name) ``` 160 | - global search ``` ⌘ + ⇧ + f ``` 161 | - duplicate line ``` ⌘ + ⇧ + d ``` 162 | - select word (and repeat) ``` ⌘ + d ``` 163 | - commenting code ``` ⌘ + / ``` 164 | - jump to line ``` ⌘ + p + : + (line number (int)) ``` 165 | 166 | --- 167 | 168 | ### Copy & Paste Like a PRO!!!!!!!!!!!! 169 | 170 | AKA: DO NOT STRAIGHT COPY CODE!!!!! 171 | 172 | Don't just go to the INTERNET and find some answer on StackOverflow to paste into your code. This leads to a problem known as _CopyPasta_ which is what happens when you paste in a bunch of code without having rewritten it for yourself. You forget to change a variable here, or access something out of scope there...... Pasting in code that leads to more time spent debugging is a losing trade. 173 | 174 | I'm not telling you to not use code you find at all. What I am suggesting is this. 175 | 176 | ```ruby 177 | def some_method_i_will_write 178 | 179 | end 180 | 181 | # def some_method_pasted_in 182 | # some_logic_i_need.each do |thing| 183 | # p thing 184 | # end 185 | # end 186 | ``` 187 | Paste the code in and __IMMEDIATELY__ comment it out. Then use the commented code as a reference to build the desired functionality from scratch. Once you are done erase the paste and move along. 188 | 189 | Benefits include: 190 | - No issues with improper variable naming. 191 | - Increased Muscle Memory. 192 | - Helps ensure that you understand the code as it is implemented. 193 | 194 | --- 195 | 196 | ### Keep your working window clean. 197 | 198 | A clean working screen is super clutch. 199 | 200 | You should always have your windows configured such that you can see the editor and the terminal without having to click around. I prefer a 66/33 split between the editor and terminal. Like so 201 | 202 | ![CleanYourScreen](./screen_org.jpg "Makes me Happy") 203 | 204 | Using Spectacle is the easiest way to accomplish this. The point being that as a Ruby Dev you are looking at the Terminal __A LOT__. So keeping it in a spot that is visible all the time is really useful from an efficiency standpoint. Much easier to just glance at your terminal for output as opposed to having to switch over and then find the output. 205 | 206 | Auto hiding the Doc can provide some more screen estate. Having the Dock take up a pretty big chunk of your screen is bad, especially on widescreen displays, where the Dock sits at the bottom and eats away precious height. Alt-Click the black bar to open preferences, then check auto-hide. 207 | 208 | --- 209 | 210 | ### Take care of yourself 211 | 212 | This job can be very grueling. Your personal sanity is a thing you should be mindful of always. 213 | - Always remember __You are not your Code__ 214 | - Eat well 215 | - Exercise often 216 | - Yoga is great 217 | - **During DBC** Get the sleep you need to maintain functionality 218 | - **After DBC** Work life balance is super important 219 | - Talk to yourself... A LOT, you are your own best sounding board 220 | 221 | ### Take care of your pair 222 | - They're fragile too. 223 | - Ensuring they are not left behind ensures you are rock solid. 224 | - A happy pair will allow a much stronger learning environment for both of you. 225 | 226 | --- 227 | 228 | ### Follow the Golden Rule of BLOCKS 229 | 230 | [Everything that has a __BEGINNING__ has an __END__](https://www.youtube.com/watch?v=UHCXsF6Kgvc) 231 | 232 | Write the end as soon as you write the beginning and save your self loads of frustration counting def-end combos later. 233 | 234 | ```ruby 235 | def thing_func 236 | end 237 | ``` 238 | 239 | ```ruby 240 | thingy.each do 241 | end 242 | ``` 243 | 244 | ```ruby 245 | some_hash = { } 246 | some_array = [ ] 247 | ``` 248 | 249 | --- 250 | 251 | ### Code readability 252 | 253 | You've heard people say that coding is an art form... This has to do with that. 254 | 255 | Indentation - OMG do this. I will look at you funny if your code structure is all jacked up. Indent properly all the time. Don't leave the line without ensuring it is indented correctly. Lots of languages are whitespace dependent, meaning you are forced to indent correctly. Better to establish this habit now. No I don't mean get good at using Sublime auto re-indent command. I mean actually establish a habit of indenting correctly on your own. Preferable with tabs set to 2. :-) 256 | 257 | Limit the length of your lines to 80 characters. 258 | A neat way to remember this is to set a ruler in Sublime User settings. 259 | ```"rulers": [80]``` 260 | 261 | __Code readability BEATS conciseness 10.times out of 10__ 262 | 263 | This means writing functions that are easy for developers to read. Not just you, but future you and the people that maintain your code down the road. 264 | 265 | Don't one line a thing because you want to look cool. 266 | 267 | Don't leave a bunch of unnecessary comments or debugging print statements in your code at time of commit. 268 | 269 | ![MaintainYourShit](./readability.jpeg "Fer Realsies") 270 | 271 | --- 272 | 273 | ### File Organization 274 | Good habits when it comes to naming and storing files is something that will pay off big time for you in the long run. 275 | 276 | Don't keep your files on the desktop. 277 | 278 | Spend some time to figure out a good file structure that works for you. Once you make a plan stick to it. Down the road you will have away easier time tracking down projects because they will have been placed in to your structure by some standard of your creation. 279 | 280 | Here is a sample of what a well organized file structure looks like. 281 | ```bash 282 | Main Folder 283 | ├── 1Phase 284 | │   ├── 1Week 285 | │   ├── 2week 286 | │   ├── 3Week 287 | │   ├── assesments 288 | │   ├── breakouts 289 | │   ├── general 290 | │   └── phase-1-guide 291 | ├── 2Phase 292 | │   ├── 4week 293 | │   ├── 5week 294 | │   ├── 6week 295 | │   ├── assessments 296 | │   ├── guides 297 | │   ├── other 298 | │   └── p-challenges 299 | ├── 3Phase 300 | │   ├── challenges 301 | │   ├── other 302 | │   ├── phase-3-guide 303 | │   └── someshit 304 | ├── hackathons 305 | │   ├── notes.md 306 | │   ├── pitches.md 307 | │   ├── schedule.md 308 | │   └── team_leads.md 309 | ├── lectures 310 | │   ├── 1phase 311 | │   └── 2phase 312 | ├── other 313 | │   ├── Ruby-Anagrams 314 | │   ├── devbootcamp.github.io 315 | │   ├── hemlock 316 | │   ├── node_sample2 317 | │   ├── react-7guis 318 | │   ├── retros 319 | │   └── rspec_rails_4 320 | ``` 321 | 322 | --- 323 | 324 | ### Git Workflow 325 | 326 | ![git_workflow](Git-Workflow.jpg) 327 | 328 | --- 329 | 330 | ### NO SUDO NO (IDCare what the INTERNET tells you) 331 | Short and sweet. If you are using ```sudo``` to install something on your mac.... 332 | 333 | __You're doing it WRONG__ 334 | 335 | - Ask for help. 336 | - When installing something, check for a homebrew formula as your first option. 337 | 338 | **Disclaimer** There are times when ```sudo``` is the only way, like when installing homebrew, but you should try to avoid it and really really reallllllly be sure you absolutely need it before you go that route. 339 | 340 | --- 341 | 342 | ## Software 343 | 344 | ### First and Foremost 345 | Everything in this section should be taken with a grain of salt. 346 | 347 | __DO NOT__ go and install everything you see here. Look over, file away, take what works and leave the rest. If you don't understand it or what it does __DO NOT INSTALL__, this as it turns out is a pretty good policy in general. 348 | 349 | ### Chrome Extensions 350 | [Big List O Recommendations](https://github.com/bootcoder/htc_dev_settings/blob/master/chrome_extensions.md) 351 | 352 | ### Spotlight || Alfred for system navigation 353 | - Use Spotlight ⌘ + spacebar to search your system for files and applications. 354 | 355 | ### Hot Key your iTerm2 356 | ```⌘ + \``` is what I use. 357 | 358 | Also.... Use iTerm2 instead of terminal. 359 | 360 | Get comfy with the pref's here. 361 | - Increase buffer size 362 | - Increase Transparency 363 | - Make a jazzy color scheme that works for you and you alone. 364 | 365 | ## Sublime 366 | 367 | ### Packages 368 | * Package Manager 369 | * SideBarEnhancements 370 | * Better CoffeeScript 371 | * All Autocomplete 372 | * BracketHighlighter 373 | * Markdown HTML Preview 374 | * GitGutter 375 | * ERB Snippets 376 | * Haml 377 | * JSLint 378 | * PowerCursors 379 | * SublimeLinter 380 | * SublimeLinter-haml 381 | * TernJS 382 | * Theme - Tech49 383 | * Color Scheme - Tomorrow Night 384 | 385 | ### Linters 386 | The good the bad and the ugly 387 | 388 | Pros 389 | - help you see errors in your code 390 | - give you tips on best practices 391 | - easy to use 392 | 393 | Cons 394 | - can cause stability issues with Sublime 395 | - others best practices may not always align with your own. 396 | 397 | ### APPS (osx) 398 | - Flycut (clipboard management) 399 | - Spectacle (window management) 400 | - Dropbox 401 | - Alfred (configure to replace spotlight) 402 | - Dash 403 | - Hub 404 | - iTerm2 405 | - PostMan REST Client 406 | 407 | ### Gems (Don't even think about this list till late phase 2 minimum.) 408 | - bropages(gem) 409 | - haml 410 | - guard-rspec 411 | - guard-livereload 412 | - guard-spork 413 | - pry-byebug 414 | - pry-doc 415 | - better_errors 416 | - binding_of_caller 417 | - dotenv 418 | 419 | ### Editors 420 | 421 | - __Sublime__ (my preference) 422 | - __Atom__ 423 | - __VIM__ 424 | 425 | If one of these is not your go to option you are denying yourself valuable resources on many fronts. 426 | 427 | - As an OSX user you have a kickass development environment on your computer. 428 | - Not knowing how to navigate that environment can be a serious detriment on the job. 429 | - These editors have a metric ton of keyboard shortcuts that can greatly increase your efficiency as a dev. 430 | 431 | Remote editors like: 432 | 433 | - __REPL.it__ 434 | - __Nitrious.io__ 435 | - __Coderpad.io__ 436 | 437 | are nice... But come with some distinct drawbacks. 438 | 439 | - Great for remote work and demonstrating concepts. 440 | - Using them in a pair environment or on the job is just doubling the amount of work you have to do. 441 | - Don't have access to all the very cool candy that Sublime gives you. 442 | - Only really good for single page scripts. 443 | -Difficult to program a server in a virtual environment. 444 | - No Git workflow interface 445 | - Slows down ability to continuously integrate code. 446 | 447 | --- 448 | 449 | ## Config Stuff 450 | 451 | ### BASH TIPS 452 | Your mileage may vary depending on how you have your BASH configured. 453 | 454 | - If you want to find and execute a command that you know you've executed before, try using Ctrl + R and start typing any part of the command. You'll get filtered results that let you narrow them down to the command you're looking for. 455 | 456 | - history then !(int) to fire that command 457 | - man + / for search 458 | - fn + leftArrow || fn + rightArrow key for front or end of line 459 | 460 | ### BASH Aliases 461 | These are the aliases that I use. 462 | ```bash 463 | alias e=subl 464 | alias be="bundle exec" 465 | alias g=git 466 | alias cl=clear 467 | alias ga="git ca" 468 | alias gpo="git push origin" 469 | alias gph="git push heroku" 470 | alias rials="rails" 471 | alias gti="git" 472 | alias shitgun="shotgun" 473 | alias shotfun="shotgun" 474 | alias dbc="cd ~/Dropbox/ACODE/DBC/dayJerbs" 475 | alias code="cd ~/Dropbox/ACODE/adBC 476 | ``` 477 | 478 | ### GIT Config 479 | ```bash 480 | [core] 481 | # Excludesfiles allows us to set a global list of things to ignore 482 | # Great place for things like .env or secrets.yml 483 | excludesfile = ~/.gitignore_global 484 | 485 | # These are custom color options for the console 486 | [color] 487 | status = auto 488 | diff = auto 489 | 490 | [color "status"] 491 | untracked = cyan 492 | changed = green 493 | added = yellow 494 | 495 | # Aliases are command shortcuts 496 | [alias] 497 | 498 | # lg is now a shortcut for a pretty log with short commit messages 499 | # See the log manpage: https://www.kernel.org/pub/software/scm/git/docs/git-log.html 500 | # for explanations of what these options do 501 | 502 | lg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative 503 | 504 | # Shorthand for a less noisy status 505 | s = commit --dry-run --short 506 | 507 | # More sensible names for adding and removing files from the readme 508 | stage = add 509 | unstage = reset HEAD 510 | 511 | # Edit the last commit 512 | amend= commit --verbose --amend 513 | 514 | # one-line log 515 | l = log --pretty=format:"%C(yellow)%h\\ %ad%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --date=short 516 | 517 | a = add 518 | ap = add -p 519 | c = commit --verbose 520 | ca = commit -a --verbose 521 | cm = commit -m 522 | cam = commit -a -m 523 | m = commit --amend --verbose 524 | 525 | d = diff 526 | ds = diff --stat 527 | dc = diff --cached 528 | 529 | co = checkout 530 | cob = checkout -b 531 | 532 | # list branches sorted by last modified 533 | b = "!git for-each-ref --sort='-authordate' --format='%(authordate)%09%(objectname:short)%09%(refname)' refs/heads | sed -e 's-refs/heads/--'" 534 | 535 | # list aliases 536 | la = "!git config -l | grep alias" 537 | [user] 538 | email = bootcoder@gmail.com 539 | name = BootCoder 540 | [credential] 541 | helper = cache --timeout=14400 542 | 543 | ``` 544 | 545 | The last line (credential), is super nice. This sets the timeout between authentication for a GitHub push. 546 | 547 | ### Sublime User Settings 548 | 549 | This is lifted directly from my sublime user settings. 550 | 551 | DO NOT COPY PASTE!!! 552 | 553 | Just a reference for you, as with everything else here, analyze first, then make 554 | a decision about what works for you to implement. 555 | ```bash 556 | { 557 | "atomic_save": false, 558 | "bold_folder_labels": true, 559 | "caret_style": "phase", 560 | "color_scheme": "Packages/User/SublimeLinter/Tomorrow-Night (SL).tmTheme", 561 | "draw_white_space": "selection", 562 | "ensure_newline_at_eof_on_save": true, 563 | "fade_fold_buttons": false, 564 | "font_face": "Inconsolata", 565 | "font_size": 21, 566 | "highlight_line": true, 567 | "ignored_packages": 568 | [ 569 | "Emmet", 570 | "PlainTasks", 571 | "RubyTest", 572 | "Theme - Farzher", 573 | "Vintage" 574 | ], 575 | "line_padding_bottom": 1, 576 | "line_padding_top": 1, 577 | "rulers": 578 | [ 579 | 80 580 | ], 581 | "save_on_focus_lost": true, 582 | "spell_check": true, 583 | "tab_size": 2, 584 | "theme": "Tech49.sublime-theme", 585 | "translate_tabs_to_spaces": true, 586 | "trim_trailing_white_space_on_save": true 587 | } 588 | 589 | ``` 590 | 591 | --- 592 | 593 | ### After you graduate from DBC 594 | Never **EVER** refer to yourself as a 'JR Developer' 595 | 596 | You are better than that. There is no situation in which pigeonholing 597 | yourself into a JR role is a positive. 598 | 599 | Also, your __SUPER EGO__ has absolutely no place in your 600 | 601 | - job search, 602 | - interview process, 603 | - salary negotiations 604 | - day to day life as a Dev. 605 | 606 | History has shown that you are, upon graduation competent enough to compete 607 | with Mid-Level Devs from anywhere. And in fact a lot BETTER than many of the 608 | Devs you will meet in the workforce. Believe it! Make it your reality and 609 | knock 'all the things' out of all the parks at all the times. 610 | 611 | --- 612 | 613 | ### Stuff Everybody Should Know 614 | 615 | Laurie Voss is a co-founder @ NPM. He gave this excellent talk a while back at DBC SF. 616 | 617 | Contrary to my standard advice, I would recommend every boot watch this talk @ 1X speed instead of the usual 1.5..2.5X. 618 | 619 | Fair warning this talk is over 2 hours. So get comfy, grab a snack and take some notes. 620 | 621 | [Video Link](https://www.youtube.com/edit?o=U&video_id=fjtn3KCi17Y) 622 | 623 | --- 624 | 625 | ### Links 626 | 627 | [Tips for JR Devs](https://blog.newrelic.com/2014/04/23/better-junior-developer/) 628 | 629 | [10 Tips to transition from JR to MID level Dev](http://www.techrepublic.com/blog/software-engineer/10-tips-to-go-from-a-beginner-to-an-intermediate-developer/) 630 | 631 | [Increase your Jr Dev Cred](https://www.codementor.io/learn-programming/15-ways-to-improve-as-a-junior-developer) 632 | 633 | [explainshell](http://explainshell.com/) 634 | 635 | --- 636 | 637 | ### Contributing: 638 | 639 | If you want to contribute in general I'm super open to it, as well as any feedback you might have. 640 | 641 | Process: 642 | 643 | - fork it 644 | - clone it 645 | - branch it 646 | - contribute 647 | - push up your branch to your fork 648 | - open a pull request back here to master 649 | 650 | As to the subject matter itself, if you don't agree in my choice of software that's awesome! 651 | 652 | But for seriouslies, I'm not saying I don't care about or appreciate how much better ```INSERT RANDO SOFTWARE TITLE HERE``` is. I'm just saying I've heard... it's cool. No need to track me down, shake me around and pontificate furiously whilst cycling through the virtues of ```INSERT RANDO SOFTWARE TITLE HERE```. 653 | 654 | --- 655 | 656 | ### Last but not least 657 | 658 | Make XKCD your homepage. *Seriously* 659 | -------------------------------------------------------------------------------- /readability.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootcoder/tipsNtricks/17334d36afcc5731747f842f7f17bd374874deaa/readability.jpeg -------------------------------------------------------------------------------- /screen_org.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootcoder/tipsNtricks/17334d36afcc5731747f842f7f17bd374874deaa/screen_org.jpg --------------------------------------------------------------------------------