Saturday, August 23, 2014

Google Guava

Java programmers, new and old, take note: Google, et al, have simplified life for Java programmers:
To summarize, don't reinvent the wheel. If you need to do something that seems like it should be reasonably common, there may already be a class in the libraries that does what you want. If there is, use it; if you don't know, check. Generally speaking, library code is likely to be better than code that you'd write yourself and is likely to improve over time. This is no reflection on your abilities as a programmer. Economies of scale dictate that library code receives far more attention than most developers could afford to devote to the same functionality.
We'd also like to mention that:
  • Guava has been battle-tested in production at Google.
  • Guava has staggering numbers of unit tests: as of July 2012, the guava-tests package includes over 286,000 individual test cases. Most of these are automatically generated, not written by hand, but Guava's test coverage is extremely thorough, especially forcom.google.common.collect.
  • Guava is under active development and has a strong, vocal, and involved user base.
  • The best libraries seem obvious in retrospect, but achieving this state is notoriously challenging.

Is the Mobile App Market Saturated?

Market share of mobile os s 2008
Market share of mobile os s 2008 (Photo credit: Wikipedia)
The U.S. Mobile App Report

Friday, August 15, 2014

Siri’s Inventors Are Building a Radical New AI That Does Anything You Ask | Enterprise | WIRED

Siri’s Inventors Are Building a Radical New AI That Does Anything You Ask | Enterprise | WIRED:

Excerpt:
Viv is an open system that will let innumerable businesses and applications become part of its boundless brain. The technical barriers are minimal, requiring brief “training” (in some cases, minutes) for Viv to understand the jargon of the specific topic. As Viv’s knowledge grows, so will its understanding; its creators have designed it based on three principles they call its “pillars”: It will be taught by the world, it will know more than it is taught, and it will learn something every day. As with other AI products, that teaching involves using sophisticated algorithms to interpret the language and behavior of people using the system—the more people use it, the smarter it gets. By knowing who its users are and which services they interact with, Viv can sift through that vast trove of data and find new ways to connect and manipulate the information.


Kittlaus says the end result will be a digital assistant who knows what you want before you ask for it. He envisions someone unsteadily holding a phone to his mouth outside a dive bar at 2 am and saying, “I’m drunk.” Without any elaboration, Viv would contact the user’s preferred car service, dispatch it to the address where he’s half passed out, and direct the driver to take him home. No further consciousness required.