Profile

Cover photo
Dmitry Vyukov
Worked at Google
Lives in Moscow
771 followers|192,272 views
AboutPostsPhotosVideos

Stream

Dmitry Vyukov

Shared publicly  - 
 
Benign data races: what could possibly go wrong? Shows how even the most innocent "benign" data races can break badly.
18
6
Anthony Williams's profile photoJohn Donovan's profile photoDmitry Vyukov's profile photo
2 comments
 
Thanks! The scratch storage example is actually based on your example in +Bartosz Milewski blog ;)
Add a comment...

Dmitry Vyukov

Shared publicly  - 
15
1
Add a comment...

Dmitry Vyukov

Shared publicly  - 
 
 

Why Google should buy Uber

What if we all gave up our cars for a 24/7 driverless Uber service?

Much has been written about autonomous cars and the implications they might have for our future. I find most of these musings to be fun and fairly obvious: safer roadways that handle more traffic because computers will drive with more precision than distracted humans; cars that navigate themselves to empty parking spaces; relaxing in splendor in a car that looks more like an office, so you can dedicate another hour of your day to sending emails.

We're missing the point.

Driverless cars will entirely respin the fabric of our communities in ways that play out for many decades

Let me start with a question: if Uber could reliably pick you up anywhere with only 5 minutes notice, in a vehicle entirely suited to your transportation needs of the moment, and deliver you to your destination (anywhere in the country) on average 25% faster than you can drive yourself, would you own a car? And how much would you pay for such a service? $500 per month? Think about it: No car payments. No repair. No insurance. No gas. 5 minute pickup - to anywhere. Would you pay $1000 per month?

Interesting. But its more fun to think about what if we ALL did it  - or at least a large fraction of us. What would our communities begin to look like?

Lets start with our homes:

No garages. Who needs a garage when you don't have a car? How about a free exercise room for every American family instead. Or at a minimum, garages could be used as they are here in the Bay Area: as storage rooms. We'd certainly design them differently.

Driveways for dropoff. No need to make room for your buddies to park at your house for your superbowl party. Just a convenient little curbside dropoff by the street will do the trick.

No on-street parking. That ugly car parked in front of your house by your annoying neighbor? Gone. City dwellers waking up early to move your car on street cleaning days? Gone.

The implications for our towns and cities are probably even greater. A report from MIT Media Lab states that about 40 percent of gasoline usage in urban centers is people looking for parking places. No more. How much time and gas would we save? Well, at least 40%. But maybe a lot more.

 Come to the think of it, who needs parking spaces? Or parking garages? Even moderately dense communities could be served by a fleet of vehicles that is perpetually in motion, assigned by an algorithm to scurry silently and efficiently to the next assignment. Only in rural or sparse suburban communities might there be the need for a small cache of vehicles stored in order to ensure a reliable and responsive quality of service.

Next time you're in a plane, look out on your departure city as you take off and notice the fraction of your city’s square footage that is dedicated to temporary storage of vehicles. Imagine if 90% of those vehicles - and the associated storage space - were gone. Some might actually become parks or urban farms. 

Speaking of planes, what about airports? No parking garages, no shuttles, no watching the rental car agent type stuff  into her OS2 computer for 30 minutes.

Carpools? That's easy. The software can do that. And your wallet is credited for your willingness to share space with your friends and coworkers.

These fleets of shared vehicles would naturally be mostly electric. A driverless Uber service would solve the basic challenges associated with today's electric vehicles (limited range and recharging time). Cars would be recharged as necessary by the algorithm, and assigned tasks based on remaining battery life. Longer journeys might be assigned to special vehicles designed for that purpose - either longer-range electric cars or maybe good old fashioned hybrids.

For the first time since the invention of the automobile, we might actually reverse the incessant paving over of America. Our communities would be safer, cleaner, and more beautiful. No more gas stations on every street corner. Shopping areas could be redesigned as pedestrian-only thoroughfares, where pickup/dropoff points are placed here and there to maximize access and minimize impact. From my own vantage point, there isn’t a reason in the world why University Ave in Palo Alto should have cars on it. We would have access to personal transportation when we need it - and only when we need it - in vehicles that are quieter, cleaner, and entirely suited to our task of the moment.

Now how much would you pay?

Last thought: Who could actually pull this off? Car manufacturers? Um yeah. IBM? Not so much. Apple? No sir. There is one company in the world with the technology, the resources, the influence, the passion, and the kahunas to pull this off. That would be my former employer, Google.

For 8 years, I worked at Google to bring about the revolution known as cloud computing, the impact of which the world is just beginning to understand. But I think the potential of driverless Uber cars is even greater - think of it as cloud commuting.
4
1
Frances Stansbury's profile photoBartosz Milewski's profile photoEric Templin's profile photo
2 comments
 
That's an awesome car 
Add a comment...

Dmitry Vyukov

Shared publicly  - 
 
#golang goroutine blocking profiler is finally in, if you are at tip try 'go test -blockprofile'
12
Add a comment...

Dmitry Vyukov

Shared publicly  - 
 
 
Вы программируете на C или C++?

Если да, то у Вас наверняка бывали ошибки типа “переполнение буфера” или “использование освобождённой памяти”.

На прошлой неделе была выпущена версия 3.1 компилятора +LLVM в состав которого теперь входит +AddressSanitizer , инструмент поиска ошибок работы с памятью.

Этот инструмент отличается от аналогов высокой скоростью и возможностью находить не только ошибки при доступе к динамической памяти, но и переполнения в стековых и глобальных массивах. +AddressSanitizer уже активно используется в Google: например, инструмент помог найти и исправить множество ошибок в +Google Chrome.

Разработка +AddressSanitizer ведётся инженерами московского офиса Google.
http://goo.gl/WHhYH
 ·  Translate
8
2
Elazar Leibovich's profile photoИльнар Борханов's profile photo
2 comments
 
а есть причина, почему нельзя использовать gcc/g++?
 ·  Translate
Add a comment...
Have him in circles
771 people

Dmitry Vyukov

Shared publicly  - 
 
I wish you run 2013 in four goroutines and accomplish everything just in one quarter! My bag is full of new packages, features, compiler and runtime improvements! Happy and concurrent 2013! Go go go!
                                 - Santa Gopher
31
14
Dmitry Vyukov's profile photoJim Teeuwen's profile photoRodrigo Moraes's profile photoHarald Schlindwein's profile photo
5 comments
 
This particular bag contains race detector :)
Add a comment...

Dmitry Vyukov

Shared publicly  - 
 
Good news, everyone!

Go race detector is in pretty stable state now, and I am looking for beta users before Go1.1 release.

To date the race detector has found 100+ bugs in various Go code, including 33 bugs in std lib.

Currently it works on linux/windows/darwin amd64. You need tip >= r14902.

The usage is very simple -- you just need to add -race flag to go command:
$ go test -race mypkg // to test the package
$ go run -race mycmd // to run the command
$ go build -race mycmd // to build the command
$ go install -race mypkg // to install the package

You may start with running your tests. However sometimes tests have limited coverage, especially with respect to concurrency. So it may be beneficial to run the whole program built with -race under a realistic workload. If it find a data race, it prints an informative report to stderr explaining where the race has happened.

I would appreciate any feedback, in particular:
- if it does not work for you for any reason
- if you find anything non-obvious regarding the detector
- your success stories

And, yeah, it significantly increases both memory consumption (~5-10x) and execution time (~2-20x).

Thanks!

Please post comments here:
https://groups.google.com/forum/?fromgroups=#!topic/golang-dev/CLsy3zmf9Ec
20
3
Elazar Leibovich's profile photoМедер Бакиров's profile photoDmitry Vyukov's profile photoJan Mercl's profile photo
10 comments
 
Announce on golang-nuts will be later, potentially with Go1.1 (people on golang-nuts may not know how to use tip).
Add a comment...

Dmitry Vyukov

Shared publicly  - 
7
Add a comment...

Dmitry Vyukov

Shared publicly  - 
 
QotD: "I'm using Go in production (for an almost-complete MVP). For a telephony app I had to dial 100 simultaneous phone numbers to bring people into conference calls. Trying that in Python maxed out my EC2 instance's resources. I had to kill and restart it from the AWS web interface.
Then I rewrote that part in Go. I was staring at the output of htop (similar to top) when it ran and thought something was wrong; it used a few megs of RAM, no noticeable CPU, and finished in 0.59 seconds on a micro instance. Now you can see why Google wanted such a language!" -- someone
http://news.ycombinator.com/item?id=4025479
12
1
Ruslan Absalyamov's profile photoElazar Leibovich's profile photo
2 comments
 
Cool! but "the type safety of C++"...
Add a comment...

Dmitry Vyukov

Shared publicly  - 
2
Add a comment...
People
Have him in circles
771 people
Places
Map of the places this user has livedMap of the places this user has livedMap of the places this user has lived
Currently
Moscow
Previously
Moscow
Work
Employment
  • Google
    Senior SWE
Basic Information
Gender
Male