56,966 blogs · [ { "id": "01a0821a-825b-705d-a04b-be3159e15c46", "title": "Neocaml 0.9: A Better REPL, Dune/Opam Completion, and More Robustness", "url": "https://batsov.com/articles/2026/06/24/neocaml-0-9-repl-completion-and-robustness/", "published_at": "2026-06-24T07:00:00+00:00" }, { "id": "01a0821a-825b-705d-a04b-be315a1b5591", "title": "Emacs loves AsciiDoc", "url": "https://batsov.com/articles/2026/06/11/emacs-loves-asciidoc/", "published_at": "2026-06-11T06:00:00+00:00" }, { "id": "01a0821a-825b-705d-a04b-be315a6d3eef", "title": "neat: a language-agnostic nREPL client for Emacs", "url": "https://batsov.com/articles/2026/05/20/neat-a-language-agnostic-nrepl-client-for-emacs/", "published_at": "2026-05-20T06:00:00+00:00" }, { "id": "01a08737-2da5-7185-bb5b-6a2bf19b2085", "title": "nREPL Forever", "url": "https://batsov.com/articles/2026/05/20/nrepl-forever/", "published_at": "2026-05-20T06:00:00+00:00" }, { "id": "01a0821a-825b-705d-a04b-be315aee7424", "title": "Port: a minimalist prepl client for Emacs", "url": "https://batsov.com/articles/2026/05/12/port-a-minimalist-prepl-client-for-emacs/", "published_at": "2026-05-12T06:00:00+00:00" }, { "id": "01a0821a-825b-705d-a04b-be315b9989e9", "title": "Batppuccin: My Take on Catppuccin for Emacs", "url": "https://batsov.com/articles/2026/03/29/batppuccin-my-take-on-catppuccin-for-emacs/", "published_at": "2026-03-29T07:00:00+00:00" }, { "id": "01a0821a-825b-705d-a04b-be315ba0bd1d", "title": "fsharp-ts-mode: A Modern Emacs Mode for F#", "url": "https://batsov.com/articles/2026/03/27/fsharp-ts-mode-a-modern-emacs-mode-for-fsharp/", "published_at": "2026-03-27T15:00:00+00:00" }, { "id": "01a0821a-825b-705d-a04b-be315c190cdf", "title": "Neocaml 0.6: Opam, Dune, and More", "url": "https://batsov.com/articles/2026/03/25/neocaml-0-6-opam-dune-and-more/", "published_at": "2026-03-25T08:00:00+00:00" }, { "id": "01a08737-2da5-7185-bb5b-6a2bf3740dc9", "title": "One Year with the HHKB: A Mini Review", "url": "https://batsov.com/articles/2026/03/18/one-year-with-the-hhkb/", "published_at": "2026-03-18T07:56:00+00:00" }, { "id": "01a08737-2da5-7185-bb5b-6a2bf41a2bbb", "title": "Essential Claude Code Skills and Commands", "url": "https://batsov.com/articles/2026/03/11/essential-claude-code-skills-and-commands/", "published_at": "2026-03-11T08:30:00+00:00" }, { "id": "01a0821a-825b-705d-a04b-be315c402d60", "title": "Emacs and Vim in the Age of AI", "url": "https://batsov.com/articles/2026/03/09/emacs-and-vim-in-the-age-of-ai/", "published_at": "2026-03-09T08:30:00+00:00" }, { "id": "01a0821a-825b-705d-a04b-be315c9e53db", "title": "Building Emacs Major Modes with Tree-sitter: Lessons Learned", "url": "https://batsov.com/articles/2026/02/27/building-emacs-major-modes-with-treesitter-lessons-learned/", "published_at": "2026-02-27T08:00:00+00:00" }, { "id": "01a0821a-825b-705d-a04b-be315cdbe29d", "title": "Setting up Emacs for OCaml Development: Neocaml Edition", "url": "https://batsov.com/articles/2026/02/24/setting-up-emacs-for-ocaml-development-neocaml-edition/", "published_at": "2026-02-24T10:00:00+00:00" } ] posts Claim your blog
Back to Bozhidar Batsov
Blog · corpus.blog/blogs/batsov.com/posts

Bozhidar Batsov

batsov.com

2026