On Mon, 21 Oct 2019 at 06:45, Abhinav Rajagopalan <
abhinavrajagopalan(a)gmail.com> wrote:
Since you mentioned the word dd, the
utility which serves me like none
other for my frequent rewrites of images, it too has an interesting past,
it seems like 'dd' was non-unixy in it's design approach, if I'm to
believe
the lores around, which leads me to think that this might have been another
one of the many idiosyncratic naming conventions used back then. More on
the dd stuff:
http://www.catb.org/jargon/html/D/dd.html
Personally, I just like to think of it in my head as disk-disk.
I am pretty sure that "dd" derives from the "DD" statement in IBM JCL
that
stands for "Data Definition"
Here's a link to practical-ish documentation about that:
https://www.ibm.com/support/knowledgecenter/zosbasics/com.ibm.zos.zjcl/zjcl…
On MVS, TSO, and such systems, compiled programs would be written in
languages like COBOL, PL/1, FORTRAN, and such, and the programs would
commonly reference input and output devices. The programs are controlled
(we could say, "scripted") by JCL code that indicate the files (possibly
other devices) to be connected up. Each file that is accessed gets its own
DD line in the JCL script that indicates the various metadata about the
file, such as its name, block size, storage class, how much space is
allocated, literally dozens of options.
Back in the '90s my "Y2K remediation" involvement was at American
Airlines;
I was one of the Unix guys working alongside mainframe guys; as soon as I
started seeing the JCL for their TSO batch jobs, it was pretty obvious that
this was from whence derived the dd command on Unix. The mainframe guys
enthused a lot about a sorting tool with similar syntax called SyncSort
that they'd use to do many of the things we'd do with cut and grep.
The Jargon File claim that dd is deprecated makes little sense; dd is THE
good tool for grabbing exact chunks of data out of binary files, and I
haven't seen a would-be successor. It would be interesting to see some
alternative constructed; given that it's all about dealing with pretty
messy sorts of I/O work, an alternative is liable to have its messiness in
different places.
--
When confronted by a difficult problem, solve it by reducing it to the
question, "How would the Lone Ranger handle this?"