I'm a Googler now!

So, I work at Google now. It still feels like a dream. Google has to be one of the most sought after companies to work for, and I have to be one of the few software developers who have been given a chance to develop my skills at one of the largest technology companies in the world.

And it has been amazing so far! I'm currently part of the Engineering Residency program, a year long development program that focuses on exploring the various opportunities and technologies available at Google. It involves a 2-month training period followed by two 5-month job rotations. This has been the ultimate opportunity because I get to experience the breadth and depth of Google in such a short time.

 

Random Updates!

It's been a while and a lot has happened. If you've read my previous post, I have been working on the Sudoku solver project. In a wonderful coincidence of fate, I was able to do it as part of a project I came up with for my parallel computing class at the University of South Carolina (CSCE 569).

The Results

It's terrible! In terms of real-time solving of the Sudoku puzzle, the project completely missed the mark. It terms of capturing and solving the puzzle, it does better than I ever thought it would. I'm using OpenCV for the Sudoku extraction algorithm and am implementing the digit recognizer using a K nearest neighbor technique. More information about the project can be found at this link here.

What's Next?

This project sparked my interest in image processing with respect to machine vision applications. So, I've decided to start another project to create a library to do image processing on mobile platforms. OpenCV actually has an Android/iOS compatible version, but I wanted to create something more streamlined with simple features. The repository for this project can be found here. I've already implemented a few features (grayscale, edge detection, Gaussian blur, etc.) in RenderScript. I'm going to compare this to the native Java version and see if there's any noticeable speedup. I suspect there will be a significant increase unless my RenderScript code is horrible (it probably is :-P). I've noticed that the intrinsic RenderScript functions are much faster than any basic implementation because they are fine tuned for the hardware and written on an extremely low level (I'm talking assembly code in some cases here). You can't get much better performance in that respect.

HackerRank Back2School Code Sprint

I took the time last night to participate in the University of South Carolina's code-a-thon meeting for the HackerRank Back2School Code Sprint contest. Arriving bright and early at 9PM, my fellow students and I cranked out code like no tomorrow. After working through the night for 12 hours, there were only a few of us left. We never got the solution to some of the problems, but it was great to meet with people just to solve some problems. I hope we do it again next semester.

HackerRank Back2School CodeSprint 2014 contest

 I'm currently sitting in 106 place out of 500+ coders. It wasn't a bad night at all. I guess I'll work on some personal projects now. I'll probably start something new. Stick around and see what happens!

-Michael