I've recently tried to render some ASCII diagrams like the one below in a <pre> tag in HTML. While it looked fine in Neovim and in the MacOS and iOS browsers, I've noticed that on Android the boxes were slightly misaligned. │ ┌────▼─────┐ │ Phase 1 │ └────┬─────┘ │ ┌────▼─────┐ │ Phase 2 │ └────┬─────┘ │ ▼ Original : the diagram above should not align on Android devices │ ┌────▼─────┐ │ Phase 1 │…
When developing OCaml projects in Neovim, the OCaml language server ( ocamllsp ) can be of great help. It should just work out of the box, however there are few tweaks you can do in order to improve your developer experience even more. First things first: Setting everything up I'm assuming you have a working OCaml and opam environment. If not, follow the steps on the official "Getting Started"…
When writing a Neovim configuration or plugin, it sometimes can become annoying when trying to debug an issue. The available debug utilities are either print() or vim.notify() . In both cases (by default vim.notify() is the same as print() ), the log messes are written to :messages , which does not allow to further select or process the printed text (as far as I'm aware). Setup However, thanks to…
For the last few months my Raspberry Pi 4 was happily running on my desk, tucked away next to the monitor. It's serving a small web app in golang on the internal network and tailscale. I've never noticed any latency problems with it, so it took me by surprise when I deployed some OCaml experiments on the Pi and observed a lot of HTTP connection timeouts and name resolution errors while fetching…
Recently I needed to handle datetime objects in a small web application. In the past I've reached out for some JavaScript polyfill library to have a visual input widget for the user. But trying to keep the dependencies small this time, I've checked what new input types HTML 5 has to offer and how well they are supported out of the box. While the current support is surprisingly good, you may still…
Over the course of the last few weekends I finally took the time to revive this blog. In the process I've scraped the old Hugo based site and redone it entirely in metalsmith . This post tries to shed some background on the reasons (spoiler: personal preferences), how metalsmith is set up for this page and what I'm planning to publish going forward. A bit of history When I first registered this…