MKS Toolkit for Developers

Total Page:16

File Type:pdf, Size:1020Kb

MKS Toolkit for Developers MKS Toolkit for Developers A mixed computing environment, . Efficiently and cost-effectively Issues of interoperability also by consequence, demands a deploy UNIX trained affect development for the Web, consistent set of commands and personnel to new platforms. as companies intermingle UNIX utilities. A significant number of and Windows Web servers. MKS . Ease the interoperability corporate developers are fluent in Toolkit for Developers has high- challenge by seamlessly the UNIX environment, so utilities performance text utilities and sharing programming scripts, which are UNIX-based yet specialized Web development files and data between UNIX operate in Windows, can instantly tools that are ideal for and Windows. leverage the skills of UNIX trained maintaining HTML and all aspects people onto new platforms. of Web sites. Scripting languages and familiar MKS Toolkit for Developers also tools ensure that the valuable accelerates personal performance Lower TCO through Enterprise programming expertise of UNIX on the Windows platform by Interoperability developers, and the power of including Windows specific tools Instead of choosing between commands such as the KornShell, to: Windows and UNIX, most MIS CShell, awk, and Perl, does not . Unify and automate software organizations are opting for a mix have to be compromised because builds across UNIX and of the two operating systems, of the introduction of Windows. Windows. with many larger organizations Such utilities also reduce the using Windows as an add-on to immediate need for cross- . Connect to remote UNIX and their enterprise-wide backroom platform training. Windows machines. strategy. In order to decrease the total cost of ownership (TCO) of Global 2000 customers use the . Access or update Windows their business, these companies market-leading MKS Toolkit® for user and group accounts, need a single suite of tools that Developers product to build permissions, security can help their teams be more interoperability between their information, and local or productive. Windows and UNIX corporate remote registry entries. computing systems. Developers, . Query a database for Leverage Existing system administrators, quality information to be processed Investments in UNIX assurance teams and Webmasters in batch mode. MKS numerous UNIX shell all rely on MKS Toolkit for Developers to dramatically improve their productivity, flexibility and power when developing software or performing administrative tasks on Microsoft platforms. Benefits of MKS Toolkit for Developers The MKS Toolkit for Developers solution enables organizations to: . Lower TCO. Cross leverage investments in UNIX and Windows. Automate tasks and increase productivity. Securely access and administer remote systems. environments, including with today’s Microsoft mail, . Remote shell, rlogind and KornShell, bash and CShell, database and Internet / Intranet rexecd services, for remote provide the ability to seamlessly technologies. access to Windows systems. port advanced UNIX scripts to the Windows environment. Automate Tasks and Increase . Remote utilities (rsh, rexec, Productivity rcp, rlogin) for accessing POISIX compliant file and text Scripting is an excellent way to other UNIX and Windows manipulation tools like vi, grep, solve many computing tasks. MKS machines. and find simplify the inter- Toolkit for Developers ships with operability initiative within an many commands and utilities— . Visual SFTP –graphical organization. MKS Toolkit for awk, sed, Perl, CShell, KornShell, application to transfer and Developers enables IT staff to Graphical KornShell, and more— manipulate files to/from/on easily and efficiently establish, to allow you to quickly and easily remote UNIX/Windows maintain and customize their create powerful and robust systems. organization’s Windows network solutions for your organization. and user environment. MKS Toolkit for Developers scripts MKS Toolkit is a lifesaver. It helps A Native Windows can be written as stand alone keep us from re-developing tools, Architecture utilities or combined with other which we have been using for The ability to control Windows scripts, MKS Toolkit for years—tools that would cost tens of applications, interact with the Developers utilities or third party thousands of dollars, not to mention latest technologies and improve commands and applications help engineering hours to develop and team and inter-team to automate routine tasks and revalidate. communication is key to increase productivity. Issues as successful application simple as searching for and Tate Moore, Development Engineer, moving files to archiving entire development, saving valuable Cobe BCT time and enhancing program file systems, creating mid-size capabilities. With full support for web applications or prototyping multibyte/Unicode characters and large development efforts can be 64-bit Windows systems, MKS designed and implemented with Effortless Control Over the provides support for the newest, MKS Toolkit for Developers scripts Quality of your System most powerful systems, around and utilities. Configuration the world. MKS Toolkit for A significant number of System Developers is developed on top of Interactive Access to Remote Administrators are fluent in the the native Windows subsystem. Systems UNIX environment, so utilities This allows all of the MKS utilities Putting a copy of an MKS Toolkit that are UNIX-based and follow to truly interact with any for Developers product on each of the UNIX philosophy, yet operate application or process running in your servers will give you the in the Windows environment, can the operating environment. ability to connect to your network easily leverage the skills of these Further,MKS is the only solution machines from anywhere else on people on the Windows platform. available on 64-bit Windows your network or via a dialup line platforms. MKS Toolkit for to perform any necessary Harness the power of UNIX on Developers allows you to interact administration tasks. In a mixed Windows... UNIX and Windows environment, . MKS Toolkit for Developers If you’re forced to use Windows and you will be able to access applications on your UNIX contains hundreds of you miss all the creature comforts of authentic UNIX utilities such UNIX, MKS Toolkit is servers, directly from your as df, du, and ls, as well as indispensable. If you’re a Windows Windows desktops without ever leaving your desk. ksh, csh, and bash shells. user and have wondered about all Therefore, you can those nuts that love UNIX so much, . A telnet server, allowing immediately start using your MKS Toolkit is a gentle peek remote access to the UNIX skills and scripts on through the door. Windows machine. Windows. James Gosling, . Secure shell client/service as . Administer both Windows and Sun Microsystems Inc. well as other secure utilities UNIX systems using the (scp, sftp). Interoperability capabilities that also work in UNIX and Linux environments. Easily perform other common tasks that may be difficult to do using standard Windows facilities: . Add users and groups. Control services. Perform complex file searches. Copy permissions. Do UNIX-compatible backups. Move data and files between machines. Remotely administer systems. Clone a system file tree or document tree. Copy a standard user set- up to a new user account. such as password registry editing, server MKS Toolkit for Developers synchronization and remote management, the powerful vi Features utilities and daemons. editor, are only a few of the many features of MKS Toolkit system . Using powerful UNIX . Over 450 UNIX and Windows administration products. commands such as awk, command-line utilities (full supplemented with our POSIX.2 specification). Streamline your administrative KornShell’s dlg dialog workload... A wide selection of command building utility, you can get all environments, (KornShell, the information you need CShell, , ) offering . Use automated scripts to: bash Tclsh about your Windows system, greater control, flexibility, and and you can avoid going to . Improve manageability of a wider range of functionality the registry to find what you Windows in large then the traditional Windows want. installations by populating Command Prompt. and managing registry . Use UNIX commands to entries en masse. Visual SFTP Explorer perform file backups across extension allowing drag/drop multiple platforms. Administer user accounts and other file operations in batch (e.g., after a through the graphical UNIX system administrators will reorganization or a Windows interface. appreciate a set of familiar merger), instead of one- commands on Windows and by-one. Access remote UNIX, Linux, UNIX-style command-line utilities and Windows systems with Perform repetitive tasks for interacting with Windows . Secure Shell utilities on large numbers of features. Windows system (secsh/secshd, scp, sftp), machines. administrators will appreciate the Remote Shell utilities ( / , / , increased flexibility of traditional . Manage Windows rsh rshd rexec rexecd UNIX command-line tools in their environments with rlogin/rlogind, rcp), Windows environment. Mail standardized tools and scripts telnetd, and xterm. administration, file management, . MKS utilities and APIs now . Tools and utilities for . Compression utilities (zip, support multibyte/Unicode manipulating HTML content unzip, gzip, gunzip) to characters within file content, (htdiff, htsplit, htstrip, complement the mkszip and file and directory names, url, mkurl). uncompress commands. pipes, environment variables,
Recommended publications
  • Beginning Portable Shell Scripting from Novice to Professional
    Beginning Portable Shell Scripting From Novice to Professional Peter Seebach 10436fmfinal 1 10/23/08 10:40:24 PM Beginning Portable Shell Scripting: From Novice to Professional Copyright © 2008 by Peter Seebach All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage or retrieval system, without the prior written permission of the copyright owner and the publisher. ISBN-13 (pbk): 978-1-4302-1043-6 ISBN-10 (pbk): 1-4302-1043-5 ISBN-13 (electronic): 978-1-4302-1044-3 ISBN-10 (electronic): 1-4302-1044-3 Printed and bound in the United States of America 9 8 7 6 5 4 3 2 1 Trademarked names may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, we use the names only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. Lead Editor: Frank Pohlmann Technical Reviewer: Gary V. Vaughan Editorial Board: Clay Andres, Steve Anglin, Ewan Buckingham, Tony Campbell, Gary Cornell, Jonathan Gennick, Michelle Lowman, Matthew Moodie, Jeffrey Pepper, Frank Pohlmann, Ben Renow-Clarke, Dominic Shakeshaft, Matt Wade, Tom Welsh Project Manager: Richard Dal Porto Copy Editor: Kim Benbow Associate Production Director: Kari Brooks-Copony Production Editor: Katie Stence Compositor: Linda Weidemann, Wolf Creek Press Proofreader: Dan Shaw Indexer: Broccoli Information Management Cover Designer: Kurt Krames Manufacturing Director: Tom Debolski Distributed to the book trade worldwide by Springer-Verlag New York, Inc., 233 Spring Street, 6th Floor, New York, NY 10013.
    [Show full text]
  • Chapter 3 Composite Default Screen Blind Folio 3:61
    Color profile: GenericORACLE CMYK printerTips & Techniques profile 8 / Oracle9i for Windows 2000 Tips & Techniques / Jesse, Sale, Hart / 9462-6 / Chapter 3 Composite Default screen Blind Folio 3:61 CHAPTER 3 Configuring Windows 2000 P:\010Comp\OracTip8\462-6\ch03.vp Wednesday, November 14, 2001 3:20:31 PM Color profile: GenericORACLE CMYK printerTips & Techniques profile 8 / Oracle9i for Windows 2000 Tips & Techniques / Jesse, Sale, Hart / 9462-6 / Chapter 3 Composite Default screen Blind Folio 3:62 62 Oracle9i for Windows 2000 Tips & Techniques here are three basic configurations of Oracle on Windows 2000: as T a management platform, as an Oracle client, and as a database server. The first configuration is the platform from which you will manage Oracle installations across various machines on various operating systems. Most system and database administrators are given a desktop PC to perform day-to-day tasks that are not DBA specific (such as reading e-mail). From this desktop, you can also manage Oracle components installed on other operating systems (for example, Solaris, Linux, and HP-UX). Even so, you will want to configure Windows 2000 to make your system and database administrative tasks quick and easy. The Oracle client software configuration is used in more configurations than you might first suspect: ■ Web applications that connect to an Oracle database: ■ IIS 5 ASPs that use ADO to connect to an Oracle database ■ Perl DBI application running on Apache that connects to an Oracle database ■ Any J2EE application server that uses the thick JDBC driver ■ Client/server applications: ■ Desktop Visual Basic application that uses OLEDB or ODBC to connect to an Oracle Database ■ Desktop Java application that uses the thick JDBC to connect to Oracle In any of these configurations, at least an Oracle client installation is required.
    [Show full text]
  • Technical Computing on the OS … That Is Not Linux! Or How to Leverage Everything You‟Ve Learned, on a Windows Box As Well
    Tools of the trade: Technical Computing on the OS … that is not Linux! Or how to leverage everything you‟ve learned, on a Windows box as well Sean Mortazavi & Felipe Ayora Typical situation with TC/HPC folks Why I have a Windows box How I use it It was in the office when I joined Outlook / Email IT forced me PowerPoint I couldn't afford a Mac Excel Because I LIKE Windows! Gaming It's the best gaming machine Technical/Scientific computing Note: Stats completely made up! The general impression “Enterprise community” “Hacker community” Guys in suits Guys in jeans Word, Excel, Outlook Emacs, Python, gmail Run prepackaged stuff Builds/runs OSS stuff Common complaints about Windows • I have a Windows box, but Windows … • Is hard to learn… • Doesn‟t have a good shell • Doesn‟t have my favorite editor • Doesn‟t have my favorite IDE • Doesn‟t have my favorite compiler or libraries • Locks me in • Doesn‟t play well with OSS • …. • In summary: (More like ) My hope … • I have a Windows box, and Windows … • Is easy to learn… • Has excellent shells • Has my favorite editor • Supports my favorite IDE • Supports my compilers and libraries • Does not lock me in • Plays well with OSS • …. • In summary: ( or at least ) How? • Recreating a Unix like veneer over windows to minimize your learning curve • Leverage your investment in know how & code • Showing what key codes already run natively on windows just as well • Kicking the dev tires using cross plat languages Objective is to: Help you ADD to your toolbox, not take anything away from it! At a high level… • Cygwin • SUA • Windowing systems “The Unix look & feel” • Standalone shell/utils • IDE‟s • Editors General purpose development • Compilers / languages / Tools • make • Libraries • CAS environments Dedicated CAS / IDE‟s And if there is time, a couple of demos… Cygwin • What is it? • A Unix like environment for Windows.
    [Show full text]
  • ARM Optimizing C/C++ Compiler V20.2.0.LTS User's Guide (Rev. V)
    ARM Optimizing C/C++ Compiler v20.2.0.LTS User's Guide Literature Number: SPNU151V January 1998–Revised February 2020 Contents Preface ........................................................................................................................................ 9 1 Introduction to the Software Development Tools.................................................................... 12 1.1 Software Development Tools Overview ................................................................................. 13 1.2 Compiler Interface.......................................................................................................... 15 1.3 ANSI/ISO Standard ........................................................................................................ 15 1.4 Output Files ................................................................................................................. 15 1.5 Utilities ....................................................................................................................... 16 2 Using the C/C++ Compiler ................................................................................................... 17 2.1 About the Compiler......................................................................................................... 18 2.2 Invoking the C/C++ Compiler ............................................................................................. 18 2.3 Changing the Compiler's Behavior with Options ......................................................................
    [Show full text]
  • Learning the Bash Shell, 3Rd Edition
    1 Learning the bash Shell, 3rd Edition Table of Contents 2 Preface bash Versions Summary of bash Features Intended Audience Code Examples Chapter Summary Conventions Used in This Handbook We'd Like to Hear from You Using Code Examples Safari Enabled Acknowledgments for the First Edition Acknowledgments for the Second Edition Acknowledgments for the Third Edition 1. bash Basics 3 1.1. What Is a Shell? 1.2. Scope of This Book 1.3. History of UNIX Shells 1.3.1. The Bourne Again Shell 1.3.2. Features of bash 1.4. Getting bash 1.5. Interactive Shell Use 1.5.1. Commands, Arguments, and Options 1.6. Files 1.6.1. Directories 1.6.2. Filenames, Wildcards, and Pathname Expansion 1.6.3. Brace Expansion 1.7. Input and Output 1.7.1. Standard I/O 1.7.2. I/O Redirection 1.7.3. Pipelines 1.8. Background Jobs 1.8.1. Background I/O 1.8.2. Background Jobs and Priorities 1.9. Special Characters and Quoting 1.9.1. Quoting 1.9.2. Backslash-Escaping 1.9.3. Quoting Quotation Marks 1.9.4. Continuing Lines 1.9.5. Control Keys 4 1.10. Help 2. Command-Line Editing 2.1. Enabling Command-Line Editing 2.2. The History List 2.3. emacs Editing Mode 2.3.1. Basic Commands 2.3.2. Word Commands 2.3.3. Line Commands 2.3.4. Moving Around in the History List 2.3.5. Textual Completion 2.3.6. Miscellaneous Commands 2.4. vi Editing Mode 2.4.1.
    [Show full text]
  • La Kornshell: Lenguaje De Programación Y Comando
    La KornShell: Lenguaje de Programación y Comando Una guía para programadores de Shell Scripts de Unix Jesús Alberto Vidal Cortés http://inicia.es/de/chube [email protected] www.kornshell.com Madrid, Agosto de 2001 Índice PARTE I: INTRODUCCIÓN......................................................................................................... 11 1. SOBRE EL LENGUAJE KORNSHELL ........................................................................................... 12 ¿Qué es una Shell?.............................................................................................................. 12 Beneficios del uso de ksh..................................................................................................... 13 Mejoras como Lenguaje de Comandos ................................................................................................................ 13 Mejoras como Lenguaje de Programación........................................................................................................... 14 Versiones a las que se aplica este manual............................................................................. 15 ¿Cómo obtener ksh?............................................................................................................ 16 2. NOTACIÓN UTILIZADA EN ESTE MANUAL..................................................................................... 18 General ............................................................................................................................... 18 Teclas sobre
    [Show full text]
  • Microsoft Windows NT from a UNIX Point of View 1
    Microsoft ® Windows NT™ from a Unix ® Point of View A White Paper from the Business Systems Technology Series Microsoft Windows NT ™ from a Unix ® Point of View A White Paper from the Business Systems Technology Series Abstract This paper provides a technical overview of Windows NT for the information technology (IT) professional with a strong background in Unix. It approaches the subject from the Unix point of view and relates the concepts of Windows NT to corresponding ones found in Unix. It begins with a technical comparison of the two operating systems, moves on to cover how the two can coexist in a heterogeneous environment, and finishes with a brief section describing some of the tools available to aid developers in creating applications for both platforms. About the Microsoft Business Systems Technology Series The Microsoft® Business Systems Technology Series consists of a number of interrelated white papers dedicated to educating information technology (IT) professionals about Windows NT and the Microsoft BackOffice™ family of products. While current technologies used in Microsoft products are often covered, the real purpose of this series is to give the reader an idea of how major technologies are evolving, how Microsoft is using those technologies, and what this means to IT planners. Legal Notice The descriptions of other companies’ products in this paper are provided only as a convenience to the reader. Microsoft cannot guarantee their accuracy, and the products may change over time. Also, the descriptions are intended as brief highlights to aid understanding, rather than as thorough coverage. For authoritative descriptions of these products, please consult their respective manufacturers.
    [Show full text]
  • Squeezing Water from Stone: Kornshell in 2019
    Squeezing Water from Stone: KornShell in 2019 Siteshwar Vashisht @SiteshwarV main() { printf(&unix["\021%six\012\0"],(unix)["have"]+"fun"-0x60);} ● Winner of IOCCC (The International Obfuscated C Code Contest) one line entry in 1987. ● Termed as best one liner ever received. ● Written by David Korn. What this talk is about ? ● It’s about AT&T KornShell (ksh, not mksh or pdksh). ● Brief status update from new upstream maintainers (Kurtis Rader and Siteshwar Vashisht). ● No deep dive in the source code. ● It is slightly extended version of my talk from FOSDEM 2019 and All Systems Go! 2019. /whois situ ● Siteshwar Vashisht. ● Based in Brno, Czech Republic. ● Maintainer of bash and ksh at Red Hat. ● Previously involved with fish shell and Sailfish OS. ● Current upstream maintainer of ksh. What is KornShell ? ● Direct descendant of Bourne shell. ● Initial development based on original bourne shell. ● Roots back to late 70’s and early 80’s. Spot the bug! #!/bin/bash echo $'hello world' | while read foo do bar="$foo" done echo "bar: " "$bar" $bar is not available outside loop. Bash forks last command in a new process and $bar is lost. Advantages ● Superior language specification (Support for Discipline functions, namespaces, compound data type, enums etc.). ● Better POSIX compliance. ● Fastest POSIX shell. Show me the numbers! $ cat test.sh for ((i=0;i<10000;i++)) do foo=$(echo "bar baz") done $ time bash test.sh $ time zsh test.sh $ time ksh test.sh real 0m2.977s real 0m2.433s real 0m0.078s user 0m2.032s user 0m1.570s user 0m0.062s sys 0m1.167s sys 0m1.233s sys 0m0.015s A 20 year old bug State of ksh in 2017 ● Previous developers have left.
    [Show full text]
  • Common Desktop Environment: Desktop Kornshell User's Guide
    Common Desktop Environment: Desktop KornShell User’s Guide Sun Microsystems, Inc. 901 San Antonio Road Palo Alto, CA 94303 U.S.A. Part No: 805-3917–10 October 1998 Copyright 1998 Sun Microsystems, Inc. 901 San Antonio Road, Palo Alto, California 94303-4900 U.S.A. All rights reserved. This product or document is protected by copyright and distributed under licenses restricting its use, copying, distribution, and decompilation. No part of this product or document may be reproduced in any form by any means without prior written authorization of Sun and its licensors, if any. Third-party software, including font technology, is copyrighted and licensed from Sun suppliers. Parts of the product may be derived from Berkeley BSD systems, licensed from the University of California. UNIX is a registered trademark in the U.S. and other countries, exclusively licensed through X/Open Company, Ltd. Sun, Sun Microsystems, the Sun logo, SunDocs, Java, the Java Coffee Cup logo, and Solaris are trademarks, registered trademarks, or service marks of Sun Microsystems, Inc. in the U.S. and other countries. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. in the U.S. and other countries. Products bearing SPARC trademarks are based upon an architecture developed by Sun Microsystems, Inc. The OPEN LOOK and SunTM Graphical User Interface was developed by Sun Microsystems, Inc. for its users and licensees. Sun acknowledges the pioneering efforts of Xerox in researching and developing the concept of visual or graphical user interfaces for the computer industry. Sun holds a non-exclusive license from Xerox to the Xerox Graphical User Interface, which license also covers Sun’s licensees who implement OPEN LOOK GUIs and otherwise comply with Sun’s written license agreements.
    [Show full text]
  • Squeezing Water from Stone: Kornshell in 2019
    Squeezing Water from Stone: KornShell in 2019 Siteshwar Vashisht @SiteshwarV main() { printf(&unix["\021%six\012\0"],(unix)["have"]+"fun"-0x60);} ● Winner of IOCCC (The International Obfuscated C Code Contest) one line entry in 1987. ● Termed as best one liner ever received. ● Written by David Korn. What this talk is about ? ● It’s about AT&T KornShell (ksh, not mksh or pdksh). ● Brief status update from new upstream maintainers (Kurtis Rader and Siteshwar Vashisht). ● No deep dive in the source code. ● It is slightly extended version of my talk from FOSDEM 2019. /whois situ ● Siteshwar Vashisht. ● Based in Brno, Czech Republic. ● Maintainer of bash and ksh at Red Hat. ● Previously involved with fish shell and Sailfish OS. ● Current upstream maintainer of ksh. What is KornShell ? ● Direct descendant of Bourne shell. ● Initial development based on original bourne shell. ● Roots back to late 70’s and early 80’s. Spot the bug! #!/bin/bash echo $'hello world' | while read foo do bar="$foo" done echo "bar: " "$bar" $bar is not available outside loop. Bash forks last command in a new process and $bar is lost. Advantages ● Superior language specification (Support for Discipline functions, namespaces, compound data type, enums etc.). ● Better POSIX compliance. ● Fastest POSIX shell. Show me the numbers! $ cat test.sh for ((i=0;i<10000;i++)) do foo=$(echo "bar baz") done $ time bash test.sh $ time zsh test.sh $ time ksh test.sh real 0m2.977s real 0m2.433s real 0m0.078s user 0m2.032s user 0m1.570s user 0m0.062s sys 0m1.167s sys 0m1.233s sys 0m0.015s A 20 year old bug State of ksh in 2017 ● Previous developers have left.
    [Show full text]
  • Building and Installing GNU Units on Microsoft Windows with the MKS Toolkit Edition 2.1 for Units Version 2.21
    Building and Installing GNU units on Microsoft Windows with the MKS Toolkit Edition 2.1 for units Version 2.21 Jeff Conrad This manual is for building and installing GNU units (version 2.21) on Microsoft Windows with the PTC MKS Toolkit. Copyright c 2016{2020 Free Software Foundation, Inc. i Table of Contents Preface ::::::::::::::::::::::::::::::::::::::::::::::: 1 Building and Installing units ::::::::::::::::::::::: 1 Overview :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 1 Configuring configure :::::::::::::::::::::::::::::::::::::::::::::: 2 Customizing the Installation ::::::::::::::::::::::::::::::::::::::::: 2 Administrative Privilege ::::::::::::::::::::::::::::::::::::::::::::: 3 Environment Variables for Visual Studio ::::::::::::::::::::::::::::: 3 Initialization with the Korn Shell ::::::::::::::::::::::::::::::::: 3 Adjustment for Different Visual Studio Installations ::::::::::::::: 3 \install" Programs ::::::::::::::::::::::::::::::::::::::::::::::::::: 4 Running with Administrative Privilege :::::::::::::::::::::::::::: 4 Providing a Manifest File ::::::::::::::::::::::::::::::::::::::::: 4 Embedding a Manifest in the install Program ::::::::::::::::::::: 4 Fine Tuning Makefile ::::::::::::::::::::::::::::::: 5 Behavior of PAGER ::::::::::::::::::::::::::::::::::::::::::::::::::: 5 MKS make and Suffix Rules :::::::::::::::::::::::::::::::::::::::::: 5 Install Program :::::::::::::::::::::::::::::::::::::::::::::::::::::: 5 Icons and File Association :::::::::::::::::::::::::: 6 MKS units:::::::::::::::::::::::::::::::::::::::::::
    [Show full text]
  • Squeezing Water from Stone: Kornshell in 2019
    Squeezing Water from Stone: KornShell in 2019 main() { printf(&unix["\021%six\012\0"],(unix)["have"]+"fun"-0x60);} ●Winner of IOCCC (The International Obfuscated C Code Contest) one line entry in 1987. ●Termed as best one liner ever received. ●Written by David Korn. What this talk is about ? ●It’s about AT&T KornShell (and not mksh/pdksh). ●Brief status update from new upstream maintainers (Kurtis Rader and Siteshwar Vashisht). ●No deep dive in the source code. /whois situ ●Siteshwar Vashisht. ●Based in Brno, Czech Republic. ●Maintainer of bash and ksh at Red Hat. ●Previously involved with fish shell and Sailfish OS. ●Current upstream maintainer of ksh. What is KornShell ? ●Direct descendant of Bourne shell. ●Initial development based on original bourne shell. ●Roots back to late 70s/early 80s. Advantages ●Superior language specification (Support for Discipline functions, namespaces, compound data type, enums etc.). ●Better POSIX compliance. ●Fastest POSIX shell. A 20 year old bug State of ksh in 2017 ●Previous developers have left. ●Codebase has origins going back to the 80s. ●Old Tooling. ●No revision control history. ●Almost no comments in the source code. ●Spaghetti code. ●Bad test coverage. ●Lots of old bugs. ●And ... How to maintain the unmaintainable ? One of my most productive days was throwing away 1,000 lines of code - Ken Thompson We threw away more than 500,000 lines of code. Lines of code (ksh93v-) Lines of code (current) What did we drop ? ●Support for non-POSIX operating systems. ●Reimplementation of POSIX functions. ●Entire subsystems like the AST vmalloc and locale. ●Lots of code that was not used by ksh.
    [Show full text]