<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-6574262794305285217.post8166496807655526800..comments</id><updated>2009-05-20T08:55:04.591+01:00</updated><title type='text'>Comments on braindump: A compact and cross language serialization library...</title><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.oskarsson.nu/feeds/8166496807655526800/comments/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6574262794305285217/8166496807655526800/comments/default'/><link rel='alternate' type='text/html' href='http://blog.oskarsson.nu/2009/02/compact-and-cross-language.html'/><author><name>Johan Oskarsson</name><uri>http://www.blogger.com/profile/16436807229735157227</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>5</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6574262794305285217.post-8666552983186481689</id><published>2009-05-20T08:55:04.591+01:00</published><updated>2009-05-20T08:55:04.591+01:00</updated><title type='text'>Müzik Dinle</title><content type='html'>&lt;A&gt;Müzik Dinle&lt;/A&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6574262794305285217/8166496807655526800/comments/default/8666552983186481689'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6574262794305285217/8166496807655526800/comments/default/8666552983186481689'/><link rel='alternate' type='text/html' href='http://blog.oskarsson.nu/2009/02/compact-and-cross-language.html?showComment=1242806104591#c8666552983186481689' title=''/><author><name>Tolga Demir</name><uri>http://www.blogger.com/profile/00359624723688467007</uri><email>noreply@blogger.com</email></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.oskarsson.nu/2009/02/compact-and-cross-language.html' ref='tag:blogger.com,1999:blog-6574262794305285217.post-8166496807655526800' source='http://www.blogger.com/feeds/6574262794305285217/posts/default/8166496807655526800' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-6574262794305285217.post-2072064945612723721</id><published>2009-02-27T11:12:00.000Z</published><updated>2009-02-27T11:12:00.000Z</updated><title type='text'>Michael: Thanks for the info, I drew the line fair...</title><content type='html'>Michael: Thanks for the info, I drew the line fairly arbitrarily based on my own personal favorites :) I'll update the table when I get a minute.&lt;BR/&gt;Can't get the extprot link to work right now, will check later.&lt;BR/&gt;&lt;BR/&gt;Techmilind: I do mention the raw comparators in passing, there's even a link. I certainly appreciate the speedup they give.&lt;BR/&gt;&lt;BR/&gt;I'm also sure that implementing Record IO in new languages would be possible, but there doesn't seem to be a community or momentum to do so right now (correct me if I'm wrong). Perhaps it should be broken out into a separate project? That would give it more attention and a chance to build a community.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6574262794305285217/8166496807655526800/comments/default/2072064945612723721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6574262794305285217/8166496807655526800/comments/default/2072064945612723721'/><link rel='alternate' type='text/html' href='http://blog.oskarsson.nu/2009/02/compact-and-cross-language.html?showComment=1235733120000#c2072064945612723721' title=''/><author><name>Johan Oskarsson</name><uri>http://www.blogger.com/profile/16436807229735157227</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='03945147847459883861'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.oskarsson.nu/2009/02/compact-and-cross-language.html' ref='tag:blogger.com,1999:blog-6574262794305285217.post-8166496807655526800' source='http://www.blogger.com/feeds/6574262794305285217/posts/default/8166496807655526800' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-6574262794305285217.post-5744326746998731739</id><published>2009-02-26T18:39:00.000Z</published><updated>2009-02-26T18:39:00.000Z</updated><title type='text'>One more advantage of Record IO that should be men...</title><content type='html'>One more advantage of Record IO that should be mentioned here is that the generated classes contain a static raw comparator method that is used by Hadoop Map-Reduce while sorting/shuffling map outputs and reduce inputs. Thus, for simply comparing keys, the records do not have to be instantiated and deserialized, the serialized versions can be compared directly. This speeds up the shuffle, which is the most time-consuming stage of many map-reduce jobs.&lt;BR/&gt;&lt;BR/&gt;For debugging ease, record I/O supports different serialization methods (in addition to compact binary), such as CSV, and XML.&lt;BR/&gt;&lt;BR/&gt;Supporting additional languages is simple too, since the code generators are modularly supported from the serialization mechanisms.&lt;BR/&gt;&lt;BR/&gt;(But then I may be biased, since I was the primary author of Record IO.)</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6574262794305285217/8166496807655526800/comments/default/5744326746998731739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6574262794305285217/8166496807655526800/comments/default/5744326746998731739'/><link rel='alternate' type='text/html' href='http://blog.oskarsson.nu/2009/02/compact-and-cross-language.html?showComment=1235673540000#c5744326746998731739' title=''/><author><name>techmilind</name><uri>http://techmilind.wordpress.com/</uri><email>noreply@blogger.com</email></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.oskarsson.nu/2009/02/compact-and-cross-language.html' ref='tag:blogger.com,1999:blog-6574262794305285217.post-8166496807655526800' source='http://www.blogger.com/feeds/6574262794305285217/posts/default/8166496807655526800' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-6574262794305285217.post-910917128624120938</id><published>2009-02-26T03:52:00.000Z</published><updated>2009-02-26T03:52:00.000Z</updated><title type='text'>You put it in quotes, so I can't fault you too muc...</title><content type='html'>You put it in quotes, so I can't fault you too much, but another important issue with these libraries is support for C and C#, which combined are over 20% on the TIOBE index.  C# support is great in both Thrift and (as far as I can tell) Protocol Buffers.  No for Record IO.  C support, on the other hand, is weak.  There have been submissions to the Thrift project, but none with complete implementations.  The C library for protobuf uses its own custom compiler and is pretty new as well.&lt;BR/&gt;&lt;BR/&gt;As far as additional libraries, http://eigenclass.org/R2/writings/extprot-extensible-protocols-intro looks interesting... certainly more interesting than Etch.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6574262794305285217/8166496807655526800/comments/default/910917128624120938'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6574262794305285217/8166496807655526800/comments/default/910917128624120938'/><link rel='alternate' type='text/html' href='http://blog.oskarsson.nu/2009/02/compact-and-cross-language.html?showComment=1235620320000#c910917128624120938' title=''/><author><name>Michael Greene</name><uri>http://www.blogger.com/profile/03246581441925726007</uri><email>noreply@blogger.com</email></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.oskarsson.nu/2009/02/compact-and-cross-language.html' ref='tag:blogger.com,1999:blog-6574262794305285217.post-8166496807655526800' source='http://www.blogger.com/feeds/6574262794305285217/posts/default/8166496807655526800' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-6574262794305285217.post-167280494168134157</id><published>2009-02-25T11:24:00.000Z</published><updated>2009-02-25T11:24:00.000Z</updated><title type='text'>You could have mentioned typed bytes as well. The ...</title><content type='html'>You could have mentioned &lt;A HREF="http://dumbotics.com/2009/02/24/hadoop-1722-and-typed-bytes/" REL="nofollow"&gt;typed bytes&lt;/A&gt; as well. The simplicity of the &lt;A HREF="http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/streaming/src/java/org/apache/hadoop/typedbytes/package.html?revision=743975&amp;content-type=text%2Fplain" REL="nofollow"&gt;typed bytes format&lt;/A&gt; might eventually lead to very good language support (although, afaik, there currently only are &lt;A HREF="http://svn.apache.org/viewvc/hadoop/core/trunk/src/contrib/streaming/src/java/org/apache/hadoop/typedbytes/" REL="nofollow"&gt;Java&lt;/A&gt; and &lt;A HREF="http://github.com/klbostee/typedbytes" REL="nofollow"&gt;Python&lt;/A&gt; implementations), but it does (intentionally) sacrifice some compactness in order to reach this level of simplicity.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6574262794305285217/8166496807655526800/comments/default/167280494168134157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6574262794305285217/8166496807655526800/comments/default/167280494168134157'/><link rel='alternate' type='text/html' href='http://blog.oskarsson.nu/2009/02/compact-and-cross-language.html?showComment=1235561040000#c167280494168134157' title=''/><author><name>Klaas</name><uri>http://www.blogger.com/profile/18329954236942716548</uri><email>noreply@blogger.com</email></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.oskarsson.nu/2009/02/compact-and-cross-language.html' ref='tag:blogger.com,1999:blog-6574262794305285217.post-8166496807655526800' source='http://www.blogger.com/feeds/6574262794305285217/posts/default/8166496807655526800' type='text/html'/></entry></feed>