Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.forth > #60627 > unrolled thread
| Started by | Richard Owlett <rowlett@cloud85.net> |
|---|---|
| First post | 2017-06-11 14:31 -0500 |
| Last post | 2017-06-15 09:36 -0700 |
| Articles | 18 — 14 participants |
Back to article view | Back to comp.lang.forth
Shadow blocks - "What is old is new again" ;/ Richard Owlett <rowlett@cloud85.net> - 2017-06-11 14:31 -0500
Re: Shadow blocks - "What is old is new again" ;/ Paul Rubin <no.email@nospam.invalid> - 2017-06-12 00:37 -0700
Re: Shadow blocks - "What is old is new again" ;/ Richard Owlett <rowlett@cloud85.net> - 2017-06-12 08:23 -0500
Re: Shadow blocks - "What is old is new again" ;/ "HAA" <someone@microsoft.com> - 2017-06-13 12:09 +1000
Re: Shadow blocks - "What is old is new again" ;/ hughaguilar96@gmail.com - 2017-06-12 19:42 -0700
Re: Shadow blocks - "What is old is new again" ;/ Julian Fondren <julian.fondren@gmail.com> - 2017-06-12 19:55 -0700
Re: Shadow blocks - "What is old is new again" ;/ Cecil Bayona <cbayona@cbayona.com> - 2017-06-12 22:09 -0500
Re: Shadow blocks - "What is old is new again" ;/ "HAA" <someone@microsoft.com> - 2017-06-13 19:39 +1000
Re: Shadow blocks - "What is old is new again" ;/ minforth@arcor.de - 2017-06-13 04:01 -0700
Re: Shadow blocks - "What is old is new again" ;/ JennyB <jennybrien@googlemail.com> - 2017-06-13 09:28 -0700
Re: Shadow blocks - "What is old is new again" ;/ Mark Wills <markwills1970@gmail.com> - 2017-06-14 01:05 -0700
Re: Shadow blocks - "What is old is new again" ;/ Lars Brinkhoff <lars.spam@nocrew.org> - 2017-06-14 10:41 +0200
Re: Shadow blocks - "What is old is new again" ;/ Mark Wills <markwills1970@gmail.com> - 2017-06-14 03:42 -0700
Re: Shadow blocks - "What is old is new again" ;/ stephen@mpeforth.com (Stephen Pelc) - 2017-06-13 10:06 +0000
Re: Shadow blocks - "What is old is new again" ;/ "HAA" <someone@microsoft.com> - 2017-06-13 20:42 +1000
Re: Shadow blocks - "What is old is new again" ;/ "Elizabeth D. Rather" <erather@forth.com> - 2017-06-14 09:07 -1000
Shadow blocks - "What is old is new again" ;/ Brad Eckert <hwfwguy@gmail.com> - 2017-06-14 23:09 -0700
Re: Shadow blocks - "What is old is new again" ;/ sdwjack69@gmail.com - 2017-06-15 09:36 -0700
| From | Richard Owlett <rowlett@cloud85.net> |
|---|---|
| Date | 2017-06-11 14:31 -0500 |
| Subject | Shadow blocks - "What is old is new again" ;/ |
| Message-ID | <lPidnXRbTbwOB6DEnZ2dnUU7-SfNnZ2d@supernews.com> |
I've been around FORTH long enough to be aware of "shadow blocks". I'm also sane enough to to recognize that "what I think I 'know' " may bear little or no resemblance to reality ;) Is there any online reference available to the how|why|what|etc of "shadow blocks". [https://archive.org links welcome ;] I think I have an incipient germ of a possible remedy to a modern documentation problem [enough weasel words? ;]. As the saying goes "It is better to remain silent and thought a fool than ..." Links anyone? TIA
[toc] | [next] | [standalone]
| From | Paul Rubin <no.email@nospam.invalid> |
|---|---|
| Date | 2017-06-12 00:37 -0700 |
| Message-ID | <8760g14px9.fsf@nightsong.com> |
| In reply to | #60627 |
Richard Owlett <rowlett@cloud85.net> writes: > Is there any online reference available to the how|why|what|etc of > "shadow blocks". [https://archive.org links welcome ;] I think it's well known. I've certainly heard of them from multiple places. Also, ArrayForth uses them and the Forth code for the GA144 firmware has them (you can download it and convert to HTML). The basic idea was that you'd put your code in screens 2,4,6... and documentation in screens 1,3,5... and then your code editor would have a quick way to flip between a code screen and its shadow screen. Because of the low-resolution computer video of the old days, and maybe because of the 1K block size, traditional Forth screens were 16 lines * 64 characters. These days screens are larger and have more resolution, so you can write code and comments in a more interspersed and natural style.
[toc] | [prev] | [next] | [standalone]
| From | Richard Owlett <rowlett@cloud85.net> |
|---|---|
| Date | 2017-06-12 08:23 -0500 |
| Message-ID | <-6OdnQlcU95VCKPEnZ2dnUU7-Y_NnZ2d@supernews.com> |
| In reply to | #60641 |
On 06/12/2017 02:37 AM, Paul Rubin wrote: > Richard Owlett <rowlett@cloud85.net> writes: >> Is there any online reference available to the how|why|what|etc of >> "shadow blocks". [https://archive.org links welcome ;] > > I think it's well known. I've certainly heard of them from multiple > places. Also, ArrayForth uses them and the Forth code for the GA144 > firmware has them (you can download it and convert to HTML). > > The basic idea was that you'd put your code in screens 2,4,6... and > documentation in screens 1,3,5... and then your code editor would > have a quick way to flip between a code screen and its shadow > screen. Because of the low-resolution computer video of the old > days, and maybe because of the 1K block size, traditional Forth > screens were 16 lines * 64 characters. > > These days screens are larger and have more resolution, so you can > write code and comments in a more interspersed and natural style. > Thank you. My memory matched reality. My problem is finding Linux man pages to be intrinsically opaque if I don't already some background involving that command. My analysis is that man pages are written by experts for experts. I know, a minority opinion. Having been told so when describing problems with one man page or another. What my current mental image is might be described as a amalgam of a wiki and a blog. The user would go to the website and enter the command's name. The first thing displayed would be the content of a a standard man page. There would be a set of selection buttons to move among "man page"/examples/tutorial. I envision highlighting a keyword on one page would lead to the appropriate section when a different page was selected. I was looking for a web reference to demonstrate that similar things have worked in the past.
[toc] | [prev] | [next] | [standalone]
| From | "HAA" <someone@microsoft.com> |
|---|---|
| Date | 2017-06-13 12:09 +1000 |
| Message-ID | <ohnhes$ce4$1@gioia.aioe.org> |
| In reply to | #60641 |
Paul Rubin wrote: > Richard Owlett <rowlett@cloud85.net> writes: > > Is there any online reference available to the how|why|what|etc of > > "shadow blocks". [https://archive.org links welcome ;] > > I think it's well known. I've certainly heard of them from multiple > places. Also, ArrayForth uses them and the Forth code for the GA144 > firmware has them (you can download it and convert to HTML). > > The basic idea was that you'd put your code in screens 2,4,6... and > documentation in screens 1,3,5... and then your code editor would have a > quick way to flip between a code screen and its shadow screen. AFAIK shadows were located on the second half of the storage e.g. if your disk/file was 600 blocks then the shadows appeared on blocks 300-599. > Because > of the low-resolution computer video of the old days, and maybe because > of the 1K block size, traditional Forth screens were 16 lines * 64 > characters. > > These days screens are larger and have more resolution, so you can write > code and comments in a more interspersed and natural style. Last I heard Chuck still favored 1K screens as being the optimum size chunk of source to manage at one time. There is something about that.
[toc] | [prev] | [next] | [standalone]
| From | hughaguilar96@gmail.com |
|---|---|
| Date | 2017-06-12 19:42 -0700 |
| Message-ID | <05d06c5a-5944-4871-92cb-6d064e31ac4f@googlegroups.com> |
| In reply to | #60673 |
On Monday, June 12, 2017 at 7:08:33 PM UTC-7, HAA wrote: > Paul Rubin wrote: > > Richard Owlett <rowlett@cloud85.net> writes: > > > Is there any online reference available to the how|why|what|etc of > > > "shadow blocks". [https://archive.org links welcome ;] > > > > I think it's well known. I've certainly heard of them from multiple > > places. Also, ArrayForth uses them and the Forth code for the GA144 > > firmware has them (you can download it and convert to HTML). > > > > The basic idea was that you'd put your code in screens 2,4,6... and > > documentation in screens 1,3,5... and then your code editor would have a > > quick way to flip between a code screen and its shadow screen. > > AFAIK shadows were located on the second half of the storage e.g. if your > disk/file was 600 blocks then the shadows appeared on blocks 300-599. This makes sense to me --- allows THRU to continue working. There is also -> that can be put at the end of a screen --- this is a bad idea --- this prevents screens from being give to LOAD one at a time for testing purposes. I never used any Forth that had shadow screens --- the only one I was aware of, was F83 --- but I never used F83 as I got into UR/Forth and didn't pay much attention to the PD Forths available. > > Because > > of the low-resolution computer video of the old days, and maybe because > > of the 1K block size, traditional Forth screens were 16 lines * 64 > > characters. > > > > These days screens are larger and have more resolution, so you can write > > code and comments in a more interspersed and natural style. > > Last I heard Chuck still favored 1K screens as being the optimum size chunk > of source to manage at one time. There is something about that. I'm not opposed to screens for source-code. I always liked UR/Forth's screen editor. I started writing MFX using screens, but then was told to switch to seq files because that was the company standard, so I did. IIRC, I used MultiEdit then. --- I might write a screen editor and put it in the novice-package --- a big problem is that AT-XY has a bug in VFX and this will screw up any editor or other kind of text UI I might write.
[toc] | [prev] | [next] | [standalone]
| From | Julian Fondren <julian.fondren@gmail.com> |
|---|---|
| Date | 2017-06-12 19:55 -0700 |
| Message-ID | <7dca6c89-ad7e-400d-9136-394b67c6afd9@googlegroups.com> |
| In reply to | #60675 |
On Monday, June 12, 2017 at 9:42:21 PM UTC-5, hughag...@gmail.com wrote: > On Monday, June 12, 2017 at 7:08:33 PM UTC-7, HAA wrote: > > > > AFAIK shadows were located on the second half of the storage e.g. if your > > disk/file was 600 blocks then the shadows appeared on blocks 300-599. > > This makes sense to me --- allows THRU to continue working. THRU works just as well with odd or even blocks as shadow blocks. It skips the shadow blocks. An advantage of interleaving shadow blocks, especially relevant if you're using a block file, is that the total number of blocks can grow or shrink without the offset making less sense. You can also slice off a contiguous group of blocks (or add one to your block file) without worrying about getting the documentation. The 'big offset' strategy of shadow blocks was more appropriate for the floppy era. > There is also -> that can be put at the end of a screen --- this is a bad idea --- this prevents screens from being give to LOAD one at a time for testing purposes. > I know this as --> Same deal: it can add 2 instead of 1, to skip the shadow block. > I never used any Forth that had shadow screens --- the only one I was aware of, was F83 --- but I never used F83 as I got into UR/Forth and didn't pay much attention to the PD Forths available. > Enth/Flux had shadow blocks. Pygmy Forth probably has them as well, since Frank Sergeant's Emacs mode support them. > --- I might write a screen editor and put it in the novice-package --- a big problem is that AT-XY has a bug in VFX and this will screw up any editor or other kind of text UI I might write. The defect is, again, in your choice of terminal. Pick one that supports the control code that VFX is emitting.
[toc] | [prev] | [next] | [standalone]
| From | Cecil Bayona <cbayona@cbayona.com> |
|---|---|
| Date | 2017-06-12 22:09 -0500 |
| Message-ID | <ohnkq7$hfn$1@dont-email.me> |
| In reply to | #60675 |
On 6/12/2017 9:42 PM, hughaguilar96@gmail.com wrote: > On Monday, June 12, 2017 at 7:08:33 PM UTC-7, HAA wrote: > > There is also -> that can be put at the end of a screen --- this is a bad idea --- this prevents screens from being give to LOAD one at a time for testing purposes. When I used Pygmy Forth I would no have one screen load the next, instead the first page had a series of load commands to load one page at a time, so I could have more control over what loaded. Pygmy had a nice screen editor with shadow pages. > I never used any Forth that had shadow screens --- the only one I was aware of, was F83 --- but I never used F83 as I got into UR/Forth and didn't pay much attention to the PD Forths available. > >> Last I heard Chuck still favored 1K screens as being the optimum size chunk >> of source to manage at one time. There is something about that. > It could be a vision issue as I read he has eye problems, large character for easy read. > I'm not opposed to screens for source-code. I always liked UR/Forth's screen editor. I started writing MFX using screens, but then was told to switch to seq files because that was the company standard, so I did. IIRC, I used MultiEdit then. --- I might write a screen editor and put it in the novice-package --- a big problem is that AT-XY has a bug in VFX and this will screw up any editor or other kind of text UI I might write. > I been looking for a copy of UR/Forth with source so I can learn from it but so far I have not found it. I did find a copy of LMI Professional Forth and I also found some source, but I have not looked at it to see what I have. Can't you create your own AT-XY so it doesn't have the bug? Are you using the free version of VFX so you don't have the source? -- Cecil - k5nwa
[toc] | [prev] | [next] | [standalone]
| From | "HAA" <someone@microsoft.com> |
|---|---|
| Date | 2017-06-13 19:39 +1000 |
| Message-ID | <ohobrg$1j6v$1@gioia.aioe.org> |
| In reply to | #60678 |
Cecil Bayona wrote:
> ...
> > On Monday, June 12, 2017 at 7:08:33 PM UTC-7, HAA wrote:
> ...
> >> Last I heard Chuck still favored 1K screens as being the optimum size chunk
> >> of source to manage at one time. There is something about that.
> >
>
> It could be a vision issue as I read he has eye problems, large
> character for easy read.
The reference was to this statement:
C.M. "My Forth has always utilized 1KB blocks of code. This is a
quantum that is comprehensible and can be seen on a monitor.
I can't think of code I'd call beautiful that was larger than this."
[toc] | [prev] | [next] | [standalone]
| From | minforth@arcor.de |
|---|---|
| Date | 2017-06-13 04:01 -0700 |
| Message-ID | <94df802b-db47-484a-bf4c-bc0d10e43620@googlegroups.com> |
| In reply to | #60684 |
Am Dienstag, 13. Juni 2017 11:38:59 UTC+2 schrieb HAA: > Cecil Bayona wrote: > > ... > > > On Monday, June 12, 2017 at 7:08:33 PM UTC-7, HAA wrote: > > ... > > >> Last I heard Chuck still favored 1K screens as being the optimum size chunk > > >> of source to manage at one time. There is something about that. > > > > > > > It could be a vision issue as I read he has eye problems, large > > character for easy read. > > The reference was to this statement: > > C.M. "My Forth has always utilized 1KB blocks of code. This is a > quantum that is comprehensible and can be seen on a monitor. > I can't think of code I'd call beautiful that was larger than this." 1k blocks on 1 screen often enforce a horizontal coding style, which is not always good. When I develop new routines I tend to write in vertical style with lots of short-hand comments. Once they are okay, I compress them to more "horizontality" (nice word that :-))
[toc] | [prev] | [next] | [standalone]
| From | JennyB <jennybrien@googlemail.com> |
|---|---|
| Date | 2017-06-13 09:28 -0700 |
| Message-ID | <05a4e130-dd52-4236-b108-5508519fe3a1@googlegroups.com> |
| In reply to | #60687 |
Back in the days of the Amstrad PCW I wrote a variant that managed source in 1k blocks but in lines of variable length (up to 32 chars long and 30 per block, the most that could be veiwed without scrolling). That allowed me to view two code screens or a code screen and its shadow at the same time, and use INDEX to list the first lines of screens and look up references. It was a lot faster than scrolling a long text file on an 8-bit computer. I still havery the then ANS draft Standard in this format on a 3" disk somewhere, but I doubt if it can still be read.
[toc] | [prev] | [next] | [standalone]
| From | Mark Wills <markwills1970@gmail.com> |
|---|---|
| Date | 2017-06-14 01:05 -0700 |
| Message-ID | <dd02fced-0638-4fe9-855e-852334b589b0@googlegroups.com> |
| In reply to | #60700 |
On Tuesday, 13 June 2017 17:28:57 UTC+1, JennyB wrote: > Back in the days of the Amstrad PCW I wrote a variant that managed source in 1k blocks but in lines of variable length (up to 32 chars long and 30 per block, the most that could be veiwed without scrolling). That allowed me to view two code screens or a code screen and its shadow at the same time, and use INDEX to list the first lines of screens and look up references. It was a lot faster than scrolling a long text file on an 8-bit computer. > > I still havery the then ANS draft Standard in this format on a 3" disk somewhere, but I doubt if it can still be read. What does INDEX do? I can't remember.
[toc] | [prev] | [next] | [standalone]
| From | Lars Brinkhoff <lars.spam@nocrew.org> |
|---|---|
| Date | 2017-06-14 10:41 +0200 |
| Message-ID | <86o9tr9d22.fsf@molnjunk.nocrew.org> |
| In reply to | #60712 |
Mark Wills wrote: > JennyB wrote: >> use INDEX to list the first lines of screens > > What does INDEX do? I can't remember. Prints the first line of each screen in a range. That line should typically have a short description of the contents its screen.
[toc] | [prev] | [next] | [standalone]
| From | Mark Wills <markwills1970@gmail.com> |
|---|---|
| Date | 2017-06-14 03:42 -0700 |
| Message-ID | <f1511e11-79ae-48a7-a393-bed0bb1af42a@googlegroups.com> |
| In reply to | #60713 |
On Wednesday, 14 June 2017 09:41:11 UTC+1, Lars Brinkhoff wrote: > Mark Wills wrote: > > JennyB wrote: > >> use INDEX to list the first lines of screens > > > > What does INDEX do? I can't remember. > > Prints the first line of each screen in a range. That line should > typically have a short description of the contents its screen. Thanks, Lars.
[toc] | [prev] | [next] | [standalone]
| From | stephen@mpeforth.com (Stephen Pelc) |
|---|---|
| Date | 2017-06-13 10:06 +0000 |
| Message-ID | <593fb802.496871748@news.eternal-september.org> |
| In reply to | #60678 |
On Mon, 12 Jun 2017 22:09:17 -0500, Cecil Bayona <cbayona@cbayona.com> wrote: >Can't you create your own AT-XY so it doesn't have the bug? Are you >using the free version of VFX so you don't have the source? As is usual with Hugh, he does not read the manual and he does not listen to what he is told. The VFX console is *NOT* an old-style addressable terminal; it's a logging device. If Hugh had loaded the file Lib\Win32\Genio\Terminal.fth he could have what he wants. Stephen -- Stephen Pelc, stephenXXX@mpeforth.com MicroProcessor Engineering Ltd - More Real, Less Time 133 Hill Lane, Southampton SO15 5AF, England tel: +44 (0)23 8063 1441, fax: +44 (0)23 8033 9691 web: http://www.mpeforth.com - free VFX Forth downloads
[toc] | [prev] | [next] | [standalone]
| From | "HAA" <someone@microsoft.com> |
|---|---|
| Date | 2017-06-13 20:42 +1000 |
| Message-ID | <ohofi7$1qj8$1@gioia.aioe.org> |
| In reply to | #60685 |
Stephen Pelc wrote: > On Mon, 12 Jun 2017 22:09:17 -0500, Cecil Bayona <cbayona@cbayona.com> > wrote: > > >Can't you create your own AT-XY so it doesn't have the bug? Are you > >using the free version of VFX so you don't have the source? > > As is usual with Hugh, he does not read the manual and he does not > listen to what he is told. The VFX console is *NOT* an old-style > addressable terminal; it's a logging device. If Hugh had loaded > the file > Lib\Win32\Genio\Terminal.fth > he could have what he wants. > > Stephen It's hardly intuitive. Anyone d/loading a 'Forth for Windows' would reasonably expect AT-XY to work 'out of the box'. If they didn't give up there and then and chose instead to read the manual, they'd see Chapter 2 - 'Installation and Introduction' comprising 'Installation' and 'Configuration' ... which has nothing to help them.
[toc] | [prev] | [next] | [standalone]
| From | "Elizabeth D. Rather" <erather@forth.com> |
|---|---|
| Date | 2017-06-14 09:07 -1000 |
| Message-ID | <DcCdnRtN-sjDFNzEnZ2dnUU7-XXNnZ2d@supernews.com> |
| In reply to | #60673 |
On 6/12/17 4:09 PM, HAA wrote: > Paul Rubin wrote: >> Richard Owlett <rowlett@cloud85.net> writes: >>> Is there any online reference available to the how|why|what|etc of >>> "shadow blocks". [https://archive.org links welcome ;] >> >> I think it's well known. I've certainly heard of them from multiple >> places. Also, ArrayForth uses them and the Forth code for the GA144 >> firmware has them (you can download it and convert to HTML). >> >> The basic idea was that you'd put your code in screens 2,4,6... and >> documentation in screens 1,3,5... and then your code editor would have a >> quick way to flip between a code screen and its shadow screen. > > AFAIK shadows were located on the second half of the storage e.g. if your > disk/file was 600 blocks then the shadows appeared on blocks 300-599. > >> Because >> of the low-resolution computer video of the old days, and maybe because >> of the 1K block size, traditional Forth screens were 16 lines * 64 >> characters. >> >> These days screens are larger and have more resolution, so you can write >> code and comments in a more interspersed and natural style. > > Last I heard Chuck still favored 1K screens as being the optimum size chunk > of source to manage at one time. There is something about that. This strategy goes way back, to the era of very small-capacity floppy disks. The offset was usually the capacity of a floppy, so you could have your code on one and your shadow blocks on the other, one floppy in each drive. FORTH, Inc. systems also had the command Q that would toggle back and forth, between the source block and its shadow. Very convenient. When we got larger disks, then the offset could be as large as you expected your application to be (in blocks). We also had a "Printing" utility that could print listings 3 blocks/page with the source on the left and the shadow on the right. Very easy to read that way. When transitioning to source in files, Forth, Inc. retained the practice of having regions of commentary at the beginning of a logical section of code, though of course there was a lot more flexibility. Cheers, Elizabeth -- Elizabeth D. Rather FORTH, Inc. 6080 Center Drive, Suite 600 Los Angeles, CA 90045 USA
[toc] | [prev] | [next] | [standalone]
| From | Brad Eckert <hwfwguy@gmail.com> |
|---|---|
| Date | 2017-06-14 23:09 -0700 |
| Message-ID | <345a8e94-1ea6-47fc-a808-b3bcd3174b9f@googlegroups.com> |
| In reply to | #60627 |
I once put all of my / comments at column 65, since my FHD monitor had no problem displaying 130 characters across. It had a very shadow blockish look. I should try that style again. Maybe I can make it compatible with automated documentation extraction. Is there any reason 80 columns is a popular limit, other than ancient terminals and punch cards?
[toc] | [prev] | [next] | [standalone]
| From | sdwjack69@gmail.com |
|---|---|
| Date | 2017-06-15 09:36 -0700 |
| Message-ID | <d6dbb460-c84a-4eb7-ab32-9fe04f4fb1ef@googlegroups.com> |
| In reply to | #60627 |
On Sunday, June 11, 2017 at 2:31:36 PM UTC-5, Richard Owlett wrote: > I've been around FORTH long enough to be aware of "shadow blocks". > I'm also sane enough to to recognize that "what I think I 'know' " may > bear little or no resemblance to reality ;) > > Is there any online reference available to the how|why|what|etc of > "shadow blocks". [https://archive.org links welcome ;] > > I think I have an incipient germ of a possible remedy to a modern > documentation problem [enough weasel words? ;]. > > As the saying goes "It is better to remain silent and thought a fool > than ..." > > Links anyone? > TIA I put source and comments on normal file and use my text editor for updates. Then I install the source to block file with script that uses the simple Forth text editor to write to the block file.
[toc] | [prev] | [standalone]
Back to top | Article view | comp.lang.forth
csiph-web