1<!doctype html><html lang="en" ><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta name="theme-color" media="(prefers-color-scheme: light)" content="#f7f7f7"><meta name="theme-color" media="(prefers-color-scheme: dark)" content="#1b1b1e"><meta name="mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"><meta name="viewport" content="width=device-width, user-scalable=no initial-scale=1, shrink-to-fit=no, viewport-fit=cover" ><meta name="generator" content="Jekyll v4.4.1" /><meta property="og:title" content="About" /><meta property="og:locale" content="en" /><meta name="description" content="About Me" /><meta property="og:description" content="About Me" /><link rel="canonical" href="https://batsov.com/about/" /><meta property="og:url" content="https://batsov.com/about/" /><meta property="og:site_name" content="(think)" /><meta property="og:type" content="article" /><meta property="article:published_time" content="2026-07-24T08:47:39+03:00" /><meta property="og:image" content="https://batsov.com/assets/img/og-image.png" /><meta name="twitter:card" content="summary_large_image" /><meta property="twitter:image" content="https://batsov.com/assets/img/og-image.png" /><meta property="twitter:title" content="About" /><meta name="twitter:site" content="@bbatsov" />
1<script type="application/ld+json"> {"@context":"https://schema.org","@type":"WebSite","dateModified":"2026-07-24T08:47:39+03:00","datePublished":"2026-07-24T08:47:39+03:00","description":"About Me","headline":"About","name":"Bozhidar Batsov","sameAs":["https://github.com/bbatsov","https://hachyderm.io/@bbatsov","https://bsky.app/profile/batsov.net","https://x.com/bbatsov","https://www.linkedin.com/in/bbatsov/"],"url":"https://batsov.com/about/"}</script>
1<title>About | (think)</title><link rel="icon" type="image/png" href="/assets/img/favicons/favicon-96x96.png" sizes="96x96"><link rel="icon" type="image/svg+xml" href="/assets/img/favicons/favicon.svg"><link rel="shortcut icon" href="/assets/img/favicons/favicon.ico"><link rel="apple-touch-icon" sizes="180x180" href="/assets/img/favicons/apple-touch-icon.png"><link rel="preconnect" href="https://fonts.googleapis.com" ><link rel="dns-prefetch" href="https://fonts.googleapis.com" ><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link rel="dns-prefetch" href="https://fonts.gstatic.com" ><link rel="preconnect" href="https://cdn.jsdelivr.net" ><link rel="dns-prefetch" href="https://cdn.jsdelivr.net" ><link rel="stylesheet" href="/assets/css/jekyll-theme-chirpy.css"><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Lato:wght@300;400&family=Source+Sans+Pro:wght@400;600;700;900&display=swap"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/[email protected]/css/all.min.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/tocbot.min.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/loading-attribute-polyfill.min.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/glightbox.min.css">
1<script src="/assets/js/dist/theme.min.js"></script>
1
1<script defer src="https://cdn.jsdelivr.net/combine/npm/[email protected]/dest/simple-jekyll-search.min.js,npm/[email protected]/dist/loading-attribute-polyfill.umd.min.js,npm/[email protected]/dist/js/glightbox.min.js,npm/[email protected]/dist/clipboard.min.js,npm/[email protected]/dist/tocbot.min.js"></script>
1
1<script defer src="/assets/js/dist/page.min.js"></script>
vendor: 64 bytes, line 1
1 <script defer src="https://www.googletagmanager.com/gtag/js?id=
1G-NBW69J6Z4F
vendor: 12 bytes, line 1
1"></script>
1<script> document.addEventListener('DOMContentLoaded', () => {
vendor: 130 bytes, line 1
1window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push(arguments); } gtag('js', new Date()); gtag('config', '
1G-NBW69J6Z4F
vendor: 4 bytes, line 1
1');
1}); </script>
1<body><aside aria-label="Sidebar" id="sidebar" class="d-flex flex-column align-items-end"><header class="profile-wrapper"> <a href="/" id="avatar" class="rounded-circle"><img src="/assets/img/bozhidar_avatar.jpg" width="112" height="112" alt="avatar" onerror="this.style.display='none'"></a> <a class="site-title d-block" href="/">(think)</a><p class="site-subtitle fst-italic mb-0">Think inside the parentheses.</p></header><nav class="flex-column flex-grow-1 w-100 ps-0"><ul class="nav"><li class="nav-item"> <a href="/" class="nav-link"> <i class="fa-fw fas fa-home"></i> <span>HOME</span> </a><li class="nav-item active"> <a href="/about/" class="nav-link"> <i class="fa-fw fas fa-info-circle"></i> <span>ABOUT</span> </a><li class="nav-item"> <a href="/archives/" class="nav-link"> <i class="fa-fw fas fa-archive"></i> <span>ARCHIVES</span> </a><li class="nav-item"> <a href="/tags/" class="nav-link"> <i class="fa-fw fas fa-tags"></i> <span>TAGS</span> </a><li class="nav-item"> <a href="/projects/" class="nav-link"> <i class="fa-fw fas fa-code"></i> <span>PROJECTS</span> </a><li class="nav-item"> <a href="/presentations/" class="nav-link"> <i class="fa-fw fas fa-chalkboard-teacher"></i> <span>PRESENTATIONS</span> </a><li class="nav-item"> <a href="/contact/" class="nav-link"> <i class="fa-fw fas fa-envelope"></i> <span>CONTACT</span> </a><li class="nav-item"> <a href="/quotes/" class="nav-link"> <i class="fa-fw fas fa-quote-left"></i> <span>QUOTES</span> </a></ul></nav><div class="sidebar-bottom d-flex flex-wrap align-items-center w-100"> <button type="button" class="btn btn-link nav-link" aria-label="Switch Mode" id="mode-toggle"> <i class="fas fa-adjust"></i> </button> <span class="icon-border"></span> <a href="https://github.com/bbatsov" aria-label="github" target="_blank" rel="noopener noreferrer" > <i class="fab fa-github"></i> </a> <a href="https://hachyderm.io/@bbatsov" aria-label="mastodon" target="_blank" rel="noopener noreferrer me" > <i class="fab fa-mastodon"></i> </a> <a href="https://twitter.com/bbatsov" aria-label="twitter" target="_blank" rel="noopener noreferrer" > <i class="fab fa-x-twitter"></i> </a> <a href="https://www.linkedin.com/in/bbatsov/" aria-label="linkedin" target="_blank" rel="noopener noreferrer" > <i class="fab fa-linkedin"></i> </a> <a href="javascript:location.href = 'mailto:' + ['bozhidar','batsov.net'].join('@')" aria-label="email" target="_blank" rel="noopener noreferrer" > <i class="fas fa-envelope"></i> </a> <a href="/feed.xml" aria-label="rss" target="_blank" rel="noopener noreferrer" > <i class="fas fa-rss"></i> </a> <a href="https://emacsredux.com" aria-label="emacsredux" target="_blank" rel="noopener noreferrer" > <i class="fas fa-blog"></i> </a> <a href="https://metaredux.com" aria-label="metaredux" target="_blank" rel="noopener noreferrer" > <i class="fas fa-blog"></i> </a></div></aside><div id="main-wrapper" class="d-flex justify-content-center"><div class="container d-flex flex-column px-xxl-5"><header id="topbar-wrapper" class="flex-shrink-0" aria-label="Top Bar"><div id="topbar" class="d-flex align-items-center justify-content-between px-lg-3 h-100" ><nav id="breadcrumb" aria-label="Breadcrumb"> <span> <a href="/">Home</a> </span> <span>About</span></nav><button type="button" id="sidebar-trigger" class="btn btn-link" aria-label="Sidebar"> <i class="fas fa-bars fa-fw"></i> </button><div id="topbar-title"> About</div><button type="button" id="search-trigger" class="btn btn-link" aria-label="Search"> <i class="fas fa-search fa-fw"></i> </button> <search id="search" class="align-items-center ms-3 ms-lg-0"> <i class="fas fa-search fa-fw"></i> <input class="form-control" id="search-input" type="search" aria-label="search" autocomplete="off" placeholder="Search..." > </search> <button type="button" class="btn btn-link text-decoration-none" id="search-cancel">Cancel</button></div></header><div class="row flex-grow-1"><main aria-label="Main Content" class="col-12 col-lg-11 col-xl-9 px-md-4"><article class="px-1"><h1 class="dynamic-title"> About</h1><div class="content"><h2 id="about-me"><span class="me-2">About Me</span><a href="#about-me" class="anchor text-muted"><i class="fas fa-hashtag"></i></a></h2><p><a href="/assets/img/bozhidar_presenting1.jpg" class="popup img-link shimmer"><img src="/assets/img/bozhidar_presenting1.jpg" alt="Bozhidar" loading="lazy"></a></p><p>Hello, world!</p><p>Iâm Bozhidar<sup id="fnref:1"><a href="#fn:1" class="footnote" rel="footnote" role="doc-noteref">1</a></sup> and I love computers in general and programming in particular<sup id="fnref:2"><a href="#fn:2" class="footnote" rel="footnote" role="doc-noteref">2</a></sup>. 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 <a href="/projects/">projects</a>.</p><p>The above paragraph is actually what I typically use as my bio for <a href="/presentations/">conference talks</a>. I love speaking at conferences and Iâm really bad at it!<sup id="fnref:3"><a href="#fn:3" class="footnote" rel="footnote" role="doc-noteref">3</a></sup></p><p>Iâve always struggled to write about myself, so Iâll just list here some random trivia that might give you some idea about the type of person I am:</p><ul><li>I got my first computer in 1998. It cost $1011 and it had a Pentium II Klamath @ 300 Mhz CPU, 32 MB of RAM, a Quantum Fireball 5.1 GB HDD and a Diamond Viper V330 GPU (with 4MB of memory and 3D acceleration). I didnât plan to do much (any) programming on it.<li>I studied CS in high-school, but I didnât really think Iâd end up as a programmer. Programming felt like something quite boring when I was a kid.<li>Cinemaâs one of my biggest obsessions. Iâve been a devoted movie-goer since 1995, when I went to see âToy Storyâ.<li>When I was little I thought that all you need in life is an unlimited supply of chocolate and bananas. Turned out I was wrong.<li>My first trip abroad was to Budapest, Hungary. I did it for my 24th birthday. Since then Iâve become quite passionate about exploring the world and I visited 60 countries.<li>Iâm a big comic book fan. Batman is my favorite superhero. I went to see âThe Dark Knightâ 7 times.<li>I once watched âGladiatorâ around 20 times in one week. I used to know every line in the mov
1ie.<li>When renting video tapes was a thing, Iâd typically watch every movie that I rented 3 times. No matter how bad it was.<li>I love music and it has always been a big part of my life. I mostly listen to hard rock and indie rock. My first audio tapes were bootleg recordings of some Nirvana and Offspring albums. Iâm not ashamed to admit that around 1995 I liked Spice Girls and Backstreet Boys more than rock.<li>I used to be a big sports fan, but I never excelled at any sports. Unless you consider gaming a sport. Occasionally I still watch a football game or two.<li>Iâve started to study Spanish 7 years ago, but I was too lazy and canât do much more than order some food and pay for it.<li>I still have a guitar, but I have barely played it in the last decade. I always plan to change this, but I never do.<li>I dream to retire in Andalucia.<li>My name literally means âa gift from Godâ. Itâs basically the Slavic version of Theodor(e/o).<li>I used to re-read âThe Lord of the Ringsâ every year.</ul><p>You can learn way more about me from:</p><ul><li>the articles I wrote here and elsewhere.<li><a href="https://www.goodreads.com/bozhidar">the books I read</a>. Supposedly you can learn a lot about a person by their choice of books.<li><a href="https://www.last.fm/user/bozhidar">the music I listen to</a><li><a href="https://github.com/bbatsov/cv">my professional resume</a>. Hmm, seems I havenât updated it in 11 years. Better visit my <a href="https://linkedin.com/in/bbatsov">LinkedIn profile</a> instead.<li>the <a href="/quotes/">quotes</a> that I find inspirational.</ul><h2 id="about-think"><span class="me-2">About (think)</span><a href="#about-think" class="anchor text-muted"><i class="fas fa-hashtag"></i></a></h2><p>(think) is my personal blog. It started with a focus on programming and Linux, but its scope got broader with time. The name (think) is a reference to several things:</p><ul><li>My love for IBMâs ThinkPad laptops. THINK has been one of the companyâs slogan for over 100 years (ever since 1911). My very first laptop was a ThinkPad T61, which I got around the time I started (think).<li>My love for Apple and their slogan âThink Differentâ (which takes a stab at IBM, of course).<li>My love for IMAX movies and IMAXâs slogan âThink Bigâ.<li>My love for Lisps and parentheses.<li>My love for thinking about all sorts of random things.</ul><p>Thinking outside the box might be cool, but nothing beats thinking inside parentheses.</p><p>This site was my first attempt to write. I failed miserably and I produced some pretty crappy content, but I also learned a lot in the process.</p><p>These days (circa 2021) most of my writing on topics related to programming and my OSS projects happens at <a href="https://metaredux.com">Meta Redux</a>, but I still post here things that are worth sharing, but donât fit the overall vision of Meta Redux. Not to mention that my vision for (think) and Meta Redux changes quite often.</p><p>I guess Iâll be writing here occasionally on programming-related topics, but who knows⦠Knowing me thereâs a high chance I wonât actually write anything at all!</p><h2 id="about-my-other-blogs"><span class="me-2">About My Other Blogs</span><a href="#about-my-other-blogs" class="anchor text-muted"><i class="fas fa-hashtag"></i></a></h2><p>I have a small problem with blogs - Iâve created way too many of them! I already mentioned above Meta Redux, but there are actually more!</p><h3 id="emacs-redux"><span class="me-2">Emacs Redux</span><a href="#emacs-redux" class="anchor text-muted"><i class="fas fa-hashtag"></i></a></h3><p>I run a separate blog focused on Emacs, that you might want to check out as well - <a href="http://emacsredux.com">Emacs Redux</a>.</p><h2 id="colophon"><span class="me-2">Colophon</span><a href="#colophon" class="anchor text-muted"><i class="fas fa-hashtag"></i></a></h2><p>This website is powered by <a href="https://jekyllrb.com/">Jekyll</a> and uses the <a href="https://github.com/cotes2020/jekyll-theme-chirpy">Chirpy theme</a>.</p><p>I write all of the articles in Emacs and publish them to GitHub pages. These days (circa 2025) Iâm a macOS user most of the time. When Iâm at home I do all my writing on my beloved <a href="https://deskthority.net/wiki/Leopold_FC660C">Leopold FC660C</a><sup id="fnref:4"><a href="#fn:4" class="footnote" rel="footnote" role="doc-noteref">4</a></sup>. When Iâm on the road I do (or donât do) my writing on an Apple Magic Keyboard or the built-in MacBook keyboard<sup id="fnref:5"><a href="#fn:5" class="footnote" rel="footnote" role="doc-noteref">5</a></sup>.</p><p>The source code of the site is freely available at <a href="https://github.com/bbatsov/batsov.com">GitHub</a>.</p><h2 id="license"><span class="me-2">License</span><a href="#license" class="anchor text-muted"><i class="fas fa-hashtag"></i></a></h2><p>All original content here is licensed under the <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/">
1Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)</a> license.</p><h2 id="disclaimer"><span class="me-2">Disclaimer</span><a href="#disclaimer" class="anchor text-muted"><i class="fas fa-hashtag"></i></a></h2><p>This is my personal site and it expresses my own personal opinions and nothing else. Shocker, right?</p><div class="footnotes" role="doc-endnotes"><ol><li id="fn:1"><p>Bozhidar in Bulgarian. I know, I know - thatâs both pretty hard to read and to pronounce. My friends call me Bug and so can you. <a href="#fnref:1" class="reversefootnote" role="doc-backlink">↩︎</a></p><li id="fn:2"><p>Especially Lisps! And Unix-like operating systems! And Emacs! And video games! <a href="#fnref:2" class="reversefootnote" role="doc-backlink">↩︎</a></p><li id="fn:3"><p>But at least Iâm honest with myself. <a href="#fnref:3" class="reversefootnote" role="doc-backlink">↩︎</a></p><li id="fn:4"><p>Also known as the âbest keyboard everâ. Seriously! <a href="#fnref:4" class="reversefootnote" role="doc-backlink">↩︎</a></p><li id="fn:5"><p>Also known as the âworst keyboard everâ. No shit! <a href="#fnref:5" class="reversefootnote" role="doc-backlink">↩︎</a></p></ol></div></div></article></main><aside aria-label="Panel" id="panel-wrapper" class="col-xl-3 ps-2 text-muted"><div class="access"><section id="access-lastmod"><h2 class="panel-heading">Recently Updated</h2><ul class="content list-unstyled ps-0 pb-1 ms-1 mt-2"><li class="text-truncate lh-lg"> <a href="/articles/2026/06/24/neocaml-0-9-repl-completion-and-robustness/">Neocaml 0.9: A Better REPL, Dune/Opam Completion, and More Robustness</a><li class="text-truncate lh-lg"> <a href="/articles/2026/06/11/emacs-loves-asciidoc/">Emacs loves AsciiDoc</a><li class="text-truncate lh-lg"> <a href="/articles/2026/05/20/neat-a-language-agnostic-nrepl-client-for-emacs/">neat: a language-agnostic nREPL client for Emacs</a><li class="text-truncate lh-lg"> <a href="/articles/2026/05/20/nrepl-forever/">nREPL Forever</a><li class="text-truncate lh-lg"> <a href="/articles/2026/05/12/port-a-minimalist-prepl-client-for-emacs/">Port: a minimalist prepl client for Emacs</a></ul></section><section><h2 class="panel-heading">Trending Tags</h2><div class="d-flex flex-wrap mt-3 mb-1 me-3"> <a class="post-tag btn btn-outline-primary" href="/tags/emacs/">Emacs</a> <a class="post-tag btn btn-outline-primary" href="/tags/ruby/">Ruby</a> <a class="post-tag btn btn-outline-primary" href="/tags/meta/">Meta</a> <a class="post-tag btn btn-outline-primary" href="/tags/ocaml/">OCaml</a> <a class="post-tag btn btn-outline-primary" href="/tags/clojure/">Clojure</a> <a class="post-tag btn btn-outline-primary" href="/tags/linux/">Linux</a> <a class="post-tag btn btn-outline-primary" href="/tags/tips/">Tips</a> <a class="post-tag btn btn-outline-primary" href="/tags/vim/">Vim</a> <a class="post-tag btn btn-outline-primary" href="/tags/jekyll/">Jekyll</a> <a class="post-tag btn btn-outline-primary" href="/tags/learning-ocaml/">Learning OCaml</a></div></section></div></aside></div><div class="row"><div id="tail-wrapper" class="col-12 col-lg-11 col-xl-9 px-md-4"><footer aria-label="Site Info" class=" d-flex flex-column justify-content-center text-muted flex-lg-row justify-content-lg-between align-items-lg-center pb-lg-3 " ><p>© <time>2026</time> <a href="https://github.com/bbatsov">Bozhidar Batsov</a>. <span data-bs-toggle="tooltip" data-bs-placement="top" title="Except where otherwise noted, the blog posts on this site are licensed under the Creative Commons Attribution 4.0 International (CC BY 4.0) License by the author." >Some rights reserved.</span></p><p>Using the <a data-bs-toggle="tooltip" data-bs-placement="top" title="v7.4.1" href="https://github.com/cotes2020/jekyll-theme-chirpy" target="_blank" rel="noopener" >Chirpy</a> theme for <a href="https://jekyllrb.com" target="_blank" rel="noopener">Jekyll</a>.</p></footer></div></div><div id="search-result-wrapper" class="d-flex justify-content-center d-none"><div class="col-11 content"><div id="search-hints"><section><h2 class="panel-heading">Trending Tags</h2><div class="d-flex flex-wrap mt-3 mb-1 me-3"> <a class="post-tag btn btn-outline-primary" href="/tags/emacs/">Emacs</a> <a class="post-tag btn btn-outline-primary" href="/tags/ruby/">Ruby</a> <a class="post-tag btn btn-outline-primary" href="/tags/meta/">Meta</a> <a class="post-tag btn btn-outline-primary" href="/tags/ocaml/">OCaml</a> <a class="post-tag btn btn-outline-primary" href="/tags/clojure/">Clojure</a> <a class="post-tag btn btn-outline-primary" href="/tags/linux/">Linux</a> <a class="post-tag btn btn-outline-primary" href="/tags/tips/">Tips</a> <a class="post-tag btn btn-outline-primary" href="/tags/vim/">Vim</a> <a class="post-tag btn btn-outline-primary" href="/tags/jekyll/">Jekyll</a> <a class="post-tag btn btn-outline-primary" href="/tags/learning-ocaml/">Learning OCaml</a></div></section></div><div id="search-results" class="d-flex flex-wrap justify-content-center text-muted mt-3"></div></div></div></div><aside aria-label="Scroll to Top"> <button id="back-to-top" type="button" class="btn btn-lg btn-box-sha
1dow"> <i class="fas fa-angle-up"></i> </button></aside></div><div id="mask" class="d-none position-fixed w-100 h-100 z-1"></div>
1<script> document.addEventListener('DOMContentLoaded', () => { SimpleJekyllSearch({ searchInput: document.getElementById('search-input'), resultsContainer: document.getElementById('search-results'), json: '/assets/js/data/search.json', searchResultTemplate: '<article class="px-1 px-sm-2 px-lg-4 px-xl-0"><header><h2><a href="{url}">{title}</a></h2><div class="post-meta d-flex flex-column flex-sm-row text-muted mt-1 mb-1"> {categories} {tags}</div></header><p>{content}</p></article>', noResultsText: '<p class="mt-5">Oops! No results found.</p>', templateMiddleware: function(prop, value, template) { if (prop === 'categories') { if (value === '') { return `${value}`; } else { return `<div class="me-sm-4"><i class="far fa-folder fa-fw"></i>${value}</div>`; } } if (prop === 'tags') { if (value === '') { return `${value}`; } else { return `<div><i class="fa fa-tag fa-fw"></i>${value}</div>`; } } } }); }); </script>
vendor: 1 bytes, line 1
1
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.