Best of
Computer-Science

2014

Mastering Bitcoin: Unlocking Digital Cryptocurrencies


Andreas M. Antonopoulos - 2014
    Whether you're building the next killer app, investing in a startup, or simply curious about the technology, this practical book is essential reading.Bitcoin, the first successful decentralized digital currency, is still in its infancy and it's already spawned a multi-billion dollar global economy. This economy is open to anyone with the knowledge and passion to participate. Mastering Bitcoin provides you with the knowledge you need (passion not included).This book includes:A broad introduction to bitcoin--ideal for non-technical users, investors, and business executivesAn explanation of the technical foundations of bitcoin and cryptographic currencies for developers, engineers, and software and systems architectsDetails of the bitcoin decentralized network, peer-to-peer architecture, transaction lifecycle, and security principlesOffshoots of the bitcoin and blockchain inventions, including alternative chains, currencies, and applicationsUser stories, analogies, examples, and code snippets illustrating key technical concepts

Automate the Boring Stuff with Python: Practical Programming for Total Beginners


Al Sweigart - 2014
    But what if you could have your computer do them for you?In "Automate the Boring Stuff with Python," you'll learn how to use Python to write programs that do in minutes what would take you hours to do by hand no prior programming experience required. Once you've mastered the basics of programming, you'll create Python programs that effortlessly perform useful and impressive feats of automation to: Search for text in a file or across multiple filesCreate, update, move, and rename files and foldersSearch the Web and download online contentUpdate and format data in Excel spreadsheets of any sizeSplit, merge, watermark, and encrypt PDFsSend reminder emails and text notificationsFill out online formsStep-by-step instructions walk you through each program, and practice projects at the end of each chapter challenge you to improve those programs and use your newfound skills to automate similar tasks.Don't spend your time doing work a well-trained monkey could do. Even if you've never written a line of code, you can make your computer do the grunt work. Learn how in "Automate the Boring Stuff with Python.""

The Software Craftsman: Professionalism, Pragmatism, Pride


Sandro Mancuso - 2014
    Why? Too many organizations still view software development as just another production line. Too many developers feel that way, too--and they behave accordingly. In The Software Craftsman: Professionalism, Pragmatism, Pride, Sandro Mancuso offers a better and more fulfilling path. If you want to develop software with pride and professionalism; love what you do and do it with excellence; and build a career with autonomy, mastery, and purpose, it starts with the recognition that you are a craftsman. Once you embrace this powerful mindset, you can achieve unprecedented levels of technical excellence and customer satisfaction. Mancuso helped found the world's largest organization of software craftsmen; now, he shares what he's learned through inspiring examples and pragmatic advice you can use in your company, your projects, and your career. You will learn Why agile processes aren't enough and why craftsmanship is crucial to making them work How craftsmanship helps you build software right and helps clients in ways that go beyond code How and when to say "No" and how to provide creative alternatives when you do Why bad code happens to good developers and how to stop creating and justifying it How to make working with legacy code less painful and more productive How to be pragmatic--not dogmatic--about your practices and tools How to lead software craftsmen and attract them to your organization What to avoid when advertising positions, interviewing candidates, and hiring developers How developers and their managers can create a true culture of learning How to drive true technical change and overcome deep patterns of skepticism Sandro Mancuso has coded for startups, software houses, product companies, international consultancies, and investment banks. In October 2013, he cofounded Codurance, a consultancy based on Software Craftsmanship principles and values. His involvement with Software Craftsmanship began in 2010, when he founded the London Software Craftsmanship Community (LSCC), now the world's largest and most active Software Craftsmanship community, with more than two thousand craftsmen. For the past four years, he has inspired and helped developers to organize Software Craftsmanship communities throughout Europe, the United States, and the rest of the world.

Building Microservices: Designing Fine-Grained Systems


Sam Newman - 2014
    But developing these systems brings its own set of headaches. With lots of examples and practical advice, this book takes a holistic view of the topics that system architects and administrators must consider when building, managing, and evolving microservice architectures.Microservice technologies are moving quickly. Author Sam Newman provides you with a firm grounding in the concepts while diving into current solutions for modeling, integrating, testing, deploying, and monitoring your own autonomous services. You'll follow a fictional company throughout the book to learn how building a microservice architecture affects a single domain.Discover how microservices allow you to align your system design with your organization's goalsLearn options for integrating a service with the rest of your systemTake an incremental approach when splitting monolithic codebasesDeploy individual microservices through continuous integrationExamine the complexities of testing and monitoring distributed servicesManage security with user-to-service and service-to-service modelsUnderstand the challenges of scaling microservice architectures

Java 8 in Action


Raoul-Gabriel Urma - 2014
    The book covers lambdas, streams, and functional-style programming. With Java 8's functional features you can now write more concise code in less time, and also automatically benefit from multicore architectures. It's time to dig in!

Advanced R


Hadley Wickham - 2014
    With more than ten years of experience programming in R, the author illustrates the elegance, beauty, and flexibility at the heart of R.The book develops the necessary skills to produce quality code that can be used in a variety of circumstances. You will learn:The fundamentals of R, including standard data types and functions Functional programming as a useful framework for solving wide classes of problems The positives and negatives of metaprogramming How to write fast, memory-efficient codeThis book not only helps current R users become R programmers but also shows existing programmers what's special about R. Intermediate R programmers can dive deeper into R and learn new strategies for solving diverse problems while programmers from other languages can learn the details of R and understand why R works the way it does.

Red Team Field Manual


Ben Clark - 2014
    The RTFM contains the basic syntax for commonly used Linux and Windows command line tools, but it also encapsulates unique use cases for powerful tools such as Python and Windows PowerShell. The RTFM will repeatedly save you time looking up the hard to remember Windows nuances such as Windows wmic and dsquery command line tools, key registry values, scheduled tasks syntax, startup locations and Windows scripting. More importantly, it should teach you some new red team techniques.

Patterns Principles and Practices of Domain Driven Design


Scott Millett - 2014
    A focus is placed on the principles and practices of decomposing a complex problem space as well as the implementation patterns and best practices for shaping a maintainable solution space.

Metaprogramming Ruby 2: Program Like the Ruby Pros


Paolo Perrotta - 2014
    With metaprogramming, you can produce elegant, clean, and beautiful programs. Once the domain of expert Rubyists, metaprogramming is now accessible to programmers of all levels. This thoroughly revised and updated second edition of the bestselling Metaprogramming Ruby explains metaprogramming in a down-to-earth style and arms you with a practical toolbox that will help you write your best Ruby code ever.Dig under the surface and explore Ruby's most advanced feature: a collection of techniques and tricks known as metaprogramming. In this book, you'll learn metaprogramming as an essential component of Ruby and discover the deep, non-obvious details of the language. Once you understand the tenets of Ruby, including the object model, scopes, and singleton classes, you're on your way to applying metaprogramming both in your daily work assignments and in your fun, after-hours projects.Metaprogramming Ruby, Second Edition makes mastering the language enjoyable. The book is packed with: Pragmatic examples of metaprogramming in action, many of which come straight from real-life gems such as Rails.Programming challenges that let you experiment and play with some of the most out-there metaprogramming concepts.Metaprogramming spells--33 practical recipes and idioms that you can study and apply right now, to write code that is sure to impress.This completely revised new edition covers the new features in Ruby 2.0 and 2.1, and contains code from the latest Ruby libraries, including Rails 4. Most examples are new, from the wild, with more recent libraries. And the book reflects current ideas of when and how much metaprogramming you should use.Whether you're a Ruby apprentice on the path to mastering the language or a Ruby wiz in search of new tips, this book is for you.What You Need: Ruby 2.x, Ruby 1.9, or a recent version of JRuby.

Head First JavaScript Programming


Eric Freeman - 2014
    Want to understand that code you've been copying and pasting into your web pages? And do it in a way that won't put you to sleep? Then Head First JavaScript Programming is for you. Learning a programming language is no easy task, but Head First JavaScript Programming uses puzzles, visuals, mysteries, interviews, and fun examples to make learning JavaScript fast, fun, and effective. But don't be fooled; you might be having a good time while you're learning JavaScript, but you're still learning all the serious stuff. Like how functions and objects work, what a callback is, how to interact with the web page using the Document Object Model, how to use arrays, and even what a closure is. JavaScript is one of the most popular languages in the world, and it's only getting more popular as the Web continues to grow. Learn JavaScript the Head First way, and get in on all the action.

Flask Web Development: Developing Web Applications with Python


Miguel Grinberg - 2014
    With this hands-on book, you’ll learn Flask from the ground up by developing a complete social blogging application step-by-step. Author Miguel Grinberg walks you through the framework’s core functionality, and shows you how to extend applications with advanced web techniques such as database migration and web service communication.Rather than impose development guidelines as other frameworks do, Flask leaves the business of extensions up to you. If you have Python experience, this book shows you how to take advantage of that creative freedom.- Learn Flask’s basic application structure and write an example app- Work with must-have components—templates, databases, web forms, and email support- Use packages and modules to structure a large application that scales- Implement user authentication, roles, and profiles- Build a blogging feature by reusing templates, paginating item lists, and working with rich text- Use a Flask-based RESTful API to expose app functionality to smartphones, tablets, and other third-party clients- Learn how to run unit tests and enhance application performance- Explore options for deploying your web app to a production server

Bulletproof SSL and TLS: The Complete Guide to Deploying Secure Servers and Web Applications


Ivan Ristic - 2014
    Quite the contrary; mistakes are easy to make and can often fully compromise security. Bulletproof SSL and TLS is the first SSL book written with users in mind. It is the book you will want to read if you need to assess risks related to website encryption, manage keys and certificates, configure secure servers, and deploy secure web applications. Bulletproof SSL and TLS is based on several years of work researching SSL and how SSL is used in real life, implementing and supporting a comprehensive assessment tool running on the SSL Labs website (https://www.ssllabs.com), and assessing most of the public SSL servers on the Internet. The assessment tool helped many site owners identify and solve issues with their SSL deployments. The intent of this book is to provide a definitive reference for SSL deployment that is full of practical and relevant information.

Two Scoops of Django: Best Practices for Django 1.6


Daniel Roy Greenfeld - 2014
    

Speaking JavaScript


Axel Rauschmayer - 2014
    This concise book guides you into and through JavaScript, written by a veteran programmer who once found himself in the same position. Speaking JavaScript helps you approach the language with four standalone sections. First, a quick-start guide teaches you just enough of the language to help you be productive right away. More experienced JavaScript programmers will find a complete and easy-to-read reference that covers each language feature in depth. Complete contents include: JavaScript quick start: Familiar with object-oriented programming? This part helps you learn JavaScript quickly and properly. JavaScript in depth: Learn details of ECMAScript 5, from syntax, variables, functions, and object-oriented programming to regular expressions and JSON with lots of examples. Pick a topic and jump in. Background: Understand JavaScript’s history and its relationship with other programming languages. Tips, tools, and libraries: Survey existing style guides, best practices, advanced techniques, module systems, package managers, build tools, and learning resources.

Elasticsearch: The Definitive Guide: A Distributed Real-Time Search and Analytics Engine


Clinton Gormley - 2014
    This practical guide not only shows you how to search, analyze, and explore data with Elasticsearch, but also helps you deal with the complexities of human language, geolocation, and relationships.If you're a newcomer to both search and distributed systems, you'll quickly learn how to integrate Elasticsearch into your application. More experienced users will pick up lots of advanced techniques. Throughout the book, you'll follow a problem-based approach to learn why, when, and how to use Elasticsearch features.Understand how Elasticsearch interprets data in your documentsIndex and query your data to take advantage of search concepts such as relevance and word proximityHandle human language through the effective use of analyzers and queriesSummarize and group data to show overall trends, with aggregations and analyticsUse geo-points and geo-shapes--Elasticsearch's approaches to geolocationModel your data to take advantage of Elasticsearch's horizontal scalabilityLearn how to configure and monitor your cluster in production

Machine Learning with R


Brett Lantz - 2014
    This practical guide that covers all of the need to know topics in a very systematic way. For each machine learning approach, each step in the process is detailed, from preparing the data for analysis to evaluating the results. These steps will build the knowledge you need to apply them to your own data science tasks.Intended for those who want to learn how to use R's machine learning capabilities and gain insight from your data. Perhaps you already know a bit about machine learning, but have never used R; or perhaps you know a little R but are new to machine learning. In either case, this book will get you up and running quickly. It would be helpful to have a bit of familiarity with basic programming concepts, but no prior experience is required.

The Swift Programming Language


Apple Inc. - 2014
    Swift builds on the best of C and Objective-C, without the constraints of C compatibility. Swift adopts safe programming patterns and adds modern features to make programming easier, more flexible, and more fun. Swift’s clean slate, backed by the mature and much-loved Cocoa and Cocoa Touch frameworks, is an opportunity to reimagine how software development works.

Exercises in Programming Style


Cristina Videira Lopes - 2014
    It is designed to be used in conjunction with code provided on an online repository. The book complements and explains the raw code in a way that is accessible to anyone who regularly practices the art of programming. The book can also be used in advanced programming courses in computer science and software engineering programs.The book contains 33 different styles for writing the term frequency task. The styles are grouped into nine categories: historical, basic, function composition, objects and object interactions, reflection and metaprogramming, adversity, data-centric, concurrency, and interactivity. The author verbalizes the constraints in each style and explains the example programs. Each chapter first presents the constraints of the style, next shows an example program, and then gives a detailed explanation of the code. Most chapters also have sections focusing on the use of the style in systems design as well as sections describing the historical context in which the programming style emerged.

Designing for Scalability with Erlang/OTP: Implementing Robust, Fault-Tolerant Systems


Francesco Cesarini - 2014
    With this hands-on book, you’ll learn how to apply OTP libraries and techniques to develop concurrent, fault-tolerant systems with no single point of failure.Written by the authors of O'Reilly's Erlang Programming, including a member of OTP’s R1 release team, this guide takes you through the basics of OTP and Erlang Design Patterns, and demonstrates how the platform can be used in a wide range of industries. If you have Erlang experience, you’ll learn how to overcome key obstacles in OTP that have thwarted many other developers.

OS X 10.10 Yosemite: The Ars Technica Review


John Siracusa - 2014
    Siracusa's overview, wrap-up, and critique of everything new in OS X 10.10 Yosemite.

Category Theory for Programmers


Bartosz Milewski - 2014
    Collected from the series of blog posts starting at: https://bartoszmilewski.com/2014/10/2...Hardcover available at: http://www.blurb.com/b/9008339-catego...

Microsoft .NET - Architecting Applications for the Enterprise


Dino Esposito - 2014
    But the principles and practices of software architecting–what the authors call the “science of hard decisions”–have been evolving for cloud, mobile, and other shifts. Now fully revised and updated, this book shares the knowledge and real-world perspectives that enable you to design for success–and deliver more successful solutions. In this fully updated Second Edition, you will: Learn how only a deep understanding of domain can lead to appropriate architecture Examine domain-driven design in both theory and implementation Shift your approach to code first, model later–including multilayer architecture Capture the benefits of prioritizing software maintainability See how readability, testability, and extensibility lead to code quality Take a user experience (UX) first approach, rather than designing for data Review patterns for organizing business logic Use event sourcing and CQRS together to model complex business domains more effectively Delve inside the persistence layer, including patterns and implementation.

Bioinformatics Algorithms: An Active Learning Approach


Phillip Compeau - 2014
    A light-hearted and analogy-filled companion to the authors' acclaimed online course (http://coursera.org/course/bioinforma...), this book presents students with a dynamic approach to learning bioinformatics. It strikes a unique balance between practical challenges in modern biology and fundamental algorithmic ideas, thus capturing the interest of biology and computer science students alike.Each chapter begins with a central biological question, such as "Are There Fragile Regions in the Human Genome?" or "Which DNA Patterns Play the Role of Molecular Clocks?" and then steadily develops the algorithmic sophistication required to answer this question. Hundreds of exercises are incorporated directly into the text as soon as they are needed; readers can test their knowledge through automated coding challenges on Rosalind (http://rosalind.info), an online platform for learning bioinformatics.The textbook website (http://bioinformaticsalgorithms.org) directs readers toward additional educational materials, including video lectures and PowerPoint slides.

Starting to Unit Test: Not as Hard as You Think


Erik Dietrich - 2014
    You've heard the term. Probably a lot. You know you should probably figure out how it works, since everyone's always talking about it and a lot of companies require developers to know it. But you don't really know it and you're worried that you'll look uninformed if you cop to not knowing it. Well, relax. This book assumes you have absolutely no idea how it works and walks you through the practice from the very beginning.You'll learn the basics, but more importantly, you'll learn the business value, the path to walk not to get frustrated, what's testable and what isn't, and, and everything else that a practical unit testing newbie could possibly want to know.

Stuff Goes Bad: Erlang in Anger


Fred Hebert - 2014
    It is first and foremost a collection of tips and tricks to help understand where failures come from, and a dictionary of different code snippets and practices that helped developers debug production systems that were built in Erlang.

From Mathematics to Generic Programming


Alexander A. Stepanov - 2014
    If you're a reasonably proficient programmer who can think logically, you have all the background you'll need. Stepanov and Rose introduce the relevant abstract algebra and number theory with exceptional clarity. They carefully explain the problems mathematicians first needed to solve, and then show how these mathematical solutions translate to generic programming and the creation of more effective and elegant code. To demonstrate the crucial role these mathematical principles play in many modern applications, the authors show how to use these results and generalized algorithms to implement a real-world public-key cryptosystem. As you read this book, you'll master the thought processes necessary for effective programming and learn how to generalize narrowly conceived algorithms to widen their usefulness without losing efficiency. You'll also gain deep insight into the value of mathematics to programming--insight that will prove invaluable no matter what programming languages and paradigms you use. You will learn aboutHow to generalize a four thousand-year-old algorithm, demonstrating indispensable lessons about clarity and efficiencyAncient paradoxes, beautiful theorems, and the productive tension between continuous and discreteA simple algorithm for finding greatest common divisor (GCD) and modern abstractions that build on itPowerful mathematical approaches to abstractionHow abstract algebra provides the idea at the heart of generic programmingAxioms, proofs, theories, and models: using mathematical techniques to organize knowledge about your algorithms and data structuresSurprising subtleties of simple programming tasks and what you can learn from themHow practical implementations can exploit theoretical knowledge

Understanding Machine Learning


Shai Shalev-Shwartz - 2014
    The aim of this textbook is to introduce machine learning, and the algorithmic paradigms it offers, in a principled way. The book provides an extensive theoretical account of the fundamental ideas underlying machine learning and the mathematical derivations that transform these principles into practical algorithms. Following a presentation of the basics of the field, the book covers a wide array of central topics that have not been addressed by previous textbooks. These include a discussion of the computational complexity of learning and the concepts of convexity and stability; important algorithmic paradigms including stochastic gradient descent, neural networks, and structured output learning; and emerging theoretical concepts such as the PAC-Bayes approach and compression-based bounds. Designed for an advanced undergraduate or beginning graduate course, the text makes the fundamentals and algorithms of machine learning accessible to students and non-expert readers in statistics, computer science, mathematics, and engineering.

Core Java for the Impatient


Cay S. Horstmann - 2014
    Many old Java idioms are no longer required and new features like lambda expressions will increase programmer productivity, but navigating these changes can be challenging. Core Java(R) for the Impatient is a complete but concise guide to Java SE 8. Written by Cay Horstmann--the author of Java SE 8 for the Really Impatient and Core Java(TM), the classic, two-volume introduction to the Java language--this indispensable new tutorial offers a faster, easier pathway for learning the language and libraries. Given the size of the language and the scope of the new features introduced in Java SE 8, there's plenty of material to cover, but it's presented in small chunks organized for quick access and easy understanding. If you're an experienced programmer, Horstmann's practical insights and sample code will help you quickly take advantage of lambda expressions (closures), streams, and other Java language and platform improvements. Horstmann covers everything developers need to know about modern Java, including Crisp and effective coverage of lambda expressions, enabling you to express actions with a concise syntax A thorough introduction to the new streams API, which makes working with data far more flexible and efficient A treatment of concurrent programming that encourages you to design your programs in terms of cooperating tasks instead of low-level threads and locks Up-to-date coverage of new libraries like Date and Time Other new features that will be especially valuable for server-side or mobile programmers Whether you are just getting started with modern Java or are an experienced developer, this guide will be invaluable for anyone who wants to write tomorrow's most robust, efficient, and secure Java code.

Build Your Own AngularJS


Tero Parviainen - 2014
    It can also be difficult to grasp fully. As a result, many struggle to capture all the benefits Angular has to offer.Build Your Own AngularJS helps you understand everything there is to understand about Angular. By creating your very own implementation of Angular piece by piece, you gain deep insight into what makes this framework tick. Say goodbye to fixing problems by trial and error and hello to reasoning your way through them.

Anton's OpenGL 4 Tutorials


Anton Gerdelan - 2014
    It would suit anyone learning 3d programming that needs a practical guide with some help for common problems. The material is often used in this way by university courses and hobbyists. This book is a collection of worked-through examples of common real-time rendering techniques as used in video games or student projects. There are also some chapters or short articles for Tips and Tricks - not-so-obvious techniques that can add a lot of value to projects or make it easier to find problems. The idea is to be something like a lab manual - to get you going and over the trickier and more confusing hurdles presented by the API.

Learning JavaScript Data Structures and Algorithms


Loiane Groner - 2014
    Programming logic is the only thing you need to know to start having fun with algorithms.In DetailA data structure is a particular way of organizing data in a computer to utilize resources efficiently. Data structures and algorithms are the base of every solution to any programming problem.This book begins by covering the basics of the JavaScript language and then moves on to discuss the most important data structures such as array, queue, stack, and linked list. You will also gain an in-depth knowledge of how hash tables and set data structure function. After this, you will be taught what trees are, and how to use the binary tree and the binary search tree.In subsequent chapters, you will learn about graphs, DFS, and BFS. Finally, we will round off by learning how to differentiate between various searching and sorting algorithms such as sequential search, binary search, quick sort, bubble sort, and so on, and how to implement them. Towards the end of the book, you will also be introduced to dynamic programming.

Factory Physics for Managers: How Leaders Improve Performance in a Post-Lean Six SIGMA World


Edward S. Pound - 2014
    Most every company uses the common continuous improvement initiatives. This highly accessible guide addresses but goes beyond other business approaches such as Lean, Six Sigma, and Theory of Constraints by offering a customizable plan that you can apply to any manufacturing-based industry or supply chain.You'll discover invaluable tools for developing operations strategy and driving execution by using practical science to assess your procedures, target problems, and find solutions. You'll learn essential life lessons from the best--and worst--practices of corporate leaders like Toyota and Boeing. You'll find ingenious new ways to improve your leadership by predictively managing the tradeoffs that every operation faces--whether it's more or less inventory or capacity, higher or lower customer service, or more or fewer products.Using this approach, you can tackle these natural conflicts in business through a practical, comprehensive science of operations.Factory Physics for Managers makes it easier to choose and execute the best strategy for better productivity--and even bigger profits.Praise for Factory Physics for Managers"Factory Physics for Managers is a proven path to flawless execution and results. Leading vs. following in our industry is predicated on the relentless pursuit of putting order to chaos. Factory Physics science and CSUITE software have given our organization the ability to plan, predict, model, and execute based on explosive growth and rapid-fire, dynamic changes to our business model. In our case, history is not a good predictor of the future, so we need to deploy our resources wisely, and the Factory Physics approach has helped us do just that." --Larry Doerr, COO, Stratasys"Shows how the science behind Lean initiatives can greatly improve results in terms of productivity and resources." --Bill Fierle, Vice President and General Manager, TopWorx, Emerson"Brings powerful, accessible science to operations management. The Factory Physics playbook enables me to lead the harnessing of our data more effectively for modeling, planning, control, and feedback. Armed with the concepts, common language, and tools in this book, I can partner with operations' leadership to impact the bottom line." --Jeffrey Korman, CIO, Hu-Friedy Mfg LLC, Chicago

Learning Computer Architecture with Raspberry Pi


Eben Upton - 2014
    Now, a second revolution in computing is beginning with the Raspberry Pi. "Learning Computer Architecture with the Raspberry Pi" is the premier guide to understanding the components of the most exciting tech product available. Thanks to this book, every Raspberry Pi owner can understand how the computer works and how to access all of its hardware and software capabilities.Since it was released on 2012, over 2 1/2 million Raspberry Pi units have been sold. Now, students, hackers, and casual users alike can discover how computers work with "Learning Computer Architecture with the Raspberry Pi." This book explains what each and every hardware component does, how they relate to one another, and how they correspond to the components of other computing systems. You'll also learn how programming works and how the operating system relates to the Raspberry Pi's physical components. Co-authored by Eben Upton, one of the creators of the Raspberry Pi, this is a companion volume to the "Raspberry Pi User Guide" An affordable solution for learning about computer system design considerations and experimenting with low-level programming Understandable descriptions of the functions of memory storage, Ethernet, cameras, processors, and more Gain knowledge of computer design and operation in general by exploring the basic structure of the Raspberry PiThe Raspberry Pi was created to bring forth a new generation of computer scientists, developers, and architects who understand the inner workings of the computers that have become essential to our daily lives. "Learning Computer Architecture with the Raspberry Pi" is your gateway to the world of computer system design.

Social Engineering and Nonverbal Behavior Set


Christopher Hadnagy - 2014
    The author helps readers understand how to identify and detect social engineers and scammers by analyzing their non-verbal behavior. Unmasking the Social Engineer shows how attacks work, explains nonverbal communications, and demonstrates with visuals the connection of non-verbal behavior to social engineering and scamming.Clearly combines both the practical and technical aspects of social engineering securityReveals the various dirty tricks that scammers usePinpoints what to look for on the nonverbal side to detect the social engineer

Iron-Clad Java: Building Secure Web Applications


Jim Manico - 2014
    Iron-Clad Java presents the processes required to build robust and secure applications from the start and explains how to eliminate existing security bugs. Best practices for authentication, access control, data protection, attack prevention, error handling, and much more are included. Using the practical advice and real-world examples provided in this authoritative resource, you'll gain valuable secure software engineering skills.Establish secure authentication and session management processesImplement a robust access control design for multi-tenant web applicationsDefend against cross-site scripting, cross-site request forgery, and clickjackingProtect sensitive data while it is stored or in transitPrevent SQL injection and other injection attacksEnsure safe file I/O and uploadUse effective logging, error handling, and intrusion detection methodsFollow a comprehensive secure software development lifecycleIn this book, Jim Manico and August Detlefsen tackle security education from a technical perspective and bring their wealth of industry knowledge and experience to application designers. A significant amount of thought was given to include the most useful and relevant security content for designers to defend their applications. This is not a book about security theories, it's the hard lessons learned from those who have been exploited, turned into actionable items for application designers, and condensed into print. ―From the Foreword by Milton Smith, Oracle Senior Principal Security Product Manager, Java

Modernizing Legacy Applications in PHP


Paul M. Jones - 2014
    Get your code under control in a series of small, specific steps.As you apply these incremental refactorings in order, each one building on the last, you will steadily transform your legacy PHP application from a spaghetti mess to an organized, modern, testable application, free of globals and mixed concerns.

IOS Programming: The Big Nerd Ranch Guide


Joe Conway - 2014
    After completing this book, you will have the know-how and the confidence you need to tackle iOS projects of your own. Based on Big Nerd Ranch's popular iOS Bootcamp course and its well-tested materials and methodology, this bestselling guide teaches iOS concepts and coding in tandem. The result is instruction that is relevant and useful.Throughout the book, the authors explain what's important and share their insights into the larger context of the iOS platform. You get a real understanding of how iOS development works, the many features that are available, and when and where to apply what you've learned.Here are some of the topics covered:Xcode 5, Instruments, and Storyboards Building interfaces using the iOS 7 aesthetic ARC and strong and weak references Handling touch events and gestures Toolbars, navigation controllers, and split view controllers Using Auto Layout to scale user interfaces Using Dynamic Type to scale fonts Localization and Internationalization Block syntax and use Saving/loading data: Archiving and Core Data Core Location and Map Kit Communicating with web services using JSON Using the Model-View-Controller-Store design pattern

Android Studio Development Essentials


Neil Smyth - 2014
    For coverage of the Android 6 SDK and the latest version of Android Studio we recommend Android Studio Development Essentials: Android 6 Edition.Beginning with the basics, this book provides an outline of the steps necessary to set up an Android Studio based development and testing environment.An overview of Android Studio is included covering areas such as tool windows, the code editor and the user interface Designer tool. An introduction to the architecture of Android is followed by an in-depth look at the design of Android applications and user interfaces using Android Studio.More advanced topics such as database management, content providers and intents are also covered, as are touch screen handling, gesture recognition, camera access and the playback and recording of both video and audio. This edition of the book also covers features introduced with Android 4.4 including printing, transitions and cloud-based file storage.In addition to covering general Android development techniques, the book also includes Google Play specific topics such as implementing maps using the Google Maps Android API, in-app billing and submitting apps to the Google Play Developer Console.Chapters also cover advanced features of Android Studio such as Gradle build configuration and the implementation of build variants to target multiple Android device types from a single project code base.Assuming you already have some Java programming experience, are ready to download Android Studio and the Android SDK, have access to a Windows, Mac or Linux system and ideas for some apps to develop, you are ready to get started.

Black Hat Python: Python Programming for Hackers and Pentesters


Justin Seitz - 2014
    But just how does the magic happen?In Black Hat Python, the latest from Justin Seitz (author of the best-selling Gray Hat Python), you'll explore the darker side of Python's capabilities writing network sniffers, manipulating packets, infecting virtual machines, creating stealthy trojans, and more. You'll learn how to:Create a trojan command-and-control using GitHubDetect sandboxing and automate common malware tasks, like keylogging and screenshottingEscalate Windows privileges with creative process controlUse offensive memory forensics tricks to retrieve password hashes and inject shellcode into a virtual machineExtend the popular Burp Suite web-hacking toolAbuse Windows COM automation to perform a man-in-the-browser attackExfiltrate data from a network most sneakilyInsider techniques and creative challenges throughout show you how to extend the hacks and how to write your own exploits.When it comes to offensive security, your ability to create powerful tools on the fly is indispensable. Learn how in Black Hat Python."

Learning Concurrent Programming in Scala


Aleksandar Prokopec - 2014
    It starts by introducing you to the foundations of concurrent programming on the JVM, outlining the basics of the Java Memory Model, and then shows some of the classic building blocks of concurrency, such as the atomic variables, thread pools, and concurrent data structures, along with the caveats of traditional concurrency. It then walks you through different high-level concurrency abstractions, each tailored toward a specific class of programming tasks. Finally, the book presents an overview of when to use which concurrency library and demonstrates how they all work together.This book is a must-have tutorial for software developers aiming to write concurrent programs in Scala, or broaden their existing knowledge of concurrency.This book is intended for Scala programmers that have no prior knowledge about concurrent programming, as well as those seeking to broaden their existing knowledge about concurrency. Basic knowledge of the Scala programming language will be helpful. Readers with a solid knowledge in another programming language, such as Java, should find this book easily accessible.

Build Your Own Lisp


Daniel Holden - 2014
    In under 1000 lines of code you’ll start building your very own programming language, and in doing so learn how to program in C, one of the world’s most important programming languages. Along the way we’ll learn about the weird and wonderful nature of Lisps, the unique techniques behind function programming, the methods used to concisely solve problems, and the art of writing beautiful code. Build Your Own Lisp is a fun and creative journey through a fascinating area of computer science, and an essential read for any programmer, new or old!

Practical Data Science with R


Nina Zumel - 2014
    It explains basic principles without the theoretical mumbo-jumbo and jumps right to the real use cases you'll face as you collect, curate, and analyze the data crucial to the success of your business. You'll apply the R programming language and statistical analysis techniques to carefully explained examples based in marketing, business intelligence, and decision support.Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.About the BookBusiness analysts and developers are increasingly collecting, curating, analyzing, and reporting on crucial business data. The R language and its associated tools provide a straightforward way to tackle day-to-day data science tasks without a lot of academic theory or advanced mathematics.Practical Data Science with R shows you how to apply the R programming language and useful statistical techniques to everyday business situations. Using examples from marketing, business intelligence, and decision support, it shows you how to design experiments (such as A/B tests), build predictive models, and present results to audiences of all levels.This book is accessible to readers without a background in data science. Some familiarity with basic statistics, R, or another scripting language is assumed.What's InsideData science for the business professionalStatistical analysis using the R languageProject lifecycle, from planning to deliveryNumerous instantly familiar use casesKeys to effective data presentationsAbout the AuthorsNina Zumel and John Mount are cofounders of a San Francisco-based data science consulting firm. Both hold PhDs from Carnegie Mellon and blog on statistics, probability, and computer science at win-vector.com.Table of ContentsPART 1 INTRODUCTION TO DATA SCIENCEThe data science processLoading data into RExploring dataManaging dataPART 2 MODELING METHODSChoosing and evaluating modelsMemorization methodsLinear and logistic regressionUnsupervised methodsExploring advanced methodsPART 3 DELIVERING RESULTSDocumentation and deploymentProducing effective presentations

System Center 2012 R2 Configuration Manager: Mastering the Fundamentals


Kent Agerlund - 2014
    This is the ultimate source for the working IT Professional who wants to design and implement System Center 2012 R2 Configuration Manager in a midsize- or small-business environment. Enterprise administrators also will find a lot of inspiration, as many of the features and scenarios discussed fit all three environments. The book is packed with real-world scenarios taken from 17 years of experience with SMS and ConfigMgr projects. By following the book from A-Z, you will end up with a ConfigMgr environment that is based on best practices and production ready.

The Cucumber for Java Book: Behaviour-Driven Development for Testers and Developers


Seb Rose - 2014
    Cucumber - the popular, open-source tool that helps teams communicate more effectively with their customers - now has a Java version, and our bestselling Cucumber Book has been updated to match. The Cucumber for Java Book has the same great advice about how to deliver rock-solid applications collaboratively, but with all code completely rewritten in Java. New chapters cover features unique to the Java version of Cucumber, and reflect insights from the Cucumber team since the original book was published.Until now it's been difficult for teams developing Java applications to learn how to benefit from Behaviour-Driven Development (BDD). This book changes all that by describing in detail how to use Cucumber to harness the power of plain language specifications in your development process.In part 1, you'll discover how to use Cucumber's Gherkin DSL to describe the behavior your customers want from the system. You'll also learn how to write Java code that interprets those plain language specifications and checks them against your application. Part 2 guides you through a worked example, using Spring, MySQL, and Jetty. Enhanced chapters teach you how to use Selenium to drive your application and handle asynchronous Ajax calls, and new chapters cover Dependency Injection (DI) and advanced techniques to help keep your test suites fast. Part 3 shows you how to integrate Cucumber with your Continuous Integration (CI) system, work with a REST web service, and even use BDD with legacy applications.Written by the creator of Cucumber and two of its most experienced users and contributors, The Cucumber for Java Book is an authoritative guide that will give you and your team all the knowledge you need to start using Cucumber with confidence.

Text Analysis with R for Students of Literature


Matthew L. Jockers - 2014
    Computation provides access to information in text that we simply cannot gather using traditional qualitative methods of close reading and human synthesis. "Text Analysis with R for Students of Literature" provides a practical introduction to computational text analysis using the open source programming language R. R is extremely popular throughout the sciences and because of its accessibility, R is now used increasingly in other research areas. Readers begin working with text right away and each chapter works through a new technique or process such that readers gain a broad exposure to core R procedures and a basic understanding of the possibilities of computational text analysis at both the micro and macro scale. Each chapter builds on the previous as readers move from small scale "microanalysis" of single texts to large scale "macroanalysis" of text corpora, and each chapter concludes with a set of practice exercises that reinforce and expand upon the chapter lessons. The book's focus is on making the technical palatable and making the technical useful and immediately gratifying.

Introduction to Modern Cryptography (Chapman & Hall/CRC Cryptography and Network Security Series)


Jonathan Katz - 2014
    Introduction to Modern Cryptography provides a rigorous yet accessible treatment of this fascinating subject. The authors introduce the core principles of modern cryptography, with an emphasis on formal definitions, clear assumptions, and rigorous proofs of security. The book begins by focusing on private-key cryptography, including an extensive treatment of private-key encryption, message authentication codes, and hash functions. The authors also present design principles for widely used stream ciphers and block ciphers including RC4, DES, and AES, plus provide provable constructions of stream ciphers and block ciphers from lower-level primitives. The second half of the book covers public-key cryptography, beginning with a self-contained introduction to the number theory needed to understand the RSA, Diffie-Hellman, and El Gamal cryptosystems (and others), followed by a thorough treatment of several standardized public-key encryption and digital signature schemes. Integrating a more practical perspective without sacrificing rigor, this widely anticipated Second Edition offers improved treatment of: Stream ciphers and block ciphers, including modes of operation and design principles Authenticated encryption and secure communication sessions Hash functions, including hash-function applications and design principles Attacks on poorly implemented cryptography, including attacks on chained-CBC encryption, padding-oracle attacks, and timing attacks The random-oracle model and its application to several standardized, widely used public-key encryption and signature schemes Elliptic-curve cryptography and associated standards such as DSA/ECDSA and DHIES/ECIES Containing updated exercises and worked examples, Introduction to Modern Cryptography, Second Edition can serve as a textbook for undergraduate- or graduate-level courses in cryptography, a valuable reference for researchers and practitioners, or a general introduction suitable for self-study.

Networked Audiovisual Systems


Brad Grimes - 2014
    Each chapter features diagrams, photos, notes, chapter reviews, and end-of-chapter questions with in-depth explanations. In accordancewith InfoComm's performance standards for the AV industry as they relate to networking, this book serves as both an on-the-job reference and a study tool for the Certified Technology Specialist (CTS) exams.Networked AV Systems covers: Network classifications, topologies, architectures, andstandardsLayers of a networkBandwidth, encoding, and transportNetwork building blocksDesigning a network for AV systemsEthernet and AVBNetwork addressingSubnetting: networking AV devices togetherProtocols, ports, and documenting AV devicesAudio and video streamingDigital signageConferencingSecure remote management and monitoringService level agreementsNetwork securityTroubleshooting networked systems

Networking for VMware Administrators (VMware Press Technology)


Christopher Wahl - 2014
    

Learn Version Control with Git: A step-by-step course for the complete beginner


Tobias Günther - 2014
    Because it helps you produce better results and makes collaboration easy.Git is one of those version control systems - but not just any: Top projects like the Linux Kernel, Ruby On Rails, or jQuery use Git as their version control system of choice. Around the world, in teams large and small, Git is an essential part of the tool chain."Learn Version Control with Git" is a beginner-friendly step-by-step course. The book doesn't require a deep technical background. Instead, it's aimed at beginners of version control and/or programming, designers, and project managers.Basic topics - from installing Git to a "Command Line 101" - are covered, not expected. While learning all the key features such as Branching and Merging, the book will also explain advanced topics as well as tools and services. Accompanying charts & graphics make it easy to understand even complex facts and workflows.Version control is an essential tool if you want to be successful in today's web & software world. This book will help you master it with ease.

Fire in the Valley: The Birth and Death of the Personal Computer


Michael Swaine - 2014
    Obsessed with the idea of getting computer power into their own hands, they launched from their garages a hobbyist movement that grew into an industry, and ultimately a social and technological revolution. What they did was invent the personal computer: not just a new device, but a watershed in the relationship between man and machine. This is their story.Fire in the Valley is the definitive history of the personal computer, drawn from interviews with the people who made it happen, written by two veteran computer writers who were there from the start. Working at InfoWorld in the early 1980s, Swaine and Freiberger daily rubbed elbows with people like Steve Jobs and Bill Gates when they were creating the personal computer revolution.A rich story of colorful individuals, Fire in the Valley profiles these unlikely revolutionaries and entrepreneurs, such as Ed Roberts of MITS, Lee Felsenstein at Processor Technology, and Jack Tramiel of Commodore, as well as Jobs and Gates in all the innocence of their formative years.This completely revised and expanded third edition brings the story to its completion, chronicling the end of the personal computer revolution and the beginning of the post-PC era. It covers the departure from the stage of major players with the deaths of Steve Jobs and Douglas Engelbart and the retirements of Bill Gates and Steve Ballmer; the shift away from the PC to the cloud and portable devices; and what the end of the PC era means for issues such as personal freedom and power, and open source vs. proprietary software.

Brown Dogs and Barbers


Karl Beecher - 2014
    That trail includes grand dreams, intricate puzzles, mind-stretching concepts and a cast of colourful characters.Brown Dogs and Barbers is a story about computer science. Join me on a journey through the story of computing, discover just what makes the machines tick, learn why computers work the way they do and meet the cast of characters responsible for it all.

High Performance Django


Peter Baumgartner - 2014
    There are tutorials and books that literally walk you through the process of getting your first site up and running. Taking that code from your laptop to the real world is like opening pandora’s box. Should I use Apache, Gunicorn, uWSGI or something else? Where should I use caching to make things faster? How do I know if my database has the right indexes or if it needs more resources? Do I need a NoSQL database like MongoDB? The site runs great on my laptop. Why is it so slow in production? How many servers does my site need? How big should they be? What is the 20% effort that will solve 80% of my performance problems?If you’ve asked yourself any of these questions, you’re like most Django developers. Heck, we were asking some of the same questions when we started working with Django 7 years ago. Since then we’ve built, deployed, and maintained a lot of Django sites. Everything from realtime applications to large-scale CMSes with tons of traffic. Quite frankly, we made a lot of mistakes, but we learned a lot too.High Performance Django is the book we wish we had when we got started. It will give you a repeatable blueprint for building and deploying fast, scalable Django sites.

MEAN Web Development


Amos Q. Haviv - 2014
    What You Will Learn Set up and run an Express application Use MongoDB to store and retrieve your application's data Connect your Express application to MongoDB and use the Mongoose module Manage your users' authentication and offer them diverse login options using Passport Structure and use an AngularJS application in your MEAN project Use Socket.io to create real-time communication between your client and server Test your application's Express and AngularJS entities Develop your MEAN application more efficiently using popular third-party tools In Detail The MEAN stack is a collection of the most popular modern tools for web development; it comprises MongoDB, Express, AngularJS, and Node.js.Starting with MEAN core frameworks, this project-based guide will explain the key concepts of each framework, how to set them up properly, and how to use popular modules to connect it all together. By following the real-world examples shown in this tutorial, you will scaffold your MEAN application architecture, add an authentication layer, and develop an MVC structure to support your project development. Finally, you will walk through the different tools and frameworks that will help expedite your daily development cycles.Watch how your application development grows by learning from the only guide that is solely orientated towards building a full, end-to-end, real-time application using the MEAN stack!

An Introduction to R for Spatial Analysis and Mapping


Chris Brunsdon - 2014
    This book provides an introduction to the use of R for spatial statistical analysis, geocomputation and the analysis of geographical information for researchers collecting and using data with location attached, largely through increased GPS functionality. Brunsdon and Comber take readers from 'zero to hero' in spatial analysis and mapping through functions they have developed and compiled into R packages. This enables practical R applications in GIS, spatial analyses, spatial statistics, mapping, and web-scraping. Each chapter includes: Example data and commands for exploring it Scripts and coding to exemplify specific functionality Advice for developing greater understanding - through functions such as locator(), View(), and alternative coding to achieve the same ends Self-contained exercises for students to work through Embedded code within the descriptive text. This is a definitive 'how to' that takes students - of any discipline - from coding to actual applications and uses of R.

Getting Started with Tmux


Victor Quinn J.D. - 2014
    Some familiarity with the terminal is useful but no prior experience with tmux or other terminal multiplexers (such as GNU Screen) is required.

Sketch of the Analytical Engine Invented by Charles Babbage


L.F. Menabrea - 2014
    Her notes on the engine include what is recognised as the first algorithm intended to be carried out by a machine. Because of this, she is often described as the world's first computer programmer. This book published in 1842 has been reformatted for the Kindle and may contain an occasional defect from the original publication or from the reformatting.

BDD in Action: Behavior-driven development for the whole software lifecycle


John Ferguson Smart - 2014
    First you'll learn how to apply BDD to requirements analysis to define features that focus your development efforts on underlying business goals. Then, you'll discover how to automate acceptance criteria and use tests to guide and report on the development process. Along the way, you'll apply BDD principles at the coding level to write more maintainable and better documented code.Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.About the TechnologyYou can't write good software if you don't understand what it's supposed to do. Behavior-Driven Development (BDD) encourages teams to use conversation and concrete examples to build up a shared understanding of how an application should work and which features really matter. With an emerging body of best practices and sophisticated new tools that assist in requirement analysis and test automation, BDD has become a hot, mainstream practice.About the BookBDD in Action teaches you BDD principles and practices and shows you how to integrate them into your existing development process, no matter what language you use. First, you'll apply BDD to requirements analysis so you can focus your development efforts on underlying business goals. Then, you'll discover how to automate acceptance criteria and use tests to guide and report on the development process. Along the way, you'll apply BDD principles at the coding level to write more maintainable and better documented code. No prior experience with BDD is required.What's InsideBDD theory and practiceHow BDD will affect your teamBDD for acceptance, integration, and unit testingExamples in Java, .NET, JavaScript, and moreReporting and living documentationAbout the AuthorJohn Ferguson Smart is a specialist in BDD, automated testing, and software lifecycle development optimization. Table of ContentsPART 1: FIRST STEPSBuilding software that makes a differenceBDD—the whirlwind tourPART 2: WHAT DO I WANT? DEFINING REQUIREMENTS USING BDDUnderstanding the business goals: Feature Injection and related techniquesDefining and illustrating featuresFrom examples to executable specificationsAutomating the scenariosPART 3: HOW DO I BUILD IT? CODING THE BDD WAYFrom executable specifications to rock-solid automated acceptance testsAutomating acceptance criteria for the UI layerAutomating acceptance criteria for non-UI requirementsBDD and unit testingPART 4: TAKING BDD FURTHERLiving Documentation: reporting and project managementBDD in the build process

2600 Magazine: The Hacker Quarterly - Mac/PC - Spring 2014


2600 Magazine - 2014
    Published by hackers since 1984, 2600 is a true window into the minds of some of today's most creative and intelligent people. The de facto voice of a new generation, this publication has its finger on the pulse of the ever-changing digital landscape. Available for the first time in a digital edition, 2600 continues to bring unique voices to an ever growing international community interested in privacy issues, computer security, and the digital underground.

Really Understand Binary


Rex A. Barzee - 2014
     The binary number system (also called base 2) is used by computers to store numbers and to perform arithmetic. A software developer that understands binary will write code that compensates for the limitations a computer has when doing arithmetic. A network analyst will use binary to divide and configure networks with subnet masks. A security analyst will use binary to understand data encryption and to analyze attacks. This book will help you really understand binary by comparing it to what you already know in base 10. From this book you will learn 1. How to easily convert between binary, hexadecimal, and decimal 2. How to add, negate, subtract, divide, and multiply in binary 3. How a computer multiplies integers in binary 4. What the binary operators do: left shift, unsigned right shift, signed right shift, not, and, or, exclusive or 5. How IEEE 754 binary floating point numbers represent real base 10 numbers

Bootstrapping Machine Learning


Louis Dorard - 2014
    By analyzing data, computers are able to "learn" and generalize from examples of things happening in the real world. They can make predictions and answer questions such as "How much should I price this product?" and "Which type of document is this?".Prediction APIs are making Machine Learning accessible to everyone and this book is the first that teaches how to use them. You will learn the possibilities offered by these APIs, how to formulate your own Machine Learning problem, and what are the key concepts to grasp - not how algorithms work, so it doesn't take a university degree to understand.

Ivor Horton's Beginning Visual C++ 2013


Ivor Horton - 2014
    In "Ivor Horton's Beginning Visual C++ 2013," Horton not only guides you through the fundamentals of the standard C++ language, but also teaches you how C++ is used in the latest Visual Studio 2013 environment. Visual Studio 2013 includes major changes to the IDE and expanded options for C++ coding. "Ivor Horton's Beginning Visual C++ 2013" will teach you the latest techniques to take your Visual C++ coding to an all-new level.C++ language and library changes supported under Visual Studio 2013IDE-specific changes for code formatting and debuggingChanges to the C++ Standard Language for both C++ 11 and the new C++ 14 And moreHorton introduces you to both Standard C++ and Visual C++ so you can build any component your app requires. "Ivor Horton's Beginning Visual C++ 2013" is an indispensable guidebook for any new programmer, and contains plenty of exercises and solutions to help programmers of any level master the important concepts quickly and easily.

Mastering JavaServer Faces 2.2


Anghel Leonard - 2014
    If you are a web developer who uses JSF, this is the book for you. Catering to an intermediate-advanced audience, the book assumes you have fundamental knowledge of JSF. It is intended for the developer who wants to improve their skills with the combined power of JSF 2.0, 2.1, and 2.2.

Java Ee 7: The Big Picture


Danny Coward - 2014
    In this authoritative guide, Java expert Danny Coward walks you through the code, applications, and frameworks that power the platform. Take full advantage of the robust capabilities of Java EE 7, increase your productivity, and meet enterprise demands with help from this Oracle Press resource.Explore the features of the Java servlet model and Java servlet APICreate dynamic web content with JavaServer Pages and JavaServer FacesBuild websites for nonbrowser clients with JAX-RSPush data to web clients using Java WebSocketsSecure web applicationsWork with web component APIsMaximize enterprise beans for multithreading, asynchronous processes, transactions, and moreAccess relational databases with the Java Database Connectivity APIs and the Java Persistence APIUnderstand the packaging and deployment mechanisms of Java EE applicationsWork with Java EE Contexts and Dependency InjectionSecure enterprise beans in a Java EE applicationEnable parallel processing with Java EE concurrency APIs

An Engineer's Guide to Solving Problems


Bob Schmidt - 2014
    An Engineer's Guide to Solving Problems targets engineering students and fresh graduates.The transition from engineering school to real world problem solver can be rough. Suddenly, there is not just one correct response for a problem. There might be an infinite number of correct solutions, where some are simply better than others. Some problems are so layered and twisted that their solutions seem absurdly complex. Arm yourself for success with the methods in this book: The Five Questions every problem solver must answer. The best and worst ways to communicate your ideas. New ways to see what other observers miss. Mastering the right tools. Six warnings to heed when you think you have a solution. Critical challenge questions you must answer before you declare victory. Employers and customers cherish engineers who consistently meet their toughest challenges.  This book delivers simple methods, practical advice, and entertaining stories to help you sharpen your skills. This book is intended for mature readers.  The author occasionally uses strong language to humorous effect or makes references not intended for children.The Second Edition includes some updates plus a new cover and shorter title. The first edition was originally published as The Dog Barks When the Phone Rings: An Engineer's Guide to Solving Problems.

High Availability for the LAMP Stack: Eliminate Single Points of Failure and Increase Uptime for Your Linux, Apache, MySQL, and PHP Based Web Applications


Jason Cannon - 2014
    This step-by-step guide teaches you everything you need to know in order to eliminate single points of failure for your Linux, Apache, MySQL, and PHP based web applications.Do you wish you could ensure your web site was up all the time and finally enjoy a peaceful night's sleep?Do you want to be able to scale without downtime and handle unexpected surges of traffic?Do you want a solution that just works without spending weeks testing various combinations of technologies and software?Do you want someone to lay it all out for you and walk you through an entire deployment?If so, you're in the right place... I understand, because I've been there. I know what it's like to be woken up in the middle of the night when a web server goes down. I don't know about you, but I'm fairly grumpy at 2:47 A.M. when something is broke and I'm the one that has to fix it.That's why I strive to eliminate single points of failure and ensure service availability. I would much rather plan for failure ahead of time than have to react to it. If you have a robust design that's easy to support you can repair any failures at your convenience instead of trying to cobble together a makeshift solution in the middle of the night.I've spent countless hours designing, testing, and implementing high availability solutions for a wide range of Linux based services during my career. I've put together a well designed, well tested solution for the LAMP (Linux, Apache, MySQL, PHP) stack that easily scales to support an increasing number of users all the while decreasing downtime. I've taken each possible single point of failure into account from the obvious ones to the less than obvious edge cases you'll need to cover in order to have a truly robust design. This architecture and design: Works on physical servers. If you're running on bare metal, this design will work for you. Works in virtual environments such as VMWare, VirtualBox, Ovirt, Red Hat Enterprise Virtualization (RHEV), KVM, and Xen. Works in the cloud -- You'll learn about the important nuances for running in the cloud. This design works whether you're using Amazon Web Services (AWS), Rackspace Cloud, or another provider. Scales without downtime…. add more servers or resources without users even noticing. Works with custom written web sites and applications that run on the LAMP stack. Supports popular open source web applications such as WordPress, Drupal, Joomla, MediaWiki, phpBB, Redmine, SugarCRM, and more. This demonstrates everything step-by-step... This is not just a design, though. It's an entire book complete with lessons and demonstrations you can use on actual Linux servers. In the book I'll be performing the demonstrations on Ubuntu servers, but the concepts are the same no matter if you're using RedHat Enterprise Linux, CentOS, or another distribution. The only real difference is the couple of commands you'll use to perform some of the software installations. The design and configurations remain the same. Apply what you learn to other situations Even though this course is targeted directly at the LAMP stack (Linux, Apache, MySQL, PHP), the concepts and techniques presented can be reused in a variety of other situations.

Logic for Problem Solving, Revisited


Robert Kowalski - 2014
    Originally published in 1979, this now classic text was the first comprehensive attempt to define the scope of logic for problem solving. In this extended edition, Robert Kowalski revisits his classic text in the light of subsequent developments in a substantial commentary of fifty pages.This work investigates the application of logic to problem-solving and computer programming. It assumes no previous knowledge of these fields, and may be appropriate therefore as an introduction to logic, the theory of problem-solving, and computer programming. At the focal point is Computational Logic. It centers around the famous slogan: Algorithm = Logic + Control, which was coined by the author and is explained in this book. According to this view, an algorithm consists of a problem description (the logic part) and a strategy to perform useful computations on this description (the control part). This separation of concerns ideally leads to declarative programs that are simple to develop, clear to understand and easy to maintain.

jQuery UI in Action


T.J. Vantoll - 2014
    By working through numerous engaging examples, you'll move quickly from placing a datepicker on the page to building a complete user interface that includes features like a contact form and shopping cart. You'll master jQuery UI's five main interactions—draggable, droppable, resizable, selectable, and sortable—and learn UI techniques that work across all devices.Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.About the BookYou're only one tag away from richer user interfaces — ‹script src="jquery-ui.js"›. The jQuery UI library simplifies web UI development by providing robust widgets, interactions, and effects you can use immediately. It includes datepickers, autocompletes, tooltips, and a whole lot more. And, jQuery UI's powerful widget factory makes it a snap to customize existing components to meet your needs.jQuery UI in Action is a practical guide to using and customizing jQuery UI library components. By working through numerous examples, you'll quickly master jQuery UI's twelve widgets and five interactions—draggable, droppable, resizable, selectable, and sortable. The engaging examples illustrate techniques that work across all devices. You'll use the widget factory to create reusable plugins and discover jQuery UI's CSS theming system that allows you to create a custom, cohesive look for your sites and your applications.Written for front-end developers and web designers with a basic understanding of jQuery.What's InsideCreate interactions that work on any deviceCustomizable widgets for web and mobile appsWritten by a member of the core jQuery UI teamCovers jQuery UI 1.11About the AuthorA professional web developer, TJ VanToll is a member of the jQuery UI core team.Table of ContentsPART 1 MEET JQUERY UIIntroducing jQuery UIEnhancing UIs with widgetsPART 2 JQUERY UI COREBuilding complex web forms with jQuery UIEnhancing interfaces with layout and utility widgetsAdding interaction to your interfacesCreating rich animations with effectsTheming and styling applications with jQuery UIPART 3 CUSTOMIZATION AND ADVANCED USAGEUsing the widget factory to build stateful pluginsExtending widgets with the widget factoryPreparing your application for productionBuilding a flight-search applicationUnder the hood of jQuery UI

Varieties of Logic


Stewart Shapiro - 2014
    Logical relativism is a pluralism according to which validity and logical consequence are relative to something. In Varieties of Logic, Stewart Shapiro develops several ways in which one can be apluralist or relativist about logic. One of these is an extended argument that words and phrases like valid and logical consequence are polysemous or, perhaps better, are cluster concepts. The notions can be sharpened in various ways. This explains away the debates in the literature betweeninferentialists and advocates of a truth-conditional, model-theoretic approach, and between those who advocate higher-order logic and those who insist that logic is first-order.A significant kind of pluralism flows from an orientation toward mathematics that emerged toward the end of the nineteenth century, and continues to dominate the field today. The theme is that consistency is the only legitimate criterion for a theory. Logical pluralism arises when one considers anumber of interesting and important mathematical theories that invoke a non-classical logic, and are rendered inconsistent, and trivial, if classical logic is imposed. So validity is relative to a theory or structure.The perspective raises a host of important questions about meaning. The most significant of these concern the semantic content of logical terminology, words like 'or', 'not', and 'for all', as they occur in rigorous mathematical deduction. Does the intuitionistic 'not', for example, have the samemeaning as its classical counterpart? Shapiro examines the major arguments on the issue, on both sides, and finds them all wanting. He then articulates and defends a thesis that the question of meaning-shift is itself context-sensitive and, indeed, interest-relative. He relates the issue to someprominent considerations concerning open texture, vagueness, and verbal disputes.Logic is ubiquitous. Whenever there is deductive reasoning, there is logic. So there are questions about logical pluralism that are analogous to standard questions about global relativism. The most pressing of these concerns foundational studies, wherein one compares theories, sometimes withdifferent logics, and where one figures out what follows from what in a given logic. Shapiro shows that the issues are not problematic, and that is usually easy to keep track of the logic being used and the one mentioned.

GPU Pro 5: Advanced Rendering Techniques


Wolfgang Engel - 2014
    It explores rasterization of liquids, ray tracing of art assets that would otherwise be used in a rasterized engine, physically based area lights, volumetric light effects, screen-space grass, the usage of quaternions, and a quadtree implementation on the GPU. It also addresses the latest developments in deferred lighting on mobile devices, OpenCL optimizations for mobile devices, morph targets, and tiled deferred blending methods.In color throughout, GPU Pro5 is the only book that incorporates contributions from more than 50 experts who cover the latest developments in graphics programming for games and movies. It presents ready-to-use ideas and procedures that can help solve many of your daily graphics programming challenges. Example programs with source code are provided on the book's CRC Press web page.

The Science of Computing: Shaping a Discipline


Matti Tedre - 2014
    Why is it still so hard to define computing as an academic discipline? Is computing a scientific, mathematical, or engineering discipline? By describing the mathematical, engineering, and scientific traditions of computing, The Science of Computing: Shaping a Discipline presents a rich picture of computing from the viewpoints of the field’s champions. The book helps readers understand the debates about computing as a discipline. It explains the context of computing’s central debates and portrays a broad perspective of the discipline.The book first looks at computing as a formal, theoretical discipline that is in many ways similar to mathematics, yet different in crucial ways. It traces a number of discussions about the theoretical nature of computing from the field’s intellectual origins in mathematical logic to modern views of the role of theory in computing.The book then explores the debates about computing as an engineering discipline, from the central technical innovations to the birth of the modern technical paradigm of computing to computing’s arrival as a new technical profession to software engineering gradually becoming an academic discipline. It presents arguments for and against the view of computing as engineering within the context of software production and analyzes the clash between the theoretical and practical mindsets.The book concludes with the view of computing as a science in its own right—not just as a tool for other sciences. It covers the early identity debates of computing, various views of computing as a science, and some famous characterizations of the discipline. It also addresses the experimental computer science debate, the view of computing as a natural science, and the algorithmization of sciences.

Disaster Robotics


Robin R. Murphy - 2014
    This book offers the definitive guide to the theory and practice of disaster robotics. It can serve as an introduction for researchers and technologists, a reference for emergency managers, and a textbook in field robotics. Written by a pioneering researcher in the field who has herself participated in fifteen deployments of robots in disaster response and recovery, the book covers theory and practice, the history of the field, and specific missions.After a broad overview of rescue robotics in the context of emergency informatics, the book provides a chronological summary and formal analysis of the thirty-four documented deployments of robots to disasters that include the 2001 collapse of the World Trade Center, Hurricane Katrina, the 2010 Haiti earthquake, the Deepwater Horizon oil spill, the 2011 Japanese earthquake and tsunami, and numerous mining accidents. It then examines disaster robotics in the typical robot modalities of ground, air, and marine, addressing such topics as robot types, missions and tasks, and selection heuristics for each modality. Finally, the book discusses types of fieldwork, providing practical advice on matters that include collecting data and collaborating with emergency professionals.The field of disaster robotics has lacked a comprehensive overview. This book by a leader in the field, offering a unique combination of the theoretical and the practical, fills the gap.

Artificial Cognitive Systems: A Primer


David Vernon - 2014
    Cognition, both natural and artificial, is about anticipating the need for action and developing the capacity to predict the outcome of those actions. Drawing on artificial intelligence, developmental psychology, and cognitive neuroscience, the field of artificial cognitive systems has as its ultimate goal the creation of computer-based systems that can interact with humans and serve society in a variety of ways. This primer brings together recent work in cognitive science and cognitive robotics to offer readers a solid grounding on key issues.The book first develops a working definition of cognitive systems--broad enough to encompass multiple views of the subject and deep enough to help in the formulation of theories and models. It surveys the cognitivist, emergent, and hybrid paradigms of cognitive science and discusses cognitive architectures derived from them. It then turns to the key issues, with chapters devoted to autonomy, embodiment, learning and development, memory and prospection, knowledge and representation, and social cognition. Ideas are introduced in an intuitive, natural order, with an emphasis on the relationships among ideas and building to an overview of the field. The main text is straightforward and succinct; sidenotes drill deeper on specific topics and provide contextual links to further reading.

C# Game Programming Cookbook for Unity 3D


Jeff W. Murray - 2014
    Most scripts function within the game framework or in your own structures. The techniques and concepts discussed in the book give you a solid foundation in game development.The first ten chapters set up the flexible, reusable framework based in C# and suitable for all game types. The book also explains scripting of generic, reusable, and common functionality.The remainder of the text adds game-specific code to the framework to create four example games: a top-down arena shooter, a futuristic racing combat game, a tank arena deathmatch game, and a classic arcade-style vertical scrolling shoot 'em up. The games encompass artificial intelligence (path following, target chasing, and line-of-sight patrolling behaviors), game state control, wheel colliders, and weapon inventory management. The example files are available for download on the book's CRC Press web page.Reducing your recoding, repurposing, or adaptation time, this book provides script-based components that you can use to jump start your own projects. The book's modular components can be mixed and matched to build various kinds of video games for the Unity game engine.

OWASP Top 10: The Top 10 Most Critical Web Application Security Threats: Enhanced with Text Analytics and Content by PageKicker Robot Phil 73


Open Web Application Security Project - 2014
    NA

A Gentle Introduction to SuperCollider


Bruno Ruviaro - 2014
    Second edition, slightly revised.Ruviaro, Bruno, "A Gentle Introduction to SuperCollider (2nd edition)" (2014). Faculty Book Gallery. 91.http://scholarcommons.scu.edu/faculty...

Postgis Cookbook


Paolo Corti - 2014
    Each topic is explained and placed in context, and for the more inquisitive, there are more details of the concepts used. If you are a web developer or a software architect, especially in location-based companies, and want to expand the range of techniques you are using with PostGIS, then this book is for you. You should have some prior experience with PostgreSQL database and spatial concepts.

Essays on Gödel's Reception of Leibniz, Husserl, and Brouwer


Mark van Atten - 2014
    The author analyses the historical and systematic aspects of that project, and then evaluates it, with an emphasis on the second stage.The book is organised around Godel's use of Leibniz, Husserl and Brouwer. Far from considering past philosophers irrelevant to actual systematic concerns, Godel embraced the use of historical authors to frame his own philosophical perspective. The philosophies of Leibniz and Husserl define his project, while Brouwer's intuitionism is its principal foil: the close affinities between phenomenology and intuitionism set the bar for Godel's attempt to go far beyond intuitionism.The four central essays are Monads and sets', On the philosophical development of Kurt Godel', Godel and intuitionism', and Construction and constitution in mathematics'. The first analyses and criticises Godel's attempt to justify, by an argument from analogy with the monadology, the reflection principle in set theory. It also provides further support for Godel's idea that the monadology needs to be reconstructed phenomenologically, by showing that the unsupplemented monadology is not able to found mathematics directly. The second studies Godel's reading of Husserl, its relation to Leibniz' monadology, and its influence on his published writings. The third discusses how on various occasions Brouwer's intuitionism actually inspired Godel's work, in particular the Dialectica Interpretation. The fourth addresses the question whether classical mathematics admits of the phenomenological foundation that Godel envisaged, and concludes that it does not.The remaining essays provide further context. The essays collected here were written and published over the last decade. Notes have been added to record further thoughts, changes of mind, connections between the essays, and updates of references."

Automatic Speech Recognition: A Deep Learning Approach (Signals and Communication Technology)


Dong Yu - 2014
    This is the first automatic speech recognition book dedicated to the deep learning approach. In addition to the rigorous mathematical treatment of the subject, the book also presents insights and theoretical foundation of a series of highly successful deep learning models.

360� Industrial Design: Fundamentals of Analytic Product Design


Arman Emami - 2014
    What challenges are pace and complexity bringing for product design? Rapidly shrinking resources and ever-more-fierce global competition are in any case forcing us to rethink the entire design process. What significance do form, function, feel and appearance have? Is the only important factor the constant drive to make it new at all costs, or is the aim rather to marry the tried-and-tested and the innovative and establish an efficient link, a working relationship between them? Arman Emami has set out with the intention of writing short, clear and entertaining texts. The book comprises a comprehensive view of relevant matters relating to industrial design. Development steps from idea to mass production are described gradually and supported by illustrated examples of good practices. A working compendium not only for design students and young designers, but also a guide book for creative lateral thinkers, product and marketing managers and all those who are interested in intelligent design. Complex processes are displayed in an entertaining and easily understandable way.

Mathematics and Python Programming


J.C. Bautista - 2014
    All the programs and graphics of the book have been developed using free software, which you can obtain free and legally on the internet, so it is not necessary to buy any software. Python is currently the most popular language for teaching introductory computer science courses at top-ranked U.S. universities. You can freely write Python programs whether you are a Windows user or whether you prefer Mac or Linux. A free pdf excerpt is available at our website www.pysamples.com. The buyers of the book can also download the code of the Python programs. The book consists of a detailed introduction to Python, followed by ten chapters of mathematics with its corresponding Python programs, results and graphs.

JavaFX for Dummies


Barry Burd - 2014
    This accessible book highlights the most important features of this powerful graphics platform, giving you the tools to understand it quickly and easily! No experience with JavaFX? No problem. JavaFX For Dummies has been written especially for newbies and it also serves as a great reference resource for more experienced Java developers.Author Doug Lowe has been writing programming books for decades, and he brings his experience and passion to this guide, sharing his expert approach to coding using JavaFX. The book shows you how to work with JavaFX controls, how to enhance your scenic design, and also offers advice on how to make a splash with your programs. Then, the author wraps it all up with extra recommendations and resources to guide you as you move forward.Helps developers quickly learn to take advantage of JavaFX's lightweight, high-performance platform Highlights essential JavaFX features for simple coding that can be rolled out across multiple devices Instructs readers on methods for creating compelling, visually appealing applications Includes recommendations and resources for honing your JavaFX skills With JavaFX For Dummies, you'll be on your way to easier, more efficient coding for a variety of connected devices.

Git Version Control Cookbook


Aske Olsson - 2014
    If you are a software developer or a build and release engineer who uses Git in your daily work and want to take your Git knowledge to the next level, then this book is for you. To understand and follow the recipes included in this book, basic knowledge of Git command-line code is mandatory.

Statistical Analysis of Network Data with R (Use R!)


Eric D. Kolaczyk - 2014
    As such, network analysis is an important growth area in the quantitative sciences, with roots in social network analysis going back to the 1930s and graph theory going back centuries. Measurement and analysis are integral components of network research. As a result, statistical methods play a critical role in network analysis. This book is the first of its kind in network research. It can be used as a stand-alone resource in which multiple R packages are used to illustrate how to conduct a wide range of network analyses, from basic manipulation and visualization, to summary and characterization, to modeling of network data. The central package is igraph, which provides extensive capabilities for studying network graphs in R. This text builds on Eric D. Kolaczyk’s book Statistical Analysis of Network Data (Springer, 2009).

Optimizing software in C++


Agner Fog - 2014
    Topics include: The choice of platform and operating system. Choice of compiler and framework. Finding performance bottlenecks. The efficiency of different C++ constructs. Multi-core systems. Parallelization with vector operations. CPU dispatching. Efficient container class templates. Etc.

JavaFX For Dummies (For Dummies Series)


Doug Lowe - 2014
    This accessible book highlights the most important features of this powerful graphics platform, giving you the tools to understand it quickly and easily! No experience with JavaFX? No problem. JavaFX For Dummies has been written especially for newbies and it also serves as a great reference resource for more experienced Java developers. Author Doug Lowe has been writing programming books for decades, and he brings his experience and passion to this guide, sharing his expert approach to coding using JavaFX. The book shows you how to work with JavaFX controls, how to enhance your scenic design, and also offers advice on how to make a splash with your programs. Then, the author wraps it all up with extra recommendations and resources to guide you as you move forward. Helps developers quickly learn to take advantage of JavaFX's lightweight, high-performance platform Highlights essential JavaFX features for simple coding that can be rolled out across multiple devices Instructs readers on methods for creating compelling, visually appealing applications Includes recommendations and resources for honing your JavaFX skills With JavaFX For Dummies, you'll be on your way to easier, more efficient coding for a variety of connected devices.

It Interview Questions: A Primer for the It Job Interviews (Concepts, Problems and Interview Questions)


Narasimha Karumanchi - 2014
    This guide sets you up for success. Not only does it provide the most commonly asked interview questions and answers, but it also offers insight into the interview process in today's marketplace. This book is a comprehensive guide for experienced and first-time programmers alike. The book is specifically designed for freshers, who despite being brilliant at the technical aspects of the interview, tend to fail when it comes to soft skills and HR interviews. The book provides readers with a relevant blueprint when it comes to planning for pre-interview preparation. It provides candidates with guidelines on the preparation of their resumes and the format that should be followed. Table of Contents 1. Organization of Chapters17 2.Getting Ready22 3.Group Discussions37 4.Operating System Concepts54 5.C/C++/Java Interview Questions81 6.Scripting Languages157 7.Bitwise Hacking194 8.Concepts of Computer Networking203 9.Database Management Systems256 10.Brain Teasers271 11.Algorithms Introduction274 12.Recursion and Backtracking285 13.Linked Lists290 14.Stacks322 15.Queues336 16.Trees345 17.Priority Queues and Heaps397 18.Graph Algorithms407 19.Sorting417 20.Searching441 21.Hashing466 22.String Algorithms473 23.Algorithms Design Techniques479 24.Greedy Algorithms482 25.Divide and Conquer Algorithms486 26.Dynamic Programming489 27.Basics of Design Patterns496 28.Non-Technical Help505 29.Quantitative Aptitude Concepts511 30.Basics of Cloud Computing524 31.Miscellaneous Concepts539 32.Career Options559

Wildfly Performance Tuning


Arnold Johansson - 2014
    Anyone with an interest in learning more and improving the performance of a Java-based technology in general, all the way to WildFly in particular, will find this book useful.

PostGIS in Action


Regina O. Obe - 2014
    It first gives you a background in vector-, raster-, and topology-based GIS and then quickly moves into analyzing, viewing, and mapping data. This second edition covers PostGIS 2.0 and 2.1 series, PostgreSQL 9.1, 9.2, and 9.3 features, and shows you how to integrate with other GIS tools.Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.About the BookProcessing data tied to location and topology requires specialized know-how. PostGIS is a free spatial database extender for PostgreSQL, every bit as good as proprietary software. With it, you can easily create location-aware queries in just a few lines of SQL code and build the back end for a mapping, raster analysis, or routing application with minimal effort.PostGIS in Action, Second Edition teaches you to solve real-world geodata problems. It first gives you a background in vector-, raster-, and topology-based GIS and then quickly moves into analyzing, viewing, and mapping data. You'll learn how to optimize queries for maximum speed, simplify geometries for greater efficiency, and create custom functions for your own applications. You'll also learn how to apply your existing GIS knowledge to PostGIS and integrate with other GIS tools.Familiarity with relational database and GIS concepts is helpful but not required.What's InsideAn introduction to spatial databasesGeometry, geography, raster, and topology spatial types, functions, and queriesApplying PostGIS to real-world problemsExtending PostGIS to web and desktop applicationsUpdated for PostGIS 2.x and PostgreSQL 9.xAbout the AuthorsRegina Obe and Leo Hsu are database consultants and authors. Regina is a member of the PostGIS core development team and the Project Steering Committee.Table of ContentsPART 1 INTRODUCTION TO POSTGISWhat is a spatial database?Spatial data typesSpatial reference system considerationsWorking with real dataUsing PostGIS on the desktopGeometry and geography functionsRaster functionsPostGIS TIGER geocoderGeometry relationshipsPART 2 PUTTING POSTGIS TO WORKProximity analysisGeometry and geography processingRaster processingBuilding and using topologiesOrganizing spatial dataQuery performance tuningPART 3 USING POSTGIS WITH OTHER TOOLSExtending PostGIS with pgRouting and procedural languagesUsing PostGIS in web applications

Scala for Java Developers


Thomas Alexandre - 2014
    If you are a Java developer or a Java architect, working in Java EE-based solutions and want to start using Scala in your daily programming, this book is ideal for you. This book will get you up and running quickly by adopting a pragmatic approach with real-world code samples. No prior knowledge of Scala is required.

Agile Foundations: Principles, practices and frameworks


Peter Measey - 2014
    But to realise success, an Agile mindset needs to be adopted throughout an organisation. This book is aimed at those working in an Agile environment or wanting to understand Agile practices. Giving a comprehensive introduction to Agile principles and methodologies, it will enable the reader to apply core values and principles of Agile.

Advanced Python for Biologists


Martin O. Jones - 2014
    It starts with the basic Python knowledge outlined in Python for Biologists and introduces advanced Python tools and techniques with biological examples. You'll learn: - How to use object-oriented programming to model biological entities - How to write more robust code and programs by using Python's exception system - How to test your code using the unit testing framework - How to transform data using Python's comprehensions - How to write flexible functions and applications using functional programming - How to use Python's iteration framework to extend your own object and functions Advanced Python for Biologists is written with an emphasis on practical problem-solving and uses everyday biological examples throughout. Each section contains exercises along with solutions and detailed discussion.

Mastering D3.Js


Pablo Navarro Castillo - 2014
    Basic knowledge of D3 framework is expected. With real-world examples, you will learn how to structure your applications to create enterprise-level charts and interactive dashboards.

Git in Practice: Includes 66 Techniques


Mike McQuaid - 2014
    Git is a version control system designed to facilitate work among distributed teams. Git's decentralized architecture, in which each developer maintains a copy of the repository, means that branching and committing are lightning fast. Git manages complex code merges, task switching, and project branching with minimal ceremony, allowing the focus to be on the code instead of tedious administrative tasks."Git in Practice" is a collection of tested techniques that will optimize the way teams manage their development projects. It begins with a brief refresher of the core version control concepts needed when using Git and moves on to the high-value features readers may not have explored yet. Then, it digs into cookbook-style techniques like history visualization and advanced branching--each presented in a problem-solution-discussion format. Finally, the book shows readers how to use Git to its full potential through configuration, team workflows, submodules, and using GitHub pull requests effectively.Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

Pro ASP.NET MVC 5 Platform


Adam Freeman - 2014
    To make your ASP.NET MVC applications the best they can be, you need to fully understand the platform features and know how they can be used to build effective and elegant MVC framework applications.The ASP.NET platform provides ASP.NET MVC applications with a rich suite of services including vital every-day features like extensible request handling, state management, and user authentication. Understanding how these features work is the difference between creating an average web application and the best-in-class.MVC applications that are architected with a thorough knowledge of the underlying platforms are faster to write, faster to run, and more readily adaptable to change. In Pro ASP.NET MVC 5 Platform, best-selling author Adam Freeman explains how to get the most from the entire ASP.NET platform, beginning with a nuts-and-bolts description of the patterns and tools you need through to the most advanced features. He goes in-depth at every stage to give you the practical knowledge that you need to apply these concepts to your own code.

Art at the Dawning of the Electronic Era: Generative Systems


Sonia Landy Sheridan - 2014
    A copy machine, used to reproduce data, may become a paintbrush. A fax machine, used to transmit data, may become a sound instrument for manipulating images. And a computer intended for business can morph into a system for creative use. From the 1960s electronic communication machines moved into public places, such as libraries and post offices. Artists, and people in general, were provided with new imaging systems to explore and play with. In the decades since, electronic imaging processes have exploded in richness and complexity. Electronic, technological progress is leading, in turn, to new biologic systems and a new body of creative people, once again, using commercially intended systems in unintended ways. This book, however, focuses on the 1970s, and reveals how early electronic systems were capable of being used to produce imaginative images never intended by or expected from business communication systems, but the very purpose and raison d'etre of the Generative Systems program of the School of the Art Institute of Chicago.

The Five-Second Rules: Ensuring a Healthy Five-Second Test


Paul Doncaster - 2014
    "The Five-Second Rules" uses detailed examples from a collection of more than 300 tests to describe the strengths and weaknesses of this rapid testing method. Readers will learn about the "five-second rules" for getting useful data, and will explore what types of design issues can be resolved by using the method.A five-second test (also known as "timeout test" and "exposure test") involves displaying a visual or informational design for five seconds, removing it from view, then asking what aspects were recalled most easily or vividly. The goal is to understand what stands out most about a design or product, and the impact on the viewer's perception of it. Describes the origins of the method and its usefulness in modern UX design research and testingConveys the need to structure tests carefully so that time, effort, and money are not wasted, and compiled data is not misleadingFosters an appreciation for the method's outcomes and how they can contribute to the success or failure of a proposed design

Concrete Semantics: With Isabelle/Hol


Tobias Nipkow - 2014
    

Geometric Modeling in Probability and Statistics


Ovidiu Calin - 2014
    This is a field that is increasingly attracting the interest of researchers from many different areas of science, including mathematics, statistics, geometry, computer science, signal processing, physics and neuroscience. It is the authors' hope that the present book will be a valuable reference for researchers and graduate students in one of the aforementioned fields.This textbook is a unified presentation of differential geometry and probability theory, and constitutes a text for a course directed at graduate or advanced undergraduate students interested in applications of differential geometry in probability and statistics. The book contains over 100 proposed exercises meant to help students deepen their understanding, and it is accompanied by software that is able to provide numerical computations of several information geometric objects. The reader will understand a flourishing field of mathematics in which very few books have been written so far.

Professional Java for Web Applications


Nicholas S. Williams - 2014
    You'll begin with an introduction to the Java Enterprise Edition and the basic web application, then set up a development application server environment, learn about the tools used in the development process, and explore numerous Java technologies and practices. The book covers industry-standard tools and technologies, specific technologies, and underlying programming concepts. Java is an essential programming language used worldwide for both Android app development and enterprise-level corporate solutions As a step-by-step guide or a general reference, this book provides an all-in-one Java development solution Explains Java Enterprise Edition 7 and the basic web application, how to set up a development application server environment, which tools are needed during the development process, and how to apply various Java technologies Covers new language features in Java 8, such as Lambda Expressions, and the new Java 8 Date & Time API introduced as part of JSR 310, replacing the legacy Date and Calendar APIs Demonstrates the new, fully-duplex WebSocket web connection technology and its support in Java EE 7, allowing the reader to create rich, truly interactive web applications that can push updated data to the client automatically Instructs the reader in the configuration and use of Log4j 2.0, Spring Framework 4 (including Spring Web MVC), Hibernate Validator, RabbitMQ, Hibernate ORM, Spring Data, Hibernate Search, and Spring Security Covers application logging, JSR 340 Servlet API 3.1, JSR 245 JavaServer Pages (JSP) 2.3 (including custom tag libraries), JSR 341 Expression Language 3.0, JSR 356 WebSocket API 1.0, JSR 303/349 Bean Validation 1.1, JSR 317/338 Java Persistence API (JPA) 2.1, full-text searching with JPA, RESTful and SOAP web services, Advanced Message Queuing Protocol (AMQP), and OAuth Professional Java for Web Applications is the complete Wrox guide for software developers who are familiar with Java and who are ready to build high-level enterprise Java web applications.

Computational Actuarial Science with R


Arthur Charpentier - 2014
    Using simple R code, the book helps you understand the algorithms involved in actuarial computations. It also covers more advanced topics, such as parallel computing and C/C++ embedded codes.After an introduction to the R language, the book is divided into four parts. The first one addresses methodology and statistical modeling issues. The second part discusses the computational facets of life insurance, including life contingencies calculations and prospective life tables. Focusing on finance from an actuarial perspective, the next part presents techniques for modeling stock prices, nonlinear time series, yield curves, interest rates, and portfolio optimization. The last part explains how to use R to deal with computational issues of nonlife insurance.Taking a do-it-yourself approach to understanding algorithms, this book demystifies the computational aspects of actuarial science. It shows that even complex computations can usually be done without too much trouble. Datasets used in the text are available in an R package (CASdatasets).