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.
You are an engineer in a 100+ person organization. Often, when you show up to work, you’re asked to build a new system to replace an old system. Maybe there’s some code that’s buggy or slow that needs to be swapped out. Maybe you’re switching a piece of cloud infrastructure - you’re going to run CI on Buildkite instead of CircleCI, or log metrics using Datadog instead of Cloudwatch. Or maybe you’re swapping out business process A for producing widgets with business process B.
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.