Hi! Tell us about who you are and what you do.
I’m Bozhidar and I love computers in general and programming in particular. My fanatic devotion to Emacs is known world-wide. I spend a lot of my (free) time on GitHub, contributing to various open-source Ruby, Clojure and Emacs Lisp projects. My most notable open-source projects are RuboCop (a linter/formatter for Ruby) and CIDER (a Clojure IDE for Emacs).
I’m a constant learner when it comes to programming and I love playing with new programming languages - right now I’m learning OCaml.
You can learn more about me here.
What is your hardware setup?
I’ve got two computers - one reasonably powerful desktop computer that I use when I’m at home and one thin and light laptop that I use when traveling. I’m a big believer in “laptops stand for portability” and I really dislike desktop replacement type of laptops. Yeah, some people really need them, but I’d hate to carry constantly with me a laptop that’s 2+ kg.
After many years of being a Linux and macOS user I’ve switched mostly to Windows a couple of years ago and my experience there has been fairly positive. I get access both high-quality Windows apps and great Linux environment in the form of WSL.
I’ve recently ordered the new Macbook Air with M2 and down the road I might get a M2 desktop machine as well. Like many others I’ve been really impressed by the performance and power efficiency of Apple’s recent chips.
I’m obsessed with mechanical keyboards (and typing in general). I own many keyboards by my favorite one by far is the legendary Leopold FC660C (with Topre switches). I hate being apart from it. I also have in cold storage a few Das Keyboards (I forgot the exact models) and two KUL ES-87 keyboards. While they are no match for Topre, I do enjoy using Cherry MX Blue switches every now and they. No one around me enjoys me doing so, though (they are very loud).
Some other peripherals in no particular order:
- Microphone - Samson Meteor (I also have an extra smaller Samson Meteorite for the road)
- Speakers - Audioengine A2+
- Camera - Logitech C925e with a privacy shutter
- Mouse - Logitech G305 (do play the occasional game every now and then; mostly StarCraft II)
- Display - LG 27UK850-W 27" 4K UHD IPS
Unlikel many programmers I’m using only one display for work. I was using 2 displays in the past and I frankly didn’t notice any massive productivity gains, so I decided to unclutter my desk, although the options of getting a second the display again down the road is always on the table. Or perhaps I should just get a larger ultra-widescreen display. We’ll see.
Desk & Chair
I’ve got a standing desk from Steelcase, but I bought it so long ago that I completely forgot its model and I’m too lazy to look for it now. :-) I totally love it, even if I have to admit I rarely use it in standing mode.
As you you can see from the pictures my desk is pretty empty. I’m the type of person who really likes minimalism and aims to get rid of anything they don’t really need. My wife doesn’t approve of my design choices. :D
My chair is Steelcase Gesture, which I find extremely comfortable. It certainly rivals the famous Aeron chairs that many companies and programmers favor.
Pro tip - don’t place your workspace in your bedroom! I did this to optimize the space at home and I totally regret this decision. :D
I travel a lot as I’ve been working in a fully remote company for the past 8 years. When I’m away from home for an extended period of time I always take with me a Roost laptop stand and some lighter external keyboard (e.g. an Apple Magic Keyboard).
I’m not a big fan of headphones (especially over-head headphones) and I almost never used headphones for work.
And what are the favorite items in your workspace?
The Leopold FC660C keyboard is the definitely my favorite item - if you ask it’s one of the best keyboards in existence. :-) Probably I’d put the speakers right after it, as I love music and it took me a while to find good, yet compact speakers for my desk.
Any favorite programs/apps/tools?
- Emacs is my main workhorse and I do all of my programming and blogging there. I’ve written a lot on the topic in the past. (e.g. https://batsov.com/articles/2011/11/19/why-emacs/)
- As noted earlier I program mostly in Linux (WSL).
- Zsh is my preferred shell and these days Windows Terminal is my terminal emulator.
- I’m using Obsidian for note taking and syncing across devices. I’ve tried every note taking app that exists before choosing Obsidian.
- I’m using Microsoft To Do as my todo app. Same as above. :-)
- 1Password is my go to password manager. Before it I was using LastPass for ages.
- My emails are powered by Fastmail. I’ve written a few articles about why I love it on my blog.
- My blogs are all powered by Jekyll.
- I’m a big fan of Microsoft’s PowerToys applications for Windows power users.
- I’m a big fan of Signal & Discord when it comes to chat apps.
- Firefox is my main browser, but I’m forced to use Chrome for some work-related tasks.
- Like most people today I’m obviously using Slack, Zoom, Google’s GSuite, etc.
What are your favorite programming or scripting languages?
Ah, that’s a tricky section to write! Over the years I’ve done professionally C, C++, (a bit of) PHP, Java, Scala and Ruby. I’ve been mostly focused on Ruby at work in the past decade.
That being said, my biggest passion have always been Lisps and functional programming languages. I’ve spent a ton of time with Common Lisp, Scheme, Clojure, Emacs Lisp, Scala, Haskell, Erlang, Elixir, etc. If I have to pick a few “favorite” programming languages it’d be something like:
Clojure is definitely my favorite programming language for many reasons, the rest of the numbering is kind of random. Most of the my open-source work in the past few years has been focused on Clojure as well.
Is there anything you are missing in your setup?
Not really, but there’s always something you can do better, e.g.:
- I’ve been thinking from to time to get a 4K webcam with support for Windows Hello
- Every time my neighbors start a renovation I’m thinking of getting some big headphones with active noise cancelling :-)
- Probably I should get some fancier ergonomic mouse at some point
- A quieter CPU fan would be nice (I like the visuals, but I hate the noise it makes)
- From time to time I wonder about getting some ultra widescreen curved display
Still, I guess I don’t really need any of those items badly, otherwise I would have got them a long time ago. I try to restrain my urges to buy every cool gadget that I see. It’s hard!
What book comes to your mind that you would like others to read?
I assume we’re talking about books on programming, right? :D If so - the first book that comes to mind is the 25 year anniversary edition of “The Pragmatic Programmer” - perhaps no book I’ve ever read captures the essence of our job as programmers better than it. When I was going over the book I constantly felt that it brilliantly reduces pretty much my entire ~20-year long career into great advice. Of course, you tend to understand how valuable and true this advice is only in hindsight. :-) I recently read another classic - “Code: The Hidden Language of Computer Hardware and Software” and I can’t recommend it highly enough to the people who want to understand how computers work at the lowest level. This book is truly a work of art!