Slide 1

Slide 1 text

! GOTTA GROK GITAll Things Open October 22, 2014

Slide 2

Slide 2 text

! !

Slide 3

Slide 3 text

! Tools, processes & communication.

Slide 4

Slide 4 text

! How Do Committees Invent? Melvin E. Conway Copyright 1968, F. D. Thompson Publications, Inc. Reprinted by permission of Datamation magazine, where it appeared April, 1968. That kind of intellectual activity which creates a whole from its diverse parts may be called the design of a system. Whether the particular activity is the creation of specifications for a major weapon system, the formation of a recommendation to meet a social challenge, or the programming of a computer, the general activity is largely the same.

Slide 5

Slide 5 text

! Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations. Melvin Conway !

Slide 6

Slide 6 text

! 1968 HOW TO COMMITTEES INVENT? – DATAMATION !

Slide 7

Slide 7 text

! !

Slide 8

Slide 8 text

! Tools define communication.

Slide 9

Slide 9 text

! Communication define culture.

Slide 10

Slide 10 text

! Tools define culture.

Slide 11

Slide 11 text

! Chris Kelly IN MEATSPACE

Slide 12

Slide 12 text

! @amateurhuman ON THE INTERNET

Slide 13

Slide 13 text

!

Slide 14

Slide 14 text

!

Slide 15

Slide 15 text

! ! Productivity with better Git and GitHub.

Slide 16

Slide 16 text

! ! git add . › git commit -m “blarg” ›

Slide 17

Slide 17 text

! ! Git is source control.

Slide 18

Slide 18 text

! ! Git is communication.

Slide 19

Slide 19 text

! ! Git is a debugger.

Slide 20

Slide 20 text

! ! Git is an enforcer.

Slide 21

Slide 21 text

! ! Git is automation.

Slide 22

Slide 22 text

! Git isn’t linear.

Slide 23

Slide 23 text

! Git isn’t permanent.

Slide 24

Slide 24 text

! Git isn’t GitHub.

Slide 25

Slide 25 text

!

Slide 26

Slide 26 text

!

Slide 27

Slide 27 text

!

Slide 28

Slide 28 text

!

Slide 29

Slide 29 text

! Going inside.

Slide 30

Slide 30 text

! git init › Initialized empty Git repository in /Users/amateurhuman/Repos/sample/.git/

Slide 31

Slide 31 text

! tree .git › .git ├── HEAD ├── config ├── description ├── hooks ├── info ├── objects │ ├── info │ └── pack └── refs ├── heads └── tags

Slide 32

Slide 32 text

! echo ‘All Things Open' | \ git hash-object -w --stdin › 69053dcce790795e81715f0189874eb444283a1a

Slide 33

Slide 33 text

! tree .git › .git ├── HEAD ├── config ├── description ├── hooks ├── info ├── objects │ ├── 69 │ │ └── 053dcce790795e81715f0189874eb444283a1a │ ├── info │ └── pack └── refs ├── heads └── tags

Slide 34

Slide 34 text

! git cat-file -p 69053dc › All Things Open

Slide 35

Slide 35 text

! echo "MIT License" > LICENSE › git hash-object -w LICENSE › d1e1072ee5e1d109c15b6fd18756aedc2a401840

Slide 36

Slide 36 text

! git cat-file -t d1e1072 › blob

Slide 37

Slide 37 text

! git update-index --add \ --cacheinfo 100644 \ d1e1072ee5e1d109c15b6fd18756aedc2a4 LICENSE ›

Slide 38

Slide 38 text

! git write-tree › 1e64e3ebbaf64bd48a0e4dfb90aec69b0f32e90d

Slide 39

Slide 39 text

! git cat-file -p \ 1e64e3ebbaf64bd48a0e4dfb90aec69b0f3 › 100644 blob d1e1072ee5e1d109c15b6fd18756aedc2a401840 LICENSE

Slide 40

Slide 40 text

! echo “Apache v2" > LICENSE › git update-index LICENSE › › git update-index --add source.c

Slide 41

Slide 41 text

! git write-tree › 9b1fb9441319be18f900a443db6898f43c69e577

Slide 42

Slide 42 text

! git cat-file -p 9b1fb94 › 100644 blob 5c217fa6d7f5536f958193e9cb04a8d4db588db6 LICENSE 100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 source.c

Slide 43

Slide 43 text

! git cat-file -p 5c217fa › Apache v2

Slide 44

Slide 44 text

! echo "Initial commit" | \ git commit-tree 9b1fb9441319be18f90 › d8a9265c9c69cd401ee5a02b0bb1681f6d19cc12

Slide 45

Slide 45 text

! git update-index \ --add include/header.h › git write-tree › 6d189a0b90cb07212e7b7aee837c90fc7595a147

Slide 46

Slide 46 text

! git cat-file -p 6d189a0 › 100644 blob 5c217fa6d7f5536f958193e9cb04a8d4db588db6 LICENSE 040000 tree a2fe4c0988d4ad5b5637f09ab5874972328cb563 include 100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 source.c

Slide 47

Slide 47 text

! echo "Add header" | \ git commit-tree 6d189a \ -p d8a926 › 532d9258310ee0a4eefcbd52e152dbf0238d9e63

Slide 48

Slide 48 text

! git log 532d92 › commit 532d9258310ee0a4eefcbd52e152dbf0238d9e63 Author: Chris Kelly Date: Wed Oct 12 01:25:30 2014 -0400 Add header commit d8a9265c9c69cd401ee5a02b0bb1681f6d19cc12 Author: Chris Kelly Date: Wed Oct 12 01:17:08 2014 -0400 Initial commit

Slide 49

Slide 49 text

! git cat-file -p 532d9258310ee0a4eef › tree 6d189a0b90cb07212e7b7aee837c90fc7595a147 parent d8a9265c9c69cd401ee5a02b0bb1681f6d19cc12 author Chris Kelly 1413955530 -0400 committer Chris Kelly 1413955530 -0400 Add header

Slide 50

Slide 50 text

! git cat-file -p 6d189a0b90cb07212e7 › 100644 blob 5c217fa6d7f5536f958193e9cb04a8d4db588db6 LICENSE 040000 tree a2fe4c0988d4ad5b5637f09ab5874972328cb563 include 100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 source.c

Slide 51

Slide 51 text

! git cat-file -p a2fe4c0988d4ad5b563 › 100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 header.h

Slide 52

Slide 52 text

! git cat-file -p e69de29bb2d1d6434b8 › /********************************************************************** header.h - $Author$ created at: Sun 10 12:06:15 Jun JST 2007 Copyright (C) 2007-2008 Yukihiro Matsumoto **********************************************************************/ #ifndef RUBY_H #define RUBY_H 1 #define HAVE_RUBY_DEFINES_H 1 #define HAVE_RUBY_ENCODING_H 1

Slide 53

Slide 53 text

! commit 532d92 tree 6d189a parent d8a926 author Chris committer Chris Add header tree 6d189a tree a2fe4c include blob 5c217f LICENSE blob e69de2 source.c tree a2fe4c0 blob e69de2 header.h blob e69de29 /******************** header.h - $Author$ created at: blob 5c217f Apache v2 blob e69de2 /******************** source.c -

Slide 54

Slide 54 text

! ! References available upon request.

Slide 55

Slide 55 text

! ! tree .git/refs › .git/refs ├── heads └── tags

Slide 56

Slide 56 text

! ! git update-ref \ refs/heads/master 532d92 ›

Slide 57

Slide 57 text

! ! git log master › commit 532d9258310ee0a4eefcbd52e152dbf0238d9e63 Author: Chris Kelly Date: Wed Oct 12 01:25:30 2014 -0400 Add header commit d8a9265c9c69cd401ee5a02b0bb1681f6d19cc12 Author: Chris Kelly Date: Wed Oct 12 01:17:08 2014 -0400 Initial commit

Slide 58

Slide 58 text

! ! cat .git/refs/heads/master › 532d9258310ee0a4eefcbd52e152dbf0238d9e63

Slide 59

Slide 59 text

! ! git update-ref \ refs/heads/initial d8a926 ›

Slide 60

Slide 60 text

! ! git log initial › commit d8a9265c9c69cd401ee5a02b0bb1681f6d19cc12 Author: Chris Kelly Date: Wed Oct 12 01:17:08 2014 -0400 Initial commit

Slide 61

Slide 61 text

! ! tree .git › .git ├── HEAD ├── config ├── description ├── hooks ├── info ├── objects │ ├── info │ └── pack └── refs ├── heads └── tags

Slide 62

Slide 62 text

! ! git checkout initial › cat .git/HEAD › ref: refs/heads/initial

Slide 63

Slide 63 text

! ! git update-ref \ refs/tags/v0.1 532d92 ›

Slide 64

Slide 64 text

! ! tree .git/refs › .git/refs ├── heads │ ├── initial │ └── master └── tags └── v0.1

Slide 65

Slide 65 text

! ! Getting code.

Slide 66

Slide 66 text

! ! company/project git clone company/proje › company/project local remote working

Slide 67

Slide 67 text

! ! company/project edit README.md › company/project local remote working README.md

Slide 68

Slide 68 text

! ! company/project git add README.md › company/project local remote working README.md

Slide 69

Slide 69 text

! ! company/project git commit › company/project local remote working README.md

Slide 70

Slide 70 text

! ! company/project git push origin master › company/project local remote working README.md README.md

Slide 71

Slide 71 text

! ! company/project git fetch origin master › company/project local remote working README.md README.md edit1 edit1

Slide 72

Slide 72 text

! ! company/project git pull origin master › company/project local remote working README.md README.md edit1 edit1 edit1 edit2 edit2 edit2

Slide 73

Slide 73 text

! ! › company/project company/project local remote working creator/project git remote add upstream creator

Slide 74

Slide 74 text

! ! › company/project company/project local remote working creator/project git fetch upstream edit3 edit3

Slide 75

Slide 75 text

! ! › company/project company/project local remote working creator/project git push origin master edit3 edit3 edit3 edit3

Slide 76

Slide 76 text

! ! GitHub Flow - Fork a repository - Create a feature branch - Make your changes - Push to your fork - Create a Pull Request

Slide 77

Slide 77 text

! ! Getting around.

Slide 78

Slide 78 text

! ! git log › commit 2f83b32f7123508239da5ed670a45e831d614ac7 Author: akr Date: Mon Oct 13 22:36:17 2014 +0000 update doc. commit 2f00c56eb78696dc30b7d218bd32f10b9e96028a Author: zzak Date: Mon Oct 13 20:16:07 2014 +0000 * ext/date/lib/date.rb: fix indent [ci skip]

Slide 79

Slide 79 text

! ! git show 2f83b32f712350 › git show 2f83b32f71 › git show 2f83b3 ›

Slide 80

Slide 80 text

! ! git show 2f83b32f712350 › git show v2.3 ›

Slide 81

Slide 81 text

! ! git log --pretty=format › 2f83b32 update doc. 2f00c56 * ext/date/lib/date.rb: fix indent [ci skip] 7ce520e * ext/tk/tcltklib.c: (experimental) support Tcl/Tk8.6.2. * ext/tk/extconf. 450307e * enum.c (nmin_run): max(n) and max_by(n) returns an array in descending 63fa57e * 2014-10-14 1f6fa32 ChangeLog: fix a typo for r47897. f77d22d common.mk: update-gems for older BASERUBY caa54c1 Revert r47899 8d7fa22 * lib/xmlrpc/parser.rb: added new parser class using libxml-ruby gem. [F 22e26d3 fix typo and spaces c66506e * lib/find.rb (Find.find): Call to_path for arguments to obtain strings. 89322aa * common.mk: use relative load path for bundled_gems directory. [Bug #10

Slide 82

Slide 82 text

! ! git show 2f00c56 › commit 2f00c56eb78696dc30b7d218bd32f10b9e96028a Author: zzak Date: Mon Oct 13 20:16:07 2014 +0000 * ext/date/lib/date.rb: fix indent [ci skip] diff --git a/ext/date/lib/date.rb b/ext/date/lib/date.rb index 83234f4..4268661 100644 --- a/ext/date/lib/date.rb +++ b/ext/date/lib/date.rb @@ -29,11 +29,11 @@ class Date when Infinity; return d <=> other.d

Slide 83

Slide 83 text

! ! git show › commit 2f00c56eb78696dc30b7d218bd32f10b9e96028a Author: zzak Date: Mon Oct 13 20:16:07 2014 +0000 * ext/date/lib/date.rb: fix indent [ci skip] diff --git a/ext/date/lib/date.rb b/ext/date/lib/date.rb index 83234f4..4268661 100644 --- a/ext/date/lib/date.rb +++ b/ext/date/lib/date.rb @@ -29,11 +29,11 @@ class Date when Infinity; return d <=> other.d HEAD^

Slide 84

Slide 84 text

! ! git show › commit 2f00c56eb78696dc30b7d218bd32f10b9e96028a Author: zzak Date: Mon Oct 13 20:16:07 2014 +0000 * ext/date/lib/date.rb: fix indent [ci skip] diff --git a/ext/date/lib/date.rb b/ext/date/lib/date.rb index 83234f4..4268661 100644 --- a/ext/date/lib/date.rb +++ b/ext/date/lib/date.rb @@ -29,11 +29,11 @@ class Date when Infinity; return d <=> other.d HEAD~3 commit 450307e38315f81c10d959054c49d8baed522027 Author: akr Date: Mon Oct 13 16:30:07 2014 +0000 * enum.c (nmin_run): max(n) and max_by(n) returns an array in descending order. [ruby-core:65452] Suggested by David Grayson. diff --git a/ChangeLog b/ChangeLog index faecb02..aa563ba 100644 --- a/ChangeLog +++ b/ChangeLog

Slide 85

Slide 85 text

! ! git show › HEAD~3 commit 450307e38315f81c10d959054c49d8baed522027 Author: akr Date: Mon Oct 13 16:30:07 2014 +0000 * enum.c (nmin_run): max(n) and max_by(n) returns an array in descending order. [ruby-core:65452] Suggested by David Grayson. diff --git a/ChangeLog b/ChangeLog index faecb02..aa563ba 100644 --- a/ChangeLog +++ b/ChangeLog ^^^

Slide 86

Slide 86 text

! ! git log master..fix › commit 834509194853859f92a40d949d83d9dc1c757cf6 Author: Chris Kelly Date: Wed Apr 16 14:50:26 2014 -0700 Fix text overflowing out of scroll view when soft wrapped

Slide 87

Slide 87 text

! ! git log › commit 834509194853859f92a40d949d83d9dc1c757cf6 Author: Chris Kelly Date: Wed Apr 16 14:50:26 2014 -0700 Fix text overflowing out of scroll view when soft wrapped ^master fix

Slide 88

Slide 88 text

! ! git log › commit 834509194853859f92a40d949d83d9dc1c757cf6 Author: Chris Kelly Date: Wed Apr 16 14:50:26 2014 -0700 Fix text overflowing out of scroll view when soft wrapped fix ^master

Slide 89

Slide 89 text

! ! git log › commit 834509194853859f92a40d949d83d9dc1c757cf6 Author: Chris Kelly Date: Wed Apr 16 14:50:26 2014 -0700 Fix text overflowing out of scroll view when soft wrapped fix --not maste

Slide 90

Slide 90 text

! ! git log fix fix2 ^maste › commit 7a5dcdde4939c254f79bb737d31ed6c75117a8dd Author: Chris Kelly Date: Thu Oct 13 11:49:12 2014 +0100 Breaking stuff commit 834509194853859f92a40d949d83d9dc1c757cf6 Author: Chris Kelly Date: Wed Apr 16 14:50:26 2014 -0700 Fix text overflowing out of scroll view when soft wrapped

Slide 91

Slide 91 text

! ! git show 8345091 › commit 834509194853859f92a40d949d83d9dc1c757cf6 Author: Chris Kelly Date: Wed Apr 16 14:50:26 2014 -0700 Fix text overflowing out of scroll view when soft wrapped diff --git a/stylesheets/zen.less b/stylesheets/zen.less index 5b5cf64..786ec25 100644 --- a/stylesheets/zen.less +++ b/stylesheets/zen.less @@ -14,6 +14,10 @@ width: 700px;

Slide 92

Slide 92 text

! ! git lol fix..master › 36ffb49 2014-10-10 (HEAD, master) width is configurable [Chris Wanstrath] f8e758c 2014-10-10 (v0.8.0) Prepare 0.8.0 release [Chris Wanstrath] 0434992 2014-10-10 fix config names [Chris Wanstrath] 9a0f4d8 2014-10-10 (v0.7.0) Prepare 0.7.0 release [Chris Wanstrath] 4f5b8a2 2014-10-10 :lipstick: [Chris Wanstrath] e187c92 2014-10-10 Reorganize enter / exit code a bit. [Chris Wanstrath] 9265568 2014-10-10 Piggy-back on preferredLineLength in the config [Chris Wanstrat 7da2ae0 2014-10-10 Default width to editor.preferredLineLength [Chris Wanstrath] a4c4a02 2014-10-10 Make width configurable [Chris Wanstrath] cea10c6 2014-10-10 :lipstick: [Chris Wanstrath] 6637c13 2014-10-10 Hide the TreeView so people can unhide it. [Chris Wanstrath] 9057633 2014-10-10 remove soft wrap testing comment [Chris Wanstrath]

Slide 93

Slide 93 text

! ! git log \ origin/master..HEAD ›

Slide 94

Slide 94 text

! ! git log gc.c › commit a223ff83b07061fe6b7259a72041c4adcc87421b Author: nagachika Date: Sat Aug 30 16:29:40 2014 +0000 merge revision(s) r46387: [Backport #9607] * gc.c: change full GC timing to keep lower memory usage. Extend heap only at (1) after major GC or (2) after several (two times, at current) minor GC Details in https://bugs.ruby-lang.org/issues/9607#note-9

Slide 95

Slide 95 text

! ! git lol gc.c --since=1.month.ago › 2ccf728 2014-09-23 (HEAD, origin/ruby_2_1, ruby_2_1) merge revision(s) r47696,r476 ee69bb4 2014-09-23 merge revision(s) r47641,r47642,r47644: [Backport #10262] [naga c8ec78c 2014-09-23 merge revision(s) r47683: [Backport #10281] [nagachika] 77ce45d 2014-09-23 merge revision(s) r47111,r47212,r47451,r47452,r47680: [Backpor 7693578 2014-09-23 * version.h (RUBY_VERSION): bump RUBY_VERSION to 2.1.4. [nagach

Slide 96

Slide 96 text

! ! https://github.com/atom/atom/compare/master...ns-immutable-display-state

Slide 97

Slide 97 text

! ! https://github.com/atom/atom/compare/ns-immutable-display-state...master

Slide 98

Slide 98 text

! !

Slide 99

Slide 99 text

! !

Slide 100

Slide 100 text

! Stop working & start playing.

Slide 101

Slide 101 text

! git status › # On branch long-branch # Changes to be committed: # (use "git reset HEAD ..." to unstage) # # modified: lib/zen.coffee # # Changes not staged for commit: # (use "git add ..." to update what will be committed) # (use "git checkout -- ..." to discard changes in working directory) # # modified: menus/zen.cson #

Slide 102

Slide 102 text

! git stash › Saved working directory and index state WIP on long-branch: 36ffb49 width is confi HEAD is now at 36ffb49 width is configurable

Slide 103

Slide 103 text

! git status › # On branch long-branch nothing to commit, working directory clean

Slide 104

Slide 104 text

! git stash list › stash@{0}: WIP on long-branch: 36ffb49 width is configurable stash@{1}: WIP on long-branch: 36ffb49 width is configurable

Slide 105

Slide 105 text

! git stash › # On branch some-other-branch # Changes not staged for commit: # (use "git add ..." to update what will be committed) # (use "git checkout -- ..." to discard changes in working directory) # # modified: lib/zen.coffee # modified: menus/zen.cson # no changes added to commit (use "git add" and/or "git commit -a") apply pop

Slide 106

Slide 106 text

! git branch boyscout ›

Slide 107

Slide 107 text

! git reset master^^^ --hard › HEAD is now at abcc6b1 rip staff1.rs

Slide 108

Slide 108 text

! git checkout boyscout › Switched to branch 'boyscout'

Slide 109

Slide 109 text

! git checkout fix -- path/file.md ›

Slide 110

Slide 110 text

! git checkout HEAD -- README.md ›

Slide 111

Slide 111 text

! git checkout -- README.md ›

Slide 112

Slide 112 text

! git checkout -f master › Switched to branch 'master'

Slide 113

Slide 113 text

! git reset --hard HEAD › HEAD is now at bcc8845 width is configurable

Slide 114

Slide 114 text

! git reset --hard HEAD^^^ › HEAD is now at 9bd382b Prepare 0.7.0 release

Slide 115

Slide 115 text

! git update-ref \ refs/heads/experiment bcc884 ›

Slide 116

Slide 116 text

! git status › On branch experiment Changes to be committed: (use "git reset HEAD ..." to unstage) modified: README.md new file: keymaps/zen.cson deleted: keymaps/zen.darwin.cson deleted: keymaps/zen.linux.cson deleted: keymaps/zen.win32.cson modified: lib/zen.coffee modified: stylesheets/zen.less

Slide 117

Slide 117 text

! git revert 6767ce1 › [experiment 54f3848] Revert "Updated README" 1 file changed, 1 insertion(+), 1 deletion(-)

Slide 118

Slide 118 text

! git revert 54f3848 › [experiment 8b7885f] Revert "Revert "Updated README"" 1 file changed, 1 insertion(+), 1 deletion(-)

Slide 119

Slide 119 text

! git revert 54f3848 › [experiment 8b7885f] 1 file changed, 1 insertion(+), 1 deletion(-) Revert "Revert "Updated README"" I have no idea what I'm doing

Slide 120

Slide 120 text

! Diff to the second degree.

Slide 121

Slide 121 text

! ack -i zen › keymaps/zen.cson 2: 'ctrl-shift-cmd-F': 'zen:toggle' 3: 'cmd-ctrl-z': 'zen:toggle' 5: 'ctrl-shift-cmd-F': 'zen:toggle' 6: 'cmd-ctrl-z': 'zen:toggle' 9: 'shift-f11': 'zen:toggle' 10: 'ctrl-shift-Z': 'zen:toggle' 12: 'shift-f11': 'zen:toggle' 13: 'ctrl-shift-Z': 'zen:toggle' 16: 'shift-f11': 'zen:toggle' 17: 'ctrl-shift-Z': 'zen:toggle' 19: 'shift-f11': 'zen:toggle'

Slide 122

Slide 122 text

! find . -not -path \ '*/\.*' -type f -exec \ sed -i '' \ s/zen/focused/ {} + ›

Slide 123

Slide 123 text

! git diff › diff --git a/keymaps/zen.cson b/keymaps/zen.cson index 3784f7c..2f53ded 100644 --- a/keymaps/zen.cson +++ b/keymaps/zen.cson @@ -1,20 +1,20 @@ '.platform-darwin .workspace': - 'ctrl-shift-cmd-F': 'zen:toggle' - 'cmd-ctrl-z': 'zen:toggle' + 'ctrl-shift-cmd-F': 'focused:toggle' + 'cmd-ctrl-z': 'focused:toggle' '.platform-darwin .workspace .editor:not(.mini)': - 'ctrl-shift-cmd-F': 'zen:toggle'

Slide 124

Slide 124 text

! ack -i zen › lib/zen.coffee 14: fullscreen = atom.config.get 'Zen.fullscreen' 15: width = atom.config.get 'Zen.width' 21: # Enter Zen 47: # Exit Zen menus/zen.cson 6: 'label': 'Zen' package.json 2: "name": “Zen”,

Slide 125

Slide 125 text

! git stash › Saved working directory and index state WIP on master: 36ffb49 width is configurab HEAD is now at 36ffb49 width is configurable

Slide 126

Slide 126 text

! find . -not -path \ '*/\.*' -type f -exec \ sed -i '' \ -e s/zen/focused/ \ -e s/Zen/Focused/ {} + ›

Slide 127

Slide 127 text

! git diff stash@{0} › diff --git a/README.md b/README.md index 945bbd4..6ccb26a 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Zen +# Focused Distraction free writing for Atom. @@ -7,7 +7,7 @@ fullscreen command: - `cmd-ctrl-shift-F` on OSX

Slide 128

Slide 128 text

! Committing is communicating.

Slide 129

Slide 129 text

! git commit -m “fixed” › [master f93a0fe] fixed 7 files changed, 47 insertions(+), 47 deletions(-) rewrite keymaps/zen.cson (60%)

Slide 130

Slide 130 text

! git show HEAD › commit f93a0fe0833d22d1c045e323b5e4aab22b25f4ee Author: Chris Kelly Date: Thu Oct 13 13:26:58 2014 +0100 fixed diff --git a/README.md b/README.md index 945bbd4..6ccb26a 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Zen

Slide 131

Slide 131 text

! git reset HEAD^ › Unstaged changes after reset: M README.md M keymaps/zen.cson M lib/zen.coffee M menus/zen.cson M package.json M spec/zen-spec.coffee M stylesheets/zen.less

Slide 132

Slide 132 text

! git commit › 1 2 # Please enter the commit message for your changes. Lines starting 3 # with '#' will be ignored, and an empty message aborts the commit. 4 # On branch master 5 # Your branch is ahead of 'origin/master' by 29 commits. 6 # (use "git push" to publish your local commits) 7 # 8 # Changes to be committed: 9 # (use "git reset HEAD ..." to unstage) 10 # 11 #>......modified: README.md 12 #>......modified: keymaps/zen.cson 1 Rename package to Focused 2 3 There is already a package in the Atom packages named Zen. Even though the 4 existing package only outputs haiku-on-command, the owner is a friend. This 5 patch replaces all instances of 'zen|Zen' with 'focused|Focused'. If you 6 don't like the name, you can pick a new one and run: 7 8 find . -not -path '*/\.*' \ 9 -type f \ 10 -exec sed -i '' \ 11 -e s/zen/focused/ \ 12 -e s/Zen/Focused/ {} +

Slide 133

Slide 133 text

! git format-patch -n HEA › From d0f5920b3a27f2152394571cf2b1f82f118cd1fe Mon Sep 17 00:00:00 2001 From: Chris Kelly Date: Thu, 13 Oct 2014 13:30:56 +0100 Subject: [PATCH 1/1] Rename package to Focused There is already a package in the Atom packages named Zen. Even though the existing package only outputs haiku-on-command, the owner is a friend. This patch replaces all instances of 'zen|Zen' with 'focused|Focused'. If you don't like the name, you can pick a new one and run: find . -not -path '*/\.*' \ -type f \

Slide 134

Slide 134 text

! git add -p › diff --git a/README.md b/README.md index 945bbd4..6ccb26a 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Zen +# Focused Distraction free writing for Atom. Stage this hunk [y,n,q,a,d,/,j,J,g,e,?]?

Slide 135

Slide 135 text

! ? › y - stage this hunk n - do not stage this hunk q - quit; do not stage this hunk nor any of the remaining ones / - search for a hunk matching the given regex J - leave this hunk undecided, see next hunk K - leave this hunk undecided, see previous hunk s - split the current hunk into smaller hunks e - manually edit the current hunk ? - print help

Slide 136

Slide 136 text

! git commit -m "Callback › [master 1953833] Callback handler fixed 2 files changed, 12 insertions(+), 12 deletions(-)

Slide 137

Slide 137 text

! git log › commit 4e05bc85139f0fceb2e1e60ec3b6732cc38e9f3f Author: Chris Kelly Date: Thu Oct 13 14:08:55 2014 +0100 Rename main function commit 19538336d7c63097fc865f7b017c48c5b5e93d8d Author: Chris Kelly Date: Thu Oct 13 14:08:35 2014 +0100 Callback handler fixed

Slide 138

Slide 138 text

! git rebase -i HEAD~4 › 1 pick e8f500d Fix order of specs 2 pick 6017931 Styles tweaked 3 pick 63a108c Callback handler fixed 4 pick eb4f7b9 Rename main function 5 6 # Rebase 36ffb49..eb4f7b9 onto 36ffb49 7 # 8 # Commands: 9 # p, pick = use commit 10 # r, reword = use commit, but edit the commit message 11 # e, edit = use commit, but stop for amending 12 # s, squash = use commit, but meld into previous commit 1 pick e8f500d Fix order of specs 2 squash 6017931 Styles tweaked 3 pick 63a108c Callback handler fixed 4 squash eb4f7b9 Rename main function 5 6 # Rebase 36ffb49..eb4f7b9 onto 36ffb49 7 # 8 # Commands: 9 # p, pick = use commit 10 # r, reword = use commit, but edit the commit message 11 # e, edit = use commit, but stop for amending 12 # s, squash = use commit, but meld into previous commit 1 # This is a combination of 2 commits. 2 # The first commit's message is: 3 4 Fix order of specs 5 6 Update function 7 8 Styles tweaked 9 10 Rename main function 11 12 # This is the 2nd commit message: [detached HEAD b442281] Rename package to Focused 7 files changed, 46 insertions(+), 46 deletions(-) rewrite keymaps/zen.cson (60%) Successfully rebased and updated refs/heads/master.

Slide 139

Slide 139 text

! git rebase --abort ›

Slide 140

Slide 140 text

! git commit --amend › 1 FIx typo 2 3 # Please enter the commit message for your changes. Lines starting 4 # with '#' will be ignored, and an empty message aborts the commit. 5 # On branch master 6 # Your branch is ahead of 'origin/master' by 27 commits. 7 # (use "git push" to publish your local commits) 8 # 9 # Changes to be committed: 10 # (use "git reset HEAD^1 ..." to unstage) 11 # 12 #>......modified: README.md

Slide 141

Slide 141 text

! ! Bisect for debugging.

Slide 142

Slide 142 text

! ! a98e343 2013-12-17 vm_trace.c: isolate exceptions [nobu] 8859ff1 2013-12-17 configure.in: add $CPPFLAGS [nobu] 2f346cb 2013-12-17 configure.in: use $DTRACE [nobu] ef9ea04 2013-12-17 configure.in: move opt-dir option [nobu] 5ea9849 2013-12-17 gc.c: prototype [nobu] 7a24660 2013-12-17 Makefile.in, configure.in: cppflags [nobu] 7c51c8f 2013-12-17 configure.in: build probes with systemtap's dtrace wrapper [tmm1] e80f2c1 2013-12-16 * lib/rubygems: Update to RubyGems master 1c5f4b3. Allows rubygems repackagers to disable backward-compatible shared gem directory behavior. * test/rubygems: 45c858d 2013-12-16 * 2013-12-17 [svn] 14e213c 2013-12-16 * NEWS (RDoc): Update version number so I don't have to change it for the final release. [drbrain] 26e425e 2013-12-16 hash.c: typo [nobu] 4210568 2013-12-16 fix typos [kazu] 9931920 2013-12-16 * NEWS: mention about Hash#reject. [nobu] 0988148 2013-12-16 hash.c: warnings in rb_hash_reject [nobu] 6cd0d06 2013-12-16 hash.c: refactor loop [nobu] 62c7356 2013-12-16 test_process.rb: fix for 32bit platforms [nobu] c560193 2013-12-16 class.c: fix option hash [nobu] 5515c56 2013-12-16 test_io.rb: IO.write test [nobu] 9ae9f7c 2013-12-16 * gc.c (rb_objspace_markable_object_p): should check special_const_p first (by is_markable_object()). [ko1] d4f80bd 2013-12-16 * ext/objspace/objspace.c (reachable_object_from_root_i): use compare_by_identity hash to avoid hash modify problem during iteration. [Bug #9252] * ext/objspac 295fe99 2013-12-16 * sample/exyacc.rb: Fix typo in a variable name [a_matsuda] f89bd95 2013-12-16 * remove trailing spaces. [nobu] 8d254db 2013-12-16 * gc.c (gc_verify_internal_consistency): should not use rb_objspace_each_objects() because it call rest_sweep(). [ko1] 1a209e4 2013-12-16 * gc.c (rb_objspace_markable_object_p): fix last commit (build error). [ko1] 1779f77 2013-12-16 * gc.c (rb_objspace_markable_object_p): it should be live objects. [ko1] 60b7bd2 2013-12-16 * gc.c (rb_objspace_each_objects): should not clear dont_lazy_sweep flag in nested case. [ko1] d8eb7f3 2013-12-16 * vm_method.c (rb_method_entry_make): fix WB miss. Note that rb_method_entry_t::klass is not constified. We may constify this field. * test/ruby/test_alias.rb: c3405de 2013-12-16 * ChangeLog: [DOC] Fix typo [a_matsuda] 4fcdce3 2013-12-16 * remove trailing spaces. [nobu] c979a67 2013-12-16 * gc.c: use gc_verify_internal_consistency() instead of gc_check_before_marks_i() for check consistency on RGENGC_CHECK_MODE >= 2. [ko1] 2a73294 2013-12-16 * process.c (make_clock_result): add :second as a unit for Process.clock_gettime. [naruse] b7cbdcc 2013-12-16 suppress warning: SAFE=3 does no sandboxing [naruse] dfa892a 2013-12-16 * gc.c: introduce GC.verify_internal_consistency method to verify GC internal data structure. Now this method only checks geneartion (old/young) consistency. [ko d87de08 2013-12-16 typo: wheb -> when [tmm1] ef6c90f 2013-12-16 * 2013-12-16 [svn] 99df7a1 2013-12-16 gc.c: fix build with RGENGC_ESTIMATE_OLDMALLOC=0 [tmm1] 0e52301 2013-12-15 test_logger.rb: fix system dependent test [nobu] 0bb4934 2013-12-15 test_dir.rb: fix system dependent test [nobu] 1448b0a 2013-12-15 * ext/objspace/objspace.c (reachable_object_from_root_i): reachable objects should not include categories and 6c9a3cb 2013-12-15 * lib/rubygems/basic_specification.rb (class Gem): Revert r44213, it causes SystemStackError for bundler [drbrain] b3348dd 2013-12-14 envutil.rb: reduce wait [nobu] b464418 2013-12-14 test_process.rb: handshake [nobu]

Slide 143

Slide 143 text

! ! git bisect start › git bisect bad › git bisect good v2.3 ›

Slide 144

Slide 144 text

! ! a98e343 2013-12-17 vm_trace.c: isolate exceptions [nobu] 8859ff1 2013-12-17 configure.in: add $CPPFLAGS [nobu] 2f346cb 2013-12-17 configure.in: use $DTRACE [nobu] ef9ea04 2013-12-17 configure.in: move opt-dir option [nobu] 5ea9849 2013-12-17 gc.c: prototype [nobu] 7a24660 2013-12-17 Makefile.in, configure.in: cppflags [nobu] 7c51c8f 2013-12-17 configure.in: build probes with systemtap's dtrace wrapper [tmm1] e80f2c1 2013-12-16 * lib/rubygems: Update to RubyGems master 1c5f4b3. Allows rubygems repackagers to disable backward-compatible shared gem directory behavior. * test/rubygems: 45c858d 2013-12-16 * 2013-12-17 [svn] 14e213c 2013-12-16 * NEWS (RDoc): Update version number so I don't have to change it for the final release. [drbrain] 26e425e 2013-12-16 hash.c: typo [nobu] 4210568 2013-12-16 fix typos [kazu] 9931920 2013-12-16 * NEWS: mention about Hash#reject. [nobu] 0988148 2013-12-16 hash.c: warnings in rb_hash_reject [nobu] 6cd0d06 2013-12-16 hash.c: refactor loop [nobu] 62c7356 2013-12-16 test_process.rb: fix for 32bit platforms [nobu] c560193 2013-12-16 class.c: fix option hash [nobu] 5515c56 2013-12-16 test_io.rb: IO.write test [nobu] 9ae9f7c 2013-12-16 * gc.c (rb_objspace_markable_object_p): should check special_const_p first (by is_markable_object()). [ko1] d4f80bd 2013-12-16 * ext/objspace/objspace.c (reachable_object_from_root_i): use compare_by_identity hash to avoid hash modify problem during iteration. [Bug #9252] * ext/objspac 295fe99 2013-12-16 * sample/exyacc.rb: Fix typo in a variable name [a_matsuda] f89bd95 2013-12-16 * remove trailing spaces. [nobu] 8d254db 2013-12-16 * gc.c (gc_verify_internal_consistency): should not use rb_objspace_each_objects() because it call rest_sweep(). [ko1] 1a209e4 2013-12-16 * gc.c (rb_objspace_markable_object_p): fix last commit (build error). [ko1] 1779f77 2013-12-16 * gc.c (rb_objspace_markable_object_p): it should be live objects. [ko1] 60b7bd2 2013-12-16 * gc.c (rb_objspace_each_objects): should not clear dont_lazy_sweep flag in nested case. [ko1] d8eb7f3 2013-12-16 * vm_method.c (rb_method_entry_make): fix WB miss. Note that rb_method_entry_t::klass is not constified. We may constify this field. * test/ruby/test_alias.rb: c3405de 2013-12-16 * ChangeLog: [DOC] Fix typo [a_matsuda] 4fcdce3 2013-12-16 * remove trailing spaces. [nobu] c979a67 2013-12-16 * gc.c: use gc_verify_internal_consistency() instead of gc_check_before_marks_i() for check consistency on RGENGC_CHECK_MODE >= 2. [ko1] 2a73294 2013-12-16 * process.c (make_clock_result): add :second as a unit for Process.clock_gettime. [naruse] b7cbdcc 2013-12-16 suppress warning: SAFE=3 does no sandboxing [naruse] dfa892a 2013-12-16 * gc.c: introduce GC.verify_internal_consistency method to verify GC internal data structure. Now this method only checks geneartion (old/young) consistency. [ko d87de08 2013-12-16 typo: wheb -> when [tmm1] ef6c90f 2013-12-16 * 2013-12-16 [svn] 99df7a1 2013-12-16 gc.c: fix build with RGENGC_ESTIMATE_OLDMALLOC=0 [tmm1] 0e52301 2013-12-15 test_logger.rb: fix system dependent test [nobu] 0bb4934 2013-12-15 test_dir.rb: fix system dependent test [nobu] 1448b0a 2013-12-15 * ext/objspace/objspace.c (reachable_object_from_root_i): reachable objects should not include categories and 6c9a3cb 2013-12-15 * lib/rubygems/basic_specification.rb (class Gem): Revert r44213, it causes SystemStackError for bundler [drbrain] b3348dd 2013-12-14 envutil.rb: reduce wait [nobu] b464418 2013-12-14 test_process.rb: handshake [nobu] git bisect start ›

Slide 145

Slide 145 text

! ! a98e343 2013-12-17 vm_trace.c: isolate exceptions [nobu] 8859ff1 2013-12-17 configure.in: add $CPPFLAGS [nobu] 2f346cb 2013-12-17 configure.in: use $DTRACE [nobu] ef9ea04 2013-12-17 configure.in: move opt-dir option [nobu] 5ea9849 2013-12-17 gc.c: prototype [nobu] 7a24660 2013-12-17 Makefile.in, configure.in: cppflags [nobu] 7c51c8f 2013-12-17 configure.in: build probes with systemtap's dtrace wrapper [tmm1] e80f2c1 2013-12-16 * lib/rubygems: Update to RubyGems master 1c5f4b3. Allows rubygems repackagers to disable backward-compatible shared gem directory behavior. * test/rubygems: 45c858d 2013-12-16 * 2013-12-17 [svn] 14e213c 2013-12-16 * NEWS (RDoc): Update version number so I don't have to change it for the final release. [drbrain] 26e425e 2013-12-16 hash.c: typo [nobu] 4210568 2013-12-16 fix typos [kazu] 9931920 2013-12-16 * NEWS: mention about Hash#reject. [nobu] 0988148 2013-12-16 hash.c: warnings in rb_hash_reject [nobu] 6cd0d06 2013-12-16 hash.c: refactor loop [nobu] 62c7356 2013-12-16 test_process.rb: fix for 32bit platforms [nobu] c560193 2013-12-16 class.c: fix option hash [nobu] 5515c56 2013-12-16 test_io.rb: IO.write test [nobu] 9ae9f7c 2013-12-16 * gc.c (rb_objspace_markable_object_p): should check special_const_p first (by is_markable_object()). [ko1] d4f80bd 2013-12-16 * ext/objspace/objspace.c (reachable_object_from_root_i): use compare_by_identity hash to avoid hash modify problem during iteration. [Bug #9252] * ext/objspac 295fe99 2013-12-16 * sample/exyacc.rb: Fix typo in a variable name [a_matsuda] f89bd95 2013-12-16 * remove trailing spaces. [nobu] 8d254db 2013-12-16 * gc.c (gc_verify_internal_consistency): should not use rb_objspace_each_objects() because it call rest_sweep(). [ko1] 1a209e4 2013-12-16 * gc.c (rb_objspace_markable_object_p): fix last commit (build error). [ko1] 1779f77 2013-12-16 * gc.c (rb_objspace_markable_object_p): it should be live objects. [ko1] 60b7bd2 2013-12-16 * gc.c (rb_objspace_each_objects): should not clear dont_lazy_sweep flag in nested case. [ko1] d8eb7f3 2013-12-16 * vm_method.c (rb_method_entry_make): fix WB miss. Note that rb_method_entry_t::klass is not constified. We may constify this field. * test/ruby/test_alias.rb: c3405de 2013-12-16 * ChangeLog: [DOC] Fix typo [a_matsuda] 4fcdce3 2013-12-16 * remove trailing spaces. [nobu] c979a67 2013-12-16 * gc.c: use gc_verify_internal_consistency() instead of gc_check_before_marks_i() for check consistency on RGENGC_CHECK_MODE >= 2. [ko1] 2a73294 2013-12-16 * process.c (make_clock_result): add :second as a unit for Process.clock_gettime. [naruse] b7cbdcc 2013-12-16 suppress warning: SAFE=3 does no sandboxing [naruse] dfa892a 2013-12-16 * gc.c: introduce GC.verify_internal_consistency method to verify GC internal data structure. Now this method only checks geneartion (old/young) consistency. [ko d87de08 2013-12-16 typo: wheb -> when [tmm1] ef6c90f 2013-12-16 * 2013-12-16 [svn] 99df7a1 2013-12-16 gc.c: fix build with RGENGC_ESTIMATE_OLDMALLOC=0 [tmm1] 0e52301 2013-12-15 test_logger.rb: fix system dependent test [nobu] 0bb4934 2013-12-15 test_dir.rb: fix system dependent test [nobu] 1448b0a 2013-12-15 * ext/objspace/objspace.c (reachable_object_from_root_i): reachable objects should not include categories and 6c9a3cb 2013-12-15 * lib/rubygems/basic_specification.rb (class Gem): Revert r44213, it causes SystemStackError for bundler [drbrain] b3348dd 2013-12-14 envutil.rb: reduce wait [nobu] b464418 2013-12-14 test_process.rb: handshake [nobu] git bisect bad ›

Slide 146

Slide 146 text

! ! a98e343 2013-12-17 vm_trace.c: isolate exceptions [nobu] 8859ff1 2013-12-17 configure.in: add $CPPFLAGS [nobu] 2f346cb 2013-12-17 configure.in: use $DTRACE [nobu] ef9ea04 2013-12-17 configure.in: move opt-dir option [nobu] 5ea9849 2013-12-17 gc.c: prototype [nobu] 7a24660 2013-12-17 Makefile.in, configure.in: cppflags [nobu] 7c51c8f 2013-12-17 configure.in: build probes with systemtap's dtrace wrapper [tmm1] e80f2c1 2013-12-16 * lib/rubygems: Update to RubyGems master 1c5f4b3. Allows rubygems repackagers to disable backward-compatible shared gem directory behavior. * test/rubygems: 45c858d 2013-12-16 * 2013-12-17 [svn] 14e213c 2013-12-16 * NEWS (RDoc): Update version number so I don't have to change it for the final release. [drbrain] 26e425e 2013-12-16 hash.c: typo [nobu] 4210568 2013-12-16 fix typos [kazu] 9931920 2013-12-16 * NEWS: mention about Hash#reject. [nobu] 0988148 2013-12-16 hash.c: warnings in rb_hash_reject [nobu] 6cd0d06 2013-12-16 hash.c: refactor loop [nobu] 62c7356 2013-12-16 test_process.rb: fix for 32bit platforms [nobu] c560193 2013-12-16 class.c: fix option hash [nobu] 5515c56 2013-12-16 test_io.rb: IO.write test [nobu] 9ae9f7c 2013-12-16 * gc.c (rb_objspace_markable_object_p): should check special_const_p first (by is_markable_object()). [ko1] d4f80bd 2013-12-16 * ext/objspace/objspace.c (reachable_object_from_root_i): use compare_by_identity hash to avoid hash modify problem during iteration. [Bug #9252] * ext/objspac 295fe99 2013-12-16 * sample/exyacc.rb: Fix typo in a variable name [a_matsuda] f89bd95 2013-12-16 * remove trailing spaces. [nobu] 8d254db 2013-12-16 * gc.c (gc_verify_internal_consistency): should not use rb_objspace_each_objects() because it call rest_sweep(). [ko1] 1a209e4 2013-12-16 * gc.c (rb_objspace_markable_object_p): fix last commit (build error). [ko1] 1779f77 2013-12-16 * gc.c (rb_objspace_markable_object_p): it should be live objects. [ko1] 60b7bd2 2013-12-16 * gc.c (rb_objspace_each_objects): should not clear dont_lazy_sweep flag in nested case. [ko1] d8eb7f3 2013-12-16 * vm_method.c (rb_method_entry_make): fix WB miss. Note that rb_method_entry_t::klass is not constified. We may constify this field. * test/ruby/test_alias.rb: c3405de 2013-12-16 * ChangeLog: [DOC] Fix typo [a_matsuda] 4fcdce3 2013-12-16 * remove trailing spaces. [nobu] c979a67 2013-12-16 * gc.c: use gc_verify_internal_consistency() instead of gc_check_before_marks_i() for check consistency on RGENGC_CHECK_MODE >= 2. [ko1] 2a73294 2013-12-16 * process.c (make_clock_result): add :second as a unit for Process.clock_gettime. [naruse] b7cbdcc 2013-12-16 suppress warning: SAFE=3 does no sandboxing [naruse] dfa892a 2013-12-16 * gc.c: introduce GC.verify_internal_consistency method to verify GC internal data structure. Now this method only checks geneartion (old/young) consistency. [ko d87de08 2013-12-16 typo: wheb -> when [tmm1] ef6c90f 2013-12-16 * 2013-12-16 [svn] 99df7a1 2013-12-16 gc.c: fix build with RGENGC_ESTIMATE_OLDMALLOC=0 [tmm1] 0e52301 2013-12-15 test_logger.rb: fix system dependent test [nobu] 0bb4934 2013-12-15 test_dir.rb: fix system dependent test [nobu] 1448b0a 2013-12-15 * ext/objspace/objspace.c (reachable_object_from_root_i): reachable objects should not include categories and 6c9a3cb 2013-12-15 * lib/rubygems/basic_specification.rb (class Gem): Revert r44213, it causes SystemStackError for bundler [drbrain] b3348dd 2013-12-14 envutil.rb: reduce wait [nobu] b464418 2013-12-14 test_process.rb: handshake [nobu] git bisect good v3.2 › Bisecting: 36 revisions l

Slide 147

Slide 147 text

! ! a98e343 2013-12-17 vm_trace.c: isolate exceptions [nobu] 8859ff1 2013-12-17 configure.in: add $CPPFLAGS [nobu] 2f346cb 2013-12-17 configure.in: use $DTRACE [nobu] ef9ea04 2013-12-17 configure.in: move opt-dir option [nobu] 5ea9849 2013-12-17 gc.c: prototype [nobu] 7a24660 2013-12-17 Makefile.in, configure.in: cppflags [nobu] 7c51c8f 2013-12-17 configure.in: build probes with systemtap's dtrace wrapper [tmm1] e80f2c1 2013-12-16 * lib/rubygems: Update to RubyGems master 1c5f4b3. Allows rubygems repackagers to disable backward-compatible shared gem directory behavior. * test/rubygems: 45c858d 2013-12-16 * 2013-12-17 [svn] 14e213c 2013-12-16 * NEWS (RDoc): Update version number so I don't have to change it for the final release. [drbrain] 26e425e 2013-12-16 hash.c: typo [nobu] 4210568 2013-12-16 fix typos [kazu] 9931920 2013-12-16 * NEWS: mention about Hash#reject. [nobu] 0988148 2013-12-16 hash.c: warnings in rb_hash_reject [nobu] 6cd0d06 2013-12-16 hash.c: refactor loop [nobu] 62c7356 2013-12-16 test_process.rb: fix for 32bit platforms [nobu] c560193 2013-12-16 class.c: fix option hash [nobu] 5515c56 2013-12-16 test_io.rb: IO.write test [nobu] 9ae9f7c 2013-12-16 * gc.c (rb_objspace_markable_object_p): should check special_const_p first (by is_markable_object()). [ko1] d4f80bd 2013-12-16 * ext/objspace/objspace.c (reachable_object_from_root_i): use compare_by_identity hash to avoid hash modify problem during iteration. [Bug #9252] * ext/objspac 295fe99 2013-12-16 * sample/exyacc.rb: Fix typo in a variable name [a_matsuda] f89bd95 2013-12-16 * remove trailing spaces. [nobu] 8d254db 2013-12-16 * gc.c (gc_verify_internal_consistency): should not use rb_objspace_each_objects() because it call rest_sweep(). [ko1] 1a209e4 2013-12-16 * gc.c (rb_objspace_markable_object_p): fix last commit (build error). [ko1] 1779f77 2013-12-16 * gc.c (rb_objspace_markable_object_p): it should be live objects. [ko1] 60b7bd2 2013-12-16 * gc.c (rb_objspace_each_objects): should not clear dont_lazy_sweep flag in nested case. [ko1] d8eb7f3 2013-12-16 * vm_method.c (rb_method_entry_make): fix WB miss. Note that rb_method_entry_t::klass is not constified. We may constify this field. * test/ruby/test_alias.rb: c3405de 2013-12-16 * ChangeLog: [DOC] Fix typo [a_matsuda] 4fcdce3 2013-12-16 * remove trailing spaces. [nobu] c979a67 2013-12-16 * gc.c: use gc_verify_internal_consistency() instead of gc_check_before_marks_i() for check consistency on RGENGC_CHECK_MODE >= 2. [ko1] 2a73294 2013-12-16 * process.c (make_clock_result): add :second as a unit for Process.clock_gettime. [naruse] b7cbdcc 2013-12-16 suppress warning: SAFE=3 does no sandboxing [naruse] dfa892a 2013-12-16 * gc.c: introduce GC.verify_internal_consistency method to verify GC internal data structure. Now this method only checks geneartion (old/young) consistency. [ko d87de08 2013-12-16 typo: wheb -> when [tmm1] ef6c90f 2013-12-16 * 2013-12-16 [svn] 99df7a1 2013-12-16 gc.c: fix build with RGENGC_ESTIMATE_OLDMALLOC=0 [tmm1] 0e52301 2013-12-15 test_logger.rb: fix system dependent test [nobu] 0bb4934 2013-12-15 test_dir.rb: fix system dependent test [nobu] 1448b0a 2013-12-15 * ext/objspace/objspace.c (reachable_object_from_root_i): reachable objects should not include categories and 6c9a3cb 2013-12-15 * lib/rubygems/basic_specification.rb (class Gem): Revert r44213, it causes SystemStackError for bundler [drbrain] b3348dd 2013-12-14 envutil.rb: reduce wait [nobu] b464418 2013-12-14 test_process.rb: handshake [nobu] git bisect bad › Bisecting: 18 revisions l

Slide 148

Slide 148 text

! ! a98e343 2013-12-17 vm_trace.c: isolate exceptions [nobu] 8859ff1 2013-12-17 configure.in: add $CPPFLAGS [nobu] 2f346cb 2013-12-17 configure.in: use $DTRACE [nobu] ef9ea04 2013-12-17 configure.in: move opt-dir option [nobu] 5ea9849 2013-12-17 gc.c: prototype [nobu] 7a24660 2013-12-17 Makefile.in, configure.in: cppflags [nobu] 7c51c8f 2013-12-17 configure.in: build probes with systemtap's dtrace wrapper [tmm1] e80f2c1 2013-12-16 * lib/rubygems: Update to RubyGems master 1c5f4b3. Allows rubygems repackagers to disable backward-compatible shared gem directory behavior. * test/rubygems: 45c858d 2013-12-16 * 2013-12-17 [svn] 14e213c 2013-12-16 * NEWS (RDoc): Update version number so I don't have to change it for the final release. [drbrain] 26e425e 2013-12-16 hash.c: typo [nobu] 4210568 2013-12-16 fix typos [kazu] 9931920 2013-12-16 * NEWS: mention about Hash#reject. [nobu] 0988148 2013-12-16 hash.c: warnings in rb_hash_reject [nobu] 6cd0d06 2013-12-16 hash.c: refactor loop [nobu] 62c7356 2013-12-16 test_process.rb: fix for 32bit platforms [nobu] c560193 2013-12-16 class.c: fix option hash [nobu] 5515c56 2013-12-16 test_io.rb: IO.write test [nobu] 9ae9f7c 2013-12-16 * gc.c (rb_objspace_markable_object_p): should check special_const_p first (by is_markable_object()). [ko1] d4f80bd 2013-12-16 * ext/objspace/objspace.c (reachable_object_from_root_i): use compare_by_identity hash to avoid hash modify problem during iteration. [Bug #9252] * ext/objspac 295fe99 2013-12-16 * sample/exyacc.rb: Fix typo in a variable name [a_matsuda] f89bd95 2013-12-16 * remove trailing spaces. [nobu] 8d254db 2013-12-16 * gc.c (gc_verify_internal_consistency): should not use rb_objspace_each_objects() because it call rest_sweep(). [ko1] 1a209e4 2013-12-16 * gc.c (rb_objspace_markable_object_p): fix last commit (build error). [ko1] 1779f77 2013-12-16 * gc.c (rb_objspace_markable_object_p): it should be live objects. [ko1] 60b7bd2 2013-12-16 * gc.c (rb_objspace_each_objects): should not clear dont_lazy_sweep flag in nested case. [ko1] d8eb7f3 2013-12-16 * vm_method.c (rb_method_entry_make): fix WB miss. Note that rb_method_entry_t::klass is not constified. We may constify this field. * test/ruby/test_alias.rb: c3405de 2013-12-16 * ChangeLog: [DOC] Fix typo [a_matsuda] 4fcdce3 2013-12-16 * remove trailing spaces. [nobu] c979a67 2013-12-16 * gc.c: use gc_verify_internal_consistency() instead of gc_check_before_marks_i() for check consistency on RGENGC_CHECK_MODE >= 2. [ko1] 2a73294 2013-12-16 * process.c (make_clock_result): add :second as a unit for Process.clock_gettime. [naruse] b7cbdcc 2013-12-16 suppress warning: SAFE=3 does no sandboxing [naruse] dfa892a 2013-12-16 * gc.c: introduce GC.verify_internal_consistency method to verify GC internal data structure. Now this method only checks geneartion (old/young) consistency. [ko d87de08 2013-12-16 typo: wheb -> when [tmm1] ef6c90f 2013-12-16 * 2013-12-16 [svn] 99df7a1 2013-12-16 gc.c: fix build with RGENGC_ESTIMATE_OLDMALLOC=0 [tmm1] 0e52301 2013-12-15 test_logger.rb: fix system dependent test [nobu] 0bb4934 2013-12-15 test_dir.rb: fix system dependent test [nobu] 1448b0a 2013-12-15 * ext/objspace/objspace.c (reachable_object_from_root_i): reachable objects should not include categories and 6c9a3cb 2013-12-15 * lib/rubygems/basic_specification.rb (class Gem): Revert r44213, it causes SystemStackError for bundler [drbrain] b3348dd 2013-12-14 envutil.rb: reduce wait [nobu] b464418 2013-12-14 test_process.rb: handshake [nobu] git bisect good › Bisecting: 9 revisions le

Slide 149

Slide 149 text

! ! a98e343 2013-12-17 vm_trace.c: isolate exceptions [nobu] 8859ff1 2013-12-17 configure.in: add $CPPFLAGS [nobu] 2f346cb 2013-12-17 configure.in: use $DTRACE [nobu] ef9ea04 2013-12-17 configure.in: move opt-dir option [nobu] 5ea9849 2013-12-17 gc.c: prototype [nobu] 7a24660 2013-12-17 Makefile.in, configure.in: cppflags [nobu] 7c51c8f 2013-12-17 configure.in: build probes with systemtap's dtrace wrapper [tmm1] e80f2c1 2013-12-16 * lib/rubygems: Update to RubyGems master 1c5f4b3. Allows rubygems repackagers to disable backward-compatible shared gem directory behavior. * test/rubygems: 45c858d 2013-12-16 * 2013-12-17 [svn] 14e213c 2013-12-16 * NEWS (RDoc): Update version number so I don't have to change it for the final release. [drbrain] 26e425e 2013-12-16 hash.c: typo [nobu] 4210568 2013-12-16 fix typos [kazu] 9931920 2013-12-16 * NEWS: mention about Hash#reject. [nobu] 0988148 2013-12-16 hash.c: warnings in rb_hash_reject [nobu] 6cd0d06 2013-12-16 hash.c: refactor loop [nobu] 62c7356 2013-12-16 test_process.rb: fix for 32bit platforms [nobu] c560193 2013-12-16 class.c: fix option hash [nobu] 5515c56 2013-12-16 test_io.rb: IO.write test [nobu] 9ae9f7c 2013-12-16 * gc.c (rb_objspace_markable_object_p): should check special_const_p first (by is_markable_object()). [ko1] d4f80bd 2013-12-16 * ext/objspace/objspace.c (reachable_object_from_root_i): use compare_by_identity hash to avoid hash modify problem during iteration. [Bug #9252] * ext/objspac 295fe99 2013-12-16 * sample/exyacc.rb: Fix typo in a variable name [a_matsuda] f89bd95 2013-12-16 * remove trailing spaces. [nobu] 8d254db 2013-12-16 * gc.c (gc_verify_internal_consistency): should not use rb_objspace_each_objects() because it call rest_sweep(). [ko1] 1a209e4 2013-12-16 * gc.c (rb_objspace_markable_object_p): fix last commit (build error). [ko1] 1779f77 2013-12-16 * gc.c (rb_objspace_markable_object_p): it should be live objects. [ko1] 60b7bd2 2013-12-16 * gc.c (rb_objspace_each_objects): should not clear dont_lazy_sweep flag in nested case. [ko1] d8eb7f3 2013-12-16 * vm_method.c (rb_method_entry_make): fix WB miss. Note that rb_method_entry_t::klass is not constified. We may constify this field. * test/ruby/test_alias.rb: c3405de 2013-12-16 * ChangeLog: [DOC] Fix typo [a_matsuda] 4fcdce3 2013-12-16 * remove trailing spaces. [nobu] c979a67 2013-12-16 * gc.c: use gc_verify_internal_consistency() instead of gc_check_before_marks_i() for check consistency on RGENGC_CHECK_MODE >= 2. [ko1] 2a73294 2013-12-16 * process.c (make_clock_result): add :second as a unit for Process.clock_gettime. [naruse] b7cbdcc 2013-12-16 suppress warning: SAFE=3 does no sandboxing [naruse] dfa892a 2013-12-16 * gc.c: introduce GC.verify_internal_consistency method to verify GC internal data structure. Now this method only checks geneartion (old/young) consistency. [ko d87de08 2013-12-16 typo: wheb -> when [tmm1] ef6c90f 2013-12-16 * 2013-12-16 [svn] 99df7a1 2013-12-16 gc.c: fix build with RGENGC_ESTIMATE_OLDMALLOC=0 [tmm1] 0e52301 2013-12-15 test_logger.rb: fix system dependent test [nobu] 0bb4934 2013-12-15 test_dir.rb: fix system dependent test [nobu] 1448b0a 2013-12-15 * ext/objspace/objspace.c (reachable_object_from_root_i): reachable objects should not include categories and 6c9a3cb 2013-12-15 * lib/rubygems/basic_specification.rb (class Gem): Revert r44213, it causes SystemStackError for bundler [drbrain] b3348dd 2013-12-14 envutil.rb: reduce wait [nobu] b464418 2013-12-14 test_process.rb: handshake [nobu] git bisect bad › Bisecting: 4 revisions le

Slide 150

Slide 150 text

! ! a98e343 2013-12-17 vm_trace.c: isolate exceptions [nobu] 8859ff1 2013-12-17 configure.in: add $CPPFLAGS [nobu] 2f346cb 2013-12-17 configure.in: use $DTRACE [nobu] ef9ea04 2013-12-17 configure.in: move opt-dir option [nobu] 5ea9849 2013-12-17 gc.c: prototype [nobu] 7a24660 2013-12-17 Makefile.in, configure.in: cppflags [nobu] 7c51c8f 2013-12-17 configure.in: build probes with systemtap's dtrace wrapper [tmm1] e80f2c1 2013-12-16 * lib/rubygems: Update to RubyGems master 1c5f4b3. Allows rubygems repackagers to disable backward-compatible shared gem directory behavior. * test/rubygems: 45c858d 2013-12-16 * 2013-12-17 [svn] 14e213c 2013-12-16 * NEWS (RDoc): Update version number so I don't have to change it for the final release. [drbrain] 26e425e 2013-12-16 hash.c: typo [nobu] 4210568 2013-12-16 fix typos [kazu] 9931920 2013-12-16 * NEWS: mention about Hash#reject. [nobu] 0988148 2013-12-16 hash.c: warnings in rb_hash_reject [nobu] 6cd0d06 2013-12-16 hash.c: refactor loop [nobu] 62c7356 2013-12-16 test_process.rb: fix for 32bit platforms [nobu] c560193 2013-12-16 class.c: fix option hash [nobu] 5515c56 2013-12-16 test_io.rb: IO.write test [nobu] 9ae9f7c 2013-12-16 * gc.c (rb_objspace_markable_object_p): should check special_const_p first (by is_markable_object()). [ko1] d4f80bd 2013-12-16 * ext/objspace/objspace.c (reachable_object_from_root_i): use compare_by_identity hash to avoid hash modify problem during iteration. [Bug #9252] * ext/objspac 295fe99 2013-12-16 * sample/exyacc.rb: Fix typo in a variable name [a_matsuda] f89bd95 2013-12-16 * remove trailing spaces. [nobu] 8d254db 2013-12-16 * gc.c (gc_verify_internal_consistency): should not use rb_objspace_each_objects() because it call rest_sweep(). [ko1] 1a209e4 2013-12-16 * gc.c (rb_objspace_markable_object_p): fix last commit (build error). [ko1] 1779f77 2013-12-16 * gc.c (rb_objspace_markable_object_p): it should be live objects. [ko1] 60b7bd2 2013-12-16 * gc.c (rb_objspace_each_objects): should not clear dont_lazy_sweep flag in nested case. [ko1] d8eb7f3 2013-12-16 * vm_method.c (rb_method_entry_make): fix WB miss. Note that rb_method_entry_t::klass is not constified. We may constify this field. * test/ruby/test_alias.rb: c3405de 2013-12-16 * ChangeLog: [DOC] Fix typo [a_matsuda] 4fcdce3 2013-12-16 * remove trailing spaces. [nobu] c979a67 2013-12-16 * gc.c: use gc_verify_internal_consistency() instead of gc_check_before_marks_i() for check consistency on RGENGC_CHECK_MODE >= 2. [ko1] 2a73294 2013-12-16 * process.c (make_clock_result): add :second as a unit for Process.clock_gettime. [naruse] b7cbdcc 2013-12-16 suppress warning: SAFE=3 does no sandboxing [naruse] dfa892a 2013-12-16 * gc.c: introduce GC.verify_internal_consistency method to verify GC internal data structure. Now this method only checks geneartion (old/young) consistency. [ko d87de08 2013-12-16 typo: wheb -> when [tmm1] ef6c90f 2013-12-16 * 2013-12-16 [svn] 99df7a1 2013-12-16 gc.c: fix build with RGENGC_ESTIMATE_OLDMALLOC=0 [tmm1] 0e52301 2013-12-15 test_logger.rb: fix system dependent test [nobu] 0bb4934 2013-12-15 test_dir.rb: fix system dependent test [nobu] 1448b0a 2013-12-15 * ext/objspace/objspace.c (reachable_object_from_root_i): reachable objects should not include categories and 6c9a3cb 2013-12-15 * lib/rubygems/basic_specification.rb (class Gem): Revert r44213, it causes SystemStackError for bundler [drbrain] b3348dd 2013-12-14 envutil.rb: reduce wait [nobu] b464418 2013-12-14 test_process.rb: handshake [nobu] git bisect good › 1779f77 is first bad comm

Slide 151

Slide 151 text

! ! a98e343 2013-12-17 vm_trace.c: isolate exceptions [nobu] 8859ff1 2013-12-17 configure.in: add $CPPFLAGS [nobu] 2f346cb 2013-12-17 configure.in: use $DTRACE [nobu] ef9ea04 2013-12-17 configure.in: move opt-dir option [nobu] 5ea9849 2013-12-17 gc.c: prototype [nobu] 7a24660 2013-12-17 Makefile.in, configure.in: cppflags [nobu] 7c51c8f 2013-12-17 configure.in: build probes with systemtap's dtrace wrapper [tmm1] e80f2c1 2013-12-16 * lib/rubygems: Update to RubyGems master 1c5f4b3. Allows rubygems repackagers to disable backward-compatible shared gem directory behavior. * test/rubygems: 45c858d 2013-12-16 * 2013-12-17 [svn] 14e213c 2013-12-16 * NEWS (RDoc): Update version number so I don't have to change it for the final release. [drbrain] 26e425e 2013-12-16 hash.c: typo [nobu] 4210568 2013-12-16 fix typos [kazu] 9931920 2013-12-16 * NEWS: mention about Hash#reject. [nobu] 0988148 2013-12-16 hash.c: warnings in rb_hash_reject [nobu] 6cd0d06 2013-12-16 hash.c: refactor loop [nobu] 62c7356 2013-12-16 test_process.rb: fix for 32bit platforms [nobu] c560193 2013-12-16 class.c: fix option hash [nobu] 5515c56 2013-12-16 test_io.rb: IO.write test [nobu] 9ae9f7c 2013-12-16 * gc.c (rb_objspace_markable_object_p): should check special_const_p first (by is_markable_object()). [ko1] d4f80bd 2013-12-16 * ext/objspace/objspace.c (reachable_object_from_root_i): use compare_by_identity hash to avoid hash modify problem during iteration. [Bug #9252] * ext/objspac 295fe99 2013-12-16 * sample/exyacc.rb: Fix typo in a variable name [a_matsuda] f89bd95 2013-12-16 * remove trailing spaces. [nobu] 8d254db 2013-12-16 * gc.c (gc_verify_internal_consistency): should not use rb_objspace_each_objects() because it call rest_sweep(). [ko1] 1a209e4 2013-12-16 * gc.c (rb_objspace_markable_object_p): fix last commit (build error). [ko1] 1779f77 2013-12-16 * gc.c (rb_objspace_markable_object_p): it should be live objects. [ko1] 60b7bd2 2013-12-16 * gc.c (rb_objspace_each_objects): should not clear dont_lazy_sweep flag in nested case. [ko1] d8eb7f3 2013-12-16 * vm_method.c (rb_method_entry_make): fix WB miss. Note that rb_method_entry_t::klass is not constified. We may constify this field. * test/ruby/test_alias.rb: c3405de 2013-12-16 * ChangeLog: [DOC] Fix typo [a_matsuda] 4fcdce3 2013-12-16 * remove trailing spaces. [nobu] c979a67 2013-12-16 * gc.c: use gc_verify_internal_consistency() instead of gc_check_before_marks_i() for check consistency on RGENGC_CHECK_MODE >= 2. [ko1] 2a73294 2013-12-16 * process.c (make_clock_result): add :second as a unit for Process.clock_gettime. [naruse] b7cbdcc 2013-12-16 suppress warning: SAFE=3 does no sandboxing [naruse] dfa892a 2013-12-16 * gc.c: introduce GC.verify_internal_consistency method to verify GC internal data structure. Now this method only checks geneartion (old/young) consistency. [ko d87de08 2013-12-16 typo: wheb -> when [tmm1] ef6c90f 2013-12-16 * 2013-12-16 [svn] 99df7a1 2013-12-16 gc.c: fix build with RGENGC_ESTIMATE_OLDMALLOC=0 [tmm1] 0e52301 2013-12-15 test_logger.rb: fix system dependent test [nobu] 0bb4934 2013-12-15 test_dir.rb: fix system dependent test [nobu] 1448b0a 2013-12-15 * ext/objspace/objspace.c (reachable_object_from_root_i): reachable objects should not include categories and 6c9a3cb 2013-12-15 * lib/rubygems/basic_specification.rb (class Gem): Revert r44213, it causes SystemStackError for bundler [drbrain] b3348dd 2013-12-14 envutil.rb: reduce wait [nobu] b464418 2013-12-14 test_process.rb: handshake [nobu] git bisect reset ›

Slide 152

Slide 152 text

! ! Cleanliness is next to Godliness.

Slide 153

Slide 153 text

! ! git branch --merged › fix-soft-wrapped-text-overflow rename-package * master

Slide 154

Slide 154 text

! ! git branch --no-merged › long-running-branch experiment-that-failed hot-fix

Slide 155

Slide 155 text

! ! git branch -d hot-fix › error: The branch 'hot-fix' is not fully merged. If you are sure you want to delete it, run 'git branch -D hot-fix'.

Slide 156

Slide 156 text

! ! git branch --merged | \ grep -v "\*" | \ xargs -n 1 \ git branch -d && git push origin --delete ›

Slide 157

Slide 157 text

! ! › long-running-branch experiment-that-failed hot-fix git remote prune origin --dry-run

Slide 158

Slide 158 text

! Laziness is next to Godliness.

Slide 159

Slide 159 text

! git commit -m “Fixes #42” › Fix, Fixes, Fixed Close, Closes, Closed Resolve, Resolves, Resolved

Slide 160

Slide 160 text

! git commit -m \ “Fixes defunkt/zen#42” ›

Slide 161

Slide 161 text

! git commit -m \ “Update README [ci skip]” ›

Slide 162

Slide 162 text

! git status › # On branch master # Your branch is ahead of 'origin/master' by 26 commits. # (use "git push" to publish your local commits) # # Changes not staged for commit: # (use "git add ..." to update what will be committed) # (use "git checkout -- ..." to discard changes in working directory) # # modified: README.md # modified: keymaps/zen.cson # modified: lib/zen.coffee # modified: menus/zen.cson

Slide 163

Slide 163 text

! git status -sb › ## master...origin/master [ahead 26] M README.md M keymaps/zen.cson M lib/zen.coffee M menus/zen.cson M package.json M spec/zen-spec.coffee M stylesheets/zen.less

Slide 164

Slide 164 text

! git config --global \ alias.st 'status -sb' ›

Slide 165

Slide 165 text

! git status › # On branch master # Your branch is ahead of 'origin/master' by 26 commits. # (use "git push" to publish your local commits) # # Changes to be committed: # (use "git reset HEAD ..." to unstage) # # modified: README.md # # Changes not staged for commit: # (use "git add ..." to update what will be committed) # (use "git checkout -- ..." to discard changes in working directory)

Slide 166

Slide 166 text

! git diff --staged › diff --git a/README.md b/README.md index 945bbd4..6ccb26a 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Zen +# Focused Distraction free writing for Atom. @@ -7,7 +7,7 @@ fullscreen command: - `cmd-ctrl-shift-F` on OSX

Slide 167

Slide 167 text

! git config --global \ alias.ds 'diff --staged‘ ›

Slide 168

Slide 168 text

! ~/Repos/zen/ on master* with unpushed [(03:10 PM) amateurhuman@tillandisa] ›

Slide 169

Slide 169 text

! ~/Repos/zen/ on master* with unpushed [(03:10 PM) amateurhuman@tillandisa] › git_branch() { echo $(/usr/bin/git symbolic-ref HEAD 2>/dev/null \ | awk -F/ {'print $NF'}) }

Slide 170

Slide 170 text

! ~/Repos/zen/ on master* with unpushed [(03:10 PM) amateurhuman@tillandisa] › git_dirty() { st=$(/usr/bin/git status 2>/dev/null | tail -n 1) if [[ $st == "" ]] then echo "" else if [[ $st == "nothing to commit, working directory clean" ]] then echo "on %{$fg[green]%}$(git_prompt_info)%{$reset_color%}" else echo "on %{$fg[yellow]%}$(git_prompt_info)*%{$reset_color%}" fi fi }

Slide 171

Slide 171 text

! ~/Repos/zen/ on master* with unpushed [(03:10 PM) amateurhuman@tillandisa] › unpushed () { /usr/bin/git cherry -v origin/$(git_branch) 2>/dev/null } need_push () { if [[ $(unpushed) == "" ]] then echo " " else echo " with %{$fg[magenta]%}unpushed%{$reset_color%} " fi }

Slide 172

Slide 172 text

! Keyboard Shortcuts.

Slide 173

Slide 173 text

! t

Slide 174

Slide 174 text

! w

Slide 175

Slide 175 text

! l

Slide 176

Slide 176 text

! y

Slide 177

Slide 177 text

! - fuzzy match a file - switch branches - highlight line number(s) - get the permanent url t w l y HTTPS://HELP.GITHUB.COM/ARTICLES/USING-KEYBOARD-SHORTCUTS

Slide 178

Slide 178 text

! Let the machines do the work.

Slide 179

Slide 179 text

!

Slide 180

Slide 180 text

!

Slide 181

Slide 181 text

!

Slide 182

Slide 182 text

!

Slide 183

Slide 183 text

!

Slide 184

Slide 184 text

! Real teams communicate.

Slide 185

Slide 185 text

! 447

Slide 186

Slide 186 text

!

Slide 187

Slide 187 text

!

Slide 188

Slide 188 text

! Email isn’t dead.

Slide 189

Slide 189 text

!

Slide 190

Slide 190 text

!

Slide 191

Slide 191 text

! ! Git is there to help.

Slide 192

Slide 192 text

! ! Git is your friend.

Slide 193

Slide 193 text

! ! Git is sometimes your drunk friend.

Slide 194

Slide 194 text

! ! training.github.com

Slide 195

Slide 195 text

! ! Thank you.

Slide 196

Slide 196 text

! ! @amateurhuman QUESTIONS?