This series about the notable changes in CIDER 2.0 continues with the change you’ll bump into first, whatever your workflow: the transient menus, and the broader push to make CIDER’s functionality discoverable. The problem: CIDER is huge CIDER has well over 300 interactive commands. I’ll admit something I’ve said before: there are features in CIDER that even I forget exist, and I wrote half of them. For users, historically, the options for finding functionality were: memorize cryptic key chords (C-c C-w i, anyone?) grep the (very long) manual read the source stumble on a feature by accident three years in and feel robbed That’s not great for a tool whose whole pitch is making you more productive. The Emacs answer to this problem was demonstrated years ago by Magit: transient menus, which turn every prefix into a self-documenting popup. It took us embarrassingly long to follow suit, but CIDER 2.0 finally does. Transient everywhere Every command group in CIDER now opens a transient menu: cider-eval-menu at C-c C-v, cider-doc-menu at C-c C-d, and likewise for test, namespace, macroexpand, profile, trace and references. A top-level cider-menu ties them all together, and even the debugger (? mid-session) and the inspector (m) got menus of their own. Jack-in and connect live in cider-start-menu at C-c C-x. One design constraint was non-negotiable: your muscle memory is safe. These menus replace bare prefix keymaps, so every existing keybinding works exactly as before, at full speed - C-c C-v e still evaluates instantly, menu or no menu. And if you’d rather not see the menus at all unless you actually hesitate mid-chord, set transient-show-popup to a short delay and they’ll appear only in that moment of doubt - which is precisely when you need them. Transient also gave us something the old keymaps never could: arguments. Menus now carry flags for the things that vary per invocation - pick a pretty-printer with --print-fn=, set test selectors with --include=/--exclude= and reuse them across runs, toggle cider-ns-refresh’s modes explicitly, pass Clojure CLI aliases at jack-in time. All those “this command behaves differently with a prefix argument” paragraphs in the manual are becoming visible checkboxes instead. Discovery beyond menus The menus are the headline, but the discoverability push in the 2.0 cycle went wider: A new keybindings reference page collects every binding in one place, and the printable refcard was brought back up to date. The REPL’s shouty welcome banner is gone, replaced by a one-line hint; the getting-started material now lives in a summonable reference card (C-c C-h, or the ,refcard REPL shortcut) - available when you want it, invisible when you don’t. CIDER now warns (once per session) when you use a deprecated keybinding, so bindings can actually be retired someday without silently breaking people. M-x cider-list-deprecated-keybindings shows what’s on the way out. The 1.22 cycle’s big audit already made the mode menus expose dozens of commands that were technically present but practically invisible; 2.0 builds on that foundation. Even cider-doctor is discoverability of a sort - it surfaces the problems in your setup that you’d otherwise discover one confusing bug report at a time. The philosophy If I had to compress the 2.0 discoverability work into one sentence: the features were always there; now the tool tells you about them. Documentation is where knowledge goes to be forgotten - the only reliable place to teach a user about a feature is inside the workflow itself, at the moment of hesitation. Transient menus are exactly that, and Magit proved the pattern scales to enormous command sets. If some menu feels wrong - a missing command, a flag that should exist, a grouping that doesn’t match how you think - please file an issue. This part of CIDER is young and very much open to feedback. The keybindings docs have the full picture. Keep hacking!
Source: https://metaredux.com/posts/2026/07/23/making-cider-more-discoverable.html. 8sync News only summarizes and links out; content copyright belongs to the authors and original sources.
Phiên bản 4.0 của clj-refactor.el vừa ra mắt, đánh dấu lần cập nhật lớn nhất sau gần năm năm với nhiều cải tiến đáng kể cho người dùng cùng những nâng cấp nội bộ lâu nay.
Lập trình viên Clojure nên đọc bài này vì phiên bản mới này mang đến những cải tiến mạnh mẽ và khắc phục nhiều hạn chế lâu năm trong công cụ refactoring tự động, giúp tối ưu hóa hiệu suất và chất lượng mã nguồn của dự án Clojure.
Nikita Prokopov (Niki), tác giả của FiraCode và DataScript, kết thúc thời gian nghỉ phép và đang tìm kiếm công việc toàn thời gian hoặc hợp đồng mới. Với hơn 20 năm kinh nghiệm, ông chuyên phát triển các sản phẩm kỹ thuật khó, công cụ dành cho nhà phát triển, cơ sở dữ liệu, và UI/UX. Ông đã đóng góp vào thuật toán đồng bộ của InstantDB, tối ưu cơ sở dữ liệu cho Roam Research, và bộ render Skia cho JetBrains Fleet, sẵn sàng đảm nhận các vai trò liên quan đến compilers, databases, IDEs, ngôn ngữ lập trình, đồ họa hoặc lập trình low-level.
Nếu bạn đang tìm kiếm cơ hội làm việc trong lĩnh vực công nghệ backend, lập trình công cụ phát triển hoặc thiết kế cơ sở dữ liệu, hãy đọc bài này để tìm kiếm những cơ hội phù hợp với kinh nghiệm chuyên sâu của Niki Prokopov trong những dự án tiên phong.
Bài viết so sánh các dialect Lisp hiện đại, giúp người đọc hiểu rõ sự khác biệt giữa chúng.
Lập trình viên nên đọc bài này để hiểu cách chọn lisp phù hợp với dự án hiện tại, từ những ưu điểm kỹ thuật đến tính tương thích với cộng đồng và công cụ phát triển hiện đại.
Phiên bản Sayid 0.8 vừa ra mắt, tập trung cải thiện trải nghiệm người dùng nhằm đơn giản hóa cách sử dụng công cụ. Đây là bản phát hành thứ ba kể từ khi Sayid được hồi sinh, sau những cập nhật trước chủ yếu nâng cấp engine.
Là người muốn nâng cao hiệu suất làm việc với Sayid mà không bị mất thời gian học tập trung vào các thao tác phức tạp, bạn nên đọc bài này để khám phá cách thiết kế giao diện và trải nghiệm người dùng được tối ưu hóa.
CIDER 2.0 ("Terceira") chính thức ra mắt sau hai tuần thử nghiệm, tập trung nâng cấp toàn diện các tính năng cốt lõi như macro stepping, kết quả giàu (rich results), cross-referencing, debugger, tracing, và trải nghiệm người dùng nhất quán hơn với transient menus. Phiên bản này sửa hàng loạt lỗi cũ (từ năm 2016-2020) như stdin, stacktraces, SSH tunnels, đồng thời bổ sung công cụ chẩn đoán cider-doctor và cải tiến tài liệu hướng dẫn. Mặc dù số phiên bản lớn, việc nâng cấp diễn ra suôn sẻ nhờ hệ thống alias cũ vẫn hoạt động.
Lập trình viên Clojure nên đọc bài này để khám phá cách CIDER 2.0 nâng tầm trải nghiệm phát triển bằng cách khắc phục những lỗi lâu năm, cải thiện tính nhất quán và hiệu suất của các công cụ như REPL, debugger, và hoàn thiện hệ thống theo gợi ý từ cộng đồng.
Drawbridge 0.4 vừa được phát hành sau 14 năm tồn tại trong tình trạng "bảo trì kỹ thuật". Dự án từng bị coi là bí ẩn nhất trong hệ sinh thái nREPL nhưng nay đang được nâng cấp để hiện thực hóa tiềm năng vốn có.
Lập trình viên nên đọc bài này để khám phá cách Drawbridge – một công cụ ít được biết đến nhưng có thể giải quyết những vấn đề kỹ thuật phức tạp trong việc tương tác với các hệ thống nREPL, giúp tối ưu hóa hiệu suất và khả năng mở rộng cho các ứng dụng lớn.
Thư viện Clojure nhẹ biff.graph giúp cấu trúc mô hình dữ liệu dưới dạng đồ thị truy vấn được, lấy cảm hứng từ Pathom nhưng đơn giản hơn. Nó cho phép định nghĩa các resolver với truy vấn đầu vào/đầu ra, thống nhất truy cập cơ sở dữ liệu và logic nghiệp vụ vào một đồ thị duy nhất, tích hợp sẵn xử lý traversal, caching, batching và hỗ trợ autogenerate từ schema cơ sở dữ liệu.
Lập trình viên cần đọc để khám phá cách xây dựng mô hình dữ liệu có thể truy vấn hiệu quả bằng cách kết hợp cơ sở dữ liệu và logic kinh doanh trong một cấu trúc đồ thị đơn giản, giúp tiết kiệm thời gian phát triển và bảo trì khi cần xử lý các truy vấn phức tạp.
MrAnderson 0.6 is released, a Clojure dependency inlining tool used by cider-nrepl to bundle private copies of dependencies that can't clash with user project dependencies. The release fixes several long-standing bugs including incorrect handling of records vs. namespace references (dash vs. underscore munging), over-eager import rewriting, mixed imports of deftype-generated and real Java classes, skipped import rewrites, broken load statement path rewriting, and a critical bug that could delete project sources. The release also adds a Leiningen-free entry point (mranderson.core/inline-deps) enabling use with tools.build, and improves test coverage for the Java class repackaging subsystem.
Read the news here, practice coding, follow structured courses and train for IELTS on our sibling products — all connected through one 8 Sync Dev account.
The ecosystem home: product overviews, blog and full pricing.
ExploreLearn along a clear roadmap: videos, auto-graded quizzes, certificates and mentors who ship for a living.
View the roadmap1,000+ DSA problems in Vietnamese, auto-graded across 7 languages — many FREE, right in your browser.
Practice for freeAI grading for all four IELTS skills with detailed rubric feedback.
Try it freeA 22 MB AI IDE for Vietnamese devs.
Download freeOrganizational memory for AI agents.
ExploreAI that staffs your Fanpage and qualifies leads for you.
Try it