Monthly Archives: August, 2021

Behind the Tesla ‘Full Self Driving’ system

If I were giving advice to somebody considering buying a Tesla at the moment, it would be (a) buy it and (b) don’t believe the ‘full self-driving’ hype… yet.

You’ll be getting a car that is great fun to drive, has amazing range, a splendid safety record, a brilliant charging network, etc… and, in the standard included ‘autopilot’, has a really good cruise control and lane-keeping facility. One thing I’ve noticed when comparing it to the smart cruise control on my previous car, for example, is that it’s much better at handling the situation where somebody overtakes and then pulls into the lane just in front of you. Systems that are primarily concerned with keeping your distance from the car in front have difficult decisions to make at that point: how much and how suddenly should they back off to maintain the preferred gap. The Tesla, in contrast, is constantly tracking all the vehicles around you, and has therefore been following that car and its speed relative to yours for some time, so can react much more smoothly.

The dubiously-named ‘Full Self-Driving’ package is an expensive optional extra which you can buy at the time of purchase or add on later with a couple of clicks in the app. At the moment, it doesn’t give you very much more: the extra functionality (especially outside the US) hasn’t been worth the money. If you purchase it now, you’re primarily buying into the promise of what it will offer in the future, and the hope that this will provide you with significant benefits in the time between now and when you sell the car!

But at sometime in the not-too-distant future, the new version –currently known as the ‘FSD Beta’ — will be released more widely to the general public. ‘Full Self Driving’ will then still be a misnomer, but will be quite a bit closer to the truth. YouTube is awash with videos of the FSD Beta doing some amazing things: people with a 45-minute California commute essentially being driven door-to-door, for example, while just resting their hands lightly on the steering wheel… and also with a few examples of it doing some pretty scary things. It seems clear, though, that it’s improving very fast, and will be genuinely valuable on highways, especially American highways, before too long, but also that it’s likely to be useless on the typical British country road or high street for a very long time!

What Tesla has, to a much greater degree than other companies, is the ability to gather data from its existing vehicles out on the road in order to improve the training of its neural nets. The more cars there are running the software, the better it should become. But the back-at-base process of training the machine learning models on vast amounts of video data (to produce the parameters which are then sent out to all the cars) is computationally very expensive, and the speed of an organisation’s innovation, and how fast it can distribute the results to the world, depends significantly on how fast it can do this.

Last week, Tesla held their ‘AI Day’, where Elon Musk got up on stage and, in his usual way, mumbled a few disjointed sentences. Did nobody ever tell the man that it’s worth actually preparing before you get up on a stage, especially the world stage?

However, between these slightly embarrassing moments are some amazing talks by the Tesla team, going into enormous detail about how they architect their neural nets, the challenges of the driving task, the incredible chips they are building and rolling out to build what may be the fastest ML-training installation in the world, and the systems they’re building around all this new stuff.

For most people, this will be too much technical detail and will make little sense. For those with a smattering of knowledge about machine learning, you can sit back and enjoy the ride. There are lots of pictures and video clips amidst the details! And for those with a deeper interest in AI/ML systems, I would say this is well-worth watching.

There are two key things that struck me during the talks.

First, as my friend Pilgrim pointed out, it’s amazing how open they’re being. Perhaps, he suggested, they can safely assume that the competition is so far behind that they’re not a threat!

Secondly, it suddenly occurred to me — half way through the discussions of petaflop-speed calculations — that I was watching a video from a motor manufacturer! An automobile company! If you’re considering buying a Tesla, this is a part of what you’re buying into, and it’s astonishingly different from anything you’d ever see from any other car-maker. Full self-driving is a very difficult problem. But this kind of thing goes a long way to convincing me that if anybody is going to get there, it will be Tesla.

You may or may not ever pay for the full FSD package, but it’s safe to assume much of the output of these endeavours will be incorporated into other parts of the system. So, at the very least, you should eventually get one hell of a cruise control!

The livestream is here, and the interesting stuff actually starts about 46 minutes in.

Audio sometimes preferred!

I had an interesting start to the day. Regular readers of this blog will probably have heard quite enough about webcams and coffee pots, but that’s apparently not true for everybody in the world…

Thirty years ago today, Sir Tim turned on his first public webserver, which means that this is one of the days that people have chosen to label as the 30th anniversary of the Web. As it happens, we’re also not too far from the 30th anniversary of the day when we turned on the Trojan Room coffee pot camera, which would be connected to the web a couple of years later and so become the first webcam.

Anyway, I sometimes get wheeled out as a suitable relic to display from this era, and I had an email yesterday from BBC Radio Cambridgeshire asking if I was willing to be on the Louise Hulland show first thing this morning. I said yes, and they were going to contact me with further details… but I heard nothing more, so presumed it wasn’t going ahead. Until, that is, I emerged from my shower this morning, draped in my dressing gown but dripping slightly, to hear my phone ringing… and answered it only to be dropped into a live interview. However much I like networked video, there are times when audio really is the best medium! Anyway, it’s here, for the record.

Perhaps better is an interview that was actually recorded quite some time ago by Jim Boulton for the Centre for Computing History, but which they first published today as part of the local Web@30 event. In it, I am (a) slightly more compos mentis, since it was recorded later in the day and I had consumed more coffee, and (b) rather better attired.

MeetingBuster and the Christmas Call Diary

There was a period of a few years when I played quite extensively with VOIP, which for the uninitiated, stands for Voice-Over-Internet-Protocols, sometimes called ‘IP Telephony’. This isn’t about Zoom and Skype and FaceTime, but about traditional phone calls: the things your parents used to make (and maybe still do), often using devices attached to the wall with wires!

It all seems very obvious now, but there was a point between about 20 and 10 years ago when the typical office phone changed from being an audio device plugged into a landline-style connection with analogue voltages talking to a phone exchange, to being something digital that plugged into the ethernet and had an IP address. Telephone calls, hitherto controlled by large national monopolies with expensive proprietary equipment and hideously complex signalling protocols, started to become something ordinary users could manage with their own software, even Open Source software.

Companies that had previously paid vast sums of money to buy or lease a PBX (the ‘Private Branch Exchange’ that gave you internal phone numbers and routed calls to and from external numbers), could now just install software on a cheap PC and route calls to phone handsets over the local network. If you also routed calls over the wider internet, limitations of most broadband connections meant that the quality and reliability left something to be desired, but, as one perceptive observer commented at the time, “The great thing about mobile networks is that they have lowered people’s expectations of telephony to the point where VOIP is a viable solution.”

Phone Phun

And what you could do in an office, you could also do at home, just for fun. I loved this stuff, because in my youth telephony had embodied the quintessence of big faceless corporations: you paid them, they told you what you could and couldn’t do with the socket in your wall, you lived with the one phone number they decided to give you, and could only plug in the equipment that they approved. Any variations on this theme rapidly became very expensive.

With VOIP, however, you could now get multiple phone numbers in your own house and configure how they were handled yourself. I had one number that was registered in Seattle (because I was doing lots of work there), but it rang a phone in my home office in Cambridge — the same one that also had one Cambridge number and one London one — with the calls routed halfway around the world over the internet, basically for free. All of a sudden, you could do things that the Post Office, BT, AT&T, or whoever, would never have let you do in the past. It was fun!

Part of my interest came from the clear parallels between how phone calls were handled in this new world, and the way HTTP requests were handled on the web. I first got involved in telephony with the AT&T Broadband Phone project back in 1999, when my friends and I had to write our own telephony stack based on the new SIP protocol, and build our own custom hardware to connect our SIP network to real-world phone lines.

But, as with the early days of the web, Open Source servers soon emerged so you didn’t have to write your own! The Asterisk and, a little later, FreeSwitch packages were very much analogous to Apache and Nginx in the web world. Calls came in, and you decided what to do with them using a set of configuration rules similar to those that might determine what page or image to return for a particular URL. Voice prompts and keypad button presses were a bit like forms and submit buttons on web pages… and so on.

Anyway, there were a couple of quick hacks that I put together at the time which turned out to be rather useful, so if you’re still with me after the history lesson above, I’ll describe them.

The Christmas Call Diary

We were a young startup company, with about half-a-dozen employees, operating primarily out of a garden shed in Cambridge. But we had sold products to real customers who expected a decent level of support. As Christmas approached, we realised that the office was going to be empty for about a fortnight, and started to wonder what would happen if anybody had technical support issues and needed urgent help.

So I set up a shared Google calendar, and asked everyone to volunteer to be available for particular periods of time over the holiday, just in case any customers called; a possibility that was, we hoped, pretty unlikely, but it would improve our reputation no end if somebody did answer. All we had to do was put entries in the calendar that contained our mobile or home number during times when we didn’t mind being disturbed. People valiantly signed up.

We were running a VOIP exchange on an old Dell PC, and I wrote a script to handle incoming calls, which worked like this:

  • When a call comes in, ring all the phones in the office for a short while.
  • If nobody picks up, then look at the special Google Calendar to see if there’s a current entry, and if its contents look like a phone number. If so, then divert the call to that number.
  • If it isn’t answered after a short while, send the caller to our voicemail system, and email the resulting message to all of us.

In the end, I don’t think anybody did call, but the script worked as intended, and allowed us to have a more worry-free Christmas break, which was perhaps its most important achievement!

MeetingBuster

Back in 2006, I registered the domain MeetingBuster.com, and thanks to the wonderful Internet Archive, I can see once again what the front page looked like, which neatly explains its purpose (click if you need a larger image):

A later update allowed you to call MeetingBuster and press a number key within 10 seconds, and your callback would then happen that many tens of minutes later, so pressing ‘3’ just before going into a meeting would give you an option to escape from it after half an hour. (Remember this was all well before the iPhone was released, so all such interactions had to be based on DTMF tones.)

Anyway, Meetingbuster was just for fun, and there are probably better ways to escape from today’s virtual meetings. But if/when we go back to face-to-face meetings again, and you need an excuse to say, “Oh, I’m sorry, I really ought to answer that; do you mind?”, then let me know and perhaps I can revive it!

© Copyright Quentin Stafford-Fraser