Newsgroups: comp.os.linux.announce From: tdunbar@vtaix.cc.vt.edu (Thomas Dunbar) Subject: Milieu: a Linux demo package Message-ID: <1993Apr21.202348.24476@klaava.Helsinki.FI> Date: Wed, 21 Apr 1993 20:23:48 GMT Approved: linux-announce@tc.cornell.edu (Lars Wirzenius) What is Milieu? I'm writing a book called "Linux, a Personal Computing Milieu" and this package is primarily designed to provide the essential files for that. The text is an intro cs text which, rather excentrically, uses MetaFont as its introductory programming language (see milieu.dvi in the distribution for a bit more info). The text is definitely not meant to provide manpage type documentation or to duplicate info available from standard Unix texts. However, the package provides a nice little 5 disk (4 3.5'' hd and one dos boot disk) set that's nice for demoing Linux. Little (no?) documentation is included. I intend to hold the package to these constraints. What's in Milieu? TeX and MetaFont, GNU Emacs and Calc, X Windows (minimally: X386, cxterm, olvwm) -- in short, what's needed for MetaFont programming. Gcc (and make, patch, sed, etc) are also included as are essential utilities. A 0.99p8+ kernel is included but no kernel source (tho there is intentionally room for it on the dos disk). I didn't include scsi support (may change) but did include (against my prejudices) 387 emulation. Where is Milieu? At tsx-11.mit.edu, in dir pub/linux/packages/TeX/Milieu. Get the milieu.dvi file first for info. I intentionally put the info in a form for users already familiar with TeX to prevent misleading people needing an initial full Linux installation such as SLS provides. Again, the package is just meant for 1) support for my course/text, or 2) demoing (it's nice to walk into a store with one of those little 5 disk boxes and convert a dos pc into a unix workstation). Send comments/bug reports to: tdunbar@vtaix.cc.vt.edu thomas
Newsgroups: comp.os.linux.announce Path: pavo.csi.cam.ac.uk!warwick!pipex!uknet!mcsun!news.funet.fi! hydra!klaava!wirzeniu From: tdunbar@vtaix.cc.vt.edu (Thomas Dunbar) Subject: Milieu package update Message-ID: <1993Jun3.202603.22474@klaava.Helsinki.FI> Followup-To: comp.os.linux Summary: update to minimal Linux/TeX/Emacs/X11 package Keywords: METAFONT, programming, Linux, installation, TeX Sender: wirzeniu@klaava.Helsinki.FI (Lars Wirzenius) Organization: Virginia Tech, Blacksburg, VA Date: Thu, 3 Jun 1993 20:26:03 GMT Approved: linux-announce@tc.cornell.edu (Lars Wirzenius) Lines: 154 I've recently done an update of the Milieu package (/pub/linux/packages/TeX/Milieu, tsx-11.mit.edu). The main changes are: 1) the textbook is up to 30+ pages..mostly metafont stuff plus a bit of general installation material. 2) METAFONT binary is customized for interactive use. 3) the emacs binary is 19.12 (in usrbin.tz), the related support files (including calc and auc-tex) are in Emacs.tz. 4) in an effort to minimize X as much as possible, i've switched to the feeble window manager (fvwm) and also include rxvt and ksh. --------------------------- Milieu.dvi excerpt: This text aims to be a serious introduction to academic computing. In teaching such a course, even to well prepared and motivated students, the fundamental problem is to find meaningful examples of programs and tasks. This is my attempt to solve this problem in a way that provides a foundation for further studies. Although there are many appropriate text-processing tasks (and suitable languages, e.g. AWK, for this programming), graphics-based tasks are more interesting and vivid to the students. However, none of the standard languages are really appropriate for such work. While one can make a special graphics package for, say, Pascal, the resources provided are typically not extensive enough nor sufficiently integrated into the basic syntax of the language. METAFONT Donald Knuth designed MetaFont as a fontmaking language to support his TEX typesetting language. Thus, all the graphics support one needs is built into the system. At the same time, MetaFont is a fullscale programming language with assignments, loops, scoping and parameter passing. Furthermore, MetaFont's equations provide an introduction to declarative programming languages and its macro facilities enable one to glimpse what is going on "inside" a programming language. Source code for MetaFont is freely available and free executables are available for personal computers. MetaFont is the primary programming language used in this text. I focus primarily on simple drawing; however making a complete font provides a good opportunity to present the complications of scale that accompany a large programming project. In addition, such a project enables one to appeal to a broader range of student talents and interests. The course works best, I think, if students' artistic skills are cultivated as well as their ability to think analytically. Different students will, of course, have different interests and abilities. Learning how to work together and make the best advantage of this is also very useful and provides a good introduction to software engineering and related issues. I hope this text will be of use for a course at our school, Dayspring Christian Academy, and that we will be able to include a sample of designing a font for the Wycliffe Bible Translators. LINUX However, besides a programming language, one needs an operating system. The system must support our programming well; in particular, one must be able to interactively write MetaFont code and look at the results simultaneously. Hence, some sort of graphical windowing system is essential. We will be working with many files and directories and will have need for a wide variety of support programs. In addition, we want to use a system that will not be `outgrown' and which will also provide a foundation for using and studying operating systems themselves. Furthermore, in our school environment, a multi-user system is most efficient. All of this leads one to want a Unix workstation environment; however, the cost is prohibitive. ^L Rather, we use Linux, a largely POSIX-compliant multi-user operating system whose kernel is written by Linus Torvalds, a graduate student at the University of Helsinki. Linux is freely redistributable (under the GNU copyleft) and runs on INTEL 386 cpu/IBM AT bus architectures. It is sufficiently compatible with BSD and SYSV UNIX that all of the software we need compiles "out of the box." As with Unix, the word Linux is often used to refer not just to the operating system kernel itself, but also to the various systems and applications software commonly available with the system. Much of Linux's system software comes from the Free Software Foundation's GNU project. GNU Emacs is our standard text editor (and lisp interpreter, calculator, and symbolic math solver) and gcc is the standard C compiler. TEX and MetaFont are also a standard part of Linux and many other programs of interest to the academic community are freely available. MIT's X Windows (X11R5 in its XFree86 version for 386 compatible machines) provides the graphical interface and various graphic utilities. Linux also has full TCP/IP networking support and there is a very active user/developer community available via the Internet. All of the above software is free; not only does this save money, it makes technical support, bug fixes and program updates more readily available. Since the programs are free, and since they are widely available, this text can refer to more programs and speak more specifically and concretely than otherwise possible. Furthermore, since source code is available for all the programs, the same system that the students are first introduced to can also serve them well if they continue to courses in operating systems, language theory, systems engineering, etc. In particular, MetaFont itself is very well documented by its author, Donald Knuth: The METAFONTbook, a comprehensive user's guide and description of the programming language and its standard macro package, Computer Modern Typefaces, attractively typeset source code for all the Computer Modern fonts together with proof samples for font designers, and METAFONT: The Program, which thoroughly documents the code of the program itself{a very wide range of programming paradigms are discussed here for professional programmers. MILIEU The close association of MetaFont and Linux is specific to this text; many Linux users may use TEX and/or MetaFont little, if at all. The Linux Documentation Group is using TEX for their work. I hope to write in a way that will be useful even if one is only interested in Linux and also to provide useful information on Emacs, Emacs Lisp, and, perhaps, even Cweb. Nevertheless, my discussion of these various topics will always be centered around MetaFont-related tasks. Warning: I certainly don't claim any expertise regarding Linux, MetaFont, or any of the other programs I discuss. I teach English as a Second Language and Technical Writing; I'm very much an amateur programmer. I'm teaching myself as I write this; please join me in this endeavor. One reason that this text is publically available for ftp is to see if the same advantages that I claim for publically available source code also apply to manuscripts. The free flow of information is important to academic computing; most of the tension between academic computing and business computing is that the two areas have different aims and values. This text's focus is on academic computing. For example, suppose one wants to make a black and white logo. If it's just for some specific hardware, one could use a bitmap editor such as MacPaint. If output device independence is needed, then one could use Corel Draw, etc. In both cases, however, one needs a certain program to determine what the logo looks like and still one has no understanding as to the rationale behind the design. On the other hand, with MetaFont one has a program that anyone can read which precisely defines the logo in a device independent fashion and through which one can explain various design considerations. Furthermore the source code for the necessary programs to output the logo to various devices is freely available. This portability and archivibility is important to academic enterprises. It is true that our system places restrictions on the hardware; I hope that this does not place too much of a financial burden on people that would otherwise be happy with our approach. In calling this text, METAFONT and Linux: a Personal Computing Milieu, the word personal refers not to PC's but rather to the effort to personalize one's computing system. There is an international `community' involved in making such systems possible, hence the word Milieu.