About two weeks ago in a message to this mailing list titled "Make's
place in the operating system" I discussed the importance of focusing
on operations.

In this article I will provide a typical example of an operation and
discuss how we can use it in our advocacy efforts.

This is from the Netpbm online "Usage" page
(https://netpbm.sourceforge.net/doc/#prognotes):

  Here is an example of a shell command to convert all your PNG files
  (named *.png) to JPEG files named *.jpg:

  for i in *.png; do pngtopam $i | pnmtojpeg >`basename $i .png`.jpg; done

---

Improvements in graphical user interfaces have made computers easy to
use.  However, graphical user interfaces become cumbersome when the
same task must be repeated many times over.

The above example illustrates how the problem is solved.  The
operating system provides a general framework to execute a command
on multiple files.

Although it is possible to give converters an additional capability to
accept multiple input files, it is more rational to let the OS take care
of that than add the feature to every converter.

Adding the a multiple-input file feature to any utility requires
effort.  In addition small variations may appear on how it is actually
implemented, obliging users to learn anew the details unique to each
application.  It makes more sense to provide a universal apparatus for
handling the common case of multiple inputs.

In many real-life instances the files the user desires to convert are
not all in one flat directory but rather scattered around, often in a
nested structure of directories.  Also there are cases in which there
are files which should not be converted mingling with others which
definitely should.  If each application had to offer the capacity to
deal with such complicated requests, they would become sophisticated
in the bad sense of the word.

One advantage of the above example is that it can be modified to make
it just report the conversions instead of actually conducting them.
With preliminary review the operation becomes much safer.

I notice that while that some engineers have the skills to perform the
above, while others do not, there is no concise expression to
differentiate.

The absence of terminology reflects low interest in the issue.  Batch
conversion of multiple files is a mundane task that should not be
taken lightly.  A typo can lead to erasure of files or the creation of
too many files.  In another scenario the demands of an inefficient
conversion may add up and eventually overload the entire system.

There is much effort spent in advertising the "Linux" OS as
user-friendly and easy to use.  People who seek user-friendly
computers regard command-line tools as a relic of the past.  Any
agent promoting "Linux" would thus rather hide them from the
general public.  Thus people have few opportunities to see how
experts actually do work with the OS.

In addition there is a persistent campaign against the name "GNU".
The above procedure employs GNU Bash and GNU coreutils.  Other
utilities often used in conjunction are provided by GNU findutils,
GNU diffutils, GNU grep, GNU sed, GNU awk.  The negative campaign
discourages people from understanding how GNU utilities are actually
employed and leaves them with a shallow, distorted view of the entire
system.

Some attempts have appeared to find a term to fill the void.  "Cloud"
is a vague term, but for some people it is mostly about efficient
command-line procedures which system management requires.  Some others
speak of the operations as part of "Linux".  In fact I have heard that
a major reason Microsoft decided to provide "Window System for Linux"
(WSL), is that "cloud" operators became accustomed to using "Linux"
command-line utilities and felt inconvenienced by their absence in
ordinary Windows environments.

The above observation gives me an idea for an new strategy for
promoting GNU.  There is a problem that requires a solution.  We can
explain the problem and the potential outcome of not solving it
properly.  After convincing people that a problem exists we can
explain how it is best solved, how to find the engineers who know the
right solution, what tools they use and where the tools come from.

We say "free as in freedom".  In some instances the word "free" is
used to express the state in which some undesirable condition has
been eliminated: "free of malaria" "free of prejudice".  People
want computing tasks to be performed in a secure manner.  Free
software is about providing users the freedom to do so.

---

Recommended reading:
 
https://www.gnu.org/software/coreutils/manual/html_node/Opening-the-software-toolbox.html

If your computer has the GNU coreutils documents installed in info
format, the following command can be used to access it:

  info '(coreutils)Opening the software toolbox'

_______________________________________________
libreplanet-discuss mailing list
[email protected]
https://lists.libreplanet.org/mailman/listinfo/libreplanet-discuss

Reply via email to