Small, Sharp Software Tools


Book Description

The command-line interface is making a comeback. That's because developers know that all the best features of your operating system are hidden behind a user interface designed to help average people use the computer. But you're not the average user, and the CLI is the most efficient way to get work done fast. Turn tedious chores into quick tasks: read and write files, manage complex directory hierarchies, perform network diagnostics, download files, work with APIs, and combine individual programs to create your own workflows. Put down that mouse, open the CLI, and take control of your software development environment. No matter what language or platform you're using, you can use the CLI to create projects, run servers, and manage files. You can even create new tools that fit right in with grep, sed, awk, and xargs. You'll work with the Bash shell and the most common command-line utilities available on macOS, Windows 10, and many flavors of Linux. Create files without opening a text editor. Manage complex directory strutures and move around your entire file system without touching the mouse. Diagnose network issues and interact with APIs. Chain several commands together to transform data, and create your own scripts to automate repetitive tasks. Make things even faster by customizing your environment, creating shortcuts, and integrating other tools into your environment. Hands-on activities and exercises will cement your newfound knowledge and give you the confidence to use the CLI to its fullest potential. And if you're worried you'll wreck your system, this book walks you through creating an Ubuntu virtual machine so you can practice worry-free. Dive into the CLI and join the thousands of other devs who use it every day. What You Need: You'll need macOS, Windows 10, or a Linux distribution like Ubuntu, Fedora, CentOS, or Debian using the Bash shell.




Modern Software Tools for Scientific Computing


Book Description

The purpose of this book is to survey some recent advances in the development of software tools for scientific computing. This book presents 17 carefully selected and refereed chapters originally presented at the SciTools '96 Workshop in Oslo, Norway. The chapters emphasize the design of large software codes, computational efficiency, object-oriented programming in scientific computing, reliability of numerical software, and parallel computing.




Practical Software Development Techniques


Book Description

This book provides an overview of tools and techniques used in enterprise software development, many of which are not taught in academic programs or learned on the job. This is an ideal resource containing lots of practical information and code examples that you need to master as a member of an enterprise development team. This book aggregates many of these "on the job" tools and techniques into a concise format and presents them as both discussion topics and with code examples. The reader will not only get an overview of these tools and techniques, but also several discussions concerning operational aspects of enterprise software development and how it differs from smaller development efforts. For example, in the chapter on Design Patterns and Architecture, the author describes the basics of design patterns but only highlights those that are more important in enterprise applications due to separation of duties, enterprise security, etc. The architecture discussion revolves has a similar emphasis – different teams may manage different aspects of the application’s components with little or no access to the developer. This aspect of restricted access is also mentioned in the section on logging. Theory of logging and discussions of what to log are briefly mentioned, the configuration of the logging tools is demonstrated along with a discussion of why it’s very important in an enterprise environment.







Software Development Tools


Book Description

This text contains the proceedings of a workshop on software develoDment tools, held at Pingree Park, Colorado in May, 1979. The workshop, for which we were co-chair men, was primarily, but not exclusively, concerned with a variety of tools supporting pre-implementation phases of software development. The workshop brought together researchers and practitioners from industrial, governmental, and academic sectors to compare and assess current work and to set some directions for future work in this emerging technical area. The fifty participants represented research and development efforts in software tools within the United States, Canada, France, Great Britain, and Japan. (A list of participants appears at the end of the text. ) Sponsorship was provided by the National Aeronautics and Space Administration, the National Bureau of Standards, the National Science Foundation, and Digital Equipment Corporation. The conference consisted of seven formal sessions and numerous organized and impromptu discussions. Each session (except the last) included invited papers, prepared remarks by discussants, and an open discussion.







Using Toolpack Software Tools


Book Description

I am very pleased to write these few brief paragraphs introducing this book, and would like to take this opportunity to attempt to set the Toolpack project in an appropriate historical context. The Toolpack project must be considered to have actually began in the Fall of 1978, when Prof. Webb C. Miller, at a meeting at Jet Propulsion Laboratories in Pasadena, California, suggested that there be a large-scale project, called Toolpack, aimed at pulling together a comprehensive collection of mathematical software development tools. It was suggested that the project follow the pattern of other "Pack" projects, such as Eispack, Linpack, and Funpack which had assembled and systematized comprehensive collections of mathematical software in such areas as eigenvalue computation, linear equation solution and special function approximation. From the that the Toolpack project would differ significantly from beginning it was recognized these earlier "Pack" projects in that it was attempting to assemble and systematize software in an area which was not well established and understood. Thus it was not clear how to organize and integrate the tools we were to collect into Toolpack. As a consequence Toolpack became simultaneously a research project and a development project. The research was aimed at determining effective strategies for large-scale integration of large-scale software tools, and the development project was aimed at implementing these strategies and using them to put high quality tools at the disposal of working mathematical software writers.




Coder to Developer


Book Description

"Two thumbs up" —Gregory V. Wilson, Dr. Dobbs Journal (October 2004) No one can disparage the ability to write good code. At its highest levels, it is an art. But no one can confuse writing good code with developing good software. The difference—in terms of challenges, skills, and compensation—is immense. Coder to Developer helps you excel at the many non-coding tasks entailed, from start to finish, in just about any successful development project. What's more, it equips you with the mindset and self-assurance required to pull it all together, so that you see every piece of your work as part of a coherent process. Inside, you'll find plenty of technical guidance on such topics as: Choosing and using a source code control system Code generation tools--when and why Preventing bugs with unit testing Tracking, fixing, and learning from bugs Application activity logging Streamlining and systematizing the build process Traditional installations and alternative approaches To pull all of this together, the author has provided the source code for Download Tracker, a tool for organizing your collection of downloaded code, that's used for examples throughout this book. The code is provided in various states of completion, reflecting every stage of development, so that you can dig deep into the actual process of building software. But you'll also develop "softer" skills, in areas such as team management, open source collaboration, user and developer documentation, and intellectual property protection. If you want to become someone who can deliver not just good code but also a good product, this book is the place to start. If you must build successful software projects, it's essential reading.




Guide to Graphics Software Tools


Book Description

The 2nd edition of this integrated guide explains and lists readily available graphics software tools and their applications, while also serving as a shortcut to graphics theory and programming. It grounds readers in fundamental concepts and helps them use visualization, modeling, simulation, and virtual reality to complement and improve their work.




Version Control with Git


Book Description

Get up to speed on Git for tracking, branching, merging, and managing code revisions. Through a series of step-by-step tutorials, this practical guide takes you quickly from Git fundamentals to advanced techniques, and provides friendly yet rigorous advice for navigating the many functions of this open source version control system. This thoroughly revised edition also includes tips for manipulating trees, extended coverage of the reflog and stash, and a complete introduction to the GitHub repository. Git lets you manage code development in a virtually endless variety of ways, once you understand how to harness the system’s flexibility. This book shows you how. Learn how to use Git for several real-world development scenarios Gain insight into Git’s common-use cases, initial tasks, and basic functions Use the system for both centralized and distributed version control Learn how to manage merges, conflicts, patches, and diffs Apply advanced techniques such as rebasing, hooks, and ways to handle submodules Interact with Subversion (SVN) repositories—including SVN to Git conversions Navigate, use, and contribute to open source projects though GitHub