The Unix Workbench
Learning the command line can be a difficult and intimidating task, but this book is designed to be your lighthouse in the modern computational storm. Unix is a 40 year old operating system that powers the internet, your phone, and the latest scientific research. This book aims to be a gateway to the world of computer programming, providing you wit...
Bioinformatics for Evolutionary Biologists
This self-contained textbook covers fundamental aspects of sequence analysis in evolutionary biology, including sequence alignment, phylogeny reconstruction, and coalescent simulation. It addresses these aspects through a series of over 400 computer problems, ranging from elementary to research level to enable learning by doing. Students solve the ...
Learning Vim
Vim is a console-based multi-mode (modal) text editor. It is widely used and available by default on all Unix, Linux, and Apple OS X systems. Vim has a large active community and a wide user base. The editor supports all popular programming languages, and many plugins are available to extend its features. It is an unofficial and free Vim book cr...
The Linux Command Line
The Linux Command Line takes you from your very first terminal keystrokes to writing full programs in Bash, the most popular Linux shell (or command line). Along the way you'll learn the timeless skills handed down by generations of experienced, mouse-shunning gurus: file navigation, environment configuration, command chaining, pattern matching wit...
Introduction to Data Science
The demand for skilled data science practitioners in industry, academia, and government is rapidly growing. This book introduces concepts and skills that can help you tackle real-world data analysis challenges. It covers concepts from probability, statistical inference, linear regression and machine learning. It also helps you develop skills such a...
Learn Programming
This book is aimed at readers who are interested in software development but have very little to no prior experience. The book focuses on teaching the core principles around software development. It uses several technologies to this goal (e.g. C, Python, JavaScript, HTML, etc.) but is not a book about the technologies themselves. The reader will le...
Linux Network Administrator's Guide
Linux, a Unix-compatible operating system that runs on personal computers and larger servers, is valued above all for its networking strengths. The Linux Network Administrator's Guide spells out all the information needed for joining a network, whether it's a simple UUCP connection or a full LAN with a Linux system serving as a firewall, an NFS or ...
Data and Text Processing for Health and Life Sciences
This book is a step-by-step introduction on how shell scripting can help solve many of the data processing tasks that Health and Life specialists face everyday with minimal software dependencies. The examples presented in the book show how simple command line tools can be used and combined to retrieve data and text from web resources, to filter and...
Lightweight Systems for Realtime Monitoring
If you're looking to access and make sense of all your data in real time, there's a more cost-effective and efficient way than using expensive commercial tool suites. In this O'Reilly report, Sam Newman from ThoughtWorks describes several small, freely available open source tools and frameworks for freeing data locked up in silos and letting it flo...
Fundamentals of C++ Programming
Bjarne Stroustrup of AT&T Bell Labs created C++ in the mid 1980s. C++ is an extension of the programming language C, a product of AT&T Bell Labs from the early 1970s. C was developed to write the Unix operating system, and C is widely used for systems-level software and embedded systems development. C++ initially provided object-oriented...
PHP Notes for Professionals
The PHP Notes for Professionals book is compiled from Stack Overflow Documentation, the content is written by the beautiful people at Stack Overflow....
Lisp Hackers
This book is a collection of short interviews with 14 prominent individuals from different parts of the world, from Australia to Canada, and of different occupations, from low-level programmers to physicists and musicians, asking them a more-or-less similar set of questions on the following topics: their general attitude to programming, attitude to...
CouchDB: The Definitive Guide
Three of CouchDB's creators show you how to use this document-oriented database as a standalone application framework or with high-volume, distributed applications. With its simple model for storing, processing, and accessing data, CouchDB is ideal for web applications that handle huge amounts of loosely structured data. That alone would stretch th...
Managing Projects with GNU Make
The utility simply known as make is one of the most enduring features of both Unix and other operating systems. First invented in the 1970s, make still turns up to this day as the central engine in most programming projects; it even builds the Linux kernel. In the third edition of the classic Managing Projects with GNU make, readers will learn why ...
Learning PHP
PHP is a widely-used open source programming language. It is especially suited for web development. The unique thing about PHP is that it serves both beginners as well as experienced developers. It has a low barrier to entry so it is easy to get started with, and at the same time, it provides advanced features offered in other programming languages...
NGINX Unit Cookbook
Alongside its popular web server, NGINX provides a dynamic application server that supports configuration through a RESTful JSON API. The open source NGINX Unit server deploys configuration changes without service disruptions and runs apps built with multiple languages and frameworks. This updated cookbook shows developers, DevOps personnel, networ...