Welcome to Kaoru’s Blog!

We shape our tools and thereafter our tools shape us. –John M. Culkin

A Refined Emacs LLM Environment with gpt.el & mcp.el

Introduction The integration of large language models (LLMs) into Emacs has rapidly evolved over the past few years. I vividly remember the excitement when I first tried copilot.el for AI autocompletion back in November 2022. Shortly after, ChatGPT was launched, and tools like ChatGPT.el made it possible to interact with AI within Emacs—though, at that time, the features were few, and I didn’t really feel the advantages of using LLMs in Emacs. ...

July 2, 2025 · 9 min · Kaoru Babasaki

How to Use mermaid.js with ox-hugo

Introduction This blog is managed with the workflow shown below. graph LR org-mode -- <a href="https://ox-hugo.scripter.co/">ox-hugo</a> --> markdown -- <a href="https://gohugo.io/">Hugo</a> --> HTML When you want to include a diagram like the flowchart above, what methods come to mind? Surely, you’re not thinking about making diagrams in PowerPoint or similar tools, exporting them as images, and… calling it a day? That’s a D-tier move ...

June 21, 2025 · 4 min · Kaoru Babasaki

Story of How My Hoff Solutions Site Climbed Search Rankings After (?) Optimization 🚀

TL;DR (Summary) This is a solutions site for the end-of-chapter exercises in A First Course in Bayesian Statistical Methods / 標準 ベイズ統計学 (Japanese edition). I started it during my Master’s degree and still update it, albeit at a very slow pace. Recently, after just a few updates, the site went from not appearing in Google search results at all to ranking highly. Here’s a memo on what I did 📝. Motivation for Improvement: “Doesn’t Show Up in Search Results at All” I put a lot of effort into this site during my Master’s, second only to my thesis, and I thought there would be decent demand from readers of Hoff, “A First Course in Bayesian Statistical Methods”. ...

May 3, 2025 · 3 min · Kaoru Babasaki

Guide to Setting Up SKK on Doom Emacs & Mac

What You’ll Learn in This Article What SKK is How to install and configure AquaSKK How to set up SKK (ddskk) in Doom Emacs Challenges in adopting SKK and their solutions Impressions and evaluation after using SKK long-term What is SKK? SKK (Simple Kana to Kanji conversion program) is a type of Japanese input method editor (IME). Unlike typical IMEs, it features explicit switching between input modes and unique operations for selecting conversion candidates. Key characteristics include: ...

April 12, 2025 · 8 min · Kaoru Babasaki

The Convenience of Emacs' Indirect Buffers

When using Emacs, have you ever thought, “I wish I could edit just a part of this file in another window…” or “I’d like to compare the same content with different display modes…”? I certainly have, many times. That’s when I discovered and was impressed by the Indirect Buffer feature! This post explains the basic concept of Indirect Buffers, how to use them, and some points to keep in mind. ...

March 28, 2025 · 3 min · Kaoru Babasaki

Anki Super Vocab: My Quest for the Ideal Vocabulary Learning Card

Introduction Are you an Anki user? Anki is a powerful memorization tool that utilizes a spaced repetition system (SRS). I’ve been a long-time Anki user, and it’s become indispensable, especially for language learning. Recently, while using Anki for English vocabulary learning, I had an idea for the “perfect” card type – one with features I’d always wished for. I’ve now realized this ideal card type and made it publicly available on GitHub. This article introduces the “Super Vocab” card type, explains the development process, and, for Anki/Emacs users, describes how to create cards using anki-editor. ...

March 17, 2025 · 5 min · Kaoru Babasaki

Startup error in Emacs: "Project … cannot be read"

The Problem The other day, when I started Emacs as usual, the following message appeared in the minibuffer: Project <Project Name> at <Project Path> cannot be read. Emacs then became a piece of software that simply displayed a white screen. I had recently changed the path of this project, so I suspected that might be the cause. I tried modifying/deleting the project path in projectile-known-projects-file, but the situation didn’t improve. I also tried commands like doom sync and doom upgrade, but none of these resolved the issue. ...

February 23, 2025 · 1 min · Kaoru Babasaki

Troubleshooting "Server julia-ls starting exited… Do you want to restart it? (y or n)" in Julia/Emacs

The Problem So, I recently fired up Emacs to do some Julia coding after a while, and I ran into this annoying message: Server julia-ls:50759/starting exited (check corresponding stderr buffer for details). Do you want to restart it? (y or n) It kept popping up (even if I pressed y), and LSP just wouldn’t start. It took me a bit of time to figure this out, so I’m leaving this note here for anyone else using Julia in Emacs. ...

January 29, 2025 · 1 min · Kaoru Babasaki

Published the Source Code for the Hoff Exercise Solutions Site

Published the source code for: Example Solutions for Hoff’s Exercises GitHub This site was published exactly two years ago and has been updated gradually since then. Previously, I had written on the site asking people to contact me via email if they found any mistakes or typos, but ultimately, I never received any such contact in two years 😭 (I did receive thank-you emails from researchers overseas, which made me very happy.) ...

January 28, 2025 · 1 min · Kaoru Babasaki

Advent of Code 2023 Day 1

Yo, Happy New Year, peeps! Last year, I was on that grind, tackling the 2023 Advent of Code bit by bit. So, I’m droppin’ my solutions and some quick notes here, ya dig? I’m coding all this in Python, straight up. I’m thinkin’ of droppin’ the whole thing on GitHub when I’m done, but no promises on when that’ll be, ya feel me? Aight, let’s jump into Day 1’s solution, no time to waste. ...

January 7, 2025 · 3 min · Kaoru Babasaki