Re: Maintainability

2005-09-30 Thread Peter B. West

Manuel Mall wrote:

On Thu, 29 Sep 2005 11:50 pm, Peter B. West wrote:


Fopsters,

I've always been somewhat sceptical of the new approach to page
breaking, although I was prepared to concede that it would be a great
achievement if you pulled it off.

However, the closer the development has come to fruition, the more
some of my original concerns have been reinforced.  Think about the
enormous amount of intellectual effort that has gone into mapping the
problem into Knuthian.  That effort is still under way.

How is this going to be maintained?  Where are the Knuthian speakers
who are going to do that job over the next few years?

I'm surprised, in fact, that some of the old hands have not raised
this question already.



Peter,

I don't get it what you are aiming at here.

Are you saying that the Knuth approach to line or page breaking is 
inherently more difficult to understand and therefore harder to 
maintain?


Apart from being one of the best (in terms of visual quality of the 
output) algorithms for breaking it is also IMO inherently simple. This 
is one of the beauties of many of Knuth's works. He is IMO a brilliant 
Computer Scientist who manages to solve complex problems using simple 
concepts and algorithms. The concepts and algorithms are also well 
documented in papers and books which are usually accessible through 
your nearest university library. Just take the Breaking Paragraphs 
into Lines paper. Yes, it is over 80 odd pages long but the important 
concepts are explained in the first 10 pages. In my case, when I delved 
cold into the fop layout code I had no idea what was going on, but 
after reading the initial part of the paper it all suddenly made sense.


So, where is the problem - Fop is using well documented concepts and 
algorithms to do its line and page breaking. Why should it be harder to 
maintain than some home cooked solution not backed up by previous 
research / papers / implementations (Tex)?


And if you take the recent discussions mainly driven by Jeremias 
regarding the bpd space resolution the core of the problem is not 
mapping it into the appropriate Knuth sequences. It is the 
implementation of the space resolution rules themselves, i.e. figuring 
out how much space to leave or not leave in a particular situation, 
which is the hard part. Generating the appropriate Knuth sequence once 
you know what the resolved space is is easy.


And quite a few of the stuff is also documented on the WIKI.

In summary, and I can speak here from my own recent experience, I don't 
share your concerns about the Knuth approach increasing the 
maintainability cost of the fop code base.


If you guys are happy with how the design is shaping up in terms of 
maintainability, great.  There had been no discussion about this aspect, 
now there is.


Peter
--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/


smime.p7s
Description: S/MIME Cryptographic Signature


Re: Maintainability

2005-09-30 Thread Peter B. West

Thanks to Luca for his (perhaps entirely co-incidental) posting to the Wiki.

Peter
--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/


smime.p7s
Description: S/MIME Cryptographic Signature


Re: Maintainability

2005-09-30 Thread Luca Furini

Peter B. West wrote:

Thanks to Luca for his (perhaps entirely co-incidental) posting to the 
Wiki.


Well, not entirely co-incidental! :-)

I started writing the page some time ago, but never found the time to 
finish it: your message made me think I really couldn't put this off any 
longer, so I added a few things and posted what was ready. I'd try and add 
the missing parts as soon as possible.


Comments, questions, suggestions, and especially additions :-) are most 
welcome!


Regards
Luca




Re: Maintainability

2005-09-30 Thread Peter B. West

Luca Furini wrote:

Peter B. West wrote:

Thanks to Luca for his (perhaps entirely co-incidental) posting to the 
Wiki.



Well, not entirely co-incidental! :-)

I started writing the page some time ago, but never found the time to 
finish it: your message made me think I really couldn't put this off any 
longer, so I added a few things and posted what was ready. I'd try and 
add the missing parts as soon as possible.


Comments, questions, suggestions, and especially additions :-) are most 
welcome!


Regards
Luca


Luca,

There seem to be some misapprehensions about what you are attempting; 
perhaps they are mine, so please clarify this.  As I understand it, the 
mature, well-documented technology is the line-breaking, as in Breaking 
Lines Into Paragraphs.  Using this model for page-breaking is something 
that has been speculated about, in particular by Plass.  However, in 
implementing this, you and the others are breaking new ground.


If this is the case, then it is quite inaccurate to describe the 
page-breaking as mature, well-understood, well-documented and 
well-behaved technology.


Is that fair?

Peter
--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/


smime.p7s
Description: S/MIME Cryptographic Signature


Re: Maintainability

2005-09-30 Thread Manuel Mall
On Fri, 30 Sep 2005 07:00 pm, Peter B. West wrote:
 Luca Furini wrote:
  Peter B. West wrote:
  Thanks to Luca for his (perhaps entirely co-incidental) posting to
snip/
 Luca,

 There seem to be some misapprehensions about what you are attempting;
 perhaps they are mine, so please clarify this.  As I understand it,
 the mature, well-documented technology is the line-breaking, as in
 Breaking

 Lines Into Paragraphs.  Using this model for page-breaking is
 something

 that has been speculated about, in particular by Plass.  However, in
 implementing this, you and the others are breaking new ground.

 If this is the case, then it is quite inaccurate to describe the
 page-breaking as mature, well-understood, well-documented and
 well-behaved technology.

 Is that fair?


Actually in the Breaking Paragraphs into Lines paper Knuth explicitly 
mentions that the Box-Glue-Penalty model applies equally well in the 
vertical direction.

 Peter

Manuel


Re: Maintainability

2005-09-30 Thread Luca Furini

Peter B. West wrote:

There seem to be some misapprehensions about what you are attempting; 
perhaps they are mine, so please clarify this.  As I understand it, the 
mature, well-documented technology is the line-breaking, as in Breaking 
Lines Into Paragraphs.  Using this model for page-breaking is something 
that has been speculated about, in particular by Plass.  However, in 
implementing this, you and the others are breaking new ground.


If this is the case, then it is quite inaccurate to describe the 
page-breaking as mature, well-understood, well-documented and 
well-behaved technology.


Is that fair?


As Manuel has quickly answered, the box-penalty-glue model can be applied 
to both line breaking and page breaking, and this is already clearly 
stated in the cited article.


In the Texbook you can find out that horizontal lists (representing the 
content of paragraphs) and vertical lists (representing content in the 
block progression direction) are made of the same elements: boxes, glues 
and penalties.


So, I think we can surely state that the model suits the page breaking 
problem too.


What Tex does not is performing Knuth's breaking algorithm in order to 
produce page breaks: it performs instead a simpler algorithm. But this is 
due to the resource limits existing at the moment when Tex was devised, 
and in the cited paper Knuth explicitly says so.


The page breaking problem has some more difficulties, concerning objects 
whose placement does not follow the main flow, for example floating 
figures; in this case, the difficulty is the other side of freedom (the 
position of these objects has little constraints) and comes from trying to 
place them in the best possible way, which could lead to high 
computational complexity: should this be too much, it would be enough to 
use a simpler strategy instead, for example placing them in the first page 
where they fit, and the problem would be solved.


So, I think we can say that the algorithm can be applied without any 
concern to page breaking too.


Regards
Lucat




Maintainability

2005-09-29 Thread Peter B. West

Fopsters,

I've always been somewhat sceptical of the new approach to page 
breaking, although I was prepared to concede that it would be a great 
achievement if you pulled it off.


However, the closer the development has come to fruition, the more some 
of my original concerns have been reinforced.  Think about the enormous 
amount of intellectual effort that has gone into mapping the problem 
into Knuthian.  That effort is still under way.


How is this going to be maintained?  Where are the Knuthian speakers who 
are going to do that job over the next few years?


I'm surprised, in fact, that some of the old hands have not raised this 
question already.


Peter
--
Peter B. West http://cv.pbw.id.au/
Folio http://defoe.sourceforge.net/folio/


smime.p7s
Description: S/MIME Cryptographic Signature


Re: Maintainability

2005-09-29 Thread Peter S. Housel

Peter B. West [EMAIL PROTECTED] wrote:

Simon Pepping wrote:

Maintaining FOP means maintaining a digital typesetting system means
maintaining some of the best digital typography algorithms.

I plan to resume my documenting activities in the coming months. I
look forward to the challenge to document Knuth's algorithms and FOP's
implementation of them in a clear and widely understandable fashion.


That's a good thing, Simon, and your documentation is very comprehensive. 
However, I think the question still deserves serious consideration.


You seem to be saying that inferior algorithms should be used for the sake 
of developers who don't have time to read the internals documentation.  That 
doesn't seem like a worthwhile trade-off to me.


-Peter-