You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@couchdb.apache.org by Buddhika Jayawardhana <bu...@gmail.com> on 2015/03/16 10:03:44 UTC

GSoc 2015 | COUCHDB-1743 Make the view server & protocol faster

Hi,
I am an Undergraduate of Department of Computer Science and Engineering
University of Moratuwa. I have been subscribed to couchdb mailing list
since months and I have been trying to learn some Erlang to work with
couchdb. I noticed project  "COUCHDB-1743 Make the view server & protocol
faster" is related to GSoC. I am willing to submit a project proposal for
this project.

I have theoretical knowledge in software process, design patterns, and
other Engineering concepts. I've been using 'java', 'C++' for high-level
programming and 'C', a little bit of assembly for low-level programming and
PHP and JavaScript  for web development. Also I have sound knowledge  on
Erlang. I would be much thankful if you can guide to get familiar with the
project as soon as possible.

Here are the problems in my mind

   - Are the other programming languages that I should get familiar with?
   - What are the technologies I should get familiar with?
   - I can work 40 hours per week for the project. Would that be enough to
   successfully complete the prject?
   - What are the other resources that I should read before submitting the
   proposal?

Hope you will guide me through the project.
Thank You.

-- 
*Buddhika Jayawardhana*
Undergraduate | Department of Computer Science & Engineering
University of Moratuwa
*buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
<http://lk.linkedin.com/in/buddhikajay/>

Re: GSoc 2015 | COUCHDB-1743 Make the view server & protocol faster

Posted by Buddhika Jayawardhana <bu...@cse.mrt.ac.lk>.
Dear Jan,
Thank you for the detailed reply. I will go through the links you have sent
me. Of course I will have much more questions. Though I'm not familiar with
JIRA I think taking this to JIRA would help to manage the project easily(I
have only used JIRA once for ask about CloudStack project before I notice
CouchDB project). Please take this to JIRA let me know.

Thanks again.

On 17 March 2015 at 02:58, Jan Lehnardt <ja...@apache.org> wrote:

> Dear Buddhika,
>
> thank you for your interest in CouchDB and the CouchDB View Server!
>
> This is an area where you can make significant contributions to CouchDB.
>
> It is also a little bit involved, but you seem to have all the skills
> required to pull this off :)
>
> I’m happy to mentor you.
> > On 16 Mar 2015, at 10:03, Buddhika Jayawardhana <
> buddhika.anushka@gmail.com> wrote:
> >
> > Hi,
> > I am an Undergraduate of Department of Computer Science and Engineering
> > University of Moratuwa. I have been subscribed to couchdb mailing list
> > since months and I have been trying to learn some Erlang to work with
> > couchdb. I noticed project  "COUCHDB-1743 Make the view server & protocol
> > faster" is related to GSoC. I am willing to submit a project proposal for
> > this project.
> >
> > I have theoretical knowledge in software process, design patterns, and
> > other Engineering concepts. I've been using 'java', 'C++' for high-level
> > programming and 'C', a little bit of assembly for low-level programming
> and
> > PHP and JavaScript  for web development. Also I have sound knowledge  on
> > Erlang. I would be much thankful if you can guide to get familiar with
> the
> > project as soon as possible.
> >
> > Here are the problems in my mind
> >
> >   - Are the other programming languages that I should get familiar with?
>
> Erlang and JavaScript will do, some knowledge of C to understand the
> current system will help.
>
>
> >   - What are the technologies I should get familiar with?
>
> General knowledge of Unix/POSIX fundamentals (processes, fds, stdio etc.)
> will be required. Windows equivalent APIs too (but not strictly a
> requirement just yet).
>
>
> >   - I can work 40 hours per week for the project. Would that be enough to
> >   successfully complete the project?
>
> I can’t estimate whether you’d be able to complete this 100%, but I’m sure
> that this enough time to make a significant contribution, that the
> community then can take and finish up, should you not get to the end. E.g.
> don’t worry too much about this :)
>
>
> >   - What are the other resources that I should read before submitting the
> >   proposal?
>
> Familiarity with the CouchDB source can’t hurt. More in-depth knowledge of
> Erlang as well, http://learnyousomeerlang.com is a great free resource and
> the main Erlang docs are worth a read, as well. As are the various print
> books that are available from various publishers.
>
> It will definitely also help to read through the CouchDB Guide:
> http://guide.couchdb.org
>
> Although some parts have already been integrated into
> http://docs.couchdb.org,
> which you should also read, especially the bits about Design Documents,
> Views
> and List, Show, Validation, Filter and Update functions.
>
> In addition, check out the query_server_spec, it codifies the current query
> server protocol:
>
>
> https://github.com/apache/couchdb/blob/master/test/view_server/query_server_spec.rb
>
>
> > Hope you will guide me through the project.
>
> Again, thanks for taking an interest in this! :)
>
> To get things rolling, here’s my rough idea for how this could play out:
>
> Generally, there are three components, the Erlang and the JavaScript part
> and the JavaScript runtime or couchjs.
>
> We call all these things Query Server or View Server.
>
> The Erlang part lives in https://github.com/apache/couchdb-couch-mrview
>
> The JavaScript part lives in
> https://github.com/apache/couchdb/tree/master/share/server
>
> The current JavaScript runtime is Spidermonkey. We have our own C-wrapper
> around Spidermonkey, to make it a CLI tool that talks stdio:
>
>   https://github.com/apache/couchdb-couch/tree/master/priv/couch_js
>
>
> We’d generally like to move away from the custom C-wrapped Spidermonkey and
> have V8 be the execution engine. We also like to get away from having to
> maintain C/C++. It’d probably be simplest to use Node.js as a wrapper,
> because then many more people can contribute to this. Also, Node.js is good
> at streaming protocols, so it is a natural fit.
>
>
> Here is how I would start:
>
> 1. Create a new Query Server that *only* handles Show, List, Filter,
> Validation
>    and Update functions as that is a lot simpler on both the Erlang and
>    JavaScript side.
>
> 2. As part of 1: Design a new Query Server protocol that works in a
> streaming
>    fashion. The current one is request/response based and both sides are
> waiting
>    for one another while one of them is doing actual work. It’d be nice if
> both
>    could just keep working on whatever they need to do.
>
> 3. Once 1. and 2. are in place and working correctly, expand the new Query
> Server
>    to also handle Views. At this point, adding view support should not be
> too
>    complicated anymore.
>
>
> Things to watch out for:
>
> - map/reduce functions for CouchDB views need to be “pure”, e.g. we need
> to guarantee
>   they stay the same unless CouchDB can see any changes (and then
> invalidate the view
>   index). This means we need some extra isolation of the JS execution. And
> some
>   limitation or observation of the require() system.
>
>   There is a project that demonstrated we can do this. Jason Smith has run
> this,
>   but I can’t seem to find it on his GitHub. Jason, do you have any
> pointers?
>
> - A couchjs process can be used for multiple databases and different
> access control can
>   be configured per database. Data MUST NOT leak between databases. E.g.
> Errors that
>   are thrown when requesting a view result on database A must not show any
> process state
>   data that comes from database B (and vice versa).
>
> - The current system works much like CGI. A single process can handle one
> concurrent
>   request, if there are two concurrent requests, a new process is spawned.
> The new
>   Query Server should be able to handle multiple concurrent requests. But
> there will
>   be a time when a single process is saturated, at that point, we should
> be able to
>   spawn more Query Servers to help with the load. — In the 1./2./3. list
> above, I’d
>   either solve this upfront, or after 3., depending on what you are more
> comfortable
>   with. It might be easier to get started without this, but it might be
> harder to add
>   later and easier overall to have thought this through upfront.
>
> - Windows stdio can be troublesome, beware :)
>
> - Windows process handling can also be troublesome, that’s why we are using
>   https://github.com/apache/couchdb-couch/tree/master/priv/spawnkillable
> to kill/reap
>   couchjs process there. Not sure we still need this when we use Node.js,
> but worth
>   checking out.
>
> - I’ve had a bit time last year to experiment with streaming
> Erlang/Node.js communication.
>   It worked fine, but I didn’t get very far (the JavaScript part just
> echos commands
>   back to Erlang). The projects could help as inspiration:
>
>   https://github.com/janl/couch_query_server2
>   https://github.com/janl/node-couch-query-server2 key code is in
> src/couch_query_server2_sup.erl
>
>   It uses the Erlang pid as a stream marker so we can interleave requests.
>
>   Please excuse the lack of a README or other instructions!
>
>
> This is all I have for now. Other folks may want to chime in with their
> opinions :)
>
> If you have any more questions, let me know. If you want to take this into
> JIRA, let’s
> open a new ticket.
>
> Best
> Jan
> --
>
>
>
> > Thank You.
> >
> > --
> > *Buddhika Jayawardhana*
> > Undergraduate | Department of Computer Science & Engineering
> > University of Moratuwa
> > *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
> > <http://lk.linkedin.com/in/buddhikajay/>
>
> --
> Professional Support for Apache CouchDB:
> http://www.neighbourhood.ie/couchdb-support/
>
>


-- 
*Buddhika Jayawardhana*
Undergraduate | Department of Computer Science & Engineering
University of Moratuwa
*buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
<http://lk.linkedin.com/in/buddhikajay/>

Re: GSoc 2015 | COUCHDB-1743 Make the view server & protocol faster

Posted by Robert Kowalski <ro...@kowalski.gd>.
Buddhika, welcome to the CouchDB project :)

I would like to invite you to our weekly status meeting tomorrow (see
[1] for the time in your timezone and details how to take part), feel
free to join, meet other project members and learn what the project is
currently doing next to the Summer of Code.

[1] http://mail-archives.apache.org/mod_mbox/couchdb-dev/201503.mbox/%3CCAJ1bcfEKOh4nvoxUqvcAcUFgg96w-JqHEefpi%2BWzazKFUPXNCg%40mail.gmail.com%3E

Best,
Robert

On Tue, Mar 17, 2015 at 2:03 PM, Johannes Jörg Schmidt
<sc...@netzmerk.com> wrote:
> On 16.03.2015 22:28, Jan Lehnardt wrote:
>> - map/reduce functions for CouchDB views need to be “pure”, e.g. we need to guarantee
>>   they stay the same unless CouchDB can see any changes (and then invalidate the view
>>   index). This means we need some extra isolation of the JS execution. And some
>>   limitation or observation of the require() system.
>>
>>   There is a project that demonstrated we can do this. Jason Smith has run this,
>>   but I can’t seem to find it on his GitHub. Jason, do you have any pointers?
>
> Klaus Trainer did https://github.com/KlausTrainer/sandbox.js, which
> might be interesting in this context.
>

Re: GSoc 2015 | COUCHDB-1743 Make the view server & protocol faster

Posted by Johannes Jörg Schmidt <sc...@netzmerk.com>.
On 16.03.2015 22:28, Jan Lehnardt wrote:
> - map/reduce functions for CouchDB views need to be “pure”, e.g. we need to guarantee
>   they stay the same unless CouchDB can see any changes (and then invalidate the view
>   index). This means we need some extra isolation of the JS execution. And some
>   limitation or observation of the require() system.
> 
>   There is a project that demonstrated we can do this. Jason Smith has run this,
>   but I can’t seem to find it on his GitHub. Jason, do you have any pointers?

Klaus Trainer did https://github.com/KlausTrainer/sandbox.js, which
might be interesting in this context.


Re: GSoc 2015 | COUCHDB-1743 Make the view server & protocol faster

Posted by Jason Smith <ja...@gmail.com>.
Hi, Jan. Do you mean the Node.js view server? That one is called "couchjs"
and my fork is here: https://github.com/jhs/couchjs

If you mean something else, hm, can you remind me? Thanks! :)

On Tue, Mar 17, 2015 at 4:28 AM, Jan Lehnardt <ja...@apache.org> wrote:

> Dear Buddhika,
>
> thank you for your interest in CouchDB and the CouchDB View Server!
>
> This is an area where you can make significant contributions to CouchDB.
>
> It is also a little bit involved, but you seem to have all the skills
> required to pull this off :)
>
> I’m happy to mentor you.
> > On 16 Mar 2015, at 10:03, Buddhika Jayawardhana <
> buddhika.anushka@gmail.com> wrote:
> >
> > Hi,
> > I am an Undergraduate of Department of Computer Science and Engineering
> > University of Moratuwa. I have been subscribed to couchdb mailing list
> > since months and I have been trying to learn some Erlang to work with
> > couchdb. I noticed project  "COUCHDB-1743 Make the view server & protocol
> > faster" is related to GSoC. I am willing to submit a project proposal for
> > this project.
> >
> > I have theoretical knowledge in software process, design patterns, and
> > other Engineering concepts. I've been using 'java', 'C++' for high-level
> > programming and 'C', a little bit of assembly for low-level programming
> and
> > PHP and JavaScript  for web development. Also I have sound knowledge  on
> > Erlang. I would be much thankful if you can guide to get familiar with
> the
> > project as soon as possible.
> >
> > Here are the problems in my mind
> >
> >   - Are the other programming languages that I should get familiar with?
>
> Erlang and JavaScript will do, some knowledge of C to understand the
> current system will help.
>
>
> >   - What are the technologies I should get familiar with?
>
> General knowledge of Unix/POSIX fundamentals (processes, fds, stdio etc.)
> will be required. Windows equivalent APIs too (but not strictly a
> requirement just yet).
>
>
> >   - I can work 40 hours per week for the project. Would that be enough to
> >   successfully complete the project?
>
> I can’t estimate whether you’d be able to complete this 100%, but I’m sure
> that this enough time to make a significant contribution, that the
> community then can take and finish up, should you not get to the end. E.g.
> don’t worry too much about this :)
>
>
> >   - What are the other resources that I should read before submitting the
> >   proposal?
>
> Familiarity with the CouchDB source can’t hurt. More in-depth knowledge of
> Erlang as well, http://learnyousomeerlang.com is a great free resource and
> the main Erlang docs are worth a read, as well. As are the various print
> books that are available from various publishers.
>
> It will definitely also help to read through the CouchDB Guide:
> http://guide.couchdb.org
>
> Although some parts have already been integrated into
> http://docs.couchdb.org,
> which you should also read, especially the bits about Design Documents,
> Views
> and List, Show, Validation, Filter and Update functions.
>
> In addition, check out the query_server_spec, it codifies the current query
> server protocol:
>
>
> https://github.com/apache/couchdb/blob/master/test/view_server/query_server_spec.rb
>
>
> > Hope you will guide me through the project.
>
> Again, thanks for taking an interest in this! :)
>
> To get things rolling, here’s my rough idea for how this could play out:
>
> Generally, there are three components, the Erlang and the JavaScript part
> and the JavaScript runtime or couchjs.
>
> We call all these things Query Server or View Server.
>
> The Erlang part lives in https://github.com/apache/couchdb-couch-mrview
>
> The JavaScript part lives in
> https://github.com/apache/couchdb/tree/master/share/server
>
> The current JavaScript runtime is Spidermonkey. We have our own C-wrapper
> around Spidermonkey, to make it a CLI tool that talks stdio:
>
>   https://github.com/apache/couchdb-couch/tree/master/priv/couch_js
>
>
> We’d generally like to move away from the custom C-wrapped Spidermonkey and
> have V8 be the execution engine. We also like to get away from having to
> maintain C/C++. It’d probably be simplest to use Node.js as a wrapper,
> because then many more people can contribute to this. Also, Node.js is good
> at streaming protocols, so it is a natural fit.
>
>
> Here is how I would start:
>
> 1. Create a new Query Server that *only* handles Show, List, Filter,
> Validation
>    and Update functions as that is a lot simpler on both the Erlang and
>    JavaScript side.
>
> 2. As part of 1: Design a new Query Server protocol that works in a
> streaming
>    fashion. The current one is request/response based and both sides are
> waiting
>    for one another while one of them is doing actual work. It’d be nice if
> both
>    could just keep working on whatever they need to do.
>
> 3. Once 1. and 2. are in place and working correctly, expand the new Query
> Server
>    to also handle Views. At this point, adding view support should not be
> too
>    complicated anymore.
>
>
> Things to watch out for:
>
> - map/reduce functions for CouchDB views need to be “pure”, e.g. we need
> to guarantee
>   they stay the same unless CouchDB can see any changes (and then
> invalidate the view
>   index). This means we need some extra isolation of the JS execution. And
> some
>   limitation or observation of the require() system.
>
>   There is a project that demonstrated we can do this. Jason Smith has run
> this,
>   but I can’t seem to find it on his GitHub. Jason, do you have any
> pointers?
>
> - A couchjs process can be used for multiple databases and different
> access control can
>   be configured per database. Data MUST NOT leak between databases. E.g.
> Errors that
>   are thrown when requesting a view result on database A must not show any
> process state
>   data that comes from database B (and vice versa).
>
> - The current system works much like CGI. A single process can handle one
> concurrent
>   request, if there are two concurrent requests, a new process is spawned.
> The new
>   Query Server should be able to handle multiple concurrent requests. But
> there will
>   be a time when a single process is saturated, at that point, we should
> be able to
>   spawn more Query Servers to help with the load. — In the 1./2./3. list
> above, I’d
>   either solve this upfront, or after 3., depending on what you are more
> comfortable
>   with. It might be easier to get started without this, but it might be
> harder to add
>   later and easier overall to have thought this through upfront.
>
> - Windows stdio can be troublesome, beware :)
>
> - Windows process handling can also be troublesome, that’s why we are using
>   https://github.com/apache/couchdb-couch/tree/master/priv/spawnkillable
> to kill/reap
>   couchjs process there. Not sure we still need this when we use Node.js,
> but worth
>   checking out.
>
> - I’ve had a bit time last year to experiment with streaming
> Erlang/Node.js communication.
>   It worked fine, but I didn’t get very far (the JavaScript part just
> echos commands
>   back to Erlang). The projects could help as inspiration:
>
>   https://github.com/janl/couch_query_server2
>   https://github.com/janl/node-couch-query-server2 key code is in
> src/couch_query_server2_sup.erl
>
>   It uses the Erlang pid as a stream marker so we can interleave requests.
>
>   Please excuse the lack of a README or other instructions!
>
>
> This is all I have for now. Other folks may want to chime in with their
> opinions :)
>
> If you have any more questions, let me know. If you want to take this into
> JIRA, let’s
> open a new ticket.
>
> Best
> Jan
> --
>
>
>
> > Thank You.
> >
> > --
> > *Buddhika Jayawardhana*
> > Undergraduate | Department of Computer Science & Engineering
> > University of Moratuwa
> > *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
> > <http://lk.linkedin.com/in/buddhikajay/>
>
> --
> Professional Support for Apache CouchDB:
> http://www.neighbourhood.ie/couchdb-support/
>
>

Re: GSoc 2015 | COUCHDB-1743 Make the view server & protocol faster

Posted by Buddhika Jayawardhana <bu...@cse.mrt.ac.lk>.
Dear All,
Can someone please explain me the dedicated functionality of each part of
the view server? (the java-script part and the Erlag part).


On 21 March 2015 at 11:28, Buddhika Jayawardhana <bu...@cse.mrt.ac.lk>
wrote:

> Hi Robert,
>
> I I saw some other applicants are submitting pieces of codes. But I am
> still reading the documents Jan and others have sent me.
>
>
>    - I am middle of learnYouSomeErlang book.
>    - I have around 8 chapters to read in Couch-DB "The Definitive Guide".
>    - Lots of documentation.
>    - Most of the source code.
>
>
> I looked at the template that you have sent me and it requires a
> description about the current situation of the project. And design/
> description of the work.
> I do not have any confidence to write those two paragraphs. But I can
> start to write the proposal based on the thinks that Jan have
> described(Though I don't understand all of them). Shall I start that way?
> or is there any other better way.
>
> Waiting for your advices.
>
> On 21 March 2015 at 08:14, Robert Kowalski <ro...@kowalski.gd> wrote:
>
>> Hi Buddhika,
>>
>> the deadline for proposals is getting closer, do you have any
>> questions? Is there anything we can help you with?
>>
>> Jan, the ML and I are happy to help!
>>
>> Best,
>> Robert
>>
>> On Thu, Mar 19, 2015 at 1:57 PM, Buddhika Jayawardhana
>> <bu...@cse.mrt.ac.lk> wrote:
>> > Thanks Alexander. I'll try this out.
>> >
>> > On 19 March 2015 at 16:59, Alexander Shorin <kx...@gmail.com> wrote:
>> >
>> >> Hi Buddhika,
>> >>
>> >> May be some docs could help you:
>> >> http://docs.couchdb.org/en/latest/query-server/protocol.html
>> >>
>> >> The most easiest way to understand it is to play with it.
>> >> Try to enable debug logs for CouchDB (better here stay with 1.x
>> >> series), run view and other functions and see what the communication
>> >> happens between CouchDB and query server.
>> >> Try to run query server from CLI and send it some commands to it and
>> >> notice the responces.
>> >> After that, reading the code would be much more simpler since you'll
>> >> know the idea how it works in general.
>> >>
>> >> --
>> >> ,,,^..^,,,
>> >>
>> >>
>> >> On Thu, Mar 19, 2015 at 2:24 PM, Buddhika Jayawardhana
>> >> <bu...@cse.mrt.ac.lk> wrote:
>> >> > Dear Jan,
>> >> >
>> >> > I tried to read the code you have sent me to understand the current
>> query
>> >> > server protocol(https://github.com/apache/couchdb
>> >> > /blob/master/test/view_server/query_server_spec.rb). But I could not
>> >> > understand anything :( . I'm stuck here. Can you point me out a way
>> to
>> >> > understand the code. (At least a brief explanation).
>> >> >
>> >> > Thanks.
>> >> >
>> >> > On 19 March 2015 at 10:28, Buddhika Jayawardhana <
>> >> buddhika.12@cse.mrt.ac.lk>
>> >> > wrote:
>> >> >
>> >> >> Thanks Robert. This would be really helpful.
>> >> >>
>> >> >> On 19 March 2015 at 03:20, Robert Kowalski <ro...@kowalski.gd> wrote:
>> >> >>
>> >> >>> Some of you asked for a template for their proposals, here is what
>> I've
>> >> >>> found:
>> >> >>>
>> >> >>> http://community.staging.apache.org/gsoc#application-template
>> >> >>>
>> >> >>> Best,
>> >> >>> Robert
>> >> >>>
>> >> >>> On Wed, Mar 18, 2015 at 1:49 PM, Jan Lehnardt <ja...@apache.org>
>> wrote:
>> >> >>> >
>> >> >>> >> On 18 Mar 2015, at 13:35, Buddhika Jayawardhana <
>> >> >>> buddhika.12@cse.mrt.ac.lk> wrote:
>> >> >>> >>
>> >> >>> >> Dear Jan and Robert,
>> >> >>> >>
>> >> >>> >> It seems I have to do a lot to get to the speed. I have to gain
>> a
>> >> lot
>> >> >>> of
>> >> >>> >> theorytical knowladge in
>> >> >>> >>
>> >> >>> >>   - Erlang.
>> >> >>> >>   - Query servers.
>> >> >>> >>   - and about the source.
>> >> >>> >>
>> >> >>> >> But I am so exited to learn new things. Currently I am reading
>> >> >>> >> "learnsomeerlang" and couch db documentation. This is my first
>> >> attemp
>> >> >>> to
>> >> >>> >> get involve with a large scale open source project and I need
>> help
>> >> to
>> >> >>> >> clarify the source code. I hope to meet you guys. Hope to meet
>> you
>> >> >>> guys at
>> >> >>> >> the status meeting.
>> >> >>> >
>> >> >>> > Sounds good, we’re here to help :) (we are not all guys, though)
>> >> >>> >
>> >> >>> > Best
>> >> >>> > Jan
>> >> >>> > --
>> >> >>> >>
>> >> >>> >> Regards.
>> >> >>> >>
>> >> >>> >>
>> >> >>> >> On 18 March 2015 at 03:51, Alexander Shorin <kx...@gmail.com>
>> >> wrote:
>> >> >>> >>
>> >> >>> >>> On Tue, Mar 17, 2015 at 12:28 AM, Jan Lehnardt <jan@apache.org
>> >
>> >> >>> wrote:
>> >> >>> >>>> Here is how I would start:
>> >> >>> >>>
>> >> >>> >>> I think you'd forgot a point about protocol design itself. It
>> >> requires
>> >> >>> >>> in lot of changes. And there is need to think hardly about is
>> it
>> >> good
>> >> >>> >>> to stay with stdio as a transport if we're going to make it
>> work
>> >> for
>> >> >>> >>> cluster and much parallel as it is now. Just reimplementation
>> of
>> >> what
>> >> >>> >>> we have now is interesting, but not very helpful in mid/long
>> term.
>> >> >>> >>>
>> >> >>> >>> --
>> >> >>> >>> ,,,^..^,,,
>> >> >>> >>>
>> >> >>> >>
>> >> >>> >>
>> >> >>> >>
>> >> >>> >> --
>> >> >>> >> *Buddhika Jayawardhana*
>> >> >>> >> Undergraduate | Department of Computer Science & Engineering
>> >> >>> >> University of Moratuwa
>> >> >>> >> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* |
>> LinkedIn
>> >> >>> >> <http://lk.linkedin.com/in/buddhikajay/>
>> >> >>> >
>> >> >>> > --
>> >> >>> > Professional Support for Apache CouchDB:
>> >> >>> > http://www.neighbourhood.ie/couchdb-support/
>> >> >>> >
>> >> >>>
>> >> >>
>> >> >>
>> >> >>
>> >> >> --
>> >> >> *Buddhika Jayawardhana*
>> >> >> Undergraduate | Department of Computer Science & Engineering
>> >> >> University of Moratuwa
>> >> >> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
>> >> >> <http://lk.linkedin.com/in/buddhikajay/>
>> >> >>
>> >> >
>> >> >
>> >> >
>> >> > --
>> >> > *Buddhika Jayawardhana*
>> >> > Undergraduate | Department of Computer Science & Engineering
>> >> > University of Moratuwa
>> >> > *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
>> >> > <http://lk.linkedin.com/in/buddhikajay/>
>> >>
>> >
>> >
>> >
>> > --
>> > *Buddhika Jayawardhana*
>> > Undergraduate | Department of Computer Science & Engineering
>> > University of Moratuwa
>> > *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
>> > <http://lk.linkedin.com/in/buddhikajay/>
>>
>
>
>
> --
> *Buddhika Jayawardhana*
> Undergraduate | Department of Computer Science & Engineering
> University of Moratuwa
> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
> <http://lk.linkedin.com/in/buddhikajay/>
>



-- 
*Buddhika Jayawardhana*
Undergraduate | Department of Computer Science & Engineering
University of Moratuwa
*buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
<http://lk.linkedin.com/in/buddhikajay/>

Re: GSoc 2015 | COUCHDB-1743 Make the view server & protocol faster

Posted by Jan Lehnardt <ja...@apache.org>.
> On 22 Mar 2015, at 05:54, Buddhika Jayawardhana <bu...@cse.mrt.ac.lk> wrote:
> 
> Dear Jan, Robert other devs,
> 
> I have prepared a draft proposal for the project. It can be found on this
> link
> <https://docs.google.com/a/cse.mrt.ac.lk/document/d/1Yrj73vXAJjBA0-i_Nt78FUipy5oTtZ42UG2TlXmH4y0/edit?usp=sharing>.
> It is neither complete nor contain much technical details. It is completely
> based on what you have told me and what I have read so far. Please add your
> comments to improve the proposal and point me out if I have misunderstood
> anything you have told me or about the project.
> 
> I think I need a deep understanding on stdio. Please point me some
> direction to learn them.

I grabbed a few off the internets:

- Advanced Programming in the Unix Environment, Richard W. Stevens, Chapter 5.
  - this is probably the best literature on this, I hope you have access to it
    via your University’s library or so. Let me know if you have trouble getting
    a copy.

- http://man7.org/linux/man-pages/man3/stdio.3.html
- http://man7.org/linux/man-pages/man3/stdout.3.html
- http://c.learncodethehardway.org/book/ex24.html
- http://www.erlang.org/doc/tutorial/c_port.html
- https://nodejs.org/api/child_process.html
- https://nodejs.org/api/fs.html (especially fs.write(), fs.read() and variants)

Best
Jan
--


> 
> Thank You.
> 
> On 21 March 2015 at 22:16, Buddhika Jayawardhana <bu...@cse.mrt.ac.lk>
> wrote:
> 
>> Thank You Robert, I already have started  writing the proposal. I will
>> share the link of the google doc tomorrow morning.
>> 
>> On 21 March 2015 at 21:08, Robert Kowalski <ro...@kowalski.gd> wrote:
>> 
>>> Hi Buddhika,
>>> 
>>> no worries - the preparation for each GSoC project is different for
>>> every student. Some projects need more background knowledge in advance
>>> and have to integrate in other way into the codebase, so don't worry
>>> that other folks are submitting code!
>>> 
>>> I would suggest to start writing the proposal as far as you can, we
>>> will also give you feedback. The deadline is for submissions is soon.
>>> 
>>> I tried to write up some tips for writing the two sections you are
>>> worried about:
>>> 
>>> For the "background" section you can just rely on the informations the
>>> community provides plus the background information you gained from
>>> reading the docs (e.g. the current QueryServer protocol [1], the way
>>> the QueryServer operates today and more general informations, like how
>>> you query CouchDB and how you are writing views) - so no worries!
>>> 
>>> Regarding the design/description: Jan already gave some suggestions
>>> regarding the steps that are needed. Are there steps missing in
>>> between? How do you measure the success of the project? How do you
>>> plan to work together with Jan & the community? Also describe how you
>>> going to work: are you planning to work iterative, waterfall, using
>>> techniques like test-driven-development, by building a prototype etc?
>>> 
>>> I hope I could provide some hints!
>>> 
>>> 
>>> [1] http://docs.couchdb.org/en/1.6.1/query-server/protocol.html
>>> 
>>> On Sat, Mar 21, 2015 at 6:58 AM, Buddhika Jayawardhana
>>> <bu...@cse.mrt.ac.lk> wrote:
>>>> Hi Robert,
>>>> 
>>>> I I saw some other applicants are submitting pieces of codes. But I am
>>>> still reading the documents Jan and others have sent me.
>>>> 
>>>> 
>>>>   - I am middle of learnYouSomeErlang book.
>>>>   - I have around 8 chapters to read in Couch-DB "The Definitive
>>> Guide".
>>>>   - Lots of documentation.
>>>>   - Most of the source code.
>>>> 
>>>> 
>>>> I looked at the template that you have sent me and it requires a
>>>> description about the current situation of the project. And design/
>>>> description of the work.
>>>> I do not have any confidence to write those two paragraphs. But I can
>>> start
>>>> to write the proposal based on the thinks that Jan have
>>> described(Though I
>>>> don't understand all of them). Shall I start that way? or is there any
>>>> other better way.
>>>> 
>>>> Waiting for your advices.
>>>> 
>>>> On 21 March 2015 at 08:14, Robert Kowalski <ro...@kowalski.gd> wrote:
>>>> 
>>>>> Hi Buddhika,
>>>>> 
>>>>> the deadline for proposals is getting closer, do you have any
>>>>> questions? Is there anything we can help you with?
>>>>> 
>>>>> Jan, the ML and I are happy to help!
>>>>> 
>>>>> Best,
>>>>> Robert
>>>>> 
>>>>> On Thu, Mar 19, 2015 at 1:57 PM, Buddhika Jayawardhana
>>>>> <bu...@cse.mrt.ac.lk> wrote:
>>>>>> Thanks Alexander. I'll try this out.
>>>>>> 
>>>>>> On 19 March 2015 at 16:59, Alexander Shorin <kx...@gmail.com>
>>> wrote:
>>>>>> 
>>>>>>> Hi Buddhika,
>>>>>>> 
>>>>>>> May be some docs could help you:
>>>>>>> http://docs.couchdb.org/en/latest/query-server/protocol.html
>>>>>>> 
>>>>>>> The most easiest way to understand it is to play with it.
>>>>>>> Try to enable debug logs for CouchDB (better here stay with 1.x
>>>>>>> series), run view and other functions and see what the communication
>>>>>>> happens between CouchDB and query server.
>>>>>>> Try to run query server from CLI and send it some commands to it and
>>>>>>> notice the responces.
>>>>>>> After that, reading the code would be much more simpler since you'll
>>>>>>> know the idea how it works in general.
>>>>>>> 
>>>>>>> --
>>>>>>> ,,,^..^,,,
>>>>>>> 
>>>>>>> 
>>>>>>> On Thu, Mar 19, 2015 at 2:24 PM, Buddhika Jayawardhana
>>>>>>> <bu...@cse.mrt.ac.lk> wrote:
>>>>>>>> Dear Jan,
>>>>>>>> 
>>>>>>>> I tried to read the code you have sent me to understand the
>>> current
>>>>> query
>>>>>>>> server protocol(https://github.com/apache/couchdb
>>>>>>>> /blob/master/test/view_server/query_server_spec.rb). But I could
>>> not
>>>>>>>> understand anything :( . I'm stuck here. Can you point me out a
>>> way to
>>>>>>>> understand the code. (At least a brief explanation).
>>>>>>>> 
>>>>>>>> Thanks.
>>>>>>>> 
>>>>>>>> On 19 March 2015 at 10:28, Buddhika Jayawardhana <
>>>>>>> buddhika.12@cse.mrt.ac.lk>
>>>>>>>> wrote:
>>>>>>>> 
>>>>>>>>> Thanks Robert. This would be really helpful.
>>>>>>>>> 
>>>>>>>>> On 19 March 2015 at 03:20, Robert Kowalski <ro...@kowalski.gd>
>>> wrote:
>>>>>>>>> 
>>>>>>>>>> Some of you asked for a template for their proposals, here is
>>> what
>>>>> I've
>>>>>>>>>> found:
>>>>>>>>>> 
>>>>>>>>>> http://community.staging.apache.org/gsoc#application-template
>>>>>>>>>> 
>>>>>>>>>> Best,
>>>>>>>>>> Robert
>>>>>>>>>> 
>>>>>>>>>> On Wed, Mar 18, 2015 at 1:49 PM, Jan Lehnardt <ja...@apache.org>
>>>>> wrote:
>>>>>>>>>>> 
>>>>>>>>>>>> On 18 Mar 2015, at 13:35, Buddhika Jayawardhana <
>>>>>>>>>> buddhika.12@cse.mrt.ac.lk> wrote:
>>>>>>>>>>>> 
>>>>>>>>>>>> Dear Jan and Robert,
>>>>>>>>>>>> 
>>>>>>>>>>>> It seems I have to do a lot to get to the speed. I have to
>>> gain a
>>>>>>> lot
>>>>>>>>>> of
>>>>>>>>>>>> theorytical knowladge in
>>>>>>>>>>>> 
>>>>>>>>>>>>  - Erlang.
>>>>>>>>>>>>  - Query servers.
>>>>>>>>>>>>  - and about the source.
>>>>>>>>>>>> 
>>>>>>>>>>>> But I am so exited to learn new things. Currently I am
>>> reading
>>>>>>>>>>>> "learnsomeerlang" and couch db documentation. This is my
>>> first
>>>>>>> attemp
>>>>>>>>>> to
>>>>>>>>>>>> get involve with a large scale open source project and I need
>>>>> help
>>>>>>> to
>>>>>>>>>>>> clarify the source code. I hope to meet you guys. Hope to
>>> meet
>>>>> you
>>>>>>>>>> guys at
>>>>>>>>>>>> the status meeting.
>>>>>>>>>>> 
>>>>>>>>>>> Sounds good, we’re here to help :) (we are not all guys,
>>> though)
>>>>>>>>>>> 
>>>>>>>>>>> Best
>>>>>>>>>>> Jan
>>>>>>>>>>> --
>>>>>>>>>>>> 
>>>>>>>>>>>> Regards.
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> On 18 March 2015 at 03:51, Alexander Shorin <
>>> kxepal@gmail.com>
>>>>>>> wrote:
>>>>>>>>>>>> 
>>>>>>>>>>>>> On Tue, Mar 17, 2015 at 12:28 AM, Jan Lehnardt <
>>> jan@apache.org>
>>>>>>>>>> wrote:
>>>>>>>>>>>>>> Here is how I would start:
>>>>>>>>>>>>> 
>>>>>>>>>>>>> I think you'd forgot a point about protocol design itself.
>>> It
>>>>>>> requires
>>>>>>>>>>>>> in lot of changes. And there is need to think hardly about
>>> is it
>>>>>>> good
>>>>>>>>>>>>> to stay with stdio as a transport if we're going to make it
>>> work
>>>>>>> for
>>>>>>>>>>>>> cluster and much parallel as it is now. Just
>>> reimplementation of
>>>>>>> what
>>>>>>>>>>>>> we have now is interesting, but not very helpful in mid/long
>>>>> term.
>>>>>>>>>>>>> 
>>>>>>>>>>>>> --
>>>>>>>>>>>>> ,,,^..^,,,
>>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> --
>>>>>>>>>>>> *Buddhika Jayawardhana*
>>>>>>>>>>>> Undergraduate | Department of Computer Science & Engineering
>>>>>>>>>>>> University of Moratuwa
>>>>>>>>>>>> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* |
>>>>> LinkedIn
>>>>>>>>>>>> <http://lk.linkedin.com/in/buddhikajay/>
>>>>>>>>>>> 
>>>>>>>>>>> --
>>>>>>>>>>> Professional Support for Apache CouchDB:
>>>>>>>>>>> http://www.neighbourhood.ie/couchdb-support/
>>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> --
>>>>>>>>> *Buddhika Jayawardhana*
>>>>>>>>> Undergraduate | Department of Computer Science & Engineering
>>>>>>>>> University of Moratuwa
>>>>>>>>> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* |
>>> LinkedIn
>>>>>>>>> <http://lk.linkedin.com/in/buddhikajay/>
>>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> --
>>>>>>>> *Buddhika Jayawardhana*
>>>>>>>> Undergraduate | Department of Computer Science & Engineering
>>>>>>>> University of Moratuwa
>>>>>>>> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* |
>>> LinkedIn
>>>>>>>> <http://lk.linkedin.com/in/buddhikajay/>
>>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> --
>>>>>> *Buddhika Jayawardhana*
>>>>>> Undergraduate | Department of Computer Science & Engineering
>>>>>> University of Moratuwa
>>>>>> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
>>>>>> <http://lk.linkedin.com/in/buddhikajay/>
>>>>> 
>>>> 
>>>> 
>>>> 
>>>> --
>>>> *Buddhika Jayawardhana*
>>>> Undergraduate | Department of Computer Science & Engineering
>>>> University of Moratuwa
>>>> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
>>>> <http://lk.linkedin.com/in/buddhikajay/>
>>> 
>> 
>> 
>> 
>> --
>> *Buddhika Jayawardhana*
>> Undergraduate | Department of Computer Science & Engineering
>> University of Moratuwa
>> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
>> <http://lk.linkedin.com/in/buddhikajay/>
>> 
> 
> 
> 
> -- 
> *Buddhika Jayawardhana*
> Undergraduate | Department of Computer Science & Engineering
> University of Moratuwa
> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
> <http://lk.linkedin.com/in/buddhikajay/>

-- 
Professional Support for Apache CouchDB:
http://www.neighbourhood.ie/couchdb-support/


Re: GSoc 2015 | COUCHDB-1743 Make the view server & protocol faster

Posted by Alexander Shorin <kx...@gmail.com>.
Hm. try to run them on clean checkout.
--
,,,^..^,,,


On Fri, Apr 10, 2015 at 6:32 PM, Buddhika Jayawardhana
<bu...@cse.mrt.ac.lk> wrote:
> Sorry for the incompleteness of the problem.
>
> *test:*
> couch_mrview_all_docs_test.erl
>
> *full error log(eunit): *
> /usr/lib/erlang/bin/erl -pa /tmp/eunit_teamcity2.tmp -pa
> /mnt/36024D48024D0E75/Users/Buddhika/Documents/Programming/2015/Apache/CouchDB/CouchProjects/couchdb-couch-mrview/out
> -pa
> /mnt/36024D48024D0E75/Users/Buddhika/Documents/Programming/2015/Apache/CouchDB/CouchProjects/couchdb-couch-mrview
> -eval "eunit:test([couch_mrview_all_docs_tests], [{report,
> {eunit_teamcity,[]}}, {no_tty, true}])." -s init stop -noshell
> Testing started at 8:40 PM ...
> Test suite was cancelled. Reason: {abort,
>                                    {setup_failed,
>                                     {error,undef,
>
> [{test_util,start_couch,[],[]}]}}}Empty test suite.
>
>
> *error log(by running "couch_mrview_all_docs_tests:test().")*
>
> _all_docs view tests
> *** context setup failed ***
> **in function test_util:start_couch/0
>   called as start_couch()
> **error:undef
>
> *Here is the setup function of the test*
> setup() ->
>     {ok, Db} = couch_mrview_test_util:init_db(?tempdb(), map),
>     Db.
> I ran a test for tempdb. It perfectly returns a name for the database.
>
> On 10 April 2015 at 15:01, Alexander Shorin <kx...@gmail.com> wrote:
>
>> On Fri, Apr 10, 2015 at 10:19 AM, Buddhika Jayawardhana
>> <bu...@cse.mrt.ac.lk> wrote:
>> > . The error what I get is *** context setup failed ***. What could be the
>> > problem?
>>
>> What the tests do you run?
>> For which case this error occurs?
>> Could you share full test run output?
>>
>> --
>> ,,,^..^,,,
>>
>
>
>
> --
> *Buddhika Jayawardhana*
> Undergraduate | Department of Computer Science & Engineering
> University of Moratuwa
> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
> <http://lk.linkedin.com/in/buddhikajay/>

Re: GSoc 2015 | COUCHDB-1743 Make the view server & protocol faster

Posted by Buddhika Jayawardhana <bu...@cse.mrt.ac.lk>.
Sorry for the incompleteness of the problem.

*test:*
couch_mrview_all_docs_test.erl

*full error log(eunit): *
/usr/lib/erlang/bin/erl -pa /tmp/eunit_teamcity2.tmp -pa
/mnt/36024D48024D0E75/Users/Buddhika/Documents/Programming/2015/Apache/CouchDB/CouchProjects/couchdb-couch-mrview/out
-pa
/mnt/36024D48024D0E75/Users/Buddhika/Documents/Programming/2015/Apache/CouchDB/CouchProjects/couchdb-couch-mrview
-eval "eunit:test([couch_mrview_all_docs_tests], [{report,
{eunit_teamcity,[]}}, {no_tty, true}])." -s init stop -noshell
Testing started at 8:40 PM ...
Test suite was cancelled. Reason: {abort,
                                   {setup_failed,
                                    {error,undef,

[{test_util,start_couch,[],[]}]}}}Empty test suite.


*error log(by running "couch_mrview_all_docs_tests:test().")*

_all_docs view tests
*** context setup failed ***
**in function test_util:start_couch/0
  called as start_couch()
**error:undef

*Here is the setup function of the test*
setup() ->
    {ok, Db} = couch_mrview_test_util:init_db(?tempdb(), map),
    Db.
I ran a test for tempdb. It perfectly returns a name for the database.

On 10 April 2015 at 15:01, Alexander Shorin <kx...@gmail.com> wrote:

> On Fri, Apr 10, 2015 at 10:19 AM, Buddhika Jayawardhana
> <bu...@cse.mrt.ac.lk> wrote:
> > . The error what I get is *** context setup failed ***. What could be the
> > problem?
>
> What the tests do you run?
> For which case this error occurs?
> Could you share full test run output?
>
> --
> ,,,^..^,,,
>



-- 
*Buddhika Jayawardhana*
Undergraduate | Department of Computer Science & Engineering
University of Moratuwa
*buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
<http://lk.linkedin.com/in/buddhikajay/>

Re: GSoc 2015 | COUCHDB-1743 Make the view server & protocol faster

Posted by Alexander Shorin <kx...@gmail.com>.
On Fri, Apr 10, 2015 at 10:19 AM, Buddhika Jayawardhana
<bu...@cse.mrt.ac.lk> wrote:
> . The error what I get is *** context setup failed ***. What could be the
> problem?

What the tests do you run?
For which case this error occurs?
Could you share full test run output?

--
,,,^..^,,,

Re: GSoc 2015 | COUCHDB-1743 Make the view server & protocol faster

Posted by Buddhika Jayawardhana <bu...@cse.mrt.ac.lk>.
Dear All,
In past two weeks I have been reading the code(Erlang part). But I got a
problem when running the test cases
. The error what I get is *** context setup failed ***. What could be the
problem?

On 29 March 2015 at 03:43, Buddhika Jayawardhana <bu...@cse.mrt.ac.lk>
wrote:

> Thank you all for helping me to prepare my project proposal. Specially
> Jan, Robert and Alexander.
>
> On 26 March 2015 at 06:57, Buddhika Jayawardhana <
> buddhika.12@cse.mrt.ac.lk> wrote:
>
>> Dear Jan,
>> I felt like it is better if I can include a design document(But I doubt
>> whether it can be done within today). Also more details about tools that I
>> am going to use.(IDE s, documentation tools, project management tools ect).
>> I am working in Ubuntu and not using any specific IDE ro documentation in
>> practice for Erlang. I am using vim and terminal. I searched a little bit
>> and found many people use emacs. I would like to know From your experience.
>>
>>
>>    - Some good IDEs : for both Erlang and JavaScript
>>    - A documentation tool
>>    - A project management tool: if there any other than JIRA
>>    - Any other tool which is worth to get familiar with for this project.
>>
>> Thank you so much for pointing resources to lean about stdio. "Advanced
>> Programming in the Unix Environment" book is available in our library. I'll
>> try to borrow it today or next Monday.
>>
>> Thank You.
>>
>>
>> On 26 March 2015 at 06:35, Buddhika Jayawardhana <
>> buddhika.12@cse.mrt.ac.lk> wrote:
>>
>>> This is my idea.
>>>
>>> *Benchmarking.*
>>>
>>> As Jan suggested lets use databases and typical functions to test the
>>> performance. We can use the same tests with old query server and we can use
>>> that date for comparing.I will add these thing to the proposal
>>>
>>> *Moving to Node/io.js*
>>>
>>> I am not experienced enough to make a decision. I should be able to
>>> complete what ever  included in to the proposal within the summer. I think
>>> it is better if experienced members of the  community can come to a
>>> decision.
>>> I am planning to upload the final proposal around 2.00 UTC tomorrow. It
>>> would be really easy if we can come to a decision before that time.
>>>
>>> On 26 March 2015 at 02:30, Alexander Shorin <kx...@gmail.com> wrote:
>>>
>>>> On Wed, Mar 25, 2015 at 11:34 PM, Jan Lehnardt <ja...@apache.org> wrote:
>>>> > They are separate goals, but it would be exceptionally hard to build
>>>> > a streaming protocol in couchjs. It very likely would require
>>>> significant
>>>> > work in C/C++ (unless I’m missing something obvious). That’s why I
>>>> > think a new protocol and a new JS interpreter is going hand-in-hand.
>>>>
>>>> In transport remains stdio, there is nothing need to do now. Since 1.3
>>>> release couchjs technically supports streaming (you can try to call
>>>> getRow() from view function to prove that), but protocol itself is
>>>> not. If you're going to provide socket-driven transport then yes, some
>>>> C++ hackery might be required.
>>>>
>>>> --
>>>> ,,,^..^,,,
>>>>
>>>
>>>
>>>
>>> --
>>> *Buddhika Jayawardhana*
>>> Undergraduate | Department of Computer Science & Engineering
>>> University of Moratuwa
>>> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
>>> <http://lk.linkedin.com/in/buddhikajay/>
>>>
>>
>>
>>
>> --
>> *Buddhika Jayawardhana*
>> Undergraduate | Department of Computer Science & Engineering
>> University of Moratuwa
>> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
>> <http://lk.linkedin.com/in/buddhikajay/>
>>
>
>
>
> --
> *Buddhika Jayawardhana*
> Undergraduate | Department of Computer Science & Engineering
> University of Moratuwa
> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
> <http://lk.linkedin.com/in/buddhikajay/>
>



-- 
*Buddhika Jayawardhana*
Undergraduate | Department of Computer Science & Engineering
University of Moratuwa
*buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
<http://lk.linkedin.com/in/buddhikajay/>

Re: GSoc 2015 | COUCHDB-1743 Make the view server & protocol faster

Posted by Buddhika Jayawardhana <bu...@cse.mrt.ac.lk>.
Thank you all for helping me to prepare my project proposal. Specially Jan,
Robert and Alexander.

On 26 March 2015 at 06:57, Buddhika Jayawardhana <bu...@cse.mrt.ac.lk>
wrote:

> Dear Jan,
> I felt like it is better if I can include a design document(But I doubt
> whether it can be done within today). Also more details about tools that I
> am going to use.(IDE s, documentation tools, project management tools ect).
> I am working in Ubuntu and not using any specific IDE ro documentation in
> practice for Erlang. I am using vim and terminal. I searched a little bit
> and found many people use emacs. I would like to know From your experience.
>
>
>    - Some good IDEs : for both Erlang and JavaScript
>    - A documentation tool
>    - A project management tool: if there any other than JIRA
>    - Any other tool which is worth to get familiar with for this project.
>
> Thank you so much for pointing resources to lean about stdio. "Advanced
> Programming in the Unix Environment" book is available in our library. I'll
> try to borrow it today or next Monday.
>
> Thank You.
>
>
> On 26 March 2015 at 06:35, Buddhika Jayawardhana <
> buddhika.12@cse.mrt.ac.lk> wrote:
>
>> This is my idea.
>>
>> *Benchmarking.*
>>
>> As Jan suggested lets use databases and typical functions to test the
>> performance. We can use the same tests with old query server and we can use
>> that date for comparing.I will add these thing to the proposal
>>
>> *Moving to Node/io.js*
>>
>> I am not experienced enough to make a decision. I should be able to
>> complete what ever  included in to the proposal within the summer. I think
>> it is better if experienced members of the  community can come to a
>> decision.
>> I am planning to upload the final proposal around 2.00 UTC tomorrow. It
>> would be really easy if we can come to a decision before that time.
>>
>> On 26 March 2015 at 02:30, Alexander Shorin <kx...@gmail.com> wrote:
>>
>>> On Wed, Mar 25, 2015 at 11:34 PM, Jan Lehnardt <ja...@apache.org> wrote:
>>> > They are separate goals, but it would be exceptionally hard to build
>>> > a streaming protocol in couchjs. It very likely would require
>>> significant
>>> > work in C/C++ (unless I’m missing something obvious). That’s why I
>>> > think a new protocol and a new JS interpreter is going hand-in-hand.
>>>
>>> In transport remains stdio, there is nothing need to do now. Since 1.3
>>> release couchjs technically supports streaming (you can try to call
>>> getRow() from view function to prove that), but protocol itself is
>>> not. If you're going to provide socket-driven transport then yes, some
>>> C++ hackery might be required.
>>>
>>> --
>>> ,,,^..^,,,
>>>
>>
>>
>>
>> --
>> *Buddhika Jayawardhana*
>> Undergraduate | Department of Computer Science & Engineering
>> University of Moratuwa
>> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
>> <http://lk.linkedin.com/in/buddhikajay/>
>>
>
>
>
> --
> *Buddhika Jayawardhana*
> Undergraduate | Department of Computer Science & Engineering
> University of Moratuwa
> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
> <http://lk.linkedin.com/in/buddhikajay/>
>



-- 
*Buddhika Jayawardhana*
Undergraduate | Department of Computer Science & Engineering
University of Moratuwa
*buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
<http://lk.linkedin.com/in/buddhikajay/>

Re: GSoc 2015 | COUCHDB-1743 Make the view server & protocol faster

Posted by Buddhika Jayawardhana <bu...@cse.mrt.ac.lk>.
Dear Jan,
I felt like it is better if I can include a design document(But I doubt
whether it can be done within today). Also more details about tools that I
am going to use.(IDE s, documentation tools, project management tools ect).
I am working in Ubuntu and not using any specific IDE ro documentation in
practice for Erlang. I am using vim and terminal. I searched a little bit
and found many people use emacs. I would like to know From your experience.


   - Some good IDEs : for both Erlang and JavaScript
   - A documentation tool
   - A project management tool: if there any other than JIRA
   - Any other tool which is worth to get familiar with for this project.

Thank you so much for pointing resources to lean about stdio. "Advanced
Programming in the Unix Environment" book is available in our library. I'll
try to borrow it today or next Monday.

Thank You.


On 26 March 2015 at 06:35, Buddhika Jayawardhana <bu...@cse.mrt.ac.lk>
wrote:

> This is my idea.
>
> *Benchmarking.*
>
> As Jan suggested lets use databases and typical functions to test the
> performance. We can use the same tests with old query server and we can use
> that date for comparing.I will add these thing to the proposal
>
> *Moving to Node/io.js*
>
> I am not experienced enough to make a decision. I should be able to
> complete what ever  included in to the proposal within the summer. I think
> it is better if experienced members of the  community can come to a
> decision.
> I am planning to upload the final proposal around 2.00 UTC tomorrow. It
> would be really easy if we can come to a decision before that time.
>
> On 26 March 2015 at 02:30, Alexander Shorin <kx...@gmail.com> wrote:
>
>> On Wed, Mar 25, 2015 at 11:34 PM, Jan Lehnardt <ja...@apache.org> wrote:
>> > They are separate goals, but it would be exceptionally hard to build
>> > a streaming protocol in couchjs. It very likely would require
>> significant
>> > work in C/C++ (unless I’m missing something obvious). That’s why I
>> > think a new protocol and a new JS interpreter is going hand-in-hand.
>>
>> In transport remains stdio, there is nothing need to do now. Since 1.3
>> release couchjs technically supports streaming (you can try to call
>> getRow() from view function to prove that), but protocol itself is
>> not. If you're going to provide socket-driven transport then yes, some
>> C++ hackery might be required.
>>
>> --
>> ,,,^..^,,,
>>
>
>
>
> --
> *Buddhika Jayawardhana*
> Undergraduate | Department of Computer Science & Engineering
> University of Moratuwa
> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
> <http://lk.linkedin.com/in/buddhikajay/>
>



-- 
*Buddhika Jayawardhana*
Undergraduate | Department of Computer Science & Engineering
University of Moratuwa
*buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
<http://lk.linkedin.com/in/buddhikajay/>

Re: GSoc 2015 | COUCHDB-1743 Make the view server & protocol faster

Posted by Buddhika Jayawardhana <bu...@cse.mrt.ac.lk>.
This is my idea.

*Benchmarking.*

As Jan suggested lets use databases and typical functions to test the
performance. We can use the same tests with old query server and we can use
that date for comparing.I will add these thing to the proposal

*Moving to Node/io.js*

I am not experienced enough to make a decision. I should be able to
complete what ever  included in to the proposal within the summer. I think
it is better if experienced members of the  community can come to a
decision.
I am planning to upload the final proposal around 2.00 UTC tomorrow. It
would be really easy if we can come to a decision before that time.

On 26 March 2015 at 02:30, Alexander Shorin <kx...@gmail.com> wrote:

> On Wed, Mar 25, 2015 at 11:34 PM, Jan Lehnardt <ja...@apache.org> wrote:
> > They are separate goals, but it would be exceptionally hard to build
> > a streaming protocol in couchjs. It very likely would require significant
> > work in C/C++ (unless I’m missing something obvious). That’s why I
> > think a new protocol and a new JS interpreter is going hand-in-hand.
>
> In transport remains stdio, there is nothing need to do now. Since 1.3
> release couchjs technically supports streaming (you can try to call
> getRow() from view function to prove that), but protocol itself is
> not. If you're going to provide socket-driven transport then yes, some
> C++ hackery might be required.
>
> --
> ,,,^..^,,,
>



-- 
*Buddhika Jayawardhana*
Undergraduate | Department of Computer Science & Engineering
University of Moratuwa
*buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
<http://lk.linkedin.com/in/buddhikajay/>

Re: GSoc 2015 | COUCHDB-1743 Make the view server & protocol faster

Posted by Alexander Shorin <kx...@gmail.com>.
On Wed, Mar 25, 2015 at 11:34 PM, Jan Lehnardt <ja...@apache.org> wrote:
> They are separate goals, but it would be exceptionally hard to build
> a streaming protocol in couchjs. It very likely would require significant
> work in C/C++ (unless I’m missing something obvious). That’s why I
> think a new protocol and a new JS interpreter is going hand-in-hand.

In transport remains stdio, there is nothing need to do now. Since 1.3
release couchjs technically supports streaming (you can try to call
getRow() from view function to prove that), but protocol itself is
not. If you're going to provide socket-driven transport then yes, some
C++ hackery might be required.

--
,,,^..^,,,

Re: GSoc 2015 | COUCHDB-1743 Make the view server & protocol faster

Posted by Jan Lehnardt <ja...@apache.org>.
> On 25 Mar 2015, at 20:00, Alexander Shorin <kx...@gmail.com> wrote:
> 
> On Wed, Mar 25, 2015 at 5:53 PM, Buddhika Jayawardhana
> <bu...@cse.mrt.ac.lk> wrote:
>> Thank you so much for pointing out weaknesses of my proposal. Yes, we
>> should measure the performance of the view server. Can we do a comparison
>> test between the Old functions with corresponding new function? or should I
>> research about a tool? It would be really great If devs can suggest any
>> directions for research.
> 
> Yes, we need to compare behaviour of old implementation with a new one
> for the exact the same cases. Regular test suite isn't a good
> candidate for such role since it solves a different problem, but here
> we have a two targets: Query Server (JS) and CouchDB (Erlang). During
> your work you may really improve Query Server performance, but
> accidentally reduce it for Erlang side. There is a field for a small
> researching about, but it shouldn't take a lot of time.
> 
>> About Node.js, I did not research about any other run-time environment.
>> Since Jan already has done some experiments, I though It is reasonable to
>> using Node.js.
> 
> I didn't make a research either, but quick test of the current query
> server for SpiderMonkey vs NodeJS shows not much difference between.
> 
>> Jan's point was that more people will get the opportunity contribute if we
>> move in to Node.js. Can we try to Implement a streaming communication
>> between Erlang and Couch.js ? then we can make 'move in to Node.js'
>> optional. I would like to know the opinion of other member.
> 
> I like the idea of separating the things. What is really needs for
> improvement is the query server protocol, no doubts. Once it'll be
> changed and proved as faster, then it'll be a time for researching of
> SM replacement with NodeJS/io.js. These are two separate goals for me,
> but their order is quite clear: to be able compare something, there is
> need to create equivalent environment and conditions for them and the
> protocol is a part of that.

They are separate goals, but it would be exceptionally hard to build
a streaming protocol in couchjs. It very likely would require significant
work in C/C++ (unless I’m missing something obvious). That’s why I
think a new protocol and a new JS interpreter is going hand-in-hand.

As far as whether Node.js is a good target, I’d say don’t worry about
it too much. I can’t predict where the Node.js/io.js dichotomy is going
to end, but once the new query server is in place, it isn’t very hard
to generally support both or however many environments.

As a repetition, one of the reasons why I want Node.js in there is that
we can drop dependency on the C glue that is couchjs and attract *a lot*
more people that can work on CouchDB on that level. We haven’t seen
much work there over the years once things settled in and I’m not eager
to go in there voluntarily, I can imagine newcomers to be eager to go
anywhere near.

* * *

As for the performance benchmarking, which I agree should be part of
this, I think we can keep in simple. Benchmarking any particular
components helps less. What we are interested in is whether view
index builds are faster and whether we make better use of hardware.

To that end, I’d propose a benchmark suite that roughly has this:

- a bunch of databases with differently sized documents ranging
  from small (50 bytes maybe) to medium (1 kbytes) and large.
  (10 kbytes).
- a bunch of different typical map/reduce functions.

Then we simply measure how long everything takes with either
view engine, and how much CPU/RAM/disk is used either way.
Wiring this up shouldn’t take too long. It’d be nice to have
this a separate module that we can keep using for future
performance work.

And then:

- a bunch of typical show/list/update/validate/filter functions

And we’ll run a simple test suite that runs a bunch of concurrent
requests against them and then measure response time, number of
concurrent requests until problems occur, how many OS processes
are used, and again CPU/RAM/disk etc. One of the myriad web
benchmark tools should suffice.

* * *

Buddhika, I read through your proposal draft and only had minor
edits for now. You said it is light on technical details. In
which area would you want to expand on technical details? I’m
happy to help to fill in the blanks.

Best
Jan

--
Professional Support for Apache CouchDB:
http://www.neighbourhood.ie/couchdb-support/


Re: GSoc 2015 | COUCHDB-1743 Make the view server & protocol faster

Posted by Alexander Shorin <kx...@gmail.com>.
On Wed, Mar 25, 2015 at 5:53 PM, Buddhika Jayawardhana
<bu...@cse.mrt.ac.lk> wrote:
> Thank you so much for pointing out weaknesses of my proposal. Yes, we
> should measure the performance of the view server. Can we do a comparison
> test between the Old functions with corresponding new function? or should I
> research about a tool? It would be really great If devs can suggest any
> directions for research.

Yes, we need to compare behaviour of old implementation with a new one
for the exact the same cases. Regular test suite isn't a good
candidate for such role since it solves a different problem, but here
we have a two targets: Query Server (JS) and CouchDB (Erlang). During
your work you may really improve Query Server performance, but
accidentally reduce it for Erlang side. There is a field for a small
researching about, but it shouldn't take a lot of time.

> About Node.js, I did not research about any other run-time environment.
> Since Jan already has done some experiments, I though It is reasonable to
> using Node.js.

I didn't make a research either, but quick test of the current query
server for SpiderMonkey vs NodeJS shows not much difference between.

> Jan's point was that more people will get the opportunity contribute if we
> move in to Node.js. Can we try to Implement a streaming communication
> between Erlang and Couch.js ? then we can make 'move in to Node.js'
> optional. I would like to know the opinion of other member.

I like the idea of separating the things. What is really needs for
improvement is the query server protocol, no doubts. Once it'll be
changed and proved as faster, then it'll be a time for researching of
SM replacement with NodeJS/io.js. These are two separate goals for me,
but their order is quite clear: to be able compare something, there is
need to create equivalent environment and conditions for them and the
protocol is a part of that.

--
,,,^..^,,,

Re: GSoc 2015 | COUCHDB-1743 Make the view server & protocol faster

Posted by Buddhika Jayawardhana <bu...@cse.mrt.ac.lk>.
Hi Alexander,

Thank you so much for pointing out weaknesses of my proposal. Yes, we
should measure the performance of the view server. Can we do a comparison
test between the Old functions with corresponding new function? or should I
research about a tool? It would be really great If devs can suggest any
directions for research.
About Node.js, I did not research about any other run-time environment.
Since Jan already has done some experiments, I though It is reasonable to
using Node.js.
Jan's point was that more people will get the opportunity contribute if we
move in to Node.js. Can we try to Implement a streaming communication
between Erlang and Couch.js ? then we can make 'move in to Node.js'
optional. I would like to know the opinion of other member.
Jan, Roert, what are your ideas?


On 25 March 2015 at 18:33, Alexander Shorin <kx...@gmail.com> wrote:

> Hi Buddhika,
>
> The plan looks good for me, but I miss there one important moment.
>
> It goes with a title "Make the View Server & protocol faster" and
> below the implementation discussion goes, but there is no word about
> "prove that it's really faster". The one of your work result might
> happen that performance wouldn't be significantly improved. But to see
> that, we need to make a benchmark first. A tool, that will say in the
> end "yes, the protocol and view server" became faster. Or at least not
> slower.
>
> I'm also sceptical about bringing NodeJS as runtime dependency pushing
> SpiderMonkey away, since NodeJS now is in not very stable position:
> should we care about io.js? What if they decide to break backward
> compatibility at some point? There are no reasons to throw away
> SpiderMonkey and there was only one that cause the pain to us is a
> breaking change in the way how anonymous functions are handled in the
> newer version. Speaking of the speed, both V8 and SpiderMonkey are
> equivalent more or less.
>
> Jan, have you thought about that decision good? For me it doubtful.
> --
> ,,,^..^,,,
>
>
> On Tue, Mar 24, 2015 at 7:44 PM, Buddhika Jayawardhana
> <bu...@cse.mrt.ac.lk> wrote:
> > I changed the testing method to TDD as Robert suggested. Also I changed
> the
> > schedule in to a weekly based one. I would like to have your comments on
> > time allocation for each task. Here is the link
> > <
> https://docs.google.com/document/d/1Yrj73vXAJjBA0-i_Nt78FUipy5oTtZ42UG2TlXmH4y0/edit?usp=sharing
> >
> > for the proposal.
> >
> > On 24 March 2015 at 07:40, Buddhika Jayawardhana <
> buddhika.12@cse.mrt.ac.lk>
> > wrote:
> >
> >> Dear Robert and Alexander,
> >>
> >> Thanks for your suggestions.
> >> Robert,
> >> Yes I was thinking about a good, simple way to represent the schedule.
> My
> >> idea was to draw a chart which shows the time allocation with a range of
> >> dates and hourly basis.
> >> eg:
> >> Implementing show function handler
> >>
> >> Duration: May 10 to 30
> >> Designing :10 hours.
> >> Implementation :100 hours
> >> Testing : 30 hours
> >>
> >> likewise. Is that ok? I thought that it might help me to divide the time
> >> among tasks easily although those are rough estimates. As you advised I
> >> will be writing test cases for every bit of function. I will complete
> this
> >> before 20 UTC todya(Because I got some lectures today). And I will let
> you
> >> know when I am done.
> >>
> >>
> >> Again Thanks for spending time for read the proposal.
> >>
> >> On 24 March 2015 at 06:23, Robert Kowalski <ro...@kowalski.gd> wrote:
> >>
> >>> Looks good! Left some suggestions!
> >>>
> >>> Are you going to complete the schedule?
> >>>
> >>> I just noticed that you have a special section for testing, from my
> >>> experience I can suggest to add unit tests while you develop the
> >>> feature, as adding tests weeks or months later to a big, grown
> >>> codebase is not a lot of fun and also very hard (maybe even not
> >>> possible because the code was written untestable weeks ago). At least
> >>> that are my experiences with testing.
> >>>
> >>> On Mon, Mar 23, 2015 at 5:15 PM, Buddhika Jayawardhana
> >>> <bu...@cse.mrt.ac.lk> wrote:
> >>> > Dear Folks,
> >>> >
> >>> > I have prepared a draft proposal  for the project based on what I
> have
> >>> read
> >>> > so far.
> >>> >
> >>> > How deep I should explain the technical details of the project?
> >>> > Is the software process which I have suggested is ok? or should I use
> >>> any
> >>> > other process?
> >>> >
> >>> > This is the link
> >>> > <
> >>>
> https://docs.google.com/document/d/1Yrj73vXAJjBA0-i_Nt78FUipy5oTtZ42UG2TlXmH4y0/edit?usp=sharing
> >>> >
> >>> > for the proposal. Please be kind enough to add your comments on the
> >>> > proposal.
> >>> >
> >>> > Thank You
> >>> >
> >>> >
> >>> > On 22 March 2015 at 10:24, Buddhika Jayawardhana <
> >>> buddhika.12@cse.mrt.ac.lk>
> >>> > wrote:
> >>> >
> >>> >> Dear Jan, Robert other devs,
> >>> >>
> >>> >> I have prepared a draft proposal for the project. It can be found on
> >>> this
> >>> >> link
> >>> >> <
> >>>
> https://docs.google.com/a/cse.mrt.ac.lk/document/d/1Yrj73vXAJjBA0-i_Nt78FUipy5oTtZ42UG2TlXmH4y0/edit?usp=sharing
> >>> >.
> >>> >> It is neither complete nor contain much technical details. It is
> >>> completely
> >>> >> based on what you have told me and what I have read so far. Please
> add
> >>> your
> >>> >> comments to improve the proposal and point me out if I have
> >>> misunderstood
> >>> >> anything you have told me or about the project.
> >>> >>
> >>> >> I think I need a deep understanding on stdio. Please point me some
> >>> >> direction to learn them.
> >>> >>
> >>> >> Thank You.
> >>> >>
> >>> >> On 21 March 2015 at 22:16, Buddhika Jayawardhana <
> >>> >> buddhika.12@cse.mrt.ac.lk> wrote:
> >>> >>
> >>> >>> Thank You Robert, I already have started  writing the proposal. I
> will
> >>> >>> share the link of the google doc tomorrow morning.
> >>> >>>
> >>> >>> On 21 March 2015 at 21:08, Robert Kowalski <ro...@kowalski.gd>
> wrote:
> >>> >>>
> >>> >>>> Hi Buddhika,
> >>> >>>>
> >>> >>>> no worries - the preparation for each GSoC project is different
> for
> >>> >>>> every student. Some projects need more background knowledge in
> >>> advance
> >>> >>>> and have to integrate in other way into the codebase, so don't
> worry
> >>> >>>> that other folks are submitting code!
> >>> >>>>
> >>> >>>> I would suggest to start writing the proposal as far as you can,
> we
> >>> >>>> will also give you feedback. The deadline is for submissions is
> soon.
> >>> >>>>
> >>> >>>> I tried to write up some tips for writing the two sections you are
> >>> >>>> worried about:
> >>> >>>>
> >>> >>>> For the "background" section you can just rely on the informations
> >>> the
> >>> >>>> community provides plus the background information you gained from
> >>> >>>> reading the docs (e.g. the current QueryServer protocol [1], the
> way
> >>> >>>> the QueryServer operates today and more general informations, like
> >>> how
> >>> >>>> you query CouchDB and how you are writing views) - so no worries!
> >>> >>>>
> >>> >>>> Regarding the design/description: Jan already gave some
> suggestions
> >>> >>>> regarding the steps that are needed. Are there steps missing in
> >>> >>>> between? How do you measure the success of the project? How do you
> >>> >>>> plan to work together with Jan & the community? Also describe how
> you
> >>> >>>> going to work: are you planning to work iterative, waterfall,
> using
> >>> >>>> techniques like test-driven-development, by building a prototype
> etc?
> >>> >>>>
> >>> >>>> I hope I could provide some hints!
> >>> >>>>
> >>> >>>>
> >>> >>>> [1] http://docs.couchdb.org/en/1.6.1/query-server/protocol.html
> >>> >>>>
> >>> >>>> On Sat, Mar 21, 2015 at 6:58 AM, Buddhika Jayawardhana
> >>> >>>> <bu...@cse.mrt.ac.lk> wrote:
> >>> >>>> > Hi Robert,
> >>> >>>> >
> >>> >>>> > I I saw some other applicants are submitting pieces of codes.
> But
> >>> I am
> >>> >>>> > still reading the documents Jan and others have sent me.
> >>> >>>> >
> >>> >>>> >
> >>> >>>> >    - I am middle of learnYouSomeErlang book.
> >>> >>>> >    - I have around 8 chapters to read in Couch-DB "The
> Definitive
> >>> >>>> Guide".
> >>> >>>> >    - Lots of documentation.
> >>> >>>> >    - Most of the source code.
> >>> >>>> >
> >>> >>>> >
> >>> >>>> > I looked at the template that you have sent me and it requires a
> >>> >>>> > description about the current situation of the project. And
> design/
> >>> >>>> > description of the work.
> >>> >>>> > I do not have any confidence to write those two paragraphs. But
> I
> >>> can
> >>> >>>> start
> >>> >>>> > to write the proposal based on the thinks that Jan have
> >>> >>>> described(Though I
> >>> >>>> > don't understand all of them). Shall I start that way? or is
> there
> >>> any
> >>> >>>> > other better way.
> >>> >>>> >
> >>> >>>> > Waiting for your advices.
> >>> >>>> >
> >>> >>>> > On 21 March 2015 at 08:14, Robert Kowalski <ro...@kowalski.gd>
> >>> wrote:
> >>> >>>> >
> >>> >>>> >> Hi Buddhika,
> >>> >>>> >>
> >>> >>>> >> the deadline for proposals is getting closer, do you have any
> >>> >>>> >> questions? Is there anything we can help you with?
> >>> >>>> >>
> >>> >>>> >> Jan, the ML and I are happy to help!
> >>> >>>> >>
> >>> >>>> >> Best,
> >>> >>>> >> Robert
> >>> >>>> >>
> >>> >>>> >> On Thu, Mar 19, 2015 at 1:57 PM, Buddhika Jayawardhana
> >>> >>>> >> <bu...@cse.mrt.ac.lk> wrote:
> >>> >>>> >> > Thanks Alexander. I'll try this out.
> >>> >>>> >> >
> >>> >>>> >> > On 19 March 2015 at 16:59, Alexander Shorin <
> kxepal@gmail.com>
> >>> >>>> wrote:
> >>> >>>> >> >
> >>> >>>> >> >> Hi Buddhika,
> >>> >>>> >> >>
> >>> >>>> >> >> May be some docs could help you:
> >>> >>>> >> >>
> http://docs.couchdb.org/en/latest/query-server/protocol.html
> >>> >>>> >> >>
> >>> >>>> >> >> The most easiest way to understand it is to play with it.
> >>> >>>> >> >> Try to enable debug logs for CouchDB (better here stay with
> 1.x
> >>> >>>> >> >> series), run view and other functions and see what the
> >>> >>>> communication
> >>> >>>> >> >> happens between CouchDB and query server.
> >>> >>>> >> >> Try to run query server from CLI and send it some commands
> to
> >>> it
> >>> >>>> and
> >>> >>>> >> >> notice the responces.
> >>> >>>> >> >> After that, reading the code would be much more simpler
> since
> >>> >>>> you'll
> >>> >>>> >> >> know the idea how it works in general.
> >>> >>>> >> >>
> >>> >>>> >> >> --
> >>> >>>> >> >> ,,,^..^,,,
> >>> >>>> >> >>
> >>> >>>> >> >>
> >>> >>>> >> >> On Thu, Mar 19, 2015 at 2:24 PM, Buddhika Jayawardhana
> >>> >>>> >> >> <bu...@cse.mrt.ac.lk> wrote:
> >>> >>>> >> >> > Dear Jan,
> >>> >>>> >> >> >
> >>> >>>> >> >> > I tried to read the code you have sent me to understand
> the
> >>> >>>> current
> >>> >>>> >> query
> >>> >>>> >> >> > server protocol(https://github.com/apache/couchdb
> >>> >>>> >> >> > /blob/master/test/view_server/query_server_spec.rb). But I
> >>> could
> >>> >>>> not
> >>> >>>> >> >> > understand anything :( . I'm stuck here. Can you point me
> >>> out a
> >>> >>>> way to
> >>> >>>> >> >> > understand the code. (At least a brief explanation).
> >>> >>>> >> >> >
> >>> >>>> >> >> > Thanks.
> >>> >>>> >> >> >
> >>> >>>> >> >> > On 19 March 2015 at 10:28, Buddhika Jayawardhana <
> >>> >>>> >> >> buddhika.12@cse.mrt.ac.lk>
> >>> >>>> >> >> > wrote:
> >>> >>>> >> >> >
> >>> >>>> >> >> >> Thanks Robert. This would be really helpful.
> >>> >>>> >> >> >>
> >>> >>>> >> >> >> On 19 March 2015 at 03:20, Robert Kowalski <
> rok@kowalski.gd
> >>> >
> >>> >>>> wrote:
> >>> >>>> >> >> >>
> >>> >>>> >> >> >>> Some of you asked for a template for their proposals,
> here
> >>> is
> >>> >>>> what
> >>> >>>> >> I've
> >>> >>>> >> >> >>> found:
> >>> >>>> >> >> >>>
> >>> >>>> >> >> >>>
> >>> http://community.staging.apache.org/gsoc#application-template
> >>> >>>> >> >> >>>
> >>> >>>> >> >> >>> Best,
> >>> >>>> >> >> >>> Robert
> >>> >>>> >> >> >>>
> >>> >>>> >> >> >>> On Wed, Mar 18, 2015 at 1:49 PM, Jan Lehnardt <
> >>> jan@apache.org>
> >>> >>>> >> wrote:
> >>> >>>> >> >> >>> >
> >>> >>>> >> >> >>> >> On 18 Mar 2015, at 13:35, Buddhika Jayawardhana <
> >>> >>>> >> >> >>> buddhika.12@cse.mrt.ac.lk> wrote:
> >>> >>>> >> >> >>> >>
> >>> >>>> >> >> >>> >> Dear Jan and Robert,
> >>> >>>> >> >> >>> >>
> >>> >>>> >> >> >>> >> It seems I have to do a lot to get to the speed. I
> have
> >>> to
> >>> >>>> gain a
> >>> >>>> >> >> lot
> >>> >>>> >> >> >>> of
> >>> >>>> >> >> >>> >> theorytical knowladge in
> >>> >>>> >> >> >>> >>
> >>> >>>> >> >> >>> >>   - Erlang.
> >>> >>>> >> >> >>> >>   - Query servers.
> >>> >>>> >> >> >>> >>   - and about the source.
> >>> >>>> >> >> >>> >>
> >>> >>>> >> >> >>> >> But I am so exited to learn new things. Currently I
> am
> >>> >>>> reading
> >>> >>>> >> >> >>> >> "learnsomeerlang" and couch db documentation. This
> is my
> >>> >>>> first
> >>> >>>> >> >> attemp
> >>> >>>> >> >> >>> to
> >>> >>>> >> >> >>> >> get involve with a large scale open source project
> and I
> >>> >>>> need
> >>> >>>> >> help
> >>> >>>> >> >> to
> >>> >>>> >> >> >>> >> clarify the source code. I hope to meet you guys.
> Hope
> >>> to
> >>> >>>> meet
> >>> >>>> >> you
> >>> >>>> >> >> >>> guys at
> >>> >>>> >> >> >>> >> the status meeting.
> >>> >>>> >> >> >>> >
> >>> >>>> >> >> >>> > Sounds good, we’re here to help :) (we are not all
> guys,
> >>> >>>> though)
> >>> >>>> >> >> >>> >
> >>> >>>> >> >> >>> > Best
> >>> >>>> >> >> >>> > Jan
> >>> >>>> >> >> >>> > --
> >>> >>>> >> >> >>> >>
> >>> >>>> >> >> >>> >> Regards.
> >>> >>>> >> >> >>> >>
> >>> >>>> >> >> >>> >>
> >>> >>>> >> >> >>> >> On 18 March 2015 at 03:51, Alexander Shorin <
> >>> >>>> kxepal@gmail.com>
> >>> >>>> >> >> wrote:
> >>> >>>> >> >> >>> >>
> >>> >>>> >> >> >>> >>> On Tue, Mar 17, 2015 at 12:28 AM, Jan Lehnardt <
> >>> >>>> jan@apache.org>
> >>> >>>> >> >> >>> wrote:
> >>> >>>> >> >> >>> >>>> Here is how I would start:
> >>> >>>> >> >> >>> >>>
> >>> >>>> >> >> >>> >>> I think you'd forgot a point about protocol design
> >>> itself.
> >>> >>>> It
> >>> >>>> >> >> requires
> >>> >>>> >> >> >>> >>> in lot of changes. And there is need to think hardly
> >>> about
> >>> >>>> is it
> >>> >>>> >> >> good
> >>> >>>> >> >> >>> >>> to stay with stdio as a transport if we're going to
> >>> make
> >>> >>>> it work
> >>> >>>> >> >> for
> >>> >>>> >> >> >>> >>> cluster and much parallel as it is now. Just
> >>> >>>> reimplementation of
> >>> >>>> >> >> what
> >>> >>>> >> >> >>> >>> we have now is interesting, but not very helpful in
> >>> >>>> mid/long
> >>> >>>> >> term.
> >>> >>>> >> >> >>> >>>
> >>> >>>> >> >> >>> >>> --
> >>> >>>> >> >> >>> >>> ,,,^..^,,,
> >>> >>>> >> >> >>> >>>
> >>> >>>> >> >> >>> >>
> >>> >>>> >> >> >>> >>
> >>> >>>> >> >> >>> >>
> >>> >>>> >> >> >>> >> --
> >>> >>>> >> >> >>> >> *Buddhika Jayawardhana*
> >>> >>>> >> >> >>> >> Undergraduate | Department of Computer Science &
> >>> Engineering
> >>> >>>> >> >> >>> >> University of Moratuwa
> >>> >>>> >> >> >>> >> *buddhika.12@cse.mrt.ac.lk <
> buddhika.12@cse.mrt.ac.lk>*
> >>> |
> >>> >>>> >> LinkedIn
> >>> >>>> >> >> >>> >> <http://lk.linkedin.com/in/buddhikajay/>
> >>> >>>> >> >> >>> >
> >>> >>>> >> >> >>> > --
> >>> >>>> >> >> >>> > Professional Support for Apache CouchDB:
> >>> >>>> >> >> >>> > http://www.neighbourhood.ie/couchdb-support/
> >>> >>>> >> >> >>> >
> >>> >>>> >> >> >>>
> >>> >>>> >> >> >>
> >>> >>>> >> >> >>
> >>> >>>> >> >> >>
> >>> >>>> >> >> >> --
> >>> >>>> >> >> >> *Buddhika Jayawardhana*
> >>> >>>> >> >> >> Undergraduate | Department of Computer Science &
> Engineering
> >>> >>>> >> >> >> University of Moratuwa
> >>> >>>> >> >> >> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>*
> |
> >>> >>>> LinkedIn
> >>> >>>> >> >> >> <http://lk.linkedin.com/in/buddhikajay/>
> >>> >>>> >> >> >>
> >>> >>>> >> >> >
> >>> >>>> >> >> >
> >>> >>>> >> >> >
> >>> >>>> >> >> > --
> >>> >>>> >> >> > *Buddhika Jayawardhana*
> >>> >>>> >> >> > Undergraduate | Department of Computer Science &
> Engineering
> >>> >>>> >> >> > University of Moratuwa
> >>> >>>> >> >> > *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* |
> >>> >>>> LinkedIn
> >>> >>>> >> >> > <http://lk.linkedin.com/in/buddhikajay/>
> >>> >>>> >> >>
> >>> >>>> >> >
> >>> >>>> >> >
> >>> >>>> >> >
> >>> >>>> >> > --
> >>> >>>> >> > *Buddhika Jayawardhana*
> >>> >>>> >> > Undergraduate | Department of Computer Science & Engineering
> >>> >>>> >> > University of Moratuwa
> >>> >>>> >> > *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* |
> >>> LinkedIn
> >>> >>>> >> > <http://lk.linkedin.com/in/buddhikajay/>
> >>> >>>> >>
> >>> >>>> >
> >>> >>>> >
> >>> >>>> >
> >>> >>>> > --
> >>> >>>> > *Buddhika Jayawardhana*
> >>> >>>> > Undergraduate | Department of Computer Science & Engineering
> >>> >>>> > University of Moratuwa
> >>> >>>> > *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* |
> LinkedIn
> >>> >>>> > <http://lk.linkedin.com/in/buddhikajay/>
> >>> >>>>
> >>> >>>
> >>> >>>
> >>> >>>
> >>> >>> --
> >>> >>> *Buddhika Jayawardhana*
> >>> >>> Undergraduate | Department of Computer Science & Engineering
> >>> >>> University of Moratuwa
> >>> >>> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
> >>> >>> <http://lk.linkedin.com/in/buddhikajay/>
> >>> >>>
> >>> >>
> >>> >>
> >>> >>
> >>> >> --
> >>> >> *Buddhika Jayawardhana*
> >>> >> Undergraduate | Department of Computer Science & Engineering
> >>> >> University of Moratuwa
> >>> >> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
> >>> >> <http://lk.linkedin.com/in/buddhikajay/>
> >>> >>
> >>> >
> >>> >
> >>> >
> >>> > --
> >>> > *Buddhika Jayawardhana*
> >>> > Undergraduate | Department of Computer Science & Engineering
> >>> > University of Moratuwa
> >>> > *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
> >>> > <http://lk.linkedin.com/in/buddhikajay/>
> >>>
> >>
> >>
> >>
> >> --
> >> *Buddhika Jayawardhana*
> >> Undergraduate | Department of Computer Science & Engineering
> >> University of Moratuwa
> >> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
> >> <http://lk.linkedin.com/in/buddhikajay/>
> >>
> >
> >
> >
> > --
> > *Buddhika Jayawardhana*
> > Undergraduate | Department of Computer Science & Engineering
> > University of Moratuwa
> > *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
> > <http://lk.linkedin.com/in/buddhikajay/>
>



-- 
*Buddhika Jayawardhana*
Undergraduate | Department of Computer Science & Engineering
University of Moratuwa
*buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
<http://lk.linkedin.com/in/buddhikajay/>

Re: GSoc 2015 | COUCHDB-1743 Make the view server & protocol faster

Posted by Alexander Shorin <kx...@gmail.com>.
Hi Buddhika,

The plan looks good for me, but I miss there one important moment.

It goes with a title "Make the View Server & protocol faster" and
below the implementation discussion goes, but there is no word about
"prove that it's really faster". The one of your work result might
happen that performance wouldn't be significantly improved. But to see
that, we need to make a benchmark first. A tool, that will say in the
end "yes, the protocol and view server" became faster. Or at least not
slower.

I'm also sceptical about bringing NodeJS as runtime dependency pushing
SpiderMonkey away, since NodeJS now is in not very stable position:
should we care about io.js? What if they decide to break backward
compatibility at some point? There are no reasons to throw away
SpiderMonkey and there was only one that cause the pain to us is a
breaking change in the way how anonymous functions are handled in the
newer version. Speaking of the speed, both V8 and SpiderMonkey are
equivalent more or less.

Jan, have you thought about that decision good? For me it doubtful.
--
,,,^..^,,,


On Tue, Mar 24, 2015 at 7:44 PM, Buddhika Jayawardhana
<bu...@cse.mrt.ac.lk> wrote:
> I changed the testing method to TDD as Robert suggested. Also I changed the
> schedule in to a weekly based one. I would like to have your comments on
> time allocation for each task. Here is the link
> <https://docs.google.com/document/d/1Yrj73vXAJjBA0-i_Nt78FUipy5oTtZ42UG2TlXmH4y0/edit?usp=sharing>
> for the proposal.
>
> On 24 March 2015 at 07:40, Buddhika Jayawardhana <bu...@cse.mrt.ac.lk>
> wrote:
>
>> Dear Robert and Alexander,
>>
>> Thanks for your suggestions.
>> Robert,
>> Yes I was thinking about a good, simple way to represent the schedule. My
>> idea was to draw a chart which shows the time allocation with a range of
>> dates and hourly basis.
>> eg:
>> Implementing show function handler
>>
>> Duration: May 10 to 30
>> Designing :10 hours.
>> Implementation :100 hours
>> Testing : 30 hours
>>
>> likewise. Is that ok? I thought that it might help me to divide the time
>> among tasks easily although those are rough estimates. As you advised I
>> will be writing test cases for every bit of function. I will complete this
>> before 20 UTC todya(Because I got some lectures today). And I will let you
>> know when I am done.
>>
>>
>> Again Thanks for spending time for read the proposal.
>>
>> On 24 March 2015 at 06:23, Robert Kowalski <ro...@kowalski.gd> wrote:
>>
>>> Looks good! Left some suggestions!
>>>
>>> Are you going to complete the schedule?
>>>
>>> I just noticed that you have a special section for testing, from my
>>> experience I can suggest to add unit tests while you develop the
>>> feature, as adding tests weeks or months later to a big, grown
>>> codebase is not a lot of fun and also very hard (maybe even not
>>> possible because the code was written untestable weeks ago). At least
>>> that are my experiences with testing.
>>>
>>> On Mon, Mar 23, 2015 at 5:15 PM, Buddhika Jayawardhana
>>> <bu...@cse.mrt.ac.lk> wrote:
>>> > Dear Folks,
>>> >
>>> > I have prepared a draft proposal  for the project based on what I have
>>> read
>>> > so far.
>>> >
>>> > How deep I should explain the technical details of the project?
>>> > Is the software process which I have suggested is ok? or should I use
>>> any
>>> > other process?
>>> >
>>> > This is the link
>>> > <
>>> https://docs.google.com/document/d/1Yrj73vXAJjBA0-i_Nt78FUipy5oTtZ42UG2TlXmH4y0/edit?usp=sharing
>>> >
>>> > for the proposal. Please be kind enough to add your comments on the
>>> > proposal.
>>> >
>>> > Thank You
>>> >
>>> >
>>> > On 22 March 2015 at 10:24, Buddhika Jayawardhana <
>>> buddhika.12@cse.mrt.ac.lk>
>>> > wrote:
>>> >
>>> >> Dear Jan, Robert other devs,
>>> >>
>>> >> I have prepared a draft proposal for the project. It can be found on
>>> this
>>> >> link
>>> >> <
>>> https://docs.google.com/a/cse.mrt.ac.lk/document/d/1Yrj73vXAJjBA0-i_Nt78FUipy5oTtZ42UG2TlXmH4y0/edit?usp=sharing
>>> >.
>>> >> It is neither complete nor contain much technical details. It is
>>> completely
>>> >> based on what you have told me and what I have read so far. Please add
>>> your
>>> >> comments to improve the proposal and point me out if I have
>>> misunderstood
>>> >> anything you have told me or about the project.
>>> >>
>>> >> I think I need a deep understanding on stdio. Please point me some
>>> >> direction to learn them.
>>> >>
>>> >> Thank You.
>>> >>
>>> >> On 21 March 2015 at 22:16, Buddhika Jayawardhana <
>>> >> buddhika.12@cse.mrt.ac.lk> wrote:
>>> >>
>>> >>> Thank You Robert, I already have started  writing the proposal. I will
>>> >>> share the link of the google doc tomorrow morning.
>>> >>>
>>> >>> On 21 March 2015 at 21:08, Robert Kowalski <ro...@kowalski.gd> wrote:
>>> >>>
>>> >>>> Hi Buddhika,
>>> >>>>
>>> >>>> no worries - the preparation for each GSoC project is different for
>>> >>>> every student. Some projects need more background knowledge in
>>> advance
>>> >>>> and have to integrate in other way into the codebase, so don't worry
>>> >>>> that other folks are submitting code!
>>> >>>>
>>> >>>> I would suggest to start writing the proposal as far as you can, we
>>> >>>> will also give you feedback. The deadline is for submissions is soon.
>>> >>>>
>>> >>>> I tried to write up some tips for writing the two sections you are
>>> >>>> worried about:
>>> >>>>
>>> >>>> For the "background" section you can just rely on the informations
>>> the
>>> >>>> community provides plus the background information you gained from
>>> >>>> reading the docs (e.g. the current QueryServer protocol [1], the way
>>> >>>> the QueryServer operates today and more general informations, like
>>> how
>>> >>>> you query CouchDB and how you are writing views) - so no worries!
>>> >>>>
>>> >>>> Regarding the design/description: Jan already gave some suggestions
>>> >>>> regarding the steps that are needed. Are there steps missing in
>>> >>>> between? How do you measure the success of the project? How do you
>>> >>>> plan to work together with Jan & the community? Also describe how you
>>> >>>> going to work: are you planning to work iterative, waterfall, using
>>> >>>> techniques like test-driven-development, by building a prototype etc?
>>> >>>>
>>> >>>> I hope I could provide some hints!
>>> >>>>
>>> >>>>
>>> >>>> [1] http://docs.couchdb.org/en/1.6.1/query-server/protocol.html
>>> >>>>
>>> >>>> On Sat, Mar 21, 2015 at 6:58 AM, Buddhika Jayawardhana
>>> >>>> <bu...@cse.mrt.ac.lk> wrote:
>>> >>>> > Hi Robert,
>>> >>>> >
>>> >>>> > I I saw some other applicants are submitting pieces of codes. But
>>> I am
>>> >>>> > still reading the documents Jan and others have sent me.
>>> >>>> >
>>> >>>> >
>>> >>>> >    - I am middle of learnYouSomeErlang book.
>>> >>>> >    - I have around 8 chapters to read in Couch-DB "The Definitive
>>> >>>> Guide".
>>> >>>> >    - Lots of documentation.
>>> >>>> >    - Most of the source code.
>>> >>>> >
>>> >>>> >
>>> >>>> > I looked at the template that you have sent me and it requires a
>>> >>>> > description about the current situation of the project. And design/
>>> >>>> > description of the work.
>>> >>>> > I do not have any confidence to write those two paragraphs. But I
>>> can
>>> >>>> start
>>> >>>> > to write the proposal based on the thinks that Jan have
>>> >>>> described(Though I
>>> >>>> > don't understand all of them). Shall I start that way? or is there
>>> any
>>> >>>> > other better way.
>>> >>>> >
>>> >>>> > Waiting for your advices.
>>> >>>> >
>>> >>>> > On 21 March 2015 at 08:14, Robert Kowalski <ro...@kowalski.gd>
>>> wrote:
>>> >>>> >
>>> >>>> >> Hi Buddhika,
>>> >>>> >>
>>> >>>> >> the deadline for proposals is getting closer, do you have any
>>> >>>> >> questions? Is there anything we can help you with?
>>> >>>> >>
>>> >>>> >> Jan, the ML and I are happy to help!
>>> >>>> >>
>>> >>>> >> Best,
>>> >>>> >> Robert
>>> >>>> >>
>>> >>>> >> On Thu, Mar 19, 2015 at 1:57 PM, Buddhika Jayawardhana
>>> >>>> >> <bu...@cse.mrt.ac.lk> wrote:
>>> >>>> >> > Thanks Alexander. I'll try this out.
>>> >>>> >> >
>>> >>>> >> > On 19 March 2015 at 16:59, Alexander Shorin <kx...@gmail.com>
>>> >>>> wrote:
>>> >>>> >> >
>>> >>>> >> >> Hi Buddhika,
>>> >>>> >> >>
>>> >>>> >> >> May be some docs could help you:
>>> >>>> >> >> http://docs.couchdb.org/en/latest/query-server/protocol.html
>>> >>>> >> >>
>>> >>>> >> >> The most easiest way to understand it is to play with it.
>>> >>>> >> >> Try to enable debug logs for CouchDB (better here stay with 1.x
>>> >>>> >> >> series), run view and other functions and see what the
>>> >>>> communication
>>> >>>> >> >> happens between CouchDB and query server.
>>> >>>> >> >> Try to run query server from CLI and send it some commands to
>>> it
>>> >>>> and
>>> >>>> >> >> notice the responces.
>>> >>>> >> >> After that, reading the code would be much more simpler since
>>> >>>> you'll
>>> >>>> >> >> know the idea how it works in general.
>>> >>>> >> >>
>>> >>>> >> >> --
>>> >>>> >> >> ,,,^..^,,,
>>> >>>> >> >>
>>> >>>> >> >>
>>> >>>> >> >> On Thu, Mar 19, 2015 at 2:24 PM, Buddhika Jayawardhana
>>> >>>> >> >> <bu...@cse.mrt.ac.lk> wrote:
>>> >>>> >> >> > Dear Jan,
>>> >>>> >> >> >
>>> >>>> >> >> > I tried to read the code you have sent me to understand the
>>> >>>> current
>>> >>>> >> query
>>> >>>> >> >> > server protocol(https://github.com/apache/couchdb
>>> >>>> >> >> > /blob/master/test/view_server/query_server_spec.rb). But I
>>> could
>>> >>>> not
>>> >>>> >> >> > understand anything :( . I'm stuck here. Can you point me
>>> out a
>>> >>>> way to
>>> >>>> >> >> > understand the code. (At least a brief explanation).
>>> >>>> >> >> >
>>> >>>> >> >> > Thanks.
>>> >>>> >> >> >
>>> >>>> >> >> > On 19 March 2015 at 10:28, Buddhika Jayawardhana <
>>> >>>> >> >> buddhika.12@cse.mrt.ac.lk>
>>> >>>> >> >> > wrote:
>>> >>>> >> >> >
>>> >>>> >> >> >> Thanks Robert. This would be really helpful.
>>> >>>> >> >> >>
>>> >>>> >> >> >> On 19 March 2015 at 03:20, Robert Kowalski <rok@kowalski.gd
>>> >
>>> >>>> wrote:
>>> >>>> >> >> >>
>>> >>>> >> >> >>> Some of you asked for a template for their proposals, here
>>> is
>>> >>>> what
>>> >>>> >> I've
>>> >>>> >> >> >>> found:
>>> >>>> >> >> >>>
>>> >>>> >> >> >>>
>>> http://community.staging.apache.org/gsoc#application-template
>>> >>>> >> >> >>>
>>> >>>> >> >> >>> Best,
>>> >>>> >> >> >>> Robert
>>> >>>> >> >> >>>
>>> >>>> >> >> >>> On Wed, Mar 18, 2015 at 1:49 PM, Jan Lehnardt <
>>> jan@apache.org>
>>> >>>> >> wrote:
>>> >>>> >> >> >>> >
>>> >>>> >> >> >>> >> On 18 Mar 2015, at 13:35, Buddhika Jayawardhana <
>>> >>>> >> >> >>> buddhika.12@cse.mrt.ac.lk> wrote:
>>> >>>> >> >> >>> >>
>>> >>>> >> >> >>> >> Dear Jan and Robert,
>>> >>>> >> >> >>> >>
>>> >>>> >> >> >>> >> It seems I have to do a lot to get to the speed. I have
>>> to
>>> >>>> gain a
>>> >>>> >> >> lot
>>> >>>> >> >> >>> of
>>> >>>> >> >> >>> >> theorytical knowladge in
>>> >>>> >> >> >>> >>
>>> >>>> >> >> >>> >>   - Erlang.
>>> >>>> >> >> >>> >>   - Query servers.
>>> >>>> >> >> >>> >>   - and about the source.
>>> >>>> >> >> >>> >>
>>> >>>> >> >> >>> >> But I am so exited to learn new things. Currently I am
>>> >>>> reading
>>> >>>> >> >> >>> >> "learnsomeerlang" and couch db documentation. This is my
>>> >>>> first
>>> >>>> >> >> attemp
>>> >>>> >> >> >>> to
>>> >>>> >> >> >>> >> get involve with a large scale open source project and I
>>> >>>> need
>>> >>>> >> help
>>> >>>> >> >> to
>>> >>>> >> >> >>> >> clarify the source code. I hope to meet you guys. Hope
>>> to
>>> >>>> meet
>>> >>>> >> you
>>> >>>> >> >> >>> guys at
>>> >>>> >> >> >>> >> the status meeting.
>>> >>>> >> >> >>> >
>>> >>>> >> >> >>> > Sounds good, we’re here to help :) (we are not all guys,
>>> >>>> though)
>>> >>>> >> >> >>> >
>>> >>>> >> >> >>> > Best
>>> >>>> >> >> >>> > Jan
>>> >>>> >> >> >>> > --
>>> >>>> >> >> >>> >>
>>> >>>> >> >> >>> >> Regards.
>>> >>>> >> >> >>> >>
>>> >>>> >> >> >>> >>
>>> >>>> >> >> >>> >> On 18 March 2015 at 03:51, Alexander Shorin <
>>> >>>> kxepal@gmail.com>
>>> >>>> >> >> wrote:
>>> >>>> >> >> >>> >>
>>> >>>> >> >> >>> >>> On Tue, Mar 17, 2015 at 12:28 AM, Jan Lehnardt <
>>> >>>> jan@apache.org>
>>> >>>> >> >> >>> wrote:
>>> >>>> >> >> >>> >>>> Here is how I would start:
>>> >>>> >> >> >>> >>>
>>> >>>> >> >> >>> >>> I think you'd forgot a point about protocol design
>>> itself.
>>> >>>> It
>>> >>>> >> >> requires
>>> >>>> >> >> >>> >>> in lot of changes. And there is need to think hardly
>>> about
>>> >>>> is it
>>> >>>> >> >> good
>>> >>>> >> >> >>> >>> to stay with stdio as a transport if we're going to
>>> make
>>> >>>> it work
>>> >>>> >> >> for
>>> >>>> >> >> >>> >>> cluster and much parallel as it is now. Just
>>> >>>> reimplementation of
>>> >>>> >> >> what
>>> >>>> >> >> >>> >>> we have now is interesting, but not very helpful in
>>> >>>> mid/long
>>> >>>> >> term.
>>> >>>> >> >> >>> >>>
>>> >>>> >> >> >>> >>> --
>>> >>>> >> >> >>> >>> ,,,^..^,,,
>>> >>>> >> >> >>> >>>
>>> >>>> >> >> >>> >>
>>> >>>> >> >> >>> >>
>>> >>>> >> >> >>> >>
>>> >>>> >> >> >>> >> --
>>> >>>> >> >> >>> >> *Buddhika Jayawardhana*
>>> >>>> >> >> >>> >> Undergraduate | Department of Computer Science &
>>> Engineering
>>> >>>> >> >> >>> >> University of Moratuwa
>>> >>>> >> >> >>> >> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>*
>>> |
>>> >>>> >> LinkedIn
>>> >>>> >> >> >>> >> <http://lk.linkedin.com/in/buddhikajay/>
>>> >>>> >> >> >>> >
>>> >>>> >> >> >>> > --
>>> >>>> >> >> >>> > Professional Support for Apache CouchDB:
>>> >>>> >> >> >>> > http://www.neighbourhood.ie/couchdb-support/
>>> >>>> >> >> >>> >
>>> >>>> >> >> >>>
>>> >>>> >> >> >>
>>> >>>> >> >> >>
>>> >>>> >> >> >>
>>> >>>> >> >> >> --
>>> >>>> >> >> >> *Buddhika Jayawardhana*
>>> >>>> >> >> >> Undergraduate | Department of Computer Science & Engineering
>>> >>>> >> >> >> University of Moratuwa
>>> >>>> >> >> >> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* |
>>> >>>> LinkedIn
>>> >>>> >> >> >> <http://lk.linkedin.com/in/buddhikajay/>
>>> >>>> >> >> >>
>>> >>>> >> >> >
>>> >>>> >> >> >
>>> >>>> >> >> >
>>> >>>> >> >> > --
>>> >>>> >> >> > *Buddhika Jayawardhana*
>>> >>>> >> >> > Undergraduate | Department of Computer Science & Engineering
>>> >>>> >> >> > University of Moratuwa
>>> >>>> >> >> > *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* |
>>> >>>> LinkedIn
>>> >>>> >> >> > <http://lk.linkedin.com/in/buddhikajay/>
>>> >>>> >> >>
>>> >>>> >> >
>>> >>>> >> >
>>> >>>> >> >
>>> >>>> >> > --
>>> >>>> >> > *Buddhika Jayawardhana*
>>> >>>> >> > Undergraduate | Department of Computer Science & Engineering
>>> >>>> >> > University of Moratuwa
>>> >>>> >> > *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* |
>>> LinkedIn
>>> >>>> >> > <http://lk.linkedin.com/in/buddhikajay/>
>>> >>>> >>
>>> >>>> >
>>> >>>> >
>>> >>>> >
>>> >>>> > --
>>> >>>> > *Buddhika Jayawardhana*
>>> >>>> > Undergraduate | Department of Computer Science & Engineering
>>> >>>> > University of Moratuwa
>>> >>>> > *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
>>> >>>> > <http://lk.linkedin.com/in/buddhikajay/>
>>> >>>>
>>> >>>
>>> >>>
>>> >>>
>>> >>> --
>>> >>> *Buddhika Jayawardhana*
>>> >>> Undergraduate | Department of Computer Science & Engineering
>>> >>> University of Moratuwa
>>> >>> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
>>> >>> <http://lk.linkedin.com/in/buddhikajay/>
>>> >>>
>>> >>
>>> >>
>>> >>
>>> >> --
>>> >> *Buddhika Jayawardhana*
>>> >> Undergraduate | Department of Computer Science & Engineering
>>> >> University of Moratuwa
>>> >> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
>>> >> <http://lk.linkedin.com/in/buddhikajay/>
>>> >>
>>> >
>>> >
>>> >
>>> > --
>>> > *Buddhika Jayawardhana*
>>> > Undergraduate | Department of Computer Science & Engineering
>>> > University of Moratuwa
>>> > *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
>>> > <http://lk.linkedin.com/in/buddhikajay/>
>>>
>>
>>
>>
>> --
>> *Buddhika Jayawardhana*
>> Undergraduate | Department of Computer Science & Engineering
>> University of Moratuwa
>> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
>> <http://lk.linkedin.com/in/buddhikajay/>
>>
>
>
>
> --
> *Buddhika Jayawardhana*
> Undergraduate | Department of Computer Science & Engineering
> University of Moratuwa
> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
> <http://lk.linkedin.com/in/buddhikajay/>

Re: GSoc 2015 | COUCHDB-1743 Make the view server & protocol faster

Posted by Buddhika Jayawardhana <bu...@cse.mrt.ac.lk>.
I changed the testing method to TDD as Robert suggested. Also I changed the
schedule in to a weekly based one. I would like to have your comments on
time allocation for each task. Here is the link
<https://docs.google.com/document/d/1Yrj73vXAJjBA0-i_Nt78FUipy5oTtZ42UG2TlXmH4y0/edit?usp=sharing>
for the proposal.

On 24 March 2015 at 07:40, Buddhika Jayawardhana <bu...@cse.mrt.ac.lk>
wrote:

> Dear Robert and Alexander,
>
> Thanks for your suggestions.
> Robert,
> Yes I was thinking about a good, simple way to represent the schedule. My
> idea was to draw a chart which shows the time allocation with a range of
> dates and hourly basis.
> eg:
> Implementing show function handler
>
> Duration: May 10 to 30
> Designing :10 hours.
> Implementation :100 hours
> Testing : 30 hours
>
> likewise. Is that ok? I thought that it might help me to divide the time
> among tasks easily although those are rough estimates. As you advised I
> will be writing test cases for every bit of function. I will complete this
> before 20 UTC todya(Because I got some lectures today). And I will let you
> know when I am done.
>
>
> Again Thanks for spending time for read the proposal.
>
> On 24 March 2015 at 06:23, Robert Kowalski <ro...@kowalski.gd> wrote:
>
>> Looks good! Left some suggestions!
>>
>> Are you going to complete the schedule?
>>
>> I just noticed that you have a special section for testing, from my
>> experience I can suggest to add unit tests while you develop the
>> feature, as adding tests weeks or months later to a big, grown
>> codebase is not a lot of fun and also very hard (maybe even not
>> possible because the code was written untestable weeks ago). At least
>> that are my experiences with testing.
>>
>> On Mon, Mar 23, 2015 at 5:15 PM, Buddhika Jayawardhana
>> <bu...@cse.mrt.ac.lk> wrote:
>> > Dear Folks,
>> >
>> > I have prepared a draft proposal  for the project based on what I have
>> read
>> > so far.
>> >
>> > How deep I should explain the technical details of the project?
>> > Is the software process which I have suggested is ok? or should I use
>> any
>> > other process?
>> >
>> > This is the link
>> > <
>> https://docs.google.com/document/d/1Yrj73vXAJjBA0-i_Nt78FUipy5oTtZ42UG2TlXmH4y0/edit?usp=sharing
>> >
>> > for the proposal. Please be kind enough to add your comments on the
>> > proposal.
>> >
>> > Thank You
>> >
>> >
>> > On 22 March 2015 at 10:24, Buddhika Jayawardhana <
>> buddhika.12@cse.mrt.ac.lk>
>> > wrote:
>> >
>> >> Dear Jan, Robert other devs,
>> >>
>> >> I have prepared a draft proposal for the project. It can be found on
>> this
>> >> link
>> >> <
>> https://docs.google.com/a/cse.mrt.ac.lk/document/d/1Yrj73vXAJjBA0-i_Nt78FUipy5oTtZ42UG2TlXmH4y0/edit?usp=sharing
>> >.
>> >> It is neither complete nor contain much technical details. It is
>> completely
>> >> based on what you have told me and what I have read so far. Please add
>> your
>> >> comments to improve the proposal and point me out if I have
>> misunderstood
>> >> anything you have told me or about the project.
>> >>
>> >> I think I need a deep understanding on stdio. Please point me some
>> >> direction to learn them.
>> >>
>> >> Thank You.
>> >>
>> >> On 21 March 2015 at 22:16, Buddhika Jayawardhana <
>> >> buddhika.12@cse.mrt.ac.lk> wrote:
>> >>
>> >>> Thank You Robert, I already have started  writing the proposal. I will
>> >>> share the link of the google doc tomorrow morning.
>> >>>
>> >>> On 21 March 2015 at 21:08, Robert Kowalski <ro...@kowalski.gd> wrote:
>> >>>
>> >>>> Hi Buddhika,
>> >>>>
>> >>>> no worries - the preparation for each GSoC project is different for
>> >>>> every student. Some projects need more background knowledge in
>> advance
>> >>>> and have to integrate in other way into the codebase, so don't worry
>> >>>> that other folks are submitting code!
>> >>>>
>> >>>> I would suggest to start writing the proposal as far as you can, we
>> >>>> will also give you feedback. The deadline is for submissions is soon.
>> >>>>
>> >>>> I tried to write up some tips for writing the two sections you are
>> >>>> worried about:
>> >>>>
>> >>>> For the "background" section you can just rely on the informations
>> the
>> >>>> community provides plus the background information you gained from
>> >>>> reading the docs (e.g. the current QueryServer protocol [1], the way
>> >>>> the QueryServer operates today and more general informations, like
>> how
>> >>>> you query CouchDB and how you are writing views) - so no worries!
>> >>>>
>> >>>> Regarding the design/description: Jan already gave some suggestions
>> >>>> regarding the steps that are needed. Are there steps missing in
>> >>>> between? How do you measure the success of the project? How do you
>> >>>> plan to work together with Jan & the community? Also describe how you
>> >>>> going to work: are you planning to work iterative, waterfall, using
>> >>>> techniques like test-driven-development, by building a prototype etc?
>> >>>>
>> >>>> I hope I could provide some hints!
>> >>>>
>> >>>>
>> >>>> [1] http://docs.couchdb.org/en/1.6.1/query-server/protocol.html
>> >>>>
>> >>>> On Sat, Mar 21, 2015 at 6:58 AM, Buddhika Jayawardhana
>> >>>> <bu...@cse.mrt.ac.lk> wrote:
>> >>>> > Hi Robert,
>> >>>> >
>> >>>> > I I saw some other applicants are submitting pieces of codes. But
>> I am
>> >>>> > still reading the documents Jan and others have sent me.
>> >>>> >
>> >>>> >
>> >>>> >    - I am middle of learnYouSomeErlang book.
>> >>>> >    - I have around 8 chapters to read in Couch-DB "The Definitive
>> >>>> Guide".
>> >>>> >    - Lots of documentation.
>> >>>> >    - Most of the source code.
>> >>>> >
>> >>>> >
>> >>>> > I looked at the template that you have sent me and it requires a
>> >>>> > description about the current situation of the project. And design/
>> >>>> > description of the work.
>> >>>> > I do not have any confidence to write those two paragraphs. But I
>> can
>> >>>> start
>> >>>> > to write the proposal based on the thinks that Jan have
>> >>>> described(Though I
>> >>>> > don't understand all of them). Shall I start that way? or is there
>> any
>> >>>> > other better way.
>> >>>> >
>> >>>> > Waiting for your advices.
>> >>>> >
>> >>>> > On 21 March 2015 at 08:14, Robert Kowalski <ro...@kowalski.gd>
>> wrote:
>> >>>> >
>> >>>> >> Hi Buddhika,
>> >>>> >>
>> >>>> >> the deadline for proposals is getting closer, do you have any
>> >>>> >> questions? Is there anything we can help you with?
>> >>>> >>
>> >>>> >> Jan, the ML and I are happy to help!
>> >>>> >>
>> >>>> >> Best,
>> >>>> >> Robert
>> >>>> >>
>> >>>> >> On Thu, Mar 19, 2015 at 1:57 PM, Buddhika Jayawardhana
>> >>>> >> <bu...@cse.mrt.ac.lk> wrote:
>> >>>> >> > Thanks Alexander. I'll try this out.
>> >>>> >> >
>> >>>> >> > On 19 March 2015 at 16:59, Alexander Shorin <kx...@gmail.com>
>> >>>> wrote:
>> >>>> >> >
>> >>>> >> >> Hi Buddhika,
>> >>>> >> >>
>> >>>> >> >> May be some docs could help you:
>> >>>> >> >> http://docs.couchdb.org/en/latest/query-server/protocol.html
>> >>>> >> >>
>> >>>> >> >> The most easiest way to understand it is to play with it.
>> >>>> >> >> Try to enable debug logs for CouchDB (better here stay with 1.x
>> >>>> >> >> series), run view and other functions and see what the
>> >>>> communication
>> >>>> >> >> happens between CouchDB and query server.
>> >>>> >> >> Try to run query server from CLI and send it some commands to
>> it
>> >>>> and
>> >>>> >> >> notice the responces.
>> >>>> >> >> After that, reading the code would be much more simpler since
>> >>>> you'll
>> >>>> >> >> know the idea how it works in general.
>> >>>> >> >>
>> >>>> >> >> --
>> >>>> >> >> ,,,^..^,,,
>> >>>> >> >>
>> >>>> >> >>
>> >>>> >> >> On Thu, Mar 19, 2015 at 2:24 PM, Buddhika Jayawardhana
>> >>>> >> >> <bu...@cse.mrt.ac.lk> wrote:
>> >>>> >> >> > Dear Jan,
>> >>>> >> >> >
>> >>>> >> >> > I tried to read the code you have sent me to understand the
>> >>>> current
>> >>>> >> query
>> >>>> >> >> > server protocol(https://github.com/apache/couchdb
>> >>>> >> >> > /blob/master/test/view_server/query_server_spec.rb). But I
>> could
>> >>>> not
>> >>>> >> >> > understand anything :( . I'm stuck here. Can you point me
>> out a
>> >>>> way to
>> >>>> >> >> > understand the code. (At least a brief explanation).
>> >>>> >> >> >
>> >>>> >> >> > Thanks.
>> >>>> >> >> >
>> >>>> >> >> > On 19 March 2015 at 10:28, Buddhika Jayawardhana <
>> >>>> >> >> buddhika.12@cse.mrt.ac.lk>
>> >>>> >> >> > wrote:
>> >>>> >> >> >
>> >>>> >> >> >> Thanks Robert. This would be really helpful.
>> >>>> >> >> >>
>> >>>> >> >> >> On 19 March 2015 at 03:20, Robert Kowalski <rok@kowalski.gd
>> >
>> >>>> wrote:
>> >>>> >> >> >>
>> >>>> >> >> >>> Some of you asked for a template for their proposals, here
>> is
>> >>>> what
>> >>>> >> I've
>> >>>> >> >> >>> found:
>> >>>> >> >> >>>
>> >>>> >> >> >>>
>> http://community.staging.apache.org/gsoc#application-template
>> >>>> >> >> >>>
>> >>>> >> >> >>> Best,
>> >>>> >> >> >>> Robert
>> >>>> >> >> >>>
>> >>>> >> >> >>> On Wed, Mar 18, 2015 at 1:49 PM, Jan Lehnardt <
>> jan@apache.org>
>> >>>> >> wrote:
>> >>>> >> >> >>> >
>> >>>> >> >> >>> >> On 18 Mar 2015, at 13:35, Buddhika Jayawardhana <
>> >>>> >> >> >>> buddhika.12@cse.mrt.ac.lk> wrote:
>> >>>> >> >> >>> >>
>> >>>> >> >> >>> >> Dear Jan and Robert,
>> >>>> >> >> >>> >>
>> >>>> >> >> >>> >> It seems I have to do a lot to get to the speed. I have
>> to
>> >>>> gain a
>> >>>> >> >> lot
>> >>>> >> >> >>> of
>> >>>> >> >> >>> >> theorytical knowladge in
>> >>>> >> >> >>> >>
>> >>>> >> >> >>> >>   - Erlang.
>> >>>> >> >> >>> >>   - Query servers.
>> >>>> >> >> >>> >>   - and about the source.
>> >>>> >> >> >>> >>
>> >>>> >> >> >>> >> But I am so exited to learn new things. Currently I am
>> >>>> reading
>> >>>> >> >> >>> >> "learnsomeerlang" and couch db documentation. This is my
>> >>>> first
>> >>>> >> >> attemp
>> >>>> >> >> >>> to
>> >>>> >> >> >>> >> get involve with a large scale open source project and I
>> >>>> need
>> >>>> >> help
>> >>>> >> >> to
>> >>>> >> >> >>> >> clarify the source code. I hope to meet you guys. Hope
>> to
>> >>>> meet
>> >>>> >> you
>> >>>> >> >> >>> guys at
>> >>>> >> >> >>> >> the status meeting.
>> >>>> >> >> >>> >
>> >>>> >> >> >>> > Sounds good, we’re here to help :) (we are not all guys,
>> >>>> though)
>> >>>> >> >> >>> >
>> >>>> >> >> >>> > Best
>> >>>> >> >> >>> > Jan
>> >>>> >> >> >>> > --
>> >>>> >> >> >>> >>
>> >>>> >> >> >>> >> Regards.
>> >>>> >> >> >>> >>
>> >>>> >> >> >>> >>
>> >>>> >> >> >>> >> On 18 March 2015 at 03:51, Alexander Shorin <
>> >>>> kxepal@gmail.com>
>> >>>> >> >> wrote:
>> >>>> >> >> >>> >>
>> >>>> >> >> >>> >>> On Tue, Mar 17, 2015 at 12:28 AM, Jan Lehnardt <
>> >>>> jan@apache.org>
>> >>>> >> >> >>> wrote:
>> >>>> >> >> >>> >>>> Here is how I would start:
>> >>>> >> >> >>> >>>
>> >>>> >> >> >>> >>> I think you'd forgot a point about protocol design
>> itself.
>> >>>> It
>> >>>> >> >> requires
>> >>>> >> >> >>> >>> in lot of changes. And there is need to think hardly
>> about
>> >>>> is it
>> >>>> >> >> good
>> >>>> >> >> >>> >>> to stay with stdio as a transport if we're going to
>> make
>> >>>> it work
>> >>>> >> >> for
>> >>>> >> >> >>> >>> cluster and much parallel as it is now. Just
>> >>>> reimplementation of
>> >>>> >> >> what
>> >>>> >> >> >>> >>> we have now is interesting, but not very helpful in
>> >>>> mid/long
>> >>>> >> term.
>> >>>> >> >> >>> >>>
>> >>>> >> >> >>> >>> --
>> >>>> >> >> >>> >>> ,,,^..^,,,
>> >>>> >> >> >>> >>>
>> >>>> >> >> >>> >>
>> >>>> >> >> >>> >>
>> >>>> >> >> >>> >>
>> >>>> >> >> >>> >> --
>> >>>> >> >> >>> >> *Buddhika Jayawardhana*
>> >>>> >> >> >>> >> Undergraduate | Department of Computer Science &
>> Engineering
>> >>>> >> >> >>> >> University of Moratuwa
>> >>>> >> >> >>> >> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>*
>> |
>> >>>> >> LinkedIn
>> >>>> >> >> >>> >> <http://lk.linkedin.com/in/buddhikajay/>
>> >>>> >> >> >>> >
>> >>>> >> >> >>> > --
>> >>>> >> >> >>> > Professional Support for Apache CouchDB:
>> >>>> >> >> >>> > http://www.neighbourhood.ie/couchdb-support/
>> >>>> >> >> >>> >
>> >>>> >> >> >>>
>> >>>> >> >> >>
>> >>>> >> >> >>
>> >>>> >> >> >>
>> >>>> >> >> >> --
>> >>>> >> >> >> *Buddhika Jayawardhana*
>> >>>> >> >> >> Undergraduate | Department of Computer Science & Engineering
>> >>>> >> >> >> University of Moratuwa
>> >>>> >> >> >> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* |
>> >>>> LinkedIn
>> >>>> >> >> >> <http://lk.linkedin.com/in/buddhikajay/>
>> >>>> >> >> >>
>> >>>> >> >> >
>> >>>> >> >> >
>> >>>> >> >> >
>> >>>> >> >> > --
>> >>>> >> >> > *Buddhika Jayawardhana*
>> >>>> >> >> > Undergraduate | Department of Computer Science & Engineering
>> >>>> >> >> > University of Moratuwa
>> >>>> >> >> > *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* |
>> >>>> LinkedIn
>> >>>> >> >> > <http://lk.linkedin.com/in/buddhikajay/>
>> >>>> >> >>
>> >>>> >> >
>> >>>> >> >
>> >>>> >> >
>> >>>> >> > --
>> >>>> >> > *Buddhika Jayawardhana*
>> >>>> >> > Undergraduate | Department of Computer Science & Engineering
>> >>>> >> > University of Moratuwa
>> >>>> >> > *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* |
>> LinkedIn
>> >>>> >> > <http://lk.linkedin.com/in/buddhikajay/>
>> >>>> >>
>> >>>> >
>> >>>> >
>> >>>> >
>> >>>> > --
>> >>>> > *Buddhika Jayawardhana*
>> >>>> > Undergraduate | Department of Computer Science & Engineering
>> >>>> > University of Moratuwa
>> >>>> > *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
>> >>>> > <http://lk.linkedin.com/in/buddhikajay/>
>> >>>>
>> >>>
>> >>>
>> >>>
>> >>> --
>> >>> *Buddhika Jayawardhana*
>> >>> Undergraduate | Department of Computer Science & Engineering
>> >>> University of Moratuwa
>> >>> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
>> >>> <http://lk.linkedin.com/in/buddhikajay/>
>> >>>
>> >>
>> >>
>> >>
>> >> --
>> >> *Buddhika Jayawardhana*
>> >> Undergraduate | Department of Computer Science & Engineering
>> >> University of Moratuwa
>> >> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
>> >> <http://lk.linkedin.com/in/buddhikajay/>
>> >>
>> >
>> >
>> >
>> > --
>> > *Buddhika Jayawardhana*
>> > Undergraduate | Department of Computer Science & Engineering
>> > University of Moratuwa
>> > *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
>> > <http://lk.linkedin.com/in/buddhikajay/>
>>
>
>
>
> --
> *Buddhika Jayawardhana*
> Undergraduate | Department of Computer Science & Engineering
> University of Moratuwa
> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
> <http://lk.linkedin.com/in/buddhikajay/>
>



-- 
*Buddhika Jayawardhana*
Undergraduate | Department of Computer Science & Engineering
University of Moratuwa
*buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
<http://lk.linkedin.com/in/buddhikajay/>

Re: GSoc 2015 | COUCHDB-1743 Make the view server & protocol faster

Posted by Buddhika Jayawardhana <bu...@cse.mrt.ac.lk>.
Dear Robert and Alexander,

Thanks for your suggestions.
Robert,
Yes I was thinking about a good, simple way to represent the schedule. My
idea was to draw a chart which shows the time allocation with a range of
dates and hourly basis.
eg:
Implementing show function handler

Duration: May 10 to 30
Designing :10 hours.
Implementation :100 hours
Testing : 30 hours

likewise. Is that ok? I thought that it might help me to divide the time
among tasks easily although those are rough estimates. As you advised I
will be writing test cases for every bit of function. I will complete this
before 20 UTC todya(Because I got some lectures today). And I will let you
know when I am done.


Again Thanks for spending time for read the proposal.

On 24 March 2015 at 06:23, Robert Kowalski <ro...@kowalski.gd> wrote:

> Looks good! Left some suggestions!
>
> Are you going to complete the schedule?
>
> I just noticed that you have a special section for testing, from my
> experience I can suggest to add unit tests while you develop the
> feature, as adding tests weeks or months later to a big, grown
> codebase is not a lot of fun and also very hard (maybe even not
> possible because the code was written untestable weeks ago). At least
> that are my experiences with testing.
>
> On Mon, Mar 23, 2015 at 5:15 PM, Buddhika Jayawardhana
> <bu...@cse.mrt.ac.lk> wrote:
> > Dear Folks,
> >
> > I have prepared a draft proposal  for the project based on what I have
> read
> > so far.
> >
> > How deep I should explain the technical details of the project?
> > Is the software process which I have suggested is ok? or should I use any
> > other process?
> >
> > This is the link
> > <
> https://docs.google.com/document/d/1Yrj73vXAJjBA0-i_Nt78FUipy5oTtZ42UG2TlXmH4y0/edit?usp=sharing
> >
> > for the proposal. Please be kind enough to add your comments on the
> > proposal.
> >
> > Thank You
> >
> >
> > On 22 March 2015 at 10:24, Buddhika Jayawardhana <
> buddhika.12@cse.mrt.ac.lk>
> > wrote:
> >
> >> Dear Jan, Robert other devs,
> >>
> >> I have prepared a draft proposal for the project. It can be found on
> this
> >> link
> >> <
> https://docs.google.com/a/cse.mrt.ac.lk/document/d/1Yrj73vXAJjBA0-i_Nt78FUipy5oTtZ42UG2TlXmH4y0/edit?usp=sharing
> >.
> >> It is neither complete nor contain much technical details. It is
> completely
> >> based on what you have told me and what I have read so far. Please add
> your
> >> comments to improve the proposal and point me out if I have
> misunderstood
> >> anything you have told me or about the project.
> >>
> >> I think I need a deep understanding on stdio. Please point me some
> >> direction to learn them.
> >>
> >> Thank You.
> >>
> >> On 21 March 2015 at 22:16, Buddhika Jayawardhana <
> >> buddhika.12@cse.mrt.ac.lk> wrote:
> >>
> >>> Thank You Robert, I already have started  writing the proposal. I will
> >>> share the link of the google doc tomorrow morning.
> >>>
> >>> On 21 March 2015 at 21:08, Robert Kowalski <ro...@kowalski.gd> wrote:
> >>>
> >>>> Hi Buddhika,
> >>>>
> >>>> no worries - the preparation for each GSoC project is different for
> >>>> every student. Some projects need more background knowledge in advance
> >>>> and have to integrate in other way into the codebase, so don't worry
> >>>> that other folks are submitting code!
> >>>>
> >>>> I would suggest to start writing the proposal as far as you can, we
> >>>> will also give you feedback. The deadline is for submissions is soon.
> >>>>
> >>>> I tried to write up some tips for writing the two sections you are
> >>>> worried about:
> >>>>
> >>>> For the "background" section you can just rely on the informations the
> >>>> community provides plus the background information you gained from
> >>>> reading the docs (e.g. the current QueryServer protocol [1], the way
> >>>> the QueryServer operates today and more general informations, like how
> >>>> you query CouchDB and how you are writing views) - so no worries!
> >>>>
> >>>> Regarding the design/description: Jan already gave some suggestions
> >>>> regarding the steps that are needed. Are there steps missing in
> >>>> between? How do you measure the success of the project? How do you
> >>>> plan to work together with Jan & the community? Also describe how you
> >>>> going to work: are you planning to work iterative, waterfall, using
> >>>> techniques like test-driven-development, by building a prototype etc?
> >>>>
> >>>> I hope I could provide some hints!
> >>>>
> >>>>
> >>>> [1] http://docs.couchdb.org/en/1.6.1/query-server/protocol.html
> >>>>
> >>>> On Sat, Mar 21, 2015 at 6:58 AM, Buddhika Jayawardhana
> >>>> <bu...@cse.mrt.ac.lk> wrote:
> >>>> > Hi Robert,
> >>>> >
> >>>> > I I saw some other applicants are submitting pieces of codes. But I
> am
> >>>> > still reading the documents Jan and others have sent me.
> >>>> >
> >>>> >
> >>>> >    - I am middle of learnYouSomeErlang book.
> >>>> >    - I have around 8 chapters to read in Couch-DB "The Definitive
> >>>> Guide".
> >>>> >    - Lots of documentation.
> >>>> >    - Most of the source code.
> >>>> >
> >>>> >
> >>>> > I looked at the template that you have sent me and it requires a
> >>>> > description about the current situation of the project. And design/
> >>>> > description of the work.
> >>>> > I do not have any confidence to write those two paragraphs. But I
> can
> >>>> start
> >>>> > to write the proposal based on the thinks that Jan have
> >>>> described(Though I
> >>>> > don't understand all of them). Shall I start that way? or is there
> any
> >>>> > other better way.
> >>>> >
> >>>> > Waiting for your advices.
> >>>> >
> >>>> > On 21 March 2015 at 08:14, Robert Kowalski <ro...@kowalski.gd> wrote:
> >>>> >
> >>>> >> Hi Buddhika,
> >>>> >>
> >>>> >> the deadline for proposals is getting closer, do you have any
> >>>> >> questions? Is there anything we can help you with?
> >>>> >>
> >>>> >> Jan, the ML and I are happy to help!
> >>>> >>
> >>>> >> Best,
> >>>> >> Robert
> >>>> >>
> >>>> >> On Thu, Mar 19, 2015 at 1:57 PM, Buddhika Jayawardhana
> >>>> >> <bu...@cse.mrt.ac.lk> wrote:
> >>>> >> > Thanks Alexander. I'll try this out.
> >>>> >> >
> >>>> >> > On 19 March 2015 at 16:59, Alexander Shorin <kx...@gmail.com>
> >>>> wrote:
> >>>> >> >
> >>>> >> >> Hi Buddhika,
> >>>> >> >>
> >>>> >> >> May be some docs could help you:
> >>>> >> >> http://docs.couchdb.org/en/latest/query-server/protocol.html
> >>>> >> >>
> >>>> >> >> The most easiest way to understand it is to play with it.
> >>>> >> >> Try to enable debug logs for CouchDB (better here stay with 1.x
> >>>> >> >> series), run view and other functions and see what the
> >>>> communication
> >>>> >> >> happens between CouchDB and query server.
> >>>> >> >> Try to run query server from CLI and send it some commands to it
> >>>> and
> >>>> >> >> notice the responces.
> >>>> >> >> After that, reading the code would be much more simpler since
> >>>> you'll
> >>>> >> >> know the idea how it works in general.
> >>>> >> >>
> >>>> >> >> --
> >>>> >> >> ,,,^..^,,,
> >>>> >> >>
> >>>> >> >>
> >>>> >> >> On Thu, Mar 19, 2015 at 2:24 PM, Buddhika Jayawardhana
> >>>> >> >> <bu...@cse.mrt.ac.lk> wrote:
> >>>> >> >> > Dear Jan,
> >>>> >> >> >
> >>>> >> >> > I tried to read the code you have sent me to understand the
> >>>> current
> >>>> >> query
> >>>> >> >> > server protocol(https://github.com/apache/couchdb
> >>>> >> >> > /blob/master/test/view_server/query_server_spec.rb). But I
> could
> >>>> not
> >>>> >> >> > understand anything :( . I'm stuck here. Can you point me out
> a
> >>>> way to
> >>>> >> >> > understand the code. (At least a brief explanation).
> >>>> >> >> >
> >>>> >> >> > Thanks.
> >>>> >> >> >
> >>>> >> >> > On 19 March 2015 at 10:28, Buddhika Jayawardhana <
> >>>> >> >> buddhika.12@cse.mrt.ac.lk>
> >>>> >> >> > wrote:
> >>>> >> >> >
> >>>> >> >> >> Thanks Robert. This would be really helpful.
> >>>> >> >> >>
> >>>> >> >> >> On 19 March 2015 at 03:20, Robert Kowalski <ro...@kowalski.gd>
> >>>> wrote:
> >>>> >> >> >>
> >>>> >> >> >>> Some of you asked for a template for their proposals, here
> is
> >>>> what
> >>>> >> I've
> >>>> >> >> >>> found:
> >>>> >> >> >>>
> >>>> >> >> >>>
> http://community.staging.apache.org/gsoc#application-template
> >>>> >> >> >>>
> >>>> >> >> >>> Best,
> >>>> >> >> >>> Robert
> >>>> >> >> >>>
> >>>> >> >> >>> On Wed, Mar 18, 2015 at 1:49 PM, Jan Lehnardt <
> jan@apache.org>
> >>>> >> wrote:
> >>>> >> >> >>> >
> >>>> >> >> >>> >> On 18 Mar 2015, at 13:35, Buddhika Jayawardhana <
> >>>> >> >> >>> buddhika.12@cse.mrt.ac.lk> wrote:
> >>>> >> >> >>> >>
> >>>> >> >> >>> >> Dear Jan and Robert,
> >>>> >> >> >>> >>
> >>>> >> >> >>> >> It seems I have to do a lot to get to the speed. I have
> to
> >>>> gain a
> >>>> >> >> lot
> >>>> >> >> >>> of
> >>>> >> >> >>> >> theorytical knowladge in
> >>>> >> >> >>> >>
> >>>> >> >> >>> >>   - Erlang.
> >>>> >> >> >>> >>   - Query servers.
> >>>> >> >> >>> >>   - and about the source.
> >>>> >> >> >>> >>
> >>>> >> >> >>> >> But I am so exited to learn new things. Currently I am
> >>>> reading
> >>>> >> >> >>> >> "learnsomeerlang" and couch db documentation. This is my
> >>>> first
> >>>> >> >> attemp
> >>>> >> >> >>> to
> >>>> >> >> >>> >> get involve with a large scale open source project and I
> >>>> need
> >>>> >> help
> >>>> >> >> to
> >>>> >> >> >>> >> clarify the source code. I hope to meet you guys. Hope to
> >>>> meet
> >>>> >> you
> >>>> >> >> >>> guys at
> >>>> >> >> >>> >> the status meeting.
> >>>> >> >> >>> >
> >>>> >> >> >>> > Sounds good, we’re here to help :) (we are not all guys,
> >>>> though)
> >>>> >> >> >>> >
> >>>> >> >> >>> > Best
> >>>> >> >> >>> > Jan
> >>>> >> >> >>> > --
> >>>> >> >> >>> >>
> >>>> >> >> >>> >> Regards.
> >>>> >> >> >>> >>
> >>>> >> >> >>> >>
> >>>> >> >> >>> >> On 18 March 2015 at 03:51, Alexander Shorin <
> >>>> kxepal@gmail.com>
> >>>> >> >> wrote:
> >>>> >> >> >>> >>
> >>>> >> >> >>> >>> On Tue, Mar 17, 2015 at 12:28 AM, Jan Lehnardt <
> >>>> jan@apache.org>
> >>>> >> >> >>> wrote:
> >>>> >> >> >>> >>>> Here is how I would start:
> >>>> >> >> >>> >>>
> >>>> >> >> >>> >>> I think you'd forgot a point about protocol design
> itself.
> >>>> It
> >>>> >> >> requires
> >>>> >> >> >>> >>> in lot of changes. And there is need to think hardly
> about
> >>>> is it
> >>>> >> >> good
> >>>> >> >> >>> >>> to stay with stdio as a transport if we're going to make
> >>>> it work
> >>>> >> >> for
> >>>> >> >> >>> >>> cluster and much parallel as it is now. Just
> >>>> reimplementation of
> >>>> >> >> what
> >>>> >> >> >>> >>> we have now is interesting, but not very helpful in
> >>>> mid/long
> >>>> >> term.
> >>>> >> >> >>> >>>
> >>>> >> >> >>> >>> --
> >>>> >> >> >>> >>> ,,,^..^,,,
> >>>> >> >> >>> >>>
> >>>> >> >> >>> >>
> >>>> >> >> >>> >>
> >>>> >> >> >>> >>
> >>>> >> >> >>> >> --
> >>>> >> >> >>> >> *Buddhika Jayawardhana*
> >>>> >> >> >>> >> Undergraduate | Department of Computer Science &
> Engineering
> >>>> >> >> >>> >> University of Moratuwa
> >>>> >> >> >>> >> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>*
> |
> >>>> >> LinkedIn
> >>>> >> >> >>> >> <http://lk.linkedin.com/in/buddhikajay/>
> >>>> >> >> >>> >
> >>>> >> >> >>> > --
> >>>> >> >> >>> > Professional Support for Apache CouchDB:
> >>>> >> >> >>> > http://www.neighbourhood.ie/couchdb-support/
> >>>> >> >> >>> >
> >>>> >> >> >>>
> >>>> >> >> >>
> >>>> >> >> >>
> >>>> >> >> >>
> >>>> >> >> >> --
> >>>> >> >> >> *Buddhika Jayawardhana*
> >>>> >> >> >> Undergraduate | Department of Computer Science & Engineering
> >>>> >> >> >> University of Moratuwa
> >>>> >> >> >> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* |
> >>>> LinkedIn
> >>>> >> >> >> <http://lk.linkedin.com/in/buddhikajay/>
> >>>> >> >> >>
> >>>> >> >> >
> >>>> >> >> >
> >>>> >> >> >
> >>>> >> >> > --
> >>>> >> >> > *Buddhika Jayawardhana*
> >>>> >> >> > Undergraduate | Department of Computer Science & Engineering
> >>>> >> >> > University of Moratuwa
> >>>> >> >> > *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* |
> >>>> LinkedIn
> >>>> >> >> > <http://lk.linkedin.com/in/buddhikajay/>
> >>>> >> >>
> >>>> >> >
> >>>> >> >
> >>>> >> >
> >>>> >> > --
> >>>> >> > *Buddhika Jayawardhana*
> >>>> >> > Undergraduate | Department of Computer Science & Engineering
> >>>> >> > University of Moratuwa
> >>>> >> > *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* |
> LinkedIn
> >>>> >> > <http://lk.linkedin.com/in/buddhikajay/>
> >>>> >>
> >>>> >
> >>>> >
> >>>> >
> >>>> > --
> >>>> > *Buddhika Jayawardhana*
> >>>> > Undergraduate | Department of Computer Science & Engineering
> >>>> > University of Moratuwa
> >>>> > *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
> >>>> > <http://lk.linkedin.com/in/buddhikajay/>
> >>>>
> >>>
> >>>
> >>>
> >>> --
> >>> *Buddhika Jayawardhana*
> >>> Undergraduate | Department of Computer Science & Engineering
> >>> University of Moratuwa
> >>> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
> >>> <http://lk.linkedin.com/in/buddhikajay/>
> >>>
> >>
> >>
> >>
> >> --
> >> *Buddhika Jayawardhana*
> >> Undergraduate | Department of Computer Science & Engineering
> >> University of Moratuwa
> >> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
> >> <http://lk.linkedin.com/in/buddhikajay/>
> >>
> >
> >
> >
> > --
> > *Buddhika Jayawardhana*
> > Undergraduate | Department of Computer Science & Engineering
> > University of Moratuwa
> > *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
> > <http://lk.linkedin.com/in/buddhikajay/>
>



-- 
*Buddhika Jayawardhana*
Undergraduate | Department of Computer Science & Engineering
University of Moratuwa
*buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
<http://lk.linkedin.com/in/buddhikajay/>

Re: GSoc 2015 | COUCHDB-1743 Make the view server & protocol faster

Posted by Robert Kowalski <ro...@kowalski.gd>.
Looks good! Left some suggestions!

Are you going to complete the schedule?

I just noticed that you have a special section for testing, from my
experience I can suggest to add unit tests while you develop the
feature, as adding tests weeks or months later to a big, grown
codebase is not a lot of fun and also very hard (maybe even not
possible because the code was written untestable weeks ago). At least
that are my experiences with testing.

On Mon, Mar 23, 2015 at 5:15 PM, Buddhika Jayawardhana
<bu...@cse.mrt.ac.lk> wrote:
> Dear Folks,
>
> I have prepared a draft proposal  for the project based on what I have read
> so far.
>
> How deep I should explain the technical details of the project?
> Is the software process which I have suggested is ok? or should I use any
> other process?
>
> This is the link
> <https://docs.google.com/document/d/1Yrj73vXAJjBA0-i_Nt78FUipy5oTtZ42UG2TlXmH4y0/edit?usp=sharing>
> for the proposal. Please be kind enough to add your comments on the
> proposal.
>
> Thank You
>
>
> On 22 March 2015 at 10:24, Buddhika Jayawardhana <bu...@cse.mrt.ac.lk>
> wrote:
>
>> Dear Jan, Robert other devs,
>>
>> I have prepared a draft proposal for the project. It can be found on this
>> link
>> <https://docs.google.com/a/cse.mrt.ac.lk/document/d/1Yrj73vXAJjBA0-i_Nt78FUipy5oTtZ42UG2TlXmH4y0/edit?usp=sharing>.
>> It is neither complete nor contain much technical details. It is completely
>> based on what you have told me and what I have read so far. Please add your
>> comments to improve the proposal and point me out if I have misunderstood
>> anything you have told me or about the project.
>>
>> I think I need a deep understanding on stdio. Please point me some
>> direction to learn them.
>>
>> Thank You.
>>
>> On 21 March 2015 at 22:16, Buddhika Jayawardhana <
>> buddhika.12@cse.mrt.ac.lk> wrote:
>>
>>> Thank You Robert, I already have started  writing the proposal. I will
>>> share the link of the google doc tomorrow morning.
>>>
>>> On 21 March 2015 at 21:08, Robert Kowalski <ro...@kowalski.gd> wrote:
>>>
>>>> Hi Buddhika,
>>>>
>>>> no worries - the preparation for each GSoC project is different for
>>>> every student. Some projects need more background knowledge in advance
>>>> and have to integrate in other way into the codebase, so don't worry
>>>> that other folks are submitting code!
>>>>
>>>> I would suggest to start writing the proposal as far as you can, we
>>>> will also give you feedback. The deadline is for submissions is soon.
>>>>
>>>> I tried to write up some tips for writing the two sections you are
>>>> worried about:
>>>>
>>>> For the "background" section you can just rely on the informations the
>>>> community provides plus the background information you gained from
>>>> reading the docs (e.g. the current QueryServer protocol [1], the way
>>>> the QueryServer operates today and more general informations, like how
>>>> you query CouchDB and how you are writing views) - so no worries!
>>>>
>>>> Regarding the design/description: Jan already gave some suggestions
>>>> regarding the steps that are needed. Are there steps missing in
>>>> between? How do you measure the success of the project? How do you
>>>> plan to work together with Jan & the community? Also describe how you
>>>> going to work: are you planning to work iterative, waterfall, using
>>>> techniques like test-driven-development, by building a prototype etc?
>>>>
>>>> I hope I could provide some hints!
>>>>
>>>>
>>>> [1] http://docs.couchdb.org/en/1.6.1/query-server/protocol.html
>>>>
>>>> On Sat, Mar 21, 2015 at 6:58 AM, Buddhika Jayawardhana
>>>> <bu...@cse.mrt.ac.lk> wrote:
>>>> > Hi Robert,
>>>> >
>>>> > I I saw some other applicants are submitting pieces of codes. But I am
>>>> > still reading the documents Jan and others have sent me.
>>>> >
>>>> >
>>>> >    - I am middle of learnYouSomeErlang book.
>>>> >    - I have around 8 chapters to read in Couch-DB "The Definitive
>>>> Guide".
>>>> >    - Lots of documentation.
>>>> >    - Most of the source code.
>>>> >
>>>> >
>>>> > I looked at the template that you have sent me and it requires a
>>>> > description about the current situation of the project. And design/
>>>> > description of the work.
>>>> > I do not have any confidence to write those two paragraphs. But I can
>>>> start
>>>> > to write the proposal based on the thinks that Jan have
>>>> described(Though I
>>>> > don't understand all of them). Shall I start that way? or is there any
>>>> > other better way.
>>>> >
>>>> > Waiting for your advices.
>>>> >
>>>> > On 21 March 2015 at 08:14, Robert Kowalski <ro...@kowalski.gd> wrote:
>>>> >
>>>> >> Hi Buddhika,
>>>> >>
>>>> >> the deadline for proposals is getting closer, do you have any
>>>> >> questions? Is there anything we can help you with?
>>>> >>
>>>> >> Jan, the ML and I are happy to help!
>>>> >>
>>>> >> Best,
>>>> >> Robert
>>>> >>
>>>> >> On Thu, Mar 19, 2015 at 1:57 PM, Buddhika Jayawardhana
>>>> >> <bu...@cse.mrt.ac.lk> wrote:
>>>> >> > Thanks Alexander. I'll try this out.
>>>> >> >
>>>> >> > On 19 March 2015 at 16:59, Alexander Shorin <kx...@gmail.com>
>>>> wrote:
>>>> >> >
>>>> >> >> Hi Buddhika,
>>>> >> >>
>>>> >> >> May be some docs could help you:
>>>> >> >> http://docs.couchdb.org/en/latest/query-server/protocol.html
>>>> >> >>
>>>> >> >> The most easiest way to understand it is to play with it.
>>>> >> >> Try to enable debug logs for CouchDB (better here stay with 1.x
>>>> >> >> series), run view and other functions and see what the
>>>> communication
>>>> >> >> happens between CouchDB and query server.
>>>> >> >> Try to run query server from CLI and send it some commands to it
>>>> and
>>>> >> >> notice the responces.
>>>> >> >> After that, reading the code would be much more simpler since
>>>> you'll
>>>> >> >> know the idea how it works in general.
>>>> >> >>
>>>> >> >> --
>>>> >> >> ,,,^..^,,,
>>>> >> >>
>>>> >> >>
>>>> >> >> On Thu, Mar 19, 2015 at 2:24 PM, Buddhika Jayawardhana
>>>> >> >> <bu...@cse.mrt.ac.lk> wrote:
>>>> >> >> > Dear Jan,
>>>> >> >> >
>>>> >> >> > I tried to read the code you have sent me to understand the
>>>> current
>>>> >> query
>>>> >> >> > server protocol(https://github.com/apache/couchdb
>>>> >> >> > /blob/master/test/view_server/query_server_spec.rb). But I could
>>>> not
>>>> >> >> > understand anything :( . I'm stuck here. Can you point me out a
>>>> way to
>>>> >> >> > understand the code. (At least a brief explanation).
>>>> >> >> >
>>>> >> >> > Thanks.
>>>> >> >> >
>>>> >> >> > On 19 March 2015 at 10:28, Buddhika Jayawardhana <
>>>> >> >> buddhika.12@cse.mrt.ac.lk>
>>>> >> >> > wrote:
>>>> >> >> >
>>>> >> >> >> Thanks Robert. This would be really helpful.
>>>> >> >> >>
>>>> >> >> >> On 19 March 2015 at 03:20, Robert Kowalski <ro...@kowalski.gd>
>>>> wrote:
>>>> >> >> >>
>>>> >> >> >>> Some of you asked for a template for their proposals, here is
>>>> what
>>>> >> I've
>>>> >> >> >>> found:
>>>> >> >> >>>
>>>> >> >> >>> http://community.staging.apache.org/gsoc#application-template
>>>> >> >> >>>
>>>> >> >> >>> Best,
>>>> >> >> >>> Robert
>>>> >> >> >>>
>>>> >> >> >>> On Wed, Mar 18, 2015 at 1:49 PM, Jan Lehnardt <ja...@apache.org>
>>>> >> wrote:
>>>> >> >> >>> >
>>>> >> >> >>> >> On 18 Mar 2015, at 13:35, Buddhika Jayawardhana <
>>>> >> >> >>> buddhika.12@cse.mrt.ac.lk> wrote:
>>>> >> >> >>> >>
>>>> >> >> >>> >> Dear Jan and Robert,
>>>> >> >> >>> >>
>>>> >> >> >>> >> It seems I have to do a lot to get to the speed. I have to
>>>> gain a
>>>> >> >> lot
>>>> >> >> >>> of
>>>> >> >> >>> >> theorytical knowladge in
>>>> >> >> >>> >>
>>>> >> >> >>> >>   - Erlang.
>>>> >> >> >>> >>   - Query servers.
>>>> >> >> >>> >>   - and about the source.
>>>> >> >> >>> >>
>>>> >> >> >>> >> But I am so exited to learn new things. Currently I am
>>>> reading
>>>> >> >> >>> >> "learnsomeerlang" and couch db documentation. This is my
>>>> first
>>>> >> >> attemp
>>>> >> >> >>> to
>>>> >> >> >>> >> get involve with a large scale open source project and I
>>>> need
>>>> >> help
>>>> >> >> to
>>>> >> >> >>> >> clarify the source code. I hope to meet you guys. Hope to
>>>> meet
>>>> >> you
>>>> >> >> >>> guys at
>>>> >> >> >>> >> the status meeting.
>>>> >> >> >>> >
>>>> >> >> >>> > Sounds good, we’re here to help :) (we are not all guys,
>>>> though)
>>>> >> >> >>> >
>>>> >> >> >>> > Best
>>>> >> >> >>> > Jan
>>>> >> >> >>> > --
>>>> >> >> >>> >>
>>>> >> >> >>> >> Regards.
>>>> >> >> >>> >>
>>>> >> >> >>> >>
>>>> >> >> >>> >> On 18 March 2015 at 03:51, Alexander Shorin <
>>>> kxepal@gmail.com>
>>>> >> >> wrote:
>>>> >> >> >>> >>
>>>> >> >> >>> >>> On Tue, Mar 17, 2015 at 12:28 AM, Jan Lehnardt <
>>>> jan@apache.org>
>>>> >> >> >>> wrote:
>>>> >> >> >>> >>>> Here is how I would start:
>>>> >> >> >>> >>>
>>>> >> >> >>> >>> I think you'd forgot a point about protocol design itself.
>>>> It
>>>> >> >> requires
>>>> >> >> >>> >>> in lot of changes. And there is need to think hardly about
>>>> is it
>>>> >> >> good
>>>> >> >> >>> >>> to stay with stdio as a transport if we're going to make
>>>> it work
>>>> >> >> for
>>>> >> >> >>> >>> cluster and much parallel as it is now. Just
>>>> reimplementation of
>>>> >> >> what
>>>> >> >> >>> >>> we have now is interesting, but not very helpful in
>>>> mid/long
>>>> >> term.
>>>> >> >> >>> >>>
>>>> >> >> >>> >>> --
>>>> >> >> >>> >>> ,,,^..^,,,
>>>> >> >> >>> >>>
>>>> >> >> >>> >>
>>>> >> >> >>> >>
>>>> >> >> >>> >>
>>>> >> >> >>> >> --
>>>> >> >> >>> >> *Buddhika Jayawardhana*
>>>> >> >> >>> >> Undergraduate | Department of Computer Science & Engineering
>>>> >> >> >>> >> University of Moratuwa
>>>> >> >> >>> >> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* |
>>>> >> LinkedIn
>>>> >> >> >>> >> <http://lk.linkedin.com/in/buddhikajay/>
>>>> >> >> >>> >
>>>> >> >> >>> > --
>>>> >> >> >>> > Professional Support for Apache CouchDB:
>>>> >> >> >>> > http://www.neighbourhood.ie/couchdb-support/
>>>> >> >> >>> >
>>>> >> >> >>>
>>>> >> >> >>
>>>> >> >> >>
>>>> >> >> >>
>>>> >> >> >> --
>>>> >> >> >> *Buddhika Jayawardhana*
>>>> >> >> >> Undergraduate | Department of Computer Science & Engineering
>>>> >> >> >> University of Moratuwa
>>>> >> >> >> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* |
>>>> LinkedIn
>>>> >> >> >> <http://lk.linkedin.com/in/buddhikajay/>
>>>> >> >> >>
>>>> >> >> >
>>>> >> >> >
>>>> >> >> >
>>>> >> >> > --
>>>> >> >> > *Buddhika Jayawardhana*
>>>> >> >> > Undergraduate | Department of Computer Science & Engineering
>>>> >> >> > University of Moratuwa
>>>> >> >> > *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* |
>>>> LinkedIn
>>>> >> >> > <http://lk.linkedin.com/in/buddhikajay/>
>>>> >> >>
>>>> >> >
>>>> >> >
>>>> >> >
>>>> >> > --
>>>> >> > *Buddhika Jayawardhana*
>>>> >> > Undergraduate | Department of Computer Science & Engineering
>>>> >> > University of Moratuwa
>>>> >> > *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
>>>> >> > <http://lk.linkedin.com/in/buddhikajay/>
>>>> >>
>>>> >
>>>> >
>>>> >
>>>> > --
>>>> > *Buddhika Jayawardhana*
>>>> > Undergraduate | Department of Computer Science & Engineering
>>>> > University of Moratuwa
>>>> > *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
>>>> > <http://lk.linkedin.com/in/buddhikajay/>
>>>>
>>>
>>>
>>>
>>> --
>>> *Buddhika Jayawardhana*
>>> Undergraduate | Department of Computer Science & Engineering
>>> University of Moratuwa
>>> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
>>> <http://lk.linkedin.com/in/buddhikajay/>
>>>
>>
>>
>>
>> --
>> *Buddhika Jayawardhana*
>> Undergraduate | Department of Computer Science & Engineering
>> University of Moratuwa
>> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
>> <http://lk.linkedin.com/in/buddhikajay/>
>>
>
>
>
> --
> *Buddhika Jayawardhana*
> Undergraduate | Department of Computer Science & Engineering
> University of Moratuwa
> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
> <http://lk.linkedin.com/in/buddhikajay/>

Re: GSoc 2015 | COUCHDB-1743 Make the view server & protocol faster

Posted by Buddhika Jayawardhana <bu...@cse.mrt.ac.lk>.
Dear Folks,

I have prepared a draft proposal  for the project based on what I have read
so far.

How deep I should explain the technical details of the project?
Is the software process which I have suggested is ok? or should I use any
other process?

This is the link
<https://docs.google.com/document/d/1Yrj73vXAJjBA0-i_Nt78FUipy5oTtZ42UG2TlXmH4y0/edit?usp=sharing>
for the proposal. Please be kind enough to add your comments on the
proposal.

Thank You


On 22 March 2015 at 10:24, Buddhika Jayawardhana <bu...@cse.mrt.ac.lk>
wrote:

> Dear Jan, Robert other devs,
>
> I have prepared a draft proposal for the project. It can be found on this
> link
> <https://docs.google.com/a/cse.mrt.ac.lk/document/d/1Yrj73vXAJjBA0-i_Nt78FUipy5oTtZ42UG2TlXmH4y0/edit?usp=sharing>.
> It is neither complete nor contain much technical details. It is completely
> based on what you have told me and what I have read so far. Please add your
> comments to improve the proposal and point me out if I have misunderstood
> anything you have told me or about the project.
>
> I think I need a deep understanding on stdio. Please point me some
> direction to learn them.
>
> Thank You.
>
> On 21 March 2015 at 22:16, Buddhika Jayawardhana <
> buddhika.12@cse.mrt.ac.lk> wrote:
>
>> Thank You Robert, I already have started  writing the proposal. I will
>> share the link of the google doc tomorrow morning.
>>
>> On 21 March 2015 at 21:08, Robert Kowalski <ro...@kowalski.gd> wrote:
>>
>>> Hi Buddhika,
>>>
>>> no worries - the preparation for each GSoC project is different for
>>> every student. Some projects need more background knowledge in advance
>>> and have to integrate in other way into the codebase, so don't worry
>>> that other folks are submitting code!
>>>
>>> I would suggest to start writing the proposal as far as you can, we
>>> will also give you feedback. The deadline is for submissions is soon.
>>>
>>> I tried to write up some tips for writing the two sections you are
>>> worried about:
>>>
>>> For the "background" section you can just rely on the informations the
>>> community provides plus the background information you gained from
>>> reading the docs (e.g. the current QueryServer protocol [1], the way
>>> the QueryServer operates today and more general informations, like how
>>> you query CouchDB and how you are writing views) - so no worries!
>>>
>>> Regarding the design/description: Jan already gave some suggestions
>>> regarding the steps that are needed. Are there steps missing in
>>> between? How do you measure the success of the project? How do you
>>> plan to work together with Jan & the community? Also describe how you
>>> going to work: are you planning to work iterative, waterfall, using
>>> techniques like test-driven-development, by building a prototype etc?
>>>
>>> I hope I could provide some hints!
>>>
>>>
>>> [1] http://docs.couchdb.org/en/1.6.1/query-server/protocol.html
>>>
>>> On Sat, Mar 21, 2015 at 6:58 AM, Buddhika Jayawardhana
>>> <bu...@cse.mrt.ac.lk> wrote:
>>> > Hi Robert,
>>> >
>>> > I I saw some other applicants are submitting pieces of codes. But I am
>>> > still reading the documents Jan and others have sent me.
>>> >
>>> >
>>> >    - I am middle of learnYouSomeErlang book.
>>> >    - I have around 8 chapters to read in Couch-DB "The Definitive
>>> Guide".
>>> >    - Lots of documentation.
>>> >    - Most of the source code.
>>> >
>>> >
>>> > I looked at the template that you have sent me and it requires a
>>> > description about the current situation of the project. And design/
>>> > description of the work.
>>> > I do not have any confidence to write those two paragraphs. But I can
>>> start
>>> > to write the proposal based on the thinks that Jan have
>>> described(Though I
>>> > don't understand all of them). Shall I start that way? or is there any
>>> > other better way.
>>> >
>>> > Waiting for your advices.
>>> >
>>> > On 21 March 2015 at 08:14, Robert Kowalski <ro...@kowalski.gd> wrote:
>>> >
>>> >> Hi Buddhika,
>>> >>
>>> >> the deadline for proposals is getting closer, do you have any
>>> >> questions? Is there anything we can help you with?
>>> >>
>>> >> Jan, the ML and I are happy to help!
>>> >>
>>> >> Best,
>>> >> Robert
>>> >>
>>> >> On Thu, Mar 19, 2015 at 1:57 PM, Buddhika Jayawardhana
>>> >> <bu...@cse.mrt.ac.lk> wrote:
>>> >> > Thanks Alexander. I'll try this out.
>>> >> >
>>> >> > On 19 March 2015 at 16:59, Alexander Shorin <kx...@gmail.com>
>>> wrote:
>>> >> >
>>> >> >> Hi Buddhika,
>>> >> >>
>>> >> >> May be some docs could help you:
>>> >> >> http://docs.couchdb.org/en/latest/query-server/protocol.html
>>> >> >>
>>> >> >> The most easiest way to understand it is to play with it.
>>> >> >> Try to enable debug logs for CouchDB (better here stay with 1.x
>>> >> >> series), run view and other functions and see what the
>>> communication
>>> >> >> happens between CouchDB and query server.
>>> >> >> Try to run query server from CLI and send it some commands to it
>>> and
>>> >> >> notice the responces.
>>> >> >> After that, reading the code would be much more simpler since
>>> you'll
>>> >> >> know the idea how it works in general.
>>> >> >>
>>> >> >> --
>>> >> >> ,,,^..^,,,
>>> >> >>
>>> >> >>
>>> >> >> On Thu, Mar 19, 2015 at 2:24 PM, Buddhika Jayawardhana
>>> >> >> <bu...@cse.mrt.ac.lk> wrote:
>>> >> >> > Dear Jan,
>>> >> >> >
>>> >> >> > I tried to read the code you have sent me to understand the
>>> current
>>> >> query
>>> >> >> > server protocol(https://github.com/apache/couchdb
>>> >> >> > /blob/master/test/view_server/query_server_spec.rb). But I could
>>> not
>>> >> >> > understand anything :( . I'm stuck here. Can you point me out a
>>> way to
>>> >> >> > understand the code. (At least a brief explanation).
>>> >> >> >
>>> >> >> > Thanks.
>>> >> >> >
>>> >> >> > On 19 March 2015 at 10:28, Buddhika Jayawardhana <
>>> >> >> buddhika.12@cse.mrt.ac.lk>
>>> >> >> > wrote:
>>> >> >> >
>>> >> >> >> Thanks Robert. This would be really helpful.
>>> >> >> >>
>>> >> >> >> On 19 March 2015 at 03:20, Robert Kowalski <ro...@kowalski.gd>
>>> wrote:
>>> >> >> >>
>>> >> >> >>> Some of you asked for a template for their proposals, here is
>>> what
>>> >> I've
>>> >> >> >>> found:
>>> >> >> >>>
>>> >> >> >>> http://community.staging.apache.org/gsoc#application-template
>>> >> >> >>>
>>> >> >> >>> Best,
>>> >> >> >>> Robert
>>> >> >> >>>
>>> >> >> >>> On Wed, Mar 18, 2015 at 1:49 PM, Jan Lehnardt <ja...@apache.org>
>>> >> wrote:
>>> >> >> >>> >
>>> >> >> >>> >> On 18 Mar 2015, at 13:35, Buddhika Jayawardhana <
>>> >> >> >>> buddhika.12@cse.mrt.ac.lk> wrote:
>>> >> >> >>> >>
>>> >> >> >>> >> Dear Jan and Robert,
>>> >> >> >>> >>
>>> >> >> >>> >> It seems I have to do a lot to get to the speed. I have to
>>> gain a
>>> >> >> lot
>>> >> >> >>> of
>>> >> >> >>> >> theorytical knowladge in
>>> >> >> >>> >>
>>> >> >> >>> >>   - Erlang.
>>> >> >> >>> >>   - Query servers.
>>> >> >> >>> >>   - and about the source.
>>> >> >> >>> >>
>>> >> >> >>> >> But I am so exited to learn new things. Currently I am
>>> reading
>>> >> >> >>> >> "learnsomeerlang" and couch db documentation. This is my
>>> first
>>> >> >> attemp
>>> >> >> >>> to
>>> >> >> >>> >> get involve with a large scale open source project and I
>>> need
>>> >> help
>>> >> >> to
>>> >> >> >>> >> clarify the source code. I hope to meet you guys. Hope to
>>> meet
>>> >> you
>>> >> >> >>> guys at
>>> >> >> >>> >> the status meeting.
>>> >> >> >>> >
>>> >> >> >>> > Sounds good, we’re here to help :) (we are not all guys,
>>> though)
>>> >> >> >>> >
>>> >> >> >>> > Best
>>> >> >> >>> > Jan
>>> >> >> >>> > --
>>> >> >> >>> >>
>>> >> >> >>> >> Regards.
>>> >> >> >>> >>
>>> >> >> >>> >>
>>> >> >> >>> >> On 18 March 2015 at 03:51, Alexander Shorin <
>>> kxepal@gmail.com>
>>> >> >> wrote:
>>> >> >> >>> >>
>>> >> >> >>> >>> On Tue, Mar 17, 2015 at 12:28 AM, Jan Lehnardt <
>>> jan@apache.org>
>>> >> >> >>> wrote:
>>> >> >> >>> >>>> Here is how I would start:
>>> >> >> >>> >>>
>>> >> >> >>> >>> I think you'd forgot a point about protocol design itself.
>>> It
>>> >> >> requires
>>> >> >> >>> >>> in lot of changes. And there is need to think hardly about
>>> is it
>>> >> >> good
>>> >> >> >>> >>> to stay with stdio as a transport if we're going to make
>>> it work
>>> >> >> for
>>> >> >> >>> >>> cluster and much parallel as it is now. Just
>>> reimplementation of
>>> >> >> what
>>> >> >> >>> >>> we have now is interesting, but not very helpful in
>>> mid/long
>>> >> term.
>>> >> >> >>> >>>
>>> >> >> >>> >>> --
>>> >> >> >>> >>> ,,,^..^,,,
>>> >> >> >>> >>>
>>> >> >> >>> >>
>>> >> >> >>> >>
>>> >> >> >>> >>
>>> >> >> >>> >> --
>>> >> >> >>> >> *Buddhika Jayawardhana*
>>> >> >> >>> >> Undergraduate | Department of Computer Science & Engineering
>>> >> >> >>> >> University of Moratuwa
>>> >> >> >>> >> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* |
>>> >> LinkedIn
>>> >> >> >>> >> <http://lk.linkedin.com/in/buddhikajay/>
>>> >> >> >>> >
>>> >> >> >>> > --
>>> >> >> >>> > Professional Support for Apache CouchDB:
>>> >> >> >>> > http://www.neighbourhood.ie/couchdb-support/
>>> >> >> >>> >
>>> >> >> >>>
>>> >> >> >>
>>> >> >> >>
>>> >> >> >>
>>> >> >> >> --
>>> >> >> >> *Buddhika Jayawardhana*
>>> >> >> >> Undergraduate | Department of Computer Science & Engineering
>>> >> >> >> University of Moratuwa
>>> >> >> >> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* |
>>> LinkedIn
>>> >> >> >> <http://lk.linkedin.com/in/buddhikajay/>
>>> >> >> >>
>>> >> >> >
>>> >> >> >
>>> >> >> >
>>> >> >> > --
>>> >> >> > *Buddhika Jayawardhana*
>>> >> >> > Undergraduate | Department of Computer Science & Engineering
>>> >> >> > University of Moratuwa
>>> >> >> > *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* |
>>> LinkedIn
>>> >> >> > <http://lk.linkedin.com/in/buddhikajay/>
>>> >> >>
>>> >> >
>>> >> >
>>> >> >
>>> >> > --
>>> >> > *Buddhika Jayawardhana*
>>> >> > Undergraduate | Department of Computer Science & Engineering
>>> >> > University of Moratuwa
>>> >> > *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
>>> >> > <http://lk.linkedin.com/in/buddhikajay/>
>>> >>
>>> >
>>> >
>>> >
>>> > --
>>> > *Buddhika Jayawardhana*
>>> > Undergraduate | Department of Computer Science & Engineering
>>> > University of Moratuwa
>>> > *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
>>> > <http://lk.linkedin.com/in/buddhikajay/>
>>>
>>
>>
>>
>> --
>> *Buddhika Jayawardhana*
>> Undergraduate | Department of Computer Science & Engineering
>> University of Moratuwa
>> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
>> <http://lk.linkedin.com/in/buddhikajay/>
>>
>
>
>
> --
> *Buddhika Jayawardhana*
> Undergraduate | Department of Computer Science & Engineering
> University of Moratuwa
> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
> <http://lk.linkedin.com/in/buddhikajay/>
>



-- 
*Buddhika Jayawardhana*
Undergraduate | Department of Computer Science & Engineering
University of Moratuwa
*buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
<http://lk.linkedin.com/in/buddhikajay/>

Re: GSoc 2015 | COUCHDB-1743 Make the view server & protocol faster

Posted by Buddhika Jayawardhana <bu...@cse.mrt.ac.lk>.
Dear Jan, Robert other devs,

I have prepared a draft proposal for the project. It can be found on this
link
<https://docs.google.com/a/cse.mrt.ac.lk/document/d/1Yrj73vXAJjBA0-i_Nt78FUipy5oTtZ42UG2TlXmH4y0/edit?usp=sharing>.
It is neither complete nor contain much technical details. It is completely
based on what you have told me and what I have read so far. Please add your
comments to improve the proposal and point me out if I have misunderstood
anything you have told me or about the project.

I think I need a deep understanding on stdio. Please point me some
direction to learn them.

Thank You.

On 21 March 2015 at 22:16, Buddhika Jayawardhana <bu...@cse.mrt.ac.lk>
wrote:

> Thank You Robert, I already have started  writing the proposal. I will
> share the link of the google doc tomorrow morning.
>
> On 21 March 2015 at 21:08, Robert Kowalski <ro...@kowalski.gd> wrote:
>
>> Hi Buddhika,
>>
>> no worries - the preparation for each GSoC project is different for
>> every student. Some projects need more background knowledge in advance
>> and have to integrate in other way into the codebase, so don't worry
>> that other folks are submitting code!
>>
>> I would suggest to start writing the proposal as far as you can, we
>> will also give you feedback. The deadline is for submissions is soon.
>>
>> I tried to write up some tips for writing the two sections you are
>> worried about:
>>
>> For the "background" section you can just rely on the informations the
>> community provides plus the background information you gained from
>> reading the docs (e.g. the current QueryServer protocol [1], the way
>> the QueryServer operates today and more general informations, like how
>> you query CouchDB and how you are writing views) - so no worries!
>>
>> Regarding the design/description: Jan already gave some suggestions
>> regarding the steps that are needed. Are there steps missing in
>> between? How do you measure the success of the project? How do you
>> plan to work together with Jan & the community? Also describe how you
>> going to work: are you planning to work iterative, waterfall, using
>> techniques like test-driven-development, by building a prototype etc?
>>
>> I hope I could provide some hints!
>>
>>
>> [1] http://docs.couchdb.org/en/1.6.1/query-server/protocol.html
>>
>> On Sat, Mar 21, 2015 at 6:58 AM, Buddhika Jayawardhana
>> <bu...@cse.mrt.ac.lk> wrote:
>> > Hi Robert,
>> >
>> > I I saw some other applicants are submitting pieces of codes. But I am
>> > still reading the documents Jan and others have sent me.
>> >
>> >
>> >    - I am middle of learnYouSomeErlang book.
>> >    - I have around 8 chapters to read in Couch-DB "The Definitive
>> Guide".
>> >    - Lots of documentation.
>> >    - Most of the source code.
>> >
>> >
>> > I looked at the template that you have sent me and it requires a
>> > description about the current situation of the project. And design/
>> > description of the work.
>> > I do not have any confidence to write those two paragraphs. But I can
>> start
>> > to write the proposal based on the thinks that Jan have
>> described(Though I
>> > don't understand all of them). Shall I start that way? or is there any
>> > other better way.
>> >
>> > Waiting for your advices.
>> >
>> > On 21 March 2015 at 08:14, Robert Kowalski <ro...@kowalski.gd> wrote:
>> >
>> >> Hi Buddhika,
>> >>
>> >> the deadline for proposals is getting closer, do you have any
>> >> questions? Is there anything we can help you with?
>> >>
>> >> Jan, the ML and I are happy to help!
>> >>
>> >> Best,
>> >> Robert
>> >>
>> >> On Thu, Mar 19, 2015 at 1:57 PM, Buddhika Jayawardhana
>> >> <bu...@cse.mrt.ac.lk> wrote:
>> >> > Thanks Alexander. I'll try this out.
>> >> >
>> >> > On 19 March 2015 at 16:59, Alexander Shorin <kx...@gmail.com>
>> wrote:
>> >> >
>> >> >> Hi Buddhika,
>> >> >>
>> >> >> May be some docs could help you:
>> >> >> http://docs.couchdb.org/en/latest/query-server/protocol.html
>> >> >>
>> >> >> The most easiest way to understand it is to play with it.
>> >> >> Try to enable debug logs for CouchDB (better here stay with 1.x
>> >> >> series), run view and other functions and see what the communication
>> >> >> happens between CouchDB and query server.
>> >> >> Try to run query server from CLI and send it some commands to it and
>> >> >> notice the responces.
>> >> >> After that, reading the code would be much more simpler since you'll
>> >> >> know the idea how it works in general.
>> >> >>
>> >> >> --
>> >> >> ,,,^..^,,,
>> >> >>
>> >> >>
>> >> >> On Thu, Mar 19, 2015 at 2:24 PM, Buddhika Jayawardhana
>> >> >> <bu...@cse.mrt.ac.lk> wrote:
>> >> >> > Dear Jan,
>> >> >> >
>> >> >> > I tried to read the code you have sent me to understand the
>> current
>> >> query
>> >> >> > server protocol(https://github.com/apache/couchdb
>> >> >> > /blob/master/test/view_server/query_server_spec.rb). But I could
>> not
>> >> >> > understand anything :( . I'm stuck here. Can you point me out a
>> way to
>> >> >> > understand the code. (At least a brief explanation).
>> >> >> >
>> >> >> > Thanks.
>> >> >> >
>> >> >> > On 19 March 2015 at 10:28, Buddhika Jayawardhana <
>> >> >> buddhika.12@cse.mrt.ac.lk>
>> >> >> > wrote:
>> >> >> >
>> >> >> >> Thanks Robert. This would be really helpful.
>> >> >> >>
>> >> >> >> On 19 March 2015 at 03:20, Robert Kowalski <ro...@kowalski.gd>
>> wrote:
>> >> >> >>
>> >> >> >>> Some of you asked for a template for their proposals, here is
>> what
>> >> I've
>> >> >> >>> found:
>> >> >> >>>
>> >> >> >>> http://community.staging.apache.org/gsoc#application-template
>> >> >> >>>
>> >> >> >>> Best,
>> >> >> >>> Robert
>> >> >> >>>
>> >> >> >>> On Wed, Mar 18, 2015 at 1:49 PM, Jan Lehnardt <ja...@apache.org>
>> >> wrote:
>> >> >> >>> >
>> >> >> >>> >> On 18 Mar 2015, at 13:35, Buddhika Jayawardhana <
>> >> >> >>> buddhika.12@cse.mrt.ac.lk> wrote:
>> >> >> >>> >>
>> >> >> >>> >> Dear Jan and Robert,
>> >> >> >>> >>
>> >> >> >>> >> It seems I have to do a lot to get to the speed. I have to
>> gain a
>> >> >> lot
>> >> >> >>> of
>> >> >> >>> >> theorytical knowladge in
>> >> >> >>> >>
>> >> >> >>> >>   - Erlang.
>> >> >> >>> >>   - Query servers.
>> >> >> >>> >>   - and about the source.
>> >> >> >>> >>
>> >> >> >>> >> But I am so exited to learn new things. Currently I am
>> reading
>> >> >> >>> >> "learnsomeerlang" and couch db documentation. This is my
>> first
>> >> >> attemp
>> >> >> >>> to
>> >> >> >>> >> get involve with a large scale open source project and I need
>> >> help
>> >> >> to
>> >> >> >>> >> clarify the source code. I hope to meet you guys. Hope to
>> meet
>> >> you
>> >> >> >>> guys at
>> >> >> >>> >> the status meeting.
>> >> >> >>> >
>> >> >> >>> > Sounds good, we’re here to help :) (we are not all guys,
>> though)
>> >> >> >>> >
>> >> >> >>> > Best
>> >> >> >>> > Jan
>> >> >> >>> > --
>> >> >> >>> >>
>> >> >> >>> >> Regards.
>> >> >> >>> >>
>> >> >> >>> >>
>> >> >> >>> >> On 18 March 2015 at 03:51, Alexander Shorin <
>> kxepal@gmail.com>
>> >> >> wrote:
>> >> >> >>> >>
>> >> >> >>> >>> On Tue, Mar 17, 2015 at 12:28 AM, Jan Lehnardt <
>> jan@apache.org>
>> >> >> >>> wrote:
>> >> >> >>> >>>> Here is how I would start:
>> >> >> >>> >>>
>> >> >> >>> >>> I think you'd forgot a point about protocol design itself.
>> It
>> >> >> requires
>> >> >> >>> >>> in lot of changes. And there is need to think hardly about
>> is it
>> >> >> good
>> >> >> >>> >>> to stay with stdio as a transport if we're going to make it
>> work
>> >> >> for
>> >> >> >>> >>> cluster and much parallel as it is now. Just
>> reimplementation of
>> >> >> what
>> >> >> >>> >>> we have now is interesting, but not very helpful in mid/long
>> >> term.
>> >> >> >>> >>>
>> >> >> >>> >>> --
>> >> >> >>> >>> ,,,^..^,,,
>> >> >> >>> >>>
>> >> >> >>> >>
>> >> >> >>> >>
>> >> >> >>> >>
>> >> >> >>> >> --
>> >> >> >>> >> *Buddhika Jayawardhana*
>> >> >> >>> >> Undergraduate | Department of Computer Science & Engineering
>> >> >> >>> >> University of Moratuwa
>> >> >> >>> >> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* |
>> >> LinkedIn
>> >> >> >>> >> <http://lk.linkedin.com/in/buddhikajay/>
>> >> >> >>> >
>> >> >> >>> > --
>> >> >> >>> > Professional Support for Apache CouchDB:
>> >> >> >>> > http://www.neighbourhood.ie/couchdb-support/
>> >> >> >>> >
>> >> >> >>>
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >> >> --
>> >> >> >> *Buddhika Jayawardhana*
>> >> >> >> Undergraduate | Department of Computer Science & Engineering
>> >> >> >> University of Moratuwa
>> >> >> >> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* |
>> LinkedIn
>> >> >> >> <http://lk.linkedin.com/in/buddhikajay/>
>> >> >> >>
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> > --
>> >> >> > *Buddhika Jayawardhana*
>> >> >> > Undergraduate | Department of Computer Science & Engineering
>> >> >> > University of Moratuwa
>> >> >> > *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* |
>> LinkedIn
>> >> >> > <http://lk.linkedin.com/in/buddhikajay/>
>> >> >>
>> >> >
>> >> >
>> >> >
>> >> > --
>> >> > *Buddhika Jayawardhana*
>> >> > Undergraduate | Department of Computer Science & Engineering
>> >> > University of Moratuwa
>> >> > *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
>> >> > <http://lk.linkedin.com/in/buddhikajay/>
>> >>
>> >
>> >
>> >
>> > --
>> > *Buddhika Jayawardhana*
>> > Undergraduate | Department of Computer Science & Engineering
>> > University of Moratuwa
>> > *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
>> > <http://lk.linkedin.com/in/buddhikajay/>
>>
>
>
>
> --
> *Buddhika Jayawardhana*
> Undergraduate | Department of Computer Science & Engineering
> University of Moratuwa
> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
> <http://lk.linkedin.com/in/buddhikajay/>
>



-- 
*Buddhika Jayawardhana*
Undergraduate | Department of Computer Science & Engineering
University of Moratuwa
*buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
<http://lk.linkedin.com/in/buddhikajay/>

Re: GSoc 2015 | COUCHDB-1743 Make the view server & protocol faster

Posted by Buddhika Jayawardhana <bu...@cse.mrt.ac.lk>.
Thank You Robert, I already have started  writing the proposal. I will
share the link of the google doc tomorrow morning.

On 21 March 2015 at 21:08, Robert Kowalski <ro...@kowalski.gd> wrote:

> Hi Buddhika,
>
> no worries - the preparation for each GSoC project is different for
> every student. Some projects need more background knowledge in advance
> and have to integrate in other way into the codebase, so don't worry
> that other folks are submitting code!
>
> I would suggest to start writing the proposal as far as you can, we
> will also give you feedback. The deadline is for submissions is soon.
>
> I tried to write up some tips for writing the two sections you are
> worried about:
>
> For the "background" section you can just rely on the informations the
> community provides plus the background information you gained from
> reading the docs (e.g. the current QueryServer protocol [1], the way
> the QueryServer operates today and more general informations, like how
> you query CouchDB and how you are writing views) - so no worries!
>
> Regarding the design/description: Jan already gave some suggestions
> regarding the steps that are needed. Are there steps missing in
> between? How do you measure the success of the project? How do you
> plan to work together with Jan & the community? Also describe how you
> going to work: are you planning to work iterative, waterfall, using
> techniques like test-driven-development, by building a prototype etc?
>
> I hope I could provide some hints!
>
>
> [1] http://docs.couchdb.org/en/1.6.1/query-server/protocol.html
>
> On Sat, Mar 21, 2015 at 6:58 AM, Buddhika Jayawardhana
> <bu...@cse.mrt.ac.lk> wrote:
> > Hi Robert,
> >
> > I I saw some other applicants are submitting pieces of codes. But I am
> > still reading the documents Jan and others have sent me.
> >
> >
> >    - I am middle of learnYouSomeErlang book.
> >    - I have around 8 chapters to read in Couch-DB "The Definitive Guide".
> >    - Lots of documentation.
> >    - Most of the source code.
> >
> >
> > I looked at the template that you have sent me and it requires a
> > description about the current situation of the project. And design/
> > description of the work.
> > I do not have any confidence to write those two paragraphs. But I can
> start
> > to write the proposal based on the thinks that Jan have described(Though
> I
> > don't understand all of them). Shall I start that way? or is there any
> > other better way.
> >
> > Waiting for your advices.
> >
> > On 21 March 2015 at 08:14, Robert Kowalski <ro...@kowalski.gd> wrote:
> >
> >> Hi Buddhika,
> >>
> >> the deadline for proposals is getting closer, do you have any
> >> questions? Is there anything we can help you with?
> >>
> >> Jan, the ML and I are happy to help!
> >>
> >> Best,
> >> Robert
> >>
> >> On Thu, Mar 19, 2015 at 1:57 PM, Buddhika Jayawardhana
> >> <bu...@cse.mrt.ac.lk> wrote:
> >> > Thanks Alexander. I'll try this out.
> >> >
> >> > On 19 March 2015 at 16:59, Alexander Shorin <kx...@gmail.com> wrote:
> >> >
> >> >> Hi Buddhika,
> >> >>
> >> >> May be some docs could help you:
> >> >> http://docs.couchdb.org/en/latest/query-server/protocol.html
> >> >>
> >> >> The most easiest way to understand it is to play with it.
> >> >> Try to enable debug logs for CouchDB (better here stay with 1.x
> >> >> series), run view and other functions and see what the communication
> >> >> happens between CouchDB and query server.
> >> >> Try to run query server from CLI and send it some commands to it and
> >> >> notice the responces.
> >> >> After that, reading the code would be much more simpler since you'll
> >> >> know the idea how it works in general.
> >> >>
> >> >> --
> >> >> ,,,^..^,,,
> >> >>
> >> >>
> >> >> On Thu, Mar 19, 2015 at 2:24 PM, Buddhika Jayawardhana
> >> >> <bu...@cse.mrt.ac.lk> wrote:
> >> >> > Dear Jan,
> >> >> >
> >> >> > I tried to read the code you have sent me to understand the current
> >> query
> >> >> > server protocol(https://github.com/apache/couchdb
> >> >> > /blob/master/test/view_server/query_server_spec.rb). But I could
> not
> >> >> > understand anything :( . I'm stuck here. Can you point me out a
> way to
> >> >> > understand the code. (At least a brief explanation).
> >> >> >
> >> >> > Thanks.
> >> >> >
> >> >> > On 19 March 2015 at 10:28, Buddhika Jayawardhana <
> >> >> buddhika.12@cse.mrt.ac.lk>
> >> >> > wrote:
> >> >> >
> >> >> >> Thanks Robert. This would be really helpful.
> >> >> >>
> >> >> >> On 19 March 2015 at 03:20, Robert Kowalski <ro...@kowalski.gd>
> wrote:
> >> >> >>
> >> >> >>> Some of you asked for a template for their proposals, here is
> what
> >> I've
> >> >> >>> found:
> >> >> >>>
> >> >> >>> http://community.staging.apache.org/gsoc#application-template
> >> >> >>>
> >> >> >>> Best,
> >> >> >>> Robert
> >> >> >>>
> >> >> >>> On Wed, Mar 18, 2015 at 1:49 PM, Jan Lehnardt <ja...@apache.org>
> >> wrote:
> >> >> >>> >
> >> >> >>> >> On 18 Mar 2015, at 13:35, Buddhika Jayawardhana <
> >> >> >>> buddhika.12@cse.mrt.ac.lk> wrote:
> >> >> >>> >>
> >> >> >>> >> Dear Jan and Robert,
> >> >> >>> >>
> >> >> >>> >> It seems I have to do a lot to get to the speed. I have to
> gain a
> >> >> lot
> >> >> >>> of
> >> >> >>> >> theorytical knowladge in
> >> >> >>> >>
> >> >> >>> >>   - Erlang.
> >> >> >>> >>   - Query servers.
> >> >> >>> >>   - and about the source.
> >> >> >>> >>
> >> >> >>> >> But I am so exited to learn new things. Currently I am reading
> >> >> >>> >> "learnsomeerlang" and couch db documentation. This is my first
> >> >> attemp
> >> >> >>> to
> >> >> >>> >> get involve with a large scale open source project and I need
> >> help
> >> >> to
> >> >> >>> >> clarify the source code. I hope to meet you guys. Hope to meet
> >> you
> >> >> >>> guys at
> >> >> >>> >> the status meeting.
> >> >> >>> >
> >> >> >>> > Sounds good, we’re here to help :) (we are not all guys,
> though)
> >> >> >>> >
> >> >> >>> > Best
> >> >> >>> > Jan
> >> >> >>> > --
> >> >> >>> >>
> >> >> >>> >> Regards.
> >> >> >>> >>
> >> >> >>> >>
> >> >> >>> >> On 18 March 2015 at 03:51, Alexander Shorin <kxepal@gmail.com
> >
> >> >> wrote:
> >> >> >>> >>
> >> >> >>> >>> On Tue, Mar 17, 2015 at 12:28 AM, Jan Lehnardt <
> jan@apache.org>
> >> >> >>> wrote:
> >> >> >>> >>>> Here is how I would start:
> >> >> >>> >>>
> >> >> >>> >>> I think you'd forgot a point about protocol design itself. It
> >> >> requires
> >> >> >>> >>> in lot of changes. And there is need to think hardly about
> is it
> >> >> good
> >> >> >>> >>> to stay with stdio as a transport if we're going to make it
> work
> >> >> for
> >> >> >>> >>> cluster and much parallel as it is now. Just
> reimplementation of
> >> >> what
> >> >> >>> >>> we have now is interesting, but not very helpful in mid/long
> >> term.
> >> >> >>> >>>
> >> >> >>> >>> --
> >> >> >>> >>> ,,,^..^,,,
> >> >> >>> >>>
> >> >> >>> >>
> >> >> >>> >>
> >> >> >>> >>
> >> >> >>> >> --
> >> >> >>> >> *Buddhika Jayawardhana*
> >> >> >>> >> Undergraduate | Department of Computer Science & Engineering
> >> >> >>> >> University of Moratuwa
> >> >> >>> >> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* |
> >> LinkedIn
> >> >> >>> >> <http://lk.linkedin.com/in/buddhikajay/>
> >> >> >>> >
> >> >> >>> > --
> >> >> >>> > Professional Support for Apache CouchDB:
> >> >> >>> > http://www.neighbourhood.ie/couchdb-support/
> >> >> >>> >
> >> >> >>>
> >> >> >>
> >> >> >>
> >> >> >>
> >> >> >> --
> >> >> >> *Buddhika Jayawardhana*
> >> >> >> Undergraduate | Department of Computer Science & Engineering
> >> >> >> University of Moratuwa
> >> >> >> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* |
> LinkedIn
> >> >> >> <http://lk.linkedin.com/in/buddhikajay/>
> >> >> >>
> >> >> >
> >> >> >
> >> >> >
> >> >> > --
> >> >> > *Buddhika Jayawardhana*
> >> >> > Undergraduate | Department of Computer Science & Engineering
> >> >> > University of Moratuwa
> >> >> > *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
> >> >> > <http://lk.linkedin.com/in/buddhikajay/>
> >> >>
> >> >
> >> >
> >> >
> >> > --
> >> > *Buddhika Jayawardhana*
> >> > Undergraduate | Department of Computer Science & Engineering
> >> > University of Moratuwa
> >> > *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
> >> > <http://lk.linkedin.com/in/buddhikajay/>
> >>
> >
> >
> >
> > --
> > *Buddhika Jayawardhana*
> > Undergraduate | Department of Computer Science & Engineering
> > University of Moratuwa
> > *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
> > <http://lk.linkedin.com/in/buddhikajay/>
>



-- 
*Buddhika Jayawardhana*
Undergraduate | Department of Computer Science & Engineering
University of Moratuwa
*buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
<http://lk.linkedin.com/in/buddhikajay/>

Re: GSoc 2015 | COUCHDB-1743 Make the view server & protocol faster

Posted by Robert Kowalski <ro...@kowalski.gd>.
Hi Buddhika,

no worries - the preparation for each GSoC project is different for
every student. Some projects need more background knowledge in advance
and have to integrate in other way into the codebase, so don't worry
that other folks are submitting code!

I would suggest to start writing the proposal as far as you can, we
will also give you feedback. The deadline is for submissions is soon.

I tried to write up some tips for writing the two sections you are
worried about:

For the "background" section you can just rely on the informations the
community provides plus the background information you gained from
reading the docs (e.g. the current QueryServer protocol [1], the way
the QueryServer operates today and more general informations, like how
you query CouchDB and how you are writing views) - so no worries!

Regarding the design/description: Jan already gave some suggestions
regarding the steps that are needed. Are there steps missing in
between? How do you measure the success of the project? How do you
plan to work together with Jan & the community? Also describe how you
going to work: are you planning to work iterative, waterfall, using
techniques like test-driven-development, by building a prototype etc?

I hope I could provide some hints!


[1] http://docs.couchdb.org/en/1.6.1/query-server/protocol.html

On Sat, Mar 21, 2015 at 6:58 AM, Buddhika Jayawardhana
<bu...@cse.mrt.ac.lk> wrote:
> Hi Robert,
>
> I I saw some other applicants are submitting pieces of codes. But I am
> still reading the documents Jan and others have sent me.
>
>
>    - I am middle of learnYouSomeErlang book.
>    - I have around 8 chapters to read in Couch-DB "The Definitive Guide".
>    - Lots of documentation.
>    - Most of the source code.
>
>
> I looked at the template that you have sent me and it requires a
> description about the current situation of the project. And design/
> description of the work.
> I do not have any confidence to write those two paragraphs. But I can start
> to write the proposal based on the thinks that Jan have described(Though I
> don't understand all of them). Shall I start that way? or is there any
> other better way.
>
> Waiting for your advices.
>
> On 21 March 2015 at 08:14, Robert Kowalski <ro...@kowalski.gd> wrote:
>
>> Hi Buddhika,
>>
>> the deadline for proposals is getting closer, do you have any
>> questions? Is there anything we can help you with?
>>
>> Jan, the ML and I are happy to help!
>>
>> Best,
>> Robert
>>
>> On Thu, Mar 19, 2015 at 1:57 PM, Buddhika Jayawardhana
>> <bu...@cse.mrt.ac.lk> wrote:
>> > Thanks Alexander. I'll try this out.
>> >
>> > On 19 March 2015 at 16:59, Alexander Shorin <kx...@gmail.com> wrote:
>> >
>> >> Hi Buddhika,
>> >>
>> >> May be some docs could help you:
>> >> http://docs.couchdb.org/en/latest/query-server/protocol.html
>> >>
>> >> The most easiest way to understand it is to play with it.
>> >> Try to enable debug logs for CouchDB (better here stay with 1.x
>> >> series), run view and other functions and see what the communication
>> >> happens between CouchDB and query server.
>> >> Try to run query server from CLI and send it some commands to it and
>> >> notice the responces.
>> >> After that, reading the code would be much more simpler since you'll
>> >> know the idea how it works in general.
>> >>
>> >> --
>> >> ,,,^..^,,,
>> >>
>> >>
>> >> On Thu, Mar 19, 2015 at 2:24 PM, Buddhika Jayawardhana
>> >> <bu...@cse.mrt.ac.lk> wrote:
>> >> > Dear Jan,
>> >> >
>> >> > I tried to read the code you have sent me to understand the current
>> query
>> >> > server protocol(https://github.com/apache/couchdb
>> >> > /blob/master/test/view_server/query_server_spec.rb). But I could not
>> >> > understand anything :( . I'm stuck here. Can you point me out a way to
>> >> > understand the code. (At least a brief explanation).
>> >> >
>> >> > Thanks.
>> >> >
>> >> > On 19 March 2015 at 10:28, Buddhika Jayawardhana <
>> >> buddhika.12@cse.mrt.ac.lk>
>> >> > wrote:
>> >> >
>> >> >> Thanks Robert. This would be really helpful.
>> >> >>
>> >> >> On 19 March 2015 at 03:20, Robert Kowalski <ro...@kowalski.gd> wrote:
>> >> >>
>> >> >>> Some of you asked for a template for their proposals, here is what
>> I've
>> >> >>> found:
>> >> >>>
>> >> >>> http://community.staging.apache.org/gsoc#application-template
>> >> >>>
>> >> >>> Best,
>> >> >>> Robert
>> >> >>>
>> >> >>> On Wed, Mar 18, 2015 at 1:49 PM, Jan Lehnardt <ja...@apache.org>
>> wrote:
>> >> >>> >
>> >> >>> >> On 18 Mar 2015, at 13:35, Buddhika Jayawardhana <
>> >> >>> buddhika.12@cse.mrt.ac.lk> wrote:
>> >> >>> >>
>> >> >>> >> Dear Jan and Robert,
>> >> >>> >>
>> >> >>> >> It seems I have to do a lot to get to the speed. I have to gain a
>> >> lot
>> >> >>> of
>> >> >>> >> theorytical knowladge in
>> >> >>> >>
>> >> >>> >>   - Erlang.
>> >> >>> >>   - Query servers.
>> >> >>> >>   - and about the source.
>> >> >>> >>
>> >> >>> >> But I am so exited to learn new things. Currently I am reading
>> >> >>> >> "learnsomeerlang" and couch db documentation. This is my first
>> >> attemp
>> >> >>> to
>> >> >>> >> get involve with a large scale open source project and I need
>> help
>> >> to
>> >> >>> >> clarify the source code. I hope to meet you guys. Hope to meet
>> you
>> >> >>> guys at
>> >> >>> >> the status meeting.
>> >> >>> >
>> >> >>> > Sounds good, we’re here to help :) (we are not all guys, though)
>> >> >>> >
>> >> >>> > Best
>> >> >>> > Jan
>> >> >>> > --
>> >> >>> >>
>> >> >>> >> Regards.
>> >> >>> >>
>> >> >>> >>
>> >> >>> >> On 18 March 2015 at 03:51, Alexander Shorin <kx...@gmail.com>
>> >> wrote:
>> >> >>> >>
>> >> >>> >>> On Tue, Mar 17, 2015 at 12:28 AM, Jan Lehnardt <ja...@apache.org>
>> >> >>> wrote:
>> >> >>> >>>> Here is how I would start:
>> >> >>> >>>
>> >> >>> >>> I think you'd forgot a point about protocol design itself. It
>> >> requires
>> >> >>> >>> in lot of changes. And there is need to think hardly about is it
>> >> good
>> >> >>> >>> to stay with stdio as a transport if we're going to make it work
>> >> for
>> >> >>> >>> cluster and much parallel as it is now. Just reimplementation of
>> >> what
>> >> >>> >>> we have now is interesting, but not very helpful in mid/long
>> term.
>> >> >>> >>>
>> >> >>> >>> --
>> >> >>> >>> ,,,^..^,,,
>> >> >>> >>>
>> >> >>> >>
>> >> >>> >>
>> >> >>> >>
>> >> >>> >> --
>> >> >>> >> *Buddhika Jayawardhana*
>> >> >>> >> Undergraduate | Department of Computer Science & Engineering
>> >> >>> >> University of Moratuwa
>> >> >>> >> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* |
>> LinkedIn
>> >> >>> >> <http://lk.linkedin.com/in/buddhikajay/>
>> >> >>> >
>> >> >>> > --
>> >> >>> > Professional Support for Apache CouchDB:
>> >> >>> > http://www.neighbourhood.ie/couchdb-support/
>> >> >>> >
>> >> >>>
>> >> >>
>> >> >>
>> >> >>
>> >> >> --
>> >> >> *Buddhika Jayawardhana*
>> >> >> Undergraduate | Department of Computer Science & Engineering
>> >> >> University of Moratuwa
>> >> >> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
>> >> >> <http://lk.linkedin.com/in/buddhikajay/>
>> >> >>
>> >> >
>> >> >
>> >> >
>> >> > --
>> >> > *Buddhika Jayawardhana*
>> >> > Undergraduate | Department of Computer Science & Engineering
>> >> > University of Moratuwa
>> >> > *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
>> >> > <http://lk.linkedin.com/in/buddhikajay/>
>> >>
>> >
>> >
>> >
>> > --
>> > *Buddhika Jayawardhana*
>> > Undergraduate | Department of Computer Science & Engineering
>> > University of Moratuwa
>> > *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
>> > <http://lk.linkedin.com/in/buddhikajay/>
>>
>
>
>
> --
> *Buddhika Jayawardhana*
> Undergraduate | Department of Computer Science & Engineering
> University of Moratuwa
> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
> <http://lk.linkedin.com/in/buddhikajay/>

Re: GSoc 2015 | COUCHDB-1743 Make the view server & protocol faster

Posted by Buddhika Jayawardhana <bu...@cse.mrt.ac.lk>.
Hi Robert,

I I saw some other applicants are submitting pieces of codes. But I am
still reading the documents Jan and others have sent me.


   - I am middle of learnYouSomeErlang book.
   - I have around 8 chapters to read in Couch-DB "The Definitive Guide".
   - Lots of documentation.
   - Most of the source code.


I looked at the template that you have sent me and it requires a
description about the current situation of the project. And design/
description of the work.
I do not have any confidence to write those two paragraphs. But I can start
to write the proposal based on the thinks that Jan have described(Though I
don't understand all of them). Shall I start that way? or is there any
other better way.

Waiting for your advices.

On 21 March 2015 at 08:14, Robert Kowalski <ro...@kowalski.gd> wrote:

> Hi Buddhika,
>
> the deadline for proposals is getting closer, do you have any
> questions? Is there anything we can help you with?
>
> Jan, the ML and I are happy to help!
>
> Best,
> Robert
>
> On Thu, Mar 19, 2015 at 1:57 PM, Buddhika Jayawardhana
> <bu...@cse.mrt.ac.lk> wrote:
> > Thanks Alexander. I'll try this out.
> >
> > On 19 March 2015 at 16:59, Alexander Shorin <kx...@gmail.com> wrote:
> >
> >> Hi Buddhika,
> >>
> >> May be some docs could help you:
> >> http://docs.couchdb.org/en/latest/query-server/protocol.html
> >>
> >> The most easiest way to understand it is to play with it.
> >> Try to enable debug logs for CouchDB (better here stay with 1.x
> >> series), run view and other functions and see what the communication
> >> happens between CouchDB and query server.
> >> Try to run query server from CLI and send it some commands to it and
> >> notice the responces.
> >> After that, reading the code would be much more simpler since you'll
> >> know the idea how it works in general.
> >>
> >> --
> >> ,,,^..^,,,
> >>
> >>
> >> On Thu, Mar 19, 2015 at 2:24 PM, Buddhika Jayawardhana
> >> <bu...@cse.mrt.ac.lk> wrote:
> >> > Dear Jan,
> >> >
> >> > I tried to read the code you have sent me to understand the current
> query
> >> > server protocol(https://github.com/apache/couchdb
> >> > /blob/master/test/view_server/query_server_spec.rb). But I could not
> >> > understand anything :( . I'm stuck here. Can you point me out a way to
> >> > understand the code. (At least a brief explanation).
> >> >
> >> > Thanks.
> >> >
> >> > On 19 March 2015 at 10:28, Buddhika Jayawardhana <
> >> buddhika.12@cse.mrt.ac.lk>
> >> > wrote:
> >> >
> >> >> Thanks Robert. This would be really helpful.
> >> >>
> >> >> On 19 March 2015 at 03:20, Robert Kowalski <ro...@kowalski.gd> wrote:
> >> >>
> >> >>> Some of you asked for a template for their proposals, here is what
> I've
> >> >>> found:
> >> >>>
> >> >>> http://community.staging.apache.org/gsoc#application-template
> >> >>>
> >> >>> Best,
> >> >>> Robert
> >> >>>
> >> >>> On Wed, Mar 18, 2015 at 1:49 PM, Jan Lehnardt <ja...@apache.org>
> wrote:
> >> >>> >
> >> >>> >> On 18 Mar 2015, at 13:35, Buddhika Jayawardhana <
> >> >>> buddhika.12@cse.mrt.ac.lk> wrote:
> >> >>> >>
> >> >>> >> Dear Jan and Robert,
> >> >>> >>
> >> >>> >> It seems I have to do a lot to get to the speed. I have to gain a
> >> lot
> >> >>> of
> >> >>> >> theorytical knowladge in
> >> >>> >>
> >> >>> >>   - Erlang.
> >> >>> >>   - Query servers.
> >> >>> >>   - and about the source.
> >> >>> >>
> >> >>> >> But I am so exited to learn new things. Currently I am reading
> >> >>> >> "learnsomeerlang" and couch db documentation. This is my first
> >> attemp
> >> >>> to
> >> >>> >> get involve with a large scale open source project and I need
> help
> >> to
> >> >>> >> clarify the source code. I hope to meet you guys. Hope to meet
> you
> >> >>> guys at
> >> >>> >> the status meeting.
> >> >>> >
> >> >>> > Sounds good, we’re here to help :) (we are not all guys, though)
> >> >>> >
> >> >>> > Best
> >> >>> > Jan
> >> >>> > --
> >> >>> >>
> >> >>> >> Regards.
> >> >>> >>
> >> >>> >>
> >> >>> >> On 18 March 2015 at 03:51, Alexander Shorin <kx...@gmail.com>
> >> wrote:
> >> >>> >>
> >> >>> >>> On Tue, Mar 17, 2015 at 12:28 AM, Jan Lehnardt <ja...@apache.org>
> >> >>> wrote:
> >> >>> >>>> Here is how I would start:
> >> >>> >>>
> >> >>> >>> I think you'd forgot a point about protocol design itself. It
> >> requires
> >> >>> >>> in lot of changes. And there is need to think hardly about is it
> >> good
> >> >>> >>> to stay with stdio as a transport if we're going to make it work
> >> for
> >> >>> >>> cluster and much parallel as it is now. Just reimplementation of
> >> what
> >> >>> >>> we have now is interesting, but not very helpful in mid/long
> term.
> >> >>> >>>
> >> >>> >>> --
> >> >>> >>> ,,,^..^,,,
> >> >>> >>>
> >> >>> >>
> >> >>> >>
> >> >>> >>
> >> >>> >> --
> >> >>> >> *Buddhika Jayawardhana*
> >> >>> >> Undergraduate | Department of Computer Science & Engineering
> >> >>> >> University of Moratuwa
> >> >>> >> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* |
> LinkedIn
> >> >>> >> <http://lk.linkedin.com/in/buddhikajay/>
> >> >>> >
> >> >>> > --
> >> >>> > Professional Support for Apache CouchDB:
> >> >>> > http://www.neighbourhood.ie/couchdb-support/
> >> >>> >
> >> >>>
> >> >>
> >> >>
> >> >>
> >> >> --
> >> >> *Buddhika Jayawardhana*
> >> >> Undergraduate | Department of Computer Science & Engineering
> >> >> University of Moratuwa
> >> >> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
> >> >> <http://lk.linkedin.com/in/buddhikajay/>
> >> >>
> >> >
> >> >
> >> >
> >> > --
> >> > *Buddhika Jayawardhana*
> >> > Undergraduate | Department of Computer Science & Engineering
> >> > University of Moratuwa
> >> > *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
> >> > <http://lk.linkedin.com/in/buddhikajay/>
> >>
> >
> >
> >
> > --
> > *Buddhika Jayawardhana*
> > Undergraduate | Department of Computer Science & Engineering
> > University of Moratuwa
> > *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
> > <http://lk.linkedin.com/in/buddhikajay/>
>



-- 
*Buddhika Jayawardhana*
Undergraduate | Department of Computer Science & Engineering
University of Moratuwa
*buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
<http://lk.linkedin.com/in/buddhikajay/>

Re: GSoc 2015 | COUCHDB-1743 Make the view server & protocol faster

Posted by Robert Kowalski <ro...@kowalski.gd>.
Hi Buddhika,

the deadline for proposals is getting closer, do you have any
questions? Is there anything we can help you with?

Jan, the ML and I are happy to help!

Best,
Robert

On Thu, Mar 19, 2015 at 1:57 PM, Buddhika Jayawardhana
<bu...@cse.mrt.ac.lk> wrote:
> Thanks Alexander. I'll try this out.
>
> On 19 March 2015 at 16:59, Alexander Shorin <kx...@gmail.com> wrote:
>
>> Hi Buddhika,
>>
>> May be some docs could help you:
>> http://docs.couchdb.org/en/latest/query-server/protocol.html
>>
>> The most easiest way to understand it is to play with it.
>> Try to enable debug logs for CouchDB (better here stay with 1.x
>> series), run view and other functions and see what the communication
>> happens between CouchDB and query server.
>> Try to run query server from CLI and send it some commands to it and
>> notice the responces.
>> After that, reading the code would be much more simpler since you'll
>> know the idea how it works in general.
>>
>> --
>> ,,,^..^,,,
>>
>>
>> On Thu, Mar 19, 2015 at 2:24 PM, Buddhika Jayawardhana
>> <bu...@cse.mrt.ac.lk> wrote:
>> > Dear Jan,
>> >
>> > I tried to read the code you have sent me to understand the current query
>> > server protocol(https://github.com/apache/couchdb
>> > /blob/master/test/view_server/query_server_spec.rb). But I could not
>> > understand anything :( . I'm stuck here. Can you point me out a way to
>> > understand the code. (At least a brief explanation).
>> >
>> > Thanks.
>> >
>> > On 19 March 2015 at 10:28, Buddhika Jayawardhana <
>> buddhika.12@cse.mrt.ac.lk>
>> > wrote:
>> >
>> >> Thanks Robert. This would be really helpful.
>> >>
>> >> On 19 March 2015 at 03:20, Robert Kowalski <ro...@kowalski.gd> wrote:
>> >>
>> >>> Some of you asked for a template for their proposals, here is what I've
>> >>> found:
>> >>>
>> >>> http://community.staging.apache.org/gsoc#application-template
>> >>>
>> >>> Best,
>> >>> Robert
>> >>>
>> >>> On Wed, Mar 18, 2015 at 1:49 PM, Jan Lehnardt <ja...@apache.org> wrote:
>> >>> >
>> >>> >> On 18 Mar 2015, at 13:35, Buddhika Jayawardhana <
>> >>> buddhika.12@cse.mrt.ac.lk> wrote:
>> >>> >>
>> >>> >> Dear Jan and Robert,
>> >>> >>
>> >>> >> It seems I have to do a lot to get to the speed. I have to gain a
>> lot
>> >>> of
>> >>> >> theorytical knowladge in
>> >>> >>
>> >>> >>   - Erlang.
>> >>> >>   - Query servers.
>> >>> >>   - and about the source.
>> >>> >>
>> >>> >> But I am so exited to learn new things. Currently I am reading
>> >>> >> "learnsomeerlang" and couch db documentation. This is my first
>> attemp
>> >>> to
>> >>> >> get involve with a large scale open source project and I need help
>> to
>> >>> >> clarify the source code. I hope to meet you guys. Hope to meet you
>> >>> guys at
>> >>> >> the status meeting.
>> >>> >
>> >>> > Sounds good, we’re here to help :) (we are not all guys, though)
>> >>> >
>> >>> > Best
>> >>> > Jan
>> >>> > --
>> >>> >>
>> >>> >> Regards.
>> >>> >>
>> >>> >>
>> >>> >> On 18 March 2015 at 03:51, Alexander Shorin <kx...@gmail.com>
>> wrote:
>> >>> >>
>> >>> >>> On Tue, Mar 17, 2015 at 12:28 AM, Jan Lehnardt <ja...@apache.org>
>> >>> wrote:
>> >>> >>>> Here is how I would start:
>> >>> >>>
>> >>> >>> I think you'd forgot a point about protocol design itself. It
>> requires
>> >>> >>> in lot of changes. And there is need to think hardly about is it
>> good
>> >>> >>> to stay with stdio as a transport if we're going to make it work
>> for
>> >>> >>> cluster and much parallel as it is now. Just reimplementation of
>> what
>> >>> >>> we have now is interesting, but not very helpful in mid/long term.
>> >>> >>>
>> >>> >>> --
>> >>> >>> ,,,^..^,,,
>> >>> >>>
>> >>> >>
>> >>> >>
>> >>> >>
>> >>> >> --
>> >>> >> *Buddhika Jayawardhana*
>> >>> >> Undergraduate | Department of Computer Science & Engineering
>> >>> >> University of Moratuwa
>> >>> >> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
>> >>> >> <http://lk.linkedin.com/in/buddhikajay/>
>> >>> >
>> >>> > --
>> >>> > Professional Support for Apache CouchDB:
>> >>> > http://www.neighbourhood.ie/couchdb-support/
>> >>> >
>> >>>
>> >>
>> >>
>> >>
>> >> --
>> >> *Buddhika Jayawardhana*
>> >> Undergraduate | Department of Computer Science & Engineering
>> >> University of Moratuwa
>> >> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
>> >> <http://lk.linkedin.com/in/buddhikajay/>
>> >>
>> >
>> >
>> >
>> > --
>> > *Buddhika Jayawardhana*
>> > Undergraduate | Department of Computer Science & Engineering
>> > University of Moratuwa
>> > *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
>> > <http://lk.linkedin.com/in/buddhikajay/>
>>
>
>
>
> --
> *Buddhika Jayawardhana*
> Undergraduate | Department of Computer Science & Engineering
> University of Moratuwa
> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
> <http://lk.linkedin.com/in/buddhikajay/>

Re: GSoc 2015 | COUCHDB-1743 Make the view server & protocol faster

Posted by Buddhika Jayawardhana <bu...@cse.mrt.ac.lk>.
Thanks Alexander. I'll try this out.

On 19 March 2015 at 16:59, Alexander Shorin <kx...@gmail.com> wrote:

> Hi Buddhika,
>
> May be some docs could help you:
> http://docs.couchdb.org/en/latest/query-server/protocol.html
>
> The most easiest way to understand it is to play with it.
> Try to enable debug logs for CouchDB (better here stay with 1.x
> series), run view and other functions and see what the communication
> happens between CouchDB and query server.
> Try to run query server from CLI and send it some commands to it and
> notice the responces.
> After that, reading the code would be much more simpler since you'll
> know the idea how it works in general.
>
> --
> ,,,^..^,,,
>
>
> On Thu, Mar 19, 2015 at 2:24 PM, Buddhika Jayawardhana
> <bu...@cse.mrt.ac.lk> wrote:
> > Dear Jan,
> >
> > I tried to read the code you have sent me to understand the current query
> > server protocol(https://github.com/apache/couchdb
> > /blob/master/test/view_server/query_server_spec.rb). But I could not
> > understand anything :( . I'm stuck here. Can you point me out a way to
> > understand the code. (At least a brief explanation).
> >
> > Thanks.
> >
> > On 19 March 2015 at 10:28, Buddhika Jayawardhana <
> buddhika.12@cse.mrt.ac.lk>
> > wrote:
> >
> >> Thanks Robert. This would be really helpful.
> >>
> >> On 19 March 2015 at 03:20, Robert Kowalski <ro...@kowalski.gd> wrote:
> >>
> >>> Some of you asked for a template for their proposals, here is what I've
> >>> found:
> >>>
> >>> http://community.staging.apache.org/gsoc#application-template
> >>>
> >>> Best,
> >>> Robert
> >>>
> >>> On Wed, Mar 18, 2015 at 1:49 PM, Jan Lehnardt <ja...@apache.org> wrote:
> >>> >
> >>> >> On 18 Mar 2015, at 13:35, Buddhika Jayawardhana <
> >>> buddhika.12@cse.mrt.ac.lk> wrote:
> >>> >>
> >>> >> Dear Jan and Robert,
> >>> >>
> >>> >> It seems I have to do a lot to get to the speed. I have to gain a
> lot
> >>> of
> >>> >> theorytical knowladge in
> >>> >>
> >>> >>   - Erlang.
> >>> >>   - Query servers.
> >>> >>   - and about the source.
> >>> >>
> >>> >> But I am so exited to learn new things. Currently I am reading
> >>> >> "learnsomeerlang" and couch db documentation. This is my first
> attemp
> >>> to
> >>> >> get involve with a large scale open source project and I need help
> to
> >>> >> clarify the source code. I hope to meet you guys. Hope to meet you
> >>> guys at
> >>> >> the status meeting.
> >>> >
> >>> > Sounds good, we’re here to help :) (we are not all guys, though)
> >>> >
> >>> > Best
> >>> > Jan
> >>> > --
> >>> >>
> >>> >> Regards.
> >>> >>
> >>> >>
> >>> >> On 18 March 2015 at 03:51, Alexander Shorin <kx...@gmail.com>
> wrote:
> >>> >>
> >>> >>> On Tue, Mar 17, 2015 at 12:28 AM, Jan Lehnardt <ja...@apache.org>
> >>> wrote:
> >>> >>>> Here is how I would start:
> >>> >>>
> >>> >>> I think you'd forgot a point about protocol design itself. It
> requires
> >>> >>> in lot of changes. And there is need to think hardly about is it
> good
> >>> >>> to stay with stdio as a transport if we're going to make it work
> for
> >>> >>> cluster and much parallel as it is now. Just reimplementation of
> what
> >>> >>> we have now is interesting, but not very helpful in mid/long term.
> >>> >>>
> >>> >>> --
> >>> >>> ,,,^..^,,,
> >>> >>>
> >>> >>
> >>> >>
> >>> >>
> >>> >> --
> >>> >> *Buddhika Jayawardhana*
> >>> >> Undergraduate | Department of Computer Science & Engineering
> >>> >> University of Moratuwa
> >>> >> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
> >>> >> <http://lk.linkedin.com/in/buddhikajay/>
> >>> >
> >>> > --
> >>> > Professional Support for Apache CouchDB:
> >>> > http://www.neighbourhood.ie/couchdb-support/
> >>> >
> >>>
> >>
> >>
> >>
> >> --
> >> *Buddhika Jayawardhana*
> >> Undergraduate | Department of Computer Science & Engineering
> >> University of Moratuwa
> >> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
> >> <http://lk.linkedin.com/in/buddhikajay/>
> >>
> >
> >
> >
> > --
> > *Buddhika Jayawardhana*
> > Undergraduate | Department of Computer Science & Engineering
> > University of Moratuwa
> > *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
> > <http://lk.linkedin.com/in/buddhikajay/>
>



-- 
*Buddhika Jayawardhana*
Undergraduate | Department of Computer Science & Engineering
University of Moratuwa
*buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
<http://lk.linkedin.com/in/buddhikajay/>

Re: GSoc 2015 | COUCHDB-1743 Make the view server & protocol faster

Posted by Alexander Shorin <kx...@gmail.com>.
Hi Buddhika,

May be some docs could help you:
http://docs.couchdb.org/en/latest/query-server/protocol.html

The most easiest way to understand it is to play with it.
Try to enable debug logs for CouchDB (better here stay with 1.x
series), run view and other functions and see what the communication
happens between CouchDB and query server.
Try to run query server from CLI and send it some commands to it and
notice the responces.
After that, reading the code would be much more simpler since you'll
know the idea how it works in general.

--
,,,^..^,,,


On Thu, Mar 19, 2015 at 2:24 PM, Buddhika Jayawardhana
<bu...@cse.mrt.ac.lk> wrote:
> Dear Jan,
>
> I tried to read the code you have sent me to understand the current query
> server protocol(https://github.com/apache/couchdb
> /blob/master/test/view_server/query_server_spec.rb). But I could not
> understand anything :( . I'm stuck here. Can you point me out a way to
> understand the code. (At least a brief explanation).
>
> Thanks.
>
> On 19 March 2015 at 10:28, Buddhika Jayawardhana <bu...@cse.mrt.ac.lk>
> wrote:
>
>> Thanks Robert. This would be really helpful.
>>
>> On 19 March 2015 at 03:20, Robert Kowalski <ro...@kowalski.gd> wrote:
>>
>>> Some of you asked for a template for their proposals, here is what I've
>>> found:
>>>
>>> http://community.staging.apache.org/gsoc#application-template
>>>
>>> Best,
>>> Robert
>>>
>>> On Wed, Mar 18, 2015 at 1:49 PM, Jan Lehnardt <ja...@apache.org> wrote:
>>> >
>>> >> On 18 Mar 2015, at 13:35, Buddhika Jayawardhana <
>>> buddhika.12@cse.mrt.ac.lk> wrote:
>>> >>
>>> >> Dear Jan and Robert,
>>> >>
>>> >> It seems I have to do a lot to get to the speed. I have to gain a lot
>>> of
>>> >> theorytical knowladge in
>>> >>
>>> >>   - Erlang.
>>> >>   - Query servers.
>>> >>   - and about the source.
>>> >>
>>> >> But I am so exited to learn new things. Currently I am reading
>>> >> "learnsomeerlang" and couch db documentation. This is my first attemp
>>> to
>>> >> get involve with a large scale open source project and I need help to
>>> >> clarify the source code. I hope to meet you guys. Hope to meet you
>>> guys at
>>> >> the status meeting.
>>> >
>>> > Sounds good, we’re here to help :) (we are not all guys, though)
>>> >
>>> > Best
>>> > Jan
>>> > --
>>> >>
>>> >> Regards.
>>> >>
>>> >>
>>> >> On 18 March 2015 at 03:51, Alexander Shorin <kx...@gmail.com> wrote:
>>> >>
>>> >>> On Tue, Mar 17, 2015 at 12:28 AM, Jan Lehnardt <ja...@apache.org>
>>> wrote:
>>> >>>> Here is how I would start:
>>> >>>
>>> >>> I think you'd forgot a point about protocol design itself. It requires
>>> >>> in lot of changes. And there is need to think hardly about is it good
>>> >>> to stay with stdio as a transport if we're going to make it work for
>>> >>> cluster and much parallel as it is now. Just reimplementation of what
>>> >>> we have now is interesting, but not very helpful in mid/long term.
>>> >>>
>>> >>> --
>>> >>> ,,,^..^,,,
>>> >>>
>>> >>
>>> >>
>>> >>
>>> >> --
>>> >> *Buddhika Jayawardhana*
>>> >> Undergraduate | Department of Computer Science & Engineering
>>> >> University of Moratuwa
>>> >> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
>>> >> <http://lk.linkedin.com/in/buddhikajay/>
>>> >
>>> > --
>>> > Professional Support for Apache CouchDB:
>>> > http://www.neighbourhood.ie/couchdb-support/
>>> >
>>>
>>
>>
>>
>> --
>> *Buddhika Jayawardhana*
>> Undergraduate | Department of Computer Science & Engineering
>> University of Moratuwa
>> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
>> <http://lk.linkedin.com/in/buddhikajay/>
>>
>
>
>
> --
> *Buddhika Jayawardhana*
> Undergraduate | Department of Computer Science & Engineering
> University of Moratuwa
> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
> <http://lk.linkedin.com/in/buddhikajay/>

Re: GSoc 2015 | COUCHDB-1743 Make the view server & protocol faster

Posted by Buddhika Jayawardhana <bu...@cse.mrt.ac.lk>.
Dear Jan,

I tried to read the code you have sent me to understand the current query
server protocol(https://github.com/apache/couchdb
/blob/master/test/view_server/query_server_spec.rb). But I could not
understand anything :( . I'm stuck here. Can you point me out a way to
understand the code. (At least a brief explanation).

Thanks.

On 19 March 2015 at 10:28, Buddhika Jayawardhana <bu...@cse.mrt.ac.lk>
wrote:

> Thanks Robert. This would be really helpful.
>
> On 19 March 2015 at 03:20, Robert Kowalski <ro...@kowalski.gd> wrote:
>
>> Some of you asked for a template for their proposals, here is what I've
>> found:
>>
>> http://community.staging.apache.org/gsoc#application-template
>>
>> Best,
>> Robert
>>
>> On Wed, Mar 18, 2015 at 1:49 PM, Jan Lehnardt <ja...@apache.org> wrote:
>> >
>> >> On 18 Mar 2015, at 13:35, Buddhika Jayawardhana <
>> buddhika.12@cse.mrt.ac.lk> wrote:
>> >>
>> >> Dear Jan and Robert,
>> >>
>> >> It seems I have to do a lot to get to the speed. I have to gain a lot
>> of
>> >> theorytical knowladge in
>> >>
>> >>   - Erlang.
>> >>   - Query servers.
>> >>   - and about the source.
>> >>
>> >> But I am so exited to learn new things. Currently I am reading
>> >> "learnsomeerlang" and couch db documentation. This is my first attemp
>> to
>> >> get involve with a large scale open source project and I need help to
>> >> clarify the source code. I hope to meet you guys. Hope to meet you
>> guys at
>> >> the status meeting.
>> >
>> > Sounds good, we’re here to help :) (we are not all guys, though)
>> >
>> > Best
>> > Jan
>> > --
>> >>
>> >> Regards.
>> >>
>> >>
>> >> On 18 March 2015 at 03:51, Alexander Shorin <kx...@gmail.com> wrote:
>> >>
>> >>> On Tue, Mar 17, 2015 at 12:28 AM, Jan Lehnardt <ja...@apache.org>
>> wrote:
>> >>>> Here is how I would start:
>> >>>
>> >>> I think you'd forgot a point about protocol design itself. It requires
>> >>> in lot of changes. And there is need to think hardly about is it good
>> >>> to stay with stdio as a transport if we're going to make it work for
>> >>> cluster and much parallel as it is now. Just reimplementation of what
>> >>> we have now is interesting, but not very helpful in mid/long term.
>> >>>
>> >>> --
>> >>> ,,,^..^,,,
>> >>>
>> >>
>> >>
>> >>
>> >> --
>> >> *Buddhika Jayawardhana*
>> >> Undergraduate | Department of Computer Science & Engineering
>> >> University of Moratuwa
>> >> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
>> >> <http://lk.linkedin.com/in/buddhikajay/>
>> >
>> > --
>> > Professional Support for Apache CouchDB:
>> > http://www.neighbourhood.ie/couchdb-support/
>> >
>>
>
>
>
> --
> *Buddhika Jayawardhana*
> Undergraduate | Department of Computer Science & Engineering
> University of Moratuwa
> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
> <http://lk.linkedin.com/in/buddhikajay/>
>



-- 
*Buddhika Jayawardhana*
Undergraduate | Department of Computer Science & Engineering
University of Moratuwa
*buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
<http://lk.linkedin.com/in/buddhikajay/>

Re: GSoc 2015 | COUCHDB-1743 Make the view server & protocol faster

Posted by Buddhika Jayawardhana <bu...@cse.mrt.ac.lk>.
Thanks Robert. This would be really helpful.

On 19 March 2015 at 03:20, Robert Kowalski <ro...@kowalski.gd> wrote:

> Some of you asked for a template for their proposals, here is what I've
> found:
>
> http://community.staging.apache.org/gsoc#application-template
>
> Best,
> Robert
>
> On Wed, Mar 18, 2015 at 1:49 PM, Jan Lehnardt <ja...@apache.org> wrote:
> >
> >> On 18 Mar 2015, at 13:35, Buddhika Jayawardhana <
> buddhika.12@cse.mrt.ac.lk> wrote:
> >>
> >> Dear Jan and Robert,
> >>
> >> It seems I have to do a lot to get to the speed. I have to gain a lot of
> >> theorytical knowladge in
> >>
> >>   - Erlang.
> >>   - Query servers.
> >>   - and about the source.
> >>
> >> But I am so exited to learn new things. Currently I am reading
> >> "learnsomeerlang" and couch db documentation. This is my first attemp to
> >> get involve with a large scale open source project and I need help to
> >> clarify the source code. I hope to meet you guys. Hope to meet you guys
> at
> >> the status meeting.
> >
> > Sounds good, we’re here to help :) (we are not all guys, though)
> >
> > Best
> > Jan
> > --
> >>
> >> Regards.
> >>
> >>
> >> On 18 March 2015 at 03:51, Alexander Shorin <kx...@gmail.com> wrote:
> >>
> >>> On Tue, Mar 17, 2015 at 12:28 AM, Jan Lehnardt <ja...@apache.org> wrote:
> >>>> Here is how I would start:
> >>>
> >>> I think you'd forgot a point about protocol design itself. It requires
> >>> in lot of changes. And there is need to think hardly about is it good
> >>> to stay with stdio as a transport if we're going to make it work for
> >>> cluster and much parallel as it is now. Just reimplementation of what
> >>> we have now is interesting, but not very helpful in mid/long term.
> >>>
> >>> --
> >>> ,,,^..^,,,
> >>>
> >>
> >>
> >>
> >> --
> >> *Buddhika Jayawardhana*
> >> Undergraduate | Department of Computer Science & Engineering
> >> University of Moratuwa
> >> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
> >> <http://lk.linkedin.com/in/buddhikajay/>
> >
> > --
> > Professional Support for Apache CouchDB:
> > http://www.neighbourhood.ie/couchdb-support/
> >
>



-- 
*Buddhika Jayawardhana*
Undergraduate | Department of Computer Science & Engineering
University of Moratuwa
*buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
<http://lk.linkedin.com/in/buddhikajay/>

Re: GSoc 2015 | COUCHDB-1743 Make the view server & protocol faster

Posted by Robert Kowalski <ro...@kowalski.gd>.
Some of you asked for a template for their proposals, here is what I've found:

http://community.staging.apache.org/gsoc#application-template

Best,
Robert

On Wed, Mar 18, 2015 at 1:49 PM, Jan Lehnardt <ja...@apache.org> wrote:
>
>> On 18 Mar 2015, at 13:35, Buddhika Jayawardhana <bu...@cse.mrt.ac.lk> wrote:
>>
>> Dear Jan and Robert,
>>
>> It seems I have to do a lot to get to the speed. I have to gain a lot of
>> theorytical knowladge in
>>
>>   - Erlang.
>>   - Query servers.
>>   - and about the source.
>>
>> But I am so exited to learn new things. Currently I am reading
>> "learnsomeerlang" and couch db documentation. This is my first attemp to
>> get involve with a large scale open source project and I need help to
>> clarify the source code. I hope to meet you guys. Hope to meet you guys at
>> the status meeting.
>
> Sounds good, we’re here to help :) (we are not all guys, though)
>
> Best
> Jan
> --
>>
>> Regards.
>>
>>
>> On 18 March 2015 at 03:51, Alexander Shorin <kx...@gmail.com> wrote:
>>
>>> On Tue, Mar 17, 2015 at 12:28 AM, Jan Lehnardt <ja...@apache.org> wrote:
>>>> Here is how I would start:
>>>
>>> I think you'd forgot a point about protocol design itself. It requires
>>> in lot of changes. And there is need to think hardly about is it good
>>> to stay with stdio as a transport if we're going to make it work for
>>> cluster and much parallel as it is now. Just reimplementation of what
>>> we have now is interesting, but not very helpful in mid/long term.
>>>
>>> --
>>> ,,,^..^,,,
>>>
>>
>>
>>
>> --
>> *Buddhika Jayawardhana*
>> Undergraduate | Department of Computer Science & Engineering
>> University of Moratuwa
>> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
>> <http://lk.linkedin.com/in/buddhikajay/>
>
> --
> Professional Support for Apache CouchDB:
> http://www.neighbourhood.ie/couchdb-support/
>

Re: GSoc 2015 | COUCHDB-1743 Make the view server & protocol faster

Posted by Jan Lehnardt <ja...@apache.org>.
> On 18 Mar 2015, at 13:35, Buddhika Jayawardhana <bu...@cse.mrt.ac.lk> wrote:
> 
> Dear Jan and Robert,
> 
> It seems I have to do a lot to get to the speed. I have to gain a lot of
> theorytical knowladge in
> 
>   - Erlang.
>   - Query servers.
>   - and about the source.
> 
> But I am so exited to learn new things. Currently I am reading
> "learnsomeerlang" and couch db documentation. This is my first attemp to
> get involve with a large scale open source project and I need help to
> clarify the source code. I hope to meet you guys. Hope to meet you guys at
> the status meeting.

Sounds good, we’re here to help :) (we are not all guys, though)

Best
Jan
--
> 
> Regards.
> 
> 
> On 18 March 2015 at 03:51, Alexander Shorin <kx...@gmail.com> wrote:
> 
>> On Tue, Mar 17, 2015 at 12:28 AM, Jan Lehnardt <ja...@apache.org> wrote:
>>> Here is how I would start:
>> 
>> I think you'd forgot a point about protocol design itself. It requires
>> in lot of changes. And there is need to think hardly about is it good
>> to stay with stdio as a transport if we're going to make it work for
>> cluster and much parallel as it is now. Just reimplementation of what
>> we have now is interesting, but not very helpful in mid/long term.
>> 
>> --
>> ,,,^..^,,,
>> 
> 
> 
> 
> --
> *Buddhika Jayawardhana*
> Undergraduate | Department of Computer Science & Engineering
> University of Moratuwa
> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
> <http://lk.linkedin.com/in/buddhikajay/>

--
Professional Support for Apache CouchDB:
http://www.neighbourhood.ie/couchdb-support/


Re: GSoc 2015 | COUCHDB-1743 Make the view server & protocol faster

Posted by Buddhika Jayawardhana <bu...@cse.mrt.ac.lk>.
Dear Jan and Robert,

It seems I have to do a lot to get to the speed. I have to gain a lot of
theorytical knowladge in

   - Erlang.
   - Query servers.
   - and about the source.

But I am so exited to learn new things. Currently I am reading
"learnsomeerlang" and couch db documentation. This is my first attemp to
get involve with a large scale open source project and I need help to
clarify the source code. I hope to meet you guys. Hope to meet you guys at
the status meeting.

Regards.


On 18 March 2015 at 03:51, Alexander Shorin <kx...@gmail.com> wrote:

> On Tue, Mar 17, 2015 at 12:28 AM, Jan Lehnardt <ja...@apache.org> wrote:
> > Here is how I would start:
>
> I think you'd forgot a point about protocol design itself. It requires
> in lot of changes. And there is need to think hardly about is it good
> to stay with stdio as a transport if we're going to make it work for
> cluster and much parallel as it is now. Just reimplementation of what
> we have now is interesting, but not very helpful in mid/long term.
>
> --
> ,,,^..^,,,
>



-- 
*Buddhika Jayawardhana*
Undergraduate | Department of Computer Science & Engineering
University of Moratuwa
*buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
<http://lk.linkedin.com/in/buddhikajay/>

Re: GSoc 2015 | COUCHDB-1743 Make the view server & protocol faster

Posted by Alexander Shorin <kx...@gmail.com>.
On Tue, Mar 17, 2015 at 12:28 AM, Jan Lehnardt <ja...@apache.org> wrote:
> Here is how I would start:

I think you'd forgot a point about protocol design itself. It requires
in lot of changes. And there is need to think hardly about is it good
to stay with stdio as a transport if we're going to make it work for
cluster and much parallel as it is now. Just reimplementation of what
we have now is interesting, but not very helpful in mid/long term.

--
,,,^..^,,,

Re: GSoc 2015 | COUCHDB-1743 Make the view server & protocol faster

Posted by Jan Lehnardt <ja...@apache.org>.
Dear Buddhika,

thank you for your interest in CouchDB and the CouchDB View Server!

This is an area where you can make significant contributions to CouchDB.

It is also a little bit involved, but you seem to have all the skills
required to pull this off :)

I’m happy to mentor you.
> On 16 Mar 2015, at 10:03, Buddhika Jayawardhana <bu...@gmail.com> wrote:
> 
> Hi,
> I am an Undergraduate of Department of Computer Science and Engineering
> University of Moratuwa. I have been subscribed to couchdb mailing list
> since months and I have been trying to learn some Erlang to work with
> couchdb. I noticed project  "COUCHDB-1743 Make the view server & protocol
> faster" is related to GSoC. I am willing to submit a project proposal for
> this project.
> 
> I have theoretical knowledge in software process, design patterns, and
> other Engineering concepts. I've been using 'java', 'C++' for high-level
> programming and 'C', a little bit of assembly for low-level programming and
> PHP and JavaScript  for web development. Also I have sound knowledge  on
> Erlang. I would be much thankful if you can guide to get familiar with the
> project as soon as possible.
> 
> Here are the problems in my mind
> 
>   - Are the other programming languages that I should get familiar with?

Erlang and JavaScript will do, some knowledge of C to understand the
current system will help.


>   - What are the technologies I should get familiar with?

General knowledge of Unix/POSIX fundamentals (processes, fds, stdio etc.)
will be required. Windows equivalent APIs too (but not strictly a
requirement just yet).


>   - I can work 40 hours per week for the project. Would that be enough to
>   successfully complete the project?

I can’t estimate whether you’d be able to complete this 100%, but I’m sure
that this enough time to make a significant contribution, that the 
community then can take and finish up, should you not get to the end. E.g.
don’t worry too much about this :)


>   - What are the other resources that I should read before submitting the
>   proposal?

Familiarity with the CouchDB source can’t hurt. More in-depth knowledge of
Erlang as well, http://learnyousomeerlang.com is a great free resource and
the main Erlang docs are worth a read, as well. As are the various print
books that are available from various publishers.

It will definitely also help to read through the CouchDB Guide: http://guide.couchdb.org

Although some parts have already been integrated into http://docs.couchdb.org,
which you should also read, especially the bits about Design Documents, Views
and List, Show, Validation, Filter and Update functions.

In addition, check out the query_server_spec, it codifies the current query
server protocol:

https://github.com/apache/couchdb/blob/master/test/view_server/query_server_spec.rb


> Hope you will guide me through the project.

Again, thanks for taking an interest in this! :)

To get things rolling, here’s my rough idea for how this could play out:

Generally, there are three components, the Erlang and the JavaScript part
and the JavaScript runtime or couchjs.

We call all these things Query Server or View Server.

The Erlang part lives in https://github.com/apache/couchdb-couch-mrview

The JavaScript part lives in https://github.com/apache/couchdb/tree/master/share/server

The current JavaScript runtime is Spidermonkey. We have our own C-wrapper
around Spidermonkey, to make it a CLI tool that talks stdio:

  https://github.com/apache/couchdb-couch/tree/master/priv/couch_js


We’d generally like to move away from the custom C-wrapped Spidermonkey and
have V8 be the execution engine. We also like to get away from having to
maintain C/C++. It’d probably be simplest to use Node.js as a wrapper,
because then many more people can contribute to this. Also, Node.js is good
at streaming protocols, so it is a natural fit.


Here is how I would start:

1. Create a new Query Server that *only* handles Show, List, Filter, Validation
   and Update functions as that is a lot simpler on both the Erlang and
   JavaScript side.

2. As part of 1: Design a new Query Server protocol that works in a streaming
   fashion. The current one is request/response based and both sides are waiting
   for one another while one of them is doing actual work. It’d be nice if both
   could just keep working on whatever they need to do.

3. Once 1. and 2. are in place and working correctly, expand the new Query Server
   to also handle Views. At this point, adding view support should not be too
   complicated anymore.


Things to watch out for:

- map/reduce functions for CouchDB views need to be “pure”, e.g. we need to guarantee
  they stay the same unless CouchDB can see any changes (and then invalidate the view
  index). This means we need some extra isolation of the JS execution. And some
  limitation or observation of the require() system.

  There is a project that demonstrated we can do this. Jason Smith has run this,
  but I can’t seem to find it on his GitHub. Jason, do you have any pointers?

- A couchjs process can be used for multiple databases and different access control can
  be configured per database. Data MUST NOT leak between databases. E.g. Errors that
  are thrown when requesting a view result on database A must not show any process state
  data that comes from database B (and vice versa).

- The current system works much like CGI. A single process can handle one concurrent
  request, if there are two concurrent requests, a new process is spawned. The new
  Query Server should be able to handle multiple concurrent requests. But there will
  be a time when a single process is saturated, at that point, we should be able to
  spawn more Query Servers to help with the load. — In the 1./2./3. list above, I’d
  either solve this upfront, or after 3., depending on what you are more comfortable
  with. It might be easier to get started without this, but it might be harder to add
  later and easier overall to have thought this through upfront.

- Windows stdio can be troublesome, beware :)

- Windows process handling can also be troublesome, that’s why we are using
  https://github.com/apache/couchdb-couch/tree/master/priv/spawnkillable to kill/reap
  couchjs process there. Not sure we still need this when we use Node.js, but worth
  checking out.

- I’ve had a bit time last year to experiment with streaming Erlang/Node.js communication.
  It worked fine, but I didn’t get very far (the JavaScript part just echos commands
  back to Erlang). The projects could help as inspiration:

  https://github.com/janl/couch_query_server2
  https://github.com/janl/node-couch-query-server2 key code is in src/couch_query_server2_sup.erl

  It uses the Erlang pid as a stream marker so we can interleave requests.

  Please excuse the lack of a README or other instructions!


This is all I have for now. Other folks may want to chime in with their opinions :)

If you have any more questions, let me know. If you want to take this into JIRA, let’s
open a new ticket.

Best
Jan
-- 



> Thank You.
> 
> -- 
> *Buddhika Jayawardhana*
> Undergraduate | Department of Computer Science & Engineering
> University of Moratuwa
> *buddhika.12@cse.mrt.ac.lk <bu...@cse.mrt.ac.lk>* | LinkedIn
> <http://lk.linkedin.com/in/buddhikajay/>

-- 
Professional Support for Apache CouchDB:
http://www.neighbourhood.ie/couchdb-support/