Bozhidar Batsov
batsov.com · Personal blog · on HN since 2011
Bozhidar Batsov, creator of RuboCop, CIDER and Emacs Prelude, writes about Emacs, Ruby, and developer tools.
What HN saysCommenters recommend his Prelude distribution as a nearly zero-config way to start with Emacs, and link his posts on Emacs setup and package management.
66HN people shared it
24linked it in comments
83stories submitted
4.2Kstory points
5 months agolast shared
2011people per year2026
Most-shared posts
- 1An out-of-the-box Emacs bundle for programmers7 people · 1 points · first shared 2012 · discussion on HN
- 2Who Needs Modern Emacs?5 people · 20 points · first shared 2022 · 5 comments on HN
- 3Firefox is the alternative to a Chrome hegemony3 people · 1.4K points · first shared 2021 · 651 comments on HN
- 4RuboCop – A Ruby static code analyzer3 people · 125 points · first shared 2015 · 38 comments on HN
- 5The Ultimate Collection of Emacs Resources3 people · 94 points · first shared 2011 · 6 comments on HN
- 6Die EmacsWiki, Die3 people · 70 points · first shared 2012 · 44 comments on HN
- 7macOS No Longer Ships with Emacs3 people · 22 points · first shared 2025 · 6 comments on HN
- 8Emacs and Vim in the Age of AI3 people · 3 points · first shared 2026 · discussion on HN
- 9The Linux desktop experience is killing Linux on the desktop2 people · 270 points · first shared 2011 · 310 comments on HN
- 10OCaml at First Glance2 people · 268 points · first shared 2022 · 78 comments on HN
- 11Why Emacs?2 people · 177 points · first shared 2011 · 128 comments on HN
- 12A Peek at Emacs 242 people · 109 points · first shared 2011 · 22 comments on HN
- 13From Linux to OSX - 1 Year Later2 people · 64 points · first shared 2012 · 129 comments on HN
- 14A Note About Recruiters2 people · 32 points · first shared 2021 · 34 comments on HN
- 15Emacs Startup Time Doesn't Matter2 people · 11 points · first shared 2025 · 1 comments on HN
What HN people wrote when they linked it
dragandj · 2020-06-05
It's worth mentioning that BBatsov, the creator of CIDER, maintains a practically zero-config Emacs distribution, Prelude. A novice interested in Clojure could install Prelude, and start coding Clojure and other popular languages using pre-configured packages in, let's say, 15-30 minutes. The difference from Spacemacs is that Prelude is much simpler, does not mess with Emacs defaults, is close to vanilla Emacs, and has been super stable for years.
http://batsov.com/prelude/
noelwelsh · 2014-11-30
After a long time of maintaining my own configuration I took the decision a few years ago to outsource it to people who really care about this stuff. I started with the Emacs Prelude (http://batsov.com/prelude/) which introduced me to some great tools. I recently switched to Vim bindings (evil-mode) and a week ago switched to Spacemacs (https://github.com/syl20bnr/spacemacs) which integrates better with evil-mode . So far I'm really liking the Spacemacs approach.
tl;dr: Just use one of the packaged Emacs configs unless you really care about this stuff.
ekyo777 · 2014-01-08
Seems to lack some form of 'package control'. I'd suggest checking the following before implementing tough:
https://sublime.wbond.net/
http://batsov.com/articles/2012/02/19/package-management-in-emacs-the-…
aoeuaue · 2013-12-27
Prelude[1] is a great way to start with emacs. I don't have any experience with evil, though.
http://batsov.com/prelude/
binarysoul · 2013-03-15
some bite sized emacs tips http://rawsyntax.com/blog/categories/learn-emacs/
and a great introduction to setting up emacs http://batsov.com/articles/2012/10/14/emacs-on-osx/
posts on various emacs topics http://www.masteringemacs.org/
barik · 2012-06-10
This means that I can finally try out Emacs Prelude [1]. Fantastic!
I've been wanting to check it out for a while, but I haven't been brave enough to run a non-stable release of GNU Emacs.
http://batsov.com/prelude/
KronisLV · 2021-12-09
> It might be great but for now refuse to support anything that further strengthen Googles grip on the market.
The question then becomes: "What else even is out there?"
Because if you're looking for something that's even remotely feature complete for browsing the modern day web, the majority of the current browsers out there are indeed based on Chromium, as expressed in this article, "Firefox is the Only Alternative": https://batsov.com/articles/2021/11/28/firefox-is-the-only-alternative…
Here's the table from the article in text format:
Browser Based on Chromium Open-source Market Share (desktop + mobile)
Chrome Yes No 64.7%
Chromium Yes Yes -
Edge Yes No 4.0%
Brave Yes Yes -
Vivaldi Yes No -
Opera Yes No 2.4%
Safari No No 19.0%
Firefox No Yes 3.7%
To me it seems like Firefox is the only viable alternative and putting all of our hopes on a singular browser and the company behind it, especially given that there has recently been some controversy around it, seems risky. For example: https://itdm.com/mozilla-firefox-usage-down-85-but-why-are-execs-salar… and https://arstechnica.com/information-technology/2020/08/firefox-maker-m…
samiur1204 · 2013-03-13
Hey there,
I used to Vim too, and started using Emacs since I started doing a lot of Clojure development. Since then, I have not looked back. The power and flexibility of Emacs is second to almost none. Just the other day, I was working on a Latex file, and I had a buffer open with a pdf viewer right next to my tex file, that would update as soon as I saved changes to my tex file. And the community has done almost everything you can think of already. If not, just write it yourself!
To get started, I would highly recommend using Emacs Prelude: https://github.com/bbatsov/prelude
It's incredibly useful and user friendly, and makes your Emacs all the more powerful. This is a good intro article to it: http://batsov.com/prelude/
The other blog that I find useful even as a fairly seasoned Emacs user is http://www.masteringemacs.org/
It has some great guides and tutorials for beginners too.
wes-exp · 2011-11-13
I am a C# refugee, so I feel I can respond with some authority.
Yes, the enhanced auto-complete capability that static typing enables is a great feature (I should note that dynamic languages can offer completion too, just not as comprehensively). But it must be weighed against the tradeoffs. I believe many of these language features like static vs. dynamic typing are not "one is better than the other", but simply characteristics that make certain tradeoffs.
A decent comparison of static vs. dynamic typing can be found here: http://batsov.com/articles/2011/05/08/jvm-langs-scala/ (scroll down)
For all C#'s strengths, you've got to also consider the negatives. For starters, you're dependent on Windows; for the development environment and the server. I don't know if you also do server administration, but let me tell you: running Windows servers is an exercise in pain.
Second, in an age when many wonderful programming environments are available as open source, I question the wisdom of marrying yourself to something that is deeply proprietary. When you're first starting with .Net, you might not think about this. But years in, you may find that you are stuck in a system outside your control, dragging your code and livelihood along with it. As I did.
C# has many strengths and I have great respect for its architect Anders Hejlsberg. That said, I am very much glad to be free of it!
nequo · 2024-06-28
OCaml[1] and Scala[2] have had this too.
[1] https://batsov.com/articles/2024/01/16/learning-ocaml-verifying-tail-r…
[2] https://www.scala-lang.org/api/current/scala/annotation/tailrec.html
bekicot · 2023-09-08
It is not. But I like the perspective from here: https://batsov.com/articles/2021/11/28/firefox-is-the-only-alternative…
acomjean · 2020-11-19
It was a long time ago, but I got a book "Learning GNU Emacs, 3rd Edition". Its a shame that there isn't better documentation to get past the navigation stuff.
There were some short video tutorials I used too (I can't find right now...)
The story linked here has a bunch of resources.
https://news.ycombinator.com/item?id=3492804
(https://batsov.com/articles/2011/11/30/the-ultimate-collection-of-emac…
its old but emacs hasn't changed a ton.
https://batsov.com/articles/2011/11/30/the-ultimate-collection-of-emac…
mtmail · 2018-05-12
In Ruby world I use http://batsov.com/rubocop/ every day. In Perl world https://en.wikipedia.org/wiki/Perl::Critic I personally couldn't care less about logo or naming.
hatmatrix · 2016-07-25
GNU Emacs doesn't provide it directly, but rather provides the tools to enable it.
For instance,
http://batsov.com/prelude/
https://ergoemacs.github.io/
or CUA-mode.
I haven't tried any of these so can't speak to the experience, but the idea is that a custom layer for various users can be built on top and distributed to desired users (so it's almost out-of-the-box).
Spacemacs is also a good example targeting VIM users.
AdrieanKhisbe · 2016-01-11
We should also remove obsolete wiki.
cf http://batsov.com/articles/2012/03/20/die-emacswiki/
And try to make an awesome replacement, with an attractive website.
Like http://spacemacs.org/ ;)
(I saw some initiatives such as http://nicolas-petton.fr/ressources/emacs-website/)
come on, we are in #b11111100000 !! =)
momo-reina · 2015-10-19
Cider now has a debugger:
http://batsov.com/articles/2015/06/16/cider-0-dot-9/
Bozhidar Batsov just recently did a podcast with Cognitect where they speak about this and other things related to Slime and the Clojure programming environment:
http://blog.cognitect.com/cognicast/080
toolslive · 2014-11-30
I was persuaded to try prelude:
http://batsov.com/prelude/
never looked back.
kevinkyyro · 2014-10-09
This blew my mind. The "scala" example he used was literally a java code snippet pulled from here http://batsov.com/articles/2011/05/12/jvm-langs-clojure/
IT'S LITERALLY JAVA SYNTAX, COMPLETELY INVALID SCALA.
whateverer · 2012-03-20
To be fair, Emacs has had a package manager package, package.el (heh), for quite some time now. It can download and install packages from a repository, like Marmalade, though I've found it to be a bit shaky in the past; I've had to manually delete the files of a botched package, and then who-knows-what to get it to fully disappear.
It's, thankfully, been bundled in the default Emacs 24. And, thank the ghosts of the ancient lispers, that savagery of having a million-zillion different autocompletion interfaces for every damned thing may finally be put to an end with the new standardized autocompletion thingy.
Source:
http://batsov.com/articles/2011/08/19/a-peek-at-emacs24/
intranation · 2011-11-07
There's some HN discussion about the new release:
http://news.ycombinator.com/item?id=2059909
http://news.ycombinator.com/item?id=1181589
And another link I found helpful:
http://batsov.com/Emacs/2011/08/19/a-peek-at-emacs24.html
But yes, your plan is a good one. Start by running
C-h t
to get the native tutorial, then ramp up from there. I'm afraid I don't know many good online tutorials as I work with Emacs power users, but Stack Overflow has always been quite helpful for learning Elisp.
wvenable · 2011-06-12
I'm pretty sure this link was posted in response to this earlier link on HN:
http://batsov.com/Linux/Windows/Rant/2011/06/11/linux-desktop-experien…
Which covers most/all of those things. Reasonably new and innovative hardware (like GPU switching in laptops) just doesn't work, period. There are plenty more examples. The browser makes Linux worse since the only thing you need from your underlying platform is really good driver and power management support.
elias94 · 2021-12-01
I consider LinkedIn full of crap and marketing stuff.
I hate the newsfeed and all the fake stuff that people post there. Messages are bloated with random recruiters, search is a pain and the algorithm is totally unclear.
Indeed or similar are so basic that if you're lucky you will get an email reply from the company. Is less noisy than LinkedIn.
I hope one day the process will be simple and without recruiters in the middle. Nothing against them, but are mostly 0 technical and you have to take calls where they read you a company presentation but they don't know nothing really about the company and nothing about you. So what is their utility?
I prefer to speak directly with the company. And I don't like unwanted calls, and I don't like being ghosted (especially if I invested more than 20 mins on your company).
I read this article few days ago, 100% correct
https://batsov.com/articles/2021/11/03/a-note-about-recruiters/
serghei · 2015-03-07
Working link to the real thing http://batsov.com/rubocop/
ncavig · 2012-11-28
http://batsov.com/articles/2011/06/19/django-vs-rails/ appears to give a quick breakdown, but also misses some key features in my opinion. I've worked with rails for about 5 years and Django for a little over 16 months now. There's some things I do and don't like respectively for each framework.
I suggest testing each out and see which you prefer. Ruby and Python are similar languages but different enough that you'll want to spend some time learning each. Both will benefit you in the long run, as I work with ruby and python daily and is useful knowing both.
I will warn you that Django was easier for me to pick up than rails. Rails guys (me included) tout how easy it is to get going with rails, which is true. However, getting really good with rails is hard. Knowing exactly what's going on and why, how to extend ActiveModel or ActionController properly, monkey patching, proper testing practices, etc are quite the time sink, albeit a beneficial one in my opinion. I think if you have TDD or a client adamant about full test coverage, I've found rails support and practices are more flushed out than django's take.
EDIT: typos