Autonomous Shipping Containers

An interesting angle on autonomous vehicles that was recently pointed out to me is the rise of vehicles with no passenger whatsoever.

This seemed obvious as soon as somebody spelled it out, but I had never really dwelt on the ramifications.

Commercial transportation often has two components: a cab and a trailer. The purpose of the cab is to provide power and (human) control, while the trailer contains the load.

With autonomous vehicles, human control is no longer necessary and I can imagine removing most of the cab. Basically what we wind up with is autonomous shipping containers.

Imagine a long stretch of rural highway where most traffic consists of self-driving shipping containers with no humans in sight. It’s kind of a wild vision.

In Praise of tmux

We have been using tmux a lot at Udacity, and it is terrific for remote pair programming.

I learned about tmux years ago, but my use of it has waxed and waned depending on circumstance.

At Udacity right now, we have a developer in Toronto, another in Chicago, and then the rest of us bounce around between Mountain View, San Francisco and wherever we live. tmux lets us work on the same code together, which is a godsend.

If you’ve never used tmux, it serves two primary functions. (Actually, it probably serves a lot of functions, but I use it for two functions.)

One, tmux allows me to open multiple panes in a terminal. So instead of having to switch back and forth between terminal tabs, or open and close a file to get back to the command line and run it, I can just divide the terminal in two. I leave my file editor (vim) on one half of the page and my command-line on the other. A keystroke lets me bounce back and forth.

But the real value of tmux is in its other function — pair programming. Two different developers, working in different parts of the world, can log into a machine, attach to the same tmux session, and pair program. When Cameron’s in Chicago and I’m in California, we can both type into the same vim editor at the same time. I love it.

Lane-Finding Demo

As part of the Bay Area AI Meetup at which I spoke tonight, I created a small Jupyter notebook that demonstrates using OpenCV to find lane lines in a camera image.

If you’re interested, feel free to try it yourself!

I think it’s pretty easy to follow (although let me know). First, perform the setup steps listed in the GitHub README. Then follow along through the Jupyter notebook to find your own lane lines 🙂

We do a more advanced version of this exercise, plus a whole lot more, as part of the Udacity Self-Drivng Car Engineer Nanodegree Program. If you like this exercise, consider signing up to learn all about self-driving cars with us!

SDC Syndrome

One of the students in the Udacity Self-Driving Car Program, Marius Slavescu, has a great post up about the work he’s been doing on the Self-Driving Car Challenges that Oliver Cameron and Eric and Mac have been publishing.

In particular, Marius writes about “SDC Syndrome”:

sleepless nights thinking about and working on how to get better results in the challenges, also helping people to get started (most of the things were new for me also), at the same time to ensure that what we will build there would be beneficial for our society, especially our kids.

Read the whole thing 🙂

Taking Uber to the Game

I’m not afraid to say it.

I am a Phoenix Suns fan.

I still wear the orange and purple, even though the Suns are 3–8 and sit near the bottom of the Western Conference. Charles Barkley 4ever.

And so I paid good money and trekked to the Oracle Arena tonight, all to watch the Suns collapse in the final minutes of the game, as soon as the Warriors decided to actually start trying.

On my way in, I saw a giant Uber sign, with an arrow pointing into the stadium lots. As far as I can tell, the Warriors are actively facilitating Uber, even though it undercuts their take from stadium parking.

Maybe it’s because fans demand it. Maybe it’s because Joe Lacob, the Warriors’ venture capitalist owner, has a stake in Uber.

Whatever it is, hello future.

GPUs Are Eating the World

Our partners at NVIDIA just announced an amazing third-quarter, which cycled (see what I did there?) their stock price up 30%.

The bulk of NVIDIA’s present growth is in their bread and butter gaming business, where they sold $1.24 billion worth of GPUs in just the third quarter.

Headlines then mention NVIDIA’s datacenter business, where they sell GPUs to companies like Google and Facebook, which use the GPUs not for gaming, but rather for high-powered deep learning.

GPUs employ massive parallelism to stream games to computer monitors. One way to think of it is that every pixel on a monitor is doing pretty much the same thing, just with different inputs, which is how the colors change.

That massive parallelism turns out to be equally helpful for deep neural networks, in which every unit in the network is doing pretty much the same thing, just with different inputs.

The third and fastest-growing unit of NVIDIA’s business is automotive, which grew 61% year-over-year. Every automotive company in the world is pulling NVIDIA chips, particularly the DRIVE PX2, into their autonomous vehicles. These chips enable deep learning and other parallelized computations that help the car process data in real-time.

It’s a good time to be making GPUs.

Becoming a Self-Driving Car Engineer

Next Wednesday, 11/16, I will be speaking about how to become a self-driving car engineer at the Bay Area AI Meetup in San Francisco.

I’ll talk a little bit about my own back story, then about the Udacity Self-Driving Car Nanodegree Program, and then we’ll code a little bit.

The event is at 6pm downtown and there are still a few spots left, so please sign up. And say hello when you get there!

Lane Lines

One of our goals for the Udacity Self-Driving Car Nanodegree Program is to get people excited about self-driving cars right off the bat.

To that end, we introduce a lane-finding project to students within the first few hours of the course.

It’s been a lot of fun to see students post videos and photos of their lane-finding project all over the Internet.

Joseph King uploaded his project to YouTube, and Jessica Yung wrote a blog post about it.

Check them out!

Data on Self-Driving Car Engineers

The Salary Data company Paysa (which is, full disclosure, a Udacity partner) just released a really detailed blog post on demographics and income data for autonomous vehicle engineers.

This could be interesting if you, for example, aspire to become an autonomous vehicle engineer.

Takeaways:

  • Top metro areas include Silicon Valley, Boston, and Detroit
  • Top employers include Google, HERE, Bosch, Zoox, Ford, GM, and Tesla
  • Annual Salary = $138k base + $26k bonus + $73k equity = $233k total

Read the whole thing for all the details.

Transmission.ai and DeepDrive

My colleague Oliver Cameron has created a weekly newsletter about deep learning and self-driving cars called Transmission.ai. It’s got some great content 🙂

My favorite article in Oliver’s inaugural issue isn’t really an article at all. It’s a link to Craig Quiter’s GitHub deepdrive repo that lays out how to hack Grand Theft Auto and create a self-driving car within the game.

This is so cool. We’ve spoken to Craig several times about this. While it didn’t really work out for us to use as a simulator for the Self-Driving Car Program, it’s an amazing technological hack nonetheless.

And Craig has turned himself into a self-taught deep learning expert.

Check out more of Craig’s work on his website if you want to learn a little bit about self-driving cars and simulation!