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.1 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,MAILING_LIST_MULTI,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 13251 invoked from network); 28 May 2023 20:17:15 -0000 Received: from minnie.tuhs.org (2600:3c01:e000:146::1) by inbox.vuxu.org with ESMTPUTF8; 28 May 2023 20:17:15 -0000 Received: from minnie.tuhs.org (localhost [IPv6:::1]) by minnie.tuhs.org (Postfix) with ESMTP id CB47F402E6; Mon, 29 May 2023 06:17:05 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuhs.org; s=dkim; t=1685305026; h=from:from:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:list-id:list-help: list-owner:list-unsubscribe:list-subscribe:list-post; bh=BLPGSK3yi2JjFVb0xMyV4eGb2NUG0TEo2uBB0TRZ7p0=; b=YFpblk3zBZCYqRDVNDGTE/B3YXVcDijKH5JWv5J8BzcxbWEsaz0t6ZQ9HewjGPZ7PkHwF9 gf6IXikFT+/Rdf3M6A9su2SY5dwqC5p+5W1Rz4aRr5J1i0qzvdEM8M2fnG8Buj3gd9uYHy uKqWAY2BqDQUcocVTdCEPbWajRKMkEg= Received: from mail-40135.protonmail.ch (mail-40135.protonmail.ch [185.70.40.135]) by minnie.tuhs.org (Postfix) with ESMTPS id EF236402DA for ; Mon, 29 May 2023 06:16:48 +1000 (AEST) Date: Sun, 28 May 2023 20:16:38 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1685305006; x=1685564206; bh=BLPGSK3yi2JjFVb0xMyV4eGb2NUG0TEo2uBB0TRZ7p0=; h=Date:To:From:Subject:Message-ID:Feedback-ID:From:To:Cc:Date: Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector; b=X5l1oLAxTb6pde7XeMGrFf0urjybJRdI+h7q2rA7qyBXgXq30sQGOhvBvO6wNlLNI BxMKkHgT/eC/PyOuwV/T+uDRIHpCfeemlrupRzyWn9sMkYo+v1qdOUuwH0UmoSiZDY Ci7E7HadcaMCA0B9Uwpt7jkfqid2cbYqIJKibRqaptJSzAMN+8ZJlKCwQXlq92CF4c Vl1DdX4CF/aKhp9tzCmCsqMZAv6zuzULhxtyQnGnvLeNzQ28AoMAKKmzhmS+Ox3pX9 uaLZeWCecCUJi0gUbd6iWOhDLF6+Vi46kokItSgZpD6GYVVeQHwbzpBLAD613bySMH 0E73o021BJYZw== To: The Eunuchs Hysterical Society Message-ID: Feedback-ID: 35591162:user:proton MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Message-ID-Hash: GWVFGE734NJNYOXD76MM7X7JUMOFBTYD X-Message-ID-Hash: GWVFGE734NJNYOXD76MM7X7JUMOFBTYD X-MailFrom: segaloco@protonmail.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.6b1 Precedence: list Subject: [TUHS] CB-UNIX 2.3 Manual Split List-Id: The Unix Heritage Society mailing list Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: segaloco via TUHS Reply-To: segaloco Hello, I'm just emailing to notify that I've managed to split up the CB-UNI= X 2.3 manual in the archive[1] into individual items. I've moved the origi= nal contents of this directory into the "raw" directory, and now the split = PDFs of the manual live under "man". I intend to do the same with the sour= ce code scans, breaking them up into individual files, which will eventuall= y go in an accompanying "sys" folder. As for my process, decided to throw together a little something to facilita= te splitting up PDFs from a simple table. I've created two scripts[2], pdf= slice and pdfbutcher. The former is an interface on top of Ghostscript to = take a particular page-bound slice out of a PDF on stdin and drop it on std= out. The latter then reads a tab-delimited list of slices out of a table, = butchering the PDFs down into their various cuts. The format is dirt simpl= e: the source PDF name, the start page, the end page, and the destination f= ile prefix to which .pdf is appended on output. This isn't by any means a = formal or robust solution, just something that came together easy and works= for my application. I'm sure this could be made much more efficient; it j= ust operates on one slice at a time, including all the opening and closing = for each slice, but gets the job done. Feel free to use it for whatever ju= st don't complain to me when it eats your favorite file or scribbles all ov= er your disk. Also, an example input file for the curious is included[3]. As for the CB-UNIX pages, my hunch is that whoever owned this manual had a = CB-UNIX 2.1 manual originally and "upgraded" it with supplied pages for 2.3= , as was conventional with documentation updates. For this reason, there a= re a few random blank pages and several locally printed pages strewn throug= hout. In any case a blank page was encountered, it was retained in the doc= ument for the manpage it followed. In other words, if there is a blank pag= e between a.1 and b.1, it is appended to a.1. The likely reason for blank = pages on the back of 2.1 pages was that new copies of the same 2.1 pages we= re provided with the replacements to keep the page spacing correct with res= pect to the pages not being replaced. That's my hunch anyway. There are also pages here and there missing a page, or more likely that wer= e supposed to be removed in the 2.1->2.3 update and simply weren't. Plus, = there are a few instances of more than one copy of a non-local version of a= page present (in other words, situations where the original 2.1 page wasn'= t removed but a 2.3 or other newer page was also added). In all these circ= umstances, the 2.1 page is the one with the normal name and the 2.3 page ha= s been affixed .1l instead of .1, despite not being in the "local pages" PD= Fs. I'm open to suggestions but my reasoning was that if the 2.1 was the o= riginal page for that actual binder, and wasn't replaced by 2.3 but rather = that was added, then the 2.3 page for all intents and purposes is a local a= ddition. When in doubt, [4] should be a reasonably complete list of which = non-l-suffixed pages aren't from 2.1. Anything else non-local should origi= nate from the previous manual. Also, where there were duplicates on pages = that otherwise couldn't be solved this way, the older of the two pages is m= arked with a .o in the path before the manual section, keeping with the CB-= UNIX convention of doing this for old versions of pages. As usual, please let me know if anything seems amiss. I'll admit after a f= ew spot checks I didn't check each and every page my script popped out for = accuracy, but everything I've checked had the right pages. If you do find = something off and want to try and slice it right, the scripts above include= manpages that should give you a good idea on how to use them if simply rea= ding the scripts isn't clear. - Matt G. [1] - https://www.tuhs.org/Archive/Distributions/USDL/CB_Unix/ [2] - https://gitlab.com/segaloco/misc/-/tree/master/scripts [3] - https://pastebin.com/9s2ene9g [4] - https://pastebin.com/jHw7JeDc P.S. Wholly unrelated but just out of curiosity, if anyone knows the 16650 = UART well and has some time, can you please email me privately? It's tange= ntial to a UNIX-y project but I'll spare the details here.