Algorithms Unlocked


Thomas H. Cormen - 2013
    For anyone who has ever wondered how computers solve problems, an engagingly written guide for nonexperts to the basics of computer algorithms.

Advanced Scala with Cats


Noel Welsh - 2017
    This means designing systems as small composable units, expressing constraints and interactions via the type system, and using composition to guide the construction of large systems in a way that maintains the original architectural vision.The book also serves as an introduction to the Cats library. We use abstractions from Cats, and we explain the structure of Cats so you can use it without fear in your own code base. The broad ideas are not specific to Cats, but Cats provides an excellent implementation that is beneficial to learn in its own right.

Raspberry Pi User Guide


Eben Upton - 2012
    And now you can learn how to use this amazing computer from its co-creator, Eben Upton, in Raspberry Pi User Guide. Cowritten with Gareth Halfacree, this guide gets you up and running on Raspberry Pi, whether you're an educator, hacker, hobbyist, or kid. Learn how to connect your Pi to other hardware, install software, write basic programs, and set it up to run robots, multimedia centers, and more.Gets you up and running on Raspberry Pi, a high-tech computer the size of a credit card Helps educators teach students how to program Covers connecting Raspberry Pi to other hardware, such as monitors and keyboards, how to install software, and how to configure Raspberry Pi Shows you how to set up Raspberry Pi as a simple productivity computer, write basic programs in Python, connect to servos and sensors, and drive a robot or multimedia center Adults, kids, and devoted hardware hackers, now that you've got a Raspberry Pi, get the very most out of it with Raspberry Pi User Guide.

Building Cloud Apps with Microsoft Azure: Best Practices for DevOps, Data Storage, High Availability, and More (Developer Reference)


Scott Guthrie - 2014
    The patterns apply to the development process as well as to architecture and coding practices. The content is based on a presentation developed by Scott Guthrie and delivered by him at the Norwegian Developers Conference (NDC) in June of 2013 (part 1, part 2), and at Microsoft Tech Ed Australia in September 2013 (part 1, part 2). Many others updated and augmented the content while transitioning it from video to written form. Who should read this book Developers who are curious about developing for the cloud, are considering a move to the cloud, or are new to cloud development will find here a concise overview of the most important concepts and practices they need to know. The concepts are illustrated with concrete examples, and each chapter includes links to other resources that provide more in-depth information. The examples and the links to additional resources are for Microsoft frameworks and services, but the principles illustrated apply to other web development frameworks and cloud environments as well. Developers who are already developing for the cloud may find ideas here that will help make them more successful. Each chapter in the series can be read independently, so you can pick and choose topics that you're interested in. Anyone who watched Scott Guthrie's "Building Real World Cloud Apps with Windows Azure" presentation and wants more details and updated information will find that here. Assumptions This ebook expects that you have experience developing web applications by using Visual Studio and ASP.NET. Familiarity with C# would be helpful in places.

21st Century C: C Tips from the New School


Ben Klemens - 2012
    With 21st Century C, you’ll discover up-to-date techniques that are absent from every other C text available. C isn’t just the foundation of modern programming languages, it is a modern language, ideal for writing efficient, state-of-the-art applications. Learn to dump old habits that made sense on mainframes, and pick up the tools you need to use this evolved and aggressively simple language. No matter what programming language you currently champion, you’ll agree that C rocks.Set up a C programming environment with shell facilities, makefiles, text editors, debuggers, and memory checkersUse Autotools, C’s de facto cross-platform package managerLearn which older C concepts should be downplayed or deprecatedExplore problematic C concepts that are too useful to throw outSolve C’s string-building problems with C-standard and POSIX-standard functionsUse modern syntactic features for functions that take structured inputsBuild high-level object-based libraries and programsApply existing C libraries for doing advanced math, talking to Internet servers, and running databases

R in Action


Robert Kabacoff - 2011
    The book begins by introducing the R language, including the development environment. Focusing on practical solutions, the book also offers a crash course in practical statistics and covers elegant methods for dealing with messy and incomplete data using features of R.About the TechnologyR is a powerful language for statistical computing and graphics that can handle virtually any data-crunching task. It runs on all important platforms and provides thousands of useful specialized modules and utilities. This makes R a great way to get meaningful information from mountains of raw data.About the BookR in Action is a language tutorial focused on practical problems. It presents useful statistics examples and includes elegant methods for handling messy, incomplete, and non-normal data that are difficult to analyze using traditional methods. And statistical analysis is only part of the story. You'll also master R's extensive graphical capabilities for exploring and presenting data visually. 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 InsidePractical data analysis, step by stepInterfacing R with other softwareUsing R to visualize dataOver 130 graphsEight reference appendixes================================Table of ContentsPart I Getting startedIntroduction to RCreating a datasetGetting started with graphsBasic data managementAdvanced data managementPart II Basic methodsBasic graphsBasic statisticsPart III Intermediate methodsRegressionAnalysis of variancePower analysisIntermediate graphsRe-sampling statistics and bootstrappingPart IV Advanced methodsGeneralized linear modelsPrincipal components and factor analysisAdvanced methods for missing dataAdvanced graphics

Elements of Programming Interviews: The Insiders' Guide C++


Adnan Aziz - 2012
    The problems are challenging, well-motivated, and accessible. They are representative of the questions asked at interviews at the most exciting companies.The book begins with a summary of patterns for data structure, algorithms, and problem solving that will help you solve the most challenging interview problems. This is followed by chapters on basic and advanced data structures, algorithm design, concurrency, system design, probability and discrete mathematics. Each chapter starts with a brief review of key concepts and results followed by a deep and wide set of questions.EPI concludes with a summary of the nontechnical aspects of interviewing, including common mistakes, strategies for a great interview, perspectives from across the table, negotiating the best offer, and much more."This book is the best compilation of programming related problems I have seen. It is a great resource for a diverse set of topics when preparing for technical interviews, as a quick refresher in a subject area or when you are just looking for a brain teaser to challenge yourself." Shashank Gupta / Scaligent, formerly Engineering Manager, Amazon.com, Senior Engineering Manager, Yahoo!, Manager of Software Development, Cisco Systems

A Book on C: Programming in C


Al Kelley - 1984
    It includes a complete chapter on C++ and an overall organization designed to appeal to the many programmers who view C as a stepping stone to C++ and the object-oriented paradigm. This edition also features an increased emphasis on modules and ADTs, which are essential concepts for creating reusable code and which show how to use header files to tie together a multi-file program. computer science students.

Introducing Go: Build Reliable, Scalable Programs


Caleb Doxsey - 2016
    Author Caleb Doxsey covers the language’s core features with step-by-step instructions and exercises in each chapter to help you practice what you learn.Go is a general-purpose programming language with a clean syntax and advanced features, including concurrency. This book provides the one-on-one support you need to get started with the language, with short, easily digestible chapters that build on one another. By the time you finish this book, not only will you be able to write real Go programs, you'll be ready to tackle advanced techniques.* Jump into Go basics, including data types, variables, and control structures* Learn complex types, such as slices, functions, structs, and interfaces* Explore Go’s core library and learn how to create your own package* Write tests for your code by using the language’s go test program* Learn how to run programs concurrently with goroutines and channels* Get suggestions to help you master the craft of programming

More Exceptional C++: 40 New Engineering Puzzles, Programming Problems, and Solutions


Herb Sutter - 2001
    It emphasizes generic programming and using the C++ Standard Library.

Information Theory, Inference and Learning Algorithms


David J.C. MacKay - 2002
    These topics lie at the heart of many exciting areas of contemporary science and engineering - communication, signal processing, data mining, machine learning, pattern recognition, computational neuroscience, bioinformatics, and cryptography. This textbook introduces theory in tandem with applications. Information theory is taught alongside practical communication systems, such as arithmetic coding for data compression and sparse-graph codes for error-correction. A toolbox of inference techniques, including message-passing algorithms, Monte Carlo methods, and variational approximations, are developed alongside applications of these tools to clustering, convolutional codes, independent component analysis, and neural networks. The final part of the book describes the state of the art in error-correcting codes, including low-density parity-check codes, turbo codes, and digital fountain codes -- the twenty-first century standards for satellite communications, disk drives, and data broadcast. Richly illustrated, filled with worked examples and over 400 exercises, some with detailed solutions, David MacKay's groundbreaking book is ideal for self-learning and for undergraduate or graduate courses. Interludes on crosswords, evolution, and sex provide entertainment along the way. In sum, this is a textbook on information, communication, and coding for a new generation of students, and an unparalleled entry point into these subjects for professionals in areas as diverse as computational biology, financial engineering, and machine learning.

Adobe Photoshop CS3 Classroom in a Book


Adobe Creative Team - 2007
    Using clear, step-by-step, project-based lessons, each chapter walks readers through the creation of a specific project, with each chapter building on the reader's growing knowledge of the program, while review questions at the end of each chapter reinforce the skills learned in each lesson. Photoshop CS3, long the industry standard for digital imaging software, offers plenty of new features and enhancements for creative professionals and digital photographers alike. Users can enjoy unrivaled editing with non-destructive Smart Filters, improved curves, and adjustable cloning and healing with Preview Overlay. Increase productivity with Photoshop CS3's streamlined interface and new Photoshop Lightroom " integration. Anyone who wants to create a composite will benefit from the revamped Photomerge(R) tool, which lets you apply automatic layer alignment and blending to your images, while the new Quick Selection tool lets you select pixels not just by color, but by texture and shape as well. And digital photographers will be pleased to know that they can now process multiple Camera Raw images in a fraction of the time it used to take. Educational instructor notes--created to help teachers plan, organize, and time their lessons--are available for this book (and for other Classroom in a Book titles) at www.peachpit.com/instructorresources.

Web Database Applications with PHP and MySQL


Hugh E. Williams - 2002
    Anyone with a modest knowledge of HTML and web site management can learn to create dynamic content through the PHP programming language and the MySQL database. This book gives you the background and tools to do the job safely and reliably.Web Database Applications with PHP and MySQL, Second Edition thoroughly reflects the needs of real-world applications. It goes into detail on such practical issues as validating input (do you know what a proper credit card number looks like?), logging in users, and using templates to give your dynamic web pages a standard look.But this book goes even further. It shows how JavaScript and PHP can be used in tandem to make a user's experience faster and more pleasant. It shows the correct way to handle errors in user input so that a site looks professional. It introduces the vast collection of powerful tools available in the PEAR repository and shows how to use some of the most popular tools.Even while it serves as an introduction to new programmers, the book does not omit critical tasks that web sites require. For instance, every site that allows updates must handle the possibility of multiple users accessing data at the same time. This book explains how to solve the problem in detail with locking.Through a sophisticated sample application--Hugh and Dave's Wine Store--all the important techniques of dynamic content are introduced. Good design is emphasized, such as dividing logic from presentation. The book introduces PHP 5 and MySQL 4.1 features, while providing techniques that can be used on older versions of the software that are still in widespread use.This new edition has been redesigned around the rich offerings of PEAR. Several of these, including the Template package and the database-independent query API, are fully integrated into examples and thoroughly described in the text. Topics include:Installation and configuration of Apache, MySQL, and PHP on Unix®, Windows®, and Mac OS® X systems Introductions to PHP, SQL, and MySQL administration Session management, including the use of a custom database for improved efficiency User input validation, security, and authentication The PEAR repository, plus details on the use of PEAR DB and Template classes Production of PDF reports

DNS and BIND


Cricket Liu - 1996
    This book brings you up-to-date with the latest changes in this crucial service.The fifth edition covers BIND 9.3.2, the most recent release of the BIND 9 series, as well as BIND 8.4.7. BIND 9.3.2 contains further improvements in security and IPv6 support, and important new features such as internationalized domain names, ENUM (electronic numbering), and SPF (the Sender Policy Framework).Whether you're an administrator involved with DNS on a daily basis or a user who wants to be more informed about the Internet and how it works, you'll find that this book is essential reading.Topics include:What DNS does, how it works, and when you need to use it How to find your own place in the Internet's namespace Setting up name servers Using MX records to route mail Configuring hosts to use DNS name servers Subdividing domains (parenting) Securing your name server: restricting who can query your server, preventing unauthorized zone transfers, avoiding bogus servers, etc. The DNS Security Extensions (DNSSEC) and Transaction Signatures (TSIG) Mapping one name to several servers for load sharing Dynamic updates, asynchronous notification of change to a zone, and incremental zone transfers Troubleshooting: using nslookup and dig, reading debugging output, common problems DNS programming using the resolver library and Perl's Net::DNS module

Java Cookbook


Ian F. Darwin - 2001
    Whether you're new to Java programming and need something to bridge the gap between theory-laden reference manuals and real-world programs or you're a seasoned Java programmer looking for a new perspective or a different problem-solving context, this book will help you make the most of your Java knowledge. Packed with hundreds of tried-and-true Java recipes covering all of the major APIs from the 1.4 version of Java, this book also offers significant first-look recipes for the most important features of the new 1.5 version, which is in beta release. You get practical solutions to everyday problems, and each is followed by a detailed, ultimately useful explanation of how and why the technology works. Java Cookbook, 2nd Edition includes code segments covering many specialized APIs--like those for working with Struts, Ant and other new popular Open Source tools. It also includes expanded Mac OS X Panther coverage and serves as a great launching point for Java developers who want to get started in areas outside of their specialization. In this major revision, you'll find succinct pieces of code that can be easily incorporated into other programs. Focusing on what's useful or tricky--or what's useful and tricky--Java Cookbook, 2nd Edition is the most practical Java programming book on the market.