Hello, I am Vaibhav Verma, a Rutgers CS alum. I'm currently a software engineer at Cruise in the Machine Learning department on the Ground Truth team.
In the past, I worked on buyer experience at Etsy, video infrastructure at Twitch, Open Systems Solutions , cloud services at Microsoft, and payments at Zynga. I've also taught recitation for CS 111 and CS110. I led the revival of the undergraduate CS group at Rutgers, and founded HackRU, a biannual student hackathon.
We've started using Google BigQuery extensively at Cruise as a data warehouse. The syntax for querying arrays in BigQuery isn't obvious and this post will explain how it works.
I spent 5 years in the Computer Science BS-MS program. I was a peer mentor for CS111 for 3 years.
If you're like me, you've written loads of web apps, but you rarely set up SSL on them. SSL is a must for any production-grade web application, especially if you're authenticating users or taking personal information from them. Otherwise all the contents of your HTTP requests are being sent in plaintext - user login info / passwords, cookies etc.
SSH is a powerful protocol that lets you access machines remotely and run commands on them. Rutgers has a cluster of linux machines for CS students, and I often run programs on them. Sometimes, I leave a program running for a while, and forget which machine it was on. In this situation, PDSH comes in handy. It lets me run ps aux | grep -i <username>
quickly across all the machines.
Web Scraping is a super useful technique that lets you get data out of web pages that don't have an API. I often scrape web pages to get structured data out of unstructured web pages, and Python is my language of choice for quick scripts.
Having used Linux almost exclusively for the last four years, I miss efficient window management on Macs. Coming from the awesome window manager, I find that OS X does not have good support for a two monitor multiple workspace workflow out of the box. After tinkering with third party software, I believe I've found a good solution for most of my complaints, and have a workflow that I feel productive with. In my experience, this works best with multiple monitors, a standard keyboard (think Dell not Apple), and a three button mouse (I'm not a fan of touchpads or Apple mice).
Rutgers Open Systems Solutions mirrors a bunch of Linux distributions, and you can use these to download packages quickly when you're on campus. When downloading on the Rutgers campus, your bandwidth will also not be throttled which significantly improves your download speeds.
When building web applications, you sometimes want to retrieve JSON data from APIs and domains that are external to your service. Because of the Same Origin policy in browsers, you cannot retrieve data from other domains via AJAX.
Often times when building web applications, I used to spend time deploying my web applications via ssh
and scp
. Then I used Heroku for a few projects, and I really liked that deploying to heroku was as easy as it could be.
git push heroku master