Schwarze I., Let's Make Manuals More Useful!
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
BSD – Alternativen Zu Linux
∗BSD { Alternativen zu Linux Karl Lockhoff March 19, 2015 Inhaltsverzeichnis I Woher kommt BSD? I Was ist BSD? I Was ist sind die Unterschiede zwischen FreeBSD, NetBSD und OpenBSD? I Warum soll ich *BSD statt Linux einsetzen? I Chuck Haley und Bill Joy entwickeln den vi in Berkeley I Bill Joy erstellt eine Sammlung von Tools, 1BSD I Unix Version 7 erscheint I 2BSD erscheint (Basis f¨urdie Weiterentwicklung PDP-11) I 3BSD erscheint (erstmalig mit einen eigenen Kernel) I 4BSD erscheint (enth¨altdas fast file system (ffs)) I Bill Joy wechselt zu Sun Microsystems I Kirk McKusick ¨ubernimmt die Entwicklung von BSD I 1978 I 1979 I 1980 I 1981 Woher kommt BSD? I 1976 I Unix Version 6 erscheint I 2BSD erscheint (Basis f¨urdie Weiterentwicklung PDP-11) I 3BSD erscheint (erstmalig mit einen eigenen Kernel) I 4BSD erscheint (enth¨altdas fast file system (ffs)) I Bill Joy wechselt zu Sun Microsystems I Kirk McKusick ¨ubernimmt die Entwicklung von BSD I Bill Joy erstellt eine Sammlung von Tools, 1BSD I Unix Version 7 erscheint I 1979 I 1980 I 1981 Woher kommt BSD? I 1976 I Unix Version 6 erscheint I 1978 I Chuck Haley und Bill Joy entwickeln den vi in Berkeley I 2BSD erscheint (Basis f¨urdie Weiterentwicklung PDP-11) I 3BSD erscheint (erstmalig mit einen eigenen Kernel) I 4BSD erscheint (enth¨altdas fast file system (ffs)) I Bill Joy wechselt zu Sun Microsystems I Kirk McKusick ¨ubernimmt die Entwicklung von BSD I Unix Version 7 erscheint I 1979 I 1980 I 1981 Woher kommt BSD? I 1976 I Unix Version 6 erscheint I 1978 I Chuck Haley und Bill Joy entwickeln den -
Mandoc: Becoming the Main BSD Manual Toolbox
mandoc: becoming the main BSD manual toolbox BSDCan 2015, June 13, Ottawa Ingo Schwarze <[email protected]> Cynthia Livingston’sOTTB “Bedifferent” (c) 2013 C. Livingston (with permission) > Ingo Schwarze: mandoc page 2: INTROI BSDCan 2015, June 13, Ottawa Brief history of UNIX documentation • The key point: All documentation in one place and one format. Easy to find, uniform and easy to read and write. Be correct, complete, concise. • 1964: RUNOFF/roffmarkup syntax by Jerome H. Saltzer,MIT. Unobtrusive,diff(1)-friendly,easy to hand-edit, simple tools, high quality output. • 1971: Basic manual structure by Ken Thompson and Dennis Ritchie for the AT&T Version 1 UNIX manuals, Bell Labs. • 1979: man(7) physical markup language for AT&T Version 7 UNIX. • 1989: mdoc(7) semantic markup by Cynthia Livingston for 4.3BSD-Reno. Powerful, self-contained, portable. • 1989: GNU troffbyJames Clarke. • 2001: mdoc(7) rewrite by Werner Lemberg and Ruslan Ermilovfor groff-1.17. • 2008: mandoc(1) started by Kristaps Dzonsons. • 2010: mandoc(1) is the only documentation formatter in the OpenBSD base system. • 2014: mandoc(1) used by default in OpenBSD, FreeBSD, NetBSD, illumos. 16:19:30 What is the mandoc toolbox? → < > Ingo Schwarze: mandoc page 3: INTROIIBSDCan 2015, June 13, Ottawa What is the mandoc toolbox? User perspective:man(1), the manual viewer One comprehensive tool! Normal operation always proceeds in three steps: 1. Find one or more manuals in the file system or using a database by manual name — man(1) — or by search query — apropos(1) =man -k The result of this step can be printed out with man -w. -
Openbsd 6.4 / Openbgpd 6.4
OpenBSD 6.4 / OpenBGPD 6.4 Peter Hessler [email protected] OpenBSD 18 October, 2018 openbsd 23 year anniversary on October 18th 6.4 released today 6.4 major improvements to our arm64 and armv7 platforms many improvements and drivers for modern amd64 based laptops many improvements for guest OSes in our virtualization hypervisor defenses against ROP attacks and misbehaving applications we are upstream for openssh tmux libressl mandoc opensmtpd network wifi join lacp administrative knobs microtik EoIP further work in an SMP-safe network stack more unlocked syscalls (sendmsg, sendto, recvfrom, and recvmsg) networks(5) support has been removed network daemons ospf6d routing domains (VRFs) slaacd fully pledged slaacd better behaved on networks (DAD, network roaming, etc) rad replaces rtadvd OpenBGPD and the RIPE Community Projects Fund money was raised Thank you to RIPE Community Projects Fund DE-CIX, Netnod, AMS-IX, BCIX, LONAP, Asteroid, Namex, University of Oslo apologies if I missed anyone OpenBGPD and the RIPE Community Projects Fund money was spent Claudio Jeker is now working full time on OpenBGPD 1 year of funding is secured 5 months of effort so far OpenBGPD 6.4 RFC8212 compliance (default deny policy) remove announce self, move to filter rules instead RPKI ROA support (static table, no RTR support) sets for prefixes, ASNum, and origins (prefix + source-as) ... replaces many filter rules with a single fast lookup background soft-reconfig on config reload ... on reload, withdraws and updates are still processed 154 commits since 6.3 OpenBGPD 6.4 YYCIX is using this in production already 46 members 6.3 370,000 filter rules 6.4 less than 6,000 filter rules OpenBGPD 6.5 - the future better community filtering .. -
Mandoc
mandoc from scratch to the standard BSD documentation toolkit in 6 years EuroBSDCon, Stockholm, October 4, 2015 Ingo Schwarze <[email protected]> using some material from: Training a foal to replace Enhancing the modern Let’smake mandoc: becoming avenerable workhorse: toolbox for the classic manuals the main BSD mandoc in OpenBSD documentation formats: more useful! manual toolbox BSDCan 2011 newtrends in mandoc EuroBSD- BSDCan 2015 BSDCan 2014 Con 2014 Csikó — Foal © 2010 Keajuvenile © 2007 Sofi ©2014 “Bedifferent” © 2013 Adam Tomkó @flickr (CC) Brent Barrett @flickr (CC) Alica Dimitrova Cynthia Livingston > Ingo Schwarze: 6 years of mandoc page 2: INTROI Stockholm, October 4, 2015 Contents 1. Intro: Documentation — whyand how(EuroBSDCon/BSDCan 2014) 2. Using mandoc: Searching — unified interface — web display (BSDCan 2014/15) News: equations — unicode (BSDCan 2015) Maintaining documentation: warnings — help — portable software (all) 3. The groff → mandoc replacement project (BSDCan 2011) 4. Software isn’tperfect. Bugs, security issues, performance (BSDCan 2015/14) 5. Conclusion —status — future — thanks (BSDCan 2015) http://mdocml.bsd.lv/press.html has all the slides of these talks Black Lakenear King Mountain, Gatineau Park, Quebec, Canada © 2012 Lezumbalaberenjena@flickr (CC) 14:04:30 NYC*BUG 2015 Whydocument software? → < > Ingo Schwarze: 6 years of mandoc page 3: INTROIIStockholm, October 4, 2015 Let’smakemanuals more useful! Requirements for good documentation • correct • complete • concise • easy to find and access, all in one local place • not just plain text: function of words must be marked up for display and search Rotonda Sveti Georgi, Sofi ©2006 Preslav @wikimedia (PD) • easy to read: in particular,uniform display markup and style • easy to write: in particular,one simple, standard input language The formatted documentation must seem simple to end users. -
Unix Programmer's Manual
There is no warranty of merchantability nor any warranty of fitness for a particu!ar purpose nor any other warranty, either expressed or imp!ied, a’s to the accuracy of the enclosed m~=:crials or a~ Io ~helr ,~.ui~::~::.j!it’/ for ~ny p~rficu~ar pur~.~o~e. ~".-~--, ....-.re: " n~ I T~ ~hone Laaorator es 8ssumg$ no rO, p::::nS,-,,.:~:y ~or their use by the recipient. Furln=,, [: ’ La:::.c:,:e?o:,os ~:’urnes no ob~ja~tjon ~o furnish 6ny a~o,~,,..n~e at ~ny k:nd v,,hetsoever, or to furnish any additional jnformstjcn or documenta’tjon. UNIX PROGRAMMER’S MANUAL F~ifth ~ K. Thompson D. M. Ritchie June, 1974 Copyright:.©d972, 1973, 1974 Bell Telephone:Laboratories, Incorporated Copyright © 1972, 1973, 1974 Bell Telephone Laboratories, Incorporated This manual was set by a Graphic Systems photo- typesetter driven by the troff formatting program operating under the UNIX system. The text of the manual was prepared using the ed text editor. PREFACE to the Fifth Edition . The number of UNIX installations is now above 50, and many more are expected. None of these has exactly the same complement of hardware or software. Therefore, at any particular installa- tion, it is quite possible that this manual will give inappropriate information. The authors are grateful to L. L. Cherry, L. A. Dimino, R. C. Haight, S. C. Johnson, B. W. Ker- nighan, M. E. Lesk, and E. N. Pinson for their contributions to the system software, and to L. E. McMahon for software and for his contributions to this manual. -
Typing Documents on the UNIX System: Using the –Ms and –Mcs
Typing Documents on the UNIX System: Using the ±ms and ±mcs Macros with Troff² L. L. Cherry M. E. Lesk AT&T Bell Laboratories Murray Hill, New Jersey 07974 ABSTRACT This document describes a set of easy-to-use macros for preparing documents on the UNIX operating system. The macros provide facilities for paragraphs, sections headings (optionally with automatic numbering), page titles, footnotes, equations, tables, two-column for- mat, and several formats of cover pages for papers. This memo includes, as an appendix, the text of ``A Guide to Preparing Documents with ±ms and ±mcs,'' which contains additional examples of features of ±ms. Introduction. This memorandum describes a package of commands to produce papers using the troff formatting program. As with other formatting programs, text is prepared interspersed with formatting commands. However, this package, which itself is written in troff commands, provides higher-level commands than those pro- vided with the basic troff program. A separate set of macros, ±mcs, produces an official AT&T style internal docu- ment cover sheet. The ±mcs macros automatically invoke the ±ms macros. Although the basic ±ms macros work with nroff, the ±mcs macros do not. Macro names were selected in ±mcs to avoid collisions with the original ±ms macros and thereby maintain backward compatibility. This document reflects the new macros. The commands available in this package are listed in Appendix A; the cover sheet commands and their order are in Appendix B. Text. Type normally, except that instead of indenting for paragraphs, place a line reading ``.PP'' before each paragraph. This will produce indenting and extra space. -
Free, Functional, and Secure
Free, Functional, and Secure Dante Catalfamo What is OpenBSD? Not Linux? ● Unix-like ● Similar layout ● Similar tools ● POSIX ● NOT the same History ● Originated at AT&T, who were unable to compete in the industry (1970s) ● Given to Universities for educational purposes ● Universities improved the code under the BSD license The License The license: ● Retain the copyright notice ● No warranty ● Don’t use the author's name to promote the product History Cont’d ● After 15 years, the partnership ended ● Almost the entire OS had been rewritten ● The university released the (now mostly BSD licensed) code for free History Cont’d ● AT&T launching Unix System Labories (USL) ● Sued UC Berkeley ● Berkeley fought back, claiming the code didn’t belong to AT&T ● 2 year lawsuit ● AT&T lost, and was found guilty of violating the BSD license History Cont’d ● BSD4.4-Lite released ● The only operating system ever released incomplete ● This became the base of FreeBSD and NetBSD, and eventually OpenBSD and MacOS History Cont’d ● Theo DeRaadt ○ Originally a NetBSD developer ○ Forked NetBSD into OpenBSD after disagreement the direction of the project *fork* Innovations W^X ● Pioneered by the OpenBSD project in 3.3 in 2002, strictly enforced in 6.0 ● Memory can either be write or execute, but but both (XOR) ● Similar to PaX Linux kernel extension (developed later) AnonCVS ● First project with a public source tree featuring version control (1995) ● Now an extremely popular model of software development anonymous anonymous anonymous anonymous anonymous IPSec ● First free operating system to implement an IPSec VPN stack Privilege Separation ● First implemented in 3.2 ● Split a program into processes performing different sub-functions ● Now used in almost all privileged programs in OpenBSD like httpd, bgpd, dhcpd, syslog, sndio, etc. -
Current Status of Openbsd / Openbgpd
Current Status of OpenBSD / OpenBGPd Peter Hessler [email protected] OpenBSD 27 October, 2015 openbsd 20 year anniversary on October 18th 5.8 released on that date, last week the berlin u2k15 hackathon is happening right now everything mentioned is committed in either in 5.8 or in -current openbsd projects openssh pf opensmtpd mandoc libressl ... and many others openbsd outside of openbsd pretty much everyone uses openssh pf is in all apple devices, the *bsds, a windows port, and even solaris! a rather large part of the android libc is from openbsd and a huge amount of people are switching to libressl software defined operations devops ... it’s a unix system, i know this ... atomic config reloads ... automated deployments (ansible, salt, chef, puppet, etc) sdn compatible ... networking on a full unix-like environment ... triggers on network states ... carp / ifstated / relayd router / perl openntpd ntp time keeping ... simple and (reasonably) accurate ... network and/or timedelta sensors driven ... a portable version also exists mostly cve free routing daemons bgp ldp ospf (v2 and v3) eigrp rip, routed openbgpd been around a long time (2004-present) massive improvements have been made in the last years openbgpd all the features you need ... edge router ... ibgp ... route reflector ... route server and many features you want ... multi-RIB ... mrt dumps ... mpls (vrf) ... mpls vpn (vpls / pseudo-wire) ... looking glass openbgpd scaling hundreds of peers many full-feeds more than 8 million prefixes 1500+ nexthops openbgpd config configuration language ... templates ... groups ... macros openbgpd config group "IXP-Peers" { transparent-as yes enforce neighbor-as no passive max-prefix 1000 neighbor 2001:db8:42::/48 neighbor 2001.db8:42::6939 { max-prefix 120000 } } deny from any allow from group "IXP-Peers" match from any community 1234:666 \ prefix ::/0 prefixlen = 128 set nexthop 2001:db8:42::666 openbgpd as an edge router works great as a client router at my day job, we use it in production .. -
UNIX™ System V DOCUMENTER's WORKBENCH™ Volume ONE
___ALTOS _ UNIX™ SySTEM V DOCUMENTER'S WORKBENCH™ VOlUME ONE INTROduCTioN ANd TEXT FORMATTERS REfERENCE UNIX™ System V DOCUMENTER'S WORKBENCH™ Volume One ACKNOW'LBDGBMEN'rS The Altos logo, as it appears in this manual, is a registered trademark of Altos Computer Systems. DOCUMENTER IS WORKBENCH™ is a trademark of AT&T Technologies. IMPRINT@ and IMAGEN® are registered trademarks of the IMAGEN Corporation. TEKTRONIX® is a registered trademark of Tektronics, Inc. TELETYPE™ is a trademark of AT&T Teletype Corporation. TRENDATA® is a registered trademark of Trendata Corporation. UNIX™ is a tr ademark of AT &'1' Bell Labor at or ies. CONTENTS Chapter 1 DOCUMENTER'S WORKBENCH SOFTWARE Chapter 2 DOCUMENT PREPARATION APPENDIX USER REFERENCE MANUAL - i - Chapter 1 DOCUMENTER'S WORKBENCH SOFTWARE PAGE INTRODUCTION............................................... 1-1 HOW TO USE THIS BOOK. • . • . .. 1-2 I!.. 1 ,J Chapter 1 DOCUMENTER'S WORKBENCH SOFTWARE INTRODUCTION This book is the introductory volume of a set of documents that provide information about the DOCUMENTER'S WORKBENCH software on the UNIX* system. Other books in this series are: 307-151 Text Formatters Reference-provides a reference covering the text formatters nroff, troff (device independent), otroff (old troff), and sroff. 307 -152 Macro Packages Reference-provides a reference for the macro packages mm (memorandum macros), sroff/mm (mm macros for the sroff formatter), and mv (view graph macros). 307-153 Preprocessors Reference-provides a reference for the preprocessors tbl, pic, and eqn/neqn. This book is both an introduction to the DOCUMENTER'S WORKBENCH software and a DOCUMENTER'S WORKBENCH software command reference manual. Chapter 2 contains introductory material on some of the software, and the appendix provides pages describing the various commands that are part of the DOCUMENTER'S WORKBENCH software. -
History of Computing at Bell Labs
COMPUTING AT BELL LABS Kedar Namjoshi December 18, 2014 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. EARLY HISTORY: COMPUTERS FROM TELEPHONE RELAYS The Bell Labs Model IV (~1946) George Stibitz Claude Shannon with “Theseus” (1950) “It can add, subtract, multiply and divide, remember answers and use A Symbolic Analysis of Relay and Switching them later …” Circuits, MIT Masters’ thesis, 1937 Boolean Logic = Relay Circuits 2 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. THE BIRTH OF UNIX Unix (1970s) An explosion of creativity “Little languages” and software tools with enduring influence make awk grep lex yacc sed troff eqn S Unix (1969-71) Ken Thompson and Dennis Ritchie “… a system around which a fellowship can form.” “… the size constraint has encouraged not only economy but a certain elegance of design.” 3 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. C, C++, AND S C++ (1979-83) Bjarne Stroustrup “When I joined I was basically told to “do something interesting” … ” C (1969-73) Dennis Ritchie S (1976-) John Chambers “C is quirky, flawed, and an enormous success.” “We were concerned to support serious data analysis… ” 4 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALGORITHMS Karmarkar: Interior-Point Linear Programming (1984) Highly Influential Books Aho-Hopcroft-Ullman Garey-Johnson 5 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. OFFSHOOTS Functional Programming: Standard ML of New Jersey (1989 - ) Formal Verification: SPIN and COSPAN (1980-) Distributed Operating Systems Plan 9 (1989 - ) Quantum Computing Shor, Willet, Grover (1994 - ) 6 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. THE SECRET “The management principles here are that you hire bright people and you introduce them to the environment, and you give them general directions as to what sort of thing is wanted, and you give them lots of freedom. -
Domain-Specific Languages
Domain-specific languages • also called application specific languages, little languages • narrow domain of applicability • not necessarily programmable or Turing-complete – often declarative, not imperative • sometimes small enough that you could build one yourself • examples: – regular expressions – shell – XML, HTML, troff, (La)TEX, Markdown: markup langauges – SQL: database access – R: statistics – AMPL: mathematical optimization – Verilog: circuit design and verification – … Example: Markup / document preparation languages • illustrates topics of 333 in a different setting – tools – language design (good and bad); notation – evolution of software systems; maintenance – personal interest, research area for 10-20 years, heavy use in books • examples: – roff and related early formatters – nroff (Unix man command still uses it) – troff – TEX – HTML, etc. Unix document preparation: *roff • text interspersed with formatting commands on separate lines .sp 2! .in 5! This is a paragraph … • originally just ASCII output, fixed layout, singlecolumn • nroff: macros, a event mechanism for page layout (Turing complete) • troff: version of nroff for phototypesetters – adds features for size, font, precise positioning, bigger character sets – originally by Joe Ossanna (~1972); inherited by BWK ~1977 • photypesetter produces output on photographic paper or film • first high-quality output device at a reasonable price (~$15K) – predates laser printers by 5-10 years – predates Postscript (1982) by 10 years, PDF (1993) by 21 years – klunky, slow, messy, expensive media • very complex program, very complex language – language reflects many of the weirdnesses of first typesetter – macro packages make it usable by mortals for standard tasks • troff + phototypesetter enables book-quality output – Elements of Programming Style, Software Tools, K&R, … Extension to complex specialized material • mathematics – called “penalty copy” in the printing industry • tables • drawings • graphs • references • indexes • etc. -
Using Groff with the -Ms Macro Package
Using groff with the -ms MacroPackage Larry Kollar [email protected] This document describes the GNU re-implementation of the popular groff-ms macro package. The -ms macros are suitable for reports, letters, books, user manuals, and so forth. The package provides macros for coverpages, section headings, paragraphs, lists, foot- notes, pagination, and a table of contents. This document provides both tutorial and reference material. It also discusses dif- ferences from the AT&T -ms macros, both omissions and additions. 1. Introduction The original -ms macros were included with AT&T troff as well as the -man macros. While the -man package is intended for brief documents that can be read on-line as well as printed, the -ms macros are suitable for longer documents that are meant to be printed rather than read on-line. The -ms macro package included with -groff is a complete, bottom-up re-implementation. Several macros (specific to AT&T or Berkeley) are not included, while several newcommands are. See Differ- ences from AT&T -ms,later in this document, for more information. 1.1. Basic information Most number registers have a default unit of measurement. Specifying a unit explicitly does not cause anyproblems, and can avoid problems in complexsituations. The following are typical units: Unit Description iinches ccentimeters ppoints (about 1/72") vline height nwidth of a letter ‘‘n’’inthe current font mwidth of a letter ‘‘M’’inthe current font Ppica (1/6") Youset number registers by using the .nr request; for example: .nr PS 12 2v0.1, April 2001 2. General structureofan -ms document The -ms macro package expects a certain amount of structure, but not as much as packages such as -man or -mdoc.