Expert in the following
programming languages:
Unix, Emacs, Perl and Ruby
Slide 17
Slide 17 text
The Don Juan of IT in
Bulgaria
Slide 18
Slide 18 text
No content
Slide 19
Slide 19 text
No content
Slide 20
Slide 20 text
First time in Brazil!
Slide 21
Slide 21 text
Second time in Brazil!
Slide 22
Slide 22 text
No content
Slide 23
Slide 23 text
No content
Slide 24
Slide 24 text
No content
Slide 25
Slide 25 text
First time in São Paulo!
Slide 26
Slide 26 text
First time at a conference in
Brazil!
Slide 27
Slide 27 text
Cultural Exchange
Slide 28
Slide 28 text
No content
Slide 29
Slide 29 text
No content
Slide 30
Slide 30 text
No content
Slide 31
Slide 31 text
No content
Slide 32
Slide 32 text
No content
Slide 33
Slide 33 text
No content
Slide 34
Slide 34 text
No content
Slide 35
Slide 35 text
No content
Slide 36
Slide 36 text
No content
Slide 37
Slide 37 text
No content
Slide 38
Slide 38 text
Population of São Paulo:
12 (22) million
Slide 39
Slide 39 text
Population of Bulgaria:
7 million
Slide 40
Slide 40 text
Artur Malabarba
Slide 41
Slide 41 text
No content
Slide 42
Slide 42 text
No content
Slide 43
Slide 43 text
@bbatsov
Slide 44
Slide 44 text
metaredux.com
Slide 45
Slide 45 text
emacsredux.com
Slide 46
Slide 46 text
slide intentionally
left blank
Slide 47
Slide 47 text
Cider?
Slide 48
Slide 48 text
No content
Slide 49
Slide 49 text
No content
Slide 50
Slide 50 text
Clojure
Interactive
Development
Environment that
Rocks
Slide 51
Slide 51 text
… for Emacs
Slide 52
Slide 52 text
CIDER Distilled:
Beyond emacs
Slide 53
Slide 53 text
CIDER’s Architecture
Slide 54
Slide 54 text
No content
Slide 55
Slide 55 text
No content
Slide 56
Slide 56 text
No content
Slide 57
Slide 57 text
No content
Slide 58
Slide 58 text
CIDER’s Orchard
Slide 59
Slide 59 text
Orchard?
Slide 60
Slide 60 text
No content
Slide 61
Slide 61 text
noun
1. a piece of enclosed land planted with fruit
trees.
an apple orchard
2. (in the context of Clojure) a fertile ground for
Clojure tooling.
CIDER’s Orchard
Case Study:
Improving ClojureScript code
completion for everyone
Slide 114
Slide 114 text
cljs-tooling => compliment
Slide 115
Slide 115 text
clj-suitable
Slide 116
Slide 116 text
No content
Slide 117
Slide 117 text
slide intentionally
left blank
Slide 118
Slide 118 text
Language Server Protocol
Slide 119
Slide 119 text
No content
Slide 120
Slide 120 text
LSP or nREPL?
Slide 121
Slide 121 text
•You can run them side by side
•You can implement LSP in terms of nREPL
•You can proxy nREPL requests to an LSP server
•You can implement LSP in terms of the same
underlying libraries*
Slide 122
Slide 122 text
No content
Slide 123
Slide 123 text
The State of Affairs
Slide 124
Slide 124 text
The Challenges
Slide 125
Slide 125 text
25%
5%
70%
Yes Maybe
I already have Notepad No
Do you want great Clojure development tools?
Slide 126
Slide 126 text
69%
25%
5%
1%
Yes Maybe
I already have Notepad No
Are you willing to work on Clojure development tools?
Slide 127
Slide 127 text
Few maintainers,
many libraries
Slide 128
Slide 128 text
Areas of Interest
•sayid
•refactor-nrepl
Slide 129
Slide 129 text
ClojureScript
Slide 130
Slide 130 text
Areas of Interest
•Piggieback
•cider-nrepl
•orchard
•compliment
•weasel
Slide 131
Slide 131 text
Where’s my hammock time?
Slide 132
Slide 132 text
Inconsistent APIs
Slide 133
Slide 133 text
Documentation
Slide 134
Slide 134 text
cljdoc
Slide 135
Slide 135 text
https://docs.cider.mx
Slide 136
Slide 136 text
https://nrepl.org
Slide 137
Slide 137 text
AsciiDoc + Antora
Slide 138
Slide 138 text
Funding
Slide 139
Slide 139 text
No content
Slide 140
Slide 140 text
2013-2017 (estimated)
•$5000 in donations
•~3000 hours of work on the projects
Slide 141
Slide 141 text
Definition of Work
•Writing code
•Reviewing code
•Discussing ideas
•Educating myself so I can write/review code and discuss
ideas
•Supporting end users via Slack, email, etc
•Collaborating with other tool authors