Securing GPG and SSH Keys with YubiKey

Introduction How do you manage your GPG and SSH keys? Saving private keys in cloud storage like Dropbox? Copying and reusing the same key across all PCs? Creating separate keys for each PC but losing track of which key is where? If this sounds like you, that’s weak. You are vulnerable. Figure 1: You should be seriously concerned. Like many of you, I used to struggle with managing GPG keys (needed for pass or sops) and SSH keys (essential for accessing other machines or ordering coffee) as my device count increased: ...

February 14, 2026 · 5 min · Kaoru Babasaki

(NixOS) Fixing "Could not start dynamically linked executable" When Launching mcp server via uvx

As shown under another article, I’m using uvx to run some mcp servers needed by mcp.el. However, when I first started them on NixOS, I encountered an error. After consulting Gemini for solutions and a root cause analysis, here are my notes. Symptoms and Error Message Checking the *Mcp-Hub/ buffer with mcp-hub-view-log, the following error appeared: [stderr] Could not start dynamically linked executable: /home/bk/.cache/uv/archive-v0/unI5q9QapqXHm9fPXna4G/bin/python [stderr] NixOS cannot run dynamically linked executables intended for generic [stderr] linux environments out of the box. For more information, see: [stderr] https://nix.dev/permalink/stub-ld [jsonrpc] D[14:56:49.461] Connection state change: `exited abnormally with code 127 Solution: Enable nix-ld Adding the following to your nix configuration resolved the issue for me: ...

July 2, 2025 · 3 min · Kaoru Babasaki

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. My first encounter with an LLM inside Emacs was in November 2022, through AI-powered code completion with copilot.el. I still vividly remember how impressed I was at that moment. 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

Fixing Reference Display Issues with ox-hugo

The Problem I was trying to use Org Cite Citations and the following code to display my references: #+print_bibliography: But only the “References” header showed up – the actual list of references was missing. I checked the generated Markdown (.md) files in my content/ directory, and the reference list was there in HTML. However, when I looked at the final HTML files in the public/ directory, the references were gone. This suggested the problem was happening during the Markdown-to-HTML conversion (the md -> html part of org -> md -> html). After some digging, I found an issue on GitHub about the same problem, which led me to the solution. ...

November 12, 2024 · 2 min · Kaoru Babasaki