RSS.Social

(think)

follow: @[email protected]

Posts

Learning OCaml: String Interpolation

Learning OCaml: PPX for Mere Mortals

Learning OCaml: Printing Data Structures

Learning OCaml: Working with Records

Building Emacs Major Modes with TreeSitter: Lessons Learned

Setting up Emacs for OCaml Development: Neocaml Edition

Learning Vim in 3 Steps

How to Vim: Auto-save on Activity

How to Vim: To the Terminal and Back

How to Vim: Build your .vimrc from Scratch

Adding Empty Lines in Vim: Redux

Supercharging Claude Code with the Right (CLI) Tools

How to Vim: Many Ways to Paste

Neocaml 0.1: Ready for Action

A Fresh Look for the Blog: Switching to Jekyll’s Chirpy Theme

Tips on Using Mastodon

How to Vim: Navigating Prose in Style

How to Vim: Alternative Approach to Find and Replace

How to Vim: Insert Thing at Point in Command Mode

How to Vim: Using Effectively the Command History

How to Vim: Joining Lines

Burst-driven Development: My Approach to OSS Projects Maintenance

Rust: Embrace Captured Identifier in Format Strings

Configure Quick Terminal Size in Ghostty

Why I Chose Ruby over Python

Wayward Predicates in Ruby

How to Vim: Fixing Typos

How to Vim: Take Control of Split Positioning

Learning OCaml: Having Fun with the Fun Module

Learning OCaml: Numerical Type Conversions

zoxide: tips and tricks

How to Fish: Moving Between Recent Directories

How to Vim: Proper Ways to Escape

How to Vim: Reloading File Buffers