"APIs" entries

Four short links: 5 September 2013

Four short links: 5 September 2013

Bezos on Business, CS Ratios, Easier Hadoopery, and AWS CLI

  1. Bezos at the Post (Washington Post) — “All businesses need to be young forever. If your customer base ages with you, you’re Woolworth’s,” added Bezos.[…] “The number one rule has to be: Don’t be boring.” (via Julie Starr)
  2. How Carnegie-Mellon Increased Women in Computer Science to 42% — outreach, admissions based on potential not existing advantage, making CS classes practical from the start, and peer support.
  3. Summingbird (Github) — Twitter open-sourced library that lets you write streaming MapReduce programs that look like native Scala or Java collection transformations and execute them on a number of well-known distributed MapReduce platforms like Storm and Scalding.
  4. aws-cli (Github) — commandline for Amazon Web Services. (via AWS Blog)

Upward Mobility: Overly Defensive Programmer

Sometimes, the best defense is a good offensive core dump

By now, most meme-aware internet surfers have encountered Overly Attached Girlfriend  (and the Rule 63 counterpart, Overly Attached Boyfriend.) What isn’t as well known is that they have a brother, Overly Defensive Programmer (ODP, for short.)

ODP is a mobile developer who lives in the constant fear that the server-side folks are going to subtly change an API out from under him, making his app crash. To avoid this, he puts in code like this:

NSError *error;
NSDictionary *responseData =
     [NSJSONSerialization JSONObjectWithData:data 
                      options:0 error:&error];
if (error != NULL) {
   // All sorts of logging code, followed by returning 
   // from the call silently, swallowing the error
}
if ((responseData[@"payload"] != NULL) &&
    (responseData[@"payload"][@"objectId"] != NULL)) {
     self.objectId = 
       ((NSNumber *) responseData[@"payload"][@"objectId"].intValue;
}

We’ve all seen code like this. The developer didn’t want to accidentally cause a fatal error by trying to get the objectId parameter if the payload was missing, or to try accessing the objectId if it was missing. And if objectId is an optional field, this is totally the way to go.

The thing is, objectId sounds like it is probably a critical piece of data, without which the application will fail to operate properly. You want the application to crash if it goes missing, because that means it will crash during QA testing, rather than silently ignoring the problem and possibly malfunctioning in a way that QA misses.
Read more…

Four short links: 11 July 2013

Four short links: 11 July 2013

Filmic Photogrammetry, Car APIs, Takedowns, and OpenCV for Processing

  1. Sifted — 7 minute animation set in a point cloud world, using photogrammetry in film-making. My brilliant cousin Ben wrote the software behind it. See this newspaper article and tv report for more.
  2. Vehicle Tech Out of Sync with Drivers’ DevicesFord Motor Co. has its own system. Apple Inc. is working with one set of automakers to design an interface that works better with its iPhone line. Some of the same car companies and others have joined the Car Connectivity Consortium, which is working with the major Android phone brands to develop a different interface. FFS. “… you are changing your phone every other year, and the top-of-mind apps are continuously changing.” That’s why Chevrolet, Mini and some other automakers are starting to offer screens that mirror apps from a smartphone.
  3. Incentives in Notice and Takedown (PDF) — findings summarised in Blocking and Removing Illegal Child Sexual Content: Analysis from a Technical and Legal Perspective: financial institutions seemed to be relatively successful at removing phishing websites while it took on average 150 times longer to remove child pornography.
  4. OpenCV for Processing (Github) — OpenCV for Processing is based on the official OpenCV Java bindings. Therefore, in addition to a suite of friendly functions for all the basics, you can also do anything that OpenCV can do. And a book from O’Reilly, and it’ll be CC-licensed. All is win. (via Greg Borenstein)
Four short links: 25 April 2013

Four short links: 25 April 2013

iOS Package Manager, Designed Satire, API Fragility, and Retweeting WWI

  1. Alcatraz — package manager for iOS. (via Hacker News)
  2. Scarfolk Council — clever satire, the concept being a UK town stuck in 1979. Tupperware urns, “put old people down at birth”. The 1979 look is gorgeous. (via BoingBoing)
  3. Stop Designing Fragile Web APIsIt is possible to design your API in a manner that reduces its fragility and increases its resilience to change. The key is to design your API around its intent. In the SOA world, this is also referred to as business-orientation.
  4. @life100yearsago (Twitter) — account that tweets out fragments of New Zealand journals and newspapers and similar historic documents, as part of celebrating the surprising and the commonplace during WWI. My favourite so far: “Wizard” stones aeroplane. (via NDF)

Making government health data personal again

An interview with Fred Smith of the CDC on their open content APIs.

Health care data liquidity (the ability of data to move freely and securely through the system) is an increasingly crucial topic in the era of big data. Most conversations about data liquidity focus on patient data, but other kinds of information need to be able to move freely and securely, too. Enter several government initiatives, including efforts at agencies within the Department of Health and Human Services (HHS) to make their content more easily available.

Fred Smith is team lead for the Interactive Media Technology Team in the Division of News and Electronic Media in the Office of the Associate Director for Communication for the U.S. Centers for Disease Control and Prevention (CDC) in Atlanta. We recently spoke by phone to discuss ways in which the CDC is working to make their information more “liquid”: easier to access, easier to repurpose, and easier to combine with other data sources.

Which data is available from the CDC APIs?

Fred Smith, CDC

Fred Smith, CDC

Fred Smith: In essence, what we’re doing is taking our unstructured web content and turning it into a structured database, so we can call an API into it for reuse. It’s making our content available for our partners to build into their websites or applications or whatever they’re building.

Todd Park likes to talk about “liberating data” — well, this is liberating content. What is a more high-value dataset than our own public health messaging? It incorporates not only HTML-based text, but also we’re building this to include multimedia — whether it’s podcasts, images, web badges, or other content — and have all that content be aware of other content based on category or taxonomy. So it will be easy to query, for example: “What content does the CDC have on smoking prevention?”

Read more…

Masking the complexity of the machine

The industrial Internet will bring abstraction and modularity to the physical world.

The Internet has thrived on abstraction and modularity. Web services hide their complexity behind APIs and standardized protocols, and these clean interfaces make it easy to turn them into modules of larger systems that can take advantage of the most intelligent solution to each of many problems.

The Internet revolutionized the software-software interface; the industrial Internet will revolutionize the software-machine interface and, in doing so, will make machines more accessible. I’m using “access” very broadly here — interfaces will make machines accessible to innovators who aren’t necessarily experts in physical machinery, in the same way that the Google Maps API makes interactive mapping an accessible feature to developers who aren’t expert cartographers and front-end developers. And better access for people who write software means wider applications for those machines.

I’ve recently encountered a couple of widely different examples that illustrate this idea. These come from very different places — an aerospace manufacturer that has built strong linkages between airplanes and software, and an advanced enthusiast who has built new controllers for a pair of industrial robots — but they both involve the development of interfaces that make machines accessible. Read more…

Four short links: 18 September 2012

Four short links: 18 September 2012

Rapture of the Nerds, Amazon Maps API, 3D Printer Queues, and the New Aesthetic

  1. The Rapture of the Nerds (Charlie Stoss, Cory Doctorow) — available for download and purchase under a CC-A-NC-ND license.
  2. Amazon Maps API — if there is an API layer of general use to developers, Amazon will build it. They want to be the infrastructure for the web. Tim identified “the Internet Operating System”, and Amazon figured out how to put a pricetag on every syscall.
  3. Hoektronics — open source 3d printer queue management. (via Daniel Suarez)
  4. The Machine Gaze (Will Wiles) — Converging, leapfrogging technologies evoke new emotional responses within us, responses that do not yet have names. (via James Bridle)

True data liberation with IFTTT and Google Drive

Web services combine to give us our data, and help us use it.

IFTTT action showing Twitter archiving to Evernote

An example IFTTT action archives tweets to Evernote

The web service IFTTT (If this, then that) accesses popular web applications via their APIs, and lets users create new actions based on changes. For instance, actions such as “upload photos to Flickr when I add them to my Dropbox folder”, or “send me email when frost is forecast”.

I had been tempted to classify IFTTT as a merely an interesting toy for playing with social media. Granted, it’s nice that I can archive all my tweets into an Evernote note, but so what? However, IFTTT’s growth in features is showing it to be more than a bauble. The service is becoming an empowering tool that gives users more control over their own data, previously often accessible by programmers alone.

Read more…

Four short links: 31 July 2012

Four short links: 31 July 2012

Urban Design, Vehicle Interfaces, Maldrones, and Cloud Translation

  1. Christchurch’s Shot at Being Innovation Central (Idealog) — Christchurch, rebuilding a destroyed CBD after earthquakes, has released plans for the new city. I hope there’s budget for architects and city developers to build visible data, sensors, etc. so the Innovation Precinct doesn’t become the Tech Ghetto.
  2. Torque Pro (Google Play Store) — a vehicle / car performance/diagnostics tool and scanner that uses an OBD II Bluetooth adapter to connect to your OBD2 engine management/ECU. Can lay out out your dashboards, track performance via GPS, and more. (via Steve O’Grady)
  3. Drone Pilots (NY Times) — at the moment, the stories are all about the technology helping our boys valiantly protecting the nation. Things will get interesting when the new technology is used against us (we just saw the possibility of this with 3D printing guns). (via Dave Pell)
  4. Avalon (GitHub) — A cloud based translation and localization utility for Python which combines human and machine translation. There’s also a how-to. (via Brian McConnell)
Four short links: 30 July 2012

Four short links: 30 July 2012

Torturing HTTP, Twitter Business, Mobile Setup, and 3D Printing Olympic Gold

  1. pathodA pathological HTTP daemon for testing and torturing client software. (via Hacker News)
  2. A Walk Through Twitter’s Walled Garden (The Realtime Report) — nice breakdown of Twitter’s business model choice and consequences. Twitter wants you to be able to see the pictures and read the articles shared in your its Tweets, without leaving the garden. Costolo told the Los Angeles Times that “Twitter is heading in a direction where its 140-character messages are not so much the main attraction but rather the caption to other forms of content.” (You know all the traffic that Twitter’s been driving to web sites? Don’t count on it being there next year.) (via Jim Stogdill)
  3. My Computing Environment (Jesse Vincent) — already have a set of those gloves on order.
  4. How Speedo Created a Record-Breaking Swimsuit (Scientific American) — A new 3-D printer at Aqualab fabricated prototypes of the cap and goggles for testing within hours, rather than sending drawings to a manufacturer and waiting weeks or months. “In the past we couldn’t do many changes to the original design,” Santry says. “With this process, we completely revolutionized the goggle from scratch.” (via Eric Ries)