Like Facebook? Netflix? The BBC?
102 karma · joined September 30, 2010
Like Facebook? Netflix? The BBC?
On the server you end up caching at lower levels in the stack. For example a query for user(id: 123456) {id, name} is going to need data from a key-value store containing user info. That access can easily be cached with something like memcache, saving load on the database. Cache-invalidation problems are also much easier to solve at these layers.
The client application should drive the decisions about what data to fetch. After all it's the client that knows what it is actually going to be doing with the data, not the server. Current approaches like having a "fields" option on a REST endpoint are at best a hacky approximation to this.
.Foo {
a {
/* stuff */
}
}
It translates into: .Foo a { /* stuff */ }
CSS is evaluated right to left, so this means every time an <a> is encountered in the page it has to at its parent chain to see if any has class Foo. This can cause performance issues especially for really large pages.That said, for most pages it won't make a noticeable difference so it's kind of up to you to decide if you care.
</sarcasm>
In case you're not familiar with them, the basic idea is treating a image of a face as a very high dimensional vector, and then doing what amounts to PCA on a collection of them. I'm leaving off a few steps, but the resulting eigenvectors converted back into images helped me grasp what was going on in a much more intuitive fashion.
http://developer.android.com/guide/topics/security/permissio...
Later I did some investigation. First I bought one of those standard outlet testers. It seemed to suggest that everything was fine with the outlet. Then I did some more investigation. I got a volt-meter and started measuring the voltage from the different prongs. Finally I measured the voltage compared to a copper pipe in the house.
Turns out that both the neutral and ground wires were actually hot (as measured against the grounded pipe), and the "hot" wire was the ground. The outlet in the other room had been wired correctly. The shielding on the cable was grounded so suddenly it sent 120 volts down the audio cable when I plugged it in—destroying it in seconds.
The electrician didn't believe me when he came in to fix it, but was finally convinced when he checked against a pipe.
Just goes to prove that you can't make any system fully fool-proof.
-Roman
From https://developers.facebook.com/policy/
6. You will not directly or indirectly transfer any data you receive from us, including user data or Facebook User IDs, to (or use such data in connection with) any ad network, ad exchange, data broker, or other advertising or monetization related toolset, even if a user consents to such transfer or use. By indirectly we mean you cannot, for example, transfer data to a third party who then transfers the data to an ad network. By any data we mean all data obtained through use of the Facebook Platform (API, Social Plugins, etc.), including aggregate, anonymous or derivative data.
That's pretty big logical leap.
An imperfect approximation of the social graph still has a lot of value.
Filters cover up these flaws. You no longer see all the noise and general crappiness after taking a photo blurring it, overlaying textures, and then blowing out the color. Plus they give you a bit of creative control. I think that's the reason that these apps are so popular.
The second enemy is patent trolls. They don't actually build anything, so defensive patents are useless.
Because of this, the most prudent thing for a company to do is aggressively acquire patents with one hand, and lobby for the abolishment of these patents with the other hand.
Seems like everyone wins.
Internships are also a much better way to screen a potential full-time employee. The company gets 3 months to interview the candidate in a real work environment, instead of a few hours in front of a white board.
Just to be clear, I'm not saying I think Rand Paul is a racist. I'm just saying I don't think he has a chance in a national election.
Personally, I find actually sharing photos on instagram to be much less compelling. My whole social graph is already on Facebook.
Full disclosure: I have a ridiculous personal bias on this topic, since I work on Facebook photos.
I understand that in some cases redacting names weakens the impact of the leak and its political statement. However, releasing the name of some random informant working on the ground in Iraq has no substantial effect on the impact of the whole leak, but can have an enormous effect on that person's life, especially if he's killed.
46 * $15 = $690
Where'd the other $250 come from?
A blog, on the other hand, is an application that should be written on top of all this. It would make more sense to me include this as an example application.
It seems pretty obvious to me that the intent of creating the "ruby new blog" command was to make it extremely easy to install the example blog app. However, by doing this, they are marketing rails as a magical framework. The framework auto-generating you a whole blog isn't really a good hello world program; it didn't teach me anything about how rails works.
I remember back when ruby first came out (I'm sure a lot has changed since) I was watching videos that introduced it, and every time the presenter would say something like "Hey you want a blog? Just type magic make me a blog command, and now you have a fully functioning blog with a built in CMS." I remember thinking to myself, "but I'm not building a blog" and then I went back to my PHP. I'm not saying this was the correct reaction, perhaps I should have instead gone and investigated it further, but that's how it was marketed, and I found it off-putting.