Back in 2013, I wrote about testing R packages (/en/2013/09/testing-r-packages/) when I first released testit. Thirteen years later, I still believe that unit testing should be nothing more than “tell...
My former colleague Nan kept telling me early last year that I should try Cursor, but I felt I didn’t need AI assistance at that time, since I knew pretty well what I wanted to do and how. Plus, I’m g...
A few weeks ago I added preliminary support for Typst to knitr. The way it works is simple: if your file has the extension.Rtyp, knitr will recognize it as a Typst document, knit it, and produce a.typ...
Update on 2026/04/20 Here is a tribute written by Professor Jan Vitek, which included much richer information about Tomas: I hate writing yet another RIP post, but the other day, I learned on Blues...
Earlier this month, @idavydov filed an issue against Quarto reporting that it is about 100x slower than rmarkdown for documents with long output. The minimal reprex was striking: Running quarto rende...
Last month, @bastistician opened an issue on the litedown repo pointing out that knitr has a hook_pngquant function for compressing PNG plots from code chunks, but litedown lacks such a feature. He in...
I set up a partial CTAN (Comprehensive TeX Archive Network) mirror this month at. This post explains why it exists, what’s in it, and how to use it. The short version: TinyTeX now uses it by default, ...
If you have ever installed TinyTeX on a relatively recent macOS system, you might have seen an admin password prompt pop up out of nowhere. What was TinyTeX doing behind the scenes? Well… honestly, so...