Information to Users

Total Page:16

File Type:pdf, Size:1020Kb

Information to Users The design and implementation of high level programming language features for pattern matching in real-time. Item Type text; Dissertation-Reproduction (electronic) Authors Nilsen, Kelvin Don. Publisher The University of Arizona. Rights Copyright © is held by the author. Digital access to this material is made possible by the University Libraries, University of Arizona. Further transmission, reproduction or presentation (such as public display or performance) of protected items is prohibited except with permission of the author. Download date 24/09/2021 12:04:01 Link to Item http://hdl.handle.net/10150/184461 INFORMATION TO USERS The most advanced technology has been used to photo­ graph and reproduce this manuscript from the microfilm master. UMI films the original text directly from the copy submitted. Thus, some dissertation copies are in typewriter face, while others may be from a computer printer. In the unlikely event that the author did not send UMI a complete manuscript and there are missing pages, these will be noted. Also, if unauthorized copyrighted material had to be removed, a note will indicate the deletion. Oversize materials (e.g., maps, drawings, charts) are re­ produced by sectioning the original, beginnjng at the upper left-hand comer and continuing from left to right in equal sections with small overlaps. Each oversize page is available as one exposure on a standard 35 mm slide or as a 17" x 23" black and white photographic print for an additional charge. Photographs included in the original manuscript have been reproduced xerographically in this copy. 35 mm slides or 6" x 9" black and white photographic prints are available for any photographs or illustrations appearing in this copy for an additiollal charge. Contact UMI directly to order. I I II I'I I I, Accessing the World's Information since 1938 300 North Zeeb Road, Ann Arbor, M148106-1346 USA Order Number 8822431 The design and implementation of high-level programming language features for pattern matching in real time Nilsen, Kelvin Don, Ph.D. The University of Arizona, 1988 Copyright @1988 by Nilsen, Kelvin Don. All rights reserved. U·M·I 300 N. Zeeb Rd. Ann Arbor, MI 48106 1 The Design and Implementation of High-Level Programming . Language Features for Pattern Matching in Real Time by Kelvin Don Nilsen Copyright © Kelvin Don Nilsen 1988 A Dissertation Submitted to the Faculty of the DEPARTMENTOFCOMPUTERSCffiNCE In Partial Fulfillment l)f the Requirements For the Degree of DOCTOR OF PHll..OSOPHY In the Graduate College TIlE UNIVERSITY OF ARIZONA 1 988 -_..... _-------------------------- THE UNIVERSITY OF ARIZONA GRADUATE COLLEGE As members of the Final Examination Committee, we certify that we have read the dissertation prepared by Kelvin Don Nilsen ------~~--~-------------------------- entitled THE DESIGN AND IMPLEMENTATION OF HIGH-LEVEL PROGRAMMING LANGUAGE FEATURES FOR PATTERN MATCHING IN REAL TIME and recommend that it be accepted as fulfilling the dissertation requirement for the Degree of Doctor of Philosophy 7-13-88 Date 7-13-88 Date 7-13-88 Date Date Date Final approval and acceptance of this dissertation is contingent upon the candidate's submission of the final copy of the dissertation to the Graduate College. I hereby certify that I have read this dissertation prepared under my direction and recommend that it be accepted as fulfilling the dissertation requirement. 7-15-88 Dissertation Director Ralph E. Griswold Date 2 STATEMENT BY AU1HOR This dissertation has been submitted in partial fulfillment of requirements for an advanced degree at the University of Arizona and is deposited in the University Library to be made available to borrowers under the rules of the library. Brief quotations from this dissertation are allowable without special permission, pro­ vided that accurate acknowledgment of source is made. Requests for permission for extended quotation from or reproduction of this manuscript in whole or in part may be granted by the copyright holder. SIGNED~ 3 ACKNOWLEDGMENTS I would like to thank Ralph Griswold for his support in this research. Throughout, he has extended freedom to pursue my own ideas, while at the same time providing very helpful guidance. His comments and probing questions frequently revealed aspects of my work that were not yet fully developed or that might benefit significantly from minor revisions. Professor Griswold has also been a great help in focusing my efforts on pur­ suits that are consistent with completion of this dissertation in a timely manner. In the preparation of this dissertation and of other documents related to this dissertation, Profes­ sor Griswold has assisted by quickly reviewing many preliminary drafts and suggesting a variety of improvements in both content and presentation. I am also indebted to my other committee members: Saumya Debray and Peter Dow­ ney, who have carefully reviewed early drafts of the dissertation and provided a variety of suggestions for improving the presentation of this material. Their experience and knowledge in complimentary fields have also helped to clarify the capciu.u;,ties and limita­ tions of the problem-solving approaches discussed in this dissertation. To the other members of the Icon project at the University of Arizona: Dave Gude­ man, Janalee O'Bagy, and Ken Walker, I am indebted for their participation in several informal discussions regarding this dissertation work. Their feedback helped me to per­ ceive the needs and expectations of programmers who might someday use the proposed language features to write real application software. Members of the Icon project also made several good suggestions for how the language features could be presented and described to others. To Professor Kenneth Mylrea and graduate student Mohammad Navabi, both of the Electrical and Computer Engineering Department at the University of Arizona, I am grateful for the electrocardiogram data they collected for one of the applications described in Chapter 5 of this dissertation. Fmally, I am grateful to my parents and to my family. To my parents, I am especially grateful for their having taught me to be curious~ and to seek answers to my questions through active investigation. I am also grateful that they have always encouraged me to pursue my interests and ambitions and have helped me to reach my worthy goals, what­ ever they might be. To my wife Lorrain, I am grateful for her support and encourage­ ment I am also thankful for the time and attention she has given to our children in my absence (be it physical or mental) and for her willingness to work around the somewhat demanding schedule of a graduate student This work was supported by National Science Foundation Grants DCR-8401831, DCR-8502015, and DCR-8713690. 4 TABLE OF CONTENTS ABSTRACT ........................................................................................................................... 7 CHAPrER 1: IN'I'R.ODUCTION ............................................................................................ 8 § 1.1: Pattern Matching ............................................................................................... 9 §I.2: Real-Time Programming .................................................................................. 14 § 1.3: High-Level Abstractions and Programming Languages ................................... 16 §I.4: Pattern Matching in Real Time using High-Level Language ........................... 21 CHAP1'ER 2: CONTROL REQUIREMENTS OF REAL-TIME PATIERN- MATCHIN'G SYS1'EMS ................................................................................................. 24 §2.I: Goal-Directed Expression Evaluation .............................................................. 24 §2.2: Synchronization ................................................................................................ 25 §2.3: Concurrent Processes ........................................................................................ 28 §2.4: Tim::'~u~ ~i.d Interrupt Handling ...................................................................... 31 CHAPrER 3: THE S'I'REAM DATA TYPE .......................................................................... 35 §3.I: Creation of Streams .......................................................................................... 36 §3.2: Writing to Streams ............................................................................................ 37 §3.3: Reading from Streams ...................................................................................... 38 §3.4: Stream Programming Examples ....................................................................... 40 §3.5: Destruction of Streams ...................................................................................... 42 §3.6: Real-Time Stream Applications ....................................................................... 43 -_. --_ .... _------------------------------ 5 TABLE OF CONTENTS - Continued §3.7: Other Stream Applications •...•........................•.....................•..•......................... 47 CHAPrER 4: CONCURRENT PROCESSES .....................•............•........•.....................•...... 50 §4.1: Internal Streams .......................................................................•....................•... 50 §4.2: Process Creation •........•.........•........................................................................... 54 §4.3: The Yield of a Process ...•..•.•.•.........••.................................•.•.•.•.........•...........•.. 56
Recommended publications
  • Acme: a User Interface for Programmers Rob Pike [email protected]−Labs.Com
    Acme: A User Interface for Programmers Rob Pike [email protected]−labs.com ABSTRACT A hybrid of window system, shell, and editor, Acme gives text-oriented applications a clean, expressive, and consistent style of interaction. Tradi­ tional window systems support interactive client programs and offer libraries of pre-defined operations such as pop-up menus and buttons to promote a consistent user interface among the clients. Acme instead pro­ vides its clients with a fixed user interface and simple conventions to encourage its uniform use. Clients access the facilities of Acme through a file system interface; Acme is in part a file server that exports device-like files that may be manipulated to access and control the contents of its win­ dows. Written in a concurrent programming language, Acme is structured as a set of communicating processes that neatly subdivide the various aspects of its tasks: display management, input, file server, and so on. Acme attaches distinct functions to the three mouse buttons: the left selects text; the middle executes textual commands; and the right com­ bines context search and file opening functions to integrate the various applications and files in the system. Acme works well enough to have developed a community that uses it exclusively. Although Acme discourages the traditional style of interaction based on typescript windowsߞteletypesߞits users find Acmeߣs other ser­ vices render typescripts obsolete. History and motivation The usual typescript style of interaction with Unix and its relatives is an old one. The typescriptߞan intermingling of textual commands and their outputߞoriginates with the scrolls of paper on teletypes.
    [Show full text]
  • Tiny Tools Gerard J
    Tiny Tools Gerard J. Holzmann Jet Propulsion Laboratory, California Institute of Technology Many programmers like the convenience of integrated development environments (IDEs) when developing code. The best examples are Microsoft’s Visual Studio for Windows and Eclipse for Unix-like systems, which have both been around for many years. You get all the features you need to build and debug software, and lots of other things that you will probably never realize are also there. You can use all these features without having to know very much about what goes on behind the screen. And there’s the rub. If you’re like me, you want to know precisely what goes on behind the screen, and you want to be able to control every bit of it. The IDEs can sometimes feel as if they are taking over every last corner of your computer, leaving you wondering how much bigger your machine would have to be to make things run a little more smoothly. So what follows is for those of us who don’t use IDEs. It’s for the bare metal programmers, who prefer to write code using their own screen editor, and who do everything else with command-line tools. There are no real conveniences that you need to give up to work this way, but what you gain is a better understanding your development environment, and the control to change, extend, or improve it whenever you find better ways to do things. Bare Metal Programming Many developers who write embedded software work in precisely this way.
    [Show full text]
  • Sequence Alignment/Map Format Specification
    Sequence Alignment/Map Format Specification The SAM/BAM Format Specification Working Group 3 Jun 2021 The master version of this document can be found at https://github.com/samtools/hts-specs. This printing is version 53752fa from that repository, last modified on the date shown above. 1 The SAM Format Specification SAM stands for Sequence Alignment/Map format. It is a TAB-delimited text format consisting of a header section, which is optional, and an alignment section. If present, the header must be prior to the alignments. Header lines start with `@', while alignment lines do not. Each alignment line has 11 mandatory fields for essential alignment information such as mapping position, and variable number of optional fields for flexible or aligner specific information. This specification is for version 1.6 of the SAM and BAM formats. Each SAM and BAMfilemay optionally specify the version being used via the @HD VN tag. For full version history see Appendix B. Unless explicitly specified elsewhere, all fields are encoded using 7-bit US-ASCII 1 in using the POSIX / C locale. Regular expressions listed use the POSIX / IEEE Std 1003.1 extended syntax. 1.1 An example Suppose we have the following alignment with bases in lowercase clipped from the alignment. Read r001/1 and r001/2 constitute a read pair; r003 is a chimeric read; r004 represents a split alignment. Coor 12345678901234 5678901234567890123456789012345 ref AGCATGTTAGATAA**GATAGCTGTGCTAGTAGGCAGTCAGCGCCAT +r001/1 TTAGATAAAGGATA*CTG +r002 aaaAGATAA*GGATA +r003 gcctaAGCTAA +r004 ATAGCT..............TCAGC -r003 ttagctTAGGC -r001/2 CAGCGGCAT The corresponding SAM format is:2 1Charset ANSI X3.4-1968 as defined in RFC1345.
    [Show full text]
  • Revenues 1010 1020 1030 1040 1045 1060 1090 82,958 139,250
    FCC Paper Report 43-01 ARMIS Annual Summary Report COMPANY Northern New England Telephone Telephone Operallons LLC ST UDY AREA. New Hempsh1 re PERIOD From: Jan 201 1 To Dec 2011 COSA FPNH A ACCOUNT LEVEL REPORTING (Dollars on thousands) ROW CLASSIFICATION T otal Nonreg AdJu stments Subject To Slate Interstate (a) (b) (C) (d) Separations (g) (h) (f) Revenues 1010 Besoc Local Servoces 82,958 N/A 0 82,958 82,958 0 1020 Network Access Services 139,250 N/A 0 139,250 9,443 129,807 1030 Toil Network Servoces 13,911 N/A 0 13,911 13,881 31 1040 Mosceltaneous 33,250 N/A 0 33,250 22,165 11,084 1045 Nonregutated 7,540 7,540 N/A N/A N/A N/A 1060 Uncoltecllbles 3,597 101 0 3,497 1,615 1,882 1090 Total Operalong Revenues 273,312 7,439 0 265,872 126,832 139,040 Imputation or Dtrectory Revenue 23,300 Total Assessed Revenue 296,612 Assessment 942,999 403,229 Assessment Factor $0.00318 $ 0.0031 8 The revenue data above os avaolable on the FCC ARMIS websote at http)/fjallrossJcc.gov/eafs7/adhoc/table year tal Profile and Historic Information! AT&T Labs! AT&T Page 1 of 5 Personal Business About AT&T ·~ ~ at&t Backgrounder In today's rapidly changing business environment, many of the most exciting innovations are being spearheaded by AT&T Labs, the long-respected research and development arm of AT&T. History The year was 1901...the beginning of a new century.
    [Show full text]
  • Sam Quick Reference Card
    Sam______________________ quick reference card ___________________________Addresses _Sam_______________________________________________________________________ idioms n,m line n to line m X/.*/,x/<cr>/d strip <cr> from all files ’ address mark, see k below x/ˆ/ .,/0d strip C comments from selection . correct selection/position -/ˆ/+#10 goto the 10th colum in the current line 0 start of file -0+,+0- round dot down to whole lines only ˆ start of line ,x/ +/ v/ˆ/ c/ / compress runs of spaces, leaving indentation $ end of line/file s/"([ˆ"]*)"/‘‘1’’/ replace "hello" with ‘‘hello’’ in selection , equivalent to 0,$ f <nl> set current file-name to null < echo "" insert ascii code xxx at current pos ______________________________Regular Expressions , > wc -l count lines in file . any character /text/+-p highlight the lines containing <pat> -/text/ search for text backwards * 0 or more of previous $-/text/ search for the last occurrence of text in file + 1 or more of previous [ˆn] any char but n ,x/<text>/+-p grep for text [nm] n or m .x/<pat>/ c/<rep>/ search for <pat> and replace with <rep> [a-z] class a thru z B < echo *.c add all the C files in current dir to file list B < grep -l <pat> * add all the files containing <pat> to file list (re) tag pattern # substitute #’th tagged pattern X/’/w write all modified files Y/.c/D remove all non C files from file list _Text________________________________________ commands fmt pipe selection through the text formatter > mail <user> send selection as Email
    [Show full text]
  • Computer Oral History Collection, 1969-1973, 1977
    Computer Oral History Collection, 1969-1973, 1977 Interviewee: B. Holbrook Interviewer: Uta C. Merzbach Date: May 10, 1969 Repository: Archives Center, National Museum of American History MERZBACH: Do you mind starting out by giving a little basic background as to your early interest, training, and schooling, how you came to go to Bell Labs. HOLBROOK: I was educated to be an X-ray physicist, and I came to Bell Laboratories in 1930 expecting to work in some branch of physics, and I have worked in almost everything except physics ever since. I was in transmission research for a good many years. I worked on voice-operated devices for transatlantic radio and things like this for awhile. Most of the War I spent in a group that was developing electrical analog anti aircraft fire control equipment for the Navy. And then I worked for several years in the Switching Research Department, and in 1957 became head of what was ultimately called the computing systems research department, where I was for the remaining eleven years at Bell Laboratories. I never had anything officially to do with computers until 1957. I was interested in what was going on and thereby acquired some knowledge of it. MERZBACH: Could you tell about the early activities which I guess were taking place just about the time that you came to the Labs? HOLBROOK: Well, of course, from the standpoint of the history of computers of the major advances was made in 1927 or 1938 with Harold Black's invention of the feedback amplifier which changed an amplifier from something which had gain into a precision measuring instrument which was the essential part of building an electric analog computer and was extremely convenient in handling signals through electronic digital computers.
    [Show full text]
  • Using the Go Programming Language in Practice
    MASTER’S THESIS | LUND UNIVERSITY 2014 Using the Go Programming Language in Practice Fredrik Pettersson, Erik Westrup Department of Computer Science Faculty of Engineering LTH ISSN 1650-2884 LU-CS-EX 2014-19 Using the Go Programming Language in Practice Erik Westrup Fredrik Pettersson <[email protected]> <[email protected]> <[email protected]> <[email protected]> June 5, 2014 Master’s thesis work carried out at Axis Communications AB for the Department of Computer Science, Lund University. Supervisors: Jonas Skeppstedt <[email protected]> Mathias Bruce <[email protected]> Robert Rosengren <[email protected]> Examiner Jonas Skeppstedt Abstract When developing software today, we still use old tools and ideas. Maybe it is time to start from scratch and try tools and languages that are more in line with how we actually want to develop software. The Go Programming Language was created at Google by a rather famous trio: Rob Pike, Ken Thompson and Robert Griesemer. Before introducing Go, the company suffered from their development process not scaling well due to slow builds, uncontrolled dependencies, hard to read code, poor documenta- tion and so on. Go is set out to provide a solution for these issues. The purpose of this master’s thesis was to review the current state of the language. This is not only a study of the language itself but an investigation of the whole software development process using Go. The study was carried out from an embedded development perspective which includes an investigation of compilers and cross-compilation. We found that Go is exciting, fun to use and fulfills what is promised in many cases.
    [Show full text]
  • Programming Languages
    Introduction to Programming Languages Introduction to Programming Languages Anthony A. Aaby © 1996 by Anthony A. Aaby HTML Style Guide | To Do | Miscellenous (possible content) | Figures | Definitions Short Table of Contents Preface 1. Introduction 2. Syntax 3. Semantics 4. Translation 5. Pragmatics 6. Abstraction and Generalization 7. Data and Data Structuring 8. Logic Programming 9. Functional Programming 10. Imperative Programming 11. Concurrent Programming 12. Object-Oriented Programming 13. Evaluation Appendix Stack machine Unified Grammar Logic Bibliography Definitions Index Supplementary Material http://cs.wwc.edu/~aabyan/221_2/PLBOOK/ (1 de 6) [18/12/2001 10:33:41] Introduction to Programming Languages Code Answers Long Table of Contents HTML Style Guide | To Do Preface Syntax, translation, semantics and pragmatics 1 Introduction 1.1 Data 1.2 Models of Computation 1.3 Syntax and Semantics 1.4 Pragmatics 1.5 Language Design Principles 1.6 Historical Perspectives and Further Reading 1.7 Exercises 2 Syntax 2.1 Context-free Grammars 2.1.1 Alphabets and Languages 2.1.2 Grammars and Languages 2.1.3 Abstract Syntax 2.1.4 Parsing 2.1.5 Table-driven and recursive descent parsing 2.2 Nondeterministic Pushdown Automata 2.2.1 Equivalence of pda and cfgs 2.3 Regular Expressions 2.4 Deterministic and Non-deterministic Finite State Machines 2.4.1 Equivalence of deterministic and non-deterministic fsa 2.4.2 Equivalence of fsa and regular expressions 2.4.3 Graphical Representation 2.4.4 Tabular Representation 2.4.5 Implementation of FSAs 2.5 Historical
    [Show full text]
  • Acme: a User Interface for Programmers Rob Pike AT&T Bell Laboratories Murray Hill, New Jersey 07974
    Acme: A User Interface for Programmers Rob Pike AT&T Bell Laboratories Murray Hill, New Jersey 07974 ABSTRACT A hybrid of window system, shell, and editor, Acme gives text-oriented applications a clean, expressive, and consistent style of interaction. Traditional window systems support inter- active client programs and offer libraries of pre-defined operations such as pop-up menus and buttons to promote a consistent user interface among the clients. Acme instead provides its clients with a fixed user interface and simple conventions to encourage its uniform use. Clients access the facilities of Acme through a file system interface; Acme is in part a file server that exports device-like files that may be manipulated to access and control the contents of its win- dows. Written in a concurrent programming language, Acme is structured as a set of communi- cating processes that neatly subdivide the various aspects of its tasks: display management, input, file server, and so on. Acme attaches distinct functions to the three mouse buttons: the left selects text; the mid- dle executes textual commands; and the right combines context search and file opening functions to integrate the various applications and files in the system. Acme works well enough to have developed a community that uses it exclusively. Although Acme discourages the traditional style of interaction based on typescript windows— teletypes—its users find Acme’s other services render typescripts obsolete. History and motivation The usual typescript style of interaction with Unix and its relatives is an old one. The typescript—an inter- mingling of textual commands and their output—originates with the scrolls of paper on teletypes.
    [Show full text]
  • 8½, the Plan 9 Window System
    8½, the Plan 9 Window System Rob Pike [email protected]−labs.com ABSTRACT The Plan 9 window system, 8½, is a modest-sized program of novel design. It provides textual I/O and bitmap graphic services to both local and remote client programs by offering a multiplexed file service to those clients. It serves traditional UNIX files like /dev/tty as well as more unusual ones that provide access to the mouse and the raw screen. Bit­ map graphics operations are provided by serving a file called /dev/bitblt that interprets client messages to perform raster opera­ tions. The file service that 8½ offers its clients is identical to that it uses for its own implementation, so it is fundamentally no more than a multi­ plexer. This architecture has some rewarding symmetries and can be implemented compactly. Introduction In 1989 I constructed a toy window system from only a few hundred lines of source code using a custom language and an unusual architecture involving concurrent pro­ cesses [Pike89]. Although that system was rudimentary at best, it demonstrated that window systems are not inherently complicated. The following year, for the new Plan 9 distributed system [Pike92], I applied some of the lessons from that toy project to write, in C, a production-quality window system called 8½. 8½ provides, on black-and-white, grey-scale, or color displays, the services required of a modern window system, includ­ ing programmability and support for remote graphics. The entire system, including the default program that runs in the window ߞ the equivalent of xterm [Far89] with ߢcut­ ting and pastingߣ between windows ߞ is well under 90 kilobytes of text on a Motorola 68020 processor, about half the size of the operating system kernel that supports it and a tenth the size of the X server [Sche86] without xterm.
    [Show full text]
  • Lecture 18 Regular Expressions the Grep Command
    Lecture 18 Regular Expressions Many of today’s web applications require matching patterns in a text document to look for specific information. A good example is parsing a html file to extract <img> tags of a web document. If the image locations are available, then we can write a script to automatically download these images to a location we specify. Looking for tags like <img> is a form of searching for a pattern. Pattern searches are widely used in many applications like search engines. A regular expression(regex) is defined as a pattern that defines a class of strings. Given a string, we can then test if the string belongs to this class of patterns. Regular expressions are used by many of the unix utilities like grep, sed, awk, vi, emacs etc. We will learn the syntax of describing regex later. Pattern search is a useful activity and can be used in many applications. We are already doing some level of pattern search when we use wildcards such as *. For example, > ls *.c Lists all the files with c extension or ls ab* lists all file names that starts with ab in the current directory. These type of commands (ls,dir etc) work with windows, unix and most operating systems. That is, the command ls will look for files with a certain name patterns but are limited in ways we can describe patterns. The wild card (*) is typically used with many commands in unix. For example, cp *.c /afs/andrew.cmu.edu/course/15/123/handin/Lab6/guna copies all .c files in the current directory to the given directory Unix commands like ls, cp can use simple wild card (*) type syntax to describe specific patterns and perform the corresponding tasks.
    [Show full text]
  • An Introduction to Linux and Bowtie
    An Introduction to Linux and Bowtie Cavan Reilly November 10, 2017 Table of contents Introduction to UNIX-like operating systems Installing programs Bowtie SAMtools Introduction to Linux In order to use the latest tools in bioinformatics you need access to a linux based operating system (or Mac OS X). So we will give some background on how to use a linux based system. The linux operating system is based on the UNIX operating system (by a guy named Linus Torvalds), but is freely available (UNIX was developed by a private company). There are a number of implementations of linux that go by different names: e.g. Ubuntu, Debian, Fedora, and OPENsuse. Introduction to Linux Most beginners choose Ubuntu (or one of its offshoots, like Mint). I use Ubuntu or Fedora on my computers and centos is used on the server we will use for this course. You can install it for free on any PC. Such systems are based on a hierarchical structure for organizing files into directories. We will use a remote server, so we need a way to communicate between the computer you are using and this remote machine. Introduction to Linux To connect to a linux server from a Windows machine you need a Windows program that allows you to log on to a terminal and the ability to transfer files to and from the remote server and your Windows machine. WinSCP is a free program that allows one to do this. You can download the data from the WinSCP website and it installs like a regular Windows program: just allow your computer to install it and go with the default configuration.
    [Show full text]