Neocaml 0.1: Ready for Action
neocaml 0.1 is finally out! Almost a year after I announced the project, I’m happy to report that it has matured to the point where I feel comfortable calling it ready for action. Even better - neo...
neocaml 0.1 is finally out! Almost a year after I announced the project, I’m happy to report that it has matured to the point where I feel comfortable calling it ready for action. Even better - neo...
It’s been over 4 years since I last updated the look of my blog - in late 2021 I switched to the popular at the time “Minimal Mistakes” theme. It served we well, but like so many Jekyll themes it g...
I’ve started using Mastodon over 3 years ago, in the aftermath of Twitter’s meltdown. At first I didn’t like it much, as there were a few things about it I found frustrating: You had to pick so...
I don’t know about you, but I’m not using Vim solely for programming. I also write documentation in it, plus most of my blog posts (like this one). When dealing with prose (regular text), it’s goo...
The classic way to do “find and replace” in Vim is pretty well known: :%s/target/replacement/gc This will replace all instances of target in the current buffer (that’s what the % is about) with ...
Most Vim users probably know that they can use Ctrl-R to insert the contents of registers, while typing some command. For instance - you can insert the clipboard contents with Ctrl-R +. Fewer peop...
One of the frustrating aspects of Vim for me is that in insert mode you’re quite limited in what you can do. That’s fine most of the time, except when you’re in command-line mode (meaning you’re ty...
Joining adjacent lines is something that comes up often while editing text/code. That’s why it should come as no surprise that this is something well supported by Vim. You have two ways to join lin...
I’ve been working on OSS projects for almost 15 years now. Things are simple in the beginning - you’ve got a single project, no users to worry about and all the time and the focus in the world. Thi...
While playing with Rust recently I’ve noticed that most Rust tutorials suggest writing code like this: println!("Hello, {}!", get_person()); // implicit position println!("Hello, {0...