1,399 karma · joined November 12, 2010
@shawnup on X
Founder/CTO @ Weights & Biases
I'm intrigued. Do you have specific ideas in mind? Do you mean like self-driving cars? Or in home helper robots? All of the above?
Its a bit dissonant when a post is upvoted enough to be on the front page but the highest voted comment is about the post's style rather than content. The post upvoters were probably voting on content, not style.
Don't just upvote just because you agree, upvote because a post contributes to the discussion!
One example: you can run the same input validation in the client as you do in the server if you can easily share code between the two.
But there is way more. Here's an example of an application that shares all of its data models between client and server: http://tilemill.com/docs/models.html
I'm not saying javascript is the king of languages, just that we're limited to it because that's what's in the browser, and writing server code in the same language simplifies things.
This can turn out bad though. I thought I had an apple-id when buying something on the apple site recently. But my standard passwords didn't work so I reset the password (via an email sent to me personal email address from the password reset sequence). When I logged in I found that my email address was actually registered to someone else, and I had their name, full address, phone number and credit card number but with the first 12 digits X'd out.
The person has a similar name to mine, and my email address is my initials and last name, so I believe they just made a typo in the email address when they signed up. But it seems pretty bad that you can do that without verification when doing so can give someone your personal information.
A motivated scammer could register a bunch of typoed email addresses and try resetting apple-id passwords. Then you have a 1 in 333 chance of buying stuff with their credit card because you have to guess the security code (I'm guessing you get 3 chances but you might get more).
Is that so wrong?
I'm not saying you're wrong, just pointing out the flip-side.
Maybe Google should have a separate network with separate virtualized machines and no "Google stuff" for new medium-sized projects. Test whether they get traction there and then port them into "the Google-way" later.
Or maybe "the Google-way" just needs to be fixed up to make it easier. For example you could use AppEngine.
When you turn on Color it starts recording all of the pictures that others in your local area are taking. All of those photos _are stored in your "visual diary"_ forever!
This is a "life recorder" app. Remember this: http://www.wired.com/culture/culturereviews/magazine/17-09/p... ?
In the future you'll be making a documentary of your life just by moving through space, and I think that's a beautiful concept. Your grandkids will be able explore how you lived your day to day life as witnessed by those around you.
On the other hand if you need to achieve a task whose outcome you won't rely on to reach other ends, like say buying airline tickets (ha), its probably better if you can offload the thinking to some other entity.
One day I decided my program was too slow so I profiled it and saw that the hot spots were in the Python protocol buffer implementation. "Easy", I thought, "I'll used SWIGed c++ PBs instead." Made some changes and ran the program again. Almost the exact same run time as before! I profiled again and found that this time the hot spots were in the SWIG layer. I was making so many calls through SWIG to c++ (because I was walking millions of objects), that using SWIGed PBs v. native Python PBs made no difference to my run time. Maybe I could have done some more custom SWIG work to lower the call overhead, but I remember being convinced at the time that SWIG wasn't going to do the trick.
So I ended up writing a 30 line Python extension that processed the protocol buffers in c++ and put the data into Python data structures. Run time was reduced by a factor of 10, hooray!
But you are competing against 'top-notch' (to quote op of this thread) engineers for those types of awards. You'll also sometimes hear complaints about politics in the promotion process. It seemed mostly fair to me based on the promotions of engineers whose work I was familiar with.
This seems like it'll get you 80% of what you want. But it'd be useful to have an actual disk to test on as well.