- Japanese Scientists Create Touchable Holograms (Reuters) — Using femtosecond laser technology, the researchers developed ‘Fairy Lights, a system that can fire high-frequency laser pulses that last one millionth of one billionth of a second. The pulses respond to human touch, so that – when interrupted – the hologram’s pixels can be manipulated in mid-air.
- Google Cloud Vision API — classifies images into thousands of categories (e.g., “boat,” “lion,” “Eiffel Tower”), detects faces with associated emotions, and recognizes printed words in many languages.
- Not Even Close: The State of Computer Security (Vimeo) — hilarious James Mickens talk with the best description ever.
- 20 Product Prioritization Techniques: A Map and Guided Tour — excellent collection of techniques for ordering possible product work.
"API" entries


Four short links: 3 December 2015
Touchable Holograms, Cloud Vision API, State of Computer Security, and Product Prioritization

Building APIs with Swagger
Designing and coding APIs in Node.js.
Getting an API design right demands far more than just figuring out which calls should do what. Public APIs — APIs meant to be used by people other than their creators — present a special set of challenges that can inform all API design. Even private APIs often find themselves with unexpected users, and can last far longer than was planned. Apigee faced the special challenge of creating a marquee API, an API for managing its APIs.
What comes first? The API or the code? Who is the API really for, and how important is the long-term maintenance of the API? Where does documentation fit? Answer these questions, and you can find the right approach.

The Drupal API turns a CMS into a true enterprise application
With its flexible API, Drupal integrates with 3rd party tools — a functionality that could revolutionize health care technology.
Contributing author: Ben Schluter
Drupal is well known as a Content Management System (CMS) — famously used by the White House and elsewhere. At the company where I work, Achieve Internet, we view Drupal as more than just a CMS — we see it as a powerful web application platform with capabilities to integrate multiple sources of information. Sporting a far-reaching and flexible API, Drupal can link together other platforms that provide APIs, such as enterprise productivity systems or electronic health records (EHRs), and essentially provide Drupal’s web pages as an interface to these systems on both a read and write basis. The growth of the platform and the community has put Drupal in a position to revolutionize the concept of a traditional CMS in one market sector after another, from the media and entertainment industries to education, travel, and government. Read more…

Java 8 functional interfaces
Getting to know various out-of-the-box functions such as Consumer, Predicate, Supplier
In the first part of this series, we learned that lambdas are a type of functional interface – an interface with a single abstract method. The Java API has many one-method interfaces such as Runnable
, Callable
, Comparator
, ActionListener
and others. They can be implemented and instantiated using anonymous class syntax. For example, take the ITrade
functional interface. It has only one abstract method that takes a Trade
object and returns a boolean value – perhaps checking the status of the trade or validating the order or some other condition.
@FunctionalInterface
public interface ITrade {
public boolean check(Trade t);
}
In order to satisfy our requirement of checking for new trades, we could create a lambda expression, using the above functional interface, as shown here:
ITrade newTradeChecker = (Trade t) -> t.getStatus().equals("NEW");
// Or we could omit the input type setting:
ITrade newTradeChecker = (t) -> t.getStatus().equals("NEW");


Four short links: 14 February 2014
Bitcoin Analysis, 3D Crime Scenes, 3D Display, and Cloud API
- Bitcoin: Understanding and Assessing Potential Opportunities (Slideshare) — VC deck on Bitcoin market and opportunities, long-term and short-term. Interesting lens on the development and gaps.
- Queensland Police Map Crime Scenes with 3D Scanner (ComputerWorld) — can’t wait for the 3D printed merchandise from famous trials.
- Atheer Labs — An immersive 3D display, over a million apps, sub-mm 3D hand interaction, all in 75 grams.
- libcloud — Python library for interacting with many of the popular cloud service providers using a unified API.

Keeping jQuery in Check
Segregated DOM makes for a maintainable JavaScript codebase
jQuery makes it really easy to work with the DOM and other browser APIs. Almost too easy. Having the almighty $
available to you at all times can lead to an architectural style that I refer to as “jQuery soup.”
A jQuery soup codebase is one where adhoc references to $
appear everywhere. AJAX calls and DOM manipulations are intermingled alongside application logic and business rules.
Taking this approach in a JavaScript app of any real significance will cause a lot of pain. Any part of your app that is reaching out to the DOM via $
is essentially mutating a big bag of shared global state. That means that whenever you want to modify or extend that part of the app you need to carefully maintain a large mental model of every DOM interaction in your head. That’s really hard to do, and very much prone to error.


Four short links: 12 December 2013
Bluetooth LE, Keyboard Design, Dataset API, and State Machines
- iBeacons — Bluetooth LE enabling tighter coupling of physical world with digital. I’m enamoured with the interaction possibilities: The latest Apple TV software brought a fantastically clever workaround. You just tap your iPhone to the Apple TV itself, and it passes your Wi-Fi and iTunes credentials over and sets everything up instantaneously.
- Better and Better Keyboards (Jesse Vincent) — It suffered from the same problem as every other 3D-printed keyboard I’d made to date – When I showed it to someone, they got really excited about the fact that I had a 3D printer. In contrast, whenever I showed someone one of the layered acrylic prototype keyboards I’d built, they got excited about the keyboard.
- Bamboo.io — open source modular web service for dataset storage and retrieval.
- state.js — Open source JavaScript state machine supporting most UML 2 features.

Investigating the Twitter Interest Graph
Why Is Twitter All the Rage?
I’m presenting a short webcast entitled Why Twitter Is All the Rage: A Data Miner’s Perspective that is loosely adapted from material that appears early in Mining the Social Web (2nd Ed). I wanted to share out the content that inspired the topic. The remainder of this post is a slightly abridged reproduction of a section that appears early in Chapter 1. If you enjoy it, you can download all of Chapter 1 as a free PDF to learn more about mining Twitter data.
Read more…

What Does iOS 7 Mean for Developers?
UI dynamics, multitasking, maps, and more
iOS 7 is here and we are all very excited. But, as programmers, this isn’t a time to celebrate. This is a time to be concerned. About what, you ask? API Differences is all I can say. How does iOS 7 affect our apps and what is there for us to learn? The iOS SDK is a huge collection of APIs and many of us won’t have time to play with all of the APIs. So we need to be selective about what APIs we use and how efficiently we plan to use them. In this post, I’m going to briefly tell you about some of the new APIs that you need to keep an eye on in iOS 7.
Additions to iOS 7
UI Dynamics
These are all the Dynamics APIs that Apple has added to UIKit. Start by learning about the UIDynamicAnimator class and take it from there. That is the key to UI Dynamics.