The C, UNIX, UNIX/Linux Commands, Reuse Series

This volume contains four complete books: the second editions of Using C in Software Design, Advanced Topics in UNIX, and Software Reuse: Methods, Models, Costs, and the first edition of The 101 Most Important Linux and UNIX Commands.

The author, Ronald J. Leach, is Professor and Chair Emeritus from Howard University and is the author of the recently published Introduction to Software Engineering, Second Edition.





C and Linux/UNIX Commands: Two Books

This volume contains the complete text of two books: Using C in Software Design, Second Edition, and The 101 Most Important UNIX and Linux Commands.


USING C IN SOFTWARE DESIGN, 2E

As was the case in the first edition published in 1993, this book provides a creative approach to learning C by emphasizing software engineering in C.

  1. All material has been class-tested.
  2. The book avoids most implementation-specific language features.
  3. A software project is introduced early in the book and appears throughout as new features of C are covered.
  4. A separate chapter on larger programming using the make facility or the Visual Studio project for separate compilation is included.
  5. A few programs are deliberately seeded with errors to help create programs that work correctly.
  6. Special emphasis is placed on the design and implementation of user-defined libraries.
A brief introduction to C++ is included.

The second book delivers what the title states: It describes the 101 most important UNIX and Linux commands and system calls. The book bridges the gap between on-line tutorials and manual pages on one hand, and books of 1,000 pages or more that explore the nuances of many shell commands in exhaustive detail. While most of these sources provide excellent information, they do not really solve the plight of the novice user, nor do they fully answer the questions that more experienced, and even expert, users often have.

Much of the complexity of UNIX and Linux, and much of the difficulty faced by users is caused by the extremely large and rich set of shell commands, many of which have a very large set of allowable options that, while useful in certain circumstances, often provide more frustration than help because of their complexity. Many UNIX and Linux system calls are also complex, and have interactions that can be rather difficult for many programmers.

The many variants of UNIX cause additional difficulties. Even Linux has multiple variants: there are often subtle differences in the Linux implementations by Red Hat (Fedora), Ubuntu, SUSE, and Debian.

For example, one of my recent senior students had a major project that required using a particular Linux software application containing a particular language character set and grammar. The software would not work (indeed, it would not even install properly) on three of the most common Linux implementations!

Our approach is to focus on a smaller set of commands and system calls; the ones that are most important. For each of these, only the most useful of the many options are described.

As a professor, I taught operating systems in general, and UNIX in particular, for over twenty-five years. As the author of the book Advanced Topics in UNIX, which was selected as a main selection on UNIX by the Newbridge Book Club, and Advanced Topics in UNIX, Second Edition (available electronically on this ebook platform), I had to make choices in what I presented and how I presented it. Finally, as an analyst/consultant on many different applications in multiple UNIX and Linux systems, I had to make choices based on the quality of the source code, and on its performance and maintainability.

I am confident that I have made the correct choices in selecting which of the many shell commands, system calls and options to discuss in this book and at what level they should be discussed. I hope you agree.


USING C IN SOFTWARE DESIGN, 2E

As was the case in the first edition originally published in 1993, this book provides a creative approach to learning the C programming language by emphasizing software engineering. This inexpensive book, extensively tested in several academic and professional settings, provides a gentle, but complete, introduction to the C language for a practicing scientist or engineer to be able to write substantial programs to solve scientific programs using C libraries. Extensive program examples are included to illustrate the major concepts of the C programming language. This book also illustrates the way that modern software engineering is typically done, by showing how a major software design and development project can be implemented in the C language. The first part emphasizes the simpler software engineering aspects of C, allowing the reader to begin writing interesting programs quickly. The second section discusses advanced C topics, such as pointers, structures, and the design of larger C programs that extend over several source code files. Key features include:

  1. All of the material has been class-tested to ensure accuracy and usability.
  2. As much as feasible, the book discusses the C language in general and avoids most implementation-specific features of the language.
  3. A software project is introduced early in the book and appears throughout as new features of C are covered.
  4. A separate chapter on larger programming using the make facility or the Visual Studio project for separate compilation is included.
  5. A few judiciously chosen programs deliberately seeded with bugs or errors are used to illustrate potential errors and how they can be fixed to create programs that work correctly.
  6. Special emphasis is placed on the design and implementation of user-defined libraries.
  7. A brief introduction to C++ is included.

C and UNIX

This Volume contains two complete books, USING C IN SOFTWARE DESIGN, 2E and ADVANCED TOPICS IN UNIX, 2E.

USING C IN SOFTWARE DESIGN, 2E

The first edition of this book was originally published in 1993. This book provides a creative approach to learning the C programming language by emphasizing software engineering. This inexpensive book, extensively tested in several academic and professional settings, provides a gentle, but complete, introduction to the C language for a practicing scientist or engineer to be able to write substantial programs to solve scientific programs using C libraries. Extensive program examples are included to illustrate the major concepts of the C programming language. This book also illustrates the way that modern software engineering is typically done, by showing how a major software design and development project can be implemented in the C language. The first part emphasizes the simpler software engineering aspects of C, allowing the reader to begin writing interesting programs quickly. The second section discusses advanced C topics, such as pointers, structures, and the design of larger C programs that extend over several source code files. Key features include: 1. All of the material has been class-tested to ensure accuracy and usability. 2. As much as feasible, the book discusses the C language in general and avoids most implementation-specific features of the language. 3. A software project is introduced early in the book and appears throughout as new features of C are covered. 4. A separate chapter on larger programming using the make facility or the Visual Studio project for separate compilation is included. 5. A few judiciously chosen programs deliberately seeded with bugs or errors are used to illustrate potential errors and how they can be fixed to create programs that work correctly. 6. Special emphasis is placed on the design and implementation of user-defined libraries. 7. A brief introduction to C++ is included.


ADVANCED TOPICS IN UNIX, 2E

The first edition, originally published in 1994 by John Wiley, was named an Alternate Main Selection of the Newbridge Book Club. It stayed in print for thirteen years, an eternity in the computing literature. Due to changes in the publishing industry, this edition of the book is only available electronically. I revised the book because of the increased popularity of several variants of UNIX and what I learned from reviews of the previous published version. Linux is highly popular, especially in the open source community and because the operating system for the Google Android phone is based on it. Mach, Solaris, and Apple Darwin are also popular. In my experience, end users, application programmers, system programmers, and system administrators often have difficulties making programs and utilities work well across different UNIX variants, due to differences in file system organization, different locations of critical configuration files, and important, yet subtle, differences in how system calls operate. There are also issues with different utilities, many of which are either not available on all UNIX versions, or else require a substantial effort to even get them to install properly. One of the most interesting problems required detailed analysis of several Linux variants in order to get a single public domain application to work: the different Linux variants from Fedora (formerly Red Hat), SUSE, and Ubuntu were tried before the application would install and work properly.

Many second editions dump material from older technologies. I have chosen a different approach, guided by my own research and experience in the efficient development of large, high-quality, software systems over much of the last twenty-five years. A huge percentage of current software applications for UNIX and other operating systems are built using existing software components that are either partially or entirely reused. Older software components necessarily have been built using older technology and are likely to use some of the classic system calls.





Object-Oriented Design and Programming with C++

Object-Oriented Design and Programming with C++: Your Hands-On Guide to C++ Programming, with Special Emphasis on Design, Testing, and Reuse provides a list of software engineering principles to guide the software development process. This book presents the fundamentals of the C++ language.

Organized into two parts encompassing 10 chapters, this book begins with an overview of C++ and describes object-oriented programming and the history of C++. This text then introduces classes, polymorphism, inheritance, and overloading. Other chapters consider the C++ preprocessor and organization of class libraries. This book discusses as well the scope rules, separate compilation, class libraries, and their organization, exceptions, browsers, and exception handling. The final chapter deals with the design of a moderately complex system that provides file system stimulation.

This book is a valuable resource for readers who are reasonably familiar with the C programming language and want to understand the issues in object-oriented programming using C++.



Data Recovery

One of the greatest fears of anyone using a computer, smartphone, or tablet is the loss of their data. But there is hope, even in the worst situations. This book, written by a long-time computer science professor, department chair, and author, shows how the very complexity of modern computing devices helps make data recovery possible.

Most lost data can be recovered easily by the average user. The book contains numerous simple examples that illustrate the step-by-step data recovery process for the most popular computer operating systems and software. We will also show you how to help recover your lost data from smartphones and tablets, as well as any data you may have stored in the cloud.

In some cases, the problems are more complex than can reasonably be resolved by the typical user. The book also provides information on how to tell if you need expert help to solve your data recovery problems - and you will have enough technical background information how to judge the capability of that supposedly expert help to make sure that the data is recovered as much as humanly possible.

About the Author

Ronald J. Leach recently retired as Professor and Chair Emeritus from the Department of Systems and Computer Science at Howard University, where he had taught since 1969. He received the B.S., M.S., and Ph.D. degrees from the University of Maryland at College Park and the M. S. degree in Computer Science from Johns Hopkins University. His research interests include distributed systems, performance modeling and capacity planning; and most areas of software engineering, especially software reuse, fault-tolerance, and software performance measurement and their empirical foundations. Much of this book is based on his 27 years of UNIX experience as a researcher in fault-tolerance; a teacher of operating systems, emphasizing UNIX; and as a consultant, who has analyzed hundreds of thousands of lines of UNIX code. Some of his current work includes the application of computing to the social sciences, especially in the area of name matching within historical documents, using both his computer search skills and genealogical knowledge. He is a frequent member of ABET site visit teams. He is an experienced lecturer, with special emphasis on identity theft and computer forensics. He also lectures to other groups. Ron Leach is the author of seven print books: "Using C in Software Design," Academic Press Professional,"Advanced Topics in UNIX," John Wiley; "Object-Oriented Design and Programming in C++," Academic Press Professional, Software Reuse: Methods, Models, and Costs," McGraw-Hill, "Introduction to Software Engineering," CRC Press, "Genealogy for the Information Age," Disruptive Publishing, and "Relative Genealogy," Disruptive Publishing. He has published two books on the subject of identity theft: "Twelve and a Half Steps to Avoid Identity Theft," as an ebook, and "Identity Theft in the Cyber Age," which is available as both an ebook and in print. Revised editions of many of these are available as ebooks. Dr. Leach has offered technical training and seminars on software reuse, reengineering, and testing on three continents. He has lectured on a variety of other topics between continents! He is also the author or co-author of more than one hundred technical papers. In his spare time, he is the co-Editor of the Maryland Genealogical Society Journal and is webmaster for its newly designed website.



Recover Your Data, Protect Your Identity: Two Books

Written by a prominent computer scientist, this volume contains information of critical importance to even the most casual computer user in the modern world. This volume contains two complete works: Data Recovery and Identity Theft in the Cyber Age.

Data Recovery: One of the greatest fears of anyone using a computer, smartphone, or tablet is the loss of their data. But there is hope, even in the worst situations. This book, written by a long-time computer science professor, department chair, and author, shows how the very complexity of modern computing devices helps make data recovery possible. Most lost data can be recovered easily by the average user. The book contains numerous simple examples that illustrate the step-by-step data recovery process for the most popular computer operating systems and software. We’ll also show you how to help recover your lost data from smartphones and tablets, as well as any data you may have stored in the cloud. In some cases, the problems are more complex than can reasonably be resolved by the typical user. The book also provides information on how to tell if you need expert help to solve your data recovery problems - and you will have enough technical background information how to judge the capability of that supposedly expert help to make sure that the data is recovered as much as humanly possible.

Identity Theft in the Cyber Age:

Do you know how to protect your vital identity information when you use computers for your banking, credit card transactions, and everyday purchases?

What about when you are using email, web surfing, texting, or social networking? If you don't, then Identity Theft in the Cyber Age is the book for you.

This easy-to-understand book will tell you what to do and what to avoid when preparing your taxes; going to a bank, pharmacy, or doctor; shopping in person; traveling; or using any kind of electronic commerce. You’ll learn about the most common security weaknesses of modern banking and e-commerce software and when to avoid using certain software systems, the tell-tale signs of potentially insecure transmission of your data, and how to avoid the dangerous practice of “Pameiob.” You'll learn how you have to protect yourself from the kinds of identity theft that can occur even if YOU never shop online. This book is a comprehensive, easy-to-understand guide that is dedicated to keeping your assets and identity safe while navigating this dangerous world. It is based on the author's experiences as a long-term identity theft consultant and lecturer and computer scientist. Major topics in this complex subject are illustrated by case studies describing the personal experiences of some of the author's friends and acquaintances, and by experiences of some prominent public figures. You'll learn about the potential profit margins that make cybercrime so appealing to criminals - and why such crime is so hard to prosecute. You will learn just how pervasive the crime of identity theft is, and how you are at risk even if you don't do any online banking or make any online purchases using a credit card. We'll discuss some simple strategies that can help you cope with the side effects of the increase in digital information that is already available to potential identity thieves. There are four main chapters. Chapter 1 is entitled "Identity Theft: How Bad Is It?" and provides an overview of this all too common problem. Chapter two, entitled "Identity Theft: How Vulnerable are You?," provides examples of actual cases of the most common types of identity. The third chapter is entitled "Protect Yourself From Identity Theft" and contains a set of strategies that can be used to greatly reduce the chances of you suffering identity theft. The fourth chapter is entitled "What To Do If You Are An Identity Victim." It provides a set of overall strategies and specific actions you should take if you are the victim of identity theft. There are three appendices. About the Author Ronald J. Leach recently retired as Professor and Chair Emeritus from the Department of Systems and Computer Science at Howard University, where he had taught since 1969. He received the B.S., M.S., and Ph.D. degrees from the University of Maryland at College Park and the M. S. degree in Computer Science from Johns Hopkins University. His research interests include distributed systems, performance modeling and capacity planning; and most areas of software engineering, especially software reuse, fault-tolerance, and software performance measurement and their empirical foundations. Some of his current work includes the application of computing to the social sciences, especially in the area of name matching within historical documents, using both his computer search skills and genealogical knowledge. He is an experienced cruise ship lecturer, with special emphasis on identity theft and computer forensics. Dr. Leach is the author of seven print books: Using C in Software Design, Academic Press, Advanced Topics in UNIX, John Wiley; Object-Oriented Design and Programming in C++, Academic Press, Software Reuse: Methods, Models, and Costs, McGraw-Hill, Introduction to Software Engineering, CRC Press, Genealogy for the Information Age, Disruptive Publishing, and Relative Genealogy, Disruptive Publishing. He has recently published an ebook entitled "Identity Theft in the Cyber Age." Dr. Leach has offered technical training and seminars on software reuse, reengineering, and testing on three continents. He is also the author or co-author of more than one hundred technical papers.



UNIX + REUSE

This book contains the full text of the second editions of two of the author's books: Advanced Topics In UNIX and Software Reuse: Methods, Models Costs. Although the first edition of Advanced Topics In UNIX was originally published by John Wiley and Sons, and the first edition of Software Reuse: Methods, Models, Costs was originally published by McGraw-Hill, the second, electronic editions of both books were published by AfterMath in Baltimore, Maryland and are relatively available.

The two books have been packaged together because they fit well. Indeed, the philosophy of each book influenced the other. at least to some extent, although there is essentially no overlap. A few examples will illustrate the relationship.

Advanced Topics In UNIX emphasizes the develop of applications and systems software in complex environments with changing technology, such as is common in the world of UNIX, Linux, Solaris, Apple Darwin, Mach, and similar. Linux alone has several flavors, including Fedora, Ubuntu, and SUSE and several popular file systems, such as ext, ext2, ext3, and ext4. Linux has been ported to smartphones, although a recent patent case decision makes the future of such an installation hard to predict. Surviving in this environment means understanding many types of system calls and how they interface. The well-known classification of all UNIX artifacts as being either a process or a file certainly encourages reuse!

There are eleven chapters in Advanced Topics In UNIX: Introduction to UNIX, The User Interface, Input and Output, UNIX File Systems, Introduction to Processes, Memory and Process Management, Introduction to Interprocess Communication, The System V IPC Package, Signals, Sockets, and RPC, IPC Comparison, and Fault-Tolerant UNIX Software.

Software Reuse: Methods, Models, Costs emphasizes the cost efficient development of high-quality software systems in changing technology environments. Our primary example of domain analysis, which is the analysis of software into potentially reusable artifacts, often at a higher level than simply source code modules, is the assessment of possibilities for reuse in the Linux kernel.

There are eight chapters in Software Reuse: Methods, Models, Costs: What is Software Reuse?, Techniques (which included domain analysis), Reuse Libraries, Certification of Reusable Software Components, The Economics of Software Reuse, Reengineering, Case Studies, and Tools For Software Reuse.

ABOUT THE AUTHOR:

Ronald J. Leach recently retired as Professor and Chair Emeritus from the Department of Systems and Computer Science at Howard University, where he had taught since 1969. He received the B.S., M.S., and Ph.D. degrees from the University of Maryland at College Park and the M. S. degree in Computer Science from Johns Hopkins University. His research interests include distributed systems, performance modeling and capacity planning; and most areas of software engineering, especially software reuse, fault-tolerance, and software performance measurement and their empirical foundations. Some of his current work includes the application of computing to the social sciences, especially in the area of name matching within historical documents, using both his computer search skills and genealogical knowledge. He is an experienced cruise ship lecturer, with special emphasis on identity theft and computer forensics.



The 101 Most Important UNIX and Linux Commands

This book delivers what the title states: It describes the 101 most important UNIX and Linux commands and system calls. The book bridges the gap between on-line tutorials and manual pages on one hand, and books of 1,000 pages or more that explore the nuances of many shell commands in exhaustive detail. While most of these sources provide excellent information, they do not really solve the plight of the novice user, nor do they fully answer the questions that more experienced, and even expert, users often have. Much of the complexity of UNIX and Linux, and much of the difficulty faced by users is caused by the extremely large and rich set of shell commands, many of which have a very large set of allowable options that, while useful in certain circumstances, often provide more frustration than help because of their complexity. Many UNIX and Linux system calls are also complex, and have interactions that can be rather difficult for many programmers.

About the Author

Ronald J. Leach recently retired as Professor and Chair Emeritus from the Department of Systems and Computer Science at Howard University, where he had taught since 1969. He received the B.S., M.S., and Ph.D. degrees from the University of Maryland at College Park and the M. S. degree in Computer Science from Johns Hopkins University. His research interests include distributed systems, performance modeling and capacity planning; and most areas of software engineering, especially software reuse, fault-tolerance, and software performance measurement and their empirical foundations.

Much of this book is based on his 27 years of UNIX experience as a researcher in fault-tolerance; a teacher of operating systems, emphasizing UNIX; and as a consultant, who has analyzed hundreds of thousands of lines of UNIX code. Some of his current work includes the application of computing to the social sciences, especially in the area of name matching within historical documents, using both his computer search skills and genealogical knowledge.

He is a frequent member of ABET site visit teams. He is an experienced cruise ship lecturer, with special emphasis on identity theft and computer forensics. He also lectures to other groups.

Ron Leach is the author of eight print books:

"Using C in Software Design," Academic Press Professional,

"Advanced Topics in UNIX," John Wiley;

"Object-Oriented Design and Programming in C++," Academic Press Professional,

Software Reuse: Methods, Models, and Costs," McGraw-Hill,

"Introduction to Software Engineering," (first and second editions) CRC Press,

"Genealogy for the Information Age," Disruptive Publishing, and

"Relative Genealogy," Disruptive Publishing.

He has published four books on the subject of identity theft: "Twelve and a Half Steps to Avoid Identity Theft," as an ebook, and "Identity Theft in the Cyber Age," which is available as both an ebook and in print. Revised editions of many of these are available as ebooks. Dr. Leach has offered technical training and seminars on software reuse, reengineering, and testing on three continents. He has lectured on a variety of other topics between continents! He is also the author or co-author of more than one hundred technical papers. In his spare time, he is the co-Editor of the Maryland Genealogical Society Journal and is webmaster for its newly designed website.



Fastest Paths to a Job in the Computer Industry

This book, reformatted to meet current ebook standards such as having an active table of contents, provides essential information about the fastest ways to get jobs in the computer industry, even without a four-year degree or extensive computer programming experience. Jobs described include:

  1. Technician
  2. Help Desk
  3. Cable Installer
  4. Assembler
  5. Hardware Tester
  6. Computer Repair Expert
  7. Router Configuration Specialist
  8. Free-lance special-purpose service provider
  9. Word Processor
  10. Data Entry Clerk
  11. Certified Expert in a particular technology (Microsoft MCSE, Novell, Cisco, 3Com, etc.)
  12. Obsolete Programming Languages Expert
  13. Web Designer
  14. Computer Artist
  15. Desktop publisher
  16. Computer Salesperson
  17. Computer Trainer

ABOUT THE AUTHOR:

Ronald J. Leach, Ph.D., was a long-term professor of Computer Science and former department chair before he recently retired from Howard University. During the 2004-2005 academic year, while he was department chair, Howard University sent more students to Microsoft than any other school in the United States.


Identity Theft in the Cyber Age

Ronald J. Leach's lectures on identity theft have been attended by more than 1,200 people. Many more have heard him on closed-circuit television. This book is based on his expertise in identity theft and his many years as a computer scientist.

Do you know how to protect your vital identity information when you use computers for your banking, credit card transactions, and everyday purchases? What about email, web surfing, texting, and social networking?

This easy-to-understand book,recently reformatted to include an improved active table of contents and intended for the general, non-specialist reader, will tell you what to avoid in using electronic commerce. You’ll learn about the most common security weaknesses of modern banking and e-commerce software and when to avoid using certain systems, the tell-tale signs of potentially insecure transmission of your data, and how to avoid the dangerous practice of “Pameiob.”

This book is a comprehensive, easy-to-understand guide, based on the author's experiences as a long-term identity theft lecturer and computer scientist, that is dedicated to keeping your assets and identity safe while navigating this dangerous world. Major topics in this complex subject are illustrated by case studies describing the personal experiences of some of the author's friends and acquaintances, and by experiences of some prominent public figures. You'll learn about the potential profit margins that make cybercrime so appealing to criminals - and why such crime is so hard to prosecute. In this book you will learn just how pervasive the crime of identity theft is, and how you are at risk even if you don't do any online banking or make any online purchases using a credit card. We'll discuss some simple strategies that can help you cope with the side effects of the increase in digital information that is already available to potential identity thieves.

There are four main chapters. Chapter 1 is entitled Identity Theft: How Bad Is It? and provides an overview of this all too common problem.

Chapter two, entitled Identity Theft: How Vulnerable are You?, provides examples of actual cases of the most common types of identity theft that occur today.

The third chapter is entitled Protect Yourself From Identity Theft and contains a set of strategies that can be used to greatly reduce the chances of you suffering identity theft.

The fourth chapter is entitled What To Do If You Are An Identity Victim. It provides a set of overall strategies and specific actions you should take if you are the victim of identity theft.

There are three appendices. The first appendix contains contact information for the Federal Trade Commission, the three major credit reporting agencies, many US banks, many consumer protection organizations, and a few of the more established companies that specialize in identity theft protection and recovery. The second appendix contains a checklist for protecting yourself from identity theft. Appendix three also contains a checklist; this one is used to aid you in recovering from identity theft if you are a victim.

Ronald J. Leach received the BS, MS, and Ph.D. from the University of Maryland and an MS from Johns Hopkins. He was a professor for over 41 years, and Department Chair for 9, retiring in 2010 as Professor Emeritus of Computer Science. Much of his research is on the interfaces of complex software and hardware systems, and was motivated by his multiple experiences working on NASA-related projects. He currently consults on the accreditation of Computer Science programs. Ron Leach has lectured on cruise ships for several years on a variety of topics. He has given technical and non-technical talks many times on three continents. He developed and completed two ten-hour professionally produced videos for training next-generation software engineers for the Indian government. He is the author of five books on computing, two books on genealogy, one on identity theft, and over 100 technical publications. He understands the identity theft issues well, having experienced it directly and having helped several friends respond when it happened to them. His computer expertise has helped influence his lectures on identity theft. It has also given him special insight into the problems in forensic analysis as it pertains to computers, where he has supervised several projects. Ron is a long-term genealogist, editing the Journal of the Maryland Genealogical Society. Much of his genealogical research has focused on Russia and the Baltics and has required deep understanding of these countries’ history and culture. He has combined trips to computing research conferences with his genealogical research to the advantage of each. He is a well-traveled amateur historian, having been to approximately 55 countries, 5 continents, and on more than 25 cruises on multiple cruise lines. He can discuss several destinations, linking in history, politics, and geography as appropriate.



Twelve and a Half Steps to Avoid Identity Theft

This experience, and his long experience as a professor of computer science make Ronald J. Leach uniquely qualified to write this book. Do you know how to protect your vital identity information when you use computers for your banking, credit card transactions, and everyday purchases? What about when you are using email, web surfing, texting, or social networking? You'll learn about these in Twelve and a Half Steps to Avoid Identity Theft.

What do all these companies, organizations, and people have in common? Heartland, RBS Worldpay, Citizens Financial Group Inc, Hannaford Brothers Co, TJX Companies Inc, Marshalls, TJ Maxx, CardSystems Solutions, The U.S. Internal Revenue Service, Ben Bernanke, Chairman of the Federal Reserve, Wyndam Worldwide Corporation (Wyndam hotels), Zappos, Sony's online accounts for Play Station users, Verisign, LinkedIn. The sad answer is that all of them have suffered well-publicized recent successful attacks from identity thieves. Many of these attacks involved thieves obtaining access to confidential financial information from thousands, and in some cases, millions, of customers. How can you protect yourselves from this crime?

In this book we describe 12 1/2 suggestions that can strongly reduce, or even eliminate, the likelihood of you being an identity theft victim. Why 12 1/2 steps? Because twelve of the steps are ones that you can begin to take right away, and the other will require you to do some additional work reading up on this vital topic. Here are the twelve and a half simple steps to help avoid identity theft:

  1. Strip to a bare minimum
  2. Don't Pameiob
  3. Be strong
  4. Watch for zombies
  5. Watch for vampires
  6. Free is too costly
  7. Don't give too much credit
  8. Surf safely
  9. Gullible's travels
  10. Don't give it up if you don't have to
  11. Just the FAX, please
  12. Be shrewd and shred
  13. 12 1/2. Get more information

This short, easy-to-understand book, intended for the general, non-specialist reader, will tell you what to do and what to avoid when going to a bank, pharmacy, or doctor; shopping in person; traveling; or using any kind of electronic commerce. You'll learn about the most common security weaknesses of modern banking and e-commerce software and when to avoid using certain software systems, the tell-tale signs of potentially insecure transmission of your data, and how to avoid the dangerous practice of "Pameiob." You'll learn how you have to protect yourself from the kinds of identity theft that can occur even if YOU never do any online shopping. This book is a brief, easy-to-understand guide that is dedicated to keeping your assets and identity safe while navigating this dangerous world. The book is based on the author's experiences as a long-term identity theft consultant and lecturer and computer scientist. Want more detailed information on identity theft? Then "Identity Theft in the Cyber Age" is the book for you.



Recovering From Identity Theft

The headline was dreadful from a consumer's perspective. Data from all Target stores had been criminally hacked, and essential information on forty million credit and debit cards was stolen in November and December of 2013. There are reports of angry consumers calling Target's customer service and demanding help. The merchant is the wrong place to call, just as it was pointless to call T. J. Maxx when the data contained on sixty million of their customer's cards were illegally obtained by criminal hackers. This easy-to-understand, 75-page book is the fourth in the Identity Theft series. It is intended for the general, non-specialist reader, provides a set of overall strategies and specific actions you should take if you are the victim of identity theft. There are three appendices. The first appendix contains contact information for the Federal Trade Commission, the three major credit reporting agencies, many US banks, many consumer protection organizations, and a few of the more established companies that specialize in identity theft protection and recovery. The second appendix contains a checklist for protecting yourself from identity theft. Appendix three also contains a checklist; this one is used to aid you in recovering from identity theft if you are a victim. Ron Leach's lectures on identity theft have been attended by more than 3,500 people. Many more have heard him on closed-circuit television. This experience, and his long experience as a professor of computer science make him uniquely qualified to write this book, the fourth in AfterMath's Identity Theft Series.



The Bible as a Manual for Identity Theft

The motivation for this book is that while writing two books on identity theft, I was struck by how some of the modern-day scams had counterparts in the Bible. A re-reading of the Bible reinforced this impression. The original intention was to write three, or perhaps four, books, examining cases of identity theft in the Old testament, New Testament, the Apocrypha, and, eventually, the Qu’ran. After finishing the analysis of the King James Bible (the primary biblical text used herein), and seeing how much of the material that was necessary to include in this book required, it was decided to combine the first three books into one and to leave the analysis of the Qu'ran to an author more versed in its content. Several public domain online versions of bibles were used in this work. All can be found at either gutenberg.org or archive.org. The primary versions used were The King James Bible, The Douay Rheims Catholic Bible, and The Deuterocanonical Books of the Bible. The biblical text has not been changed from the versions found, but has been reformatted to meet the requirements of modern eBook readers. In this book we will present the stories in the Bible that, at least in my opinion, can be considered by a modern reader to involve some form of the crime of identity theft. I invite you, the readers, to comment on my selections in their reviews of this book. No allegorical stories have been included in this book.



Secrets of Pricing Your eBook

You might think that setting a price for your ebook is an easy matter that you can do once and forget about it. You would be wrong. If your ebook's price is too high, you might make less money per sale than if you set a lower price! The same is true for having a price that is too low! This book is useful to anyone wanting to know: 1. How you can set and change the price on any of the major ebook publishing platforms. 2. How you can can set the prices for maximum revenue. 3. What many authors and publishers do wrong when setting prices for ebooks. 4. How you can negotiate a contract for ebook sales even if you are offered a publishing contract with a major publishing house for print versions of your book. 4. The situations when restrictive publishing agreements, such as Amazon KDP, are worthwhile. 5. The advantages and pitfalls of selecting "Extended Distribution" on CreateSpace. 6. The hidden pricing and royalty information on Kobo Writing Life. Once you have learned the secrets in this book, you can see this for yourself. You will enjoy browsing the catalogs of Amazon KDP, Barnes and Noble's Nook Press, KoboBooks.com, the Apple iBookStore, and others to see how many pricing errors are made by independent authors (with and without the use of an aggregator such as Smashwords or Draft2Digital), and even large, well-established publishing houses. You’ll enjoy not making these mistakes yourself. There are separate chapters on setting prices on each of the major ebook publishing platforms, and the best way to set prices across multiple platforms. One chapter is devoted to the special problems of publishing on CreateSpace.com and how those prices are related to prices on Amazon KDP. You will learn when to use an ISBN and when not to. Finally, you'll learn some simple formatting secrets. The book is 211 pages long, and contains 33,387 words and 44 diagrams. Table Of Contents: Chapter 1: Introduction Chapter 2: Pricing eBooks on Amazon KDP Chapter 3: Pricing eBooks on Nook Press (Formerly Pubit) Chapter 4: Pricing eBooks on KobBooks.com Chapter 5: Pricing eBooks on Apple iBooks Chapter 6: Pricing eBooks on Multiple Stores Chapter 7: Pricing Books on Google Play (Google Books) Chapter 8: Pricing Print Books on CreateSpace.com Chapter 9: Pricing eBooks When Using an Aggregator Chapter 10: Pricing eBooks on Other Publisher’s Websites Appendix: Formatting Issues for Kindle, Nook Press, Kobo, iBooks, Smashwords, and Draft2Digital.



Introduction to Software Engineering, Second Edition

Practical Guidance on the Efficient Development of High-Quality Software Introduction to Software Engineering, Second Edition equips students with the fundamentals to prepare them for satisfying careers as software engineers regardless of future changes in the field, even if the changes are unpredictable or disruptive in nature. Retaining the same organization as its predecessor, this second edition adds considerable material on open source and agile development models.

The text helps students understand software development techniques and processes at a reasonably sophisticated level. Students acquire practical experience through team software projects. Throughout much of the book, a relatively large project is used to teach about the requirements, design, and coding of software. In addition, a continuing case study of an agile software development project offers a complete picture of how a successful agile project can work.

The book covers each major phase of the software development life cycle, from developing software requirements to software maintenance. It also discusses project management and explains how to read software engineering literature. Three appendices describe software patents, command-line arguments, and flowcharts.



Software Reuse: Methods, Models, Costs, Second Edition

This updated edition is an essential guide to successful systematic, life cycle-based reuse. It explains in depth the fundamentals, economics, and metrics of reuse and shows how it can succeed, even in rapidly changing technology environments. This book emphasizes the type of complex systems that may evolve into "systems of systems." Important material has been added on the changed state-of-the-art and state-of-the-practice, on product-line architectures, on reuse economics, and maintenance of COTS-based systems.



Baltimore Blue and Freddie Gray

The main characters in our story, Jay Allan Scripps and Rowena Moore, have connected after many years after a mysterious accident. He is hiding from his past, while she leads a reclusive existence. They are motivated by a perhaps misguided need to improve their world. Their unique use of guns forms helps save lives in a neglected area of the city.

"Baltimore Blue and Freddie Gray" is a work of fiction set in Baltimore during the eventful time of the demonstrations and riots after the funeral of Freddie Gray in April, 2015. The riots destroyed stores and buildings and other economic disasters affected tax revenues, increasing the pressure on the already strapped city budget. Not surprisingly, the national and international coverage also affected the housing market in Baltimore, and perhaps more importantly, the city's reputation.

Earlier that month, I had a conversation with a clerk in a shop in Belgrade, Serbia where he asked me where I was from and asked me about crime and violence in Baltimore. All he knew about Baltimore he learned from the television shows, Homicide and The Wire. Wonder what our conversation might have been like if it took place now.

The riots also caused the downfall of a rising political star, Mayor Stephanie Rawlings-Blake, who later announced that she would not run for re-election. She was head of the national Council of Mayors and clearly headed for higher office.

The book also contains an account of the fascinating legal issues raised by the trials of six police officers and whether they can be forced to testify in each other's trials. Stay tuned for updates as the six interconnected trials progress.



Eat Kids at School

This book lists 206 examples of stories, anecdotes, and commentaries on the world of higher education. They are based on my experiences as a faculty member for 41+ years, an interested observer of higher education for many years before that, a department chair for 9 years, and on a number of stories I have heard from others.

I suspect that I am a lightning rod for unusual situations and stories, since I have seen and heard so many. You will meet some interesting characters and situations inside, including Professor Watch-My-Fingers, the student who did not understand the purpose of a Do Not Disturb sign, dropping the lowest grade, and the student who could not take an exam at a certain time of the month (no, it is not what you think).

We will also describe the so-called rule of thumb, the matched set of luggage, and why every new department chair should make three envelopes.

In the book you will also be introduced to the arcane academic languages known as deanspeak and presidentspeak, and the infamous Five-I speech and how they are related to the theory of mass mental defect.

The stories, anecdotes, and commentaries are grouped generally into several categories:

Do not be misled about either the title of this book or the cover. The Jonathan Swift 1726 essay, A Modest Proposal, a satire about eating children to address a food shortage in Ireland, had no effect on the writing of this book. Nor are there any recipes included within. As a relatively recent retiree, it was a pleasure to reminisce about my experiences in higher education as I was putting this volume together.

I enjoyed the experience. I hope you like reading this book.



Why 2K?

This book, originally published in 1999, and reformatted to meet current ebook standards such as having an active table of contents, describes what could have happened during the era of the famous Y2K hysteria, when computers and communications devices would have had to function when four digits were needed to use the current date instead of the two digits that were commonly used in many systems. Of course, none of the expected disasters happened and none of the Y2K terrorist plots really. Or did they? Certainly the vulnerabilities of the Hoover Dam and some NASA spacecraft control centers have been fixed, but the fixes were largely the result of general security measures taken after September 11, 2001.

This book tells the story of Y2K vulnerabilities from a retrospective viewpoint. According to Steven Musil of Cnet, the same type of problems occurred to a number of web servers, including Gawker, StumbleUpon, Yelp, FourSquare, and LinkedIn, when a single leap second was added to the Coordinated Universal Time. Although the scale of these problems is much smaller than Y2K, some parts of the problem are still with us.

In case the leap second problem occurs again, or timing of messages on UNIX servers get corrupted in 2038, or the world ends in December, 2012, my favorite recipe for Shrimp with Sizzling Rice Soup has been included at the end of this book. Enjoy!



Confessions of a Cruise Lecturer

I have been a cruise lecturer for many years, with my wife and I traveling all over the world at the expense of cruise lines. Confessions of a Cruise Lecturer is based on my experiences. Here's what you will learn from this book:





Relative Genealogy

A play on words headlines Dr. Leach's second work on the study of ancestry. (Computers and Logic in Genealogy was his first book in this area.) This guidebook, written by a former editor of the Maryland Genealogical Society Journal, covering everything from sources to the science, serves as the perfect introduction for the novice, while providing special tips and new sources of information for even the most accomplished genealogist. With illustrations and index.



Genealogy in the Information Age

This book, written by a former editor of the Maryland Genealogical Society Journal and originally published under the title Computers and Logic in Genealogy, emphasizes the technical skills needed to navigate the teacherous world of genealogical analysis.