As a top technology company, Uber should have had some basic measures to ensure safety of their rides. In this specific case, the driver turned off the GPS, and took a detour. At the very least, these incidents should have triggered alerts on their internal monitoring systems. And, assuming they had an agreement with cellular service providers for public safety, they could have tracked of the location of the female rider through her cellphone, and dispatched cops to that location.
Precisely for the reasons you mentioned in your blog post about how things can be gamed in India through bribes, Uber should have been careful about expanding in India. Asking the drivers to provide a conduct certificate in a corrupt country like India is a "cover your ass" move to precisely brandish this certificate and say - "Hey, see, we did our homework. It is not our fault" in situations like this.
This was an opportunity for them to raise the bar. This is a leadership failure. They were too eager to just expand overseas. They could have used technology to mitigate such risks in the "rape capital" of India (world?). Some things I think they can do as a technology company in India
- Install custom GPS trackers which cannot be turned off manually on the cars.
- Install a special audio/video cam in the car, and automatic audio/video feed analysis for distress screams, struggle.
- Automatic algorithmic tracking of the car route/de-tours
Like I said, they had a golden opportunity to showcase how technology could be used to mitigate the risk of such incidents in Delhi, and used it in their marketing. They could have raised the bar. They could have shown how it is done. They could have made the world safer and better. This is what separates the great from the good. Larry Page calls them Moonshots. Uber had the resources to do it. They played the "CYA" game. They should take responsibility. They could have taken something and made it 10X better. That's what great companies do.
Hmmm..shouldn't Uber banned in whole of India instead of just Delhi, till the Govt of India figures out how to allow Uber to operate with better safety measures.
It is a shame that Indian government never even conferred a Padma award to Kailash Satyarthi (http://en.wikipedia.org/wiki/Padma_Shri) but was bestowing these awards in abundance to corrupt and classless politicians and journalists (Rajdeep Sardesai, Burkha Dutt)
Govt of India and Indian media was probably caught off-guard by this development.
It is remarkable that top 4 IITs combined make up 5.2% of undergrad degrees of CS professors right after MIT 5.9% and ahead of Harvard at 3.1%. What is even more impressive is the fact that these four IITs admit around 140-150 students into the Computer Science program every year. It will be interesting to know how many undergrads graduate with CS/EE degrees from MIT and Harvard. Nehru's vision (India's first prime minister) for creating IITs was producing best technical minds for the development of new independent India, what happened instead was IITs attracted the best and brightest in India and became the number one exporter of top technical minds to USA. This brain-drain seemed to have slowed down a bit in the last decade.
I suspect that many non-CS folks go onto CS Phd programs. I have heard that undergrad major at top Indian schools reflecting signaling (certain majors in certain years get the better students, independent of student interest) which is why major isn't a reliable indicator. (Not so much in the US too)
Having worked with many folks from IIT, it is a fantastic source of raw intelligence. I view it more similar to CalTech. Coming from a rich family, being a star athlete, or student body leader doesn't help. It's all about the academics.
I suspect the opposite is true. Mostly IIT CS/EE majors get into the top CS PhD programs. Many non-CS folks, sure change professions to being programmers but rarely graduate with a stellar PhD from a top 5 (10?) computer science program. Most of these IIT grads have to apply to graduate school with 6 semesters of work. Without a CS/EE degree, and a recommendation of a top IIT CS prof (who has a good reputation of sending top students regularly to graduate programs) whose students get pattern matched by the selection committee's from top 10 CS schools, it is next to impossible for a non-CS IIT grad to compete with a typical top 10 graduating CS grad (9.4 + GPA, probably some Math/Phy/Chem olympiad medal or ICPC finalist/winner, almost perfect GRE scores, may 1/2 ACM conference papers). Please note that I emphasize the top 10 CS schools part quite a bit because the game of finding an asst prof job is heavily rigged and top 10 CS school grads have a major advantage over others here.
Thank you for clarifying. In hindsight I think you're right. There is a higher burden on the foreign student. An MIT EE or applied math undergrad with a lot of CS classes can get into MIT's Phd program without the CS degree, while it's tougher from someone unknown to the faculty.
"It will be interesting to know how many undergrads graduate with CS/EE degrees from MIT...."
Before the dot.com crash, it was ~ 40% of the undergraduates for more than a couple of decades, ~ 400 students. After, enrollment dropped by a bit more than half, and as of late it's climbed back up a great deal.
Is that 140-150 students total for those 4 ITTs, or for each?
Until the late 90s it was about 35 per IIT for CS, so about 140 for the top 4 IITs. After that it was about 50 per IIT, so 200 in all. Double these numbers if you want to include EE as well.
There was post on HN of a blog post link which contained a list of all free machine learning/data mining books. Wondering, if someone can post the link to it. I am unable to find it through search.
I haven't done much assembly (barring some FPGA programming I did in an undergrad course, and writing an editor on a Motorola processor).
This code so eminently readable. Is this the norm or is it Woz working his magic writing incredibly detailed documentation. Writing easily understandable code takes effort and wisdom. Anyone who writes code for a living knows the importance of writing code which is easy to read and maintain.
I used to write a lot of ARM code in the 90s, and, though I say it myself, I thought it was all very readable code. Of course, it was more heavily commented than code I'd write in a higher-level language, but also it's about structuring it well: subroutines and, kind of, objects even.
Of course, it helped that the ARM instruction set was very simple back then.
"This code so eminently readable. Is this the norm or is it Woz...?"
It's super easy to write spaghetti code in assembler, so if you wrote any code of any size you really needed to be super careful in structuring and documenting it. Especially since in the "old days" your selection of identifiers (labels) was also often limited.
Plus assembly is generally pretty regular in structure so you can't rely on the "shape" of the code (e.g. indenting) to find your way, and it's not dense enough to allow a complete functional unit to fit in your fovea.
As a result of that, if you didn't write like Woz did here you ended up with write only code.
And to be nitpicking - when you worked with FPGAs, you probably didn't do assymbly code either. Unless what was implemented in the FPGA was a cpu core.
FPGA design is not writing a program with instructions that are executed by a processor. It is describing real hardware with registers, wires, memories, pins and logic gates. This description is mapped onto the actual resources in the FPGA. The result might be a CPU that can execute instructions available as bit values in a memory, but quite often it isn't.
I know this is nitpicking - but as a HW designer I really have a problem when people use the term "FPGA programming". ;-)
From my observation, it seems this gap is prevalent mostly in engineering (not so much in HR, Marketing, Sales etc).