On Tue, Nov 1, 2011 at 5:04 AM, Edward K. Ream <[email protected]> wrote: > On Mon, Oct 31, 2011 at 9:48 AM, Kent Tenney <[email protected]> wrote: > >> Are there any areas of core which can be simplified? > > The first two areas that I am targeting for subsystem tests are Leo's > colorizer and Leo's importer code. These are complex pieces of code > that do complex tasks. There is, imo, no real potential for drastic > simplification of either subsystem. > > What we need, instead, is a drastic improvement in subsystem tests, > following the outlines that I have described. > > As you know, I always try to solve bugs by simplifying code, not by > adding special cases. Sometimes that works; sometimes not. > Furthermore, complexity takes several forms, some of which is > particularly harmful, so of which is not. > > Leo's external file code in leoAtFile.py, and Leo's colorizer each > contains a fundamentally simple algorithm wrapped in very complex init > code. Each is fundamentally sound because the fundamental algorithm > is simple and sound; each is "capable" (supports lots of needed > options) because the init code for each is complex. > > The "dual nature" of leoAtFile.py and the colorizer in qtGui.py isn't > going to change. All we can hope for are unit tests that cover what > needs to be covered. > >>> 2. How do we understand complex computer programs? > >> The other topic I think would benefit Leo is improved persistence. > > We shall more forward on this, but imo persistence is *usually* more > of a convenience than a fundamental requirement for understanding.
Right, IYO it is a convenience, IMO it is critical. The difference is due to different learning styles and problem domain. > The real question related to understanding is "persistence of what?" - tabs: currently being addressed by session work - layout of <add-editor> status - layout of viewrender status Behind this is the difference between decomposition and structuring of complexity (outlining) and correlation and visualization of complexity (layout). There is a point where narrowing focus is required, but my learning style seems to also require higher level overview. > > Leo is what it is because outline structure is the fundamental thing > that persists. Everything else is secondary, by a very large margin. IYO. IMO, the ease of scripting/customizability is at least as important as outlining. Again, your learning style is different than mine. > >> Optimizing versioning capability is related to persistence. > > Again, versioning may be added to Leo, but it is not, imo, the key to > understanding complex code or other data. Again, the question is, > "versioning of what?" Versioning of text has no chance, imo, of > creating a breakthrough in understanding. MO differs from YO. I think adding dimensions to the work space increases opportunity for understanding. Layout represents the spatial dimension, versioning the temporal dimension. I expect to benefit from layouts which visually reflect the relationship between source, config, log, render ... elements, and want to click arrows on a node and travel back and forth in time. Each will help me form the BIG picture required to decide what keys to press in this LITTLE node. > > Outline structure is the only thing that Leo supports that creates a > breakthrough in understanding (and power). IYO. A huge part of Leo is > simply devoted to translating back and forth between the outlined > (structured) world and the flat (text) world. > > The questions I am considering are: > > 1. Is there anything *else* (besides outline structure) that could > conceivably create a breakthrough in understanding in complex data? > > 2. Are there other ways of using outlines that could create a > breakthrough in understanding? > > Edward > > -- > You received this message because you are subscribed to the Google Groups > "leo-editor" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/leo-editor?hl=en. > > -- You received this message because you are subscribed to the Google Groups "leo-editor" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/leo-editor?hl=en.
