RE: [Lucene.Net] Is a Lucene.Net Line-by-Line Jave port needed?

2011-06-30 Thread Moray McConnachie
I don't think I'm as hard core on this as Neal, but remember: the
history of the Lucene.NET project is that all the intellectual work, all
the understanding of search, all the new features come from the Lucene
Java folks. Theirs is an immensely respected project, and I trust them
to add new features that will be well-tested and well-researched, and to
have a decent roadmap which I can trust they will execute on. 

Now I know there's been an influx of capable developers to Lucene.NET
who are ready, willing and (I'm going to assume) able to add a lot more
value in a generic .NET implementation as they change it. But it'll take
a while before I trust a .NET dedicated framework which is significantly
diverged from Java in the way I do the line-by-line version. And at what
stage is it not just not a line-by-line port, but not a port at all?

At the same time, I recognise that if this project is going to continue,
and attract good developers, it has to change in this direction.

So that said, I can see why a line-by-line port might not be
sustainable. And most people don't need it. But most of us using Lucene
in production systems do need a system that we can trust and rely on. So
let me chime in with someone else's plea, to keep the general structure
close to Lucene, to keep the same general objects and inheritance
set-up, and to keep the same method names, even if you add other methods
and classes to provide additional functionality. ABSOLUTELY the same
file formats. End users benefit a lot from a high degree of similarity,
with good documentation and help being available from the Java
community.

Yours,
Moray
-
Moray McConnachie
Director of IT+44 1865 261 600
Oxford Analytica  http://www.oxan.com

-Original Message-
From: Granroth, Neal V. [mailto:neal.granr...@thermofisher.com] 
Sent: 29 June 2011 20:47
To: lucene-net-u...@lucene.apache.org
Cc: lucene-net-...@incubator.apache.org
Subject: RE: [Lucene.Net] Is a Lucene.Net Line-by-Line Jave port needed?

This is has been discussed many times.
Lucene.NET is not valid, the code cannot be trusted, if it is not a
line-by-line port.  It ceases to be Lucene.

- Neal

-Original Message-
From: Scott Lombard [mailto:lombardena...@gmail.com]
Sent: Wednesday, June 29, 2011 1:58 PM
To: lucene-net-dev@lucene.apache.org; lucene-net-u...@lucene.apache.org
Subject: [Lucene.Net] Is a Lucene.Net Line-by-Line Jave port needed?

 

After the large community response about moving the code base from .Net
2.0 to Net 4.0 I am trying to figure out what is the need for a
line-by-line port.  Starting with Digy's excellent work on the
conversion to generics a priority of the 2.9.4g release is the 2
packages would not be interchangeable.  So faster turnaround from a java
release won't matter to non line-by-line users they will have to wait
until the updates are made to the non line-by-line code base.  

 

My question is there really a user base for the line-by-line port?
Anyone have a comment?

 

Scott

 

  

 

-
Disclaimer 

This message and any attachments are confidential and/or privileged. If this 
has been sent to you in error, please do not use, retain or disclose them, and 
contact the sender as soon as possible.

Oxford Analytica Ltd
Registered in England: No. 1196703
5 Alfred Street, Oxford
United Kingdom, OX1 4EH
-



Re: [Lucene.Net] Is a Lucene.Net Line-by-Line Jave port needed?

2011-06-30 Thread Noel Lysaght
Can I just plug in my bit and say I agree 100% with what Moray has outlined 
below.


If we move away from the line by line port then over time we'll loose out on 
the momentum that is Lucene and the improvements that they make.
It is only if the Lucene.NET community has expertise in search,  a  deep 
knowledge of the project and the community can guarantee that the knowledge 
will survive members coming and going should such a consideration be give.


When Lucene.NET has stood on it's feet for a number of years after it has 
moved out of Apache incubation should consideration be given to abandoning a 
line by line port.
By all means extend and wrap the libraries in .NET equivalents and .NET 
goodness like LINQ (we do this internally in our company at the moment); but 
leave the core of the project on a line by line port.


Just my tu-pence worth.

Kind Regards
Noel


-Original Message- 
From: Moray McConnachie

Sent: Thursday, June 30, 2011 10:25 AM
To: lucene-net-u...@lucene.apache.org
Cc: lucene-net-...@incubator.apache.org
Subject: RE: [Lucene.Net] Is a Lucene.Net Line-by-Line Jave port needed?

I don't think I'm as hard core on this as Neal, but remember: the
history of the Lucene.NET project is that all the intellectual work, all
the understanding of search, all the new features come from the Lucene
Java folks. Theirs is an immensely respected project, and I trust them
to add new features that will be well-tested and well-researched, and to
have a decent roadmap which I can trust they will execute on.

Now I know there's been an influx of capable developers to Lucene.NET
who are ready, willing and (I'm going to assume) able to add a lot more
value in a generic .NET implementation as they change it. But it'll take
a while before I trust a .NET dedicated framework which is significantly
diverged from Java in the way I do the line-by-line version. And at what
stage is it not just not a line-by-line port, but not a port at all?

At the same time, I recognise that if this project is going to continue,
and attract good developers, it has to change in this direction.

So that said, I can see why a line-by-line port might not be
sustainable. And most people don't need it. But most of us using Lucene
in production systems do need a system that we can trust and rely on. So
let me chime in with someone else's plea, to keep the general structure
close to Lucene, to keep the same general objects and inheritance
set-up, and to keep the same method names, even if you add other methods
and classes to provide additional functionality. ABSOLUTELY the same
file formats. End users benefit a lot from a high degree of similarity,
with good documentation and help being available from the Java
community.

Yours,
Moray
-
Moray McConnachie
Director of IT+44 1865 261 600
Oxford Analytica  http://www.oxan.com

-Original Message-
From: Granroth, Neal V. [mailto:neal.granr...@thermofisher.com]
Sent: 29 June 2011 20:47
To: lucene-net-u...@lucene.apache.org
Cc: lucene-net-...@incubator.apache.org
Subject: RE: [Lucene.Net] Is a Lucene.Net Line-by-Line Jave port needed?

This is has been discussed many times.
Lucene.NET is not valid, the code cannot be trusted, if it is not a
line-by-line port.  It ceases to be Lucene.

- Neal

-Original Message-
From: Scott Lombard [mailto:lombardena...@gmail.com]
Sent: Wednesday, June 29, 2011 1:58 PM
To: lucene-net-dev@lucene.apache.org; lucene-net-u...@lucene.apache.org
Subject: [Lucene.Net] Is a Lucene.Net Line-by-Line Jave port needed?



After the large community response about moving the code base from .Net
2.0 to Net 4.0 I am trying to figure out what is the need for a
line-by-line port.  Starting with Digy's excellent work on the
conversion to generics a priority of the 2.9.4g release is the 2
packages would not be interchangeable.  So faster turnaround from a java
release won't matter to non line-by-line users they will have to wait
until the updates are made to the non line-by-line code base.



My question is there really a user base for the line-by-line port?
Anyone have a comment?



Scott







-
Disclaimer

This message and any attachments are confidential and/or privileged. If this 
has been sent to you in error, please do not use, retain or disclose them, 
and contact the sender as soon as possible.


Oxford Analytica Ltd
Registered in England: No. 1196703
5 Alfred Street, Oxford
United Kingdom, OX1 4EH
-



RE: [Lucene.Net] Is a Lucene.Net Line-by-Line Jave port needed?

2011-06-30 Thread Ayende Rahien
As someone from the nhibernate project
We stopped following hibernate a while ago, and haven't regretted it
We have mire features, less bugs and better code base

Sent from my Windows Phone From: Rory Plaire
Sent: Thursday, June 30, 2011 19:58
To: lucene-net-dev@lucene.apache.org
Subject: Re: [Lucene.Net] Is a Lucene.Net Line-by-Line Jave port needed?
I don't want to drag this out much longer, but I am curious with people who
hold the line-by-line sentiment - are you NHibernate users?

-r

On Thu, Jun 30, 2011 at 2:39 AM, Noel Lysaght lysag...@hotmail.com wrote:

 Can I just plug in my bit and say I agree 100% with what Moray has outlined
 below.

 If we move away from the line by line port then over time we'll loose out
 on the momentum that is Lucene and the improvements that they make.
 It is only if the Lucene.NET community has expertise in search,  a  deep
 knowledge of the project and the community can guarantee that the knowledge
 will survive members coming and going should such a consideration be give.

 When Lucene.NET has stood on it's feet for a number of years after it has
 moved out of Apache incubation should consideration be given to abandoning a
 line by line port.
 By all means extend and wrap the libraries in .NET equivalents and .NET
 goodness like LINQ (we do this internally in our company at the moment); but
 leave the core of the project on a line by line port.

 Just my tu-pence worth.

 Kind Regards
 Noel


 -Original Message- From: Moray McConnachie
 Sent: Thursday, June 30, 2011 10:25 AM

 To: lucene-net-user@lucene.apache.**orglucene-net-u...@lucene.apache.org
 Cc: lucene-net-dev@incubator.**apache.orglucene-net-...@incubator.apache.org
 Subject: RE: [Lucene.Net] Is a Lucene.Net Line-by-Line Jave port needed?

 I don't think I'm as hard core on this as Neal, but remember: the
 history of the Lucene.NET project is that all the intellectual work, all
 the understanding of search, all the new features come from the Lucene
 Java folks. Theirs is an immensely respected project, and I trust them
 to add new features that will be well-tested and well-researched, and to
 have a decent roadmap which I can trust they will execute on.

 Now I know there's been an influx of capable developers to Lucene.NET
 who are ready, willing and (I'm going to assume) able to add a lot more
 value in a generic .NET implementation as they change it. But it'll take
 a while before I trust a .NET dedicated framework which is significantly
 diverged from Java in the way I do the line-by-line version. And at what
 stage is it not just not a line-by-line port, but not a port at all?

 At the same time, I recognise that if this project is going to continue,
 and attract good developers, it has to change in this direction.

 So that said, I can see why a line-by-line port might not be
 sustainable. And most people don't need it. But most of us using Lucene
 in production systems do need a system that we can trust and rely on. So
 let me chime in with someone else's plea, to keep the general structure
 close to Lucene, to keep the same general objects and inheritance
 set-up, and to keep the same method names, even if you add other methods
 and classes to provide additional functionality. ABSOLUTELY the same
 file formats. End users benefit a lot from a high degree of similarity,
 with good documentation and help being available from the Java
 community.

 Yours,
 Moray
 --**---
 Moray McConnachie
 Director of IT+44 1865 261 600
 Oxford Analytica  http://www.oxan.com

 -Original Message-
 From: Granroth, Neal V. 
 [mailto:neal.granroth@**thermofisher.comneal.granr...@thermofisher.com
 ]
 Sent: 29 June 2011 20:47
 To: lucene-net-user@lucene.apache.**orglucene-net-u...@lucene.apache.org
 Cc: lucene-net-dev@incubator.**apache.orglucene-net-...@incubator.apache.org
 Subject: RE: [Lucene.Net] Is a Lucene.Net Line-by-Line Jave port needed?

 This is has been discussed many times.
 Lucene.NET is not valid, the code cannot be trusted, if it is not a
 line-by-line port.  It ceases to be Lucene.

 - Neal

 -Original Message-
 From: Scott Lombard [mailto:lombardenator@gmail.**comlombardena...@gmail.com
 ]
 Sent: Wednesday, June 29, 2011 1:58 PM
 To: lucene-net-dev@lucene.apache.**org lucene-net-dev@lucene.apache.org;
 lucene-net-user@lucene.apache.**org lucene-net-u...@lucene.apache.org
 Subject: [Lucene.Net] Is a Lucene.Net Line-by-Line Jave port needed?



 After the large community response about moving the code base from .Net
 2.0 to Net 4.0 I am trying to figure out what is the need for a
 line-by-line port.  Starting with Digy's excellent work on the
 conversion to generics a priority of the 2.9.4g release is the 2
 packages would not be interchangeable.  So faster turnaround from a java
 release won't matter to non line-by-line users they will have to wait
 until the updates are made to the non line-by-line code base.



 My question is there really a user 

Re: [Lucene.Net] Is a Lucene.Net Line-by-Line Jave port needed?

2011-06-30 Thread Itamar Syn-Hershko

NHibernate has a much bigger community and more active devs afaict.


The proposed changes as I understand them are not about changing class 
structure or APIs, but merely touch hunks of code and rewrite them to 
use better .NET practices (yield, generics, LINQ etc). In conjunction 
with a move to .NET 4.0 this would increase readability, improve GC and 
boost performance.



IMO this doesn't have to be a line-by-line port in order to make porting 
of patches easy - what digy seem to be really worried about (and he's 
right). As long as the meaning of the code is clear, it shouldn't be a 
real problem to apply Java patches to the .NET codebase. And as long as 
the test suite keeps being thorough, there's really nothing to fear of.



On 30/06/2011 20:15, Ayende Rahien wrote:


As someone from the nhibernate project
We stopped following hibernate a while ago, and haven't regretted it
We have mire features, less bugs and better code base


RE: [Lucene.Net] Is a Lucene.Net Line-by-Line Jave port needed?

2011-06-30 Thread Digy
Michael,
You interpret the report as whoever commits code wins? But when I look at it, 
I see a lof of talk, no work. .Net community is not interested in 
contributing.
I really don't understand what hinders people to work on Lucene.Net. As I did 
for 2.9.4g, grab the code, do whatever you want on it and submit back. If it 
doesn't fit to the project's direction it can still find a place in contrib or 
in branch. All of the approaches can live side by side happily in the 
Lucene.Net repository. 

Troy,
I also don't understand why do you wait for 2.9.4g? It is a *branch* and has 
nothing to do with the trunk. It need not be an offical release and can live in 
branch as a PoC. 


As a result, I got bored to listen to this should be done that way. What I 
want to see is I did it that way, should we continue with this.

DIGY




-Original Message-
From: Troy Howard [mailto:thowar...@gmail.com] 
Sent: Thursday, June 30, 2011 10:47 PM
To: lucene-net-dev@lucene.apache.org
Subject: Re: [Lucene.Net] Is a Lucene.Net Line-by-Line Jave port needed?

Michael,

I agree with everything you said. My point in saying whoever commits code
wins was to illustrate the reality of how and why the project has the
current form.

Building consensus is difficult. It is an essential first step before we can
do something like make a list of bit-sized pieces of work that others can
work on.

This is why my real message of Let's find a way to accommodate both is so
important. It allows us to build consensus, so that we can settle on a
direction and structure our work.

Until we accomplish that, it really is whoever commits code wins, and that
is an unhealthy and unmaintainable way to operate.

From a technical perspective, your statements about the unit tests are
completely accurate. They really need a LOT of reworking. That's the very
first step before making any significant changes. Part of the problem is
that the tests themselves are not well written. The other part is that the
Lucene object model was not designed for testability, and it makes writing
good tests more difficult, and certain tests might not be possible. It will
be difficult to write good unit tests without re-structuring. The biggest
issue is the use of abstract classes with base behaviour vs interfaces or
fully abstracted classes. Makes mocking tough. This is the direction I was
going when I started the Lucere project. I'd like to start in on that work
after the 2.9.4g release.

Thanks,
Troy


On Thu, Jun 30, 2011 at 12:04 PM, Michael Herndon 
mhern...@wickedsoftware.net wrote:

 I'd say that is all the more reasons that we need to work smarter and not
 harder. I'd also say thats a good reason to make sure we build consensus
 rather than just saying whoever commits code wins.

 And its a damn good reason to focus on the effort of growing the number of
 contributors and lowing the barrier to submitting patches, breaking things
 down into pieces that people would feel confident to work on without
 being overwhelmed by the complexity of Lucene.Net.

 There is a pretty big gap between Lucene 2.9.x to Lucene 4.0 and the
 internals and index formats are significantly different including nixing
 the
 current vint file format and using byte[] array slices for Terms instead of
 char[].

 So while porting 1 to 1 while require less knowledge or thought, its most
 likely going to require more hours of work. And Its definitely not going to
 guarantee the stability of the code or that its great code.

 I'd have to say that its not as stable as most would believe at the moment.

 Most of the tests avoid anything that remotely looks like it knows about
 the
 DRY principle and there is a static constructor in the core test case that
 throws an exception if it doesn't find an environment variable TEMP which
 will fail 90% of the tests and nunit will be unable to give you a clear
 reason why.  Just to name a few issues I came across working towards
 getting
 Lucene.Net into CI.  I haven't even started really digging in under the
 covers of the code yet.

 So my suggestion is to chew on this a bit more and build consensus, avoid
 fracturing people into sides.  Be open to reservations and concerns that
 others have and continue to address them.

 - Michael


 On Thu, Jun 30, 2011 at 2:10 PM, Digy digyd...@gmail.com wrote:

  Although there are a lot of people using Lucene.Net, this is our
  contribution report for the past 5 years.
 
 
 
 https://issues.apache.org/jira/secure/ConfigureReport.jspa?atl_token=A5KQ-2Q
 
 
 AV-T4JA-FDED|3204f7e696067a386144705075c074e991db2a2b|linversionId=-1issue
 
 
 Status=allselectedProjectId=12310290reportKey=com.sourcelabs.jira.plugin.r
  eport.contributions%3AcontributionreportNext=Next
 
 
  DIGY
 
  -Original Message-
  From: Ayende Rahien [mailto:aye...@ayende.com]
  Sent: Thursday, June 30, 2011 8:16 PM
  To: Rory Plaire; lucene-net-dev@lucene.apache.org
  Subject: RE: [Lucene.Net] Is a Lucene.Net Line-by-Line Jave port needed?
 
  

RE: [Lucene.Net] Is a Lucene.Net Line-by-Line Jave port needed?

2011-06-30 Thread Digy
 A) I don't to want to commit anything  thats going to piss alot of people
off, 
 B) I don't want to spend time/waste time on modifications that are going
to be rejected.  

What I've learnt from Apache Way is creating a JIRA issue if you are
hesitant.
If no one answers in a reasonable time(mostly), then commit.

DIGY

-Original Message-
From: Michael Herndon [mailto:mhern...@wickedsoftware.net] 
Sent: Thursday, June 30, 2011 11:58 PM
To: lucene-net-dev@lucene.apache.org
Subject: Re: [Lucene.Net] Is a Lucene.Net Line-by-Line Jave port needed?

@Troy,

I've already started working towards fixing unit testing issues, and
prototyping some things that sure DRY up the testing just so that I can get
the tests running on mono.

Those changes are currently in a private git repo, however since we don't
have a CI, I'm need to make some time to manually test those on at least 3
different Os (windowx, osx, and ubuntu) before putting those back into the
2.9.4g branch.

The reason being I need those in working order so that I can do a write up
on pulling those from source and at least running the build script to
compile everything and run the tests for you.  I don't know about everyone
else, but thats a starting point I look for when I go to work on something
or commit something back.

They should make their way back sometime this month.  I think the next thing
I'll do is put my money where my mouth is, spend time break down the rest of
the CI tasks, then seeing how much stuff I can get documented into the wiki.
 The simple faceted search is a decent starting template.

@Digy I agree with the talk, no work.

Though coming from the outside in, I still cringe when I make any commits at
the moment. (even that little .gitnore file)  A) I don't to want to commit
anything  thats going to piss alot of people off, B) I don't want to spend
time/waste time on modifications that are going to be rejected.  C) it took
a good deal of going through things before I felt comfortable to even making
a commit.   D) yes I know I just need to get over it and so does everyone
else (hence the obsession with the unit tests at the moment).

and I think a key to relaying people to get over it, including myself, is to
make the point you had more clear across the board:

*If it doesn't fit to the project's direction it can still find a place in
contrib or in branch. All of the approaches can live side by side happily in
the Lucene.Net repository. * +1  because that makes feel there is more
leadway to experiment and any decent effort will at least go somewhere to
live and not be wasted.

On Thu, Jun 30, 2011 at 4:19 PM, Digy digyd...@gmail.com wrote:

 Michael,
 You interpret the report as whoever commits code wins? But when I look
at
 it, I see a lof of talk, no work. .Net community is not interested in
 contributing.
 I really don't understand what hinders people to work on Lucene.Net. As I
 did for 2.9.4g, grab the code, do whatever you want on it and submit back.
 If it doesn't fit to the project's direction it can still find a place in
 contrib or in branch. All of the approaches can live side by side happily
in
 the Lucene.Net repository.

 Troy,
 I also don't understand why do you wait for 2.9.4g? It is a *branch* and
 has nothing to do with the trunk. It need not be an offical release and
can
 live in branch as a PoC.


 As a result, I got bored to listen to this should be done that way. What
 I want to see is I did it that way, should we continue with this.

 DIGY




 -Original Message-
 From: Troy Howard [mailto:thowar...@gmail.com]
 Sent: Thursday, June 30, 2011 10:47 PM
 To: lucene-net-dev@lucene.apache.org
 Subject: Re: [Lucene.Net] Is a Lucene.Net Line-by-Line Jave port needed?

 Michael,

 I agree with everything you said. My point in saying whoever commits code
 wins was to illustrate the reality of how and why the project has the
 current form.

 Building consensus is difficult. It is an essential first step before we
 can
 do something like make a list of bit-sized pieces of work that others can
 work on.

 This is why my real message of Let's find a way to accommodate both is
so
 important. It allows us to build consensus, so that we can settle on a
 direction and structure our work.

 Until we accomplish that, it really is whoever commits code wins, and
 that
 is an unhealthy and unmaintainable way to operate.

 From a technical perspective, your statements about the unit tests are
 completely accurate. They really need a LOT of reworking. That's the very
 first step before making any significant changes. Part of the problem is
 that the tests themselves are not well written. The other part is that the
 Lucene object model was not designed for testability, and it makes writing
 good tests more difficult, and certain tests might not be possible. It
will
 be difficult to write good unit tests without re-structuring. The biggest
 issue is the use of abstract classes with base behaviour vs interfaces or
 fully 

Re: [Lucene.Net] Is a Lucene.Net Line-by-Line Jave port needed?

2011-06-30 Thread Troy Howard
DIGY - Re: Why do I wait.. That's mostly because I intend to make some deep
changes, which would make merging the 2.9.4g branch back to trunk difficult.
So, it's easier to merge those changes first. Also, I won't have enough time
to make my changes until a little way in the future, but probably do have
the time to put together another release, so I'll do that first because it
fits with my work/life schedule.

Thanks,
Troy


On Thu, Jun 30, 2011 at 1:19 PM, Digy digyd...@gmail.com wrote:

 Michael,
 You interpret the report as whoever commits code wins? But when I look at
 it, I see a lof of talk, no work. .Net community is not interested in
 contributing.
 I really don't understand what hinders people to work on Lucene.Net. As I
 did for 2.9.4g, grab the code, do whatever you want on it and submit back.
 If it doesn't fit to the project's direction it can still find a place in
 contrib or in branch. All of the approaches can live side by side happily in
 the Lucene.Net repository.

 Troy,
 I also don't understand why do you wait for 2.9.4g? It is a *branch* and
 has nothing to do with the trunk. It need not be an offical release and can
 live in branch as a PoC.


 As a result, I got bored to listen to this should be done that way. What
 I want to see is I did it that way, should we continue with this.

 DIGY




 -Original Message-
 From: Troy Howard [mailto:thowar...@gmail.com]
 Sent: Thursday, June 30, 2011 10:47 PM
 To: lucene-net-dev@lucene.apache.org
 Subject: Re: [Lucene.Net] Is a Lucene.Net Line-by-Line Jave port needed?

 Michael,

 I agree with everything you said. My point in saying whoever commits code
 wins was to illustrate the reality of how and why the project has the
 current form.

 Building consensus is difficult. It is an essential first step before we
 can
 do something like make a list of bit-sized pieces of work that others can
 work on.

 This is why my real message of Let's find a way to accommodate both is so
 important. It allows us to build consensus, so that we can settle on a
 direction and structure our work.

 Until we accomplish that, it really is whoever commits code wins, and
 that
 is an unhealthy and unmaintainable way to operate.

 From a technical perspective, your statements about the unit tests are
 completely accurate. They really need a LOT of reworking. That's the very
 first step before making any significant changes. Part of the problem is
 that the tests themselves are not well written. The other part is that the
 Lucene object model was not designed for testability, and it makes writing
 good tests more difficult, and certain tests might not be possible. It will
 be difficult to write good unit tests without re-structuring. The biggest
 issue is the use of abstract classes with base behaviour vs interfaces or
 fully abstracted classes. Makes mocking tough. This is the direction I was
 going when I started the Lucere project. I'd like to start in on that work
 after the 2.9.4g release.

 Thanks,
 Troy


 On Thu, Jun 30, 2011 at 12:04 PM, Michael Herndon 
 mhern...@wickedsoftware.net wrote:

  I'd say that is all the more reasons that we need to work smarter and not
  harder. I'd also say thats a good reason to make sure we build consensus
  rather than just saying whoever commits code wins.
 
  And its a damn good reason to focus on the effort of growing the number
 of
  contributors and lowing the barrier to submitting patches, breaking
 things
  down into pieces that people would feel confident to work on without
  being overwhelmed by the complexity of Lucene.Net.
 
  There is a pretty big gap between Lucene 2.9.x to Lucene 4.0 and the
  internals and index formats are significantly different including nixing
  the
  current vint file format and using byte[] array slices for Terms instead
 of
  char[].
 
  So while porting 1 to 1 while require less knowledge or thought, its most
  likely going to require more hours of work. And Its definitely not going
 to
  guarantee the stability of the code or that its great code.
 
  I'd have to say that its not as stable as most would believe at the
 moment.
 
  Most of the tests avoid anything that remotely looks like it knows about
  the
  DRY principle and there is a static constructor in the core test case
 that
  throws an exception if it doesn't find an environment variable TEMP
 which
  will fail 90% of the tests and nunit will be unable to give you a clear
  reason why.  Just to name a few issues I came across working towards
  getting
  Lucene.Net into CI.  I haven't even started really digging in under the
  covers of the code yet.
 
  So my suggestion is to chew on this a bit more and build consensus, avoid
  fracturing people into sides.  Be open to reservations and concerns that
  others have and continue to address them.
 
  - Michael
 
 
  On Thu, Jun 30, 2011 at 2:10 PM, Digy digyd...@gmail.com wrote:
 
   Although there are a lot of people using Lucene.Net, this is our
   contribution report 

Re: [Lucene.Net] Is a Lucene.Net Line-by-Line Jave port needed?

2011-06-30 Thread Troy Howard
Scott -

The idea of the automated port is still worth doing. Perhaps it makes sense
for someone more passionate about the line-by-line idea to do that work?

I would say, focus on what makes sense to you. Being productive, regardless
of the specific direction, is what will be most valuable. Once you start,
others will join and momentum will build. That is how these things work.

I like DIGY's approach too, but the problem with it is that it is a
never-ending manual task. The theory behind the automated port is that it
may reduce the manual work. It is complicated, but once it's built and
works, it will save a lot of future development hours. If it's built in a
sufficiently general manner, it could be useful for other project like
Lucene.Net that want to automate a port from Java to C#.

It might make sense for that to be a separate project from Lucene.Net
though.

-T


On Thu, Jun 30, 2011 at 2:13 PM, Scott Lombard lombardena...@gmail.comwrote:

 Ok I think I asked the wrong question.  I am trying to figure out where to
 put my time.  I was thinking about working on the automated porting system,
 but when I saw the response to the .NET 4.0 discussions I started to
 question if that is the right direction.  The community seemed to be more
 interested in the .NET features.

 The complexity of the automated tool is going to become very high and will
 probably end up with a line-for-line style port.  So I keep asking my self
 is the automated tool worth it.  I don't think it is.

 I like the method has been Digy is using for porting the code.  So I guess
 for me the real question is Digy where did you see 2.9.4g going next and
 what do you need help on?

 Scott




  -Original Message-
  From: Digy [mailto:digyd...@gmail.com]
  Sent: Thursday, June 30, 2011 4:20 PM
  To: lucene-net-dev@lucene.apache.org
  Subject: RE: [Lucene.Net] Is a Lucene.Net Line-by-Line Jave port needed?
 
  Michael,
  You interpret the report as whoever commits code wins? But when I look
  at it, I see a lof of talk, no work. .Net community is not interested
 in
  contributing.
  I really don't understand what hinders people to work on Lucene.Net. As I
  did for 2.9.4g, grab the code, do whatever you want on it and submit
 back.
  If it doesn't fit to the project's direction it can still find a place in
  contrib or in branch. All of the approaches can live side by side happily
  in the Lucene.Net repository.
 
  Troy,
  I also don't understand why do you wait for 2.9.4g? It is a *branch* and
  has nothing to do with the trunk. It need not be an offical release and
  can live in branch as a PoC.
 
 
  As a result, I got bored to listen to this should be done that way.
 What
  I want to see is I did it that way, should we continue with this.
 
  DIGY
 
 
 
 
  -Original Message-
  From: Troy Howard [mailto:thowar...@gmail.com]
  Sent: Thursday, June 30, 2011 10:47 PM
  To: lucene-net-dev@lucene.apache.org
  Subject: Re: [Lucene.Net] Is a Lucene.Net Line-by-Line Jave port needed?
 
  Michael,
 
  I agree with everything you said. My point in saying whoever commits
 code
  wins was to illustrate the reality of how and why the project has the
  current form.
 
  Building consensus is difficult. It is an essential first step before we
  can
  do something like make a list of bit-sized pieces of work that others can
  work on.
 
  This is why my real message of Let's find a way to accommodate both is
  so
  important. It allows us to build consensus, so that we can settle on a
  direction and structure our work.
 
  Until we accomplish that, it really is whoever commits code wins, and
  that
  is an unhealthy and unmaintainable way to operate.
 
  From a technical perspective, your statements about the unit tests are
  completely accurate. They really need a LOT of reworking. That's the very
  first step before making any significant changes. Part of the problem is
  that the tests themselves are not well written. The other part is that
 the
  Lucene object model was not designed for testability, and it makes
 writing
  good tests more difficult, and certain tests might not be possible. It
  will
  be difficult to write good unit tests without re-structuring. The biggest
  issue is the use of abstract classes with base behaviour vs interfaces or
  fully abstracted classes. Makes mocking tough. This is the direction I
 was
  going when I started the Lucere project. I'd like to start in on that
 work
  after the 2.9.4g release.
 
  Thanks,
  Troy
 
 
  On Thu, Jun 30, 2011 at 12:04 PM, Michael Herndon 
  mhern...@wickedsoftware.net wrote:
 
   I'd say that is all the more reasons that we need to work smarter and
  not
   harder. I'd also say thats a good reason to make sure we build
 consensus
   rather than just saying whoever commits code wins.
  
   And its a damn good reason to focus on the effort of growing the number
  of
   contributors and lowing the barrier to submitting patches, breaking
  things
   down into pieces 

Re: [Lucene.Net] Is a Lucene.Net Line-by-Line Jave port needed?

2011-06-30 Thread Troy Howard
Michael -

If you bring those changes from git into a branch in SVN, we can help with
it. It doesn't have to be complete to be committed. :)

Regarding A (angering people)/B (being rejected)/C (feeling comfortable)/D
(getting over it)...

a) Making progress is more important than keeping everyone happy
b) Our goal is to accept things, not reject them. That said, if something
gets rejected due to quality issues, don't be afraid of that, it's a
learning experience for everyone, and it's a good thing. We can work
together to get to something everyone is happy with and learn in the
process.
c) Commit to a branch. Merge when things are right. No one expects branches
to build or be finished. It's OK. I get worried when I merge to trunk or
when I make a release. But I don't do that until I'm pretty sure it's all
legit.
d) Best way to get over it is to start doing it

I know you probably already realize all of this, but I wanted to respond, so
that, in case anyone else out there is struggling with the same set of
fears, they can see that fears that prevent action are more problematic than
any action they might take without those fears.

Thanks,
Troy


On Thu, Jun 30, 2011 at 1:57 PM, Michael Herndon 
mhern...@wickedsoftware.net wrote:

 @Troy,

 I've already started working towards fixing unit testing issues, and
 prototyping some things that sure DRY up the testing just so that I can get
 the tests running on mono.

 Those changes are currently in a private git repo, however since we don't
 have a CI, I'm need to make some time to manually test those on at least 3
 different Os (windowx, osx, and ubuntu) before putting those back into the
 2.9.4g branch.

 The reason being I need those in working order so that I can do a write up
 on pulling those from source and at least running the build script to
 compile everything and run the tests for you.  I don't know about everyone
 else, but thats a starting point I look for when I go to work on something
 or commit something back.

 They should make their way back sometime this month.  I think the next
 thing
 I'll do is put my money where my mouth is, spend time break down the rest
 of
 the CI tasks, then seeing how much stuff I can get documented into the
 wiki.
  The simple faceted search is a decent starting template.

 @Digy I agree with the talk, no work.

 Though coming from the outside in, I still cringe when I make any commits
 at
 the moment. (even that little .gitnore file)  A) I don't to want to commit
 anything  thats going to piss alot of people off, B) I don't want to spend
 time/waste time on modifications that are going to be rejected.  C) it took
 a good deal of going through things before I felt comfortable to even
 making
 a commit.   D) yes I know I just need to get over it and so does everyone
 else (hence the obsession with the unit tests at the moment).

 and I think a key to relaying people to get over it, including myself, is
 to
 make the point you had more clear across the board:

 *If it doesn't fit to the project's direction it can still find a place in
 contrib or in branch. All of the approaches can live side by side happily
 in
 the Lucene.Net repository. * +1  because that makes feel there is more
 leadway to experiment and any decent effort will at least go somewhere to
 live and not be wasted.

 On Thu, Jun 30, 2011 at 4:19 PM, Digy digyd...@gmail.com wrote:

  Michael,
  You interpret the report as whoever commits code wins? But when I look
 at
  it, I see a lof of talk, no work. .Net community is not interested in
  contributing.
  I really don't understand what hinders people to work on Lucene.Net. As I
  did for 2.9.4g, grab the code, do whatever you want on it and submit
 back.
  If it doesn't fit to the project's direction it can still find a place in
  contrib or in branch. All of the approaches can live side by side happily
 in
  the Lucene.Net repository.
 
  Troy,
  I also don't understand why do you wait for 2.9.4g? It is a *branch* and
  has nothing to do with the trunk. It need not be an offical release and
 can
  live in branch as a PoC.
 
 
  As a result, I got bored to listen to this should be done that way.
 What
  I want to see is I did it that way, should we continue with this.
 
  DIGY
 
 
 
 
  -Original Message-
  From: Troy Howard [mailto:thowar...@gmail.com]
  Sent: Thursday, June 30, 2011 10:47 PM
  To: lucene-net-dev@lucene.apache.org
  Subject: Re: [Lucene.Net] Is a Lucene.Net Line-by-Line Jave port needed?
 
  Michael,
 
  I agree with everything you said. My point in saying whoever commits
 code
  wins was to illustrate the reality of how and why the project has the
  current form.
 
  Building consensus is difficult. It is an essential first step before we
  can
  do something like make a list of bit-sized pieces of work that others can
  work on.
 
  This is why my real message of Let's find a way to accommodate both is
 so
  important. It allows us to build consensus, so that we can settle on 

RE: [Lucene.Net] Is a Lucene.Net Line-by-Line Jave port needed?

2011-06-30 Thread Digy
I can not say I like this approach, but till we find an automated way(with good 
results), it seems to be the only way we can use.

DIGY

-Original Message-
From: Troy Howard [mailto:thowar...@gmail.com] 
Sent: Friday, July 01, 2011 12:43 AM
To: lucene-net-dev@lucene.apache.org
Subject: Re: [Lucene.Net] Is a Lucene.Net Line-by-Line Jave port needed?

Scott -

The idea of the automated port is still worth doing. Perhaps it makes sense
for someone more passionate about the line-by-line idea to do that work?

I would say, focus on what makes sense to you. Being productive, regardless
of the specific direction, is what will be most valuable. Once you start,
others will join and momentum will build. That is how these things work.

I like DIGY's approach too, but the problem with it is that it is a
never-ending manual task. The theory behind the automated port is that it
may reduce the manual work. It is complicated, but once it's built and
works, it will save a lot of future development hours. If it's built in a
sufficiently general manner, it could be useful for other project like
Lucene.Net that want to automate a port from Java to C#.

It might make sense for that to be a separate project from Lucene.Net
though.

-T


On Thu, Jun 30, 2011 at 2:13 PM, Scott Lombard lombardena...@gmail.comwrote:

 Ok I think I asked the wrong question.  I am trying to figure out where to
 put my time.  I was thinking about working on the automated porting system,
 but when I saw the response to the .NET 4.0 discussions I started to
 question if that is the right direction.  The community seemed to be more
 interested in the .NET features.

 The complexity of the automated tool is going to become very high and will
 probably end up with a line-for-line style port.  So I keep asking my self
 is the automated tool worth it.  I don't think it is.

 I like the method has been Digy is using for porting the code.  So I guess
 for me the real question is Digy where did you see 2.9.4g going next and
 what do you need help on?

 Scott




  -Original Message-
  From: Digy [mailto:digyd...@gmail.com]
  Sent: Thursday, June 30, 2011 4:20 PM
  To: lucene-net-dev@lucene.apache.org
  Subject: RE: [Lucene.Net] Is a Lucene.Net Line-by-Line Jave port needed?
 
  Michael,
  You interpret the report as whoever commits code wins? But when I look
  at it, I see a lof of talk, no work. .Net community is not interested
 in
  contributing.
  I really don't understand what hinders people to work on Lucene.Net. As I
  did for 2.9.4g, grab the code, do whatever you want on it and submit
 back.
  If it doesn't fit to the project's direction it can still find a place in
  contrib or in branch. All of the approaches can live side by side happily
  in the Lucene.Net repository.
 
  Troy,
  I also don't understand why do you wait for 2.9.4g? It is a *branch* and
  has nothing to do with the trunk. It need not be an offical release and
  can live in branch as a PoC.
 
 
  As a result, I got bored to listen to this should be done that way.
 What
  I want to see is I did it that way, should we continue with this.
 
  DIGY
 
 
 
 
  -Original Message-
  From: Troy Howard [mailto:thowar...@gmail.com]
  Sent: Thursday, June 30, 2011 10:47 PM
  To: lucene-net-dev@lucene.apache.org
  Subject: Re: [Lucene.Net] Is a Lucene.Net Line-by-Line Jave port needed?
 
  Michael,
 
  I agree with everything you said. My point in saying whoever commits
 code
  wins was to illustrate the reality of how and why the project has the
  current form.
 
  Building consensus is difficult. It is an essential first step before we
  can
  do something like make a list of bit-sized pieces of work that others can
  work on.
 
  This is why my real message of Let's find a way to accommodate both is
  so
  important. It allows us to build consensus, so that we can settle on a
  direction and structure our work.
 
  Until we accomplish that, it really is whoever commits code wins, and
  that
  is an unhealthy and unmaintainable way to operate.
 
  From a technical perspective, your statements about the unit tests are
  completely accurate. They really need a LOT of reworking. That's the very
  first step before making any significant changes. Part of the problem is
  that the tests themselves are not well written. The other part is that
 the
  Lucene object model was not designed for testability, and it makes
 writing
  good tests more difficult, and certain tests might not be possible. It
  will
  be difficult to write good unit tests without re-structuring. The biggest
  issue is the use of abstract classes with base behaviour vs interfaces or
  fully abstracted classes. Makes mocking tough. This is the direction I
 was
  going when I started the Lucere project. I'd like to start in on that
 work
  after the 2.9.4g release.
 
  Thanks,
  Troy
 
 
  On Thu, Jun 30, 2011 at 12:04 PM, Michael Herndon 
  mhern...@wickedsoftware.net wrote:
 
   I'd say that is all the more 

Re: [Lucene.Net] Is a Lucene.Net Line-by-Line Jave port needed?

2011-06-30 Thread Rory Plaire
So, veering towards action - are there concrete tasks written up anywhere
for the unit tests? If a poor schlep like me wanted to dig in and start to
improve them, where would I get the understanding of what is good and what
needs help?

-r

On Thu, Jun 30, 2011 at 3:29 PM, Digy digyd...@gmail.com wrote:

 I can not say I like this approach, but till we find an automated way(with
 good results), it seems to be the only way we can use.

 DIGY

 -Original Message-
 From: Troy Howard [mailto:thowar...@gmail.com]
 Sent: Friday, July 01, 2011 12:43 AM
 To: lucene-net-dev@lucene.apache.org
 Subject: Re: [Lucene.Net] Is a Lucene.Net Line-by-Line Jave port needed?

 Scott -

 The idea of the automated port is still worth doing. Perhaps it makes sense
 for someone more passionate about the line-by-line idea to do that work?

 I would say, focus on what makes sense to you. Being productive, regardless
 of the specific direction, is what will be most valuable. Once you start,
 others will join and momentum will build. That is how these things work.

 I like DIGY's approach too, but the problem with it is that it is a
 never-ending manual task. The theory behind the automated port is that it
 may reduce the manual work. It is complicated, but once it's built and
 works, it will save a lot of future development hours. If it's built in a
 sufficiently general manner, it could be useful for other project like
 Lucene.Net that want to automate a port from Java to C#.

 It might make sense for that to be a separate project from Lucene.Net
 though.

 -T


 On Thu, Jun 30, 2011 at 2:13 PM, Scott Lombard lombardena...@gmail.com
 wrote:

  Ok I think I asked the wrong question.  I am trying to figure out where
 to
  put my time.  I was thinking about working on the automated porting
 system,
  but when I saw the response to the .NET 4.0 discussions I started to
  question if that is the right direction.  The community seemed to be more
  interested in the .NET features.
 
  The complexity of the automated tool is going to become very high and
 will
  probably end up with a line-for-line style port.  So I keep asking my
 self
  is the automated tool worth it.  I don't think it is.
 
  I like the method has been Digy is using for porting the code.  So I
 guess
  for me the real question is Digy where did you see 2.9.4g going next and
  what do you need help on?
 
  Scott
 
 
 
 
   -Original Message-
   From: Digy [mailto:digyd...@gmail.com]
   Sent: Thursday, June 30, 2011 4:20 PM
   To: lucene-net-dev@lucene.apache.org
   Subject: RE: [Lucene.Net] Is a Lucene.Net Line-by-Line Jave port
 needed?
  
   Michael,
   You interpret the report as whoever commits code wins? But when I
 look
   at it, I see a lof of talk, no work. .Net community is not interested
  in
   contributing.
   I really don't understand what hinders people to work on Lucene.Net. As
 I
   did for 2.9.4g, grab the code, do whatever you want on it and submit
  back.
   If it doesn't fit to the project's direction it can still find a place
 in
   contrib or in branch. All of the approaches can live side by side
 happily
   in the Lucene.Net repository.
  
   Troy,
   I also don't understand why do you wait for 2.9.4g? It is a *branch*
 and
   has nothing to do with the trunk. It need not be an offical release and
   can live in branch as a PoC.
  
  
   As a result, I got bored to listen to this should be done that way.
  What
   I want to see is I did it that way, should we continue with this.
  
   DIGY
  
  
  
  
   -Original Message-
   From: Troy Howard [mailto:thowar...@gmail.com]
   Sent: Thursday, June 30, 2011 10:47 PM
   To: lucene-net-dev@lucene.apache.org
   Subject: Re: [Lucene.Net] Is a Lucene.Net Line-by-Line Jave port
 needed?
  
   Michael,
  
   I agree with everything you said. My point in saying whoever commits
  code
   wins was to illustrate the reality of how and why the project has the
   current form.
  
   Building consensus is difficult. It is an essential first step before
 we
   can
   do something like make a list of bit-sized pieces of work that others
 can
   work on.
  
   This is why my real message of Let's find a way to accommodate both
 is
   so
   important. It allows us to build consensus, so that we can settle on a
   direction and structure our work.
  
   Until we accomplish that, it really is whoever commits code wins, and
   that
   is an unhealthy and unmaintainable way to operate.
  
   From a technical perspective, your statements about the unit tests are
   completely accurate. They really need a LOT of reworking. That's the
 very
   first step before making any significant changes. Part of the problem
 is
   that the tests themselves are not well written. The other part is that
  the
   Lucene object model was not designed for testability, and it makes
  writing
   good tests more difficult, and certain tests might not be possible. It
   will
   be difficult to write good unit tests without