Best of
Software

2014

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.

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!

OCA: Oracle Certified Associate Java SE 8 Programmer I Study Guide: Exam 1Z0-808


Jeanne Boyarsky - 2014
    With complete coverage of 100% of the exam objectives, this book provides everything you need to know to confidently take the exam. The release of Java 8 brought the language's biggest changes to date, and for the first time, candidates are required to learn functional programming to pass the exam. This study guide has you covered, with thorough functional programming explanation and information on all key topic areas Java programmers need to know. You'll cover Java inside and out, and learn how to apply it efficiently and effectively to create solutions applicable to real-world scenarios.Work confidently with operators, conditionals, and loops Understand object-oriented design principles and patterns Master functional programming fundamentals

Ry's Git Tutorial


Ryan Hodson - 2014
    Its popularity among open-source developers makes Git a necessary tool for professional programmers, but it can also do wonders for your personal coding workflow. You’ll be able to experiment with new ideas, radically refactor existing code, and efficiently share changes with other developers—all without the slightest worry towards breaking your project.This comprehensive guide will walk you through the entire Git library, writing code and executing commands every step of the way. You'll create commits, revert snapshots, navigate branches, communicate with remote repositories, and experience core Git concepts first-hand.Designed for newcomers to distributed development, Ry's Git Tutorial presents this complex subject in simple terms that anyone can understand. Beginner and veteran programmers alike will find this book to be a fun, fast, and friendly introduction to Git-based revision control.

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

Adaptive Code Via C#: Agile Coding with Design Patterns and Solid Principles


Gary McLean Hall - 2014
    Your process may be agile, but are you building agility directly into the code base? This book teaches .NET programmers how to give code the flexibility to adapt to changing requirements and customer demands by applying cutting-edge techniques, including SOLID principles, design patterns, and other industry best practices.Understand why composition is preferable to inheritance and how flexible the interface really can be Gain deep knowledge of key design patterns and anti-patterns, when to apply them, and how to give their code agility Bridge the gap between the theory behind SOLID principles, design patterns, and industry best practices by pragmatically solving real-world problems Get code samples written in upcoming version of Microsoft Visual C# Topics include: Agile with Scrum process; dependencies and layering; the interface; patterns and anti-patterns; introduction to SOLID principles, including open/closed and dependency interjection; and using application templates

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.

Java Performance: The Definitive Guide


Scott Oaks - 2014
    Multicore machines and 64-bit operating systems are now standard even for casual users, and Java itself has introduced new features to manage applications. The base JVM has kept pace with those developments and offers a very different performance profile in its current versions. By guiding you through this changing landscape, Java Performance: The Definitive Guide helps you gain the best performance from your Java applications.You’ll explore JVM features that traditionally affected performance—including the just-in-time compiler, garbage collection, and language features—before diving in to aspects of Java 7 and 8 designed for maximum performance in today's applications. You’ll learn features such as the G1 garbage collector to maximize your application’s throughput without causing it to pause, and the Java Flight Recorder, which enables you to see application performance details without the need for separate, specialized profiling tools.Whether you’re new to Java and need to understand the basics of tuning the JVM, or a seasoned developer looking to eek out that last 10% of application performance, this is the book you want.

Two Scoops of Django: Best Practices for Django 1.6


Daniel Roy Greenfeld - 2014
    

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

Fifty Quick Ideas to Improve Your User Stories


Gojko Adzic - 2014
    Above all, this book will help you achieve the promise of agile and iterative delivery: to ensure that the right stuff gets delivered through productive discussions between delivery team members and business stakeholders.

Adobe Premiere Pro CC Classroom in a Book (2019 Release)


Maxim Jago - 2014
    Adobe Premiere Pro CC Classroom in a Book contains 19 lessons that cover the basics, providing countless tips and techniques to help you become more productive with the program. You can follow the book from start to finish or choose only those lessons that interest you. In addition to learning the key elements of the Adobe Premiere Pro interface, this completely revised CC (2014 release) edition covers new features, including "scratch" track recording, Master Clip effects, and masking and tracking visual effects. Access to all of the project files used in the book's lessons are included with purchase of the book. Print editions come bundled with a DVD containing the lesson files, and students who purchase an eBook edition receive a code that lets them download the lesson files from their account page on peachpit.com. Both print and eBook users also get access to downloadable updates that cover new features that Adobe releases for Creative Cloud members. "The Classroom in a Book series is by far the best training material on the market. Everything you need to master the software is included: clear explanations of each lesson, step-by-step instructions, and the project files for the students." Barbara Binder, Adobe Certified InstructorRocky Mountain Training

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.

Yii 2 For Beginners


Bill Keck - 2014
    The book focuses on creating a reusable template that can serve as the basis for your projects.

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.

Expert Oracle Database Architecture


Thomas Kyte - 2014
    Tom Kyte and Darl Kuhn share a simple philosophy: "you can treat Oracle as a black box and just stick data into it, or you can understand how it works and exploit it as a powerful computing environment." If you choose the latter, then you'll find that there are few information management problems that you cannot solve quickly and elegantly. This fully revised third edition covers the developments up to Oracle Database 12c. Significant new content is included surrounding Oracle's new cloud feature set, and especially the use of pluggable databases. Each feature is taught in a proof-by-example manner, not only discussing what it is, but also how it works, how to implement software using it, and the common pitfalls associated with it.Don't treat Oracle Database as a black-box. Get this book. Get under the hood. Turbo-charge your career.Revised to cover Oracle Database 12cProof-by-example approach: Let the evidence be your guideDives deeply into Oracle Database's most powerful features

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.

Rails 4 Test Prescriptions: Build a Healthy Codebase


Noel Rappin - 2014
    Rails 4 Test Prescriptions is a comprehensive guide to how tests can help you design and write better Rails applications. In this completely revised edition, you'll learn why testing works and how to test effectively using Rails 4, Minitest 5, and RSpec 3, as well as popular testing libraries such as factory_girl and Cucumber. Do what the doctor ordered to make your applications feel all better. Side effects may include better code, fewer bugs, and happier developers.Your Ruby on Rails application is sick. Deadlines are looming, but every time you make the slightest change to the code, something else breaks. Nobody remembers what that tricky piece of code was supposed to do, and nobody can tell what it actually does. Plus, it has bugs. You need test-driven development, a process for improving the design, maintainability, and long-term viability of software.Containing both practical code examples and discussion of why testing works, this book starts with the most basic features delivered as part of core Ruby on Rails. Once you've integrated those features into your coding practice, you'll learn how to use popular third-party testing tools such as RSpec, Mocha, Cucumber, and factory_girl. You'll test the component parts of a Rails application, including the back-end model logic and the front-end display logic. Using Rails examples, you'll learn how to use testing to enable your code to respond better to future change. Plus, you'll see how to handle real-world testing situations.This completely revised edition contains a new tutorial, as well as new examples throughout the book. Many chapters, including the JavaScript chapter, have undergone major changes to reflect new tools and new practices. And there are brand new chapters on testing for security, and testing external services.What You Need: Ruby 2.1, Rails 4

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.

Apps For All: Coding Accessible Web Applications


Heydon Pickering - 2014
    There’s rarely a good reason to lock people out when openness is a foundational principle of the web.

Concurrency in C# Cookbook


Stephen Cleary - 2014
    With this cookbook, you will find recipes for writing asynchronous, parallel, and reactive code in C# that enables your app or program to engage in more than one process at a time. Presented in O’Reilly’s popular problem-solution-discussion cookbook format, this guide provides ready-to-use code, along with an explanation of why and how the solution works.

Cloud Design Patterns: Prescriptive Architecture Guidance for Cloud Applications (Microsoft patterns & practices)


Alex Homer - 2014
    They run on commodity hardware, provide services to untrusted users, and deal with unpredictable workloads. These factors impose a range of problems that you, as a designer or developer, need to resolve. Your applications must be resilient so that they can recover from failures, secure to protect services from malicious attacks, and elastic in order to respond to an ever changing workload. This guide demonstrates design patterns that can help you to solve the problems you might encounter in many different areas of cloud application development. Each pattern discusses design considerations, and explains how you can implement it using the features of Windows Azure. The patterns are grouped into categories: availability, data management, design and implementation, messaging, performance and scalability, resilience, management and monitoring, and security. You will also see more general guidance related to these areas of concern. It explains key concepts such as data consistency and asynchronous messaging. In addition, there is useful guidance and explanation of the key considerations for designing features such as data partitioning, telemetry, and hosting in multiple datacenters. These patterns and guidance can help you to improve the quality of applications and services you create, and make the development process more efficient. Enjoy!

Learning Android Intents


Muhammad Usama Bin Aftab - 2014
    If you are a novice or an intermediate Android Developer who wants to expand their knowledge of Android Intents, this book is ideal for you. Readers are expected to have basic understanding of Android development, how to use different IDEs, and how to develop applications using Android APIs.

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.

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.

Python for Data Science for Dummies


Zanab Hussain - 2014
    Python for Data Science For Dummies shows you how to take advantage of Python programming to acquire, organize, process, and analyze large amounts of information and use basic statistics concepts to identify trends and patterns. You'll get familiar with the Python development environment, manipulate data, design compelling visualizations, and solve scientific computing challenges as you work your way through this user-friendly guide.Covers the fundamentals of Python data analysis programming and statistics to help you build a solid foundation in data science concepts like probability, random distributions, hypothesis testing, and regression models Explains objects, functions, modules, and libraries and their role in data analysis Walks you through some of the most widely-used libraries, including NumPy, SciPy, BeautifulSoup, Pandas, and MatPlobLib Whether you're new to data analysis or just new to Python, Python for Data Science For Dummies is your practical guide to getting a grip on data overload and doing interesting things with the oodles of information you uncover.

Understanding the Four Rules of Simple Design


Corey Haines - 2014
    This is why it is imperative to build systems that are flexible and can adapt to changing requirements, both expected and (more often) unexpected. That is why I've written this book.From 2009 to 2014, I traveled the world working with software developers, both individually and in teams, to improve their craft. Primarily, I did this through a training workshop format called coderetreat. Over those years, I had the opportunity to watch 1000's of pairs of programmers work on exactly the same system, Conway's Game of Life. As time progressed, I began to see patterns arise. I noticed common techniques and designs that spanned languages and companies and crossed national borders.As co-founder and a facilitator of coderetreat workshops, I had the unique opportunity to provide feedback, both direct and through questions, on improving the act of writing adaptable, simple code. Through the day, we worked on improving our ability to make good choices around the minute-by-minute decisions made while writing code.This book is about those things I learned from watching these 1000's of pairs working on the same problem. It contains a large part of the feedback that I provide during a typical coderetreat. The primary focus is on the thought process behind refactoring, and how that is influenced by the 4 rules of simple design.This book is not about Conway's Game of Life. Instead, it uses its domain as a backdrop to discuss the thoughts and ideas behind the 4 rules of simple design. It focuses on the small decisions made while designing your code with the goal of building robust, adaptable codebases that can stand the test of time.

Adobe Indesign CC Classroom in a Book (2014 Release)


Kelly Kordes Anton - 2014
    You can follow the book from start to finish or choose only those lessons that interest you.In addition to learning the key elements of the InDesign interface, this completely revised CC (2014 release) edition covers new features, including rows and columns in tables, dual PDF and IDML file packaging, fixed and reflow EPUBs, and major improvements in the way text and graphics are handled during EPUB export.Purchasing this book gives you access to the downloadable lesson files you need to work through the projects in the book, and to electronic book updates covering new features that Adobe releases for Creative Cloud customers. For access, goto www.peachpit.com/redeem and redeem the unique code provided inside this book."The Classroom in a Book series is by far the best training material on the market. Everything you need to master the software is included: clear explanations of each lesson, step-by-step instructions, and the project files for the students."Barbara Binder, Adobe Certified InstructorRocky Mountain Training

Coding in Delphi


Nick Hodges - 2014
    Coding in Delphi is a new programming book by Nick Hodges that covers a variety of powerful Delphi programming features and techniques including Generics, Interfaces, Exception, Handling, Anonymous Methods, Collections, RTTI, Enumerators, Attributes, Dependency Injection and Unit Testing

The Only IP Book You Will Ever Need!: Unraveling the Mysteries of Ipv4 & Ipv6


Lazaro (Laz) J Diaz - 2014
    It is a manual for subnetting in these two protocols. This book is a step-by-step guide for those that need to find a faster and simple way of subnetting and will cover everything you need to know about these two Internet Protocols. You will learn to subnett in your head, no calculator needed! It will also let you subnet in IPv6 using my same, simple and easy method.

Learning AV Foundation: A Hands-On Guide to Mastering the AV Foundation Framework


Bob McCune - 2014
    However, the framework is extremely large, reliant on cutting-edge language features, and poorly documented. Now, there's a more productive way to master these immensely powerful technologies: Bob McCune's Learning AV Foundation. McCune's live presentations and GitHub projects have already helped thousands of Apple developers get started with AV Foundation. Building on his experience, McCune helps you gain true mastery by creating real-world apps, hands-on. You'll build a voice memo app, custom video player, video editor, and an image/video camera app. As you proceed, you'll master all the techniques you need to write your own advanced media apps from scratch. Throughout, McCune provides carefully crafted challenges and complete starter apps--all designed to help you deepen your understanding and make the most of Apple's breakthrough media framework. COVERAGE INCLUDES Understanding how AV Foundation fits in Apple's media environment and each of its key areas of functionalityEnabling your apps with audio playback and recording featuresEnhancing video playback to deliver a richer, more dynamic experienceUsing AV Kit to match your user interfaces with iOS Videos or OS X QuickTime PlayerDeveloping media capture apps with real-time video processing using OpenGL ES and Core ImageImplementing custom video playersIntegrating advanced capture features such as video zooming, face detection, barcode scanning, and high frame rate captureMixing multiple audio tracks and automating volume controlBuilding sophisticated non-linear, non-destructive editing appsAdding advanced video editing capabilities, such as video transitions and animation effects

Dovecot: POP3/IMAP Servers for Enterprises and ISPs


Peer Heinlein - 2014
    Whether you need a single IMAP server for small user groups, a cluster system with high availability for enterprises with several thousand employees, or a complex infrastructure with directors, caching proxies and active/active setups for Internet Service Providers, Dovecot offers concepts and solutions for all kinds of requirements without becoming too complex. Based on extensive experience of many Dovecot projects, this book supports administrators during the conceptual design phase, helps avoid errors and strategically wrong decisions, and shows how to implement different configurations by means of concrete and reproducible instructions.

Automotive Ethernet - The Definitive Guide


Colt Correa - 2014
    As the electronic content in cars continues to grow, Ethernet promises to improve performance and enable powerful and useful applications. In its 1,161 pages, Automotive Ethernet - The Definitive Guide explains how Ethernet technology has been adapted via Broadcom's new BroadR-Reach® standard to bring Ethernet hardware and applications to vehicles. Topics covered: Automotive electromagnetic, environmental and electrical requirements; network fundamentals and the OSI Reference Model; IEEE Project 802; Ethernet Physical Layer and Media Access Control, including BroadR-Reach, MAC addressing, frame formats and hardware; a comparison of Ethernet to automotive networks such as CAN, LIN, MOST, and FlexRay; and TCP/IP, including IPv4/IPv6, ICMP, ARP, NAT, TCP, UDP, and DoIP. Also covered is the Audio Video Bridging (AVB) suite used to transport media over Ethernet, including underlying standards: SRP (IEEE 802.1Qat), FQTSS (IEEE 802.1Qav), gPTP (IEEE 802.1AS), and AVTP (IEEE 1722). The book also describes diagnostics in an Ethernet environment, and tools for measurement, calibration and diagnostics (MCD). Intended Audience: • Electronics engineers, network communication engineers, testers, and technicians involved in automotive electronics development. • Ethernet hardware engineers and network application designers who want to learn about Automotive Ethernet and how it differs from traditional Ethernet. • Android, Linux, iOS, and Windows developers who want to exploit the growing demand for expertise in using these operating systems and other systems on Ethernet. • Engineers and software developers in training at the university level.

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.

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.

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.

Practical Salesforce.com Development Without Code: Customizing Salesforce on the Force.com Platform


Philip Weinmeister - 2014
    Adhering to Salesforce.com's "clicks, not code" mantra, Salesforce.com expert Phil Weinmeister walks you through different business problems and identifies effective, creative--and proven--approaches to solutions using the platform's declarative framework. If you are a Salesforce.com administrator, analyst, consultant, or developer, you can attest to the insatiable appetite of users for new functionality. Your clients expect solutions--and now. By adopting Practical Salesforce.com Development Without Code as your guide, you will learn how to deliver business solutions within Salesforce.com by combining analysis, creativity, and logic with some of its core elements, including validation rules, workflow rules, and formula fields. In addition, Weinmeister dissects and explains the most useful functions and features for developers, and shows you how to use them. Among other things, you will learn how to: Build objects, fields, and relationships to establish a sensible data model Automate business processes by using workflow rules and flows (Visual Workflow) Utilize functions and develop formulas effectively for a variety of business needs Develop intricate approval processes to handle exception scenarios Employ publisher actions to drive additional functionality from the Chatter feed Manage your data using Data Loader Best of all, Weinmeister uses real-life business scenarios and visuals to keep you engaged and learning something new with every page you read. Practical Salesforce.com Development Without Code will help you absorb the principles behind dozens of creative and thoughtful ways to solve your business problems. Applying the lessons learned from this how-to guide will ultimately save you time and ensure that your clients or internal customers are well satisfied and productive. What you’ll learn How to develop within Salesforce.com without the use of code How to deliver business solutions within Salesforce.com using various native elements, including validation rules, workflow rules, formula fields, and flows Effective use of various Force.com features Who this book is for The target audience consists of those looking to solve business problems within Salesforce.com without using code. That includes analysts, administrators, and consultants. The book will also appeal to Salesforce.com developers looking to better understand the declarative side of SFDC development (using configuration, not code), as well as technical professionals who want or need to learn more about solving business needs/problems within Salesforce.com (those who would generally understand configuration and/or development, but are not familiar with the platform).

Data Visualization for Oracle Business Intelligence 11g


Dan Vlamis - 2014
    This information-rich guide offers clear instructions for building top-quality dashboards, analyses, and visualizations from real-world implementers and respected data visualization experts. You’ll learn everything from improving the readability of your tables to implementing the latest Advanced Trellis Chart features and from adding native map views of BI data to designing optimal dashboard layout strategies. You’ll see how to produce accurate, compelling, and professional graphics that will immediately enhance corporate decision making. Shows proven steps for extracting maximum impact from native features that are little known to the majority of BI users Covers dashboard strategy, including layout, design, navigation, master detail linking, action links, and prompts Addresses how to extend Oracle Business Intelligence 11g with advanced languages and visualization systems such as JavaScript-based D3 and JQuery, R, and Oracle Application Development Framework Includes an associated web gallery showcasing the colors and graphics that render best digitally

Dashboarding and Reporting with Power Pivot and Excel: How to Design and Create a Financial Dashboard with PowerPivot – End to End


Kasper de Jonge - 2014
    The book covers in detail how to combine and shape the relevant data, build the dashboard in Excel, providing layout and design tips and tricks, prepare the model to work with fiscal dates, and show values used in many financial reports, including year-to-date, variance-to-target, percentage-of-total, and running totals reports.Accessibly written, this book offers readers a practical, real-world scenario and can be used as a day-to-day reference. Though the guide focuses on Power Pivot for Excel 2010, a chapter that discusses Power View—compatible with Excel 2013— and Power BI is also included.

C++ for Quantitative Finance


Michael L. Halls-Moore - 2014
    C++ For Quantitative Finance will take you on a journey from knowing little or nothing about how to apply C++ to quantitative finance to understanding and implementing essential quant models, object oriented programming techniques and best practice design patterns, keeping you ahead of your peers.

Professional Portraits with Adobe Photoshop Lightroom 5 (SSPS * Simple Secrets Photography Series)


Jim Richards - 2014
    Beginners will find this book easy to understand. Seasoned users will find this book a great refresher. In Professional Portraits with Adobe Photoshop Lightroom 5 you will: Learn how to remove blemishes, pimples and wrinkles... Learn how to blend away dark circles from under the eyes... Learn how to enliven the eyes and enhance the lips... Learn how to soften the skin and create appeal... Learn how to adjust the histogram... Learn how to customize your workflow... Learn how to make people thinner and much, much more. Professional Portraits with Adobe Photoshop Lightroom 5 will teach you the SIMPLE SECRETS of the Pros in less than 24 hours, faster than you can read most photography books - guaranteed!! If you are not satisfied just return the book to Amazon. Written for those who want to start editing their portraits right away. Turn everyday boring portraits into Amazing Portraits. Save time with the succinct no-nonsense style. Command more money with your portraits. Master Portrait Editing techniques quickly and easily. Begin editing your portraits like the pros in almost no time. Download the practice image and start editing immediately. Let Professional Portraits with Adobe Photoshop Lightroom 5 guide you to better portrait photography.

Designing Apps for Success: Developing Consistent App Design Practices


Matthew David - 2014
    With this release came tools as revolutionary as the internet was to businesses and individuals back in the mid- and late-nineties: Apps. Much like websites drove (and still drive) business, so too do apps drive sales, efficiencies and communication between people. But also like web design and development, in its early years and iterations, guidelines and best practices for apps are few and far between.Designing Apps for Success provides web/app designers and developers with consistent app design practices that result in timely, appropriate, and efficiently capable apps. This book covers application lifecycle management that designers and developers use when creating apps for themselves or the entities that hired them. From the early discussions with a company as to how to what kind of app they want, to storyboarding, to developing cross platform, to troubleshooting, to publishing, Designing Apps for Success gives a taut, concise, and pragmatic roadmap from the beginning of the process all the way to the end. Developers and designers will learn not only best practices on how to design an app but how to streamline the process while not losing any quality on the end result. Other topics in this book include:Case studies that best showcase the development process at work (or not at work).Global examples of apps developed all over the world.Future proofing your appsPost-publishing: Promoting and marketing your apps and keeping it relevant.Consistent app design practices for consistently successful results.

Practical LaTeX


George Grätzer - 2014
    This accessible manual is friendly, easy to read, and is designed to be as portable as LaTeX itself. A short chapter, Mission Impossible, introduces LaTeX documents and presentations. Read these 30 pages; you then should be able to compose your own work in LaTeX. The remainder of the book delves deeper into the topics outlined in Mission Impossible while avoiding technical subjects. Chapters on presentations and illustrations are a highlight, as is the introduction of LaTeX on an iPad. Students, faculty, and professionals in the worlds of mathematics and technology will benefit greatly from this new, practical introduction to LaTeX. George Gratzer, author of More Math into LaTeX (now in its 4th edition) and First Steps in LaTeX, has been a LaTeX guru for over a quarter of century. From the reviews of More Math into LaTeX: "There are several LaTeX guides, but this one wins hands down for the elegance of its approach and breadth of coverage." -Amazon.com, Best of 2000, Editors Choice "A very helpful and useful tool for all scientists and engineers." -Review of Astronomical Tools "A novice reader will be able to learn the most essential features of LaTeX sufficient to begin typesetting papers within a few hours of time...An experienced TeX user, on the other hand, will find a systematic and detailed discussion of all LaTeX features, supporting software, and many other advanced technical issues." -Reports on Mathematical Physics

Improving Software Development Productivity: Effective Leadership and Quantitative Methods in Software Management


Randall W. Jensen - 2014
    In Improving Software Development Productivity, world-renowned software engineering expert Dr. Randall W. Jensen introduces a proven, quantitative approach to achieving this focus. Jensen helps you measure your organization's capacity and productivity, and then use that information to improve multiple facets of developer and team performance, and to build more accurate estimates and schedules. Focusing on management as the principal cost and schedule driver in software projects, he demonstrates a powerful tool based on his Jensen II (Seer) model: the model that underlies many leading software estimation tools. Through real case studies, you'll learn how to predict the productivity impact of any major management decision, and quantitatively support a transition to "extreme" or "agile" software development environments. For decades, Jensen has been the industry's go-to expert on improving software project productivity. This book distills his insights and gives you the tools and knowledge to apply them. This book will help you Recognize the centrality of communication and culture, and translate this awareness into quantitative improvements Predict the impact of changes in personnel, management style, development environments, product constraints, and technologies Optimize decision making throughout a project's lifecycle, and avoid counterproductive changes Understand modern estimating models and parameters, so you can apply them more effectively Formulate more accurate and useful estimates with leading tools such as Sage, REVIC, COCOMO II, and SEER-SEM Maintain firmer control over costs and timeframes in agile or extreme project environments Register your book for access to the Capability Calculator, a Microsoft Excel tool created by the author and based on the Jensen II (Seer) model. Go to informit.com/title/9780133562675.

Advanced C and C++ Compiling


Milan Stevanovic - 2014
    To be a serious programmer, you need to understand the structure and purpose of the binary files produced by the compiler: object files, static libraries, shared libraries, and, of course, executables.Advanced C and C++ Compiling explains the build process in detail and shows how to integrate code from other developers in the form of deployed libraries as well as how to resolve issues and potential mismatches between your own and external code trees.With the proliferation of open source, understanding these issues is increasingly the responsibility of the individual programmer. Advanced C and C++ Compiling brings all of the information needed to move from intermediate to expert programmer together in one place -- an engineering guide on the topic of C/C++ binaries to help you get the most accurate and pertinent information in the quickest possible time. What you�ll learn The details of the build process, including compiling and linking The inner workings of static libraries, shared libraries, and executables Ways to properly architect code for smooth integration of future changes Tips for troubleshooting problems with compiling and linking as well as run-time problems How to use operating system-specific (Linux and Windows) tools for analysis of binary files Who this book is for C/C++ software designers aspiring to senior levels, software architects, build engineers, and Linux system administrators.

Mastering JavaScript Design Patterns


Simon Timms - 2014
    Discover an extensive range of techniques and strategies to successfully tackle complex JavaScript development problems and put them into practice by following detailed examples that demonstrate each design pattern at its most effective. Dive deeper into JavaScript and master these powerful design patterns for an innovative and cutting-edge approach to JavaScript that meets the demands of modern web development. Explore how design patterns can help you improve your JavaScript code and get to grips with creational, structural behavioural patterns, as you discover how to put them to work in different scenarios. Then look deeper at patterns used in functional programming, as well as model view patterns, and patterns to build web applications. You will also find patterns to improve the testability of your code using mock objects, mocking frameworks and monkey patching along with some advanced patterns including dependency injection and live postprocessing. Taking a complete and journey through the most valuable design patterns, and providing clear guidance on how to effectively use them in JavaScript, this JavaScript book gives you access to one of the best ways to learn JavaScript and use it to meet the demands of web development today. Discover and use tried and tested design patterns for a more effective approach to JavaScript Learn simple strategies for improving your code organization Get to grips with creational, behavioural and structural design patterns Rethink and revitalize your code with the use of functional patterns Harness the power of design patterns for a range of development tasks from building an application to code testing Explore advanced JavaScript design patterns including dependency injection

AutoHotkey Applications--Ideas and Tips for Writing Practical AutoHotkey Scripts: Intermediate Techniques Using the Powerful Tools Built into AutoHotkey ... Apps (AutoHotkey Tips and Tricks Book 3)


Jack Dunning - 2014
    It is an intermediate level guide to building useful applications with AutoHotkey. Many of the scripts discussed are quite simple and can be implemented by anyone with a basic understanding of AutoHotkey. Others are a bit more involved. The vast majority of this book, "AutoHotkey Applications", is about building apps with the AutoHotkey GUI (Graphical User Interface). These GUIs are a set of pop-ups which simulate many of the windows found in tools. Although they are not quite as simple as text replacement with hotstrings, the AutoHotkey GUIs offer a wide variety of ready built gadgets which can create useful Windows controls and practical gadgets for your everyday use. These include calendars, edit windows, list boxes, Windows Explorer-like trees and lists, menus, slider controls, progress bars, updown wheels, status bars, and a number of other controls. The AutoHotkey scripts discussed in this book go beyond the standard tools and introduce apps which can be used in everyday life. The scripts in this book are designed to inspire more ideas for AutoHotkey apps and include: • A barebones Windows media player script for playing music and videos (SoundPlay and FileSelectFile) • A Multimedia Greeting Card (Progress/Splash Image, ComObjCreate(), including external files and compiling) • An egg timer script with a graphic countdown bar (UpDown and Progress Bar GUI Controls, SoundBeep) • An AutoHotkey Script for Instantly Creating Temporary Hotkeys (HotKey GUI Control) • A Slider App for Dimming the Computer Screen (Slider and StatusBar GUI Control) • A Daily To-Do List App (ListView GUI Control, Saving a Data File, Resizing and Positioning the GUI, and Right-Click Menus) • An Address Book App (ListView, Right-Click Menus, CSV Data File, E-mail,a Formatted Input Screen, and Deletion Protection) • A Calorie Counting App (ListView and GroupBox GUI Controls, FileRead, and Accessing Web Data) • A Recipe Book Script (TreeView GUI Control, Right-click Menus, and CSV Data File Format) • An AutoHotkey App Control Center (ListView with Menus and Adding System Icons) Also highlighted in this book are a few useful apps written by other AutoHotkey enthusiasts. These free scripts include a dictionary app which draws data directly from the Web, a scratchpad app, a powerful Windows Clipboard manager, and a couple of other scripts available through the AutoHotkey Web site. Plus "AutoHotkey Applications" includes tips for: • Automating Right-click Context Menus • Protection Against Rogue Windows Hotkeys (#IfWinActive, ErrorLevel Breaks Loop) • Fixing Broken Word Wraps • Adding Icons to AutoHotkey Menus (IfInString, Menu,...,Icon) • An Easier Way to Get Your Computer to Talk to You (ComObjectCreate) • Pop-up Labels for All Your Programs (ToolTip Command) • A Script to Change the Windows Registry (RegRead and RegWrite Commands) • Adding Color to ListView Rows (A_GuiEvent) • And More! Plus, more about the Inner Workings and Hidden Mechanisms of AutoHotkey: • Combining Apps into One Script (#Include and DetectHiddenWindows) • Packaging Files When Compiling (FileInstall Command) • Hiding the System Tray Icon and Running in the Background (NoTrayIcon) • Common AutoHotkey Messages and Errors "AutoHotkey Applications" shows what AutoHotkey can do rather than the teaching every possibility for each command.

12 More Essential Skills for Software Architects


Dave Hendricksen - 2014
    Dave Hendricksen illuminated the soft skills in his highly-regarded 12 Essential Skills for Software Architects. Now, in 12 More Essential Skills for Software Architects he turns to the technical side. Drawing on his decades of experience, Hendricksen organizes technical skills into three areas. PROJECT SKILLS: driving projects from ideation through deliveryTECHNOLOGY SKILLS: building, buying, and/or leveraging the right technologiesVISIONARY SKILLS: realizing an architectural vision that improves long-term competitiveness He helps you develop and sharpen these key technical skills: from conceptualizing solutions to developing platforms and governance, and from selecting technology innovations to infusing architectures with an entrepreneurial spirit. This guide reveals the technical skills you need and provides a coherent framework and practical methodology for mastering them. Taken together, Hendricksen's two books offer the most complete, practical pathway to excellence in software architecture. They'll guide you through every step of your architecture career--from getting the right position to thriving once you have it. Essential Architect Skills Visionary Skills Entrepreneurial ExecutionTechnology InnovationStrategic Roadmapping Technology Skills GovernancePlatform DevelopmentKnow-howArchitectural Perspective Project Skills EstimationPartnershipDiscoveryManagementConceptualization Dave Hendricksen is a big data architect for Thomson Reuters, where he works closely with the firm's new product development teams to create innovative legal products for large-scale online platforms such as Westlaw.com. Hendricksen presented "Designing and Building Large-Scale Systems in an Agile World" at Carnegie Mellon University's influential Software Engineering Institute.

Dovecot: POP3/IMAP-Server für Unternehmen und ISPs


Peer Heinlein - 2014
    Whether you need a single IMAP server for small user groups, a cluster system with high availability for enterprises with several thousand employees, or a complex infrastructure with directors, caching proxies and active/active setups for Internet Service Providers, Dovecot offers concepts and solutions for all kinds of requirements without becoming too complex.Based on extensive experience of many Dovecot projects, this book supports administrators during the conceptual design phase, helps avoid errors and strategically wrong decisions, and shows how to implement different configurations by means of concrete and reproducible instructions.

Introducing Spring Framework: A Primer


Felipe Gutiérrez - 2014
    The book uses a simple My Documents application that you will develop incrementally over the course of the book and covers:- How to programmatically configure the Spring container and beans- How to use annotations for dependency injection- How to use collections and custom types- How to customize and configure bean properties and bean lifecycle interfaces- How to handle metadata using XML, annotations, and the Groovy bean reader- How to use the new Spring Boot and Spring XDAfter reading this book, you will have all you need to start using the Spring Framework effectively.

Bootstrap for ASP.Net MVC


Pieter Van Der Westhuizen - 2014
    Developers with entry-level experience of ASP.NET MVC development and limited experience with Bootstrap will also benefit from this book.

Designing distributed Control Systems: A Pattern Language Approach (MISL-WILEY)


Veli-Pekka Eloranta - 2014
    Brand New