On 29 Apr 2011, at 06:36, Andrey Somov wrote: > P.S. I have already identified some redundant code ( > https://issues.apache.org/jira/browse/COUCHDB-920). > I hope I can further improve the code base when I am able to debug the > running database.
Thank you for your efforts Andrey and thanks for calling out an obvious deficiency in our setup for the way you work. I'm looking forward to your contributions :) I strongly believe, and you have already proven, that a new perspective on code brings previously unknown issues to light. This is going to be good :) Cheers Jan -- > > > > On Fri, Apr 29, 2011 at 1:34 PM, Robert Dionne <dio...@dionne-associates.com >> wrote: > >> Hi Andrey, >> >> I use Distel[1] (Distributed emacs lisp for Erlang), a set of emacs >> extensions that create a full development environment for Erlang. It >> connects to a running node so one gets full access to the syntax_tools and >> source code of Erlang, all at run time. As this brief white paper points out >> it goes further than typical elisp hacks as it imports the Erlang >> distributed model into emacs. I keep hoping to find some time to push it a >> little further and provide better support for working with BigCouch, our >> clustered CouchDB at Cloudant. >> >> I keep up my own fork of it as there aren't too many of us out there and I >> needed to fix a few things. I also include in that project some tweaks to >> the Erlang mode that ships with Erlang to accommodate the CouchDB format >> conventions. It provides a full symbolic debugging environment. Though it's >> useful and I think I've found a few CouchDB bugs with it, given the nature >> of OTP programming it's a little harder when you have breakpoints that hit >> 50 processes. It was great for stepping thru the btree code. >> >> The most useful features are the navigation (M-. M-,) and who_calls (C-c >> C-d w) The lack of use of who_calls I believe is the major reason we often >> discover dead code that's been there forever. As an aside the use of type >> specs and dialyzer go a long way towards finding errors at compile time. >> >> Regards, >> >> Bob >> >> [1] https://github.com/bdionne/distel/raw/master/doc/gorrie02distel.pdf >> [2] https://github.com/bdionne/distel >> >> >> >>