Files
atom/docs/talk.txt
2012-01-12 16:03:31 -08:00

61 lines
2.3 KiB
Plaintext

vision:
-extensible
- web technology
- built-in syntactic awareness
- github integration - can serve as a community sponsor / focal point
-real time collaboration
- github has made coding social, but it' like email
- now we can make coding social like campfire, real time
- scenario 1: (collaborating) you're on a team. in your editor you see your teammates and can effortlessly join them in their working copy
- can message someone for help, lower barrier of interruption
- fluid pairing... easily transition from soloing to working together, without unplugging keyboards or changing desks
- benefits of pivotal, digitized
- scenario 2: (learning / sharing) imagine two haskell programmers, or authors of a library you are pairing on, and allow you to come watch them... think of what you could learn from their conversation
- imagine search for commits involving the work "Riak" that are broadcast, now you see it working
- code instant replay... don't just read a commit, watch a commit
- mud vs mmorpg analogy
example:
- cascading keymaps
- command-t
- extension, example of ckm (up and down)
- vim
theory:
parsing expression grammars and doing it in real time (NS)
--------
why do we need another editor?
- ease of extensibility
- javascript / web tech
web is new lingua franca has emerged in the last decade... a common language / set of patterns for application dev
- many current extensible editors are older than us
- syntactic awareness: middle ground between vim/textmate and eclipse/intelli-j/visual studio
- collaboration
deep github integration...
github is async collaboration... this would be synchronous
replaying the actual keystrokes of code being written or a pairing session to understand why it was done that way
--------------
pair programming:
pros:
raid array for team knowledge
reduced ego, a sense of collective ownership
learning opportunity... someone can add value on day 1
explaining your thinking can make it clearer
continuous code review
cons:
handcuffed to your pair because you're using one computer
friction between starting and stopping
simple/wrote tasks might not need a pair, but how do you transition between pairing and soloing?
same physical location at the same time