Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Celebrate ClojureX with CIDER!

Celebrate ClojureX with CIDER!

Slide-deck from my presentation at ClojureX 2017 in London.

1be785d1d788b82929e55fc83a9f0aaa?s=128

Bozhidar Batsov

December 05, 2017
Tweet

Transcript

  1. None
  2. M-x

  3. Hey there!

  4. Божидар

  5. Bozhidar

  6. Bug cool

  7. None
  8. None
  9. None
  10. None
  11. None
  12. None
  13. None
  14. None
  15. Sofia, Bulgaria

  16. None
  17. None
  18. Then (2015++)

  19. Now (2017)

  20. @bbatsov

  21. The CIDER Guy

  22. Chief Brewing Officer @ CIDER’s Brewery

  23. Celebrate clojurex with Cider

  24. None
  25. Clojure Interactive Development Environment that Rocks

  26. … for Emacs

  27. None
  28. None
  29. None
  30. Sales Update

  31. None
  32. Customer Satisfaction

  33. 110%

  34. 1110%

  35. Customer Testimonials

  36. CIDER is like a box of chocolates. You never know

    what’s the error you’re going to get next. — Forest Grump
  37. People say the best debugger is a good night’s sleep.

    Well, it’s clear they haven’t used CIDER’s debugger. — Diana Prints
  38. The amount of articles you have to read to get

    CIDER working with ClojureScript is comparable to the size of “War and Peace”! — Luke Parenwalker
  39. Ever since I switched to Emacs and CIDER for Clojure

    development the local grocery store doubled the volume of alcohol they were selling monthly. — Mick Swagger
  40. CIDER can supposedly do everything, but I can’t figure out

    how to do anything with it. — Hairy Porter
  41. None
  42. ClojureX 2016

  43. CIDER 0.15 (london)

  44. None
  45. Spec Browser

  46. None
  47. None
  48. Stacktrace Improvements • Stacktraces in the REPL have clickable code

    locations • Project root namespace is highlighted in REPL stacktraces • You can filter a stacktrace to just the frames that are related to your project
  49. None
  50. Documentation improvements • Format nicely code blocks in Grimoire buffers

    • Support special forms in cider-apropos and cider-grimoire- lookup • Use view-mode for Grimoire buffers
  51. Misc • Reconnect to the same host & port after

    cider-restart • Enhanced ElDoc for Datamic queries (disabled by default) • Reader conditionals font-locking
  52. None
  53. None
  54. Misc • Make it possible to load all files in

    a project (cider-load-all- files) • Easier browsing of the REPL history (cider-repl-history) • Improved integration with compliment and fuzzy completion support for company-mode • Many new configuration options • Make the debugger more robust (no more “Method code too large!” errors)
  55. None
  56. CIDER 0.16 (Riga)

  57. None
  58. Deferred middleware loading

  59. Zero startup overhead from using cider-nrepl

  60. None
  61. In other news…

  62. clj-refactor

  63. clojure-mode

  64. inf-clojure

  65. None
  66. None
  67. inf-clojure 2.0 • Planck support • Lumo support • Socket

    REPL support (via inf-clojure-connect) • Font-locking in the REPL
  68. inf-clojure is too heavy and complex!

  69. None
  70. nREPL

  71. None
  72. nREPL is now FREE from the clojure-contrib!

  73. nREPL 0.3.0 will be a drop-in replacement for nREPL 0.2.13

  74. Contributing to nREPL is extremely easy now!

  75. Bug’s nREPL 1.0 wishlist

  76. Make Clojure 1.7 the minimum supported version

  77. Support ClojureScript natively

  78. Ability to inject middleware into a running nREPL server

  79. Refine and polish existing middleware

  80. Misc bugfixes and improvements

  81. And the best part - it’s all just Clojure! ;-)

  82. None
  83. https://github.com/cemerick/ nREPL

  84. The Future of CIDER

  85. CIDER 0.17

  86. Codename “Andalucía”

  87. Rework connection management https://github.com/clojure-emacs/cider/pull/2069

  88. Figure out what’s wrong with the TravisCI build with Emacs

    26
  89. Leverage a real EDN parser in Emacs (e.g. parseclj)

  90. None
  91. Frequently Asked Questions

  92. Q: Is There any roadmap for the future of CIDER?

  93. A: No, not really.

  94. Improved experience for newcomers

  95. More polished UI/UX

  96. Built-in refactoring

  97. Feature Parity between ClojureScript and Clojure

  98. Support for the Clojure 1.8 socket REPL

  99. Decouple CIDER from nREPL • Introduce some backend independent connection

    API in CIDER • Extract the nREPL client code to a separate library • Split cider-nrepl into a REPL-agnostic library and nREPL middleware leveraging it
  100. Roadmap = Plan + Time

  101. Roadmap = Plan + Time

  102. Q: Are there any plans to support unrepl?

  103. A: Only extremely vague ones.

  104. Q: Is conference-driven development still a thing?

  105. Conference-driven development

  106. Clojure/conj EuroClojure ClojureX ClojureRemote

  107. Clojure/west

  108. Bug’s break-up Rock-bottom

  109. A: Unfortunately not.

  110. None
  111. Q: Are you still drinking excessive amounts of alcohol?

  112. None
  113. Q: What holds CIDER back?

  114. Me • Crazy work-load • A ton of open-source project

    I’m involved with • A home remodeling gone wrong • I’m not doing much Clojure these days
  115. A lot of moving parts

  116. Few contributors

  117. No funding

  118. Lack of focus (competing efforts)

  119. Q: Have you considered doing a fundraising campaign for CIDER?

  120. A: Yeah, I have.

  121. Q: How can we help?

  122. A: Contribute!

  123. Felina

  124. Credits twitter: @bbatsov github: @bbatsov http//batsov.com http://emacsredux.com ClojureX 2017 London,

    United Kingdom 05.12.2017