Summed Area Table

Suppose you have a very large matrix A and you would like to calculate the sum of a submatrix that resides within A. How would you do that?

It would be relatively straightforward, if you had do it just once. You would sum up all the elements in that submatrix which would be of O(m*n) time complexity, where m is the number of rows and n is the number of columns in the submatrix. The question becomes a bit more complex if you have to query the sum of different submatrices multiple times. Unsurprisingly, such use-cases do come up in Computer Vision and Computer Graphics, and O(m*n) time complexity can get incredibly disturbing for repetitive calls.

Read More

C++ Essential Reading List

My first experience with C++ was around highschool, when I got a book to see if I could learn how to program on my own. I either downloaded Dev-C++ or the book came with a CD. I don’t remember. Unfortunately, I couldn’t make much progress as I couldn’t figure out how to stop the console application from exiting immediately. I had some programming experience before with Visual Basic 6.0, but I didn’t have anyone to show me the way for C++. At the time Youtube was fresh and wasn’t as lively as it is now. Internet was dead-slow.. I gave up, picked up a bass guitar and joined a band. That was my first C++ book, it had not helped me much.

Read More

Books and Films

Books and films are an indispensable part of my life. I had long wanted to keep track of the films I watch and the books that I read as they can be a window to the past, and perhaps the future. I decided to share what I read/watch with the world. I am not entirely sure what my motive is. Perhaps someone will see the book list and reach out. Maybe I will respond to them. Maybe it will help drive some insightful discussions. Maybe it’s the geek in me. Maybe I’m following Bill Gates’ footsteps. Maybe I am trying to promote the books/films that I like. Who knows?!

Read More

The Gospel of Technical Interviews

For the last one and a half months, I have been waiting for my OPT to arrive so that I can start working. I am really looking forward to it, but there have been considerable delays in OPT processing times. I am not used to not doing anything, and I quickly get bored. I do not have the funds to go on a vacation nor do I have a car so I can’t travel much. There aren’t that many people around either. It sucks that when you are 27, almost everyone around you seems to have a job. I have been a regular at all coffee shops that were close to my place and watched the Office from the start to the end. I am trying to avoid watching it all over again.

Read More

Democratizing Machine Learning - Data

Industrial revolution was driven by the standardization of parts, tools and interfaces. In the context of machine learning, democratization is only possible through the standardization of machine intelligence. As I established in my previous post, empowering people to build their own models is as equally important as providing them ready-to-use tools.

Read More

Democratizing Machine Learning - Tools and Frameworks

It should be clear that this blog post is about democratizing machine intelligence. Ok, this might be a little late compared to all the blog posts that came before it. One thing I can assure you that this is not a blog post that preaches cryptocurrency or blockchain technology.

Read More