ProgrammableWebGoogle Introduces Web Share API

Google has introduced a Web Share API that allows website users to control how and where data is shared. The API does this by enabling websites to call on the host platform’s native sharing capabilities. An Origin Trial has been enabled in Chrome 55 beta so that developers can try out the Google Web Share API on websites.

ProgrammableWebDaily API RoundUp: Alexa Amazon Lists, Lionbridge,

Every day, the ProgrammableWeb team is busy, updating its three primary directories for APIs, clients (language-specific libraries or SDKs for consuming or providing APIs), and source code samples.

ProgrammableWebMicrosoft Strands Developers As It Kills Off Its Fitness Band SDK

Recently, Microsoft discontinued the Microsoft Band SDK, and removed Microsoft Band from its online store. "Band" (as the fitness band was known) was Microsoft's entry into the fitness wearables market, and the entire product stack consisted of the following pieces:

ProgrammableWeb: APIsW3C Pointer Lock

The W3C Pointer Lock API is a specification that defines an API for providing scripted access to raw mouse movement data while also locking a mouse event's target to a single element and hiding the cursor from view. This input mode is especially important for 3D applications that rely on first person perspective and 3D modeling software.
Date Updated: 2016-10-25
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWeb: APIsW3C Web Cryptography

The W3C Web Cryptography API is a specification for a JavaScript API that performs basic cryptographic operations in web applications. These operations include hashing, signature generation, signature verification, encoding, and decryption. The specification also describes API methods for generating and managing the keying material necessary for performing these operations.
Date Updated: 2016-10-25
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWeb: APIsCodeforces

The Codeforces API is a platform as a service that integrates rankings of programming contests around the world. It is available in JSON architecture with HTTP requests and API Key, which can be generated at If developers prefer to work via JSONP, they will receive JavaScript as a data return.
Date Updated: 2016-10-25
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWeb: APIsMasterCard Masterpass Merchant Integration

The MasterCard Masterpass Merchant Integration API is a checkout service API that allows simple and secure checkout from Masterpass digital wallets. Using this API enables merchants to get payment information from the consumer’s digital wallet and be able to process their order on a website, app or in store. Details on setup can be found in the documentation- once setup and integrated, merchants can implement all the checkout options that are useful for their front end applications. The Merchant Integration API is part of MasterCard's Masterpass APIs.
Date Updated: 2016-10-25
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWeb: APIsMasterCard Masterpass Merchant Onboarding

The MasterCard Masterpass Merchant Onboarding API offers tools to make onboarding and setup easily available for merchants and service providers using Masterpass. With the Masterpass services, single and multi-merchant options for onboarding are available, and the Merchant Onboarding API has tools to get started and integrated. The Merchant Onboarding API is part of MasterCard's Masterpass APIs.
Date Updated: 2016-10-25
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWeb: APIsW3C The Permissions

The W3C The Permissions API is a document that specifies an API for handling permissions. It allows web applications to know whether a given permission has been granted or denied, or if a user will be asked whether a given permission should be granted. This document is a work in progress and may be replaced or rendered obsolete at any time.
Date Updated: 2016-10-25
Tags: [field_primary_category], [field_secondary_categories]

Amazon Web ServicesNew – AWS Server Migration Service

I love to use the historical photo at right to emphasize a situation that many of our customers face. They need to move their existing IT infrastructure to the AWS Cloud without scheduling prolonged maintenance periods for data migration. Because many of these applications are mission-critical and are heavily data-driven, taking systems offline in order to move gigabytes or terabytes of stored data is simply not practical.

New Service
Today I would like to tell you about AWS Server Migration Service.

This service simplifies and streamlines the process of migrating existing virtualized applications to Amazon EC2. In order to support the IT equivalent of the use case illustrated in the photo, it allows you to incrementally replicate live Virtual Machines (VMs) to the cloud without the need for a prolonged maintenance period. You can automate, schedule, and track incremental replication of your live server volumes, simplifying the process of coordinating and implementing large-scale migrations that span tens or hundreds of volumes.

You get full control of the replication process, from the AWS Management Console, AWS Command Line Interface (CLI), and through a set of migration APIs. After choosing the Windows or Linux servers to migrate, you can choose the replication frequency that best matches your application’s usage pattern and minimizes network bandwidth. Behind the scenes, AWS Server Migration Service will replicate your server’s volumes to the cloud, creating a new Amazon Machine Image (AMI) for each one. You can track the status of each replication job from the console.  Each incremental sync generates a fresh AMI, allowing you to test the migrated volumes in advance of your actual cut-over.

Migration Service Tour
Before you start the actual migration process, you need to download and deploy the AWS Server Migration Service Connector. The Connector runs within your existing virtualized environment, and allows the migration itself to be done in agentless fashion, sparing you the trouble of installing an agent on each existing server. If you run a large organization and/or have multiple virtualized environments, you can deploy multiple copies of the Connector.

The Connector has a web UI that you’ll access from within your existing environment. After you click through the license agreement, you will be prompted to create a password, configure the local network settings, and finalize a couple of preferences. Next, you will need to provide the Connector with a set of AWS account or IAM User credentials so that it can access the SMS, S3, and SNS APIs. If you use an IAM User, you’ll also need to create an appropriate IAM Role (the User Guide contains a sample).

With the Connector up and running, you can log in to the AWS Management Console, navigate to Server Management Service, and see a list of all of the Connectors that have registered with the service. From there you can import the server catalog from each Connector and inspect the Server inventory:

Then you can pick some servers to replicate, select them, and click on Create replication jobs. Next, you configure the license type (AWS or Bring Your Own) for server:

With that out of the way, you can choose to initiate replication immediately or at a date and time in the future. You can also choose the replication interval:

After you review and approve the settings, you can view all of your replication jobs in the dashboard:

You can also examine individual jobs:

And you can see the AMIs created after each incremental run:

From there you can click on Launch instance, choose an EC2 instance type, and perform acceptance testing on the migrated server.

Available Now
AWS Server Migration Service is now available in the US East (Northern Virginia), EU (Ireland), and Asia Pacific (Sydney) Regions and you can start using it today. There is no charge for the use of the service; you pay for S3 storage used during the replication process and for the EBS snapshots created when the migration is complete.



ProgrammableWebeBay Launches New Buy and Sell APIs

eBay has announced what it calls its "new generation of APIs" that will power the eBay developer community on both the buy and sell side. The APIs were designed to meet businesses where they are as opposed to creating an eBay-centric ecosystem that businesses must adjust to. 10 brand new APIs make up the heart of the completely revamped API portfolio, and eBay has delivered a number of resources to introduce, grow, and nurture development within its new set of tools for developers.

ProgrammableWebHow Banking APIs Unlock Client Data

Banking APIs let fintech companies thrive and compete with established financial behemoths. It’s just a matter of accessing valuable client data stored in banks and other institutions and using it in innovative products and services.

ProgrammableWebSnapchat's New Ads API Highlights Unique Business Value

Snapchat recently announced an update to its advertising platform which includes the availability of a new Ads API. The API is a set of tools for allowing approved business partners access to real-time bidding on advertising time, and a non-API set of tools that can be used to develop the content that will stream for the advertisement.

Amazon Web ServicesFirst AWS Certification Study Guide Now Available

My colleague Joe Baron wrote the guest post below to introduce you to a book that he and his colleagues have put together!


Are you studying for the AWS Certified Solutions Architect – Associate exam?

The new AWS Certified Solutions Architect Official Study Guide: Associate Exam has just been published by John Wiley & Sons, Inc., and is now available on in both paperback and Kindle format. The 455-page book helps prepare candidates for the AWS Certified Solutions Architect – Associate Exam. It was written by a very experienced team of subject matter experts, all part of the team that wrote, reviewed, and developed the AWS Certified Solutions Architect – Associate exam. The study guide includes an introduction to AWS, chapters on core AWS services, as well as information on AWS security, compliance, and architectural best practices. Each chapter includes targeted information on the topic, as well as key exam essentials, exercises, and chapter review questions (with answers in the appendix). The guide also gives you access to SYBEX online study tools such as practice exams, flashcards, chapter tests and assessment tests.

In addition to the new book, we have a half-day workshop to help you prepare for the exam. In the AWS Certification Exam Readiness Workshop: AWS Certified Solutions Architect – Associate, we review what to expect at the testing center and while taking the exam. We walk you through how the exam is structured, as well as teach you how to interpret the concepts being tested so that you can better eliminate incorrect responses.  You will also have the chance to test concepts we cover through a series of practice exam questions.  At the end of the class, you will receive a voucher to take an online practice exam at no cost.

If you will be attending AWS re:Invent this year, you can purchase a study guide now so that you can prepare to take the Solutions Architect – Associate exam on-site (reserve your seat now).

Joe Baron, Principal Solutions Architect

Amazon Web ServicesAWS Week in Review – October 17, 2016

Wow, a lot is happening in AWS-land these days! Today’s post included submissions from several dozen internal and external contributors, along with material from my RSS feeds, my inbox, and other things that come my way. To join in the fun, create (or find) some awesome AWS-related content and submit a pull request!


October 17


October 18


October 19


October 20


October 21


October 22


October 23

New Customer Success Stories

  • 20 Minutos – 20minutos is a free newspaper and website that has rapidly become one of the main sources of information in Spain. The company is using Amazon S3, Amazon RDS, and Amazon Glacier to store the fast growing content generated through the website or social media, and uses Amazon EC2 and Amazon ElastiCache to guarantee the scalability of their systems.
  • Innovantage -Migrating to AWS has enabled InnoVantage’s developers to spend only five percent of their time on infrastructure and has reduced the company’s time to market from 14 months to seven weeks. InnoVantage provides cloud-based applications to large businesses and government organizations. InnoVantage uses AWS Elastic Beanstalk, AWS CloudFormation, and AWS Lambda to push its Cogito product to a defined set of AWS infrastructure services, create and manage AWS resources, and run code in response to events.
  • Vango – Using software from the AWS Marketplace, Vango can now build its digital-media products faster to generate more revenue. Located in San Francisco, Vango is an online marketplace that helps art lovers find and purchase art online. Vango uses Imagizer Media Engine for AWS to efficiently manipulate and manage images, support new interfaces in its applications, build images for its branding and digital assets, and prototype new designs.
  • Vidyard -Vidyard uses AWS to ensure seamless video upload and playback capabilities, deliver 30 percent faster video upload times, and give its customers confidence in the security of their data. Based in Canada, the organization provides a video-hosting platform that shows customers specifically how and when viewers watch their videos. Vidyard is all in with AWS, running its complete video platform on the AWS Cloud.

New & Notable Open Source

New SlideShare Presentations

Upcoming Events

New AWS Marketplace Listings

  • Application Development
    • Joomia 3.6.0 + Apache + MySQL + AMAZONLINUX AMI by MIRI Infotech Inc, sold by Miri Infotech.
    • LAMP 5 MariaDB and LAMP 7 MariaDB, sold by Jetware.
    • Secured Acquia Drupal on Windows 2008 R2, sold by Cognosys Inc.
    • Secured BugNet on Windows 2008 R2, sold by Cognosys Inc.
    • Secured CMS Gallery on Windows 2008 R2, sold by Cognosys Inc.
    • Secured Kooboo CMS on Windows 2008 R2, sold by Cognosys Inc.
    • Secured Lemoon on Windows 2008 R2, sold by Cognosys Inc.
    • Secured Magento on Windows 2008 R2, sold by Cognosys Inc.
    • Secured MyCV on Windows 2012 R2<, sold by Cognosys Inc.
    • Secured nService on Windows 2012 R2, sold by Cognosys Inc.
    • Secured Orchard CMS on Windows 2008 R2, sold by Cognosys Inc.
  • Application Servers
    • Microsoft Dynamics NAV 2016 for Business, sold by Data Resolution.
    • Microsoft Dynamics GP 2015 for Business, sold by Data Resolution.
    • Microsoft Dynamics AX 2012 for Business, sold by Data Resolution.
    • Microsoft Dynamics SL 2015 for Business, sold by Data Resolution.
    • Redis 3.0, sold by Jetware.
  • Application Stacks
    • LAMP 5 Percona and LAMP 7 Percona, sold by Jetware.
    • MySQL 5.1, MySQL 5.6, and MySQL 5.7, sold by Jetware.
    • Percona Server for MySQL 5.7, sold by Jetware.
    • Perfect7 LAMP v1.1 Multi-PHP w/Security (HVM), sold by Archisoft.
    • Perfect7 LAMP v1.1 Multi-PHP Base (HVM), sold by Archisoft.
  • Content Management
    • DNN Platform 9 Sandbox – SQL 2016, IIS 8.5, .Net 4.6, W2K12R2, sold by Benjamin Hermann.
    • iBase 7, sold by iBase.
    • MediaWiki powered by Symetricore (Plus Edition), sold by Symetricore.
    • Secured CompositeC1 on Windows 2008 R2, sold by Cognosys Inc.
    • Secured Dot Net CMS on Windows 2008 R2, sold by Cognosys Inc.
    • Secured Gallery Server on Windows 2008 R2,sold by Cognosys Inc.
    • Secured Joomia on Windows 2008 R2, sold by Cognosys Inc.
    • Secured Mayando on Windows 2008 R2, sold by Cognosys Inc.
    • Secured phpBB on Windows 2008 R2, sold by Cognosys Inc.
    • Secured Wiki on Windows 2008 R2, sold by Cognosys Inc.
    • SharePoint 2016 Enterprise bYOL with paid support, sold by Data Resolution.
    • WordPress Powered by AMIMOTO (Auto-Scaling ready), sold by DigitalCube Co. Ltd.
  • Databases
    • MariaDB 5.5, 10.0, and 10.1, sold by Jetware.
    • Redis 3.2, sold by Jetware
  • Databases
    • MariaDB 5.5, 10.0, and 10.1, sold by Jetware.
    • Redis 3.2, sold by Jetware.
  • eCommerce
    • Secured AspxCommerce on Windows 2008 R2, sold by Cognosys Inc.
    • Secured BeYourMarket on Windows 2008 R2, sold by Cognosys Inc.
    • Secured DashComerce on Windows 2008 R2, sold by Cognosys Inc.
    • Vikrio, sold by Vikrio.
  • Issue & Bug Tracking
    • Redmine 2.6 and Redmine 3.3, sold by Jetware.
  • Monitoring
    • Memcached 1.4, sold by Jetware
  • Network Infrastructure
    • 500 Mbps Load Balancer with Commercial WAF Subscription, sold by KEMP Technologies.
  • Operating System
    • Ubuntu Desktop 16.04 LTS (HVM), sold by Netspectrum Inc.
  • Security
    • AlienVault USM (Unified Security Management) Anywhere, sold by AlienVault.
    • Armor Anywhere CORE, sold by Armor Defense.
    • Hillstone CloudEdge Virtual-Firewall Advanced Edition, sold by Hillstone Networks.
    • Negative SEO Monitoring, sold by SEO Defend.

Help Wanted

Stay tuned for next week! In the meantime, follow me on Twitter and subscribe to the RSS feed.

Jeremy Keith (Adactio)Research on evaluating technology

I’ve spent the past few months preparing a new talk for An Event Apart San Francisco (and hopefully some more AEAs after that). As always happens, I spent the whole time vacillating between thinking “this is good!” and thinking “this is awful!” I’m still bouncing between those poles. I won’t really know whether the talk is up to snuff until I actually give it to a live audience.

Over the past few years, my presentations have been upon one another. Two years ago, my talk was called Enhance! and it set the groundwork for using a layered approach to web design and development. My 2016 talk, Resilience, follows on with a process and examples for that approach (I also set myself the challenge of delivering a talk about progressive enhancement without ever using the phrase “progressive enhancement”).

My new talk goes a bit meta, but in my mind, it’s very much building on the previous talks. The talk is all about evaluating technology. I haven’t settled on a final title, but I was thinking about something obtuse, like …Evaluating Technology.

Here’s my hastily scribbled description:

We work with technology every day. And every day it seems like there’s more and more technology to understand: graphic design tools, build tools, frameworks and libraries, not to mention new HTML, CSS and JavaScript features landing in browsers. How should we best choose which technologies to invest our time in? When we decide to weigh up the technology choices that confront us, what are the best criteria for doing that? This talk will help you evaluate tools and technologies in a way that best benefits the people who use the websites that we are designing and developing. Let’s take a look at some of the hottest new web technologies like service workers and web components. Together we will dig beneath the hype to find out whether they will really change life on the web for the better.

As ever, I’ll begin and end with a long-zoom pretentious arc of history, but I’ll dive into practical stuff in the middle. That’s become a bit of a cliché for my presentations, but the formula works as a sort of microcosm of a good conference—a mixture of the inspirational and the practical, trying to keep a good balance of both.

For this new talk, the practical focus will be on some web technologies that are riding high on the hype cycle right now: service workers, web components, progressive web apps. I’ll use them as a lens for applying broader questions about how we make decisions about the technologies we embrace, and the technologies we reject.

Technology. Now there’s a big subject. It’s literally the entirety of human history. I had to be careful not to go down too many rabbit holes. I’m still not sure if I’ve succeeded, but I’ve already had to ruthlessly cull some darlings.

One of the nice things that the An Event Apart crew started doing was to provide link lists for each talk to attendees. That gives me an opportunity to touch briefly on a topic in the talk itself, but allow any interested attendees to dive deeper at their leisure.

For this talk on evaluating technology, I’ve put together this list of hyperlinks for further reading, watching, listening, and researching…

<section labelledby="links"> </section> <section labelledby="people">


</section> <section labelledby="papers">


</section> <section labelledby="presentations">


</section> <section labelledby="books">



ProgrammableWeb: APIsRESO RETS Web API

The RESO RETS Web API integrates real estate standards into web, mobile, social, and HTTP-based applications. Available in REST format, it aims to facilitate the compliance and certification associated with real estate transactions.
Date Updated: 2016-10-24
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWeb: APIsAmazon List Skills

The Amazon List Skills API supports the integration of the Alexa platform for purposes of tracking and updating of changes on customer lists. The API that is still a beta release is being developed to specifically target list applications in the Alexa Skills Kit. Alexa automatically converts customers’ speech requests into Shopping and To-Do lists, while the Alexa Skills Kit enables developers to integrate their own features with Alexa. The List Skills API is equipped with a bi-directional interface that updates lists each time users make their requests on Alexa. The API is currently available on a limited participation beta and developers must submit applications to request access.
Date Updated: 2016-10-24
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWeb: APIsLionbridge GeoFluent Communication

The Lionbridge GeoFluent Communication is a real-time language translation tool for interactive conversations such as telephone calls, chats, emails, ticketing, forums, communities, and customer care helpdesk. The RESTful API is capable of translating audio and text formats of the majority of the languages that are spoken around the world. The API that is well suited for use in contact centers is functionally designed to integrate all communications to a single platform, and this helps organizations achieve cost effectiveness. Developers are required to register API keys and build their applications in their developer sandbox prior to launching its translation feature on the production mode.
Date Updated: 2016-10-24
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWeb: APIsLionbridge onDemand Content

The Lionbridge onDemand Content API is a proprietary language translation solution. It operates as a cost-effective onDemand translation portal for different types of content. A developer can conveniently accommodate all translation needs in a single Lionbridge Content API. The API’s Create Account, List Services, and Generate Quote functionalities support the creation of onDemand buyer accounts, identification of translation quality levels, and creation of translation projects, respectively. Its provider recommends that it can be applied on the Lionbridge onDemand Retail portal and the Lionbridge onDemand Enterprise portal. Developers are required to register API keys and build their applications in their developer sandbox prior to launching its translation feature on the production mode.
Date Updated: 2016-10-24
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWeb: APIsFantasy Basketball Nerd

The Fantasy Basketball Nerd REST API in XML and JSON formats integrates basketball data including players, rankings, projections, depth charts, and injuries. Information is retrieved from,, CBS Sportsline, FOX Sports, and Yahoo. Even though the API is free and open, developers are asked to provide a link to
Date Updated: 2016-10-24
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWeb9 Red Flags to Look Out for When Selecting an API

Choosing the right API for your new project can play a pivotal role in its success, and it can be difficult, expensive, and time-consuming to extricate it from your project down the line. With this in mind, Deb Haldar recently published a post on A Coder’s Journey highlighting nine red flags to look out for when selecting an API.

ProgrammableWebPanoramio Service and API to Shut Down in November

Google has announced that they will shutting down panoramic photo sharing site Panoramio, along with the Panoramio API on November 4th. Originally the company had announced plans for the shut down in 2014 but due to strong community feedback they postponed those plans. Now that Google Maps and Local Guides include photo upload tools, the decision has been made to move on from Panoramio.

ProgrammableWebDaily API RoundUp: Cloudways, Submittable, Autodata Motorcycle, Intelinyze

Every day, the ProgrammableWeb team is busy, updating its three primary directories for APIs, clients (language-specific libraries or SDKs for consuming or providing APIs), and source code samples.

ProgrammableWebMicrosoft Adds Cognitive Services, Speech, and Image Search APIs to Bot Framework

Earlier this year, Microsoft introduced its Bot Framework which empowers developers to build bots for Microsoft platforms like Skype, Messenger, Telegram, etc. Since the launch, Microsoft has introduced a number of new features, most recently adding new APIs that allow developers to create intelligent bots.

Amazon Web ServicesCongratulations to the Winners of the Serverless Chatbot Competition!

I announced the AWS Serverless Chatbot Competion in August and invited you to build a chatbot for Slack using AWS Lambda and Amazon API Gateway.

Last week I sat down with fellow judges Tim Wagner (General Manager of AWS Lambda) and Cecilia Deng (a Software Development Engineer on Tim’s team) to watch the videos and to evaluate all 62 submissions. We were impressed by the functionality and diversity of the entrees, as well as the efforts that the entrants put in to producing attractive videos to show their submissions in action.

After hours of intense deliberation we chose a total of 9 winners: 8 from individuals, teams & small organizations and one from a larger organization. Without further ado, here you go:

Individuals, Teams, and Small Organizations
Here are the winners of the Serverless Slackbot Hero Award. Each winner receives one ticket to AWS re:Invent, access to discounted hotel room rates, public announcement and promotion during the Serverless Computing keynote, some cool swag, and $100 in AWS Credits. You can find the code for many of these bots on GitHub. In alphabetical order, the winners are:

AWS Network Helper“The goal of this project is to provide an AWS network troubleshooting script that runs on a serverless architecture, and can be interacted with via Slack as a chat bot.GitHub repo.

B0pb0t – “Making Mealtime Awesome.” GitHub repo.

Borges – “Borges is a real-time translator for multilingual Slack teams.” GitHub repo.

CLIve – “CLIve makes managing your AWS EC2 instances a doddle. He understands natural language, so no need to learn a new CLI!”

Litlbot – “Litlbot is a Slack bot that enables realtime interaction with students in class, creating a more engaged classroom and learning experience.” GitHub repo.

Marbot – “Forward alerts from Amazon Web Services to your DevOps team.”

Opsidian – “Collaborate on your AWS infra from Slack using natural language.”

ServiceBot – “Communication platform between humans, machines, and enterprises.” GitHub repo.

Larger Organization
And here’s the winner of the Serverless Slackbot Large Organization Award:

Eva – “The virtual travel assistant for your team.” GitHub repo.

Thanks & Congratulations
I would like to personally thank each of the entrants for taking the time to submit their entries to the competition!

Congratulations to all of the winners; I hope to see you all at AWS re:Invent.



PS – If this list has given you an idea for a chatbot of your very own, please watch our Building Serverless Chatbots video and take advantage of our Serverless Chatbot Sample.

Amazon Web ServicesAWS Budgets Update – Track Cloud Costs and Usage

As Spider-Man and others before him have said, “with great power comes great responsibility.” In the on-demand, pay-as-you-go cloud world, this means that you need to be an informed, responsible consumer. In a corporate environment, this means that you need to pay attention to budgets and to spending, and to make sure that your actual spend is in line with your projections. With AWS in use across multiple projects and departments, tracking and forecasting becomes more involved.

Today we are making some important upgrades to the AWS Budgets feature (read New – AWS Budgets and Forecasts for background information). This feature is designed to be used by Finance Managers, Project Managers, and VP-level DevOps folks (please feel free to share this post with similarly-titled members of your organization if you are not directly responsible for your cloud budget).  You can use AWS Budgets to maintain a unified view of your costs and usage for specific categories that you define, and you can sign up for automated notifications that provide you with detailed status information (over or under budget) so that you can identify potential issues and take action to prevent undesired actual or forecasted overruns.

AWS Budgets Updates
You can create up to 20,000 budgets per payer account. In order to allow you to stay on top of your spending in environments where costs and resource consumption are changing frequently, the budgets are evaluated four times per day. Notifications are delivered via email or programmatically (an Amazon Simple Notification Service (SNS) message), so that you can take manual, semi-automated, or fully automated corrective action.  This gives you the power to address all of the following situations, along with others that may arise withing your organization:

VP – Optimize your overall cloud spend, with budgets for each business unit and for the company as a whole, tracking spending by region and other dimensions and comparing actual usage against budgets.

Project Manager – Manage costs within your department, watching multiple services, tags, and regions. Alert stakeholders when thresholds have been breached, and ask them to take action. When necessary, give resource budgets to individual team members to encourage adoption and experimentation.

Finance Manager – Analyze historical costs for your organization and use your insight into future plans to develop suitable budgets. Examine costs across the entire company, or on a per-account, per-service, business unit, or project team level.

Creating a Budget
Let’s create a budget or two!

Start by opening up Billing and Cost Management:

And then click on Budgets:

If you are new to AWS Budgets, you may have to wait up to 24 hours after clicking Create budget before you can proceed to the next step. During this time, we’ll prepare the first set of Detailed Billing Reports for your account.

Click on Create budget, decide whether you want the budget to be based on costs or usage, and give your budget a name. Then select Monthly, Quarterly, or Annual. I’ll go for a cost-based ($1000) monthly budget named MainBudget to get started:

By not checking any of the options next to Include costs related to, my budget will apply to my entire account. Checking a box opens the door to all sorts of additional options that give you a lot of flexibility. Here’s how I could create a budget for usage of EC2 instances where the Owner tag is set to jbarr:

I could be even more specific, and choose to set a very modest budget for usage that is on Non-Reserved instances. This would be a great way to make sure that I am making good use of any Reserved Instances that my organization owns.

The next step is to set up email or programmatic notifications:

The programmatic notification option can be used in many different ways. I could create a new web app with a fixed budget, and then invoke a AWS Lambda function if costs are approaching the budgeted amount. The app could take corrective action to ensure that the budget is not exceeded. For example, it could temporarily disable some of the more computationally intensive features, or it could switch over to a statically hosted alternative site.

With everything set up as desired I simply click on Create. My budget is visible right away (I clicked on the triangle in order to display the details before I took this screen shot):

As you can can see, I have already overspent my $1000 budget, with a forecast of almost $5,600 for the month. Given that we are a frugal company (read our leadership principles to learn more), I really need to see what’s going on and clean up some of my extra instances! Because I had opted for email notification, I received the following message not too long after I created my budget:

Suppose that my data transfer budget is separate from my compute budget, and that I am allowed to transfer up to 100 GB of data out of S3 every month, regardless of the cost at the time. I can create a budget that looks like this:

And I can see at a glance that I am in no danger of exceeding my data transfer budget:

I can also download the on-screen information in CSV form for further inspection or as input to another part of my budgeting process:

As you can see, this new feature gives you the power to set up very detailed budgets. Although I have introduced this feature using the AWS Management Console, you can also set up budgets by making calls to the new Budget API or by using the AWS Command Line Interface (CLI). This API includes functions like CreateBudget, DescribeBudget, and UpdateBudget that you can use from within your own applications.

Available Now
This new feature is available now and you can start using it today! You can create two budgets per account at no charge; additional budgets cost $0.02 per day (again, you can have up to 20,000 budgets per account).

To learn more, read Managing Your Costs with Budgets.



ProgrammableWeb: APIsCenit IO

The Cenit IO API is an open platform for data and business integration (iPaaS). It processes, storages and moves data in connection with Cloud or On-Premise services. It has been designed to orchestrate data flows that may involve several kinds of endpoints (APIs, Datasets, EDI). It makes possible the automation of all operational processes in a company, connecting between organization's on-premises infrastructure and cloud provider services. Available in JSON and XML formats.
Date Updated: 2016-10-21
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWeb: APIsgStack

The Purple Gator's gStack API deploys trivia games and surveys without the need to build their own servers and databases, aiming for quickly, efficiently, and cost-effectively processes. It supports Android, iOS, and HTML platforms. Contact Purple Gator for additional information related to formats and authentication at and
Date Updated: 2016-10-21
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWeb: APIsCayan Merchantware

This API for Merchantware services is split up among various domains and includes the following list of the various units composing: overview, credit transactions, vault transactions, EBT transactions, gift card transactions, LevelUp Transactions and more. Cayan is a provider of payment technologies and merchant account services.
Date Updated: 2016-10-21
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWeb: APIsBookeo

This API is based on REST principles and returns various booking data for availability, bookings, customers and payments. Bookeo provides online booking and marketing tools for small and medium sized businesses and lets your customers schedule bookings with you online, 24x7 with features such as online payments and deposits, gift vouchers, promotions, memberships, and more.
Date Updated: 2016-10-21
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWebVerifone Leads Effort to Establish New Mobile API Standard for Consumer Loyalty

Verifone, a payments and commerce solutions provider, has announced that the company is leading an effort to define and implement the Conexxus Mobile Standard, a new Mobile API standard that aims to coordinate interactions between mobile payment and loyalty applications.

Amazon Web ServicesAWS Developer Tool Recap – Recent Enhancements to CodeCommit, CodePipeline, and CodeDeploy

The AWS Developer Tools help you to put modern DevOps practices to work! Here’s a quick overview (read New AWS Tools for Code Management and Deployment for an in-depth look):

AWS CodeCommit is a fully-managed source code control service. You can use it to host secure and highly scalable private Git repositories while continuing to use your existing Git tools and workflows (watch the Introduction to AWS CodeCommit video to learn more).

AWS CodeDeploy automates code deployment to Amazon Elastic Compute Cloud (EC2) instances and on-premises servers. You can update your application at a rapid clip, while avoiding downtime during deployment (watch the Introduction to AWS CodeDeploy video to learn more).

AWS CodePipeline is a continuous delivery service that you can use to streamline and automate your release process. Checkins to your repo (CodeCommit or Git) will initiate build, test, and deployment actions (watch Introducing AWS CodePipeline for an introduction). The build can be deployed to your EC2 instances or on-premises servers via CodeDeploy, AWS Elastic Beanstalk, or AWS OpsWorks.

You can combine these services with your existing build and testing tools to create an end-to-end software release pipeline, all orchestrated by CodePipeline.

We have made a lot of enhancements to the Code* products this year and today seems like a good time to recap all of them for you! Many of these enhancements allow you to connect the developer tools to other parts of AWS so that you can continue to fine-tune your development process.

CodeCommit Enhancements
Here’s what’s new with CodeCommit:

  • Repository Triggers
  • Code Browsing
  • Commit History
  • Commit Visualization
  • Elastic Beanstalk Integration

Repository Triggers – You can create Repository Triggers that Send Notification or Run Code whenever a change occurs in a CodeCommit repository (these are sometimes called webhooks — user-defined HTTP callbacks). These hooks will allow you to customize and automate your development workflow. Notifications can be delivered to an Amazon Simple Notification Service (SNS) topic or can invoke a Lambda function.

Code Browsing – You can Browse Your Code in the Console. This includes navigation through the source code tree and the code:

Commit History – You can View the Commit History for your repositories (mine is kind of quiet, hence the 2015-era dates):

Commit Visualization – You can View a Graphical Representation of the Commit History for your repositories:

Elastic Beanstalk Integration – You can Use CodeCommit Repositories with Elastic Beanstalk to store your project code for deployment to an Elastic Beanstalk environment.

CodeDeploy Enhancements
Here’s what’s new with CodeDeploy:

  • CloudWatch Events Integration
  • CloudWatch Alarms and Automatic Deployment Rollback
  • Push Notifications
  • New Partner Integrations

CloudWatch Events Integration – You can Monitor and React to Deployment Changes with Amazon CloudWatch Events by configuring CloudWatch Events to stream changes in the state of your instances or deployments to an AWS Lambda function, an Amazon Kinesis stream, an Amazon Simple Queue Service (SQS) queue, or an SNS topic. You can build workflows and processes that are triggered by your changes. You could automatically terminate EC2 instances when a deployment fails or you could invoke a Lambda function that posts a message to a Slack channel.

CloudWatch Alarms and Automatic Deployment Rollback – CloudWatch Alarms give you another type of Monitoring for your Deployments. You can monitor metrics for the instances or Auto Scaling Groups managed by CodeDeploy and take action if they cross a threshold for a defined period of time, stop a deployment, or change the state of an instance by rebooting, terminating, or recovering it. You can also automatically rollback a deployment in response to a deployment failure or a CloudWatch Alarm.

Push Notifications – You can Receive Push Notifications via Amazon SNS for events related to your deployments and use them to track the state and progress of your deployment.

New Partner Integrations – Our CodeDeploy Partners have been hard at work, connecting their products to ours. Here are some of the most recent offerings:

CodePipeline Enhancements
And here’s what’s new with CodePipeline:

  • AWS OpsWorks Integration
  • Triggering of Lambda Functions
  • Manual Approval Actions
  • Information about Committed Changes
  • New Partner Integrations

AWS OpsWorks Integration – You can Choose AWS OpsWorks as a Deployment Provider in the software release pipelines that you model in CodePipeline:

You can also configure CodePipeline to use OpsWorks to deploy your code using recipes contained in custom Chef cookbooks.

Triggering of Lambda Functions – You can now Trigger a Lambda Function as one of the actions in a stage of your software release pipeline. Because Lambda allows you to write functions to perform almost any task, you can customize the way your pipeline works:

Manual Approval Actions – You can now add Manual Approval Actions to your software release pipeline. Execution pauses until the code change is approved or rejected by someone with the required IAM permission:

Information about Committed Changes – You can now View Information About Committed Changes to the code flowing through your software release pipeline:


New Partner Integrations – Our CodePipeline Partners have been hard at work, connecting their products to ours. Here are some of the most recent offerings:

New Online Content
In order to help you and your colleagues to understand the newest development methodologies, we have created some new introductory material:

Thanks for Reading!
I hope that you have enjoyed this quick look at some of the most recent additions to our development tools.

In order to help you to get some hands-on experience with continuous delivery, my colleagues have created a new Pipeline Starter Kit. The kit includes a AWS CloudFormation template that will create a VPC with two EC2 instances inside, a pair of applications (one for each EC2 instance, both deployed via CodeDeploy), and a pipeline that builds and then deploys the sample application, along with all of the necessary IAM service and instance roles.


Amazon Web ServicesRun Windows Server 2016 on Amazon EC2

You can now run Windows Server 2016 on Amazon Elastic Compute Cloud (EC2). This version of Windows Server is packed with new features including support for Docker and Windows containers.  We are making it available in all AWS regions today, in four distinct forms:

  • Windows Server 2016 Datacenter with Desktop Experience – The mainstream version of Windows Server, designed with security and scalability in mind, with support for both traditional and cloud-native applications. To learn a lot more about Windows Server 2016, download The Ultimate Guide to Windows Server 2016 (registration required).
  • Windows Server 2016 Nano Server -A cloud-native, minimal install that takes up a modest amount of disk space and boots more swiftly than the Datacenter version, while leaving more system resources (memory, storage, and CPU) available to run apps and services. You can read Moving to Nano Server to learn how to migrate your code and your applications. Nano Server does not include a desktop UI so you’ll need to administer it remotely using PowerShell or WMI. To learn how to do this, read Connecting to a Windows Server 2016 Nano Server Instance.
  • Windows Server 2016 with Containers – Windows Server 2016 with Windows containers and Docker already installed.
  • Windows Server 2016 with SQL Server 2016 – Windows Server 2016 with SQL Server 2016 already installed.

Here are a couple of things to keep in mind with respect to Windows Server 2016 on EC2:

  • Memory – Microsoft recommends a minimum of 2 GiB of memory for Windows Server. Review the EC2 Instance Types to find the type that is the best fit for your application.
  • Pricing – The standard Windows EC2 Pricing applies; you can launch On-Demand and Spot Instances, and you can purchase Reserved Instances.
  • Licensing – You can (subject to your licensing terms with Microsoft) bring your own license to AWS.
  • SSM Agent – An upgraded version of our SSM Agent is now used in place of EC2Config. Read the User Guide to learn more.

Containers in Action
I launched the Windows Server 2016 with Containers AMI and logged in to it in the usual way:

Then I opened up PowerShell and ran the command docker run microsoft/sample-dotnet . Docker downloaded the image, and launched it. Here’s what I saw:

We plan to add Windows container support to Amazon ECS by the end of 2016. You can register here to learn more.

Get Started Today
You can get started with Windows Server 2016 on EC2 today. Try it out and let me know what you think!


ProgrammableWeb: APIsMasterCard Sector Insights

The MasterCard Sector Insights API takes information from MasterCard payment transaction data that has been collected in near real-time, and identifies trends for a given industry sector. Some of this data includes: cumulative monthly as well as quarterly trends and year to year percent changes (sales, transactions, and average ticket indexes). The Sector Insights API is part of MasterCard's Market Insight Services APIs.
Date Updated: 2016-10-20
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWeb: APIsGoogle Verified Access

The Google Verified Access API authenticates the legitimacy of the users of network services and facilitates the monitoring of their adherence to policy guidelines. The Google Admin console hosts the Verified Access feature that conveys communication to the API and a client-side chrome device. As such, it is mandatory to have a running Chrome extension on the intermediate device that communicates with the Google enterprise management platform. Prior to obtaining approval to deploy the Google Verified Access API, a developer must fill out a form through a link provided on the documentation homepage. A developer also must enroll the Chrome device for enterprise management, ensure the devise and the enterprise share domains, configure policies appropriately to be able to activate Verified Access feature, and provide project ID. The API sends requests and returns responses in JSON format.
Date Updated: 2016-10-20
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWeb: APIsContiki

This API allows you to gain acces to all of your Contiki tour data including; brochures, countries, places, tour details, departures and more. Contiki is a youth travel organization that provides tours for 18-35 year olds across Europe, Australia, New Zealand, Asia, Latin America & North America.
Date Updated: 2016-10-20
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWeb: APIsThe Grid

This Javascript API enables you to build applications on top of The Grid. It is a next-generation web publishing platform that provides a service for making/editing content across multiple devices. Including; webpage auto-design and layout, content import and analysis, image processing, website serving and more. The Grid allows developers access to website creation that is powered by artificial intelligence.
Date Updated: 2016-10-20
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWeb: APIsMasterCard SpendingPulse

The MasterCard SpendingPulse API offers near real-time, anonymous transaction data sourced from millions of Mastercard-accepting locations. Reports are available on a subscription basis. Some of the key features offered with this API are: retail sales by regions (US, Brazil), e-commerce trends (US, UK, Canada, Brazil), and US gasoline data. The SpendingPulse API is part of MasterCard's Market Insight Services APIs.
Date Updated: 2016-10-20
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWeb: APIsScriptfodder

The Scriptfodder provides an application interface to integrate video game scripts available in an online marketplace. Accurate access with Key and HTTP protocol, allows to upload scripts, obtain script info, and purchase discounted scripts via download.
Date Updated: 2016-10-20
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWebMapQuest Beta Testing Static Maps v5 API

MapQuest is inviting developers to take its Static Map v5 API for a spin while in beta. The refreshed API has a handful of new features that should appeal to developers who rely on MapQuest's mapping tools. The beta is being offered through the end of 2016.

ProgrammableWeb: APIsCayan Genius Line Item Display

This API allows you to display line item level data on the Genius CED. Cayan provides a way for business to collect payment information and run transactions through the Virtual Terminal. This includes; Genius Certification Script, Implementation Review Outline, EMV Response message field and value documentation and more. Cayan is a provider of payment technologies and merchant account services.
Date Updated: 2016-10-19
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWeb: APIsC2Call Low Level

The C2Call Low Level API integrates chat, messaging, voice, and video into web and mobile applications. It is available in JSON architecture with OAuth as authentication method. Usage aims to facilitate enterprise communication, secure messaging, and monetization strategies.
Date Updated: 2016-10-19
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWeb: APIsCayan Genius Transaction Processing

This API allows you to integrate payments into your shopping cart with Authorize.Net. It provides a way for business to collect payment information and run transactions through the Virtual Terminal. This includes; Genius Certification Script, Implementation Review Outline, EMV Response message field and value documentation and more. Cayan is a leading provider of payment technologies and merchant account services.
Date Updated: 2016-10-19
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWeb5 Key Elements to Look for in a Web Data API

Web data is so ubiquitous it has all but become a commodity. In a world dominated by search, it’s easy to forget that a search engine is not the only use case for Web data. Thousands of researchers, entrepreneurs, and business executives tap into this vast data source to deliver insights – either for internal applications or as a service to customers (e.g. social media monitoring, business intelligence, or financial analysis).

Amazon Web ServicesAmazon Aurora Update – Call Lambda Functions From Stored Procedures; Load Data From S3

Many AWS services work just fine by themselves, but even better together! This important aspect of our model allows you to select a single service, learn about it, get some experience with it, and then extend your span to other related services over time. On the other hand, opportunities to make the services work together are ever-present, and we have a number of them on our customer-driven roadmap.

Today I would like to tell you about two new features for Amazon Aurora, our MySQL-compatible relational database:

Lambda Function Invocation – The stored procedures that you create within your Amazon Aurora databases can now invoke AWS Lambda functions.

Load Data From S3 – You can now import data stored in an Amazon Simple Storage Service (S3) bucket into a table in an Amazon Aurora database.

Because both of these features involve Amazon Aurora and another AWS service, you must grant Amazon Aurora permission to access the service by creating an IAM Policy and an IAM Role, and then attaching the Role to your Amazon Aurora database cluster. To learn how to do this, see Authorizing Amazon Aurora to Access Other AWS Services On Your Behalf.

Lambda Function Integration
Relational databases use a combination of triggers and stored procedures to enable the implementation of higher-level functionality. The triggers are activated before or after some operations of interest are performed on a particular database table. For example, because Amazon Aurora is compatible with MySQL, it supports triggers on the INSERT, UPDATE, and DELETE operations. Stored procedures are scripts that can be run in response to the activation of a trigger.

You can now write stored procedures that invoke Lambda functions. This new extensibility mechanism allows you to wire your Aurora-based database to other AWS services. You can send email using Amazon Simple Email Service (SES), issue a notification using Amazon Simple Notification Service (SNS), insert publish metrics to Amazon CloudWatch, update a Amazon DynamoDB table, and more.

At the appliction level, you can implement complex ETL jobs and workflows, track and audit actions on database tables, and perform advanced performance monitoring and analysis.

Your stored procedure must call the mysql_lambda_async procedure. This procedure, as the name implies, invokes your desired Lambda function asynchronously, and does not wait for it to complete before proceeding. As usual, you will need to give your Lambda function permission to access any desired AWS services or resources.

To learn more, read Invoking a Lambda Function from an Amazon Aurora DB Cluster.

Load Data From S3
As another form of integration, data stored in an S3 bucket can now be imported directly in to Aurora (up until now you would have had to copy the data to an EC2 instance and import it from there).

The data can be located in any AWS region that is accessible from your Amazon Aurora cluster and can be in text or XML form.

To import data in text form, use the new LOAD DATA FROM S3 command. This command accepts many of the same options as MySQL’s LOAD DATA INFILE, but does not support compressed data. You can specify the line and field delimiters and the character set, and you can ignore any desired number of lines or rows at the start of the data.

To import data in XML form,  use the new LOAD XML from S3 command. Your XML can look like this:

<row column1="value1" column2="value2" />
<row column1="value1" column2="value2" />

Or like this:


Or like this:

  <field name="column1">value1</field>
  <field name="column2">value2</field>

To learn more, read Loading Data Into a DB Cluster From Text Files in an Amazon S3 Bucket.

Available Now
These new features are available now and you can start using them today!

There is no charge for either feature; you’ll pay the usual charges for the use of Amazon Aurora, Lambda, and S3.



ProgrammableWebDaily API RoundUp: Clearbit, Microsoft Parature, Reposify, JivoChat

Every day, the ProgrammableWeb team is busy, updating its three primary directories for APIs, clients (language-specific libraries or SDKs for consuming or providing APIs), and source code samples.

Daniel Glazman (Disruptive Innovations)La Cyberdéfense française

Cash Investigation vient d'interviewer le Vice-Amiral Coustillière. Je passe sur le fait qu'il parle de « blackdoor » pour revenir sur ses propos expliquant son choix. Ce type est totalement à côté de la plaque et a démontré en vingt secondes son incompétence totale en la matière. Il a raconté n'importe quoi et ne mesure absolument pas la portée de ses propos, de ses choix, de ses faiblesses mais surtout des faiblesses qu'il vient d'introduire dans la Défense Nationale française. Monsieur Le Drian, vous êtes là ?

Shelley Powers (Burningbird)Burningbird Endorses Hillary Clinton

Because my Daddy did not drop me on my head when I was a little, bitty baby.

The post Burningbird Endorses Hillary Clinton appeared first on Burningbird.

ProgrammableWebMicrosoft Flow Adds Custom API, Basecamp 3, Blogger, and PagerDuty Support

Microsoft has announced new service availability and Custom API support for its business application platform, Flow. The three new services include Basecamp 3, Blogger, and PagerDuty.

Shelley Powers (Burningbird)The latest Email Hack and the Great Soda Conspiracy

I’m interested in the food industry primarily because of an interest in food safety and the environment. I’m not a Michael Pollan groupie, but when it comes to large corporations and consumers, I generally land on the side of the consumer.

My dual interest in the food industry and Clinton emails crossed recently with the release of hacked emails, these supposedly from the account of Capricia Marshall and released to a site known as DCLeaks. Marshall consulted with Coca-Cola, but has also worked on the Clinton campaign, as well as being the former US Chief of Protocol during Clinton’s tenure as Secretary of State.

A web site known as The Russels published what they felt was a close association between Hillary Clinton and Coca-Cola, as proven by one email interchange between Clinton staff workers and the company.

When Hillary Clinton supported Philadelphia’s soda tax this April, Latham and Marshall both played critical roles in Coca-Cola’s damage control. What follows is a case study in how corporations influence American politics through strings-attached donations and well-placed personnel.

First of all, we don’t know whether these emails have been modified or not, but for the sake of argument, we’ll say they’re legitimate. Do the emails imply that Clinton was influenced by a strings-attached donation by Coke?

Let’s go back into the news archives for the time in question. PhillyVoice wrote about Clinton’s support for the soda tax. It quotes a CNN article, which quoted Clinton:

It starts early with working with families, working with kids, building up community resources – I’m very supportive of the mayor’s proposal to tax soda to get universal pre-school for kids,” Clinton said. “I mean, we need universal pre-school. And if that’s a way to do it, that’s how we should do it.”

Clinton supported the tax for two reasons. One, the money was going to universal pre-school, which Clinton strongly supports. A second reason that isn’t covered in the articles is the fact that this was an important issue to Philadelphia’s mayor, Jim Kenney. She was helping a fellow Democrat get one in the win column.

Now, the Coca-Cola people can have all the tizzies it wants, but they had no influence on whether a broad support for soda taxes was going to be included in Clinton’s platform. The reason why is because soda taxes are a local issue, not a national one. Clinton’s support for this specific soda tax was for reasons unrelated to the support many of us have for soda taxes: because we want to reduce consumption of sugary drinks by the young folk. Not supporting the soda tax for the same reason doesn’t make Clinton pro-obesity, it doesn’t even make her beholden to the soda industry.

The email from Coca-Cola’s Katherine Rumbaugh, VP of Government Relations, published in a Forbes article by Nancy Fink Huehnergarth  that read:

[W]e’ve confirmed that there is no continued conversation around beverage taxes today and in future engagements – campaign is not going to drive conversation here or weigh in further,” Rumbaugh wrote. “Also, Jake Sullivan, [Clinton’s senior policy adviser], confirmed that they are not driving this from a policy POV. We’re also working on how to walk this back.

Is company executive speak for, “I earned the big bucks you pay me”.

Jake Sullivan confirmed that soda taxes were not going to be part of Clinton’s policy platform. Of course, they weren’t. As for the “walking back”, didn’t happen. Clinton stated she supported the Philadelphia soda tax, the soda tax passed, and she never once stated, “No, no, I didn’t mean it.”

I’m sorry my foodie friends, but the soda tax just isn’t that big a deal to the Clinton campaign. And I strongly suggest that you drop trying to get Clinton to pick this up because this is a local issue, not a national one.

This all just demonstrates the problem with writing news stories related to email hacks: people can cherry pick through the emails to find what they want, but whatever they choose to publicize is taken out of context, out of the bigger picture, and all they’re doing is feeding the hacking machine.

They’re also, albeit indirectly, misinforming their readers. The writers have made much more of the relationship between Clinton and Coca-Cola than probably exists, because the issue is much more important to these particular journalists, not to mention Coca-Cola, than it is to the Clinton campaign. That’s not to say that sugary soft drinks impact on a growing obesity problem isn’t significant, but it’s not significant at the national level for this particular Presidential race.

Will Coca-Cola have an inside track into the White House during a Clinton Presidency? No more than any other corporation with the big bucks to lobby Congress and the White House, regardless of who is President. And frankly, when it comes to soda, there isn’t much a President, or even a Congress, can do at the national level. Soda taxes, removing soda from schools, outreach…these are almost invariably local and state decisions.




The post The latest Email Hack and the Great Soda Conspiracy appeared first on Burningbird.

Jeremy Keith (Adactio)Choice

Laurie Voss has written a thoughtful article called Web development has two flavors of graceful degradation in response to Nolan Lawson’s recent article. But I’m afraid I don’t agree with Laurie’s central premise:

…web app development and web site development are so different now that they probably shouldn’t be called the same thing anymore.

This is an idea I keep returning to, and each time I do, I find that it just isn’t that simple. There are very few web thangs that are purely interactive without any content, and there are also very few web thangs that are purely passive without any interaction. Instead, it’s a spectrum. Quite often, the position on that spectrum changes according to the needs of the user at any particular time—are Twitter and Flicker web sites while I’m viewing text and images, but then transmogrify into web apps the moment I want add, update, or delete a piece of text or an image?

In any case, the more interesting question than “is something a web site or a web app?” is the question “why?” Why does it matter? In my experience, the answer to that question generally comes down to the kind of architectural approach that a developer will take.

That’s exactly what Laurie dives into in his post. For web apps, use one architectural approach—for web sites, use a different architectural approach. To summarise:

  • in a web app, front-load everything and rely on client-side JavaScript for all subsequent interaction,
  • in a web site, optimise for many page loads, and make sure you don’t rely on client-side JavaScript.

I’m oversimplifying here, but the general idea is:

  • build web apps with the single page app architecture,
  • build web sites with progressive enhancement.

That’s sensible advice, but I’m worried that it could lead to a tautological definition of what constitutes a web app:

  1. This is a web app so it’s built as a single page app.
  2. Why do you define it as a web app?
  3. Because it’s built as a single page app.

The underlying question of what makes something a web app is bypassed by the architectural considerations …but the architectural considerations should be based on that underlying question. Laurie says:

If you are developing an app, the user ideally loads the app exactly once — whether it’s over a slow connection or not.

And similarly:

But if you are developing a web site consisting of many discrete pages, the act of loading goes from a single event to the most common event.

I completely agree that the architectural approach of single page apps is better suited to some kinds of web thangs more than others. It’s a poor architectural choice for a content-based site like, for example. Progressive enhancement would make more sense there.

But I don’t think that the architectural choices need to be in opposition. It’s entirely possible to reconcile the two. It’s not always easy—and the further along that spectrum you are, the tougher it gets—but it’s doable. You can begin with progressive enhancement, and then build up to a single page app architecture for more capable browsers.

I think that’s going to get easier as frameworks adopt a more mixed approach. Almost all the major libraries are working on server-side rendering as a default. Ember is leading the way with FastBoot, and Angular Universal is following. Neither of them are doing it for reasons of progressive enhancement—they’re doing it for performance and SEO—but the upshot is that you can more easily build a web app that simultaneously uses progressive enhancement and a single-page app model.

I guess my point is that I don’t think we should get too locked into the idea of web apps and web sites requiring fundamentally different approaches, especially with the changes in the technologies we used to build them.

We’ve made the mistake in the past of framing problems as “either/or”, when in fact, the correct solution was “both!”:

  • you can either have a desktop site or a mobile site,
  • you can either have rich interactivity or accessibility,
  • you can either have a single page app or progressive enhancement.

We don’t have to choose. It might take more work, but we can have our web cake and eat it.

The false dichotomy that I’m most concerned about is the pernicious idea that offline functionality is somehow in opposition to progressive enhancement. Given the design of service workers, I find this proposition baffling.

This remark by Tom is the very definition of a false dichotomy:

People who say your site should work without JavaScript are actually hurting the people they think they’re helping.

He was also linking to Nolan’s article, which could indeed be read as saying that you should for offline instead of building with progressive enhancement. But I don’t think that’s what Nolan is saying (at least, I sincerely hope not). I think that Nolan is saying that we should prioritise the offline scenario over scenarios where JavaScript fails or isn’t available. That’s a completely reasonable thing to say. But the idea that we should build for the offline scenario instead of scenarios where JavaScript fails is absurdly reductionist. We don’t have to choose!

But I can certainly understand how developers might come to be believe that building a progressive web app is at odds with progressive enhancement. Having made a bunch of progressive web apps—Huffduffer, The Session, this site, I can testify that service workers work superbly as a layer on top of an existing site, but all the messaging around progressive web apps seems to fixated on the idea of the app-shell model (a small tweak to the single page app model, where a little bit of interface is available on the initial page load instead of requiring JavaScript for absolutely everything). Again, it’s entirely possible to reconcile the app-shell approach with server rendering and progressive enhancement, but nobody seems to be talking about that. Instead, all of the examples and demos are built with an assumption about JavaScript availability.

Assumptions are the problem. Whether it’s assumptions about screen size, assumptions about being able-bodied, assumptions about network connectivity, or assumptions about browser capabilities, I don’t think any assumptions are a safe bet. Now you might quite reasonably say that we have to make some assumptions when we’re building on the web, and you’d be right. But I think we should still aim to keep them to a minimum.

Tom’s tweet included a screenshot of this part of Nolan’s article:

As Benedict Evans has noted, the next billion people who are poised to come online will be using the internet almost exclusively through smartphones. And if Google’s plans with Android One are any indication, then we have a fairly good idea of what kind of devices the “next billion” will be using:

  • They’ll mostly be running Android.
  • They’ll have decent specs (1GB RAM, quad-core processors).
  • They’ll have an evergreen browser and WebView (Android 5+).
  • What they won’t have, however, is a reliable internet connection.

Those seem like a reasonable set of assumptions. But even there, things aren’t so simple. Will people really be using “an evergreen browser and WebView”? Millions of people use proxy browsers like Opera Mini, which means you can’t guarantee JavaScript availability beyond the initial page load. UC Browser—which can also run in proxy mode—is now the second most popular mobile browser in the world.

That’s just one nit-picky example, but what I’m getting at here is that it really isn’t safe to make any assumptions. When we must make assumptions, let’s try to make them a last resort.

And just to be clear here, I’m not saying that just because we can’t make assumptions about devices or browsers doesn’t mean that we can’t build rich interactive web apps that work offline. I’m saying that we can build rich interactive web apps that work offline and also work when JavaScript fails or isn’t supported.

You don’t have to choose between progressive enhancement and a single page app/progressive web app/app shell/other things with the word “app”.

Progressive enhancement is an architectural approach to building on the web. You don’t have to use it, but please try to remember that it is your choice to make. You can choose to build a web app using progressive enhancement or not—there is nothing inherent in the nature of the thing you’re building that precludes progressive enhancement.

Personally, I find progressive enhancement a sensible way to counteract any assumptions I might inadvertently make. Progressive enhancement increases the chances that the web site (or web app) I’m building is resilient to the kind of scenarios that I never would’ve predicted or anticipated.

That’s why I choose to use progressive enhancement …and build progressive web apps.

Amazon Web ServicesAWS Week in Review – October 10, 2016

Twenty four (24) external and internal contributors worked together to create this edition of the AWS Week in Review. If you would like to join the party please visit the AWS Week in Review on GitHub. I am also about to open up some discussion on a simplified and streamlined submission process.


October 10


October 11


October 12


October 13


October 14


October 15


October 16

New & Notable Open Source

New SlideShare Presentations

New Customer Success Stories

Upcoming Events

Help Wanted

New AWS Marketplace Listings

Stay tuned for next week! In the meantime, follow me on Twitter and subscribe to the RSS feed.

ProgrammableWeb: APIsMasterCard BIN Table Resource

The MasterCard BIN Table Resource API can keep up-to-date MasterCard issuing account ranges that can be used for authorization, routing, and fraud prevention purposes. Incorporating the BIN Table Resource API can help with challenging security issues and be a powerful fraud prevention tool.
Date Updated: 2016-10-18
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWeb: APIsAntideo

The Antideo API offers health checks that can be performed on IPs and Email adresses. These checks can be used for accepting user signups or checking orders against fraudulent indicators. Antideo updates its database regularly with the latest infected IP ranges, and proxy records. This API requires API Keys for authentication, and returns data in JSON format.
Date Updated: 2016-10-18
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWeb: APIsAutodata Motorcycle

The Autodata Motorcycle API offers comprehensive technical information for over 62 motorcycle manufacturers. Information such as lubricants and capacities, tightening torques, tire pressures, and repair times is available. The Motorcycle API uses OAuth 2 for authentication, and JSON, JSONP and XML for requests and responses.
Date Updated: 2016-10-18
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWebGoogle Brings Firebase Cloud Messaging to More of the Web

Google today said it is expanding Web support for Firebase Cloud Messaging beyond Chrome to other Web browsers, including Firefox and Opera. The move, enabled by a new JavaScript library, will allow developers to send push notifcations from their apps to end-user devices via the browser. 

Amazon Web ServicesNow Open – AWS US East (Ohio) Region

As part of our ongoing plan to expand the AWS footprint, I am happy to announce that our new US East (Ohio) Region is now available. In conjunction with the existing US East (Northern Virginia) Region, AWS customers in the Eastern part of the United States have fast, low-latency access to the suite of AWS infrastructure services.

The Details
The new Ohio Region supports Amazon Elastic Compute Cloud (EC2) and related services including Amazon Elastic Block Store (EBS), Amazon Virtual Private Cloud, Auto Scaling, Elastic Load Balancing, NAT Gateway, Spot Instances, and Dedicated Hosts.

It also supports (deep breath) Amazon API Gateway, Amazon Aurora, AWS Certificate Manager (ACM), AWS CloudFormation, Amazon CloudFront, AWS CloudHSM, Amazon CloudWatch (including CloudWatch Events and CloudWatch Logs), AWS CloudTrail, AWS CodeCommit, AWS CodeDeploy, AWS CodePipeline, AWS Config, AWS Database Migration Service, AWS Direct Connect, Amazon DynamoDB, EC2 Container Registy, Amazon ECS, Amazon Elastic File System, Amazon ElastiCache, AWS Elastic Beanstalk, Amazon EMR, Amazon Elasticsearch Service, Amazon Glacier, AWS Identity and Access Management (IAM), AWS Import/Export Snowball, AWS Key Management Service (KMS), Amazon Kinesis, AWS Lambda, AWS Marketplace, Mobile Hub, AWS OpsWorks, Amazon Relational Database Service (RDS), Amazon Redshift, Amazon Route 53, Amazon Simple Storage Service (S3), AWS Service Catalog, Amazon Simple Notification Service (SNS), Amazon Simple Queue Service (SQS), AWS Storage Gateway, Amazon Simple Workflow Service (SWF), AWS Trusted Advisor, VM Import/Export, and AWS WAF.

The Region supports all sizes of C4, D2, I2, M4, R3, T2, and X1 instances. As is the case with all of our newer Regions, instances must be launched within a Virtual Private Cloud (read Virtual Private Clouds for Everyone to learn more).

Well Connected
Here are some round-trip network metrics that you may find interesting (all names are airport codes, as is apparently customary in the networking world; all times are +/- 2 ms):

  • 10 ms to ORD (home to a pair of Direct Connect locations hosted by QTS and Equinix and an Internet exchange point).
  • 12 ms to IAD (home of the US East (Northern Virginia) Region).
  • 18 ms to JFK (home to another exchange point).
  • 52 ms to SFO (home of the US West (Northern California) Region).
  • 68 ms to PDX (home of the US West (Oregon) Region].

With just 12 ms of round-trip latency between US East (Ohio) and US East (Northern Virginia), you can make good use of unique AWS features such as S3 Cross-Region Replication, Cross-Region Read Replicas for Amazon Aurora, Cross-Region Read Replicas for MySQL, and Cross-Region Read Replicas for PostgreSQL. Data transfer between the two Regions is priced at the Inter-AZ price ($0.01 per GB), making your cross-region use cases even more economical.

Also on the networking front, we have agreed to work together with Ohio State University to provide AWS Direct Connect access to OARnet. This 100-gigabit network connects colleges, schools, medical research hospitals, and state government across Ohio. This connection provides local teachers, students, and researchers with a dedicated, high-speed network connection to AWS.

14 Regions, 38 Availability Zones, and Counting
Today’s launch of this 3-AZ Region expands our global footprint to a grand total of 14 Regions and 38 Availability Zones. We are also getting ready to open up a second AWS Region in China, along with other new AWS Regions in Canada, France, and the UK.

Since there’s been some industry-wide confusion about the difference between Regions and Availability Zones of late, I think it is important to understand the differences between these two terms. Each Region is a physical location where we have one or more Availability Zones or AZs. Each Availability Zone, in turn, consists of one or more data centers, each with redundant power, networking, and connectivity, all housed in separate facilities. Having two or more AZ’s in each Region gives you the ability to run applications that are more highly available, fault tolerant, and durable than would be the case if you were limited to a single AZ.

Around the office, we sometimes play with analogies that can serve to explain the difference between the two terms. My favorites are “Hotels vs. hotel rooms” and “Apple trees vs. apples.” So, pick your analogy, but be sure that you know what it means!



Daniel Glazman (Disruptive Innovations)Un dimanche soir presqu'ordinaire

Dimanche soir 18h45, je suis en voiture pour une course simple. A deux pas de chez moi, une voiture blanche s'apprête, de l'autre côté de la rue, à sortir du parking d'un immeuble. La suite m'a donné des sueurs froides...

  • Alors qu'un véhicule arrive dans le sens de circulation le plus proche de la sortie du dit-parking et que j'arrive dans le sens inverse, la voiture sort du parking à vitesse assez lente et passe devant moi. Le gars arrivant en face est obligé de piler net en klaxonnant, je suis obligé de piler net en klaxonnant.
  • La voiture fautive est un taxi local. Il n'est pas en service mais le bloc lumineux Taxi est bien posé sur le toit de cette Toyota hybride blanche.
  • Le conducteur commence immédiatement à conduire n'importe comment, incapable de garder une ligne droite. À 50 mètres de là, il fait une incursion brève sur la file inverse foutant la trouille à un vélo.
  • Le véhicule s'arrête au feu rouge et je vois la tête du conducteur dodeliner. Le feu passé au vert, le gars démarre tant bien que mal, incapable à nouveau de garder la ligne droite.
  • Cent mètres plus loin dans une forte descente devant l'entrée d'un gymnase, le véhicule fait une première embardée sur le trottoir...
  • Virage à droite lors d'un stop. La voiture s'est arrêtée au milieu de la chaussée, à moitié sur la file de gauche. Une autre voiture qui tournait dans cette rue a la frayeur de sa vie. Le taxi finit par tourner à droite, mord le trottoir sur sa droite, se repositionne en milieu de chaussée, évite une fourgonette puis finit par se stabiliser à peu près dans sa file.
  • Trois cent mètres plus loin, nouvelle embardée sur le trottoir dans un virage vers la droite en côte. Heureusement, aucun piéton.
  • Puis virage à gauche hallucinant, pris presque intégralement sur la file inverse avant de grimper carrément sur le trottoir de droite dans un superbe mouvement de zigzag. Heureusement, toujours pas de piéton, mais quelques sueurs froides dans les voitures arrivant en face...
  • Je vous passe la suite, du même acabit.

Bon clairement, le type était bourré comme une outre, incapable de conduire, terriblement dangereux. Et un taxi qui plus est... Comme il se dirigeait en plein centre-ville, j'ai prévenu la police municipale immédiatement qui m'a chaleureusement remercié. Et je ne suis pas prêt d'oublier l'immatriculation du taxi en question...


Updated: .  Michael(tm) Smith <>