Similar

Coming to grips with C++11 and C++14 is more than a matter of familiarizing yourself with the features they introduce (e.g., auto type declarations, move semantics, lambda expressions, and concurrency support). The challenge is learning to use those features effectively—so that your software is correct, efficient, maintainable, and portable. That’s where this practical book comes in. It describes how to write truly great software using C++11 and C++14—i.e. using modern C++.

Topics include:

The pros and cons of braced initialization, noexcept specifications, perfect forwarding, and smart pointer make functionsThe relationships among std::move, std::forward, rvalue references, and universal referencesTechniques for writing clear, correct, effective lambda expressionsHow std::atomic differs from volatile, how each should be used, and how they relate to C++'s concurrency APIHow best practices in "old" C++ programming (i.e., C++98) require revision for software development in modern C++

"After I learned the C++ basics, I then learned how to use C++ in production code from Meyer's series of Effective C++ books. Effective Modern C++ is the most important how-to book for advice on key guidelines, styles, and idioms to use modern C++ effectively and well. Don't own it yet? Buy this one. Now".-- Herb Sutter, Chair of ISO C++ Standards Committee and C++ Software Architect at Microsoft

This book thoroughly explains how computers work. It starts by fully examining a NAND gate, then goes on to build every piece and part of a small, fully operational computer. The necessity and use of codes is presented in parallel with the apprioriate pieces of hardware. The book can be easily understood by anyone whether they have a technical background or not. It could be used as a textbook.

This valuable little book offers a thorough introduction to the open-source electronics prototyping platform that's taking the design and hobbyist world by storm. Getting Started with Arduino gives you lots of ideas for Arduino projects and helps you get going on them right away. From getting organized to putting the final touches on your prototype, all the information you need is right in the book.

Inside, you'll learn about:

Interaction design and physical computingThe Arduino hardware and software development environmentBasics of electricity and electronicsPrototyping on a solderless breadboardDrawing a schematic diagram

And more. With inexpensive hardware and open-source software components that you can download free, getting started with Arduino is a snap. To use the introductory examples in this book, all you need is a USB Arduino, USB A-B cable, and an LED.

Join the tens of thousands of hobbyists who have discovered this incredible (and educational) platform. Written by the co-founder of the Arduino project, with illustrations by Elisa Canducci, Getting Started with Arduino gets you in on the fun! This 128-page book is a greatly expanded follow-up to the author's original short PDF that's available on the Arduino website.

Now in full color, the 10th anniversary edition of this classic book takes you deep into the influences that underlie modern video games, and examines the elements they share with traditional games such as checkers. At the heart of his exploration, veteran game designer Raph Koster takes a close look at the concept of fun and why it’s the most vital element in any game.

Why do some games become boring quickly, while others remain fun for years? How do games serve as fundamental and powerful learning tools? Whether you’re a game developer, dedicated gamer, or curious observer, this illustrated, fully updated edition helps you understand what drives this major cultural force, and inspires you to take it further.

You’ll discover that:

Games play into our innate ability to seek patterns and solve puzzlesMost successful games are built upon the same elementsSlightly more females than males now play gamesMany games still teach primitive survival skillsFictional dressing for modern games is more developed than the conceptual elementsTruly creative designers seldom use other games for inspirationGames are beginning to evolve beyond their prehistoric origins

User experience design is one of the fastest-growing specialties in graphic design. Smart companies realize that the most successful products are designed to meet the needs and goals of real people—the users. This means putting the user at the center of the design process.

This innovative, comprehensive book examines the user-centered design process from the perspective of a designer. With rich imagery, Interactive Design introduces the different UX players, outlines the user-centered design process from user research to user testing, and explains through various examples how user-centered design has been successfully integrated into the design process of a variety of design studios worldwide.

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

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

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

With millions of new users and several new models, the Raspberry Pi ecosystem continues to expand—along with a lot of new questions about the Pi’s capabilities. The second edition of this popular cookbook provides more than 240 hands-on recipes for running this tiny low-cost computer with Linux, programming it with Python, and hooking up sensors, motors, and other hardware—including Arduino and the Internet of Things.

Prolific hacker and author Simon Monk also teaches basic principles to help you use new technologies with Raspberry Pi as its ecosystem continues to develop. This cookbook is ideal for programmers and hobbyists familiar with the Pi through resources, including Getting Started with Raspberry Pi (O’Reilly). Python and other code examples from the book are available on GitHub.

Set up your Raspberry Pi and connect to a networkWork with its Linux-based operating systemProgram Raspberry Pi with PythonGive your Pi "eyes" with computer visionControl hardware through the GPIO connectorUse Raspberry Pi to run different types of motorsWork with switches, keypads, and other digital inputsUse sensors to measure temperature, light, and distanceConnect to IoT devices in various waysCreate dynamic projects with Arduino

Arduino is the open-source electronics prototyping platform that’s taken the design and hobbyist world by storm. This thorough introduction, updated for Arduino 1.0, gives you lots of ideas for projects and helps you work with them right away. From getting organized to putting the final touches on your prototype, all the information you need is here!

Inside, you’ll learn about:

Interaction design and physical computing The Arduino hardware and software development environment Basics of electricity and electronics Prototyping on a solderless breadboard Drawing a schematic diagram

Getting started with Arduino is a snap. To use the introductory examples in this guide, all you need an Arduino Uno or earlier model, along with USB A-B cable and an LED. The easy-to-use Arduino development environment is free to download.

Join hundreds of thousands of hobbyists who have discovered this incredible (and educational) platform. Written by the co-founder of the Arduino project, Getting Started with Arduino gets you in on all the fun!

Learn computer programming the easy way with Processing, a simple language that lets you use code to create drawings, animation, and interactive graphics. Programming courses usually start with theory, but this book lets you jump right into creative and fun projects. It's ideal for anyone who wants to learn basic programming, and serves as a simple introduction to graphics for people with some programming skills.

Written by the founders of Processing, this book takes you through the learning process one step at a time to help you grasp core programming concepts. You'll learn how to sketch with code -- creating a program with one a line of code, observing the result, and then adding to it. Join the thousands of hobbyists, students, and professionals who have discovered this free and educational community platform.

Quickly learn programming basics, from variables to objects Understand the fundamentals of computer graphics Get acquainted with the Processing software development environment Create interactive graphics with easy-to-follow projects Use the Arduino open source prototyping platform to control your Processing graphics

Distributed systems have become more fine-grained in the past 10 years, shifting from code-heavy monolithic applications to smaller, self-contained microservices. 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

If you are a JavaScript developer or someone who has basic knowledge of JavaScript, and want to explore its optimum ability, this fast-paced book is definitely for you. Programming logic is the only thing you need to know to start having fun with algorithms.

If you are a Scala, Java, or Python developer with an interest in machine learning and data analysis and are eager to learn how to apply common machine learning techniques at scale using the Spark framework, this is the book for you. While it may be useful to have a basic understanding of Spark, no previous experience is required.

Want to create devices that interact with the physical world? This cookbook is perfect for anyone who wants to experiment with the popular Arduino microcontroller and programming environment. You’ll find more than 200 tips and techniques for building a variety of objects and prototypes such as toys, detectors, robots, and interactive clothing that can sense and respond to touch, sound, position, heat, and light.

You don’t need to have mastered Arduino or programming to get started. Updated for the Arduino 1.0 release, the recipes in this second edition include practical examples and guidance to help you begin, expand, and enhance your projects right away—whether you’re an artist, designer, hobbyist, student, or engineer.

Get up to speed on the Arduino board and essential software concepts quicklyLearn basic techniques for reading digital and analog signalsUse Arduino with a variety of popular input devices and sensorsDrive visual displays, generate sound, and control several types of motorsInteract with devices that use remote controls, including TVs and appliancesLearn techniques for handling time delays and time measurementApply advanced coding and memory handling techniques

Digital Design and Computer Architecture: ARM Edition covers the fundamentals of digital logic design and reinforces logic concepts through the design of an ARM microprocessor. Combining an engaging and humorous writing style with an updated and hands-on approach to digital design, this book takes the reader from the fundamentals of digital logic to the actual design of an ARM processor. By the end of this book, readers will be able to build their own microprocessor and will have a top-to-bottom understanding of how it works.

Beginning with digital logic gates and progressing to the design of combinational and sequential circuits, this book uses these fundamental building blocks as the basis for designing an ARM processor. SystemVerilog and VHDL are integrated throughout the text in examples illustrating the methods and techniques for CAD-based circuit design. The companion website includes a chapter on I/O systems with practical examples that show how to use the Raspberry Pi computer to communicate with peripheral devices such as LCDs, Bluetooth radios, and motors.

This book will be a valuable resource for students taking a course that combines digital logic and computer architecture or students taking a two-quarter sequence in digital logic and computer organization/architecture.

Covers the fundamentals of digital logic design and reinforces logic concepts through the design of an ARM microprocessor.Features side-by-side examples of the two most prominent Hardware Description Languages (HDLs)—SystemVerilog and VHDL—which illustrate and compare the ways each can be used in the design of digital systems.Includes examples throughout the text that enhance the reader’s understanding and retention of key concepts and techniques.The Companion website includes a chapter on I/O systems with practical examples that show how to use the Raspberry Pi computer to communicate with peripheral devices such as LCDs, Bluetooth radios, and motors. The Companion website also includes appendices covering practical digital design issues and C programming as well as links to CAD tools, lecture slides, laboratory projects, and solutions to exercises.

Talking to people about your designs might seem like a basic skill, but it can be difficult to do efficiently and well. And, in many cases, how you communicate about your work with stakeholders, clients, and other non-designers is more critical than the designs themselves—simply because the most articulate person usually wins.

This practical guide focuses on principles, tactics, and actionable methods for presenting your designs. Whether you design UX, websites, or products, you’ll learn how to win over anyone who has influence over the project—with the goal of creating the best experience for the end user.

Walk through the process of preparing for and presenting your designsUnderstand stakeholder perspectives, and learn how to empathize with themCultivate both implicit and explicit listening skillsLearn tactics and formulas for expressing the most effective response to feedbackDiscover why the way you follow through is just as crucial as the meeting itselfEducate your stakeholders by sharing the chapter from this book on how to work with designers

The author of Zero explains the scientific revolution that is transforming the way we understand our world

Previously the domain of philosophers and linguists, information theory has now moved beyond the province of code breakers to become the crucial science of our time. In Decoding the Universe, Charles Seife draws on his gift for making cutting-edge science accessible to explain how this new tool is deciphering everything from the purpose of our DNA to the parallel universes of our Byzantine cosmos. The result is an exhilarating adventure that deftly combines cryptology, physics, biology, and mathematics to cast light on the new understanding of the laws that govern life and the universe.

Deliver an optimal user experience to all devices—including tablets, smartphones, feature phones, laptops, and large screens—by learning the basics of responsive web design. In this hands-on guide, UX designer Clarissa Peterson explains how responsive web design works, and takes you through a responsive workflow from project kickoff to site launch.

Ideal for anyone involved in the process of creating websites—not just developers—this book teaches you fundamental strategies and techniques for using HTML and CSS to design websites that not only adapt to any screen size, but also use progressive enhancement to provide a better user experience based on device capabilities such as touchscreens and retina displays.

Start with content strategy before creating a visual designLearn why your default design should be for the narrowest screensExplore the HTML elements and CSS properties essential for responsive web designUse media queries to display different CSS styles based on a device’s viewport widthHandle elements such as images, typography, and navigationUse performance optimization techniques to make your site lighter and faster

User experience (UX) strategy requires a careful blend of business strategy and UX design, but until now, there hasn’t been an easy-to-apply framework for executing it. This hands-on guide introduces lightweight strategy tools and techniques to help you and your team craft innovative multi-device products that people want to use.

Whether you’re an entrepreneur, UX/UI designer, product manager, or part of an intrapreneurial team, this book teaches simple-to-advanced strategies that you can use in your work right away. Along with business cases, historical context, and real-world examples throughout, you’ll also gain different perspectives on the subject through interviews with top strategists.

Define and validate your target users through provisional personas and customer discovery techniquesConduct competitive research and analysis to explore a crowded marketplace or an opportunity to create unique valueFocus your team on the primary utility and business model of your product by running structured experiments using prototypesDevise UX funnels that increase customer engagement by mapping desired user actions to meaningful metrics

Bring life to your robot using ROS robotic applicationsAbout This BookThis book will help you boost your knowledge of ROS and give you advanced practical experience you can apply to your ROS robot platformsThis is the only book that offers you step-by-step instructions to solidify your ROS understanding and gain experience using ROS toolsFrom eminent authors, this book offers you a plethora of fun-filled examples to make your own quadcopter, turtlebot, and two-armed robotsWho This Book Is For

If you are a robotics developer, whether a hobbyist, researchers or professional, and are interested in learning about ROS through a hands-on approach, then this book is for you. You are encouraged to have a working knowledge of GNU/Linux systems and Python.

What You Will LearnGet to know the fundamentals of ROS and apply its concepts to real robot examplesControl a mobile robot to navigate autonomously in an environmentModel your robot designs using URDF and Xacro, and operate them in a ROS Gazebo simulationControl a 7 degree-of-freedom robot arm for visual servoingFly a quadcopter to autonomous waypointsGain working knowledge of ROS tools such as Gazebo, rviz, rqt, and Move-ItControl robots with mobile devices and controller boardsIn Detail

The visionaries who created ROS developed a framework for robotics centered on the commonality of robotic systems and exploited this commonality in ROS to expedite the development of future robotic systems.

From the fundamental concepts to advanced practical experience, this book will provide you with an incremental knowledge of the ROS framework, the backbone of the robotics evolution. ROS standardizes many layers of robotics functionality from low-level device drivers to process control to message passing to software package management. This book provides step-by-step examples of mobile, armed, and flying robots, describing the ROS implementation as the basic model for other robots of these types. By controlling these robots, whether in simulation or in reality, you will use ROS to drive, move, and fly robots using ROS control.

Style and approach

This is an easy-to-follow guide with hands-on examples of ROS robots, both real and in simulation.

Build effective applications by applying Odoo development best practicesAbout This BookEach recipe stands by itself as much as possible, so that you can jump straight into the topics you preferThe recipes included cover all the major development areas of Odoo and the most important techniques explained through real-life projectsFrom seasoned authors, learn the tricks of becoming a productive developer with the Odoo frameworkWho This Book Is For

If you are a Python developer who wants to learn or consolidate your Odoo development skills, then this book is for you! Some experience with the JavaScript programming language and web development is required to fully benefit from the front-end chapters.

What You Will LearnInstall and manage Odoo environments and instancesUse Models to define your application's data structuresAdd business logic to your applicationsImplement automated tests and debug Odoo appsUse back-end views to create a user interfaceGet to know about the access security model and internationalization featuresDevelop front-end website featuresExtend the web client with new widgets and featuresIn Detail

Odoo is a full-featured open source ERP with a focus on extensibility. The flexibility and sustainability of open source is also a key selling point of Odoo. It is built on a powerful framework for rapid application development, both for back-end applications and front-end websites.

The book starts by covering Odoo installation and administration, and provides a gentle introduction to application development. It then dives deep into several of the areas that an experienced developer will need to use. You'll learn implement business logic, adapt the UI, and extend existing features.

Style and Approach

These practical and easy-to-follow recipes are presented step-by-step, with dozens of hands-on recipes to boost your Odoo skills. This book can also be used as a reference guide for your daily work.

A homogenous guide integrating the features of JSF 2.x (2.0, 2.1 and 2.2), following a 'learning through examples' paradigm with its main focus on the advanced concepts of JSF. 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.

There's nothing that hard-core Unix and Linux users are more fanatical about than their text editor. Editors are the subject of adoration and worship, or of scorn and ridicule, depending upon whether the topic of discussion is your editor or someone else's.

vi has been the standard editor for close to 30 years. Popular on Unix and Linux, it has a growing following on Windows systems, too. Most experienced system administrators cite vi as their tool of choice. And since 1986, this book has been the guide for vi.

However, Unix systems are not what they were 30 years ago, and neither is this book. While retaining all the valuable features of previous editions, the 7th edition of Learning the vi and vim Editors has been expanded to include detailed information on vim, the leading vi clone. vim is the default version of vi on most Linux systems and on Mac OS X, and is available for many other operating systems too.

With this guide, you learn text editing basics and advanced tools for both editors, such as multi-window editing, how to write both interactive macros and scripts to extend the editor, and power tools for programmers -- all in the easy-to-follow style that has made this book a classic.

Learning the vi and vim Editors includes:

A complete introduction to text editing with vi:How to move around vi in a hurryBeyond the basics, such as using buffersvi's global search and replacementAdvanced editing, including customizing vi and executing Unix commands

How to make full use of vim:Extended text objects and more powerful regular expressionsMulti-window editing and powerful vim scriptsHow to make full use of the GUI version of vim, called gvimvim's enhancements for programmers, such as syntax highlighting, folding and extended tags

Coverage of three other popular vi clones -- nvi, elvis, and vile -- is also included. You'll find several valuable appendixes, including an alphabetical quick reference to both vi and ex mode commands for regular vi and for vim, plus an updated appendix on vi and the Internet.

Learning either vi or vim is required knowledge if you use Linux or Unix, and in either case, reading this book is essential. After reading this book, the choice of editor will be obvious for you too.

Widely used across industrial and manufacturing automation, Programmable Logic Controllers (PLCs) perform a broad range of electromechanical tasks with multiple input and output arrangements, designed specifically to cope in severe environmental conditions such as automotive and chemical plants.

Programmable Logic Controllers: A Practical Approach using CoDeSys is a hands-on guide to rapidly gain proficiency in the development and operation of PLCs based on the IEC 61131-3 standard. Using the freely-available* software tool CoDeSys, which is widely used in industrial design automation projects, the author takes a highly practical approach to PLC design using real-world examples. The design tool, CoDeSys, also features a built in simulator/soft PLC enabling the reader to undertake exercises and test the examples.

Key features:

Introduces to programming techniques using IEC 61131-3 guidelines in the five PLC-recognised programming languages. Focuses on a methodical approach to programming, based on Boolean algebra, flowcharts, sequence diagrams and state-diagrams. Contains a useful methodology to solve problems, develop a structured code and document the programming code. Covers I/O like typical sensors, signals, signal formats, noise and cabling. Features Power Point slides covering all topics, example programs and solutions to end-of-chapter exercises via companion website.

No prior knowledge of programming PLCs is assumed making this text ideally suited to electronics engineering students pursuing a career in electronic design automation. Experienced PLC users in all fields of manufacturing will discover new possibilities and gain useful tips for more efficient and structured programming.

Information technology supports efficient operations, enterprise integration, and seamless value delivery, yet itself is too often inefficient, un-integrated, and of unclear value. This completely rewritten version of the bestselling Architecture and Patterns for IT Service Management, Resource Planning and Governance retains the original (and still unique) approach: apply the discipline of enterprise architecture to the business of large scale IT management itself. Author Charles Betz applies his deep practitioner experience to a critical reading of ITIL 2011, COBIT version 4, the CMMI suite, the IT portfolio management literature, and the Agile/Lean IT convergence, and derives a value stream analysis, IT semantic model, and enabling systems architecture (covering current topics such as CMDB/CMS, Service Catalog, and IT Portfolio Management). Using the concept of design patterns, the book then presents dozens of visual models documenting challenging problems in integrating IT management, showing how process, data, and IT management systems must work together to enable IT and its business partners. The edition retains the fundamental discipline of traceable process, data, and system analysis that has made the first edition a favored desk reference for IT process analysts around the world. This best seller is a must read for anyone charged with enterprise architecture, IT planning, or IT governance and management.Lean-oriented process analysis of IT management, carefully distinguished from an IT functional modelField-tested conceptual information model with definitions and usage scenarios, mapped to both the process and system architecturesIntegrated architecture for IT management systemsSynthesizes Enterprise Architecture, IT Service Management, and IT Portfolio Management in a practical way

The new edition of this classic O’Reilly reference provides clear, detailed explanations of every feature in the C language and runtime library, including multithreading, type-generic macros, and library functions that are new in the 2011 C standard (C11). If you want to understand the effects of an unfamiliar function, and how the standard library requires it to behave, you’ll find it here, along with a typical example.

Ideal for experienced C and C++ programmers, this book also includes popular tools in the GNU software collection. You’ll learn how to build C programs with GNU Make, compile executable programs from C source code, and test and debug your programs with the GNU debugger.

In three sections, this authoritative book covers:

C language concepts and language elements, with separate chapters on types, statements, pointers, memory management, I/O, and moreThe C standard library, including an overview of standard headers and a detailed function referenceBasic C programming tools in the GNU software collection, with instructions on how use them with the Eclipse IDE

Many electrical and computer engineering projects involve some kind of embedded system in which a microcontroller sits at the center as the primary source of control. The recently-developed Arduino development platform includes an inexpensive hardware development board hosting an eight-bit ATMEL ATmega-family processor and a Java-based software-development environment. These features allow an embedded systems beginner the ability to focus their attention on learning how to write embedded software instead of wasting time overcoming the engineering CAD tools learning curve. The goal of this text is to introduce fundamental methods for creating embedded software in general, with a focus on ANSI C. The Arduino development platform provides a great means for accomplishing this task. As such, this work presents embedded software development using 100% ANSI C for the Arduino's ATmega328P processor. We deviate from using the Arduino-specific Wiring libraries in an attempt to provide the most general embedded methods. In this way, the reader will acquire essential knowledge necessary for work on future projects involving other processors. Particular attention is paid to the notorious issue of using C pointers in order to gain direct access to microprocessor registers, which ultimately allow control over all peripheral interfacing. Table of Contents: Introduction / ANSI C / Introduction to Arduino / Embedded Debugging / ATmega328P Architecture / General-Purpose Input/Output / Timer Ports / Analog Input Ports / Interrupt Processing / Serial Communications / Assembly Language / Non-volatile Memory

In this easy-to-read guide from Oracle Press, Java guru Herb Schildt presents the key topics and concepts that all Java developers will need to begin developing modern, dynamic JavaFX GUI applications. Of course, it’s written in the cohesive, yet concise format that has made Schildt an international best-selling programming author. Designed expressly for Java programmers, the book’s focus is on the new JavaFX API. As a result, all examples are written entirely in Java. The book begins with the fundamentals, including the general form of a JavaFX program. Readers then advance to event handling, controls, images, fonts, layers, effects, transforms, animation s (including 3D animations), menus, and more. Numerous complete examples are included that put key topics and techniques into action.

Presents a cohesive, fast-paced overview of key facets of JavaFX 8 programming Sample code used in the text is available for download from the McGraw-Hill/Oracle Press Web site Written in Herb Schildt’s clear, crisp, uncompromising style that has made him the choice of millions worldwide

Discover which ARTIK modules to use for various applications, and how to produce code for them. This book goes beyond the information previously available online, efficiently guiding developers from initial setup of their development environment to product development and prototyping in no time. Beginners will find helpful background insights into foundation technology and useful reference information is included for more advanced developers.

Samsung's announcement of the new ARTIK modules for IoT has generated tremendous interest in the developer market for wearable and other consumer or industrial devices. This book provides the perfect tutorial-based introduction to the ARTIK family of “Systems on Modules,” which integrate powerful microprocessors, memory, wireless connectivity, and enhanced security on to very small form factor boards.

With Beginning Samsung ARTIK as your guide, take the next steps to creating great solutions with an ARTIK.

What You'll Learn

Use terminal emulators to access the command line and talk to the deviceEstablish Wi-Fi connectivity with a wireless networkUpgrade the operating system and install additional softwareBring up Eclipse IDE and create a cross-compiler toolchain on Mac OS XCross-compile for the ARM processors in the ARTIK modules using Arduino IDE with libArduino to CUse C to access the ARTIK hardware via a file based APIUse Node.js and Python inside the ARTIK moduleIntegrate applications with the Samsung SAMI data aggregation hubUse Temboo to generate IoT software solutions that can be downloaded and compiled natively inside the ARTIKDebug applications with software and hardware probesWho This Book Is ForModerately experienced developers wanting to understand ARTIK and how to interact with it from within their own apps or web services.

The pervasiveness and range of capabilities of today’s mobile devices have enabled a wide spectrum of mobile applications that are transforming our daily lives, from smartphones equipped with GPS to integrated mobile sensors that acquire physiological data. Human Activity Recognition: Using Wearable Sensors and Smartphones focuses on the automatic identification of human activities from pervasive wearable sensors—a crucial component for health monitoring and also applicable to other areas, such as entertainment and tactical operations.

Developed from the authors’ nearly four years of rigorous research in the field, the book covers the theory, fundamentals, and applications of human activity recognition (HAR). The authors examine how machine learning and pattern recognition tools help determine a user’s activity during a certain period of time. They propose two systems for performing HAR: Centinela, an offline server-oriented HAR system, and Vigilante, a completely mobile real-time activity recognition system. The book also provides a practical guide to the development of activity recognition applications in the Android framework.

For a variety of reasons, the MATLAB®-Java interface was never fully documented. This is really quite unfortunate: Java is one of the most widely used programming languages, having many times the number of programmers and programming resources as MATLAB. Also unfortunate is the popular claim that while MATLAB is a fine programming platform for prototyping, it is not suitable for real-world, modern-looking applications. Undocumented Secrets of MATLAB®-Java Programming aims to correct this misconception.

This book shows how using Java can significantly improve MATLAB program appearance and functionality, and that this can be done easily and even without any prior Java knowledge.

Readers are led step-by-step from simple to complex customizations. Code snippets, screenshots, and numerous online references are provided to enable the utilization of this book as both a sequential tutorial and as a random-access reference suited for immediate use. Java-savvy readers will find it easy to tailor code samples for their particular needs; for Java newcomers, an introduction to Java and numerous online references are provided.

This book demonstrates how

The MATLAB programming environment relies on Java for numerous tasks, including networking, data-processing algorithms and graphical user-interface (GUI) We can use MATLAB for easy access to external Java functionality, either third-party or user-created Using Java, we can extensively customize the MATLAB environment and application GUI, enabling the creation of visually appealing and usable applications

Apps! Websites! Rubber Ducks! Naked Ninjas! This book has everything. If you want to get started in user experience design (UX), you've come to the right place: 100 self-contained lessons that cover the whole spectrum of fundamentals.

Forget dry, technical material. This book—based on the wildly popular UX Crash Course from Joel Marsh’s blog The Hipper Element—is laced with the author's snarky brand of humor, and teaches UX in a simple, practical way. Becoming a professional doesn’t have to be boring.

Follow the real-life UX process from start-to-finish and apply the skills as you learn, or refresh your memory before the next meeting. UX for Beginners is perfect for non-designers who want to become designers, managers who teach UX, and programmers, salespeople, or marketers who want to learn more.

Start from scratch: the fundamentals of UXResearch the weird and wonderful things users doThe process and science of making anything user-friendlyUse size, color, and layout to help and influence usersPlan and create wireframesMake your designs feel engaging and persuasiveMeasure how your design works in the real worldFind out what a UX designer does all day

The next generation of computer system designers will be less concerned about details of processors and memories, and more concerned about the elements of a system tailored to particular applications. These designers will have a fundamental knowledge of processors and other elements in the system, but the success of their design will depend on the skills in making system-level tradeoffs that optimize the cost, performance and other attributes to meet application requirements. This book provides a new treatment of computer system design, particularly for System-on-Chip (SOC), which addresses the issues mentioned above. It begins with a global introduction, from the high-level view to the lowest common denominator (the chip itself), then moves on to the three main building blocks of an SOC (processor, memory, and interconnect). Next is an overview of what makes SOC unique (its customization ability and the applications that drive it). The final chapter presents future challenges for system design and SOC possibilities.

An accessible and practical guide to developing GUI’s for Python applications.This book is written for Python programmers who want to learn about GUI programming. It is also suitable for those who are new to Python but are familiar with object-oriented programming.

If you want to learn how to develop effective machine learning solutions to your business problems in R, this book is for you. It would be helpful to have a bit of familiarity with basic object-oriented programming concepts, but no prior experience is required.

Explore the possibility of building truly native, cross-platform mobile applications using your JavaScript skill—NativeScript!About This BookSave your marketing time by building for iOS, Android, and Windows Mobile platforms simultaneouslyBe an ace at utilizing the features of NativeScript and its ability to communicate with each of the host device libraries nativelyProficiently, build your fully cross-platform communication application exhibiting the fundamentals of NativeScriptWho This Book Is For

If you are a JavaScript developer and want to build cross-platform applications, then this book is just the right one for you!

What You Will LearnInstall and compile your application in NativeScriptGet important know-how on the NativeScript project structureDevelop and style your screens for multiple platformsCreate a full-featured cross-platform communication applicationImport and use several third-party componentsSimplify and deal with device resolution and cross-platform issuesTest and deploy your applicationIn Detail

NativeScript allows you to build a fast cross-platform application that has a native UI. NativeScript is a true cross-platform framework that generates native speed applications using the native components of the host platform, all using JavaScript. Although NativeScript allows you to build your application in JavaScript, you have full access to the host OS from your code, allowing you to easily tweak or use new platform features instantly at native code speeds.

Whether you have already developed multiple applications or zero applications, this book will help you to develop your next application in a cross-platform framework quickly, saving you a massive amount of time and money.

This book concisely shows you NativeScript's built-in framework that allows you to rapidly develop a fully-working compiled cross-platform application in just a few chapters. It starts by laying the foundation of NativeScript and working through the fundamentals to create a basic shell of the application. Moving on, you'll see how to build a full-fledged application step by step. We'll show you how to use plugins, and how to communicate with the native OS libraries easily so that you can customize your application as if your app was created in Java or Objective C. We then deal with the issues that arise from being cross platform and compensate for the different screen sizes, screen resolutions, and device abilities. Finally, we progress to testing and deploying your app.

Style and approach

A stepwise guide for building cross-platform mobile applications with the help of easy-to-understand examples.

Computing Principles V10 eBook covers all the topics of this popular software title used in schools and colleges worldwide for over twenty years. See Additional Notes for instructions to download the highly interactive PC software for your school. Used in thousands of schools and colleges worldwide the software is designed to work as a traditional textbook on your PC screen. Comprising hundreds of menu selected colourful topics where the graphic images (from your eBook) are brought to life for every value change along with many additional learning software features. Full colour printed is available for student handouts (using your values and selections) or images and text pasted to make student assignments. Various additional software editors are included to enable your own calculations to be explored and evaluated from simple algebraic equations to complex formulae. A combined eBook and educational software package at a tiny fraction of the previously published price. Table of Contents (350 software topics) Introduction, Hardware Devices, Data Structures, Data Files, Computer Systems, Data Handling, System Development, Computer Programming, Binary Numbers, Binary Arithmetic, Logic Gates 1., Logic Gates 2., Logic Families, Flip Flops, Combinational Logic, Counters, Counting, Shift Registers, Logic Interfacing, Boolean and DeMorgan's, Micro-Computer, Data/Address Bus, Memory Addressing, Arithmetic and Logic Unit, Clock and Reset, Instructions and Control, Memory Cells, Microprocessor Memory, Addressing Modes, Instructions Set 1., Instructions Set 2., Instructions Set 3., Additional Notes.

Rather than focus on design, CSS Secrets shows you how to solve problems with code. You'll learn how to apply Lea's analytical approach to practically every CSS problem you face to attain DRY, maintainable, flexible, lightweight, and standards-compliant results.

Inspired by her popular talks at over 60 international web development conferences, Lea Verou provides a wealth of information for topics including:

Backgrounds and BordersShapesVisual EffectsTypographyUser ExperienceStructure and LayoutTransitions and Animations

Getting Started with oVirt 3.3 has a tutorial-based approach to learning oVirt KVM virtualization. This book will introduce you to the various components of the oVirt engine and will show you how to implement virtualization.This book is designed for technicians and system administrators who are interested in virtualization technology in Linux / UNIX. It is assumed that you have an understanding of virtualization in general as well as what issues it solves. You will also need a basic knowledge of how to work on the command line in Linux.

A fast-paced tutorial that guides you through everything you need to know about dynamic UI design for Android devices.This book is for developers with a basic understanding of Android programming who would like to improve the appearance and usability of their applications. Whether you’re looking to create a more interactive user experience, create more dynamically adaptive UIs, provide better support for tablets and smartphones in a single app, reduce the complexity of managing your app UIs, or you are just trying to expand your UI design philosophy, then this book is for you.

Imagine how much easier creating web and mobile applications would be if you had a practical and concise, hands-on guide to visual design. Visual Usability gets into the nitty-gritty of applying visual design principles to complex application design.

You’ll learn how to avoid common mistakes, make informed decisions about application design, and elevate the ordinary. We’ll review three key principles that affect application design – consistency, hierarchy, and personality – and illustrate how to apply tools like typography, color, and layout to digital application design. Whether you’re a UI professional looking to fine-tune your skills, a developer who cares about making applications beautiful and usable, or someone entirely new to the design arena, Visual Usability is your one-stop, practical guide to visual design.

Discover the principles and rules that underlie successful application design Learn how to develop a rationale to support design strategy and move teams forwardMaster the visual design toolkit to increase user-friendliness and make complicated processes feel straightforward for your product

If you’re an Android application developer, chances are you’re using fixed, scrolling, swipe-able, and other cutting-edge custom UI Designs in your Android development projects. These UI Design approaches as well as other Android ViewGroup UI layout containers are the bread and butter of Pro Android User Interface (UI) design and Android User Experience (UX) design and development.

Using a top down approach, Pro Android UI shows you how to design and develop the best user interface for your app, while taking into account the varying device form factors in the increasingly fragmented Android environment. Pro Android UI aims to be the ultimate reference and customization cookbook for your Android UI Design, and as such will be useful to experienced developers as well as beginners.

With Android’s powerful UI layout classes, you can easily create everything from the simplest of lists to fully tricked-out user interfaces. While using these UI classes for boring, standard user interfaces can be quite simple, customizing a unique UI design can often become extremely challenging.

In Pro JavaFX 8 expert authors show you how to use the JavaFX platform to create rich-client Java applications. You'll discover how you can use this powerful Java-based UI platform, which is capable of handling large-scale data-driven business applications for PC as well as now mobile and embedded devices.

Covering the JavaFX API, development tools, and best practices, this book provides code examples that explore the exciting new features provided with JavaFX 8 which comes as part of Oracle's new Java (SE) 8 release. This book also contains engaging tutorials that cover virtually every facet of JavaFX development and reference materials on JavaFX that augment the JavaFX API documentation.

After reading and using this book, you'll have the authoritative knowledge that should give you an edge in your next JavaFX-based application projects for your job or your clients.

Learn JavaFX 8 shows you how to start developing rich-client desktop applications using your Java skills and provides comprehensive coverage of JavaFX 8's features. Each chapter starts with an introduction to the topic at hand, followed by a step-by-step discussion of the topic with small snippets of code. The book contains numerous figures aiding readers in visualizing the GUI that is built at every step in the discussion.

The book starts with an introduction to JavaFX and its history. It lists the system requirements and the steps to start developing JavaFX applications. It shows you how to create a Hello World application in JavaFX, explaining every line of code in the process. Later in the book, author Kishori Sharan discusses advanced topics such as 2D and 3D graphics, charts, FXML, advanced controls, and printing. Some of the advanced controls such as TableView, TreeTableView and WebView are covered at length in separate chapters.

This book provides complete and comprehensive coverage of JavaFX 8 features; uses an incremental approach to teach JavaFX, assuming no prior GUI knowledge; includes code snippets, complete programs, and pictures; covers MVC patterns using JavaFX; and covers advanced topics such as FXML, effects, transformations, charts, images, canvas, audio and video, DnD, and more. So, after reading and using this book, you'll come away with a comprehensive introduction to the JavaFX APIs as found in the new Java 8 platform.

If you are an engineer, a researcher, or a hobbyist, and you are interested in robotics and want to build your own robot, this book is for you. Readers are assumed to be new to robotics but should have experience with Python.

Suitable for a one- or two-semester undergraduate or beginning graduate course in computer science and computer engineering, Computer Organization, Design, and Architecture, Fifth Edition presents the operating principles, capabilities, and limitations of digital computers to enable the development of complex yet efficient systems. With 11 new sections and four revised sections, this edition takes students through a solid, up-to-date exploration of single- and multiple-processor systems, embedded architectures, and performance evaluation.

See What’s New in the Fifth Edition

Expanded coverage of embedded systems, mobile processors, and cloud computing Material for the "Architecture and Organization" part of the 2013 IEEE/ACM Draft Curricula for Computer Science and Engineering Updated commercial machine architecture examples

The backbone of the book is a description of the complete design of a simple but complete hypothetical computer. The author then details the architectural features of contemporary computer systems (selected from Intel, MIPS, ARM, Motorola, Cray and various microcontrollers, etc.) as enhancements to the structure of the simple computer. He also introduces performance enhancements and advanced architectures including networks, distributed systems, GRIDs, and cloud computing.

Computer organization deals with providing just enough details on the operation of the computer system for sophisticated users and programmers. Often, books on digital systems’ architecture fall into four categories: logic design, computer organization, hardware design, and system architecture. This book captures the important attributes of these four categories to present a comprehensive text that includes pertinent hardware, software, and system aspects.

Distributed Systems: An Algorithmic Approach, Second Edition provides a balanced and straightforward treatment of the underlying theory and practical applications of distributed computing. As in the previous version, the language is kept as unobscured as possible—clarity is given priority over mathematical formalism. This easily digestible text: Features significant updates that mirror the phenomenal growth of distributed systems Explores new topics related to peer-to-peer and social networks Includes fresh exercises, examples, and case studies

Supplying a solid understanding of the key principles of distributed computing and their relationship to real-world applications, Distributed Systems: An Algorithmic Approach, Second Edition makes both an ideal textbook and a handy professional reference.

JavaFX 8: Introduction by Example shows you how to use your existing Java skills to create graphically exciting client applications with the JavaFX 8 platform. The book is a new and much improved edition of JavaFX 2.0: Introduction by Example, taking you through a series of engaging, fun-to-work examples that bring you up to speed on the major facets of the platform. It will help you to create applications that look good, are fun to use, and that take advantage of the medium to present data of all types in ways that engage the user and lead to increased productivity.

Entirely example-based, JavaFX 8: Introduction by Example begins with the fundamentals of installing the software and creating a simple interface. From there, you'll move in progressive steps through the process of developing applications using JavaFX’s standard drawing primitives. You'll then explore images, animations, media, and web. This new edition incorporates the changes resulting from the switch to Java 8 SDK. It covers advanced topics such as custom controls, JavaFX 3D, gesture devices, and embedded systems. Best of all, the book is full of working code that you can adapt and extend to all your future projects.

Entirely example-based Filled with fun and practical code examples Covers all that's new in Java 8 relating to JavaFX such as Lambda expressions and StreamsCovers gesture devices, 3D display, embedded systems, and other advanced topics

Fully revised for the latest North American and ITU standards, Microwave Transmission Networks, Second Edition covers all stages of terrestrial point-to-point microwave network build-out, from planning and feasibility studies to system deployment and testing. This definitive volume is thoroughly updated with new information, including details on the impact of Ethernet and IP communications on microwave links. Useful formulas for solving microwave design-related problems are contained in this practical resource.

The first book to introduce computer architecture for security and provide the tools to implement secure computer systems

This book provides the fundamentals of computer architecture for security. It covers a wide range of computer hardware, system software and data concepts from a security perspective. It is essential for computer science and security professionals to understand both hardware and software security solutions to survive in the workplace.

Examination of memory, CPU architecture and system implementation Discussion of computer buses and a dual-port bus interface Examples cover a board spectrum of hardware and software systems Design and implementation of a patent-pending secure computer system Includes the latest patent-pending technologies in architecture security Placement of computers in a security fulfilled network environment Co-authored by the inventor of the modern Computed Tomography (CT) scanner Provides website for lecture notes, security tools and latest updates

In just a matter of days, you can develop powerful web applications with Rails that once took weeks or months to produce with other web frameworks. If that sounds too good to be true, it isn't. Find out for yourself with Rails: Up and Running, the concise and popular book that not only explains how Rails works, but guides you through a complete test drive.

Perfect for beginning web developers, this thoroughly revised edition teaches you the basics of installing and using Rails 2.1 and the Ruby scripting language. While Rails is praised for its simplicity, there are still a few tricky steps to master along the way. Rails: Up and Running offers lots of examples and covers just about everything you need to build functional Rails applications right away. Learn how to:Create simple database-backed applications, and build dynamic user-centric web pages using Ajax and RESTExploit the Rails service frameworks to send emails and implement web servicesMap data to an imperfect table, traverse complex relationships, and build custom findersUse techniques to solve common database performance problems

See how fast you can go on Rails, and how reliable it's become with the stability and power of version 2.1. With Rails: Up and Running, you'll discover why Rails is a remarkable new way to build database-driven web applications.

Powerful, Flexible Tools for a Data-Driven WorldAs the data deluge continues in today’s world, the need to master data mining, predictive analytics, and business analytics has never been greater. These techniques and tools provide unprecedented insights into data, enabling better decision making and forecasting, and ultimately the solution of increasingly complex problems.

Learn from the Creators of the RapidMiner Software Written by leaders in the data mining community, including the developers of the RapidMiner software, RapidMiner: Data Mining Use Cases and Business Analytics Applications provides an in-depth introduction to the application of data mining and business analytics techniques and tools in scientific research, medicine, industry, commerce, and diverse other sectors. It presents the most powerful and flexible open source software solutions: RapidMiner and RapidAnalytics. The software and their extensions can be freely downloaded at www.RapidMiner.com.

Understand Each Stage of the Data Mining ProcessThe book and software tools cover all relevant steps of the data mining process, from data loading, transformation, integration, aggregation, and visualization to automated feature selection, automated parameter and process optimization, and integration with other tools, such as R packages or your IT infrastructure via web services. The book and software also extensively discuss the analysis of unstructured data, including text and image mining.

Easily Implement Analytics Approaches Using RapidMiner and RapidAnalytics Each chapter describes an application, how to approach it with data mining methods, and how to implement it with RapidMiner and RapidAnalytics. These application-oriented chapters give you not only the necessary analytics to solve problems and tasks, but also reproducible, step-by-step descriptions of using RapidMiner and RapidAnalytics. The case studies serve as blueprints for your own data mining applications, enabling you to effectively solve similar problems.

Computational Finance Using C and C# raises computational finance to the next level using the languages of both standard C and C#. The inclusion of both these languages enables readers to match their use of the book to their firm’s internal software and code requirements. The book also provides derivatives pricing information for equity derivates (vanilla options, quantos, generic equity basket options); interest rate derivatives (FRAs, swaps, quantos); foreign exchange derivatives (FX forwards, FX options); and credit derivatives (credit default swaps, defaultable bonds, total return swaps).

This book is organized into 8 chapters, beginning with an overview of financial derivatives followed by an introduction to stochastic processes. The discussion then shifts to generation of random variates; European options; single asset American options; multi-asset options; other financial derivatives; and C# portfolio pricing application. The text is supported by a multi-tier website which enables purchasers of the book to download free software, which includes executable files, configuration files, and results files. With these files the user can run the C# portfolio pricing application and change the portfolio composition and the attributes of the deals.

This book will be of interest to financial engineers and analysts as well as numerical analysts in banking, insurance, and corporate finance.

Illustrates the use of C# design patterns, including dictionaries, abstract classes, and .NET InteropServices.

In this remarkably illustrative and thoroughly accessible look at one of the most intriguing frontiers in science and computers, award-winning New York Times writer George Johnson reveals the fascinating world of quantum computing—the holy grail of super computers where the computing power of single atoms is harnassed to create machines capable of almost unimaginable calculations in the blink of an eye.

As computer chips continue to shrink in size, scientists anticipate the end of the road: A computer in which each switch is comprised of a single atom. Such a device would operate under a different set of physical laws: The laws of quantum mechanics. Johnson gently leads the curious outsider through the surprisingly simple ideas needed to understand this dream, discussing the current state of the revolution, and ultimately assessing the awesome power these machines could have to change our world.

This eBook has been optimized for use on mobile devices with a small screen. It covers all the topics of this popular software title used in schools and colleges worldwide for over twenty years. Now published as a portable, learning, reference and subject revision guide students, teachers and hobbyists have their own low-cost version as an eBook on their mobile phone. Explanatory text is condensed to note form making it quick and easy to find the detail on the selected topic or to provide a content reminder for exam revision. All common formula for the subject are included using typical values with calculations and results determined from the software default inputs. The PC software to accompany your mobile device eBook provides you with an easy and enjoyable way to study your chosen subject. Comprising hundreds of menu selected colorful topics where the graphic images on your mobile are brought to life for every value change along with many additional learning and software features. A unique combined digital portable study device and educational software package at a tiny fraction of the previously published price. See Additional Notes for the FREE Electronics, Mechanics, Maths and Computing V10 educational software download for your PC, to accompany this eBook title, worth a120 / $160.

This introductory text on ‘digital logic and computer organization’ presents a logical treatment of all the fundamental concepts necessary to understand the organization and design of a computer. It is designed to cover the requirements of a first-course in computer organization for undergraduate Computer Science, Electronics, or MCA students. Beginning from first principles, the text guides students through to a stage where they are able to design and build a small computer with available IC chips. Starting with the foundation material on data representation, computer arithmetic and combinatorial and sequential circuit design, the text explains ALU design and includes a discussion on an ALU IC chip. It also discusses Algorithmic State Machine and its representation using a Hardware Description Language before shifting to computer organization. The evolutionary development of a small hypothetical computer is described illustrating hardware-software trade-off in computer organization. Its instruction set is designed giving reasons why each new instruction is introduced. This is followed by a description of the general features of a CPU, organization of main memory and I/O systems. The book concludes with a chapter describing the features of a real computer, namely the Intel Pentium. An appendix describes a number of laboratory experiments which can be put together by students, culminating in the design of a toy computer. Key Features • Self-contained presentation of digital logic and computer organization with minimal pre-requisites • Large number of examples provided throughout the book • Each chapter begins with learning goals and ends with a summary to aid self-study by students.

CSS lets you create professional-looking websites, but learning its finer points can be tricky—even for seasoned web developers. This fully updated edition provides the most modern and effective tips, tricks, and tutorial-based instruction on CSS available today. Learn how to use new tools such as Flexbox and Sass to build web pages that look great and run fast on any desktop or mobile device. Ideal for casual and experienced designers alike.

The important stuff you need to know:

Start with the basics. Write CSS-friendly HTML, including the HTML5 tags recognized by today’s browsers.Design for mobile devices. Create web pages that look great when visitors use them on the go.Make your pages work for you. Add animations that capture the imagination, and forms that get the job done.Take control of page layouts. Use professional design techniques such as floats and positioning.Make your layouts more flexible. Design websites with Flexbox that adjust to different devices and screen sizes.Work more efficiently. Write less CSS code and work with smaller files, using Syntactically Awesome Stylesheets (Sass).