@Charles, I thought of Commons because it is where people go to find common code. it provides a web presence to base the code and discussion from. Though perhaps Github would suffice.
@Ralph, I agree that reference implementations would be good. But I didn't want to start a "language war" with respect to what languages to support. I think that if there is a discussion and a consensus reached we are 90% of the way to reference implementations. What may be more critical are reference tests. I will come back to my discussion of Bloom filters because there is so much variance in how they are implemented in the wild. Bloom filters are used in a number of products and (as far as I know) there is no place to go for a clear, concise description of how to create them. In fact the Cassandra code has a comment block that indicates their modified code method is faster and produces the same range of results as other methods. Another algorithm that I can not find any detail on is the blockchain mining algorithm. How is a minor notifiied that a new block has been added to the chain and who do they notify when they add a new block. There are lots of high level descriptions but no low level algorithm type info that I have been able to find. For algorithms like merge-sort or b-tree there are lots of books and other publications that describe the algorithms, but many of the "newer" constructs do not. I see this project as a place developers can turn to to find the information they need to implement various algorithms, and if not to start a discussion about how to correctly implement it. Claude On Wed, Feb 14, 2018 at 3:33 AM, Charles Honton <c...@honton.org> wrote: > What can / does commons provide that cannot be done with GitHub? > > chas > > > On Feb 13, 2018, at 5:58 PM, Ralph Goers <ralph.go...@dslextreme.com> > wrote: > > > > If this was a project to create specs AND provide reference > implementations I think it would make sense. I don’t see how a project that > just creates specs fits with Commons personally. > > > > Ralph > > > >> On Feb 13, 2018, at 1:46 PM, Matt Sicker <boa...@gmail.com> wrote: > >> > >> A sort of commons-algorithms type library? That kind of strikes me as > what > >> Commons is in the first place. I could see it being broken down into > >> components, though. For example, commons-graph < > >> https://commons.apache.org/sandbox/commons-graph/> (seems inactive) for > >> graph algorithms, commons-tree for trees, heaps, and other similar ADTs > and > >> algorithms. Some ADTs already belong in commons-collections. Some > >> algorithms may already be in commons-math, and there's efforts toward > >> splitting that up into individual components (e.g., rng, numbers, > >> statistics), so it doesn't make sense to group them in there IMO. > >> > >> On 13 February 2018 at 05:23, Bruno P. Kinoshita < > >> brunodepau...@yahoo.com.br.invalid> wrote: > >> > >>> Hi Claude, > >>> > >>> Quite sure there was similar discussion some time ago. But I can't > recall > >>> if it was here in commons, somewhere in the incubator, or labs? > >>> > >>> But regarding commons, before the component/jira/mailing list are > created, > >>> I think it would have to go either via sandbox or incubator first? > >>> > >>> > >>> Perhaps having some code somewhere like GitHub to show more or less the > >>> concept would make it easier for others to evaluate the idea? > >>> Cheers > >>> Bruno > >>> > >>> > >>> > >>> > >>> > >>> ________________________________ > >>> From: Claude Warren <cla...@xenei.com> > >>> To: Commons Developers List <dev@commons.apache.org> > >>> Sent: Tuesday, 13 February 2018 11:55 PM > >>> Subject: Re: Discussion: New commons module/project > >>> > >>> > >>> > >>> The goal is arrive at a common understanding of the specific algorithm > and > >>> potentially one or more code examples for implementation which may be > >>> pseudo code. > >>> > >>> I think all this requires is: > >>> > >>> 1. jira (or similar) to track the discussions and mark them when they > >>> are closed > >>> 2. A mechanism to list the algorithms that have been or are under > >>> discussion. Perhaps the Jira search could provide this by default. > >>> 3. A repository for code snippets. Though again perhaps Jira would be > >>> sufficient. > >>> 4. Mailing list in order to take votes and the like. > >>> > >>> Claude > >>> > >>> > >>> > >>> On Tue, Feb 13, 2018 at 10:31 AM, Bernd Eckenfels < > e...@zusammenkunft.net> > >>> wrote: > >>> > >>>> Hello, > >>>> > >>>> I am not sure how this might turn out, is it only discussion or do you > >>>> also want to develop a specification language/toolset? In either case > it > >>>> does not sound like the typical commons sub-project. What > infrastructure > >>>> would you require? > >>>> > >>>> Gruss > >>>> Bernd > >>>> -- > >>>> http://bernd.eckenfels.net > >>>> ________________________________ > >>>> From: Claude Warren <cla...@xenei.com> > >>>> Sent: Tuesday, February 13, 2018 10:36:55 AM > >>>> To: Commons Developers List > >>>> Subject: Discussion: New commons module/project > >>>> > >>>> Disclaimer: I am not certain of the proper nomenclature to use here > so > >>>> when I say module consider that it may be a sub-project or project > under > >>>> commons. The term should be taken to mean a collection of the things > >>> under > >>>> discussion. > >>>> > >>>> I would like to propose a commons module for the development and > >>>> documentation of algorithms. As anyone who has tried can attest, > writing > >>>> specifications that are not misunderstood is nigh on impossible. This > >>>> module would provide an area to discuss various algorithms and work > out > >>>> code examples in various languages for implementation. > >>>> > >>>> For example: Bloom Filters. When creating a bloom filter you take the > >>>> modulus of a digest to determine which bit in a bit vector to turn on. > >>> But > >>>> the modulus of a negative number is negative. So is it proper to take > >>> the > >>>> absolute value (abs) of the modulus or the digest or are you > required to > >>>> consider the digest to be a very long unsigned integer? All of these > >>>> choices have repercussions and may impact interoperability. > >>>> > >>>> I have several co-workers and friends that are interested in exploring > >>>> algorithms of this sort. Is there any interest here in starting such > >>>> discussions? If so how does one go about it? > >>>> > >>>> I would like to see a ticketing system (Jira?) that discussions could > be > >>>> conducted against. So, for example, a single ticket for bloom filter > >>>> implementation. The ticket would stay open until consensus was > achieved. > >>>> Once achieved the result would be documented and references to the > >>>> discussion provided. > >>>> > >>>> Not clear on where to document the results and whether or not that > >>>> documentation would include code. > >>>> > >>>> Thoughts? > >>>> Claude > >>>> > >>>> > >>>> -- > >>>> I like: Like Like - The likeliest place on the web > >>>> <http://like-like.xenei.com> > >>>> LinkedIn: http://www.linkedin.com/in/claudewarren > >>> > >>>> > >>> > >>> > >>> > >>> -- > >>> I like: Like Like - The likeliest place on the web > >>> <http://like-like.xenei.com> > >>> LinkedIn: http://www.linkedin.com/in/claudewarren > >>> > >>> --------------------------------------------------------------------- > >>> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org > >>> For additional commands, e-mail: dev-h...@commons.apache.org > >>> > >>> > >> > >> > >> -- > >> Matt Sicker <boa...@gmail.com> > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org > > For additional commands, e-mail: dev-h...@commons.apache.org > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org > For additional commands, e-mail: dev-h...@commons.apache.org > > -- I like: Like Like - The likeliest place on the web <http://like-like.xenei.com> LinkedIn: http://www.linkedin.com/in/claudewarren