How I met the qutebrowser

It was through the 'windows' of Internet Explorer that I first got a glimpse of the Internet world. During those days, every PC you buy came with a version of Windows XP installed. I doubt if I knew about any other browsers back then ( I don't think I even cared.). A couple of years… Continue reading How I met the qutebrowser

i3- A tiling window manager to declutter your desktop

The corona virus pandemic has forced many governments to enforce a lockdown. This has forced many of us to work from home. Over the last several weeks I have been trying to perfect my home desktop environment to make me as productive as possible and to optimise all the resources I have. At the office… Continue reading i3- A tiling window manager to declutter your desktop

Rtags completes Emacs

This post is a description of how to setup Rtags on Emacs.  The internet is has quite a few resources about Rtags' setup, but despite that I had to go over several of them to get things up and running for me. Rtags is ideally meant to work for C++ projects that use CMake build… Continue reading Rtags completes Emacs

The Curious Case of Preprocessors

What would be the output of the following code snippet: #include <stdio.h> #define V 1 int main() { int Value = 1; #if V == Value printf("Hello world\n"); #endif // V return 0; } If you guessed that the program will print "Hello world" you are wrong. The reason being #if is a preprocessor directive… Continue reading The Curious Case of Preprocessors

My Experiments with Boost Graph Library

Recently I picked up "An Introduction to Graph Theory" by Robin J. Wilson. After going through a couple of chapters I felt the sudden urge to try out a few of graph theory problems through programming. To try out the algorithms I first need to create the graphs themselves, which seemed a bit of a… Continue reading My Experiments with Boost Graph Library

Range Based For Loops in C++11

Here is a short post on the range based for loops in C++. I recently learned about range based for loops in C++11 standards. These are nothing but easier constructs on writing loops. You no longer have to write: for(initialization;condition;update) The syntax is: for(declaration:expression) Although this looks like a very simple feature there are a few things… Continue reading Range Based For Loops in C++11

Calling a function On termination of main() in C

Dear readers, A friend of mine taught me this new "trick" where you can call a function when the main() in C exits. In the Library "stdlib.h" there exists a function int atexit(void (*func)(void)) the "func" is any function without any arguments. The atexit() calls the function that you register as soon as the main()… Continue reading Calling a function On termination of main() in C

The World of Dynamic Programming

Recently I came across the an algorithm that can find the maximum sub array in a given 1-D array. Its called the Kadane's algorithm.It comes under the domain of dynamic programming. I would like to write about a few things I understood about Dynamic programing so that it may help someone else to get a… Continue reading The World of Dynamic Programming

Creating a Application Launcher in Ubuntu 14.04

Dear Readers, I am back with a very small ubuntu tip after quite sometime. This is not something that is really new and there are many sources out there that explain how to create application launchers in Ubuntu. I needed this to create a launcher for Aptana Studio. So I thought I will write down… Continue reading Creating a Application Launcher in Ubuntu 14.04