Slashdot Log In
Facebook's Cross-Language Network Library
Posted by
kdawson
on Tue Apr 03, 2007 07:03 AM
from the talk-is-lightweight dept.
from the talk-is-lightweight dept.
koreth writes "Facebook has released Thrift, a toolkit for making remote method calls. It generates interoperable network code in C++, Java, PHP, Python, and Ruby. Its protocol is much more lightweight (and probably much higher-performance) than SOAP or CORBA. Facebook uses it internally for high-traffic services like search. The license is extremely permissive."
Related Stories
[+]
Your Rights Online: Photo Tagging as a Privacy Problem? 143 comments
An anonymous reader writes "The Harvard Law Review, a journal for legal scholarship, recently published a short piece on the privacy implications of online photo-tagging (pdf). The anonymously penned piece dourly concludes that 'privacy law, in its current form, is of no help to those unwillingly tagged.' Focusing on the privacy threat from newly emergent automatic facial recognition search engines', like Polar Rose but not Flickr or Facebook, the article states that 'for several reasons, existing privacy law is simply ill-suited for this new invasion.' The article suggests that Congress create a photo-tagging opt-out system, similar to what they did with telemarketing calls and the Do-Not-Call Registry." How would you enforce such a registry, though?
This discussion has been archived.
No new comments can be posted.
Facebook's Cross-Language Network Library
|
Log In/Create an Account
| Top
| 104 comments
| Search Discussion
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Excellent news! (Score:1, Funny)
Perl? (Score:5, Interesting)
(http://stalag99.net/ | Last Journal: Tuesday August 14, @12:20PM)
Re:Perl port now available (Score:4, Funny)
(http://stylus-toolbox.sf.net/ | Last Journal: Tuesday May 15, @11:50AM)
Re:Perl port now available (Score:5, Funny)
-lp040 $@+=$@%1e3*(9x(3*y/dbl/\xe4/-4*/e/))||/te|\xe4/./
extremely permissive (Score:5, Funny)
(http://antidefactualization.blogspot.com/ | Last Journal: Friday April 01 2005, @11:09AM)
Re:extremely permissive (Score:4, Funny)
Ohhh, goody (Score:2, Insightful)
Re:Ohhh, goody (Score:4, Funny)
(http://stylus-toolbox.sf.net/ | Last Journal: Tuesday May 15, @11:50AM)
No, thanks. I prefer my CORBA medium-rare.
Re:Ohhh, goody (Score:4, Informative)
(http://www.chriswareham.net/)
I've worked with CORBA at my last three jobs, and I've been pretty happy with it. I've used OmniORB, Orbacus, JacORB and MICO - all of which work very well, although the licensing cost of Orbacus puts it out of reach for most of the things I work on. I do have to wrap a lot of the C++ stuff in helper classes though, as the mapping for that language is far too baroque. One of the consultants at IONA has produced an open source CORBA utilities library [ciaranmchale.com] that which is far more extensive than my one.
potential privacy concern? (Score:2, Funny)
(http://www.ethereal.cc/)
Re:potential privacy concern? (Score:4, Insightful)
(http://www.vanderlee.com/)
They're not giving away any API to their data.
What they've released is nothing more than a platform-independant RPC protocol.
And a weird one at that. Instead of relying on common, generic data-format such as XML, they seem to be relying on a custom compiler for their own definition language. I'm sure the underlying data-format is usable without the compiler, but then there could be better methods for writing/reading it.
Re:potential privacy concern? (Score:4, Informative)
"Probably" much higher performance? (Score:4, Insightful)
Indexes (Score:3, Interesting)
(http://www.vanderlee.com/)
Couldn't it do this automatically, or can you mix them up in some way?
OT: A good C++ RPC library without code generating (Score:4, Insightful)
(http://www.juhonkoti.net/)
According to the tutorial this api relies on code generation, which I personally don't like.
Does anybody know any good C++ RPC library which uses templates and which does not need code generating with any external tool nor executable?
C++ templates allows metaprogramming, so such tools should be able to be developped, but I don't know any. Does anybody know any?
- Garo
Re:OT: A good C++ RPC library without code generat (Score:5, Interesting)
(http://www.chriswareham.net/)
Does anybody know any good C++ RPC library which uses templates and which does not need code generating with any external tool nor executable?
Yup, sockets. Every RPC-ish system I'm aware of (Sun RPC/XDR, CORBA, SOAP, RMI, ASN.1) needs a code generator that produces the stubs which make it easier than using raw sockets. The code that's produced by these stub compilers can be pretty small and well optimised (apart from SOAP), plus you shouldn't need to edit it by hand. Some compilers, such as a decent one for CORBAs IDL, can also produce the boilerplate code that you then fill in with your implementation of the RPC calls. While I usually dislike generated code, when it comes to RPC systems I'm quite glad they do a decent job of hiding complexity from me.
The license (Score:5, Informative)
Because what the world really needs.... (Score:1)
Pretty low level, but interesting (Score:3, Interesting)
(http://www.dadhacker.com/)
They could have gone more flexible and abstract; structs are *bad* for you, and they're missing a fair amount of opportunity to make things dynamic, e.g., growable arrays, hashes, sets, arbitrary nested structures, and even things like canonicalized timestamps, which are a quite important (but often neglected) platform-dependent type (see how often time gets mangled when you go multi-platform...).
As for efficiency, it wouldn't be hard to be better than SOAP. I have some horror stories...
Re:Pretty low level, but interesting (Score:4, Informative)
There's no good reason to make a separate timestamp class; an int64 is plenty big enough to hold microseconds (or nanoseconds, even) since the epoch.
Not Bad! (Score:1)
Pointless criticism (Score:3, Insightful)
(http://www.smackfu.com/)
Bravo.
So, in English... (Score:1)
Re:Facebook is releasing this? (Score:1)
(http://www.ethereal.cc/)
Re:Facebook is releasing this? (Score:5, Insightful)
(http://www.khuffie.com/)
MySpace, on the other hand, is a piece of shit.
Re:Facebook is releasing this? (Score:4, Informative)
(http://www.nickcatalano.com/)
As a college student, I love Facebook. I use it to keep up with high school friends, keep in contact with people from the school I transfered from, know the people in my classes so I can throw questions at them if I have one, and since I am bad with names it is a great tool to remember people by!
The information I have on Facebook you could probably [wikipedia.org] find [nickcatalano.com] elsewhere [google.com]. But having such a clean interface is great. and their improvements are going to be great [facebook.com] (membership required)
Re:Facebook is releasing this? (Score:5, Insightful)
(Last Journal: Wednesday March 21 2007, @01:43PM)