60 recipes to create GIS web applications with the open source JavaScript library

Book Description:

Data visualization and analysis has become an important task for many companies. Understanding the basic concepts of GIS and knowing how to visualize data on a map is a required ability for many professionals today. OpenLayers is a JavaScript library to load, display, and render maps from multiple sources on web pages.

“OpenLayers Cookbook” teaches how to work with OpenLayers, one of the most important and complete open source JavaScript libraries. Through an extensive set of recipes, this book shows how to work with the main concepts required to build a GIS web application– maps, raster and vectorial layers, styling, theming, and so on.

“OpenLayers Cookbook” includes problem solving and how-to recipes for the most common and important tasks. A wide range of topics are covered.

The range of recipes includes: creating basic maps, working with raster and vector layers, understanding events and working with main controls, reading features from different data sources, styling features, and understanding the underlying architecture.

“OpenLayers Cookbook” describes solutions and optimizations to problems commonly found.

What will you learn from this book

  • Create maps, understand projection and other important properties
  • Add raster and vector layers
  • Work with important tile providers
  • Work with OGCs WMS and WFS compliant servers
  • Read/write features from/to different data sources
  • Style features to improve their visualization
  • Understand events and work with the main controls

The Simple Way to Make Technology See

Book Description:

Learn how to build your own computer vision (CV) applications quickly and easily with SimpleCV, an open source framework written in Python. Through examples of real-world applications, this hands-on guide introduces you to basic CV techniques for collecting, processing, and analyzing streaming digital images. You’ll then learn how to apply these methods with SimpleCV, using sample Python code. All you need to get started is a Windows, Mac, or Linux system, and a willingness to put CV to work in a variety of ways. Programming experience is optional.

  • Capture images from several sources, including webcams, smartphones, and Kinect
  • Filter image input so your application processes only necessary information
  • Manipulate images by performing basic arithmetic on pixel values
  • Use feature detection techniques to focus on interesting parts of an image
  • Work with several features in a single image, using the NumPy and SciPy Python libraries
  • Learn about optical flow to identify objects that change between two image frames
  • Use SimpleCV’s command line and code editor to run examples and test techniques

A Guide for Python Programmers

Book Description:

Build software that combines Python’s expressivity with the performance and control of C (and C++). It’s possible with Cython, the compiler and hybrid programming language used by foundational packages such as NumPy, and prominent in projects including Pandas, h5py, and scikits-learn. In this practical guide, you’ll learn how to use Cython to improve Python’s performance—up to 3000x— and to wrap C and C++ libraries in Python with ease.

Author Kurt Smith takes you through Cython’s capabilities, with sample code and in-depth practice exercises. If you’re just starting with Cython, or want to go deeper, you’ll learn how this language is an essential part of any performance-oriented Python programmer’s arsenal.

  • Use Cython’s static typing to speed up Python code
  • Gain hands-on experience using Cython features to boost your numeric-heavy Python
  • Create new types with Cython—and see how fast object-oriented programming in Python can be
  • Effectively organize Cython code into separate modules and packages without sacrificing performance
  • Use Cython to give Pythonic interfaces to C and C++ libraries
  • Optimize code with Cython’s runtime and compile-time profiling tools
  • Use Cython’s prange function to parallelize loops transparently with OpenMP

Book Description:

RapidWeaver allows users with any level of expertise to build beautiful and professional looking websites. The novice user will love the drag and drop, what you see is what you get interface. The advanced users will love that they can get down and dirty with some code when they need to.

This book covers all aspects of developing a website with RapidWeaver. Whether you want a family website to display photos from your latest vacation or a small business that is looking to increase your web presence, this book has got you covered. If you have a Mac and want a website, you need this book.

This book dives into all the components required to build a website with RapidWeaver. The first half of this book builds upon itself and shows you all of the basic building blocks that you will need to develop great websites. It starts off with a basic tour of RapidWeaver and gets you building your first webpage in the first chapter. The book progresses onto how to customize the look and feel of your website with themes and adding simple webpages with text and images all the way to blogs and photo galleries.

The second half of the book dives into more advanced topics that can really help you take your websites to the next level. This includes e-commerce, blogs, managing web content outside of RapidWeaver, Search Engine Optimization and even a little programming. By the end of this book, you will have a solid foundation that will allow you to build powerful websites.

What will you learn from this book

  • Getting RapidWeaver set up and your first webpage created quickly
  • Customize the look and feel of your websites with themes
  • Building webpages with basic content, contact forms, photo galleries, videos and more
  • Use the Stacks Plugin for fluid drag and drop building of your webpages
  • Creating a blog that can be managed from anywhere
  • Turn your website into an e-commerce business and sell your products
  • Build websites for clients that allow them to edit content online
  • Getting your website indexed by the major search engines
  • Adding your own custom code to your RapidWeaver projects
  • Advanced topics like custom 404 pages, responsive web design, safari dev inspector and more

Modern Computing in Simple Packages

Book Description:

Easy to understand and fun to read, Introducing Python is ideal for beginning programmers as well as those new to the language. Author Bill Lubanovic takes you from the basics to more involved and varied topics, mixing tutorials with cookbook-style code recipes to explain concepts in Python 3. End-of-chapter exercises help you practice what you’ve learned.

You’ll gain a strong foundation in the language, including best practices for testing, debugging, code reuse, and other development tips. This book also shows you how to use Python for applications in business, science, and the arts, using various Python tools and open source packages.

  • Learn simple data types, and basic math and text operations
  • Use data-wrangling techniques with Python’s built-in data structures
  • Explore Python code structure, including the use of functions
  • Write large programs in Python, with modules and packages
  • Dive into objects, classes, and other object-oriented features
  • Examine storage from flat files to relational databases and NoSQL
  • Use Python to build web clients, servers, APIs, and services
  • Manage system tasks such as programs, processes, and threads
  • Understand the basics of concurrency and network programming

For Facial Recognition, Object Detection, and Pattern Recognition Using Python

Book Description:

Gain insights into image-processing methodologies and algorithms, using machine learning and neural networks in Python. This book begins with the environment setup, understanding basic image-processing terminology, and exploring Python concepts that will be useful for implementing the algorithms discussed in the book. You will then cover all the core image processing algorithms in detail before moving onto the biggest computer vision library: OpenCV. You’ll see the OpenCV algorithms and how to use them for image processing.

The next section looks at advanced machine learning and deep learning methods for image processing and classification. You’ll work with concepts such as pulse coupled neural networks, AdaBoost, XG boost, and convolutional neural networks for image-specific applications. Later you’ll explore how models are made in real time and then deployed using various DevOps tools.

All the concepts in Practical Machine Learning and Image Processing are explained using real-life scenarios. After reading this book you will be able to apply image processing techniques and make machine learning models for customized application.

What You Will Learn

  • Discover image-processing algorithms and their applications using Python
  • Explore image processing using the OpenCV library
  • Use TensorFlow, scikit-learn, NumPy, and other libraries
  • Work with machine learning and deep learning algorithms for image processing
  • Apply image-processing techniques to five real-time projects
Who This Book Is For

Data scientists and software developers interested in image processing and computer vision.

Book Description:

Since these technologies covered are different from each other, they are covered in separate chapters that are not interdependent; therefore you can learn to use whichever tool you want, without exploring the previous chapters. This approach sustains the learning per example paradigm and helps you to use the book as a quick guide for your favorite technologies. This book is recommended for Java developers who use at least one of the covered technologies (JSF, Struts, Hibernate, Seam, and so on). It is for all Java developers who are looking for a powerful, unitary tool, especially designed to increase the speed of development and quality of Java web applications. No matter how much (or how little) experience they have, developers of all levels will benefit as their use of JBoss Tools is directly proportional to the complexity of their application. Since JBoss Tools covers all levels of experience, you can use it at your own level for your own applications, without involving unnecessary features. All you need is to be familiar with the Eclipse environment and Java core, and to have some expertise in the technology for which you want to use the JBoss Tools. Basic expertise for each technology is provided in the book, but for more complete and detailed aspects you should read dedicated specifications, tutorials, and articles.

Over 80 taskbased recipes to store, organize, manipulate, and analyze spatial data in a PostGIS database

Book Description:

PostGIS is a spatial database that integrates advanced storage and analysis of vector and raster data, and is remarkably flexible and powerful. PostGIS provides support for geographic objects to the PostgreSQL object-relational database and is currently the most popular open source spatial databases. If you want to explore the complete range of PostGIS techniques and expose the related extensions, this book is a must-have.

This book is a deep-dive into the full range of PostGIS topics, with practical applications of the concepts and code. It is a comprehensive guide on PostGIS tools and concepts which are required to manage, manipulate, and analyse spatial data in PostGIS. This book is packed with systematic instructions of hands-on examples and in-depth explanations. Even for experienced users, this book will serve as a great source of reference by providing new ways of working with PostGIS through the book’s easy-to-follow approach.

This hands-on guide looks at key spatial data manipulation tasks, explaining not only how each task is performed, but also why. It provides practical guidance allowing you to safely take advantage of the advanced technology in PostGIS in order to simplify your spatial database administration tasks.

This practical book will help you take advantage of basic and advanced vector, raster, and routing approaches. You will learn to use the concepts of data maintenance, optimization, and performance, which will help you to integrate these into a large ecosystem of desktop and web tools.

With this comprehensive guide, you will be armed with all the tools and instructions you need to both manage the spatial database system and make better decisions as your project’s requirements evolve.

Using AWS Lambda and Claudia.js

Book Description:

Serverless Applications with Node.js walks you through building serverless apps on AWS using JavaScript. Inside, you’ll discover what Claudia.js brings to the table as you build and deploy a scalable event-based serverless application, based around a pizzeria that’s fully integrated with AWS services, including Lambda and API Gateway. Each chapter is filled with exercises, examples, tips, and more to make sure you’re ready to bring what you’ve learned into your own work.

A Distributed Real-Time Search and Analytics Engine

Book Description:

Whether you need full-text search or real-time analytics of structured data—or both—the Elasticsearch distributed search engine is an ideal way to put your data to work. This practical guide not only shows you how to search, analyze, and explore data with Elasticsearch, but also helps you deal with the complexities of human language, geolocation, and relationships.

If you’re a newcomer to both search and distributed systems, you’ll quickly learn how to integrate Elasticsearch into your application. More experienced users will pick up lots of advanced techniques. Throughout the book, you’ll follow a problem-based approach to learn why, when, and how to use Elasticsearch features.

  • Understand how Elasticsearch interprets data in your documents
  • Index and query your data to take advantage of search concepts such as relevance and word proximity
  • Handle human language through the effective use of analyzers and queries
  • Summarize and group data to show overall trends, with aggregations and analytics
  • Use geo-points and geo-shapes—Elasticsearch’s approaches to geolocation
  • Model your data to take advantage of Elasticsearch’s horizontal scalability
  • Learn how to configure and monitor your cluster in production

Master this powerful build automation tool to streamline your application development

Book Description:

Grunt.js continues to excel as the build automation tool of choice. Along with its support for many third-party technologies, Grunt is packaged with a clean API for defining tasks. This powerful tool can streamline your workflow by automating the preparation tasks for production, such as compression, compilation, obfuscation, testing, and even pushing your web application live. This book will teach you how to master build automation and testing with Grunt. You will have the opportunity to utilize the latest and in-demand web tools, such as Git, Jade, CoffeeScript, Sass, and the Mocha testing engine, across several exciting projects by combining Grunt with them. You will also learn to create a project– a simple Bulletin Board System (BBS), which will explain the use of Grunt alongside the Mocha testing library to automate testing throughout the build process.

Mastering Grunt will demonstrate how to leverage Grunt with other technologies to become an expert in build automation, teaching you the best practices for modern web development along the way.

Over 70 working recipes covering every aspect of Android development

Book Description:

Android is a mobile operating system that runs on a staggering number of smartphones and tablets. Android offers developers the ability to build extremely rich and innovative applications written using the Java programming language. Among the number of books that have been published on the topic, what’s missing is a thoroughly practical, hands-on book that takes you straight to getting your job done without boring you with too much theory.

Android 3.0 Application Development Cookbook will take you straight to the information you need to get your applications up and running. This book is written to provide you with the shortest possible route between an idea and a working application.

Work through the book from start to finish to become an Android expert, or use it as a reference book by applying recipes directly to your project.

This book covers every aspect of mobile app development, starting with major application components and screen layout and design, before moving on to how to manage sensors such as internal gyroscopes and near field communications. Towards the end, it delves into smartphone multimedia capabilities as well as graphics and animation, web access, and GPS

Whether you are writing your first app or your hundredth, this is a book that you will come back to time and time again, with its many tips and tricks on the rich features of Android 3.

Over 100 working recipes covering every aspect of Android development

What you will learn from this book

  • Design custom layouts and widgets
  • Connect your application to the Web
  • Animate your applications
  • Create touch and motion sensitive apps
  • Respond to your user’s every move with sensor control
  • Use GPS to create location sensitive apps
  • Create and play back sound and video
  • Augment reality through camera controls
  • Access WiFi networks and Bluetooth
  • Incorporate Google Maps in your applications

Approach

The book is written in a cookbook style, presenting examples in the style of recipes, allowing you to go directly to your topic of interest, or follow topics throughout a chapter to gain in-depth knowledge.

Who this book is written for

If you are new to Android application development and looking for a quick start, or if you are an experienced Android developer looking for a reference guide, then this book is for you. Ideally, you should know some Java and a little about mark-up languages but this is by no means necessary. This book will teach you how to write rich Android applications from scratch in no time.

Book Description:

A fully updated guide to the how and why of using Twitter

The fastest-growing social network utility sports new features, and they’re all covered in this how-to guide from a leading Twitter marketing consultant. Nearly 20 million people are tweeting on Twitter, and this book shows you how to join them and why you should. You’ll learn the nuts and bolts of using Twitter, how to make good connections, and how it can benefit your life and your business.

  • Twitter is the fastest-growing of the social networking tools; this book gets you up to speed on the basics as well as how Twitter can enrich your life and boost your business
  • Explains how to sign up, find friends and people you want to follow, make the most of shortcuts, use popular Twitter tools, and Twitter on the go
  • Discusses how Twitter can be used for business, fundraising, and maintaining contact with people who share common goals

With complete information about all the latest Twitter enhancements, Twitter For Dummies, 2nd Edition will help you get the most from this popular social networking tool.

From Novice to Professional

Book Description:

Ruby on Rails is the hottest new open source technology around. It offers developers the opportunity to create fully-featured web applications in double-quick time. Rails and e-commerce are a match made in heaven and Beginning Ruby on Rails E-Commerce is the first book to directly target this market. This book explains to readers, via real-life scenarios, how to use Rails to create every aspect of an online store – from creating a product catalog, to building a shopping cart system, all the way through to adding cool features such as customer feedback forums. In addition, the book explains how to interface with vital third-party software applications, such as those provided by online payment systems. Because of this breadth of focus, Beginning Ruby on Rails E-Commerce is the book that all Rails developers are crying out for.

Book Description:

The Elixir language blends the battle-tested power and stability of the Erlang virtual machine with an approachable and expressive syntax.

Elixir in Action, Second Edition teaches you how to use the Elixir programming language to solve the practical problems of scalability, fault tolerance, and high availability. This new edition is fully updated to cover Elixir 1.7 with new and improved code examples.

Unlocking Text Data with Machine Learning and Deep Learning using Python

Book Description:

Implement natural language processing applications with Python using a problem-solution approach. This book has numerous coding exercises that will help you to quickly deploy natural language processing techniques, such as text classification, parts of speech identification, topic modeling, text summarization, text generation, entity extraction, and sentiment analysis.

Natural Language Processing Recipes starts by offering solutions for cleaning and preprocessing text data and ways to analyze it with advanced algorithms. You’ll see practical applications of the semantic as well as syntactic analysis of text, as well as complex natural language processing approaches that involve text normalization, advanced preprocessing, POS tagging, and sentiment analysis. You will also learn various applications of machine learning and deep learning in natural language processing.

By using the recipes in this book, you will have a toolbox of solutions to apply to your own projects in the real world, making your development time quicker and more efficient.

What You Will Learn

  • Apply NLP techniques using Python libraries such as NLTK, TextBlob, spaCy, Stanford CoreNLP, and many more
  • Implement the concepts of information retrieval, text summarization, sentiment analysis, and other advanced natural language processing techniques.
  • Identify machine learning and deep learning techniques for natural language processing and natural language generation problems
Who This Book Is For

Data scientists who want to refresh and learn various concepts of natural language processing through coding exercises.

From Advanced Typography to Unicode and Everything in Between

Book Description:

This reference is a fascinating and complete guide to using fonts and typography on the Web and across a variety of operating systems and application software. Fonts & Encodings shows you how to take full advantage of the incredible number of typographic options available, with advanced material that covers everything from designing glyphs to developing software that creates and processes fonts.

The era of ASCII characters on green screens is long gone, and industry leaders such as Apple, HP, IBM, Microsoft, and Oracle have adopted the Unicode Worldwide Character Standard. Yet, many software applications and web sites still use a host of standards, including PostScript, TrueType, TeX/Omega, SVG, Fontlab, FontForge, Metafont, Panose, and OpenType. This book explores each option in depth, and provides background behind the processes that comprise today’s “digital space for writing”:

  • Part I introduces Unicode, with a brief history of codes and encodings including ASCII. Learn about the morass of the data that accompanies each Unicode character, and how Unicode deals with normalization, the bidirectional algorithm, and the handling of East Asian characters.
  • Part II discusses font management, including installation, tools for activation/deactivation, and font choices for three different systems: Windows, the Mac OS, and the X Window System (Unix).
  • Part III deals with the technical use of fonts in two specific cases: the TeX typesetting system (and its successor, W, which the author co-developed) and web pages.
  • Part IV describes methods for classifying fonts: Vox, Alessandrini, and Panose-1, which is used by Windows and the CSS standard. Learn about existing tools for creating (or modifying) fonts, including FontLab and FontForge, and become familiar with OpenType properties and AAT fonts.

Nowhere else will you find the valuable technical information on fonts and typography that software developers, web developers, and graphic artists need to know to get typography and fonts to work properly.

A Problem-Solution Approach

Book Description:

Get up to speed with the deep learning concepts of Pytorch using a problem-solution approach. Starting with an introduction to PyTorch, you’ll get familiarized with tensors, a type of data structure used to calculate arithmetic operations and also learn how they operate. You will then take a look at probability distributions using PyTorch and get acquainted with its concepts. Further you will dive into transformations and graph computations with PyTorch. Along the way you will take a look at common issues faced with neural network implementation and tensor differentiation, and get the best solutions for them.

Moving on to algorithms; you will learn how PyTorch works with supervised and unsupervised algorithms. You will see how convolutional neural networks, deep neural networks, and recurrent neural networks work using PyTorch. In conclusion you will get acquainted with natural language processing and text processing using PyTorch.

What You Will Learn
  • Master tensor operations for dynamic graph-based calculations using PyTorch
  • Create PyTorch transformations and graph computations for neural networks
  • Carry out supervised and unsupervised learning using PyTorch
  • Work with deep learning algorithms such as CNN and RNN
  • Build LSTM models in PyTorch
  • Use PyTorch for text processing
Who This Book Is For

Readers wanting to dive straight into programming PyTorch.

Cases Studies from Healthcare, Retail, and Finance

Book Description:

Gain practical skills in machine learning for finance, healthcare, and retail. This book uses a hands-on approach by providing case studies from each of these domains: you’ll see examples that demonstrate how to use machine learning as a tool for business enhancement. As a domain expert, you will not only discover how machine learning is used in finance, healthcare, and retail, but also work through practical case studies where machine learning has been implemented.

Machine Learning Applications Using Python is divided into three sections, one for each of the domains (healthcare, finance, and retail). Each section starts with an overview of machine learning and key technological advancements in that domain. You’ll then learn more by using case studies on how organizations are changing the game in their chosen markets. This book has practical case studies with Python code and domain-specific innovative ideas for monetizing machine learning.

What You Will Learn

  • Discover applied machine learning processes and principles
  • Implement machine learning in areas of healthcare, finance, and retail
  • Avoid the pitfalls of implementing applied machine learning
  • Build Python machine learning examples in the three subject areas
Who This Book Is For

Data scientists and machine learning professionals.

Event-Driven and Asynchronous Programming with Python

Book Description:

Explore Twisted, the Python-based event-driven networking engine, and review several of its most popular application projects. It is written by community leaders who have contributed to many of the projects covered, and share their hard-won insights and experience.

Expert Twisted starts with an introduction to event-driven programming, explaining it in the context of what makes Twisted unique. It shows how Twisted’s design emphasizes testability as a solution to common challenges of reliability, debugging, and start-to-finish causality that are inherent in event-driven programming. It also explains asynchronous programming, and the importance of functions, deferreds, and coroutines. It then uses two popular applications, treq and klein, to demonstrate calling and writing Web APIs with Twisted.
The second part of the book dives into Twisted projects, in each case explaining how the project fits into the Twisted ecosystem and what it does, and offers several examples to bring readers up to speed, with pointers to additional resources for more depth. Examples include using Twisted with Docker, as a WSGI container, for file sharing, and more.

What You’ll Learn

  • Integrate Twisted and asyncio using adapters
  • Automate software build, test, and release processes with Buildbot
  • Create clients and servers with Autobahn
  • Transfer files with Magic Wormhole
  • Distribute cloud-based file storage with Tahoe LAFS
  • Understand HTTP/2 with Python and Twisted
  • Support for asynchronous tasks using Django Channels
Who This Book Is For

Readers should have some Python experience and understand the essentials of containers and protocols, but need not be familiar with Twisted or the associated projects covered in the book.