On 12/19/13, 9:57 AM, Vivek Pathak wrote:

On 12/18/2013 11:36 AM, Benjamin Young wrote:
Hey Vivek,

Thanks for open sourcing your code!
You are welcome. Please invite me to couchapp, and I will help as per my capability.

No need for an invitation. Just fork and send Pull Requests. :)

My vote/suggestion is to get the "requirements and interface" of couchapp (tools) improved/tuned with a broader perspective in mind.

Yeah, defining what's actually needed in this space would be a good first step. Mostly, we all solve the problem in front of us--which, while "innovative" doesn't really help the group move forward as you then have to pick from a wide range of incompatible, though innovative, things.

Having some baseline that we all commonly support helps us build up from there--and we can keep moving the baseline up as well!

Projects like Mustache and Markdown seem to do this well. There's a common, shared spec, and people build up from that. Eventually (at least in the case of Mustache) those innovations/improvements make it back into the core, or are readily available as "pragmas" (in Mustache speak).

That's my hope here, anyway. :) Innovation that raises tides and consequently all the boats. :)


For example if you write significantly complex map functions which use several "requires" includes, you want to be able to trace history of changes via version control - and also be able to profile the code and improve its performance (js is sensitive to how you write the code, same computation expressed different ways can have big difference in performance). Some people felt bad last time I expressed the same (and sorry for that) - but its just that couchapp did not satisfy my (reasonable) needs properly, and hence I had to develop the tools which are now refactored and shared with you as casters https://github.com/vivekpathak/casters

The other issue is whether the tools should work on a design document level/database level/or server level. I chose the first to ensure strict compliance with the change detection model in couchdb views - but this is a technical and usage issue which could benefit from discussion...




I'd love to see if we can collaborate. Benoit passed the baton for `couchapp` on to me a few weeks back, and I'm working to dust it off a bit, and get a path in place for it's future. It'd be great if we could collaborate and work toward lots of little reusable pieces with a nice command line interface for building, testing, and publishing CouchApps.

Also, anyone else interested in helping out and moving things forward, please join in here and on Github:
http://github.com/couchapp/couchapp

Let me know your thoughts!
Benjamin

On 12/14/13, 5:28 AM, Vivek Pathak wrote:
Hi

I had some couchdb projects (since ~ 2007) which had significant computation within views/lists etc. I had read about couchapp - which although is totally great - did not serve my purpose satisfactorily (reasons/details below).

Hence I had developed various scripts which were project specific. Finally I extracted the code into a standalone program which has the following main points:

 * Code on file system matches exactly code in couchdb (helps version
   control and programming - see next)
 * Able to create and run test cases (automatically w/o code change)
   for view map/reduce functions
 * Be able to run the these test cases manually through debugger (eg:
   rhino) using a harness
 * Be able to instrument these test cases for profiling, for example by
   having a debug built js in path
 * And finally - just like couchcapp - create canonical directory
   structure, as well as push and pull to/from design documents.

The code (single standalone python script) is available here :

   https://github.com/vivekpathak/casters

You are welome to try/use/improve

Thanks
Vivek







Reply via email to