A Garden of Meditations

Optimizing the browser experience

This post contains a list of tricks I employ to make my browser usage more efficient. All of these should work on Chromium (and thus Chrome) as it is my primary browser and I use these there (I was a Firefox user until it started using noticeably more resources, if anybody knows how to improve Firefox’s performance please let me know), however m... Read more

The mysterious Y combinator

One of the fundamental limitations of the Lambda Calculus is that the functions do not have names - they are anonymous. As a direct consequence, there is no trivial way of defining recursive functions - functions that call themselves - as functions do not have any names to be called with! However, recursion is a very powerful idea - it is used i... Read more

Vim as a debugger

I recently learned about vim’s termdebug feature and this is small tutorial on the same. This requires at least vim 8.0 and a working gdb. I shall be demonstrating it on the following C++ program. #include <iostream> int factorial(int n) { std::cout << "n = " << n << std::endl; if(n < 2) return 1; ... Read more