For developers on the Mac, Xamarin Studio is now available as a benefit of your Visual Studio Professional or Enterprise subscription. Developers can use the newly-created Xamarin Studio Community Edition for free.

Read operations are synchronous on a ReadableByteChannel, that is, if a read is already in progress on the channel then subsequent reads will block until the first read completes. It is undefined whether non-read operations will block.

Your no-nonsense guide to Near Field Communication
Are you a newcomer to Near Field Communication and baffled by the scant documentation and online support available for this powerful new technology? You've come to the right place! Written in a friendly and easily accessible manner, NFC For Dummies takes the intimidation out of working with the features of NFC-enabled devices and tells you exactly what it is and what it does—and doesn't do.

NFC is revolutionizing the way people interact on a daily basis. It enables big data and cloud-based computing through mobile devices and can be used by anyone with a smartphone or tablet every day! Soon to be as commonplace as using Wi-Fi or the camera on your smartphone, NFC is going to forever change the way we interact with people and the things around us. It simplifies the sending and receiving of information, makes monetary transactions simple and secure—Apple Pay already uses NFC—and is a low-cost product to manufacture and use. As more developers create apps with NFC, you're going to see it used regularly—everywhere from cash registers to your social media accounts to electronic identity systems. Don't get left behind; get up to speed on NFC today!

Provides a plain-English overview of NFC

Covers the history and technology behind NFC

Helps you make sense of IoT and powered chips

Explains proximity technologies and non-payment applications

Whether you're a developer, investor, or a mobile phone user who is excited about the capabilities of this rapidly growing technology, NFC For Dummies is the reference you'll want to keep close at hand!

Thursday, March 24, 2016

This video show how it run on Android Emulator running Android N, in Multi-Window. The left windows running example of HandlerThread in this post, the right window running Thread + Handler in last post.

Tuesday, March 22, 2016

The vision with Brillo is to bring the simplicity and speed of software development to hardware by joining together three things. First, an OS based on Android. Second, core services that enable a great getting started experience and allow you to operate at scale. Third, a developer kit with tools to build, test, and debug your solution. Watch this video for a quick overview of these major components and how they work together to quickly move from prototype to production, and manage at scale with over the air (OTA) updates, metrics, and crash reporting

Weave helps you focus on adding intelligence into your IoT user experience in two ways. First, by giving you all the building blocks you need for communicating with your devices directly or through the cloud. Second, by providing a common language for your app or service to use across all of a user’s devices. Watch this video to get an overview of the Weave components and how they fit together to help make it the easiest way to connect all the things

Saturday, March 19, 2016

With the push for IoT-enabled solutions comes the need for reliable IoT platforms, especially for companies that require industrial-grade IoT capabilities. This O’Reilly report examines various features that heavy-equipment B2B industries should expect in an IoT platform, as well as the key attributes you should be looking for when choosing a platform vendor.

Up to this point, much of the effort in developing an IoT solution has gone into platform building. But if you are to gain a competitive advantage in the marketplace, you can’t afford to build technology stacks from scratch to accommodate hardware, firmware, software, edge computing, analytics, business systems integration, and many other components.

In this report, author Matthew Perry explains what an industrial-grade IoT platform ideally should include, from bidirectional connectivity and distributed computing to availability, scalability, and reliability. You’ll also learn how to assess your IoT strategy and find a vendor that can fulfill your specific needs.

Matthew J. Perry is a writer and editor with a particular interest in how the Internet of Things can make cities smarter. He has written for Cisco Systems and collaborated on ten published books. He lives in New York City.

Functional Programming in Python
By David Mertz
Publisher: O'Reilly
Released: June 2015

Python is not a functional programming language, but it is a multi-paradigm language that makes functional programming easy to perform, and easy to mix with other programming styles. In this paper, David Mertz, a director of Python Software Foundation, examines the functional aspects of the language and points out which options work well and which ones you should generally decline.

Mertz describes ways to avoid Python’s imperative-style flow control, the nuances of callable functions, how to work lazily with iterators, and the use of higher-order functions. He also lists several third-party Python libraries useful for functional programming.

Topics include:

Using encapsulation and other means to describe "what" a data collection consists of, rather than "how" to construct a data collection

Creating callables with named functions, lambdas, closures, methods of classes, and multiple dispatch

Using Python’s iterator protocol to accomplish the same effect as a lazy data structure

Creating higher-order functions that take functions as arguments and/or produce a function as a result

David Mertz is a director of the Python Software Foundation, and chair of its Trademarks and Outreach & Education Committees. He wrote the columns Charming Python and XML Matters for IBM developerWorks and the Addison-Wesley book Text Processing in Python. David has spoken at multiple OSCON and PyCon events.

With the ascent of DevOps, microservices, containers, and cloud-based development platforms, the gap between state-of-the-art solutions and the technology that enterprises typically support has greatly increased. But as Markus Eisele explains in this O’Reilly report, some enterprises are now looking to bridge that gap by building microservice-based architectures on top of Java EE.

Can it be done? Is it even a good idea? Eisele thoroughly explores the possibility and provides savvy advice for enterprises that want to move ahead. The issue is complex: Java EE wasn’t built with the distributed application approach in mind, but rather as one monolithic server runtime or cluster hosting many different applications. If you’re part of an enterprise development team investigating the use of microservices with Java EE, this book will help you:

Understand the challenges of starting a greenfield development vs tearing apart an existing brownfield application into servicesExamine your business domain to see if microservices would be a good fit

Explore best practices for automation, high availability, data separation, and performance

Align your development teams around business capabilities and responsibilities

Inspect design patterns such as aggregator, proxy, pipeline, or shared resources to model service interactions

Markus Eisele is a Developer Advocate at Red Hat and focuses on JBoss Middleware. He has been working with Java EE servers from different vendors for more than 14 years, and has worked with different customers on all kinds of Java EE related applications and solutions. He is a prolific blogger, writer, and tech editor for Java EE content. Markus is also a Java Champion and former ACE Director.

Get started in creating marketable apps for the burgeoning Android market. Begin your journey by learning the essentials of programming for phones and tables that are built around Google's wildly-successful Android platform. Beginning Android, Fifth Edition is fresh with details on the latest iteration of the Android 5 and earlier versions.

Google’s Android operating-system has taken the industry by storm, going from its humble beginnings as a smartphone operating system to its current status as a platform for apps that run across a gamut of devices from phones to tablets to netbooks to televisions, and the list is sure to grow. Smart developers are not sitting idly by in the stands, but are jumping into the game of creating innovative and salable applications for this fast-growing, mobile- and consumer-device platform. If you’re not in the game yet, now is your chance!

Begin at the beginning by installing the tools and compiling a skeleton app. Move through creating layouts, employing widgets, taking user input, and giving back results. Soon you’ll be creating innovative applications involving multi-touch, multi-tasking, and more! You’ll be drawing data live from the Internet using web services and delighting your customers with life-enhancing apps. Not since the PC era first began has there been this much opportunity for the common developer. What are you waiting for? Grab your copy of Beginning Android and get started!

Sunday, March 13, 2016

Certutil.exe is a command-line program that is installed as part of Certificate Services. You can use Certutil.exe to dump and display certification authority (CA) configuration information, configure Certificate Services, backup and restore CA components, and verify certificates, key pairs, and certificate chains. ~ details

Friday, March 4, 2016

It's a following of the post "ProgressDialog and AsyncTask". I make the background process of the AsyncTask too busy by removing the Thread.sleep() inside doInBackground(). In such case, the system is too busy to update UI, even cannot update the ProgressBar animation!

Thursday, March 3, 2016

Last post "Load photo and set Wallpaper" show how to open photo with Intent of ACTION_OPEN_DOCUMENT/ACTION_GET_CONTENT, then set as Wallpaper with WallpaperManager. This example show how to revert to the system's built-in wallpaper, by calling clear() method of WallpaperManager.