[Thrift] Allo, and other fun stuff

Mark Slee mslee at facebook.com
Mon Jul 30 15:06:15 PDT 2007


Hi Matt,

Sorry for the very slow reply. The list has been quiet, yes, but lots of
things have been going on.

Java tutorials and samples were accidentally omitted from the first
release. Fortunately, we now have a public SVN repository hosting our
trunk code. It is available at http://svn.facebook.com/thrift/ complete
with Java tutorials etc. It also includes a new "binary" type to fix the
Java encoding issue you mentioned.

Some other recent developments include:

1/ Perl bindings written by Jake Luciani
2/ Major Ruby/IPv6 improvements from Powerset developers
3/ Implementations in Erlang, Haskell, and OCaml

Plus various other things in the pipeline.

Regarding compilers, we'd prefer not to have multiple compiler
implementations until there's a really clear benefit. We picked lex/yacc
because it's generally the easiest compiler environment to install and
use across *nix environments. It enables the project to be built using
standard autoconf/automake scripts, whereas most other nice compiler
environments (i.e. ocamlyacc, PLY) are a bit hairier to install and
build. What features would you like to see in the compiler that aren't
available?

We'd also love to see an nio implementation of
TNonblockingServer/TSocket in Java. Unfortunately it's not incredibly
high on our list as we have relatively fewer Java services deployed
internally, but it'd be great to see this come out of the open source
community, and implementation shouldn't be too difficult using the
libevent based C++ code as a reference.

Cheers,
Mark

-----Original Message-----
From: thrift-bounces at publists.facebook.com
[mailto:thrift-bounces at publists.facebook.com] On Behalf Of Matt Reynolds
Sent: Wednesday, July 18, 2007 10:51 PM
To: thrift at publists.facebook.com
Subject: [Thrift] Allo, and other fun stuff

Hi there,
	I stumbled across this project from a blog I read and I'm pretty

intrigued.  I'm interested in both helping out and using the code  
base, both at work and at home.  To this end, I wanted to ask a few  
things and offer a few suggestions (for adoption and otherwise).

* I noticed that the list has been quiet, and the the forums have  
some updates, but nothing like a new code drop, or Java sample code  
(I'm a Java dev by trade).  How's it coming on getting the remote SVN  
server up, or at least a new code drop?
* In the forum, there was mention of adding a "binary" type... any  
idea when we can start taking a look at that code/impl?
* Any way to get the mailing list to at least get a copy of the posts  
made in the forum?  Facebook isn't exactly allowed by our wonderous  
corporate internet policy, while email lists are perfectly fine.   
Either that or make the Facebook forum not require a login to read it?

I'd love to contribute to this project, and may get work time to do  
so, but I a fearful of using the code at this point given the lack of  
recent traction (last code drop, mailing list silence, lack of follow- 
up with forum posts).  I'd love to help, but at this point there's no  
entry point to start (beyond what is, admittedly, older code).  This  
looks like a really cool project and I'd hate to see it starve  
(externally, I'm sure you have internal support) due to lack of  
community involvement.

As to a few suggestions :
* It looks like your mailman installation doesn't require a follow-up  
registration email.  In the past, that's helped to lower future  
(inevitable) list spam, and I think it's fairly easy to setup.
* Have you guys looked at allowing or fostering having a compiler per  
target language, in that target language?  While it's a bit wasteful  
in terms of overall code, it would allow people to modify the  
compiler they're using in target language-safe and -friendly ways  
that might not make it into the C++ version.  The CPP may be the  
official compiler, but a spec + alternate implementations +  
regression tests would go a long way towards removing acceptance due  
to client language barriers (I noticed the Java client code doesn't  
compile out of the box, and the compiler lacks some options I'm used  
to with other standard tools).  It would also allow for us to submit  
target language code.  I would love to get an NIO based TSocket class  
in there, and compare performance, etc.

Anyway, I look forward to hearing back from you all soon.  Since it's  
a small list, and this is an early project, do people want to  
announce themselves, so we can get a feel for what people are using  
thrift for, or might be in the future?

Thanks,
Matt
_______________________________________________
Thrift mailing list
Thrift at publists.facebook.com
http://lists.pub.facebook.com/mailman/listinfo/thrift




More information about the Thrift mailing list