Best of
Computer-Science

2013

An Introduction to Statistical Learning: With Applications in R


Gareth James - 2013
    This book presents some of the most important modeling and prediction techniques, along with relevant applications. Topics include linear regression, classification, resampling methods, shrinkage approaches, tree- based methods, support vector machines, clustering, and more. Color graphics and real-world examples are used to illustrate the methods presented. Since the goal of this textbook is to facilitate the use of these statistical learning techniques by practitioners in science, industry, and other fields, each chapter contains a tutorial on implementing the analyses and methods presented in R, an extremely popular open source statistical software platform. Two of the authors co-wrote The Elements of Statistical Learning (Hastie, Tibshirani and Friedman, 2nd edition 2009), a popular reference book for statistics and machine learning researchers. An Introduction to Statistical Learning covers many of the same topics, but at a level accessible to a much broader audience. This book is targeted at statisticians and non-statisticians alike who wish to use cutting-edge statistical learning techniques to analyze their data. The text assumes only a previous course in linear regression and no knowledge of matrix algebra.

High Performance Browser Networking


Ilya Grigorik - 2013
    By understanding what the browser can and cannot do, you’ll be able to make better design decisions and deliver faster web applications to your users.Author Ilya Grigorik—a developer advocate and web performance engineer at Google—starts with the building blocks of TCP and UDP, and then dives into newer technologies such as HTTP 2.0, WebSockets, and WebRTC. This book explains the benefits of these technologies and helps you determine which ones to use for your next application.- Learn how TCP affects the performance of HTTP- Understand why mobile networks are slower than wired networks- Use best practices to address performance bottlenecks in HTTP- Discover how HTTP 2.0 (based on SPDY) will improve networking- Learn how to use Server Sent Events (SSE) for push updates, and WebSockets for XMPP chat- Explore WebRTC for browser-to-browser applications such as P2P video chat- Examine the architecture of a simple app that uses HTTP 2.0, SSE, WebSockets, and WebRTC

JavaScript and jQuery: Interactive Front-End Web Development


Jon Duckett - 2013
    The content assumes no previous programming experience, other than knowing how to create a basic web page in HTML & CSS. You'll learn how to achieve techniques seen on many popular websites (such as adding animation, tabbed panels, content sliders, form validation, interactive galleries, and sorting data)..Introduces core programming concepts in JavaScript and jQueryUses clear descriptions, inspiring examples, and easy-to-follow diagramsTeaches you how to create scripts from scratch, and understand the thousands of JavaScripts, JavaScript APIs, and jQuery plugins that are available on the webDemonstrates the latest practices in progressive enhancement, cross-browser compatibility, and when you may be better off using CSS3If you're looking to create more enriching web experiences and express your creativity through code, then this is the book for you.This book is also available as part of a set in hardcover - Web Design with HTML, CSS, JavaScript and jQuery, 9781119038634 - and in softcover - Web Design with HTML, CSS, JavaScript and jQuery, 9781118907443.

Functional Programming in Scala


Rúnar Bjarnason - 2013
    As a result, functional code is easier to test and reuse, simpler to parallelize, and less prone to bugs. Scala is an emerging JVM language that offers strong support for FP. Its familiar syntax and transparent interoperability with existing Java libraries make Scala a great place to start learning FP.Functional Programming in Scala is a serious tutorial for programmers looking to learn FP and apply it to the everyday business of coding. The book guides readers from basic techniques to advanced topics in a logical, concise, and clear progression. In it, they'll find concrete examples and exercises that open up the world of functional programming.Purchase of the print book comes with an offer of a free PDF, ePub, and Kindle eBook from Manning. Also available is all code from the book.

Neural Networks and Deep Learning


Michael Nielsen - 2013
    The book will teach you about:* Neural networks, a beautiful biologically-inspired programming paradigm which enables a computer to learn from observational data* Deep learning, a powerful set of techniques for learning in neural networksNeural networks and deep learning currently provide the best solutions to many problems in image recognition, speech recognition, and natural language processing. This book will teach you the core concepts behind neural networks and deep learning.

Systems Performance: Enterprise and the Cloud


Brendan Gregg - 2013
    Now, internationally renowned performance expert Brendan Gregg has brought together proven methodologies, tools, and metrics for analyzing and tuning even the most complex environments. Systems Performance: Enterprise and the Cloud focuses on Linux(R) and Unix(R) performance, while illuminating performance issues that are relevant to all operating systems. You'll gain deep insight into how systems work and perform, and learn methodologies for analyzing and improving system and application performance. Gregg presents examples from bare-metal systems and virtualized cloud tenants running Linux-based Ubuntu(R), Fedora(R), CentOS, and the illumos-based Joyent(R) SmartOS(TM) and OmniTI OmniOS(R). He systematically covers modern systems performance, including the "traditional" analysis of CPUs, memory, disks, and networks, and new areas including cloud computing and dynamic tracing. This book also helps you identify and fix the "unknown unknowns" of complex performance: bottlenecks that emerge from elements and interactions you were not aware of. The text concludes with a detailed case study, showing how a real cloud customer issue was analyzed from start to finish. Coverage includes - Modern performance analysis and tuning: terminology, concepts, models, methods, and techniques - Dynamic tracing techniques and tools, including examples of DTrace, SystemTap, and perf - Kernel internals: uncovering what the OS is doing - Using system observability tools, interfaces, and frameworks - Understanding and monitoring application performance - Optimizing CPUs: processors, cores, hardware threads, caches, interconnects, and kernel scheduling - Memory optimization: virtual memory, paging, swapping, memory architectures, busses, address spaces, and allocators - File system I/O, including caching - Storage devices/controllers, disk I/O workloads, RAID, and kernel I/O - Network-related performance issues: protocols, sockets, interfaces, and physical connections - Performance implications of OS and hardware-based virtualization, and new issues encountered with cloud computing - Benchmarking: getting accurate results and avoiding common mistakes This guide is indispensable for anyone who operates enterprise or cloud environments: system, network, database, and web admins; developers; and other professionals. For students and others new to optimization, it also provides exercises reflecting Gregg's extensive instructional experience.

A Tour of C++


Bjarne Stroustrup - 2013
    Bjarne Stroustrup, the designer and original implementer of C++, thoroughly covers the details of this language and its use in his definitive reference, The C++ Programming Language, Fourth Edition. In A Tour of C++ , Stroustrup excerpts the overview chapters from that complete reference, expanding and enhancing them to give an experienced programmer-in just a few hours-a clear idea of what constitutes modern C++. In this concise, self-contained guide, Stroustrup covers most major language features and the major standard-library components-not, of course, in great depth, but to a level that gives programmers a meaningful overview of the language, some key examples, and practical help in getting started. Stroustrup presents the C++ features in the context of the programming styles they support, such as object-oriented and generic programming. His tour is remarkably comprehensive. Coverage begins with the basics, then ranges widely through more advanced topics, including many that are new in C++11, such as move semantics, uniform initialization, lambda expressions, improved containers, random numbers, and concurrency. The tour ends with a discussion of the design and evolution of C++ and the extensions added for C++11. This guide does not aim to teach you how to program (see Stroustrup's Programming: Principles and Practice Using C++ for that); nor will it be the only resource you'll need for C++ mastery (see Stroustrup's The C++ Programming Language, Fourth Edition, for that). If, however, you are a C or C++ programmer wanting greater familiarity with the current C++ language, or a programmer versed in another language wishing to gain an accurate picture of the nature and benefits of modern C++, you can't find a shorter or simpler introduction than this tour provides.

Programming Elixir: Functional |> Concurrent |> Pragmatic |> Fun


Dave Thomas - 2013
    You know you need concurrent applications, but also know these are almost impossible to get right. Meet Elixir, a functional, concurrent language built on the rock-solid Erlang VM. Elixir’s pragmatic syntax and built-in support for metaprogramming will make you productive and keep you interested for the long haul. This book is the introduction to Elixir for experienced programmers.Maybe you need something that’s closer to Ruby, but with a battle-proven environment that’s unrivaled for massive scalability, concurrency, distribution, and fault tolerance. Maybe the time is right for the Next Big Thing. Maybe it’s Elixir.

Parallel and Concurrent Programming in Haskell: Techniques for Multicore and Multithreaded Programming


Simon Marlow - 2013
    You’ll learn how parallelism exploits multicore processors to speed up computation-heavy programs, and how concurrency enables you to write programs with threads for multiple interactions.Author Simon Marlow walks you through the process with lots of code examples that you can run, experiment with, and extend. Divided into separate sections on Parallel and Concurrent Haskell, this book also includes exercises to help you become familiar with the concepts presented:Express parallelism in Haskell with the Eval monad and Evaluation StrategiesParallelize ordinary Haskell code with the Par monadBuild parallel array-based computations, using the Repa libraryUse the Accelerate library to run computations directly on the GPUWork with basic interfaces for writing concurrent codeBuild trees of threads for larger and more complex programsLearn how to build high-speed concurrent network serversWrite distributed programs that run on multiple machines in a network

Introduction to Computation and Programming Using Python


John V. Guttag - 2013
    It provides students with skills that will enable them to make productive use of computational techniques, including some of the tools and techniques of "data science" for using computation to model and interpret data. The book is based on an MIT course (which became the most popular course offered through MIT's OpenCourseWare) and was developed for use not only in a conventional classroom but in in a massive open online course (or MOOC) offered by the pioneering MIT--Harvard collaboration edX.Students are introduced to Python and the basics of programming in the context of such computational concepts and techniques as exhaustive enumeration, bisection search, and efficient approximation algorithms. The book does not require knowledge of mathematics beyond high school algebra, but does assume that readers are comfortable with rigorous thinking and not intimidated by mathematical concepts. Although it covers such traditional topics as computational complexity and simple algorithms, the book focuses on a wide range of topics not found in most introductory texts, including information visualization, simulations to model randomness, computational techniques to understand data, and statistical techniques that inform (and misinform) as well as two related but relatively advanced topics: optimization problems and dynamic programming.Introduction to Computation and Programming Using Python can serve as a stepping-stone to more advanced computer science courses, or as a basic grounding in computational problem solving for students in other disciplines.

Competitive Programming 3


Steven Halim - 2013
    

Ctrl+Shift+Enter Mastering Excel Array Formulas: Do the Impossible with Excel Formulas Thanks to Array Formula Magic


Mike Girvin - 2013
    Beginning with an introduction to array formulas, this manual examines topics such as how they differ from ordinary formulas, the benefits and drawbacks of their use, functions that can and cannot handle array calculations, and array constants and functions. Among the practical applications surveyed include how to extract data from tables and unique lists, how to get results that match any criteria, and how to utilize various methods for unique counts. This book contains 529 screen shots.

Quantum Computing Since Democritus


Scott Aaronson - 2013
    Full of insights, arguments and philosophical perspectives, the book covers an amazing array of topics. Beginning in antiquity with Democritus, it progresses through logic and set theory, computability and complexity theory, quantum computing, cryptography, the information content of quantum states and the interpretation of quantum mechanics. There are also extended discussions about time travel, Newcomb's Paradox, the anthropic principle and the views of Roger Penrose. Aaronson's informal style makes this fascinating book accessible to readers with scientific backgrounds, as well as students and researchers working in physics, computer science, mathematics and philosophy.

Understanding Computation: From Simple Machines to Impossible Programs


Tom Stuart - 2013
    Understanding Computation explains theoretical computer science in a context you’ll recognize, helping you appreciate why these ideas matter and how they can inform your day-to-day programming.Rather than use mathematical notation or an unfamiliar academic programming language like Haskell or Lisp, this book uses Ruby in a reductionist manner to present formal semantics, automata theory, and functional programming with the lambda calculus. It’s ideal for programmers versed in modern languages, with little or no formal training in computer science.* Understand fundamental computing concepts, such as Turing completeness in languages* Discover how programs use dynamic semantics to communicate ideas to machines* Explore what a computer can do when reduced to its bare essentials* Learn how universal Turing machines led to today’s general-purpose computers* Perform complex calculations, using simple languages and cellular automata* Determine which programming language features are essential for computation* Examine how halting and self-referencing make some computing problems unsolvable* Analyze programs by using abstract interpretation and type systems

Two Scoops of Django: Best Practices for Django 1.5


Daniel Roy Greenfeld - 2013
    We'll introduce you to various tips, tricks, patterns, code snippets, and techniques that we've picked up over the years.This book is great for:Beginners who have just finished the Django tutorial.Developers with intermediate knowledge of Django who want to improve their Django projects.

Distributed Systems For Fun and Profit


Mikito Takada - 2013
    

Algorithms Unlocked


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

Modern C++ Programming with Test-Driven Development: Code Better, Sleep Better


Jeff Langr - 2013
    Test-driven development (TDD) is a modern software development practice that can dramatically reduce the number of defects in systems, produce more maintainable code, and give you the confidence to change your software to meet changing needs. But C++ programmers have been ignored by those promoting TDD--until now. In this book, Jeff Langr gives you hands-on lessons in the challenges and rewards of doing TDD in C++.Modern C++ Programming With Test-Driven Development, the only comprehensive treatment on TDD in C++ provides you with everything you need to know about TDD, and the challenges and benefits of implementing it in your C++ systems. Its many detailed code examples take you step-by-step from TDD basics to advanced concepts. As a veteran C++ programmer, you're already writing high-quality code, and you work hard to maintain code quality. It doesn't have to be that hard. In this book, you'll learn: how to use TDD to improve legacy C++ systems how to identify and deal with troublesome system dependencies how to do dependency injection, which is particularly tricky in C++ how to use testing tools for C++ that aid TDD new C++11 features that facilitate TDD As you grow in TDD mastery, you'll discover how to keep a massive C++ system from becoming a design mess over time, as well as particular C++ trouble spots to avoid. You'll find out how to prevent your tests from being a maintenance burden and how to think in TDD without giving up your hard-won C++ skills. Finally, you'll see how to grow and sustain TDD in your team. Whether you're a complete unit-testing novice or an experienced tester, this book will lead you to mastery of test-driven development in C++.What You Need A C++ compiler running under Windows or Linux, preferably one that supports C++11. Examples presented in the book were built under gcc 4.7.2. Google Mock 1.6 (downloadable for free; it contains Google Test as well) or an alternate C++ unit testing tool. Most examples in the book are written for Google Mock, but it isn't difficult to translate them to your tool of choice. A good programmer's editor or IDE. cmake, preferably. Of course, you can use your own preferred make too. CMakeLists.txt files are provided for each project. Examples provided were built using cmake version 2.8.9. Various freely-available third-party libraries are used as the basis for examples in the book. These include: - cURL - JsonCpp - Boost (filesystem, date_time/gregorian, algorithm, assign) Several examples use the boost headers/libraries. Only one example uses cURL and JsonCpp.

Introducing Python: Modern Computing in Simple Packages


Bill Lubanovic - 2013
    In addition to giving a strong foundation in the language itself, Lubanovic shows how to use it for a range of applications in business, science, and the arts, drawing on the rich collection of open source packages developed by Python fans.It's impressive how many commercial and production-critical programs are written now in Python. Developed to be easy to read and maintain, it has proven a boon to anyone who wants applications that are quick to write but robust and able to remain in production for the long haul.This book focuses on the current version of Python, 3.x, while including sidebars about important differences with 2.x for readers who may have to deal with programs in that version.

The Rails 4 Way


Obie Fernandez - 2013
    It has conquered developer mindshare at startups and enterprises alike with its focus of simplicity, convention and clean, maintainable code. The latest version, Rails 4, continues the tradition of enhanced performance, security and developer productivity, with improvements that enable professional developers to focus on what matters most: delivering business value quickly and consistently.The Rails™ 4 Way is the only comprehensive, authoritative guide to delivering production-quality code with Rails 4. Pioneering Rails expert Obie Fernandez and his team of leading Rails experts illuminate the entire set of Rails APIs, along with the idioms, design approaches, and libraries that make developing applications with Rails so powerful. Drawing on their unsurpassed experience and track record, they address the real challenges development teams face, showing how to use Rails to maximize your productivity.Using numerous detailed code examples, the author systematically cover Rails key capabilities and subsystems, making this book a reference that you depend on everyday. He presents advanced Rails programming techniques that have been proven effective in day-to-day usage on dozens of production Rails systems and offers important insights into behavior-driven development and production considerations such as scalability. Dive deep into the subtleties of the asset pipeline and other advanced Rails topics such as security and scalability. The Rails 4 Way is your best guide for making Rails do exactly what you want it to do.

Simulation of Digital Communication Systems using Matlab


Mathuranathan Viswanathan - 2013
    Some of the simulation topics include various digital modulation and channel coding techniques, OFDM, fading channels, random distributions .Essential topics in digital communication are also introduced to foster better understanding of simulation methodologies.This ebook is meant for students and instructors who are interested in simulation of signal processing and digital communication with Matlab. You should have a fair understanding of Matlab programming to begin with. Essential topics in digital communication are introduced to foster understanding of simulation methodologies.This second edition includes following new topics - propagation path models like - log normal shadowing, Hata-Okumura models, in-depth treatment of Shannon-Hartley equation and Channel Capacity calculationSome of the key topics include: Sampling theorem, hard & soft decision decoding, Hamming codes, Reed Solomon codes, convolutional codes, Viterbi decoding, Inter symbol interference, Correlative coding, Raised cosine filter, Square Root Raised Cosine filter, Gibbs phenomenon, Moving average filter, Probability and random process, Chi-square, Gaussian, uniform, Rician, Rayleigh distributions, demonstration of central limit theorem, Propagation models, fading models, digital modulation techniques, OFDM, spread spectrum.

Real World OCaml: Functional programming for the masses


Yaron Minsky - 2013
    Through the book’s many examples, you’ll quickly learn how OCaml stands out as a tool for writing fast, succinct, and readable systems code.Real World OCaml takes you through the concepts of the language at a brisk pace, and then helps you explore the tools and techniques that make OCaml an effective and practical tool. In the book’s third section, you’ll delve deep into the details of the compiler toolchain and OCaml’s simple and efficient runtime system.Learn the foundations of the language, such as higher-order functions, algebraic data types, and modulesExplore advanced features such as functors, first-class modules, and objectsLeverage Core, a comprehensive general-purpose standard library for OCamlDesign effective and reusable libraries, making the most of OCaml’s approach to abstraction and modularityTackle practical programming problems from command-line parsing to asynchronous network programmingExamine profiling and interactive debugging techniques with tools such as GNU gdb

Interactive Data Visualization for the Web


Scott Murray - 2013
    It’s easy and fun with this practical, hands-on introduction. Author Scott Murray teaches you the fundamental concepts and methods of D3, a JavaScript library that lets you express data visually in a web browser. Along the way, you’ll expand your web programming skills, using tools such as HTML and JavaScript.This step-by-step guide is ideal whether you’re a designer or visual artist with no programming experience, a reporter exploring the new frontier of data journalism, or anyone who wants to visualize and share data.Learn HTML, CSS, JavaScript, and SVG basicsDynamically generate web page elements from your data—and choose visual encoding rules to style themCreate bar charts, scatter plots, pie charts, stacked bar charts, and force-directed layoutsUse smooth, animated transitions to show changes in your dataIntroduce interactivity to help users explore data through different viewsCreate customized geographic maps with dataExplore hands-on with downloadable code and over 100 examples

Coding the Matrix: Linear Algebra through Computer Science Applications


Philip N. Klein - 2013
    Mathematical concepts and computational problems are motivated by applications in computer science. The reader learns by "doing," writing programs to implement the mathematical concepts and using them to carry out tasks and explore the applications. Examples include: error-correcting codes, transformations in graphics, face detection, encryption and secret-sharing, integer factoring, removing perspective from an image, PageRank (Google's ranking algorithm), and cancer detection from cell features. A companion web site, codingthematrix.com provides data and support code. Most of the assignments can be auto-graded online. Over two hundred illustrations, including a selection of relevant "xkcd" comics. Chapters: "The Function," "The Field," "The Vector," "The Vector Space," "The Matrix," "The Basis," "Dimension," "Gaussian Elimination," "The Inner Product," "Special Bases," "The Singular Value Decomposition," "The Eigenvector," "The Linear Program"

Understanding and Using C Pointers


Richard Reese - 2013
    With this practical book, you’ll learn how pointers provide the mechanism to dynamically manipulate memory, enhance support for data structures, and enable access to hardware. Author Richard Reese shows you how to use pointers with arrays, strings, structures, and functions, using memory models throughout the book.Difficult to master, pointers provide C with much flexibility and power—yet few resources are dedicated to this data type. This comprehensive book has the information you need, whether you’re a beginner or an experienced C or C++ programmer or developer.Get an introduction to pointers, including the declaration of different pointer typesLearn about dynamic memory allocation, de-allocation, and alternative memory management techniquesUse techniques for passing or returning data to and from functionsUnderstand the fundamental aspects of arrays as they relate to pointersExplore the basics of strings and how pointers are used to support themExamine why pointers can be the source of security problems, such as buffer overflowLearn several pointer techniques, such as the use of opaque pointers, bounded pointers and, the restrict keyword

High Performance Python: Practical Performant Programming for Humans


Micha Gorelick - 2013
    Updated for Python 3, this expanded edition shows you how to locate performance bottlenecks and significantly speed up your code in high-data-volume programs. By exploring the fundamental theory behind design choices, High Performance Python helps you gain a deeper understanding of Python's implementation.How do you take advantage of multicore architectures or clusters? Or build a system that scales up and down without losing reliability? Experienced Python programmers will learn concrete solutions to many issues, along with war stories from companies that use high-performance Python for social media analytics, productionized machine learning, and more.Get a better grasp of NumPy, Cython, and profilersLearn how Python abstracts the underlying computer architectureUse profiling to find bottlenecks in CPU time and memory usageWrite efficient programs by choosing appropriate data structuresSpeed up matrix and vector computationsUse tools to compile Python down to machine codeManage multiple I/O and computational operations concurrentlyConvert multiprocessing code to run on local or remote clustersDeploy code faster using tools like Docker

CCNA Routing and Switching Study Guide: Exams 100-101, 200-101, and 200-120


Todd Lammle - 2013
    This all-purpose CCNA study guide methodically covers all the objectives of the ICND1 (100-101) and ICND2 (200-101) exams as well as providing additional insight for those taking CCNA Composite (200-120) exam. It thoroughly examines operation of IP data networks, LAN switching technologies, IP addressing (IPv4/IPv6), IP routing technologies, IP services, network device security, troubleshooting, and WAN technologies.Valuable study tools such as a companion test engine that includes hundreds of sample questions, a pre-assessment test, and multiple practice exams. Plus, you'll also get access to hundreds of electronic flashcards, author files, and a network simulator.CCNA candidates may choose to take either the ICND1(100-101) and ICND2 (200-101) exams or the CCNA Composite exam (200-120); this study guide covers the full objectives of all three Written by bestselling Sybex study guide author Todd Lammle, an acknowledged authority on all things Cisco Covers essential Cisco networking topics such as operating an IP data network, IP addressing, switching and routing technologies, troubleshooting, network device security, and much more Includes a comprehensive set of study tools including practice exams, electronic flashcards, comprehensive glossary of key terms, videos, and a network simulator that can be used with the book's hands-on labs Bonus Content: Access to over 40 MicroNugget videos from CBT Nuggets CCNA Routing and Switching Study Guide prepares you for CCNA certification success.

Algorithms


Jeff Erickson - 2013
    Spurred by changes of our undergraduate theory curriculum, I undertook a major revision of my notes in 2016; this book consists of a subset of my revised notes on the most fundamental course material, mostly reflecting the algorithmic content of our new required junior-level theory course.

Laravel Testing Decoded


Jeffrey Way - 2013
    As your application grows, so does your sloppy, untested codebase. Before long, you begin to drown, as your ability to manually test the application becomes unrealistic, or even impossible! It's at these specific times, when you begin to realize the down-right necessity for testing. Sure, you might have read a TDD book in the past, but, like many things in life, we require real-life experience, before we suddenly - in a wonderful, blissful "aha moment" - get it.The only problem is that testing can be a tricky thing. In fact, it's quite possible that your codebase, as it currently stands, is untestable! What you may not realize is that, while, yes, testing does help to ensure that your code works as expected, following this pattern will also make you a better developer. That messy, untestable spaghetti code that you might have snuck into your project in the past will never happen again. Trust me: as soon as you bring the phrase "how could I test this" to the forefront of every new piece of code, you'll, with a smile on your face, look back to your former self, and laugh at your crazy, cowboy ways. Welcome to modern software development.While the principles of testing (and TDD) are language-agnostic, when it comes to execution, there are a variety of tools and techniques at your finger tips. This book is as much an introduction to TDD as it is a deep analysis of the Laravel way of testing applications. Updates will be free for life.

Implementing Domain-Driven Design


Vaughn Vernon - 2013
    Vaughn Vernon couples guided approaches to implementation with modern architectures, highlighting the importance and value of focusing on the business domain while balancing technical considerations.Building on Eric Evans’ seminal book, Domain-Driven Design, the author presents practical DDD techniques through examples from familiar domains. Each principle is backed up by realistic Java examples–all applicable to C# developers–and all content is tied together by a single case study: the delivery of a large-scale Scrum-based SaaS system for a multitenant environment.The author takes you far beyond “DDD-lite” approaches that embrace DDD solely as a technical toolset, and shows you how to fully leverage DDD’s “strategic design patterns” using Bounded Context, Context Maps, and the Ubiquitous Language. Using these techniques and examples, you can reduce time to market and improve quality, as you build software that is more flexible, more scalable, and more tightly aligned to business goals.

Sudo Mastery: User Access Control for Real People


Michael W. Lucas - 2013
    The root account can do anything. Other users are peasants with only minimal system access. This worked fine in UNIX’s youth, but today, system administration responsibilities are spread among many people and applications. Each person needs a tiny slice of root’s power.Sudo lets you divide root’s monolithic power between the people who need it, with accountability and auditability.Sudo Mastery will teach you to: * design a sudo policy rather than slap rules together * simplify policies with lists and aliases * use non-Unix information sources in policies * configure alternate sudo policies * manage shell environments * verify system integrity and perform intrusion detection * have a common sudo policy across your server farm * manage sudo policies via LDAP * log and debug sudo * log and replay full sudo sessions * use authentication systems other than passwordsWhile many people use sudo, most use only a small part of it’s features. Chances are, you’re doing it wrong. Master sudo with Sudo Mastery.

The IOS Apprentice: Beginning IOS Development with Swift 2


raywenderlich.com Team - 2013
    Four tutorials, four apps. Each new app will be a little more advanced than the one before, and together they cover everything you need to know to make your own apps.By the end of the series you'll be experienced enough to turn your ideas into real apps that you can sell on the App Store.Tutorial 1: Bull's Eye. In the first tutorial in the book, you'll start off by building a simple but fun game to learn the basics of iPhone programming. In the process, you'll get familiar with Xcode, Interface Builder, and Swift in an easygoing manner.Tutorial 2: Checklists. In the second tutorial in the series, you'll create your own to-do list app. In the process, you'll learn about the fundamental design patterns that all iOS apps use and about table views, navigation controllers and delegates. Now you're making apps for real!Tutorial 3: MyLocations. In the third tutorial, you'll develop a location-aware app that lets you keep a list of spots that you find interesting. In the process, you'll learn about Core Location, Core Data, Map Kit, and much more!Tutorial 4: StoreSearch. Mobile apps often need to talk to web services and that's what you'll do in this final tutorial of the book. You'll make a stylish app for iPhone and iPad that lets you search for products on the iTunes store using HTTP requests and JSON.It is my sincere belief that this series can turn you from a complete newbie into an accomplished iOS developer, but you do have to put in the time and effort. By writing this book I've done my part, now it's up to you...

Data Analysis with R


Garrett Grolemund - 2013
    It’s also good for people who have a PhD in statistics, but may not know how to write programs that apply statistical methods to real data.Discover how to apply the R language to data analysis through active learning and hands-on demonstration. You’ll learn how to use R libraries that useful and reliable for data analysis, and how they can save you time and stress.Learn from a PhD-level statistician who develops and leads R coursesStart analyzing data with R, rather than absorb academic statistics conceptsRun more powerful analyses and make better-looking graphsSpend less time coding, with ggplot2, plyr, reshape2, and lubridateLearn how to make decisions during a data analysis

Beginning C# Programming with XNA Game Studio


A.T. Chamillard - 2013
    While we admit we love to program just about anything, developing games is one of the coolest things of all. Most of the examples in this book are related to game development using XNA Game Studio. XNA Game Studio is a game development framework Microsoft distributes to make it easier for students, hobbyists, and professional game developers to develop games. Even better, with a membership on the App Hub, games developed using the framework can be uploaded and played on the Xbox 360. You can even sell your Xbox 360 games in the Xbox LIVE Indie Games area! So you’ll learn how to program properly and you’ll learn how to build simple games using XNA. You’ll notice we said “learn how to program properly,” not “whack together games that seem to work.” This is a book that focuses on the correct way to write game software (and software in general), so there’s lots of discussion about our motivations for the particular design and coding decisions we make throughout the book.The book assumes that you’ve never programmed before, so all the material starts at the most basic level. That means that anyone should be able to pick up the book and work their way through it without any prior knowledge. If you really just want to learn all the nuts and bolts of XNA, there are numerous books available for that, and you should buy one of those instead. If, however, you aspire to be a professional game programmer – whether as an indie game developer or in a large game company – then this book will give you a solid foundation for starting on that path.

Learn to Code HTML and CSS: Develop and Style Websites


Shay Howe - 2013
    This book, based on Shay Howe's popular workshop covers the basics and breaks down the barrier to entry, showing readers how they can start using HTML and CSS through practical techniques today. They'll find accompanying code examples online, while they explore topics such as the different structures of HTML and CSS, and common terms. After establishing a basic understanding of HTML and CSS a deeper dive is taken into the box model and how to work with floats. The book includes an exercise focused on cleaning up a web page by improving the user interface and design, solely using HTML and CSS. With a few quick changes the web page changes shape and comes to life. Interactive, technically up-to-the-minute and easy-to-understand, this book will advance a student's skills to a professional level.

The Practice of Network Security Monitoring: Understanding Incident Detection and Response


Richard Bejtlich - 2013
    The most effective computer security strategies integrate network security monitoring (NSM): the collection and analysis of data to help you detect and respond to intrusions.In The Practice of Network Security Monitoring, Mandiant CSO Richard Bejtlich shows you how to use NSM to add a robust layer of protection around your networks — no prior experience required. To help you avoid costly and inflexible solutions, he teaches you how to deploy, build, and run an NSM operation using open source software and vendor-neutral tools.You'll learn how to:Determine where to deploy NSM platforms, and size them for the monitored networks Deploy stand-alone or distributed NSM installations Use command line and graphical packet analysis tools, and NSM consoles Interpret network evidence from server-side and client-side intrusions Integrate threat intelligence into NSM software to identify sophisticated adversaries There's no foolproof way to keep attackers out of your network. But when they get in, you'll be prepared. The Practice of Network Security Monitoring will show you how to build a security net to detect, contain, and control them. Attacks are inevitable, but losing sensitive data shouldn't be.

ARM Assembly Language Programming & Architecture (Mazidi & Naimi ARM Books)


Muhammad Ali Mazidi - 2013
    On some pages, there are slight formatting and editing issues in Kindle and these are being worked on. It is best viewed on a Windows desktop/laptop PC. The Apple iPad version is under development. 2) Who uses ARM?Currently ARM CPU is licensed and produced by more than 100 companies and is the dominant CPU chip in both cell phones and tablets. Given its RISC architecture and powerful 32-bit instructions set, it can be used for both 8-bit and 32-bit embedded products. The ARM corp. has already defined the 64-bit instruction extension and for that reason many Laptop and Server manufactures are planning to introduce ARM-based Laptop and Servers. 3) Who will use our textbook?The primary audience of our textbook on ARM (ARM Assembly Language Programming & Architecture by Mazidi & Naimi) is undergraduate engineering students in Electrical and Computer Engineering departments. It can also be used by practicing engineers who need to move away from 8- and 16-bit legacy chips such as the 8051, AVR, PIC and HCS08/12 family of microcontrollers to ARM. Designers of the x86-based systems wanting to design ARM-based products can also benefit from this textbook.

Oracle Database 12c SQL


Jason Price - 2013
    Oracle Database 12c SQL offers complete coverage of the latest database features and techniques. Find out how to write SQL statements to retrieve and modify database information, use SQL*Plus and SQL Developer, work with database objects, write PL/SQL programs, use performance optimization techniques, incorporate XML, and more. This Oracle Press guide contains everything you need to know to master SQL. Use SQL statements to access an Oracle database Work with SQL*Plus and SQL Developer Write PL/SQL programs Create tables, sequences, indexes, views, and triggers Design advanced queries containing complex calculations Create database objects to handle abstract data Use date, time stamp, and time interval data types Establish user roles and privileges Handle multimedia files using large objects Tune SQL statements to make them execute faster Generate, process, and store XML data Master the very latest Oracle Database 12c features Code examples in the book are available for download.

Release Your Inner Nerd: Apps, Tech Tools and Tips to Get Organized, Get Creative and Get Ahead


Beth Ziesenis - 2013
    For the first time ever, nerds are sought after and celebrated for their expertise. Author and professional speaker Beth Ziesenis, Your Nerdy Best Friend, shares hundreds of her favorite apps, websites and software that will transform you into THE nerd at home and in the office.Learn how to get more from technology you already own with the 450+ free and bargain tech tools inside this book while you dazzle your family and co-workers with the latest in technology. What's inside:Chapter 1: Cloud computing, backups and remote access.Chapter 2: Computer tools and utilities.Chapter 3: Essential office software.Chapter 4: Website tools.Chapter 5: Task and project management.Chapter 6: Efficiency tools.Chapter 7: Time management tools.Chapter 8: Email and information management tools.Chapter 9: Personal tools.Chapter 10: Personal and business financial tools.Chapter 11: Relationship management.Chapter 12: Graphic sources and templates.Chapter 13: Graphic creators.Chapter 14: Image and multimedia editing.Chapter 15: Presentations and surveys.Chapter 16: Meeting tools.Chapter 17: Online event management.Chapter 18: Travel tools.Chapter 19: Outside help.BONUS! This book is interactive and constantly updated with the newest information and extras.

Pioneer Programmer: Jean Jennings Bartik and the Computer That Changed the World


Jean Jennings Bartik - 2013
    Betty Jean Jennings (Bartik), a twenty-year-old college graduate from rural northwest Missouri, wanted an adventure, so she applied for the job. She was hired as a "computer" to calculate artillery shell trajectories for Aberdeen Proving Ground, and later joined a team of women who programmed the Electronic Numerical Integrator And Computer (ENIAC), the first successful general-purpose programmable electronic computer. In 1947, Bartik headed up a team that modified the ENIAC into the first stored-program electronic computer.Even with her talents, Bartik met obstacles in her career due to attitudes about women's roles in the workplace. Her perseverance paid off and she worked with the earliest computer pioneers and helped launch the commercial computer industry. Despite their contributions, Bartik and the other female ENIAC programmers have been largely ignored. In the only autobiography by any of the six original ENIAC programmers, Bartik tells her story, exposing myths about the computer's origin and properly crediting those behind the computing innovations that shape our daily lives.

Bad Tests, Good Tests


Tomek Kaczanowski - 2013
    And this is good.The tests you write should verify some important parts of the system. They should exercise all important cases and document the way your software works. Your tests are also expected to survive refactorings, and even redesigns, of the system.Unfortunately, not all of the tests we write live up to these expectations. This book provides numerous examples of improvements you can introduce to make your tests stronger, more readable, and more resilient to changes. You will learn about real-life issues, and discover ways of overcoming them. You will get to know new techniques for writing high-quality tests.The goal of this book is to teach you how to write tests in such a way that all the effort you put into them really pays off!

Playing with Chaos: Programming Fractals and Strange Attractors in JavaScript


Keith Peters - 2013
    By "playing" is meant writing computer programs that will generate fractals and other related forms. By learning the principles behind the shapes and the code that creates these images, you will gain a far greater understanding of and appreciation for the subject. You will also be able to experiment with these concepts on a level that you could probably never achieve if you were just randomly tweaking some sliders in someone else's application.JavaScript was chosen for the programming language in this book for multiple reasons.First, JavaScript is free, open, cross-platform, doesn't require any special programming environment, and (with HTML5 running in modern browsers) is powerful enough to do most of the computation and rendering that will be needed. Chances are that the computer you are currently using has everything you need to create and run almost all of the examples in this book. All that is required is a text editor and a modern browser -- any of the latest versions of Internet Explorer, Google Chrome, Firefox, Safari, or Opera.Second, notwithstanding a few oddities, JavaScript is a relatively easy language to pick up and become productive in very quickly. While I am assuming you have some basic programming experience, you won't need to have an extensive background in JavaScript itself to get the examples up and running. Chances are, no matter what programming language you might be familiar with, you will be able to get up to speed with the code in this book rather quickly, even if you've never touched JavaScript before.Finally, the intent of this book is not to supply you with a bunch of programs that you blindly copy and run. The idea is that you will understand what is happening in the code and why, and use the example programs as a starting point for your own explorations. As such, this can also include converting the code to the language and platform of your choice. JavaScript's syntax is simple enough that the examples should be readily translatable into most other currently popular languages.

OpenGL SuperBible: Comprehensive Tutorial and Reference


Graham Sellers - 2013
    The best all-around introduction to OpenGL for developers at all levels of experience, it clearly explains both the newest API and indispensable related concepts. You'll find up-to-date, hands-on guidance for all facets of modern OpenGL development on both desktop and mobile platforms, including transformations, texture mapping, shaders, buffers, geometry management, and much more. Extensively revised, this edition presents many new OpenGL 4.3 features, including compute shaders, texture views, indirect draws, and enhanced API debugging. It has been reorganized to focus more tightly on the API, to cover the entire pipeline earlier, and to help you thoroughly understand the interactions between OpenGL and graphics hardware. Coverage includesA practical introduction to the essentials of realtime 3D graphicsCore OpenGL 4.3 techniques for rendering, transformations, and texturingFoundational math for creating interesting 3D graphics with OpenGLWriting your own shaders, with examples to get you startedCross-platform OpenGL, including essential platform-specific API initialization material for Linux, OS X, and WindowsVertex processing, drawing commands, primitive processing, fragments, and framebuffersUsing compute shaders to harness today's graphics cards for more than graphicsMonitoring and controlling the OpenGL graphics pipelineAdvanced rendering: light simulation, artistic and non-photo-realistic rendering, and deferred shadingModern OpenGL debugging and performance optimization"Bonus material and sample code are available from the companion Web site, "openglsuperbible.com.

Pro Node.Js for Developers


Colin J. Ihrig - 2013
    Respected companies such as Dow Jones and LinkedIn are among the many organizations to have seen Node's potential and adopted it into their businesses.Pro Node.js for Developers provides a comprehensive guide to this exciting new technology. We introduce you to Node - what it is, why it matters and how to set it up - before diving deeply into the key concepts and APIs that underpin its operation.Building upon your existing JavaScript skills you'll be shown how to use Node.js to build both Web- and Network-based applications, to deal with data sources, capture events and deal with child processes to create robust applications that will work well in a wide range of circumstances.Once you've mastered these skills we'll go further, teaching you more advanced software engineering skills that will give your code a professional edge. You'll learn how to create easily reusable modules that will save you time through code reuse, to log and debug your applications quickly and effectively and to write code that will scale easily and reliably as the demand for your application grows.

Death to the Armatures: Constraint-Based Rigging in Blender


Christopher Kuhn - 2013
    The book utilizes constraints to achieve realistic motion. Related topics are covered, including Origins, parenting, Empties, Global Space versus Local, etc. Several models are built and rigged in the course of the book, with a single-cylinder gasoline engine as the final project.This is not a "Blender 101" book. It assumes the reader will have a basic knowledge of modeling (though advanced techniques are certainly not required). All models used in this book can be freely downloaded online.

802.11ac: A Survival Guide


Matthew S. Gast - 2013
    This concise guide provides in-depth information to help you plan for 802.11ac, with technical details on design, network operations, deployment, and monitoring.Author Matthew Gast—an industry expert who led the development of 802.11-2012 and security task groups at the Wi-Fi Alliance—explains how 802.11ac will not only increase the speed of your network, but its capacity as well. Whether you need to serve more clients with your current level of throughput, or serve your existing client load with higher throughput, 802.11ac is the solution. This book gets you started.Understand how the 802.11ac protocol works to improve the speed and capacity of a wireless LANExplore how beamforming increases speed capacity by improving link margin, and lays the foundation for multi-user MIMOLearn how multi-user MIMO increases capacity by enabling an AP to send data to multiple clients simultaneouslyPlan when and how to upgrade your network to 802.11ac by evaluating client devices, applications, and network connections

Assessing and Improving Prediction and Classification


Timothy Masters - 2013
    It then goes on to discuss techniques for improving the performance of such models by intelligent resampling of training/testing data, combining multiple models into sophisticated committees, and making use of exogenous information to dynamically choose modeling methodologies. Rigorous statistical techniques for computing confidence in predictions and decisions receive extensive treatment. Finally, a hundred pages are devoted to the use of information theory in evaluating and selecting useful predictors. Special attention is paid to Schreiber's Information Transfer, a recent generalization of Grainger Causality. Well commented C++ code is given for every algorithm and technique. The ultimate purpose of this text is three-fold. The first goal is to open the eyes of serious developers to some of the hidden pitfalls that lurk in the model development process. The second is to provide broad exposure for some of the most powerful model enhancement algorithms that have emerged from academia in the last two decades, while not bogging down readers in cryptic mathematical theory. Finally, this text should provide the reader with a toolbox of ready-to-use C++ code that can be easily incorporated into his or her existing programs.

Bayesian Filtering and Smoothing


Simo Särkkä - 2013
    Interest in these methods has exploded in recent years, with numerous applications emerging in fields such as navigation, aerospace engineering, telecommunications and medicine. This compact, informal introduction for graduate students and advanced undergraduates presents the current state-of-the-art filtering and smoothing methods in a unified Bayesian framework. Readers learn what non-linear Kalman filters and particle filters are, how they are related, and their relative advantages and disadvantages. They also discover how state-of-the-art Bayesian parameter estimation methods can be combined with state-of-the-art filtering and smoothing algorithms. The book's practical and algorithmic approach assumes only modest mathematical prerequisites. Examples include MATLAB computations, and the numerous end-of-chapter exercises include computational assignments. MATLAB/GNU Octave source code is available for download at www.cambridge.org/sarkka, promoting hands-on work with the methods.

Concepts, Ontologies, and Knowledge Representation (SpringerBriefs in Computer Science)


Grega Jakus - 2013
    This brief examines several ideas about the representation of knowledge addressing this challenge. A widespread general agreement is followed that states uniform knowledge representation should be achievable by using ontologies populated with concepts. A separate chapter is dedicated to each of the three introduced topics, following a uniform outline: definition, organization, and use. This brief is intended for those who want to get to know the field of knowledge representation quickly, or would like to be up to date with current developments in the field. It is also useful for those dealing with implementation as examples of numerous operational systems are also given.

CTS Certified Technology Specialist Exam Guide


Brad Grimes - 2013
    You'll get learning objectives at the beginning of each chapter, best practices, checklists, diagrams, photos, chapter review questions with in-depth explanations, and a full-color insert. Designed to help you prepare for the CTS exam, this authoritative resource also serves as an essential on-the-job reference.Electronic content includes:One all-new CTS practice exam Covers all current CTS exam objectives, including how to:Conduct a site survey Gather customer information Evaluate and recommend changes to a site environment Develop a functional AV scope Design, provide, and sell AV solutions Conduct a vendor selection process Operate AV solutions Conduct maintenance activities Manage AV solutions and operations Project manage AV projects Perform AV finance and job costing activities Troubleshoot and repair AV solutions

Jumping into C++


Alex Allain - 2013
    As a professional C++ developer and former Harvard teaching fellow, I know what you need to know to be a great C++ programmer, and I know how to teach it, one step at a time. I know where people struggle, and why, and how to make it clear. I cover every step of the programming process, including:Getting the tools you need to program and how to use them*Basic language feature like variables, loops and functions*How to go from an idea to code*A clear, understandable explanation of pointers*Strings, file IO, arrays, references*Classes and advanced class design*C++-specific programming patterns*Object oriented programming*Data structures and the standard template library (STL)Key concepts are reinforced with quizzes and over 75 practice problems.

Getting Started with Grunt: The JavaScript Task Runner


Jaime Pillora - 2013
     Learn how to install, configure, run, and customize Grunt Example-driven and filled with tips to help you create custom Grunt tasks Who This Book Is For This book is for JavaScript developers who want to get to grips with GruntJS and use it to build and test their JavaScript applications. The only requirement for this book is a basic understanding of objects and functions in JavaScript. What You Will Learn Learn about Grunt and its advantages Understand Node.js and how it relates to Grunt Take an in-depth look at npm, Node.js modules, and the working of Grunt plugins Get familiar with installing Grunt and setting up your first Grunt build environment Gain insight on the methods of configuring Grunt and when each method should be used Effectively execute Grunt through the use of task arguments, task aliasing, multi-task targets, and more Construct your own Grunt tasks, multi-tasks, and asynchronous tasks In Detail In recent times, modern web browsers have become the application platform of choice. Grunt, along with its wide range of plugins, provides a simple way of managing the large number of build tasks required to maintain a sophisticated web application.Getting Started with Grunt: The JavaScript Task Runner provides you with all the information you need to become an effective Grunt power-user. You will quickly learn how to install, configure, and run Grunt. You will go on to understand how to use third-party Grunt and then create your own Grunt tasks that cater to your particular needs.This book first demonstrates various Grunt use cases before running through the steps of installing, configuring, running, and customizing Grunt. You will learn how to install Node.js, the Node.js package manager (npm), and Grunt. Then, you will understand how to set up and configure a personalized Grunt environment. Next, you will look at the various methods of running and customizing Grunt to utilize its flexibility. Finally, to emphasise what has been learnt, you will see a complete example build of a web application.Getting Started with Grunt: The JavaScript Task Runner will enable you to create your very own Grunt environments from scratch and fully utilize Grunt's large feature set to effectively solve your custom requirements.

Logical Foundations of Mathematics and Computational Complexity: A Gentle Introduction


Pavel Pudlák - 2013
    It presents the ideas behind the theoretical concepts.

Object Oriented Analysis and Design Using UML


D. Jeya Mala - 2013
    The textbook covers case studies, activity models, and diagrams using the latest version of UML 2. The book contains adequate span to cover the curriculum requisites, and rich pedagogical features to cater to the needs of undergraduate students.

DSL Engineering: Designing, Implementing and Using Domain-Specific Languages


Markus Völter - 2013
    It covers three main aspects: DSL design, DSL implementation and software engineering with DSLs. The book only looks at external DSLs and focuses mainly on textual syn-tax."

Boost.Asio C++ Network Programming


John Torjo - 2013
    Boost.Asio provides an excellent level of abstraction, making sure that with a minimal amount of coding you can create beautiful client/server applications, and have fun in the process!'Boost.Asio C++ Network Programming" shows how to build client/server applications using a library that is part of the popular peer-reviewed Boost C++ Libraries. It analyzes whether you should go synchronous or asynchronous and the role that threading plays, whilst providing examples you can run and extend for yourself.After covering the fundamentals of Boost.Asio you’ll discover how you can build synchronous and asynchronous clients and servers. You will also see how you can have your own asynchronous functions play nice with Boost.Asio. As a bonus, we will introduce co-routines, which make asynchronous programming a piece of cake. Nowadays, network programming is a must, no matter what type of programmer you are. "Boost.Asio C++ Network Programming" shows just how simple networking can be, if you’re using the right tools. Approach What you want is an easy level of abstraction, which is just what this book provides in conjunction with Boost.Asio. Switching to Boost.Asio is just a few extra #include directives away, with the help of this practical and engaging guide. Who this book is for This book is great for developers that need to do network programming, who don’t want to delve into the complicated issues of a raw networking API. You should be familiar with core Boost concepts, such as smart pointers and shared_from_this, resource classes (noncopyable), functors and boost::bind, boost mutexes, and the boost date/time library. Readers should also be familiar with “blocking” versus “non-blocking” operations.

Much Ado About Naught An Adventure in Ruby Metaprogramming


Avdi Grimm - 2013
    An adventure in Ruby metaprogramming! Follow along as we use strict TDD to create a toolkit for generating Null Object classes in Ruby.* This is the original source of the Naught gem (http://github.com/avdi/naught)--the first release was written in a * Literate Programming style, and this book is the result.* Learn numerous metaprogramming tricks, techniques, and gotchas.* Watch a library being built in a pure test-driven style.* Whimsical illustrations by Lauren Shepard!* Kindle, Epub, and HTML versions included (PDF coming soon!)* About the beta: this book is basically done, but I'm still tweaking the output formats.

People, Problems, and Proofs: Essays from Gödel's Lost Letter: 2010


Richard J. Lipton - 2013
    Behind the computing devices and applications that have transformed our lives are clever algorithms, and for every worthwhile algorithm there is a problem that it solves and a proof that it works. Before this proof there was an open problem: can one create an efficient algorithm to solve the computational problem? And, finally, behind these questions are the people who are excited about these fundamental issues in our computational world. In this book the authors draw on their outstanding research and teaching experience to showcase some key people and ideas in the domain of theoretical computer science, particularly in computational complexity and algorithms, and related mathematical topics. They show evidence of the considerable scholarship that supports this young field, and they balance an impressive breadth of topics with the depth necessary to reveal the power and the relevance of the work described. Beyond this, the authors discuss the sustained effort of their community, revealing much about the culture of their field. A career in theoretical computer science at the top level is a vocation: the work is hard, and in addition to the obvious requirements such as intellect and training, the vignettes in this book demonstrate the importance of human factors such as personality, instinct, creativity, ambition, tenacity, and luck.The authors' style is characterized by personal observations, enthusiasm, and humor, and this book will be a source of inspiration and guidance for graduate students and researchers engaged with or planning careers in theoretical computer science.

Lambda Calculus with Types


Henk Barendregt - 2013
    The lambda calculus forms a prototype universal programming language, which in its untyped version is related to Lisp, and was treated in the first author's classic The Lambda Calculus (1984). The formalism has since been extended with types and used in functional programming (Haskell, Clean) and proof assistants (Coq, Isabelle, HOL), used in designing and verifying IT products and mathematical proofs. In this book, the authors focus on three classes of typing for lambda terms: simple types, recursive types and intersection types. It is in these three formalisms of terms and types that the unexpected mathematical beauty is revealed. The treatment is authoritative and comprehensive, complemented by an exhaustive bibliography, and numerous exercises are provided to deepen the readers' understanding and increase their confidence using types.

Distributed Algorithms for Message-Passing Systems


Michel Raynal - 2013
    This book presents core concepts and algorithms of distributed computing, covering distributed graph algorithms; logical time and global states; mutual exclusion and resource allocation; high-level communication abstractions;distributed shared memory and more.

It Began with Babbage: The Genesis of Computer Science


Subrata Dasgupta - 2013
    An artifact such as software is both tangible and not, and must be classified as something in between, or liminal. The study and production of liminalartifacts allows for creative possibilities that are, and have been, possible only in computer science.In It Began with Babbage, computer scientist and writer Subrata Dasgupta examines the distinct history of computer science in terms of its creative innovations, reaching back to Charles Babbage in 1819. Since all artifacts of computer science are conceived with a use in mind, the computer scientistis not concerned with the natural laws that govern disciplines like physics or chemistry; instead, the field is more concerned with the concept of purpose. This requirement lends itself to a type of creative thinking that, as Dasgupta shows us, has exhibited itself throughout the history of computerscience. More than any other, computer science is the science of the artificial, and has a unique history to accompany its unique focus.The book traces a path from Babbage's Difference Engine in the early 19th century to the end of the 1960s by when a new academic discipline named computer science had come into being. Along the way we meet characters like Babbage and Ada Lovelace, Turing and von Neumann, Shannon and Chomsky, and ahost of other people from a variety of backgrounds who collectively created this new science of the artificial. And in the end, we see how and why computer science acquired a nature and history all of its own.

Mastering Windows Server 2012 R2


Mark Minasi - 2013
    This book gets you up to speed on all of the new features and functions of Windows Server, and includes real-world scenarios to put them in perspective. If you're a system administrator upgrading to, migrating to, or managing Windows Server 2012 R2, find what you need to do the job in this complete resource.Learn all about:Installing or upgrading to and managing Windows Server 2012 R2 Understanding Microsoft NIC teams 2012 and PowerShell Setting up via GUI or updated Server Core 2012 Migrating, merging, and modifying your Active Directory Managing address spaces with IPAM Understanding new shared storage, storage spaces, and better tools Controlling access to file shares--a new and improved approach Using and administering Remote Desktop, Virtual Desktop, and Hyper-V(R)

Learning QGIS 2.0


Anita Graser - 2013
    The popularity of open source geographic information systems and QGIS in particular has been growing rapidly over the last few years. More and more companies and institutions are adopting QGIS and even switching to QGIS as their main GIS.Learning QGIS 2.0 is a practical, hands-on guide that provides you with clear, step-by-step exercises that will help you to apply your GIS knowledge to QGIS. Containing a number of clear, practical exercises, this book will introduce you to working with QGIS, quickly and painlessly. If you want to take advantage of the wide range of functionalities that QGIS offers, then this is the book for you.This book takes you from installing and configuring QGIS, through handling spatial data to creating great maps. You will learn how to load and visualize existing spatial data and how to create data from scratch. You will perform common geoprocessing and spatial analysis tasks and automate them. We will cover how to achieve great cartographic output and print maps. You will learn everything you need to know to handle spatial data management, processing, and visualization tasks in QGIS. Approach A short book with a lot of hands-on examples to help you learn in a practical way. Who this book is for This book is great for users, developers, and consultants who know the basic functions and processes of a GIS but want to know how to use QGIS to achieve the results they are used to a full-fledged GIS.

Programming Abstractions in C++


Eric S. Roberts - 2013
    Eric Roberts' Programming Abstractions in C++ gives students opportunities to practice and learn with engaging graphical assignments. A client-first approach to data structures helps students absorb, and then apply the material. Teaching and Learning Experience This program presents a better teaching and learning experience--for you and your students. It will help: Improve Student Comprehension with a Client-first Approach to Data Structures: To aid in student understanding, this book presents the full set of collection classes early. Defer the Presentation of C++ Features that Require a Detailed Understanding of the Underlying Machine: Introducing collection classes early enables students to master other equally important topics without having to struggle with low-level details at the same time. Engage Students with Exciting Graphical Assignments: An open-source library supports graphics and interactivity in a simple, pedagogically appropriate way. Support Instructors and Students: The companion website provides source code, sample run PDFs, answers to review questions, and more.

Learning the MySQL Database


Russell J.T. Dyer - 2013
    You'll learn through real-world examples and many practical tips, including information on how to improve database performance.Database systems such as MySQL help data handling for organizations large and small handle data, providing robust and efficient access in ways not offered by spreadsheets and other types of data stores. This book is also useful for web developers and programmers interested in adding MySQL to their skill sets.Topics include:Installation and basic administrationIntroduction to databases and SQLFunctions, subqueries, and other query enhancementsImproving database performanceAccessing MySQL from popular languages

Microsoft Visual C# 2013 Step by Step


John Sharp - 2013
    If you have previous programming experience but are new to Visual C# 2013, this tutorial delivers the step-by-step guidance and coding exercises you need to master core topics and techniques.Discover how to:Create and debug C# applications in Visual Studio 2013Work with variables, identifiers, statements, operators, and methodsCreate interfaces and define abstract classesWrite robust code that can catch and handle exceptionsDisplay and edit data using data binding with Microsoft ADO.NET Entity FrameworkRespond to user input and touchscreen gesturesHandle events arising from multiple sourcesDevelop your first Windows 8.1 apps

Beginning Android Programming: Develop and Design


Chris Haseman - 2013
    The pair demonstrate how to use the major building blocks for creating an intuitive and good-looking interface. Next, they shows you how to retrieve data and use lists to display data. Chris and Kevin then explore how to use services--important, and often under-utilized, components of the Android platform. The two examine how to handle media and location services before showing you how to write applications for the diverse Android ecosystem and--finally--publish your application.

Gsec Giac Security Essentials Certification All-In-One Exam Guide


Ric Messier - 2013
    Get complete coverage of all the objectives on Global Information Assurance Certification's Security Essentials (GSEC) exam inside this comprehensive resource. GSEC GIAC Security Essentials Certification All-in-One Exam Guide provides learning objectives at the beginning of each chapter, exam tips, practice exam questions, and in-depth explanations. Designed to help you pass the exam with ease, this authoritative resource also serves as an essential on-the-job reference.COVERS ALL EXAM TOPICS, INCLUDING: Networking fundamentals Network design Authentication and access control Network security Linux and Windows Encryption Risk management Virtual machines Vulnerability control Malware Physical security Wireless technologies VoIP ELECTRONIC CONTENT FEATURES: TWO PRACTICE EXAMS AUTHOR VIDEOS PDF eBOOK

iOS Drawing: Practical UIKit Solutions


Erica Sadun - 2013
    Its APIs include powerful features such as transparency, path-based drawing, anti-aliasing, and more. Harness these low-level, lightweight drawing routines in your apps to build images, to create PDFs, to display views, and to print.In this guide, Erica Sadun, bestselling author of "The Core iOS 6 Developer's Cookbook "and "The Advanced iOS 6 Developer's Cookbook," helps readers explore iOS drawing through an abundance of examples alongside plenty of explanations and tips. This short work provides the basic how-to developers need to get started. You will learn about these specific topics: The basic concepts of Quartz (Core Graphics) and UIKit drawingThe coordinate system, paths, masking, and clipping Text drawingTransparency and alpha channels, drawing modes, blending, colors, and spacesTransforms and geometryPatterns, shadows, and gradientsBitmaps and pixelsApproximately 311 pages.For related content by author Erica Sadun, see "iOS Auto Layout Demystified," "The Core iOS 6 Developer's Cookbook," and "The Advanced iOS 6 Developer's Cookbook."informit.com/sadunTo access the code samples, visit https: //github.com/erica/iOS-Drawing.

Learning QGIS


Anita Graser - 2013
     Give a touch of professionalism to your maps both for functionality and look and feel with the help of this practical guide. A progressive hands-on guide that builds on a geo-spatial data and adds more reactive maps by using geometry tools. Book Description QGIS is a user-friendly open source geographic information system (GIS) that runs on Linux, Unix, Mac OS X, and Windows. The popularity of open source geographic information systems and QGIS in particular has been growing rapidly over the last few years.Learning QGIS Third Edition is a practical, hands-on guide updated for QGIS 2.14 that provides you with clear, step-by-step exercises to help you apply your GIS knowledge to QGIS. Through clear, practical exercises, this book will introduce you to working with QGIS quickly and painlessly.This book takes you from installing and configuring QGIS to handling spatial data to creating great maps. You will learn how to load and visualize existing spatial data and create data from scratch. You will get to know important plugins, perform common geoprocessing and spatial analysis tasks and automate them with Processing.We will cover how to achieve great cartographic output and print maps. Finally, you will learn how to extend QGIS using Python and even create your own plugin. What you will learn Install QGIS and get familiar with the user interface Load vector and raster data from files, databases, and web services Create, visualize, and edit spatial data Perform geoprocessing tasks and automate them Create advanced cartographic outputs Design great print maps Expand QGIS using Python About the Author Anita Graser studied geomatics at the University of Applied Sciences Wiener Neustadt, Austria, from where she graduated with a master's degree in 2010. During her studies, she gained hands-on experience in the fields of geo-marketing and transportation research. Since 2007, she has been working as a geographic information systems (GIS) expert with the dynamic transportation systems group at the Austrian Institute of Technology (AIT), where she focuses on analyzing and visualizing spatio-temporal data. Anita serves on the OSGeo board of directors and the QGIS project steering committee. She has been working with GIS since 2005, provides QGIS training courses, and writes a popular blog on open source GIS at anitagraser.com. Table of Contents Getting Started with QGIS Viewing Spatial Data Data Creation and Editing Spatial Analysis Creating Great Maps Extending QGIS with Python

Murach's Android Programming


Joel Murach - 2013
    To start, it shows how to use the Eclipse IDE to code, test, and debug a Tip Calculator app for a smartphone or tablet. Then, it expands upon this app to show must-have Android skills such as working with layouts, widgets, events, themes, styles, menus, preferences, and fragments. Next, this book presents two more apps that illustrate Android skills youll use every day, such as working with threads, files, adapters, intents, services, notifications, broadcast receivers, SQLite databases, content providers, and app widgets.

Test iOS Apps with UI Automation


Jonathan Penn - 2013
    Learn how to script the user interface, assert correct behavior, stub external dependencies, reproduce performance problems, organize test code for the long haul, and automate the whole process so the machine does the work. You'll walk through a comprehensive strategy with techniques using Apple's tools that you can apply to your own apps. Automated user interface testing is an important part of a comprehensive testing strategy for iOS applications. By scrutinizing your app through the eyes and actions of the user, you raise confidence that features are wired up right and behave as you expect. Through this book you'll learn how to do full-stack testing of your iOS apps in both the simulator and on the device with Apple's built-in tools. You'll write behavioral tests in UI Automation that help protect against regressions. You'll write scripts to repeat steps in Instruments to reproduce performance bugs. With a little ingenuity, you'll build a workflow that gives the feedback you need. Grow a test suite by working with a real application that uses Core Data and network requests. Learn how to describe expected behavior in test scripts, launch the app in a specific state, and stub external dependencies for completely isolated and repeatable tests. Along the way, you'll practice how to organize your test code and run it hands-free from the command line. By the end, you'll have the tools and habits you need to tackle the unique testing problems you'll face while building best-of-breed native iOS apps for your users.What You Need You'll need a Mac running at least Mac OS X Lion (10.7) and Xcode 4.6.

Bayesian Cognitive Modeling: A Practical Course


Michael D. Lee - 2013
    Students and researchers in experimental psychology and cognitive science, however, have failed to take full advantage of the new and exciting possibilities that the Bayesian approach affords. Ideal for teaching and self study, this book demonstrates how to do Bayesian modeling. Short, to-the-point chapters offer examples, exercises, and computer code (using WinBUGS or JAGS, and supported by Matlab and R), with additional support available online. No advance knowledge of statistics is required and, from the very start, readers are encouraged to apply and adjust Bayesian analyses by themselves. The book contains a series of chapters on parameter estimation and model selection, followed by detailed case studies from cognitive science. After working through this book, readers should be able to build their own Bayesian models, apply the models to their own data, and draw their own conclusions.

Statistics, Data Mining, and Machine Learning in Astronomy: A Practical Python Guide for the Analysis of Survey Data


Željko Ivezić - 2013
    This book provides a comprehensive and accessible introduction to the cutting-edge statistical methods needed to efficiently analyze complex data sets from astronomical surveys such as the Panoramic Survey Telescope and Rapid Response System, the Dark Energy Survey, and the upcoming Large Synoptic Survey Telescope. It serves as a practical handbook for graduate students and advanced undergraduates in physics and astronomy, and as an indispensable reference for researchers."Statistics, Data Mining, and Machine Learning in Astronomy" presents a wealth of practical analysis problems, evaluates techniques for solving them, and explains how to use various approaches for different types and sizes of data sets. For all applications described in the book, Python code and example data sets are provided. The supporting data sets have been carefully selected from contemporary astronomical surveys (for example, the Sloan Digital Sky Survey) and are easy to download and use. The accompanying Python code is publicly available, well documented, and follows uniform coding standards. Together, the data sets and code enable readers to reproduce all the figures and examples, evaluate the methods, and adapt them to their own fields of interest. Describes the most useful statistical and data-mining methods for extracting knowledge from huge and complex astronomical data sets Features real-world data sets from contemporary astronomical surveys Uses a freely available Python codebase throughout Ideal for students and working astronomers

The Mathematics of Encryption: An Elementary Introduction


Margaret B. Cozzens - 2013
    Historical and mathematical tour of cryptography, from classical ciphers to quantum cryptography.

Neural Networks and Statistical Learning


Ke-Lin Du - 2013
    All the major popular neural network models and statistical learning approaches are covered with examples and exercises in every chapter to develop a practical working understanding of the content.Each of the twenty-five chapters includes state-of-the-art descriptions and important research results on the respective topics. The broad coverage includes the multilayer perceptron, the Hopfield network, associative memory models, clustering models and algorithms, the radial basis function network, recurrent neural networks, principal component analysis, nonnegative matrix factorization, independent component analysis, discriminant analysis, support vector machines, kernel methods, reinforcement learning, probabilistic and Bayesian networks, data fusion and ensemble learning, fuzzy sets and logic, neurofuzzy models, hardware implementations, and some machine learning topics. Applications to biometric/bioinformatics and data mining are also included.Focusing on the prominent accomplishments and their practical aspects, academic and technical staff, graduate students and researchers will find that this provides a solid foundation and encompassing reference for the fields of neural networks, pattern recognition, signal processing, machine learning, computational intelligence, and data mining.

Introduction to Numerical and Analytical Methods with Matlab(r) for Engineers and Scientists


William Bober - 2013
    It also highlights MATLAB's built-in functions. These include interp1 function, the quad and dblquad functions, the inv function, the ode45 function, the fzero function, and many others. The second half of the text covers more advanced topics, including the iteration method for solving pipe flow problems, the Hardy-Cross method for solving flow rates in a pipe network, separation of variables for solving partial differential equations, and the use of Laplace transforms to solve both ordinary and partial differential equations.This book serves as a textbook for a first course in numerical methods using MATLAB to solve problems in mechanical, civil, aeronautical, and electrical engineering. It can also be used as a textbook or as a reference book in higher level courses.

Concurrent Programming on Android


Steve Liles - 2013
    

CUDA Fortran for Scientists and Engineers: Best Practices for Efficient CUDA Fortran Programming


Gregory Ruetsch - 2013
    The authors presume no prior parallel computing experience, and cover the basics along with best practices for efficient GPU computing using CUDA Fortran.To help you add CUDA Fortran to existing Fortran codes, the book explains how to understand the target GPU architecture, identify computationally intensive parts of the code, and modify the code to manage the data and parallelism and optimize performance. All of this is done in Fortran, without having to rewrite in another language. Each concept is illustrated with actual examples so you can immediately evaluate the performance of your code in comparison.

Frontiers in Massive Data Analysis


Committee on the Analysis of Massive Data - 2013
    Collections of documents, images, videos, and networks are being thought of not merely as bit strings to be stored, indexed, and retrieved, but as potential sources of discovery and knowledge, requiring sophisticated analysis techniques that go far beyond classical indexing and keyword counting, aiming to find relational and semantic interpretations of the phenomena underlying the data.Frontiers in Massive Data Analysis examines the frontier of analyzing massive amounts of data, whether in a static database or streaming through a system. Data at that scale--terabytes and petabytes--is increasingly common in science (e.g., particle physics, remote sensing, genomics), Internet commerce, business analytics, national security, communications, and elsewhere. The tools that work to infer knowledge from data at smaller scales do not necessarily work, or work well, at such massive scale. New tools, skills, and approaches are necessary, and this report identifies many of them, plus promising research directions to explore. Frontiers in Massive Data Analysis discusses pitfalls in trying to infer knowledge from massive data, and it characterizes seven major classes of computation that are common in the analysis of massive data. Overall, this report illustrates the cross-disciplinary knowledge--from computer science, statistics, machine learning, and application disciplines--that must be brought to bear to make useful inferences from massive data.

"hello, World!": The History of Programming


James Steinberg - 2013
    As well as a detailed journey through the programming languages developed during the 20th and 21st centuries, this book provides a valuable comparison of the syntax of a number of the influential programming languages, using the famous "Hello, World!" code.

Understanding Petri Nets: Modeling Techniques, Analysis Methods, Case Studies


Wolfgang Reisig - 2013
    The explanations are supported throughout with fully integrated graphical illustrations, with only the analysis and verification presented in a formal manner.

Spatial Simulation: Exploring Pattern and Process


David O'Sullivan - 2013
    The contemporary research literature is teeming with abstract simulation models whose presentation is mathematically demanding and requires a high level of knowledge of quantitative and computational methods and approaches. Furthermore, simulation models designed to represent specific systems and phenomena are often complicated, and, as a result, difficult to reconstruct from their descriptions in the literature. This book aims to provide a practical and accessible account of dynamic spatial modelling, while also equipping readers with a sound conceptual foundation in the subject, and a useful introduction to the wide-ranging literature.Spatial Simulation: Exploring Pattern and Process is organised around the idea that a small number of spatial processes underlie the wide variety of dynamic spatial models. Its central focus on three 'building-blocks' of dynamic spatial models - forces of attraction and segregation, individual mobile entities, and processes of spread - guides the reader to an understanding of the basis of many of the complicated models found in the research literature. The three building block models are presented in their simplest form and are progressively elaborated and related to real world process that can be represented using them. Introductory chapters cover essential background topics, particularly the relationships between pattern, process and spatiotemporal scale. Additional chapters consider how time and space can be represented in more complicated models, and methods for the analysis and evaluation of models. Finally, the three building block models are woven together in a more elaborate example to show how a complicated model can be assembled from relatively simple components.To aid understanding, more than 50 specific models described in the book are available online at patternandprocess.org for exploration in the freely available Netlogo platform. This book encourages readers to develop intuition for the abstract types of model that are likely to be appropriate for application in any specific context. Spatial Simulation: Exploring Pattern and Process will be of interest to undergraduate and graduate students taking courses in environmental, social, ecological and geographical disciplines. Researchers and professionals who require a non-specialist introduction will also find this book an invaluable guide to dynamic spatial simulation.

Beginning Android C++ Game Development


Bruce Sutherland - 2013
    The Android NDK platform allows you to build the most sophisticated, complex and best performing game apps that leverage C++. In short, you learn to build professional looking and performing game apps like the book's case study, Droid Runner.In this book, you'll learn all the major aspects of game design and programming using the Android NDK and be ready to submit your first professional video game app to Google Play and Amazon Appstore for today's Android smartphones and tablet users to download and play.The techniques contained in this book include building a game engine, writing a renderer, and building a full game app with entities, game levels and collisions. As part of the tutorial you'll also learn about inserting perspectives using cameras and including audio in your game app.

Gpu Pro 4: Advanced Rendering Techniques


Wolfgang Engel - 2013
    Focusing on interactive media and games, the book covers up-to-date methods for producing real-time graphics.Section editors Wolfgang Engel, Christopher Oat, Carsten Dachsbacher, Michal Valient, Wessam Bahnassi, and Sebastien St-Laurent have once again assembled a high-quality collection of cutting-edge techniques for advanced graphics processing unit (GPU) programming. Divided into six sections, the book begins with discussions on the ability of GPUs to process and generate geometry in exciting ways. It next introduces new shading and global illumination techniques for the latest real-time rendering engines and explains how image space algorithms are becoming a key way to achieve a more realistic and higher quality final image. Moving on to the difficult task of rendering shadows, the book describes the state of the art in real-time shadow maps. It then covers game engine design, including quality, optimization, and high-level architecture. The final section explores approaches that go beyond the normal pixel and triangle scope of GPUs as well as techniques that take advantage of the parallelism of modern graphic processors in a variety of applications.Useful to beginners and seasoned game and graphics programmers alike, this color book offers practical tips and techniques for creating real-time graphics. Example programs and source code are available for download on the book's CRC Press web page. The directory structure of the online material closely follows the book structure by using the chapter numbers as the name of the subdirectory.

Programming with Microsoft Visual Basic 2012


Diane Zak - 2013
    Students learn to master the basics of effective programming as they work through a wealth of hands-on applications in this book's engaging real-world setting. Numerous learning features address today's varied learning styles with an approachable visual presentation, helpful step-by-step tutorials, and engaging "You Do It" activity boxes. Even students with no prior programming experience learn how to effectively plan and create interactive Windowsr applications. This edition emphasizes GUI design skills and object-oriented programming concepts throughout. Find the tools you need to prepare the next generation of developers in the optional interactive CourseMate with all-new dynamic videos created and narrated by the author. This text is also available with an optional Microsoftr Visual Studio 2012 Trial CD to ensure your students have the tools they need to succeed.

Enterprise Data Workflows with Cascading


Paco Nathan - 2013
    With this hands-on book, you’ll learn how to use Cascading, the open source abstraction framework for Hadoop that lets you easily create and manage powerful enterprise-grade data processing applications—without having to learn the intricacies of MapReduce. Working with sample apps based on Java and other JVM languages, you’ll quickly learn Cascading’s streamlined approach to data processing, data filtering, and workflow optimization. This book demonstrates how this framework can help your business extract meaningful information from large amounts of distributed data. Start working on Cascading example projects right away Model and analyze unstructured data in any format, from any source Build and test applications with familiar constructs and reusable components Work with the Scalding and Cascalog Domain-Specific Languages Easily deploy applications to Hadoop, regardless of cluster location or data size Build workflows that integrate several big data frameworks and processes Explore common use cases for Cascading, including features and tools that support them Examine a case study that uses a dataset from the Open Data Initiative

Riding Rails with AngularJS


Ari Lerner - 2013
    This is a no frills guide. Get up and running today.

Expert Advisor Programming for Metatrader 5: Creating Automated Trading Systems in the Mql5 Language


Andrew R. Young - 2013
    Take advantage of MetaTrader 5's new features and take your trading to the next level!You'll learn how to program expert advisors quickly and easily using a ready-made framework created by an experienced MQL programmer. This book will teach you the following concepts:Learn the basics of MQL5, including variables and data types, operators, functions, event handlers, and object-oriented programming.Place, modify and close market and pending orders.Calculate, verify and add stop loss and take profit prices to an open position.Add a flexible trailing stop and/or break even stop to your strategy.Manage your trade risk with money management.Use pending orders to scale in and out of positions.Use price, time and indicator data in your expert advisors.Control program execution by trading on new bar open, and add flexible trade timers to your strategies.Walk through the creation of several basic trading strategies from start to finish.Inform the user with dialog boxes, email alerts, mobile notifications and sounds.Draw trend lines, arrows and text labels on the chart.Read and write data to CSV files.Learn the basics of creating indicators, scripts and libraries in MetaEditor.Debug, test and optimize your trading strategy.And much more!Whether you're an experienced programmer moving from MQL4, or a novice just starting with MQL5, this book will give you the foundation to quickly program fully-featured and robust trading systems. All programs and source code files featured in the book are available for download at the book's official website at http: //www.expertadvisorbook.com

Beginning Html5 and Css3 for Dummies


Ed Tittel - 2013
    What the book covers: getting to know HTML5 and CSS3, creating and viewing a web page, HTML5 element syntax and structure, understanding CSS3 and what it's good for, CSS3 rules and style sheets, HTML5 tables and forms, deprecated HTML and elements to avoid, CSS3 styles and attributes, making CSS3 work, common mistakes and fixes, cool HTML5 tools, understanding responsive web design, and more.Series features: Information presented in the straightforward but fun language that has defined the "Dummies" series for more than twenty years.