EDIT 

#Code

@the_speed_of_light

Intro

Part I 



The Flow 



The 7 problems game



O
O
O
O
O

Do not break the flow


They told you


"Do not use your mouse if you want to be productive"
- Vincent Sepiak (java)

"efficient, painless, mouse-free development is possible"
- Jared Carroll (ruby)

"Navigate a menu with [the] mouse interrupts the flow."
- Pragmatic Programmer tip



KEYBOARD



1 - typewriting

2 - commands

Exercice 1


pack my box with five dozen liquor jugs, the quick brown fox jumps over the lazy dog

Exercice 1 grading


20 points if < 30 sec, else 17 points

Divide score by 2 if any of these :
 - you have made a mistake
- you look at sth else than the screen
- you used less than 9 fingers

Part II : Anatomy of a keyboard



Dividing line


Initial hand positions


Initial hand position



finger tip



Exercice 1 reboot


pack my box with five dozen liquor jugs, the quick brown fox jumps over the lazy dog

Part III 


Common tasks

with commands

Exercice 2


create fileA.txt in folderA
please do the same with B, C and D

|-folderA
          |-fileA.txt
|-folderB
          |-fileB.txt
|-folderC
          |-fileC.txt
|-folderD
          |-fileD.txt

Exercice 2 bis

|-folderA
                   |-newfileA.txt
                   |-newfileB.txt
                   |-newfileC.txt
                   |-newfileD.txt
|-folderB
|-folderC
|-folderD

then move all 4 newfile* to folderB
then delete all newfile*

Exercice 3

Selection 

Exercice 4

Jump to

Exercice 5

find and replace

Part IV



Automatisation stuffs

The snippet

The plugin

The macro

Part V  



 Skyrocketing shortcuts


Bad


What happened to keyboard


Should not happen to shortcuts

Well balanced modifiers



Exercice


Save : Ctrl + s
Print : Ctrl + p
Cut   : Ctrl + x
Quit  : Ctrl + q


Ease of use matters



source : caewatch.com

Number of shortcuts


Eclipse : ~ 200
Webstorm :  ~220
SublimeText :  ~250


But wait !


Shift -> already binded
Ctrl -> already binded 
Alt -> already binded
Super -> already binded

Good, then



source : darkvision hardware

Keyboard WTF 1

too long shortcuts

examples :

super, k, super, b

alt, t, o, a, alt+k, spacebar, enter

Keyboard WTF 2

grey shortcuts

Rename : shift+ f6 ?

delete : ctrl + shift + k ?

delete : ctrl + y ?

Good shortcut



Easy to memorize with hand
Optional : easy to memorize with brain 
Easier if fallback (abbreviation, context menu, cheat sheet)
Principle of least surprise applied
Extensions are logical
Frequency and ease of use are proportional

... but try to understand native shortcuts before to customize

Exercice 7


Try to define easy access to shortcuts following the preceding rules


Part VI


Web goodies

HTML

Javascript

CSS


JS at lightspeed

By david borow

JS at lightspeed

  • 1,535