Computers

Data Analysis With Open Source Tools

Data Analysis with Open Source Tools
by Philipp K. Janert

Collecting data is relatively easy, but turning raw information into something useful requires that you know how to extract precisely what you need. With this insightful book, intermediate to experienced programmers interested in data analysis will learn techniques for working with data in a business environment. You’ll learn how to look at data to discover what it contains, how to capture those ideas in conceptual models, and then feed your understanding back into the organization through business plans, metrics dashboards, and other applications.

Along the way, you’ll experiment with concepts through hands-on workshops at the end of each chapter. Above all, you’ll learn how to think about the results you want to achieve — rather than rely on tools to think for you.

  • Use graphics to describe data with one, two, or dozens of variables
  • Develop conceptual models using back-of-the-envelope calculations, as well asscaling and probability arguments
  • Mine data with computationally intensive methods such as simulation and clustering
  • Make your conclusions understandable through reports, dashboards, and other metrics programs
  • Understand financial calculations, including the time-value of money
  • Use dimensionality reduction techniques or predictive analytics to conquer challenging data analysis situations
  • Become familiar with different open source programming environments for data analysis

“Finally, a concise reference for understanding how to conquer piles of data.”–Austin King, Senior Web Developer, Mozilla

“An indispensable text for aspiring data scientists.”–Michael E. Driscoll, CEO/Founder, Dataspora


Bioinformatics Data Skills
by Vince Buffalo

Learn the data skills necessary for turning large sequencing datasets into reproducible and robust biological findings. With this practical guide, you’ll learn how to use freely available open source tools to extract meaning from large complex biological data sets.

At no other point in human history has our ability to understand life’s complexities been so dependent on our skills to work with and analyze data. This intermediate-level book teaches the general computational and data skills you need to analyze biological data. If you have experience with a scripting language like Python, you’re ready to get started.

  • Go from handling small problems with messy scripts to tackling large problems with clever methods and tools
  • Process bioinformatics data with powerful Unix pipelines and data tools
  • Learn how to use exploratory data analysis techniques in the R language
  • Use efficient methods to work with genomic range data and range operations
  • Work with common genomics data file formats like FASTA, FASTQ, SAM, and BAM
  • Manage your bioinformatics project with the Git version control system
  • Tackle tedious data processing tasks with with Bash scripts and Makefiles

Data Analysis with Open Source Tools
by Philipp Janert

Collecting data is relatively easy, but turning raw information into something useful requires that you know how to extract precisely what you need. With this insightful book, intermediate to experienced programmers interested in data analysis will learn techniques for working with data in a business environment. You’ll learn how to look at data to discover what it contains, how to capture those ideas in conceptual models, and then feed your understanding back into the organization through business plans, metrics dashboards, and other applications.

Along the way, you’ll experiment with concepts through hands-on workshops at the end of each chapter. Above all, you’ll learn how to think about the results you want to achieve — rather than rely on tools to think for you.

  • Use graphics to describe data with one, two, or dozens of variables
  • Develop conceptual models using back-of-the-envelope calculations, as well as scaling and probability arguments
  • Mine data with computationally intensive methods such as simulation and clustering
  • Make your conclusions understandable through reports, dashboards, and other metrics programs
  • Understand financial calculations, including the time-value of money
  • Use dimensionality reduction techniques or predictive analytics to conquer challenging data analysis situations
  • Become familiar with different open source programming environments for data analysis

“Finally, a concise reference for understanding how to conquer piles of data.” –Austin King, Senior Web Developer, Mozilla

“An indispensable text for aspiring data scientists.” –Michael E. Driscoll, CEO/Founder, Dataspora


Open Source Geospatial Tools
by Daniel McInerney, Pieter Kempeneers

This book focuses on the use of open source software for geospatial analysis. It demonstrates the effectiveness of the command line interface for handling both vector, raster and 3D geospatial data. Appropriate open-source tools for data processing are clearly explained and discusses how they can be used to solve everyday tasks.

A series of fully worked case studies are presented including vector spatial analysis, remote sensing data analysis, landcover classification and LiDAR processing. A hands-on introduction to the application programming interface (API) of GDAL/OGR in Python/C++ is provided for readers who want to extend existing tools and/or develop their own software.


Data Analytics Using Open-Source Tools
by Jeffrey Strickland

This book is about Data Analytics. In that respect, it is like others. What distinguishes it from the rest is the variety of open-source tool applications. This book incorporates the use of R Studio, Python, SAS Studio (University Edition), and KNIME. This book is also about manipulating Big Data. Apache Hadoop on Hortonworks Sandbox is introduced and we manage, move, handle, and transform data using Apache Hive, Apache Spark, MapReduce and TEZ, with terminal shell commands and Ambari. We show you how to set up a virtual machine in Microsoft Azure. We then use the data in later chapters for modeling. We cover Descriptive Modeling and Predictive. The content includes Support Vector Machines, Decision Tree learning, Random Forests, Naive and Empirical Bayes, Gradient Boosting, Cluster Modeling, Generalized Linear Models, Logistic Regression, and Artificial Neural Networks. Every chapter includes completely worked examples using one or more open-source tools.”

Practical Data Analysis
by Hector Cuesta, Dr. Sampath Kumar

A practical guide to obtaining, transforming, exploring, and analyzing data using Python, MongoDB, and Apache Spark

About This Book

  • Learn to use various data analysis tools and algorithms to classify, cluster, visualize, simulate, and forecast your data
  • Apply Machine Learning algorithms to different kinds of data such as social networks, time series, and images
  • A hands-on guide to understanding the nature of data and how to turn it into insight

Who This Book Is For

This book is for developers who want to implement data analysis and data-driven algorithms in a practical way. It is also suitable for those without a background in data analysis or data processing. Basic knowledge of Python programming, statistics, and linear algebra is assumed.

What You Will Learn

  • Acquire, format, and visualize your data
  • Build an image-similarity search engine
  • Generate meaningful visualizations anyone can understand
  • Get started with analyzing social network graphs
  • Find out how to implement sentiment text analysis
  • Install data analysis tools such as Pandas, MongoDB, and Apache Spark
  • Get to grips with Apache Spark
  • Implement machine learning algorithms such as classification or forecasting

In Detail

Beyond buzzwords like Big Data or Data Science, there are a great opportunities to innovate in many businesses using data analysis to get data-driven products. Data analysis involves asking many questions about data in order to discover insights and generate value for a product or a service.

This book explains the basic data algorithms without the theoretical jargon, and you’ll get hands-on turning data into insights using machine learning techniques. We will perform data-driven innovation processing for several types of data such as text, Images, social network graphs, documents, and time series, showing you how to implement large data processing with MongoDB and Apache Spark.

Style and approach

This is a hands-on guide to data analysis and data processing. The concrete examples are explained with simple code and accessible data.


Python for Data Analysis
by Wes McKinney

Get complete instructions for manipulating, processing, cleaning, and crunching datasets in Python. Updated for Python 3.6, the second edition of this hands-on guide is packed with practical case studies that show you how to solve a broad set of data analysis problems effectively. You’ll learn the latest versions of pandas, NumPy, IPython, and Jupyter in the process.

Written by Wes McKinney, the creator of the Python pandas project, this book is a practical, modern introduction to data science tools in Python. It’s ideal for analysts new to Python and for Python programmers new to data science and scientific computing. Data files and related material are available on GitHub.

  • Use the IPython shell and Jupyter notebook for exploratory computing
  • Learn basic and advanced features in NumPy (Numerical Python)
  • Get started with data analysis tools in the pandas library
  • Use flexible tools to load, clean, transform, merge, and reshape data
  • Create informative visualizations with matplotlib
  • Apply the pandas groupby facility to slice, dice, and summarize datasets
  • Analyze and manipulate regular and irregular time series data
  • Learn how to solve real-world data analysis problems with thorough, detailed examples

Open Source Software in Life Science Research
by Lee Harland, Mark Forster

The free/open source approach has grown from a minor activity to become a significant producer of robust, task-orientated software for a wide variety of situations and applications. To life science informatics groups, these systems present an appealing proposition – high quality software at a very attractive price. Open source software in life science research considers how industry and applied research groups have embraced these resources, discussing practical implementations that address real-world business problems.

The book is divided into four parts. Part one looks at laboratory data management and chemical informatics, covering software such as Bioclipse, OpenTox, ImageJ and KNIME. In part two, the focus turns to genomics and bioinformatics tools, with chapters examining GenomicsTools and EBI Atlas software, as well as the practicalities of setting up an ‘omics’ platform and managing large volumes of data. Chapters in part three examine information and knowledge management, covering a range of topics including software for web-based collaboration, open source search and visualisation technologies for scientific business applications, and specific software such as DesignTracker and Utopia Documents. Part four looks at semantic technologies such as Semantic MediaWiki, TripleMap and Chem2Bio2RDF, before part five examines clinical analytics, and validation and regulatory compliance of free/open source software. Finally, the book concludes by looking at future perspectives and the economics and free/open source software in industry.

  • Discusses a broad range of applications from a variety of sectors
  • Provides a unique perspective on work normally performed behind closed doors
  • Highlights the criteria used to compare and assess different approaches to solving problems

Data Simplification
by Jules J. Berman

Data Simplification: Taming Information With Open Source Tools addresses the simple fact that modern data is too big and complex to analyze in its native form. Data simplification is the process whereby large and complex data is rendered usable. Complex data must be simplified before it can be analyzed, but the process of data simplification is anything but simple, requiring a specialized set of skills and tools.

This book provides data scientists from every scientific discipline with the methods and tools to simplify their data for immediate analysis or long-term storage in a form that can be readily repurposed or integrated with other data.

Drawing upon years of practical experience, and using numerous examples and use cases, Jules Berman discusses the principles, methods, and tools that must be studied and mastered to achieve data simplification, open source tools, free utilities and snippets of code that can be reused and repurposed to simplify data, natural language processing and machine translation as a tool to simplify data, and data summarization and visualization and the role they play in making data useful for the end user.

  • Discusses data simplification principles, methods, and tools that must be studied and mastered
  • Provides open source tools, free utilities, and snippets of code that can be reused and repurposed to simplify data
  • Explains how to best utilize indexes to search, retrieve, and analyze textual data
  • Shows the data scientist how to apply ontologies, classifications, classes, properties, and instances to data using tried and true methods

Text Mining and Visualization
by Markus Hofmann, Andrew Chisholm

Text Mining and Visualization: Case Studies Using Open-Source Tools provides an introduction to text mining using some of the most popular and powerful open-source tools: KNIME, RapidMiner, Weka, R, and Python.

The contributors—all highly experienced with text mining and open-source software—explain how text data are gathered and processed from a wide variety of sources, including books, server access logs, websites, social media sites, and message boards. Each chapter presents a case study that you can follow as part of a step-by-step, reproducible example. You can also easily apply and extend the techniques to other problems. All the examples are available on a supplementary website.

The book shows you how to exploit your text data, offering successful application examples and blueprints for you to tackle your text mining tasks and benefit from open and freely available tools. It gets you up to date on the latest and most powerful tools, the data mining process, and specific text mining activities.


Computers

Think Complexity

Think Complexity
by Allen Downey

Complexity science uses computation to explore the physical and social sciences. In Think Complexity, you’ll use graphs, cellular automata, and agent-based models to study topics in physics, biology, and economics.

Whether you’re an intermediate-level Python programmer or a student of computational modeling, you’ll delve into examples of complex systems through a series of worked examples, exercises, case studies, and easy-to-understand explanations.

In this updated second edition, you will:

  • Work with NumPy arrays and SciPy methods, including basic signal processing and Fast Fourier Transform
  • Study abstract models of complex physical systems, including power laws, fractals and pink noise, and Turing machines
  • Get Jupyter notebooks filled with starter code and solutions to help you re-implement and extend original experiments in complexity; and models of computation like Turmites, Turing machines, and cellular automata
  • Explore the philosophy of science, including the nature of scientific laws, theory choice, and realism and instrumentalism

Ideal as a text for a course on computational modeling in Python, Think Complexity also helps self-learners gain valuable experience with topics and ideas they might not encounter otherwise.


Think Complexity
by Allen Downey

Complexity science uses computation to explore the physical and social sciences. In Think Complexity, you’ll use graphs, cellular automata, and agent-based models to study topics in physics, biology, and economics.

Whether you’re an intermediate-level Python programmer or a student of computational modeling, you’ll delve into examples of complex systems through a series of worked examples, exercises, case studies, and easy-to-understand explanations.

In this updated second edition, you will:

  • Work with NumPy arrays and SciPy methods, including basic signal processing and Fast Fourier Transform
  • Study abstract models of complex physical systems, including power laws, fractals and pink noise, and Turing machines
  • Get Jupyter notebooks filled with starter code and solutions to help you re-implement and extend original experiments in complexity; and models of computation like Turmites, Turing machines, and cellular automata
  • Explore the philosophy of science, including the nature of scientific laws, theory choice, and realism and instrumentalism

Ideal as a text for a course on computational modeling in Python, Think Complexity also helps self-learners gain valuable experience with topics and ideas they might not encounter otherwise.


Think Complexity
by Allen Downey

Expand your Python skills by working with data structures and algorithms in a refreshing context—through an eye-opening exploration of complexity science. Whether you’re an intermediate-level Python programmer or a student of computational modeling, you’ll delve into examples of complex systems through a series of exercises, case studies, and easy-to-understand explanations.

You’ll work with graphs, algorithm analysis, scale-free networks, and cellular automata, using advanced features that make Python such a powerful language. Ideal as a text for courses on Python programming and algorithms, Think Complexity will also help self-learners gain valuable experience with topics and ideas they might not encounter otherwise.

  • Work with NumPy arrays and SciPy methods, basic signal processing and Fast Fourier Transform, and hash tables
  • Study abstract models of complex physical systems, including power laws, fractals and pink noise, and Turing machines
  • Get starter code and solutions to help you re-implement and extend original experiments in complexity
  • Explore the philosophy of science, including the nature of scientific laws, theory choice, realism and instrumentalism, and other topics
  • Examine case studies of complex systems submitted by students and readers

Think Bayes
by Allen Downey

If you know how to program with Python and also know a little about probability, you’re ready to tackle Bayesian statistics. With this book, you’ll learn how to solve statistical problems with Python code instead of mathematical notation, and use discrete probability distributions instead of continuous mathematics. Once you get the math out of the way, the Bayesian fundamentals will become clearer, and you’ll begin to apply these techniques to real-world problems.

Bayesian statistical methods are becoming more common and more important, but not many resources are available to help beginners. Based on undergraduate classes taught by author Allen Downey, this book’s computational approach helps you get a solid start.

  • Use your existing programming skills to learn and understand Bayesian statistics
  • Work with problems involving estimation, prediction, decision analysis, evidence, and hypothesis testing
  • Get started with simple examples, using coins, M&Ms, Dungeons & Dragons dice, paintball, and hockey
  • Learn computational methods for solving real-world problems, such as interpreting SAT scores, simulating kidney tumors, and modeling the human microbiome.

Think Stats
by Allen B. Downey

If you know how to program, you have the skills to turn data into knowledge using the tools of probability and statistics. This concise introduction shows you how to perform statistical analysis computationally, rather than mathematically, with programs written in Python.

You’ll work with a case study throughout the book to help you learn the entire data analysis process—from collecting data and generating statistics to identifying patterns and testing hypotheses. Along the way, you’ll become familiar with distributions, the rules of probability, visualization, and many other tools and concepts.

  • Develop your understanding of probability and statistics by writing and testing code
  • Run experiments to test statistical behavior, such as generating samples from several distributions
  • Use simulations to understand concepts that are hard to grasp mathematically
  • Learn topics not usually covered in an introductory course, such as Bayesian estimation
  • Import data from almost any source using Python, rather than be limited to data that has been cleaned and formatted for statistics tools
  • Use statistical inference to answer questions about real-world data

Think Java
by Allen B. Downey, Chris Mayfield

Currently used at many colleges, universities, and high schools, this hands-on introduction to computer science is ideal for people with little or no programming experience. The goal of this concise book is not just to teach you Java, but to help you think like a computer scientist. You’ll learn how to program—a useful skill by itself—but you’ll also discover how to use programming as a means to an end.

Authors Allen Downey and Chris Mayfield start with the most basic concepts and gradually move into topics that are more complex, such as recursion and object-oriented programming. Each brief chapter covers the material for one week of a college course and includes exercises to help you practice what you’ve learned.

  • Learn one concept at a time: tackle complex topics in a series of small steps with examples
  • Understand how to formulate problems, think creatively about solutions, and write programs clearly and accurately
  • Determine which development techniques work best for you, and practice the important skill of debugging
  • Learn relationships among input and output, decisions and loops, classes and methods, strings and arrays
  • Work on exercises involving word games, graphics, puzzles, and playing cards

Think Simple
by Ken Segall

The secrets to Apple’s success and how to use them, from the Apple insider Ken Segall

In Think Simple, Apple insider and New York Times bestselling author Ken Segall gives you the tools to Apple’s success – and shows you how to use them. It’s all about simplicity.

Whether you’re in a multinational corporation or a lean startup, this guide will teach you how to crush complexity and focus on what matters; how to perform better, faster and more efficiently. Combining his insight from Apple with examples from companies across industries all over the world – including Ben & Jerry’s, Whole Foods, Intel and HyundaiCard – Segall provides a simple roadmap for any company to find success.


Embracing Complexity
by Jean G. Boulton, Peter M. Allen, Cliff Bowman

The book describes what it means to say the world is complex and explores what that means for managers, policy makers and individuals.

The first part of the book is about the theory and ideas of complexity. This is explained in a way that is thorough but not mathematical. It compares differing approaches, and also provides a historical perspective, showing how such thinking has been around since the beginning of civilisation. It emphasises the difference between a complexity worldview and the dominant mechanical worldview that underpins much of current management practice. It defines the complexity worldview as recognising the world is interconnected, shaped by history and the particularities of context. The comparison of the differing approaches to modelling complexity is unique in its depth and accessibility.

The second part of the book uses this lens of complexity to explore issues in the fields of management, strategy, economics, and international development. It also explores how to facilitate others to recognise the implications of adopting a complex rather than a mechanical worldview and suggests methods of research to explore systemic, path-dependent emergent aspects of situations.

The authors of this book span both science and management, academia and practice, thus the explanations of science are authoritative and yet the examples of changing how you live and work in the world are real and accessible. The aim of the book is to bring alive what complexity is all about and to illustrate the importance of loosening the grip of a modernist worldview with its hope for prediction, certainty and control.


Systems Thinking
by Jamshid Gharajedaghi

Systems Thinking, Third Edition combines systems theory and interactive design to provide an operational methodology for defining problems and designing solutions in an environment increasingly characterized by chaos and complexity. This new edition has been updated to include all new chapters on self-organizing systems as well as holistic, operational, and design thinking.

The book covers recent crises in financial systems and job markets, the housing bubble, and environment, assessing their impact on systems thinking. A companion website is available at interactdesign.com.

This volume is ideal for senior executives as well as for chief information/operating officers and other executives charged with systems management and process improvement. It may also be a helpful resource for IT/MBA students and academics.

  • Four NEW chapters on self-organizing systems, holistic thinking, operational thinking, and design thinking
  • Covers the recent crises in financial systems and job markets globally, the housing bubble, and the environment, assessing their impact on systems thinking
  • Companion website to accompany the book is available at interactdesign.com

Computers

Cathedral And The Bazaar

The Cathedral & the Bazaar
by Eric S. Raymond

Open source provides the competitive advantage in the Internet Age. According to the August Forrester Report, 56 percent of IT managers interviewed at Global 2,500 companies are already using some type of open source software in their infrastructure and another 6 percent will install it in the next two years. This revolutionary model for collaborative software development is being embraced and studied by many of the biggest players in the high-tech industry, from Sun Microsystems to IBM to Intel.The Cathedral & the Bazaar is a must for anyone who cares about the future of the computer industry or the dynamics of the information economy. Already, billions of dollars have been made and lost based on the ideas in this book. Its conclusions will be studied, debated, and implemented for years to come. According to Bob Young, “This is Eric Raymond’s great contribution to the success of the open source revolution, to the adoption of Linux-based operating systems, and to the success of open source users and the companies that supply them.”The interest in open source software development has grown enormously in the past year. This revised and expanded paperback edition includes new material on open source developments in 1999 and 2000. Raymond’s clear and effective writing style accurately describing the benefits of open source software has been key to its success. With major vendors creating acceptance for open source within companies, independent vendors will become the open source story in 2001.


The Cathedral & the Bazaar
by Eric S. Raymond

Open source provides the competitive advantage in the Internet Age. According to the August Forrester Report, 56 percent of IT managers interviewed at Global 2,500 companies are already using some type of open source software in their infrastructure and another 6 percent will install it in the next two years. This revolutionary model for collaborative software development is being embraced and studied by many of the biggest players in the high-tech industry, from Sun Microsystems to IBM to Intel.

The Cathedral & the Bazaar is a must for anyone who cares about the future of the computer industry or the dynamics of the information economy. Already, billions of dollars have been made and lost based on the ideas in this book. Its conclusions will be studied, debated, and implemented for years to come. According to Bob Young, “This is Eric Raymond’s great contribution to the success of the open source revolution, to the adoption of Linux-based operating systems, and to the success of open source users and the companies that supply them.”

The interest in open source software development has grown enormously in the past year. This revised and expanded paperback edition includes new material on open source developments in 1999 and 2000. Raymond’s clear and effective writing style accurately describing the benefits of open source software has been key to its success. With major vendors creating acceptance for open source within companies, independent vendors will become the open source story in 2001.


The Cathedral and the Bazaar
by Eric S. Raymond

The Cathedral and the Bazaar is an essay by Eric S. Raymond on software engineering methods, based on his observations of the Linux kernel development process and his experiences managing an open source project, fetchmail. It was first presented by the author at the Linux Kongress on May 27, 1997 in Wurzburg and was published as part of a book of the same name in 1999. Eric Steven Raymond (born December 4, 1957), often referred to as ESR, is a computer programmer, author and open source software advocate. His name became known within the hacker culture when he became the maintainer of the “Jargon File.” After the 1997 publication of “The Cathedral and the Bazaar,” Raymond became, for a number of years, an unofficial spokesman of the open source movement.”

The cathedral and the bazaar
by Eric S. Raymond

Open source provides the competitive advantage in the Internet Age. According to the August Forrester Report, 56 percent of IT managers interviewed at Global 2,500 companies are already using some type of open source software in their infrastructure and another 6 percent will install it in the next two years. This revolutionary model for collaborative software development is being embraced and studied by many of the biggest players in the high-tech industry, from Sun Microsystems to IBM to Intel. The Cathedral & the Bazaaris a must for anyone who cares about the future of the computer industry or the dynamics of the information economy. Already, billions of dollars have been made and lost based on the ideas in this book. Its conclusions will be studied, debated, and implemented for years to come. According to Bob Young, “This is Eric Raymond’s great contribution to the success of the open source revolution, to the adoption of Linux-based operating systems, and to the success of open source users and the companies that supply them.” The interest in open source software development has grown enormously in the past year. This revised and expanded hardback edition includes new material on open source developments in 1999 and 2000. Raymond’s clear and effective writing style accurately describing the benefits of open source software has been key to its success. With major vendors creating acceptance for open source within companies, independent vendors will become the open source story in 2001.

Producing Open Source Software
by Karl Fogel

The corporate market is now embracing free, “open source” software like never before, as evidenced by the recent success of the technologies underlying LAMP (Linux, Apache, MySQL, and PHP). Each is the result of a publicly collaborative process among numerous developers who volunteer their time and energy to create better software.

The truth is, however, that the overwhelming majority of free software projects fail. To help you beat the odds, O’Reilly has put together Producing Open Source Software, a guide that recommends tried and true steps to help free software developers work together toward a common goal. Not just for developers who are considering starting their own free software project, this book will also help those who want to participate in the process at any level.

The book tackles this very complex topic by distilling it down into easily understandable parts. Starting with the basics of project management, it details specific tools used in free software projects, including version control, IRC, bug tracking, and Wikis. Author Karl Fogel, known for his work on CVS and Subversion, offers practical advice on how to set up and use a range of tools in combination with open mailing lists and archives. He also provides several chapters on the essentials of recruiting and motivating developers, as well as how to gain much-needed publicity for your project.

While managing a team of enthusiastic developers — most of whom you’ve never even met — can be challenging, it can also be fun. Producing Open Source Software takes this into account, too, as it speaks of the sheer pleasure to be had from working with a motivated team of free software developers.


Rebel Code
by Glyn Moody

The open source saga has many fascinating chapters. It is partly the story of Linus Torvalds, the master hacker who would become chief architect of the Linux operating system. It is also the story of thousands of devoted programmers around the world who spontaneously worked in tandem to complete the race to shape Linux into the ultimate killer app. Rebel Code traces the remarkable roots of this unplanned revolution. It echoes the twists and turns of Linux’s improbable development, as it grew through an almost biological process of accretion and finally took its place at the heart of a jigsaw puzzle that would become the centerpiece of open source. With unprecedented access to the principal players, Moody has written a powerful tale of individual innovation versus big business. Rebel Code provides a from-the-trenches perspective and looks ahead to how open source is challenging long-held conceptions of technology, commerce, and culture.

Biobazaar
by Janet Hope

Can the open source approach do for biotechnology what it has done for information technology? Hope’s book is the first sustained and systematic inquiry into the application of open source principles to the life sciences. Traversing disciplinary boundaries, she presents a careful analysis of intellectual property-related challenges confronting the biotechnology industry and then paints a detailed picture of “open source biotechnology” as a possible solution.

Open Source Systems
by Ernesto Damiani, Brian Fitzgerald, Walt Scacchi, Marco Scotto

Early research studies on open source software development often betrayed a mild surprise that loosely coordinated networks of volunteers could manage the design and implementation of highly comple software products. In the past few years, a wider research community has become increasingly aware of the tremendous contribution that open source development is making to the software industry, business and society in general. Software engineering researchers are exploring OSS specifically with respect to development tools and methodologies, while organizational scientists and economists are keen on understanding how open sources have brought large communities of people to help each other effectively.

This book is an important step in the direction of a fuller understanding of the OSS phenomenon. It collects the proceedings of the Second International Conference on Open Software held in Como, Italy, from June 8th to June 10th, 2006. OSS 2006 was the foundation conference of the IFIP TC 2 WG 2.13 on Open Source Software, and attracted many researchers from all over the world interested in how OSS is produced, in its huge innovation potential in many different application fields and in OSS innovative business models. The 20 full papers of this volume were selected via a rigourous refereeing process among more than 100 submissions; 12 additional submissions, in view of their interest, were selected for publication in a more concise form.


Understanding Open Source and Free Software Licensing
by Andrew M. St. Laurent

If you’ve held back from developing open source or free software projects because you don’t understand the implications of the various licenses, you’re not alone. Many developers believe in releasing their software freely, but have hesitated to do so because they’re concerned about losing control over their software. Licensing issues are complicated, and both the facts and fallacies you hear word-of-mouth can add to the confusion.

Understanding Open Source and Free Software Licensing helps you make sense of the different options available to you. This concise guide focuses on annotated licenses, offering an in-depth explanation of how they compare and interoperate, and how license choices affect project possibilities. Written in clear language that you don’t have to be a lawyer to understand, the book answers such questions as: What rights am I giving up? How will my use of OS/FS licensing affect future users or future developers? Does a particular use of this software–such as combining it with proprietary software–leave me vulnerable to lawsuits?

Following a quick look at copyright law, contracts, and the definition of “open source,” the book tackles the spectrum of licensing, including:

  • The MIT (or X), BSD, Apache and Academic Free licenses
  • The GPL, LGPL, and Mozilla licenses
  • The QT, Artistic, and Creative Commons licenses
  • Classic Proprietary licenses
  • Sun Community Source license and Microsoft Shared Source project

The book wraps up with a look at the legal effects–both positive and negative–of open source/free software licensing.

Licensing is a major part of what open source and free software are all about, but it’s still one of the most complicated areas of law. Even the very simple licenses are tricky. Understanding Open Source and Free Software Licensing bridges the gap between the open source vision and the practical implications of its legal underpinnings. If open source and free software licenses interest you, this book will help you understand them. If you’re an open source/free software developer, this book is an absolute necessity.


Free Software, Free Society
by Richard Stallman

Essay Collection covering the point where software, law and social justice meet.

Computers · Technology & Engineering

Learning Opencv

Learning OpenCV 3
by Adrian Kaehler, Gary Bradski

Get started in the rapidly expanding field of computer vision with this practical guide. Written by Adrian Kaehler and Gary Bradski, creator of the open source OpenCV library, this book provides a thorough introduction for developers, academics, roboticists, and hobbyists. You’ll learn what it takes to build applications that enable computers to “see” and make decisions based on that data.

With over 500 functions that span many areas in vision, OpenCV is used for commercial applications such as security, medical imaging, pattern and face recognition, robotics, and factory product inspection. This book gives you a firm grounding in computer vision and OpenCV for building simple or sophisticated vision applications. Hands-on exercises in each chapter help you apply what you’ve learned.

This volume covers the entire library, in its modern C++ implementation, including machine learning tools for computer vision.

  • Learn OpenCV data types, array types, and array operations
  • Capture and store still and video images with HighGUI
  • Transform images to stretch, shrink, warp, remap, and repair
  • Explore pattern recognition, including face detection
  • Track objects and motion through the visual field
  • Reconstruct 3D images from stereo vision
  • Discover basic and advanced machine learning techniques in OpenCV

Learning OpenCV 3
by Adrian Kaehler, Gary Bradski

Get started in the rapidly expanding field of computer vision with this practical guide. Written by Adrian Kaehler and Gary Bradski, creator of the open source OpenCV library, this book provides a thorough introduction for developers, academics, roboticists, and hobbyists. You’ll learn what it takes to build applications that enable computers to “see” and make decisions based on that data.

With over 500 functions that span many areas in vision, OpenCV is used for commercial applications such as security, medical imaging, pattern and face recognition, robotics, and factory product inspection. This book gives you a firm grounding in computer vision and OpenCV for building simple or sophisticated vision applications. Hands-on exercises in each chapter help you apply what you’ve learned.

This volume covers the entire library, in its modern C++ implementation, including machine learning tools for computer vision.

  • Learn OpenCV data types, array types, and array operations
  • Capture and store still and video images with HighGUI
  • Transform images to stretch, shrink, warp, remap, and repair
  • Explore pattern recognition, including face detection
  • Track objects and motion through the visual field
  • Reconstruct 3D images from stereo vision
  • Discover basic and advanced machine learning techniques in OpenCV

Learning OpenCV
by Gary Bradski, Adrian Kaehler

“This library is useful for practitioners, and is an excellent tool for those entering the field: it is a set of computer vision algorithms that work as advertised.”-William T. Freeman, Computer Science and Artificial Intelligence Laboratory, Massachusetts Institute of Technology

Learning OpenCV puts you in the middle of the rapidly expanding field of computer vision. Written by the creators of the free open source OpenCV library, this book introduces you to computer vision and demonstrates how you can quickly build applications that enable computers to “see” and make decisions based on that data.

Computer vision is everywhere-in security systems, manufacturing inspection systems, medical image analysis, Unmanned Aerial Vehicles, and more. It stitches Google maps and Google Earth together, checks the pixels on LCD screens, and makes sure the stitches in your shirt are sewn properly. OpenCV provides an easy-to-use computer vision framework and a comprehensive library with more than 500 functions that can run vision code in real time.

Learning OpenCV will teach any developer or hobbyist to use the framework quickly with the help of hands-on exercises in each chapter. This book includes:

  • A thorough introduction to OpenCV
  • Getting input from cameras
  • Transforming images
  • Segmenting images and shape matching
  • Pattern recognition, including face detection
  • Tracking and motion in 2 and 3 dimensions
  • 3D reconstruction from stereo vision
  • Machine learning algorithms

Getting machines to see is a challenging but entertaining goal. Whether you want to build simple or sophisticated vision applications, Learning OpenCV is the book you need to get started.


Machine Learning for OpenCV
by Michael Beyeler

Expand your OpenCV knowledge and master key concepts of machine learning using this practical, hands-on guide.

About This Book

  • Load, store, edit, and visualize data using OpenCV and Python
  • Grasp the fundamental concepts of classification, regression, and clustering
  • Understand, perform, and experiment with machine learning techniques using this easy-to-follow guide
  • Evaluate, compare, and choose the right algorithm for any task

Who This Book Is For

This book targets Python programmers who are already familiar with OpenCV; this book will give you the tools and understanding required to build your own machine learning systems, tailored to practical real-world tasks.

What You Will Learn

  • Explore and make effective use of OpenCV’s machine learning module
  • Learn deep learning for computer vision with Python
  • Master linear regression and regularization techniques
  • Classify objects such as flower species, handwritten digits, and pedestrians
  • Explore the effective use of support vector machines, boosted decision trees, and random forests
  • Get acquainted with neural networks and Deep Learning to address real-world problems
  • Discover hidden structures in your data using k-means clustering
  • Get to grips with data pre-processing and feature engineering

In Detail

Machine learning is no longer just a buzzword, it is all around us: from protecting your email, to automatically tagging friends in pictures, to predicting what movies you like. Computer vision is one of today’s most exciting application fields of machine learning, with Deep Learning driving innovative systems such as self-driving cars and Google’s DeepMind.

OpenCV lies at the intersection of these topics, providing a comprehensive open-source library for classic as well as state-of-the-art computer vision and machine learning algorithms. In combination with Python Anaconda, you will have access to all the open-source computing libraries you could possibly ask for.

Machine learning for OpenCV begins by introducing you to the essential concepts of statistical learning, such as classification and regression. Once all the basics are covered, you will start exploring various algorithms such as decision trees, support vector machines, and Bayesian networks, and learn how to combine them with other OpenCV functionality. As the book progresses, so will your machine learning skills, until you are ready to take on today’s hottest topic in the field: Deep Learning.

By the end of this book, you will be ready to take on your own machine learning problems, either by building on the existing source code or developing your own algorithm from scratch!

Style and approach

OpenCV machine learning connects the fundamental theoretical principles behind machine learning to their practical applications in a way that focuses on asking and answering the right questions. This book walks you through the key elements of OpenCV and its powerful machine learning classes, while demonstrating how to get to grips with a range of models.


Learning OpenCV 3 Application Development
by Samyak Datta

Build, create, and deploy your own computer vision applications with the power of OpenCV

About This Book

  • This book provides hands-on examples that cover the major features that are part of any important Computer Vision application
  • It explores important algorithms that allow you to recognize faces, identify objects, extract features from images, help your system make meaningful predictions from visual data, and much more
  • All the code examples in the book are based on OpenCV 3.1 – the latest version

Who This Book Is For

This is the perfect book for anyone who wants to dive into the exciting world of image processing and computer vision. This book is aimed at programmers with a working knowledge of C++. Prior knowledge of OpenCV or Computer Vision/Machine Learning is not required.

What You Will Learn

  • Explore the steps involved in building a typical computer vision/machine learning application
  • Understand the relevance of OpenCV at every stage of building an application
  • Harness the vast amount of information that lies hidden in images into the apps you build
  • Incorporate visual information in your apps to create more appealing software
  • Get acquainted with how large-scale and popular image editing apps such as Instagram work behind the scenes by getting a glimpse of how the image filters in apps can be recreated using simple operations in OpenCV
  • Appreciate how difficult it is for a computer program to perform tasks that are trivial for human beings
  • Get to know how to develop applications that perform face detection, gender detection from facial images, and handwritten character (digit) recognition

In Detail

Computer vision and machine learning concepts are frequently used in practical computer vision based projects. If you’re a novice, this book provides the steps to build and deploy an end-to-end application in the domain of computer vision using OpenCV/C++.

At the outset, we explain how to install OpenCV and demonstrate how to run some simple programs. You will start with images (the building blocks of image processing applications), and see how they are stored and processed by OpenCV. You’ll get comfortable with OpenCV-specific jargon (Mat Point, Scalar, and more), and get to know how to traverse images and perform basic pixel-wise operations.

Building upon this, we introduce slightly more advanced image processing concepts such as filtering, thresholding, and edge detection. In the latter parts, the book touches upon more complex and ubiquitous concepts such as face detection (using Haar cascade classifiers), interest point detection algorithms, and feature descriptors. You will now begin to appreciate the true power of the library in how it reduces mathematically non-trivial algorithms to a single line of code!

The concluding sections touch upon OpenCV’s Machine Learning module. You will witness not only how OpenCV helps you pre-process and extract features from images that are relevant to the problems you are trying to solve, but also how to use Machine Learning algorithms that work on these features to make intelligent predictions from visual data!

Style and approach

This book takes a very hands-on approach to developing an end-to-end application with OpenCV. To avoid being too theoretical, the description of concepts are accompanied simultaneously by the development of applications. Throughout the course of the book, the projects and practical, real-life examples are explained and developed step by step in sync with the theory.


Learning OpenCV 3 Computer Vision with Python
by Joe Minichino, Joseph Howse

Unleash the power of computer vision with Python using OpenCV

About This Book

  • Create impressive applications with OpenCV and Python
  • Familiarize yourself with advanced machine learning concepts
  • Harness the power of computer vision with this easy-to-follow guide

Who This Book Is For

Intended for novices to the world of OpenCV and computer vision, as well as OpenCV veterans that want to learn about what’s new in OpenCV 3, this book is useful as a reference for experts and a training manual for beginners, or for anybody who wants to familiarize themselves with the concepts of object classification and detection in simple and understandable terms. Basic knowledge about Python and programming concepts is required, although the book has an easy learning curve both from a theoretical and coding point of view.

What You Will Learn

  • Install and familiarize yourself with OpenCV 3’s Python API
  • Grasp the basics of image processing and video analysis
  • Identify and recognize objects in images and videos
  • Detect and recognize faces using OpenCV
  • Train and use your own object classifiers
  • Learn about machine learning concepts in a computer vision context
  • Work with artificial neural networks using OpenCV
  • Develop your own computer vision real-life application

In Detail

OpenCV 3 is a state-of-the-art computer vision library that allows a great variety of image and video processing operations. Some of the more spectacular and futuristic features such as face recognition or object tracking are easily achievable with OpenCV 3. Learning the basic concepts behind computer vision algorithms, models, and OpenCV’s API will enable the development of all sorts of real-world applications, including security and surveillance.

Starting with basic image processing operations, the book will take you through to advanced computer vision concepts. Computer vision is a rapidly evolving science whose applications in the real world are exploding, so this book will appeal to computer vision novices as well as experts of the subject wanting to learn the brand new OpenCV 3.0.0. You will build a theoretical foundation of image processing and video analysis, and progress to the concepts of classification through machine learning, acquiring the technical know-how that will allow you to create and use object detectors and classifiers, and even track objects in movies or video camera feeds. Finally, the journey will end in the world of artificial neural networks, along with the development of a hand-written digits recognition application.

Style and approach

This book is a comprehensive guide to the brand new OpenCV 3 with Python to develop real-life computer vision applications.


Learning Image Processing with OpenCV
by Gloria Bueno García, Oscar Deniz Suarez, José Luis Espinosa Aranda, Jesus Salido Tercero, Ismael Serrano Gracia, Noelia Vállez Enano

If you are a competent C++ programmer and want to learn the tricks of image processing with OpenCV, then this book is for you. A basic understanding of image processing is required.

Learning OpenCV
by Gary Bradski, Adrian Kaehler

Learning OpenCV puts you in the middle of the rapidly expanding field of computer vision. Written by the creators of the free open source OpenCV library, this book introduces you to computer vision and demonstrates how you can quickly build applications that enable computers to “see” and make decisions based on that data.

The second edition is updated to cover new features and changes in OpenCV 2.0, especially the C++ interface.

Computer vision is everywhere—in security systems, manufacturing inspection systems, medical image analysis, Unmanned Aerial Vehicles, and more. OpenCV provides an easy-to-use computer vision framework and a comprehensive library with more than 500 functions that can run vision code in real time. Whether you want to build simple or sophisticated vision applications, Learning OpenCV is the book any developer or hobbyist needs to get started, with the help of hands-on exercises in each chapter.

This book includes:

  • A thorough introduction to OpenCV
  • Getting input from cameras
  • Transforming images
  • Segmenting images and shape matching
  • Pattern recognition, including face detection
  • Tracking and motion in 2 and 3 dimensions
  • 3D reconstruction from stereo vision
  • Machine learning algorithms

Learn Computer Vision Using OpenCV
by Sunila Gollapudi

Build practical applications of computer vision using the OpenCV library with Python. This book discusses different facets of computer vision such as image and object detection, tracking and motion analysis and their applications with examples.
The author starts with an introduction to computer vision followed by setting up OpenCV from scratch using Python. The next section discusses specialized image processing and segmentation and how images are stored and processed by a computer. This involves pattern recognition and image tagging using the OpenCV library. Next, you’ll work with object detection, video storage and interpretation, and human detection using OpenCV. Tracking and motion is also discussed in detail. The book also discusses creating complex deep learning models with CNN and RNN. The author finally concludes with recent applications and trends in computer vision.
After reading this book, you will be able to understand and implement computer vision and its applications with OpenCV using Python. You will also be able to create deep learning models with CNN and RNN and understand how these cutting-edge deep learning architectures work.
What You Will Learn

  • Understand what computer vision is, and its overall application in intelligent automation systems
  • Discover the deep learning techniques required to build computer vision applications
  • Build complex computer vision applications using the latest techniques in OpenCV, Python, and NumPy
  • Create practical applications and implementations such as face detection and recognition, handwriting recognition, object detection, and tracking and motion analysis


Who This Book Is ForThose who have a basic understanding of machine learning and Python and are looking to learn computer vision and its applications.


Computers

Python For Data Analysis

Python for Data Analysis
by Wes McKinney

Get complete instructions for manipulating, processing, cleaning, and crunching datasets in Python. Updated for Python 3.6, the second edition of this hands-on guide is packed with practical case studies that show you how to solve a broad set of data analysis problems effectively. You’ll learn the latest versions of pandas, NumPy, IPython, and Jupyter in the process.

Written by Wes McKinney, the creator of the Python pandas project, this book is a practical, modern introduction to data science tools in Python. It’s ideal for analysts new to Python and for Python programmers new to data science and scientific computing. Data files and related material are available on GitHub.

  • Use the IPython shell and Jupyter notebook for exploratory computing
  • Learn basic and advanced features in NumPy (Numerical Python)
  • Get started with data analysis tools in the pandas library
  • Use flexible tools to load, clean, transform, merge, and reshape data
  • Create informative visualizations with matplotlib
  • Apply the pandas groupby facility to slice, dice, and summarize datasets
  • Analyze and manipulate regular and irregular time series data
  • Learn how to solve real-world data analysis problems with thorough, detailed examples

Python for Data Analysis
by Wes McKinney

Get complete instructions for manipulating, processing, cleaning, and crunching datasets in Python. Updated for Python 3.6, the second edition of this hands-on guide is packed with practical case studies that show you how to solve a broad set of data analysis problems effectively. You’ll learn the latest versions of pandas, NumPy, IPython, and Jupyter in the process.

Written by Wes McKinney, the creator of the Python pandas project, this book is a practical, modern introduction to data science tools in Python. It’s ideal for analysts new to Python and for Python programmers new to data science and scientific computing. Data files and related material are available on GitHub.

  • Use the IPython shell and Jupyter notebook for exploratory computing
  • Learn basic and advanced features in NumPy (Numerical Python)
  • Get started with data analysis tools in the pandas library
  • Use flexible tools to load, clean, transform, merge, and reshape data
  • Create informative visualizations with matplotlib
  • Apply the pandas groupby facility to slice, dice, and summarize datasets
  • Analyze and manipulate regular and irregular time series data
  • Learn how to solve real-world data analysis problems with thorough, detailed examples

Python Data Science Handbook
by Jake VanderPlas

For many researchers, Python is a first-class tool mainly because of its libraries for storing, manipulating, and gaining insight from data. Several resources exist for individual pieces of this data science stack, but only with the Python Data Science Handbook do you get them all—IPython, NumPy, Pandas, Matplotlib, Scikit-Learn, and other related tools.

Working scientists and data crunchers familiar with reading and writing Python code will find this comprehensive desk reference ideal for tackling day-to-day issues: manipulating, transforming, and cleaning data; visualizing different types of data; and using data to build statistical or machine learning models. Quite simply, this is the must-have reference for scientific computing in Python.

With this handbook, you’ll learn how to use:

  • IPython and Jupyter: provide computational environments for data scientists using Python
  • NumPy: includes the ndarray for efficient storage and manipulation of dense data arrays in Python
  • Pandas: features the DataFrame for efficient storage and manipulation of labeled/columnar data in Python
  • Matplotlib: includes capabilities for a flexible range of data visualizations in Python
  • Scikit-Learn: for efficient and clean Python implementations of the most important and established machine learning algorithms

Learn Data Analysis with Python
by A.J. Henley, Dave Wolf

Get started using Python in data analysis with this compact practical guide. This book includes three exercises and a case study on getting data in and out of Python code in the right format. Learn Data Analysis with Python also helps you discover meaning in the data using analysis and shows you how to visualize it.
Each lesson is, as much as possible, self-contained to allow you to dip in and out of the examples as your needs dictate. If you are already using Python for data analysis, you will find a number of things that you wish you knew how to do in Python. You can then take these techniques and apply them directly to your own projects.
If you aren’t using Python for data analysis, this book takes you through the basics at the beginning to give you a solid foundation in the topic. As you work your way through the book you will have a better of idea of how to use Python for data analysis when you are finished.
What You Will Learn

  • Get data into and out of Python code
  • Prepare the data and its format
  • Find the meaning of the data
  • Visualize the data using iPython

Who This Book Is For
Those who want to learn data analysis using Python. Some experience with Python is recommended but not required, as is some prior experience with data analysis or data science.


Python Data Analytics
by Fabio Nelli

Explore the latest Python tools and techniques to help you tackle the world of data acquisition and analysis. You’ll review scientific computing with NumPy, visualization with matplotlib, and machine learning with scikit-learn.
This revision is fully updated with new content on social media data analysis, image analysis with OpenCV, and deep learning libraries. Each chapter includes multiple examples demonstrating how to work with each library. At its heart lies the coverage of pandas, for high-performance, easy-to-use data structures and tools for data manipulation
Author Fabio Nelli expertly demonstrates using Python for data processing, management, and information retrieval. Later chapters apply what you’ve learned to handwriting recognition and extending graphical capabilities with the JavaScript D3 library. Whether you are dealing with sales data, investment data, medical data, web page usage, or other data sets, Python Data Analytics, Second Edition is an invaluable reference with its examples of storing, accessing, and analyzing data.
What You’ll Learn

  • Understand the core concepts of data analysis and the Python ecosystem
  • Go in depth with pandas for reading, writing, and processing data
  • Use tools and techniques for data visualization and image analysis
  • Examine popular deep learning libraries Keras, Theano,TensorFlow, and PyTorch

Who This Book Is For

Experienced Python developers who need to learn about Pythonic tools for data analysis


Getting Started with Python Data Analysis
by Phuong Vo.T.H, Martin Czygan

Learn to use powerful Python libraries for effective data processing and analysis

About This Book

  • Learn the basic processing steps in data analysis and how to use Python in this area through supported packages, especially Numpy, Pandas, and Matplotlib
  • Create, manipulate, and analyze your data to extract useful information to optimize your system
  • A hands-on guide to help you learn data analysis using Python

Who This Book Is For

If you are a Python developer who wants to get started with data analysis and you need a quick introductory guide to the python data analysis libraries, then this book is for you.

What You Will Learn

  • Understand the importance of data analysis and get familiar with its processing steps
  • Get acquainted with Numpy to use with arrays and array-oriented computing in data analysis
  • Create effective visualizations to present your data using Matplotlib
  • Process and analyze data using the time series capabilities of Pandas
  • Interact with different kind of database systems, such as file, disk format, Mongo, and Redis
  • Apply the supported Python package to data analysis applications through examples
  • Explore predictive analytics and machine learning algorithms using Scikit-learn, a Python library

In Detail

Data analysis is the process of applying logical and analytical reasoning to study each component of data. Python is a multi-domain, high-level, programming language. It’s often used as a scripting language because of its forgiving syntax and operability with a wide variety of different eco-systems. Python has powerful standard libraries or toolkits such as Pylearn2 and Hebel, which offers a fast, reliable, cross-platform environment for data analysis.

With this book, we will get you started with Python data analysis and show you what its advantages are.

The book starts by introducing the principles of data analysis and supported libraries, along with NumPy basics for statistic and data processing. Next it provides an overview of the Pandas package and uses its powerful features to solve data processing problems.

Moving on, the book takes you through a brief overview of the Matplotlib API and some common plotting functions for DataFrame such as plot. Next, it will teach you to manipulate the time and data structure, and load and store data in a file or database using Python packages. The book will also teach you how to apply powerful packages in Python to process raw data into pure and helpful data using examples.

Finally, the book gives you a brief overview of machine learning algorithms, that is, applying data analysis results to make decisions or build helpful products, such as recommendations and predictions using scikit-learn.

Style and approach

This is an easy-to-follow, step-by-step guide to get you familiar with data analysis and the libraries supported by Python. Topics are explained with real-world examples wherever required.


Python Data Analytics
by Fabio Nelli

Python Data Analytics will help you tackle the world of data acquisition and analysis using the power of the Python language. At the heart of this book lies the coverage of pandas, an open source, BSD-licensed library providing high-performance, easy-to-use data structures and data analysis tools for the Python programming language.
Author Fabio Nelli expertly shows the strength of the Python programming language when applied to processing, managing and retrieving information. Inside, you will see how intuitive and flexible it is to discover and communicate meaningful patterns of data using Python scripts, reporting systems, and data export. This book examines how to go about obtaining, processing, storing, managing and analyzing data using the Python programming language.

You will use Python and other open source tools to wrangle data and tease out interesting and important trends in that data that will allow you to predict future patterns. Whether you are dealing with sales data, investment data (stocks, bonds, etc.), medical data, web page usage, or any other type of data set, Python can be used to interpret, analyze, and glean information from a pile of numbers and statistics.
This book is an invaluable reference with its examples of storing and accessing data in a database; it walks you through the process of report generation; it provides three real world case studies or examples that you can take with you for your everyday analysis needs.


Pandas for Everyone
by Daniel Y. Chen

The Hands-On, Example-Rich Introduction to Pandas Data Analysis in Python

Today, analysts must manage data characterized by extraordinary variety, velocity, and volume. Using the open source Pandas library, you can use Python to rapidly automate and perform virtually any data analysis task, no matter how large or complex. Pandas can help you ensure the veracity of your data, visualize it for effective decision-making, and reliably reproduce analyses across multiple datasets.

Pandas for Everyone brings together practical knowledge and insight for solving real problems with Pandas, even if you’re new to Python data analysis. Daniel Y. Chen introduces key concepts through simple but practical examples, incrementally building on them to solve more difficult, real-world problems.

Chen gives you a jumpstart on using Pandas with a realistic dataset and covers combining datasets, handling missing data, and structuring datasets for easier analysis and visualization. He demonstrates powerful data cleaning techniques, from basic string manipulation to applying functions simultaneously across dataframes.

Once your data is ready, Chen guides you through fitting models for prediction, clustering, inference, and exploration. He provides tips on performance and scalability, and introduces you to the wider Python data analysis ecosystem.

  • Work with DataFrames and Series, and import or export data
  • Create plots with matplotlib, seaborn, and pandas
  • Combine datasets and handle missing data
  • Reshape, tidy, and clean datasets so they’re easier to work with
  • Convert data types and manipulate text strings
  • Apply functions to scale data manipulations
  • Aggregate, transform, and filter large datasets with groupby
  • Leverage Pandas’ advanced date and time capabilities
  • Fit linear models using statsmodels and scikit-learn libraries
  • Use generalized linear modeling to fit models with different response variables
  • Compare multiple models to select the “best”
  • Regularize to overcome overfitting and improve performance
  • Use clustering in unsupervised machine learning


Data Analysis with Python
by David Taieb

Learn a modern approach to data analysis using Python to harness the power of programming and AI across your data. Detailed case studies bring this modern approach to life across visual data, social media, graph algorithms, and time series analysis.

Key Features

  • Bridge your data analysis with the power of programming, complex algorithms, and AI
  • Use Python and its extensive libraries to power your way to new levels of data insight
  • Work with AI algorithms, TensorFlow, graph algorithms, NLP, and financial time series
  • Explore this modern approach across with key industry case studies and hands-on projects

Book Description

Data Analysis with Python offers a modern approach to data analysis so that you can work with the latest and most powerful Python tools, AI techniques, and open source libraries. Industry expert David Taieb shows you how to bridge data science with the power of programming and algorithms in Python. You’ll be working with complex algorithms, and cutting-edge AI in your data analysis. Learn how to analyze data with hands-on examples using Python-based tools and Jupyter Notebook. You’ll find the right balance of theory and practice, with extensive code files that you can integrate right into your own data projects.

Explore the power of this approach to data analysis by then working with it across key industry case studies. Four fascinating and full projects connect you to the most critical data analysis challenges you’re likely to meet in today. The first of these is an image recognition application with TensorFlow – embracing the importance today of AI in your data analysis. The second industry project analyses social media trends, exploring big data issues and AI approaches to natural language processing. The third case study is a financial portfolio analysis application that engages you with time series analysis – pivotal to many data science applications today. The fourth industry use case dives you into graph algorithms and the power of programming in modern data science. You’ll wrap up with a thoughtful look at the future of data science and how it will harness the power of algorithms and artificial intelligence.

What you will learn

  • A new toolset that has been carefully crafted to meet for your data analysis challenges
  • Full and detailed case studies of the toolset across several of today’s key industry contexts
  • Become super productive with a new toolset across Python and Jupyter Notebook
  • Look into the future of data science and which directions to develop your skills next

Who this book is for

This book is for developers wanting to bridge the gap between them and data scientists. Introducing PixieDust from its creator, the book is a great desk companion for the accomplished Data Scientist. Some fluency in data interpretation and visualization is assumed. It will be helpful to have some knowledge of Python, using Python libraries, and some proficiency in web development.


Computers

Machine Learning For Hackers

Machine Learning for Hackers
by Drew Conway, John White

If you’re an experienced programmer interested in crunching data, this book will get you started with machine learning—a toolkit of algorithms that enables computers to train themselves to automate useful tasks. Authors Drew Conway and John Myles White help you understand machine learning and statistics tools through a series of hands-on case studies, instead of a traditional math-heavy presentation.

Each chapter focuses on a specific problem in machine learning, such as classification, prediction, optimization, and recommendation. Using the R programming language, you’ll learn how to analyze sample datasets and write simple machine learning algorithms. Machine Learning for Hackers is ideal for programmers from any background, including business, government, and academic research.

  • Develop a naïve Bayesian classifier to determine if an email is spam, based only on its text
  • Use linear regression to predict the number of page views for the top 1,000 websites
  • Learn optimization techniques by attempting to break a simple letter cipher
  • Compare and contrast U.S. Senators statistically, based on their voting records
  • Build a “whom to follow” recommendation system from Twitter data

Machine Learning for Hackers
by Drew Conway, John Myles White

If you’re an experienced programmer interested in crunching data, this book will get you started with machine learning—a toolkit of algorithms that enables computers to train themselves to automate useful tasks. Authors Drew Conway and John Myles White help you understand machine learning and statistics tools through a series of hands-on case studies, instead of a traditional math-heavy presentation.

Each chapter focuses on a specific problem in machine learning, such as classification, prediction, optimization, and recommendation. Using the R programming language, you’ll learn how to analyze sample datasets and write simple machine learning algorithms. Machine Learning for Hackers is ideal for programmers from any background, including business, government, and academic research.

  • Develop a naïve Bayesian classifier to determine if an email is spam, based only on its text
  • Use linear regression to predict the number of page views for the top 1,000 websites
  • Learn optimization techniques by attempting to break a simple letter cipher
  • Compare and contrast U.S. Senators statistically, based on their voting records
  • Build a “whom to follow” recommendation system from Twitter data

Bayesian Methods for Hackers
by Cameron Davidson-Pilon

Master Bayesian Inference through Practical Examples and Computation–Without Advanced Mathematical Analysis

Bayesian methods of inference are deeply natural and extremely powerful. However, most discussions of Bayesian inference rely on intensely complex mathematical analyses and artificial examples, making it inaccessible to anyone without a strong mathematical background. Now, though, Cameron Davidson-Pilon introduces Bayesian inference from a computational perspective, bridging theory to practice–freeing you to get results using computing power.

Bayesian Methods for Hackers illuminates Bayesian inference through probabilistic programming with the powerful PyMC language and the closely related Python tools NumPy, SciPy, and Matplotlib. Using this approach, you can reach effective solutions in small increments, without extensive mathematical intervention.

Davidson-Pilon begins by introducing the concepts underlying Bayesian inference, comparing it with other techniques and guiding you through building and training your first Bayesian model. Next, he introduces PyMC through a series of detailed examples and intuitive explanations that have been refined after extensive user feedback. You’ll learn how to use the Markov Chain Monte Carlo algorithm, choose appropriate sample sizes and priors, work with loss functions, and apply Bayesian inference in domains ranging from finance to marketing. Once you’ve mastered these techniques, you’ll constantly turn to this guide for the working PyMC code you need to jumpstart future projects.

Coverage includes

• Learning the Bayesian “state of mind” and its practical implications

• Understanding how computers perform Bayesian inference

• Using the PyMC Python library to program Bayesian analyses

• Building and debugging models with PyMC

• Testing your model’s “goodness of fit”

• Opening the “black box” of the Markov Chain Monte Carlo algorithm to see how and why it works

• Leveraging the power of the “Law of Large Numbers”

• Mastering key concepts, such as clustering, convergence, autocorrelation, and thinning

• Using loss functions to measure an estimate’s weaknesses based on your goals and desired outcomes

• Selecting appropriate priors and understanding how their influence changes with dataset size

• Overcoming the “exploration versus exploitation” dilemma: deciding when “pretty good” is good enough

• Using Bayesian inference to improve A/B testing

• Solving data science problems when only small amounts of data are available

Cameron Davidson-Pilon has worked in many areas of applied mathematics, from the evolutionary dynamics of genes and diseases to stochastic modeling of financial prices. His contributions to the open source community include lifelines, an implementation of survival analysis in Python. Educated at the University of Waterloo and at the Independent University of Moscow, he currently works with the online commerce leader Shopify.


Programming Collective Intelligence
by Toby Segaran

Want to tap the power behind search rankings, product recommendations, social bookmarking, and online matchmaking? This fascinating book demonstrates how you can build Web 2.0 applications to mine the enormous amount of data created by people on the Internet. With the sophisticated algorithms in this book, you can write smart programs to access interesting datasets from other web sites, collect data from users of your own applications, and analyze and understand the data once you’ve found it.

Programming Collective Intelligence takes you into the world of machine learning and statistics, and explains how to draw conclusions about user experience, marketing, personal tastes, and human behavior in general — all from information that you and others collect every day. Each algorithm is described clearly and concisely with code that can immediately be used on your web site, blog, Wiki, or specialized application. This book explains:

  • Collaborative filtering techniques that enable online retailers to recommend products or media
  • Methods of clustering to detect groups of similar items in a large dataset
  • Search engine features — crawlers, indexers, query engines, and the PageRank algorithm
  • Optimization algorithms that search millions of possible solutions to a problem and choose the best one
  • Bayesian filtering, used in spam filters for classifying documents based on word types and other features
  • Using decision trees not only to make predictions, but to model the way decisions are made
  • Predicting numerical values rather than classifications to build price models
  • Support vector machines to match people in online dating sites
  • Non-negative matrix factorization to find the independent features in a dataset
  • Evolving intelligence for problem solving — how a computer develops its skill by improving its own code the more it plays a game

Each chapter includes exercises for extending the algorithms to make them more powerful. Go beyond simple database-backed applications and put the wealth of Internet data to work for you.

“Bravo! I cannot think of a better way for a developer to first learn these algorithms and methods, nor can I think of a better way for me (an old AI dog) to reinvigorate my knowledge of the details.”
— Dan Russell, Google

“Toby’s book does a great job of breaking down the complex subject matter of machine-learning algorithms into practical, easy-to-understand examples that can be directly applied to analysis of social interaction across the Web today. If I had this book two years ago, it would have saved precious time going down some fruitless paths.”
— Tim Wolters, CTO, Collective Intellect


Machine Learning for Email
by Drew Conway, John White

If you’re an experienced programmer willing to crunch data, this concise guide will show you how to use machine learning to work with email. You’ll learn how to write algorithms that automatically sort and redirect email based on statistical patterns. Authors Drew Conway and John Myles White approach the process in a practical fashion, using a case-study driven approach rather than a traditional math-heavy presentation.

This book also includes a short tutorial on using the popular R language to manipulate and analyze data. You’ll get clear examples for analyzing sample data and writing machine learning programs with R.

  • Mine email content with R functions, using a collection of sample files
  • Analyze the data and use the results to write a Bayesian spam classifier
  • Rank email by importance, using factors such as thread activity
  • Use your email ranking analysis to write a priority inbox program
  • Test your classifier and priority inbox with a separate email sample set

Machine Learning and Security
by Clarence Chio, David Freeman

Can machine learning techniques solve our computer security problems and finally put an end to the cat-and-mouse game between attackers and defenders? Or is this hope merely hype? Now you can dive into the science and answer this question for yourself! With this practical guide, you’ll explore ways to apply machine learning to security issues such as intrusion detection, malware classification, and network analysis.

Machine learning and security specialists Clarence Chio and David Freeman provide a framework for discussing the marriage of these two fields, as well as a toolkit of machine-learning algorithms that you can apply to an array of security problems. This book is ideal for security engineers and data scientists alike.

  • Learn how machine learning has contributed to the success of modern spam filters
  • Quickly detect anomalies, including breaches, fraud, and impending system failure
  • Conduct malware analysis by extracting useful information from computer binaries
  • Uncover attackers within the network by finding patterns inside datasets
  • Examine how attackers exploit consumer-facing websites and app functionality
  • Translate your machine learning algorithms from the lab to production
  • Understand the threat attackers pose to machine learning solutions

Virtual & Augmented Reality For Dummies
by Paul Mealy

An easy-to-understand primer on Virtual Reality and Augmented Reality

Virtual Reality (VR) and Augmented Reality (AR) are driving the next technological revolution. If you want to get in on the action, this book helps you understand what these technologies are, their history, how they’re being used, and how they’ll affect consumers both personally and professionally in the very near future.

With VR and AR poised to become mainstream within the next few years, an accessible book to bring users up to speed on the subject is sorely needed—and that’s where this handy reference comes in! Rather than focusing on a specific piece of hardware (HTC Vive, Oculus Rift, iOS ARKit) or software (Unity, Unreal Engine), Virtual & Augmented Reality For Dummies offers a broad look at both VR and AR, giving you a bird’s eye view of what you can expect as they continue to take the world by storm.

* Keeps you up-to-date on the pulse of this fast-changing technology

* Explores the many ways AR/VR are being used in fields such as healthcare, education, and entertainment

* Includes interviews with designers, developers, and technologists currently working in the fields of VR and AR

Perfect for both potential content creators and content consumers, this book will change the way you approach and contribute to these emerging technologies.


Data Science from Scratch
by Joel Grus

Data science libraries, frameworks, modules, and toolkits are great for doing data science, but they’re also a good way to dive into the discipline without actually understanding data science. In this book, you’ll learn how many of the most fundamental data science tools and algorithms work by implementing them from scratch.

If you have an aptitude for mathematics and some programming skills, author Joel Grus will help you get comfortable with the math and statistics at the core of data science, and with hacking skills you need to get started as a data scientist. Today’s messy glut of data holds answers to questions no one’s even thought to ask. This book provides you with the know-how to dig those answers out.

  • Get a crash course in Python
  • Learn the basics of linear algebra, statistics, and probability—and understand how and when they’re used in data science
  • Collect, explore, clean, munge, and manipulate data
  • Dive into the fundamentals of machine learning
  • Implement models such as k-nearest Neighbors, Naive Bayes, linear and logistic regression, decision trees, neural networks, and clustering
  • Explore recommender systems, natural language processing, network analysis, MapReduce, and databases

Machine Learning in Action
by Peter Harrington

Summary

Machine Learning in Action is unique book that blends the foundational theories of machine learning with the practical realities of building tools for everyday data analysis. You’ll use the flexible Python programming language to build programs that implement algorithms for data classification, forecasting, recommendations, and higher-level features like summarization and simplification.

About the Book

A machine is said to learn when its performance improves with experience. Learning requires algorithms and programs that capture data and ferret out the interestingor useful patterns. Once the specialized domain of analysts and mathematicians, machine learning is becoming a skill needed by many.

Machine Learning in Action is a clearly written tutorial for developers. It avoids academic language and takes you straight to the techniques you’ll use in your day-to-day work. Many (Python) examples present the core algorithms of statistical data processing, data analysis, and data visualization in code you can reuse. You’ll understand the concepts and how they fit in with tactical tasks like classification, forecasting, recommendations, and higher-level features like summarization and simplification.

Readers need no prior experience with machine learning or statistical processing. Familiarity with Python is helpful.

Purchase of the print book comes with an offer of a free PDF, ePub, and Kindle eBook from Manning. Also available is all code from the book.

What’s Inside

  • A no-nonsense introduction
  • Examples showing common ML tasks
  • Everyday data analysis
  • Implementing classic algorithms like Apriori and Adaboos

Table of Contents PART 1 CLASSIFICATION

  • Machine learning basics
  • Classifying with k-Nearest Neighbors
  • Splitting datasets one feature at a time: decision trees
  • Classifying with probability theory: naïve Bayes
  • Logistic regression
  • Support vector machines
  • Improving classification with the AdaBoost meta algorithm
  • PART 2 FORECASTING NUMERIC VALUES WITH REGRESSION
  • Predicting numeric values: regression
  • Tree-based regression
  • PART 3 UNSUPERVISED LEARNING
  • Grouping unlabeled items using k-means clustering
  • Association analysis with the Apriori algorithm
  • Efficiently finding frequent itemsets with FP-growth
  • PART 4 ADDITIONAL TOOLS
  • Using principal component analysis to simplify data
  • Simplifying data with the singular value decomposition
  • Big data and MapReduce

Computer Vision
by Simon J. D. Prince

This modern treatment of computer vision focuses on learning and inference in probabilistic models as a unifying theme. It shows how to use training data to learn the relationships between the observed image data and the aspects of the world that we wish to estimate, such as the 3D structure or the object class, and how to exploit these relationships to make new inferences about the world from new image data. With minimal prerequisites, the book starts from the basics of probability and model fitting and works up to real examples that the reader can implement and modify to build useful vision systems. Primarily meant for advanced undergraduate and graduate students, the detailed methodological presentation will also be useful for practitioners of computer vision. – Covers cutting-edge techniques, including graph cuts, machine learning, and multiple view geometry. – A unified approach shows the common basis for solutions of important computer vision problems, such as camera calibration, face recognition, and object tracking. – More than 70 algorithms are described in sufficient detail to implement. – More than 350 full-color illustrations amplify the text. – The treatment is self-contained, including all of the background mathematics. – Additional resources at www.computervisionmodels.com.

Computers

Making Software

Making Software
by Andy Oram, Greg Wilson

Many claims are made about how certain tools, technologies, and practices improve software development. But which claims are verifiable, and which are merely wishful thinking? In this book, leading thinkers such as Steve McConnell, Barry Boehm, and Barbara Kitchenham offer essays that uncover the truth and unmask myths commonly held among the software development community. Their insights may surprise you.

  • Are some programmers really ten times more productive than others?
  • Does writing tests first help you develop better code faster?
  • Can code metrics predict the number of bugs in a piece of software?
  • Do design patterns actually make better software?
  • What effect does personality have on pair programming?
  • What matters more: how far apart people are geographically, or how far apart they are in the org chart?

Contributors include:

Jorge Aranda

Tom Ball

Victor R. Basili

Andrew Begel

Christian Bird

Barry Boehm

Marcelo Cataldo

Steven Clarke

Jason Cohen

Robert DeLine

Madeline Diep

Hakan Erdogmus

Michael Godfrey

Mark Guzdial

Jo E. Hannay

Ahmed E. Hassan

Israel Herraiz

Kim Sebastian Herzig

Cory Kapser

Barbara Kitchenham

Andrew Ko

Lucas Layman

Steve McConnell

Tim Menzies

Gail Murphy

Nachi Nagappan

Thomas J. Ostrand

Dewayne Perry

Marian Petre

Lutz Prechelt

Rahul Premraj

Forrest Shull

Beth Simon

Diomidis Spinellis

Neil Thomas

Walter Tichy

Burak Turhan

Elaine J. Weyuker

Michele A. Whitecraft

Laurie Williams

Wendy M. Williams

Andreas Zeller

Thomas Zimmermann


Making Software Teams Effective
by Chaehan So

How does good teamwork emerge?
Can we control mechanisms of teamwork?
The author has analyzed these questions in a study involving 227 participants of 55 software development teams. First, he empirically confirmed his teamwork model based on innovation research, goal setting and control theory. Second, he measured the impact of a wide selection of agile practices on these teamwork mechanisms. Third, he explained these impacts based on a thorough review of current psychological research.
This book is intended for people working in agile contexts as they will gain insight into the complexity of how «good teamwork» emerges. This insight on team dynamics may also prove valuable for upper management for calibrating agile practices and «soft factors», thus increasing the effectiveness of software teams.

Making the Software Business Case
by Donald J. Reifer

“Just the understanding and insights you will pick up about how people encounter and cope with combinations of technical, social, political, and economic opportunities and challenges make the book a joy to read and worth much more than the price of it alone.”
–Barry Boehm, from the Foreword

This practical handbook shows you how to build an effective business case when you need to justify–and persuade management to accept–software change or improvement. Based on real-world scenarios, the book covers the most common situations in which business case analyses are required and explains specific techniques that have proved successful in practice. Drawing on years of experience in winning the “battle of the budget,” the author shows you how to use commonly accepted engineering economic arguments to make your numbers “sing” to management.

The book provides examples of successful business cases; along the way, tables, tools, facts, figures, and metrics guide you through the entire analytic process. Writing in a concise and witty style, the author makes this valuable guidance accessible to every software engineer, manager, and IT professional.

Highlights include:

  • How and where business case analyses fit into the software and IT life cycle process
  • Explanations of the most common tools for business case analysis, such as present-value, return-on-investment, break-even, and cost/benefit calculation
  • Tying the business process to the software development life cycle
  • Packaging the business case for management consumption
  • Frameworks and guidelines for justifying IT productivity, quality, and delivery cycle improvement strategies
  • Case studies for applying appropriate decision situations to software process improvement
  • Strategic guidelines for various business case analyses

With this book in hand, you will find the facts, examples, hard data, and case studies needed for preparing your own winning business cases in today’s complex software environment.


Making it Big in Software
by Sam Lightstone

The Software Insider’s Guide to Getting Hired and Getting to the Top!

Here’s all the information you need to jumpstart your software career: the best ways to get hired, move up, and blaze your way to the top! The software business has radically changed, and this book reveals today’s realities–everything your professors and corporate managers never told you. In his 20 years at IBM as a software architect, senior manager, and lead programmer, Sam Lightstone has briefed dozens of leading companies and universities on careers, new technology, and emerging areas of research. He currently works on one of the world’s largest software development teams and spends a good part of his time recruiting and mentoring software engineers. This book shares all the lessons for success Sam has learned…plus powerful insights from 17 of the industry’s biggest stars. Want to make it big in software? Start right here!

Discover how to

• Get your next job in software development

• Master the nontechnical skills crucial to your success

• “Work the org” to move up rapidly

• Successfully manage your time, projects, and life

• Avoid “killer” mistakes that could destroy your career

• Move up to “medium-shot,” “big-shot,” and finally, “visionary”

• Launch your own winning software company

Exclusive interviews with

Steve Wozniak, Inventor, Apple computer

John Schwarz, CEO, Business Objects

James Gosling, Inventor, Java programming language

Marissa Mayer, Google VP, Search Products and User Experience

Jon Bentley, Author, Programming Pearls

Marc Benioff, CEO and founder, Salesforce.com

Grady Booch, IBM Fellow and co-founder Rational Software

Bjarne Stroustrup, Inventor, C++ programming language

David Vaskevitch, Microsoft CTO

Linus Torvalds, Creator, Linux operating system kernel

Richard Stallman, Founder, Free software movement

Peter Norvig, Google’s Director of Research

Mark Russinovich, Microsoft Fellow and Windows Architect

Tom Malloy, Adobe Chief Software Architect

Diane Greene, Co-founder and past CEO of VMware

Robert Kahn, Co-inventor, the Internet

Ray Tomlinson, Inventor, email


Making Software Measurement Work
by William C. Hetzel

A practical text for software practitioners and managers or, alternatively, for industrial and college courses in software measurement and metrics. Hetzel explains what to measure, how to measure it, and why. He also explains why good management and good engineering are inseparable from good measurement. Discussion questions and suggested exercises are included at the end of each chapter. Inaugurates a new QED series on the increasingly critical areas of how to evaluate and measure modern software systems. Annotation copyright by Book News, Inc., Portland, OR

The Making of Information Systems
by Karl E. Kurbel

Information systems (IS) are the backbone of any organization today, supporting all major business processes.

This book deals with the question: how do these systems come into existence? It gives a comprehensive coverage of managerial, methodological and technological aspects including:

  • Management decisions before and during IS development, acquisition and implementation
  • Project management
  • Requirements engineering and design using UML
  • Implementation, testing and customization
  • Software architecture and platforms
  • Tool support (CASE tools, IDEs, collaboration tools)

The book takes into account that for most organizations today, inhouse development is only one of several options to obtain an IS. A good deal of IS development has moved to software vendors – be it domestic, offshore or multinational software firms. Since an increasing share of this work is done in Asia, Eastern Europe, Latin America and Africa, the making of information systems is discussed within a global context.


Making Embedded Systems
by Elecia White

Interested in developing embedded systems? Since they don’t tolerate inefficiency, these systems require a disciplined approach to programming. This easy-to-read guide helps you cultivate a host of good development practices, based on classic software design patterns and new patterns unique to embedded programming. Learn how to build system architecture for processors, not operating systems, and discover specific techniques for dealing with hardware difficulties and manufacturing requirements.

Written by an expert who’s created embedded systems ranging from urban surveillance and DNA scanners to children’s toys, this book is ideal for intermediate and experienced programmers, no matter what platform you use.

  • Optimize your system to reduce cost and increase performance
  • Develop an architecture that makes your software robust in resource-constrained environments
  • Explore sensors, motors, and other I/O devices
  • Do more with less: reduce RAM consumption, code space, processor cycles, and power consumption
  • Learn how to update embedded code directly in the processor
  • Discover how to implement complex mathematics on small processors
  • Understand what interviewers look for when you apply for an embedded systems job

Making Embedded Systems is the book for a C programmer who wants to enter the fun (and lucrative) world of embedded systems. It’s very well written—entertaining, even—and filled with clear illustrations.”
—Jack Ganssle, author and embedded system expert.


Making Globally Distributed Software Development a Success Story
by Qing Wang, Dietmar Pfahl, David Raffo

This volume contains papers presented at the International Conference on Software Process (ICSP 2008) held in Leipzig, Germany, during May 10-11, 2008. ICSP 2008 was the second conference of the ICSP series. The theme of ICSP 2008 was “Making Globally Distributed Software Development a Success Story. ” Software developers work in a dynamic context of frequently changing technologies and with limited resources. Globally distributed development teams are under ev- increasing pressure to deliver their products more quickly and with higher levels of qu- ity. At the same time, global competition is forcing software development organizations to cut costs by rationalizing processes, outsourcing part of or all development activities, reusing existing software in new or modified applications, and evolving existing systems to meet new needs, while still minimizing the risk of projects failing to deliver. To address these difficulties, new and modified processes are emerging, including agile methods and plan-based product line development. Open Source, COTS, and com- nity-developed software are becoming more and more popular. Outsourcing coupled with 24/7 development demands well-defined processes to support the coordination of organizationally—and geographically—separated teams. The accepted papers present completed research or advanced work-in-progress in all areas of software and systems development process including: agile software pr- esses, CMMI, novel techniques for software process representation and analysis; process tools and metrics; and the simulation and modeling of software processes. Contributions reflecting real-world experience, or derived directly from industrial or open-source software development and evolution, were particularly welcome.