From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.2 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FROM,HTML_MESSAGE,MAILING_LIST_MULTI, NICE_REPLY_A,RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 1521 invoked from network); 13 Feb 2021 15:21:15 -0000 Received: from minnie.tuhs.org (45.79.103.53) by inbox.vuxu.org with ESMTPUTF8; 13 Feb 2021 15:21:15 -0000 Received: by minnie.tuhs.org (Postfix, from userid 112) id A12479BA54; Sun, 14 Feb 2021 01:21:13 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id A4DAA9503D; Sun, 14 Feb 2021 01:20:22 +1000 (AEST) Authentication-Results: minnie.tuhs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="C8ot1p3f"; dkim-atps=neutral Received: by minnie.tuhs.org (Postfix, from userid 112) id 02AB59503D; Sun, 14 Feb 2021 01:20:19 +1000 (AEST) Received: from mail-ot1-f46.google.com (mail-ot1-f46.google.com [209.85.210.46]) by minnie.tuhs.org (Postfix) with ESMTPS id BEAB59503C for ; Sun, 14 Feb 2021 01:20:17 +1000 (AEST) Received: by mail-ot1-f46.google.com with SMTP id y11so2128128otq.1 for ; Sat, 13 Feb 2021 07:20:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-language; bh=tuWsupGBnbpO1mMXQWZAsGp388auQ/QYt0HBk4rBvdE=; b=C8ot1p3fqcVOuTnjOoVC51qJ6KiS+rmAV9dJmVsgC9YF3yt0Gqkj+UALmAhSlk5jgF RBgVhKs7J9DHiA0g5pQ0DnB/I5TAIwmA78povbEl2iRwukdlMMmSUzuDtiS92otMYBKD wQSrG6rJ6WuoLhj0CDQdfsmhx+D0uQTbukYZ1IuK0ELRIYkiN5OV7LzHzi66kq1V5uQd jfduEpvyxFiZrn6N4WIbZeGwU4VO4MR/0NcT8mZGbmv0NDUmhZP3tf3mpfZMPyJJCI2M J0vm+t0UzRzUNsorPbTMwQnjscw52L7MnQWJMr3zQzHcj86GCEq18b4CqJPQod01hJAE 871A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language; bh=tuWsupGBnbpO1mMXQWZAsGp388auQ/QYt0HBk4rBvdE=; b=U6EuDGbPIKTyMAfvW2fZoKdroDJUp5Tm6nlIyBVzJ/BBM36sUVMNl7rjfm1ZH/nr1M j8XAvpkFVSN1Knw33WGBmG/fULXOJRfFRDAg+vZGvN6AxRszu+KdiWg7wkj9CeswoTv1 6RwpPfqYbRg9b4lUk4gAmbnhxzh3mF4A/YAyLCuN5kFaiL4D0MZG307trE50zI4j4wX/ hTOYmgfXQCkrwJvhhG3TD3vA8p8llrq+RuAH5Xf0vgsjQQYKCYI4QLyBX5bWyjqK4Gmf 3diY44BJiztZPu9QZwSxcwmbQyCcLG2JKcVTb0BFRaEwzDZbcedu+9hP2sJ54Ppm24gC eFKQ== X-Gm-Message-State: AOAM533SauNAz9ijnxEZ4GwGTkN8lr17x1tz64AxygQFZlowxwjdtNk+ aC6tmyEhCbWv3k9ZekXH71Xnfq5jqxmmUg== X-Google-Smtp-Source: ABdhPJw4bIWrMdwEolVtnRbab1+kG3Vi279fb0aBH3ssrTvjCOO/uq4zlMyQAFZ9d7UA9x56ojNFXg== X-Received: by 2002:a9d:190c:: with SMTP id j12mr1187691ota.259.1613229616194; Sat, 13 Feb 2021 07:20:16 -0800 (PST) Received: from terra.local (99-139-148-170.lightspeed.rcsntx.sbcglobal.net. [99.139.148.170]) by smtp.gmail.com with ESMTPSA id r1sm2073924otp.34.2021.02.13.07.20.15 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 13 Feb 2021 07:20:15 -0800 (PST) To: tuhs@minnie.tuhs.org References: <202102130900.11D903MT021054@cuzuco.com> From: Will Senn Message-ID: <22d1ac5d-caaa-5dd1-0a30-263b041b3a08@gmail.com> Date: Sat, 13 Feb 2021 09:20:14 -0600 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:78.0) Gecko/20100101 Thunderbird/78.7.1 MIME-Version: 1.0 In-Reply-To: <202102130900.11D903MT021054@cuzuco.com> Content-Type: multipart/alternative; boundary="------------94FB8A0053EBC5EF88F342D2" Content-Language: en-US Subject: Re: [TUHS] banner (was troff was not so widely usable) X-BeenThere: tuhs@minnie.tuhs.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: The Unix Heritage Society mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: tuhs-bounces@minnie.tuhs.org Sender: "TUHS" This is a multi-part message in MIME format. --------------94FB8A0053EBC5EF88F342D2 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit On 2/13/21 3:00 AM, Brian Walden wrote: > Thank you for banner! I used the data, abliet modified, 40 years ago > in 1981, for a banner program as well, on an IBM 1130 (manufactured 1972) > so it could print on an 1132 line printer. The floor would vibrate > when it printed those banners. I used "X" as the printed char as the > 1132 did not have the # char. But those banners looked great! > I wrote it in FORTRAN IV. On punched cards. I did this because > from 1980-1982 I only had access to UNIX on Monday evenings from > 7PM-9PM, using a DEC LA120 terminal, it was slow and never had > enough ink on the ribbon. > > I had only 8K of core memory with only EBCIDIC uppercase so there > were lots of compromises and cleverness needed - > - read in a 16-bit integer as a packed two 8-bit numbers > - limit the banner output to only A-Za-z0-9 !?#@'*+,-.= > - unpack the char data into buffer and then process it. > - fix the "U" charater data > - find the run-lenght ecnodings that could be consoldated to save space > (seeing those made me think it had to have been generated data) > > The program still survives here - http://ibm1130.cuzuco.com/ > (with sample output runs) > > Also since I had to type all those numbers onto punch cards > with a 029 keypunch, to speed things up I coded my own free-form > atoi() equivalent in FORTRAN, reading cards, then packed two numbers into > a integer, then punch out those numbers along with card ID numbers in columns > 73-80 on the 1442. This was many weeks of keypunching, checking, > fixing and re-keypunching. > That code is here http://ibm1130.cuzuco.com/ipack.html > > When done the deck was around 8" or so. It took well over a > minute to read in the data cards, after complition. > > Again thanks! Many hundreds of banners for many people were printed > by this, around 2 to 3 a week, until July 1982, when that IBM > was replaced by a Prime system. I still have many found memeories of > that 1130. > > -Brian > > Mary Ann Horton (mah at mhorton.net) wrote: >> We had vtroff at Berkeley around 1980, on the big Versatec wet plotter, >> 4 pages wide. We got really good at cutting up the pages on the output. >> >> It used the Hershey font. It was horrible. Mangled somehow, lots of >> parts of glyphs missing. I called it the "Horse Shit" font. >> >> I took it as my mission to clean it up. I wrote "fed" to edit it, dot by >> dot, on the graphical HP 2648 terminal at Berkeley. I got all the fonts >> reasonably cleaned up, but it was laborious. >> >> I still hated Hershey. It was my dream to get real C/A/T output at the >> largest 36 point size, and scan it in to create a decent set of Times >> fonts. I finally got the C/A/T output years later at Bell Labs, but >> there were no scanners available to me at the time. Then True Type came >> along and it was moot. >> >> I did stumble onto one nice rendition of Times Roman in one point size, >> from Stanford, I think. I used it to write banner(6). Nice. I wrote a banner program in 1984, as a freshman in college for the TRS-80 Model 100 laptop (with an 8x40 LCD), in BASIC, which if I recall was the OS of the thing? It would peek the character ROM and use the encodings (characters were stored in ROM as a 2d binary array bitmap) to determine what to print to the printer and did some form of vertical and horizontal expansion to reasonably fill up the sheets. I don't remember if I took the horizontal and vertical expansion as input from the user or what (it's been a while, and the code is long gone), or if I just figured out what looked good on the ol' dot matrix we had access to and set them... but it was, at the time, my crowning achievement in programming. Everyone else in the class took pages and pages of code to print their banners without reference to the character ROM, whereas mine did it in very few lines of easy to understand, if somewhat complex (not complicated, mind you), code (the story of my much later career). Wow, that brings back memories :).. snip! after writing what turned into my life story, I decided to spare y'all. Suffice it to say my early experiences with computation (Commodore PET, TRS-80 Model 100, DEC Rainbow 100) and later more formal educational experiences (my first real maths and upper division cs professors) changed my life's trajectory and gave me the tools to help me rise out of decades of extremely harsh circumstances. Thank you Dennis, especially for C. I wish I could have known you and thanked you personally. C was my vehicle out of the depths of poverty and hardship. Sigh, sniff, and smile. Now, I explore Unix, both historic and modern for fun, pester y'all with questions, opinions, and sundry, teach CS and IS for fun and pay, and hope that I can share 1/10th of the joy I experience every day with my students and inspire them to pursue careers in the field. Banner on! Will --------------94FB8A0053EBC5EF88F342D2 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 7bit
On 2/13/21 3:00 AM, Brian Walden wrote:
Thank you for banner! I used the data, abliet modified, 40 years ago
in 1981, for a banner program as well, on an IBM 1130 (manufactured 1972)
so it could print on an 1132 line printer. The floor would vibrate
when it printed those banners. I used "X" as the printed char as the
1132 did not have the # char. But those banners looked great!
I wrote it in FORTRAN IV. On punched cards. I did this because
from 1980-1982 I only had access to UNIX on Monday evenings from
7PM-9PM, using a DEC LA120 terminal, it was slow and never had
enough ink on the ribbon.

I had only 8K of core memory with only EBCIDIC uppercase so there
were lots of compromises and cleverness needed -
- read in a 16-bit integer as a packed two 8-bit numbers
- limit the banner output to only A-Za-z0-9 !?#@'*+,-.=
- unpack the char data into buffer and then process it.
- fix the "U" charater data
- find the run-lenght ecnodings that could be consoldated to save space
  (seeing those made me think it had to have been generated data)

The program still survives here - http://ibm1130.cuzuco.com/
(with sample output runs)

Also since I had to type all those numbers onto punch cards
with a 029 keypunch, to speed things up I coded my own free-form
atoi() equivalent in FORTRAN, reading cards, then packed two numbers into
a integer, then punch out those numbers along with card ID numbers in columns
73-80 on the 1442.  This was many weeks of keypunching, checking,
fixing and re-keypunching.
That code is here http://ibm1130.cuzuco.com/ipack.html

When done the deck was around 8" or so. It took well over a
minute to read in the data cards, after complition.

Again thanks! Many hundreds of banners for many people were printed
by this, around 2 to 3 a week, until July 1982, when that IBM
was replaced by a Prime system. I still have many found memeories of
that 1130.

-Brian

Mary Ann Horton (mah at mhorton.net) wrote:
We had vtroff at Berkeley around 1980, on the big Versatec wet plotter,
4 pages wide. We got really good at cutting up the pages on the output.

It used the Hershey font. It was horrible. Mangled somehow, lots of
parts of glyphs missing. I called it the "Horse Shit" font.

I took it as my mission to clean it up. I wrote "fed" to edit it, dot by
dot, on the graphical HP 2648 terminal at Berkeley. I got all the fonts
reasonably cleaned up, but it was laborious.

I still hated Hershey. It was my dream to get real C/A/T output at the
largest 36 point size, and scan it in to create a decent set of Times
fonts. I finally got the C/A/T output years later at Bell Labs, but
there were no scanners available to me at the time. Then True Type came
along and it was moot.

I did stumble onto one nice rendition of Times Roman in one point size,
from Stanford, I think. I used it to write banner(6).

    
Nice. I wrote a banner program in 1984, as a freshman in college for the TRS-80 Model 100 laptop (with an 8x40 LCD), in BASIC, which if I recall was the OS of the thing? It would peek the character ROM and use the encodings (characters were stored in ROM as a 2d binary array bitmap) to determine what to print to the printer and did some form of vertical and horizontal expansion to reasonably fill up the sheets. I don't remember if I took the horizontal and vertical expansion as input from the user or what (it's been a while, and the code is long gone), or if I just figured out what looked good on the ol' dot matrix we had access to and set them... but it was, at the time, my crowning achievement in programming. Everyone else in the class took pages and pages of code to print their banners without reference to the character ROM, whereas mine did it in very few lines of easy to understand, if somewhat complex (not complicated, mind you), code (the story of my much later career).

Wow, that brings back memories :).. snip! after writing what turned into my life story, I decided to spare y'all. Suffice it to say my early experiences with computation (Commodore PET, TRS-80 Model 100, DEC Rainbow 100) and later more formal educational experiences (my first real maths and upper division cs professors) changed my life's trajectory and gave me the tools to help me rise out of decades of extremely harsh circumstances. Thank you Dennis, especially for C. I wish I could have known you and thanked you personally. C was my vehicle out of the depths of poverty and hardship. Sigh, sniff, and smile. Now, I explore Unix, both historic and modern for fun, pester y'all with questions, opinions, and sundry, teach CS and IS for fun and pay, and hope that I can share 1/10th of the joy I experience every day with my students and inspire them to pursue careers in the field.

Banner on!

Will
--------------94FB8A0053EBC5EF88F342D2--