EU’s Antitrust Chief Rejects Claims Of Political Bias In Apple Tax Ruling

John Thys / AFP / Getty Images

One CEO’s anti-American “political crap” is another regulator’s equal-opportunity enforcement.

Margrethe Vestager, the European Union’s Competition Commissioner, defended a massive tax ruling against Apple Tuesday, swatting away criticism that EU actions against US companies are politically motivated.

“There are no numbers to back up any kind of bias.”

“I must admit I know that it is tempting and I register the feelings and the concerns too, but there are no numbers to back up any kind of bias,” Vestager said during an antitrust conference at the Georgetown University Law Center. “We make sure that the market works no matter the ownership, private or public, the size, or the nationalities of the companies.”

Last month the executive arm of the EU ordered the Irish government to collect $14.5 billion in unpaid taxes from Apple. Following a two year investigation, European officials concluded that Apple had received undue tax benefits not offered to other companies, a sweetheart deal it had determined to be illegal under European law. “We have rules to stop governments from giving out favors to a handful of companies at the expense of everyone else,” Vestager said.

Josh Edelson / AFP / Getty Images

Soon after the ruling was made public, Apple CEO Tim Cook slammed the decision as “political crap.” Cook rejected the figures used to generate the dollar amount owed and cited anti-American bias as one reason behind the adverse decision. “[W]hat I feel strongly about is that this decision was politically based, of that I’m very confident. There is no reason for it in fact or in law,” he told the Irish Independent. Apple did not immediately respond to a request for comment.

But in her remarks at Georgetown, Vestager defended the EU’s record as a neutral enforcer of antitrust rules. She said that in the past 15 years, the EU has brought about 150 illegal state aid decisions, but only a fraction of them were made against US companies. “I know that you do not have this concept in the states, that it’s a common thing for companies to negotiate their tax regime in the state that they locate, this is the difference of opinions of looking at what is fair and reasonable,” she said. “But when we are in Europe we have European rules and everyone is to play by European rules.”

Like Cook, government officials and lawmakers in the US have not been persuaded by Vestager’s assurances. The Treasury Department said the decision against Apple could threaten the “important economic partnership between the US and the EU.” The agency has also raised criticism of ongoing investigations into other American companies operating in Europe, including Amazon and Starbucks.

And after meeting with Vestager on Monday, Sen. Orrin Hatch, the chair of the Senate Finance Committee described the European ruling as running “roughshod over an American firm,” in a statement sent to BuzzFeed News. “Though our meetings were cordial, the Commissioner failed to build an effective case for this highly politicized ruling rooted in an erroneous interpretation of law, underscoring the need for additional action in international courts.”

Quelle: <a href="EU’s Antitrust Chief Rejects Claims Of Political Bias In Apple Tax Ruling“>BuzzFeed

Notify VM Owner of Upcoming Retirement

One side effect of quick and easy provisioning of virtual machines (VMs) is VM sprawl. To keep the number of VMs manageable, administrators set retirement dates to automatically retire the VM and free the hardware resources.
The risk with setting a retirement date is that the VM owner may not know (or may forget) that an active VM will be automatically retired. CloudForms has the ability to warn the VM owner that retirement of a VM is approaching. Customers want to be able to send multiple retirement warning emails to the VM owner. This can be achieved by modifying the retirement email methods in the Automate model.
As an administrator of CloudForms that has both Cloud and Infrastructure providers in the environment, it is most effective if Cloud Instances and Infrastructure VMs send the same email for retirement warnings. Imagine the request is to send warnings 30 days before, 7 days before, and 1 day before the retirement date.
First, create a namespace to place our Email class in. Create the System / CommonMethods namespace in your domain.
Next, modify the ManageIQ / Infrastructure / VM / Retirement / vm_retirement_emails instance and method. To be able to modify the instance and method, they need to be copied to the System / CommonMethods namespace in your domain. (As a side effect of the copy the Email class will be created.) With the vm_retirement_emails method selected select Configuration → Copy this Method button. In the Copy Automate Method dialog uncheck the “Copy to same path” checkbox. In the “Namespace” box select the System / CommonMethods namespace. Finally press the Copy button. Repeat this process for the vm_retirement_emails instance.

To allow for easily changing the number of days for each warning we will modify the schema for the Email class to add warn_days_1, warn_days_2, and warn_days_3 integer attributes. Navigate to the Email class and select the Schema tab. With the schema displayed select Configuration → Edit selected Schema. Click the plus icon to add the new fields. The picture below shows the schema with all of the new attributes. After the new fields have been added click Save.

The newly added attributes are added to the end of the schema, but they need to be moved to the top. To adjust the order select Configuration → Edit sequence to move the newly added fields to the top using the arrows and then click Save.

Next, the vm_retirement_emails instance is modified to set the number of days to warn in the vm_retirement_emails instance. Edit the instance, setting warn_days_1 to 30, warn_days_2 to 7, and warn_days_3 to 1. While editing the instance you may want to also change the from_email_address, to_email_address, and signature.
The vm_retirement_emails method is modified to add the update_retirement_warning function. This function changes the number of warning days for the VM. A call to the function is added to the VM Retirement Warning Email and VM Retirement Extended Email sections. The modified method code can be found at https://github.com/branic/cloudforms/blob/master/multiple_retirement_emails/vm_retirement_emails.rb
Now that the modified code is in place, plumb in our new method by copying the ManageIQ / System / Event / MiqEvent / Policy Event / vm_retire_warn instance to your domain. This time when copying, leave the “Copy to same path” option selected.
After the vm_retire_warn instance has been copied, edit the instance and change the rel5 field to point to the modified vm_retirement_emails instance.

With these changes CloudForms will now send warning emails to VM owners at the defined intervals. This can further be extended to ensure that the number of warning days are reset when the retirement date is modified by creating a custom button and supporting automation code.
Quelle: CloudForms

The Federal Government Releases Standards For Autonomous Vehicles

A fleet of Uber&;s Ford Fusion self driving cars are shown during a demonstration of self-driving automotive technology in Pittsburgh, Pennsylvania, U.S. September 13, 2016.

Aaron Josefczyk / Reuters

The federal government released 116 pages of guidelines for self-driving cars on Tuesday, outlining broad goals and questions companies must answer for regulators on the safety of their technology and how it handles ethical dilemmas.

The guidelines, which are more of a set of recommendations than a rulebook with specific benchmarks, list a 15-point safety assessment and several other expectations: Companies should record and share data on crashes and near-misses, and be prepared to reconstruct them. They should be programmed to deal with somewhat common road scenarios, such as direction of traffic by a police officer, or disabled vehicles in a lane. And they should include fallback plans for when the technology is malfunctioning, such as directing the vehicle to a safe place and stopping.

“We believe we have struck the right balance between safety and innovation,” US Department of Transportation Secretary Anthony Foxx said on a call with reporters.

In “several months,” the agency will move toward turning the recommendations into rules, Foxx said at a press conference. The framework comes at a time when companies are racing to put self-driving vehicles on the road. Uber launched a pilot program in Pittsburgh last week, becoming the first company in the US to let people hail rides in self-driving cars, and Google has been testing its autonomous vehicles in several states for years.

“We believe we have struck the right balance between safety and innovation.” — US Department of Transportation Secretary Anthony Foxx

The industry has been waiting for the Department of Transportation to release standards for autonomous vehicles, particularly since the federal government opened two investigations into a fatal Tesla crash earlier this year to determine whether its semi-autonomous technology played a role. Tesla has called Autopilot, its advanced driver assist system, an incremental step toward self-driving cars. At the same time, Autopilot doesn’t fulfill the promise implied by that term – by definition, a technology that can drive itself in place of a person.

The new federal guidelines also address “highly automated vehicles,” including technology like Tesla’s that expects humans to remain on guard to take the wheel at any time, and note that manufacturers should account for both misuse and the fact that people could become complacent if technology has taken over some of their duties. (Earlier this month, Tesla said it plans to update Autopilot to put limits on how long people can go hands-free. If people don’t heed warnings to keep their hands on the wheel, the car will disable Autosteer until it is parked and reengaged.)

Companies already testing vehicles will be given a period of time to send the DOT their responses to the new guidelines and the safety assessment.

Regulators pointed out that they won’t hesitate to crack down on vehicles if they find a company is putting unsafe technology on the road. “Our enforcement authority stands strong and it will be used to its full effect as needed,” Mark Rosekind, head of the National Highway Traffic Safety Administration, told reporters on a conference call. “We have defect recall authority, and we’ll use that to its full effect.”

The policy also asks states to write laws that allow for the safe testing of self-driving vehicles, but to otherwise leave these vehicles’ regulation to the federal government. For fully autonomous vehicles, states won’t need to regulate licensing because the software would be the driver.

When asked for comment, Uber directed BuzzFeed News to a statement released by the Self-Driving Coalition For Safer Streets, an industry group that the company is part of. Google did not return a request for comment.

“We support guidance that provides for the standardization of self-driving policies across all 50 states, incentivizes innovation, supports rapid testing and deployment in the real world,” the coalition, which also includes Google, Lyft, and Ford, among others, said in a statement. Joe Okpaku, vice president of government relations at Lyft, which is developing self-driving cars with General Motors, called the guidelines “a step in the right direction” in a statement.

Quelle: <a href="The Federal Government Releases Standards For Autonomous Vehicles“>BuzzFeed

Announcing the release of Azure Mobile Apps Node SDK v3.0.0

We are excited to announce the next iteration of the Azure Mobile Apps Node.js Server SDK.  This release includes a stack of new features, improvements and bug fixes.

Data Transforms, Filters and Hooks

One of the great features within the Server SDK was the ability to provide security filtering and record transformation at the server level, allowing the developer to refine the request-response pipeline for the server by writing JavaScript code.  With the v3.0 release, we&;ve further refined the extensibility points to allow you to manipulate incoming queries and items, and trigger functionality after each data operation. You can, of course, create and distribute your own filters, transforms and hooks. However, we&039;ve packaged some common filters that reduce the amount of code you need to write.

Per-User Tables

Perhaps the most common filter request is to provide per-user data.  Per-user tables can be used with authentication to restrict data within the table to individual users.  To use this filter, add perUser = true to the table definition.  For example:

var table = require("azure-mobile-apps").table();
table.access = "authenticated";
table.perUser = true;
module.exports = table;

Web Hooks

Web hooks can be used to call external HTTP endpoints (for example, Azure Functions) after each data operation completes:

var table = require("azure-mobile-apps").table();
table.webhook = { url: "https://function.azurewebsites.net/apo/HttpTriggerNodeJS1" };
module.exports = table;

For more information on this feature, including the structure that is posted to the HTTP endpoint, refer to the API Reference.

Record Expiry

Another commonly requested filter is the ability to prevent access to records older than a certain interval. For example, you may want to deny access to records older than 1 day:

var table = require("azure-mobile-apps").table();
tables.recordsExpire = { days: 1 };
module.exports = table;

For more information on specifying intervals, see the API reference.

Data Query Improvements

Azure Mobile Apps Servers sometimes have to refer to other tables to produce the right tables. We&039;ve made some improvements to the Query API to make specific common scenarios easier.

Including Soft Deleted Records

When you have soft-delete turned on, records are marked as deleted instead of being actually deleted from the SQL table. This information then flows down to other mobile devices so that they can update their offline cache. You can specify .includeDeleted() in the query to include deleted items:

table.insert((context) => {
return context.tables(&039;otherTable&039;).includeDeleted().read()
.then((results) => {
context.item.count = results.length;
return context.execute();
});
});

Retrieving Records by ID

We&039;ve added a simple find function to make retrieving records by ID much simpler:

table.insert((context) => {
return context.tables(&039;otherTable&039;).find(context.item.parentId)
.then((parent) => {
context.item.parentName = parent.name;
return context.execute();
});
});

Object Queries

Previously, you could use object based queries to query tables, but the same functionality was not available on update and delete operations. This functionality is now available and allows you to, for example, delete dependent records:

table.delete((context) => {
return context.tables(&039;childTable&039;)
.delete({ parentId: context.item.id })
.then(context.execute);
});

Handling Callbacks in Table Functions

Prior SDK releases had no support for callbacks within table operation functions.  Such methods required you to re-factor the code to produce a Promise.  In v3.0.0, we directly support callbacks.  When the callback is completed, call context.next(err), passing in any error.  For example:

var mongo = require(&039;mongodb&039;).MongoClient;

table.insert(function (context) {
context.execute().then(function () {
mongo.connect(&039;mongodb://localhost:27017/test&039;, function(err, db) {
db.collection(&039;items&039;).insertOne(context.item, function (err) {
// signal that the operation is complete, passing in any error that may have occurred
context.next(err);
});
});
});
});

Breaking Changes

When executing a query with both a skip() and take() clause against SQL Server, an additional column (ROW_NUMBER) was returned that was generated by the underlying query. This column is no longer returned. Because this change was implemented using T-SQL features available in SQL Server 2012 and above, versions of SQL Server prior to 2012 are no longer supported.

Installing the SDK

Whether you are creating a new Mobile App or upgrading an existing app, The Azure Mobile Apps Server SDK for Node is installed via npm:

npm install –save azure-mobile-apps@3.0

You can find full API documentation at our GitHub repository and a handy HOWTO document explaining how to build a mobile backend.
Quelle: Azure

Project Bletchley – Blockchain infrastructure made easy

We are very excited to announce the next phase of our support of blockchain on Microsoft Azure with the launch of an early version of the Bletchley v1 infrastructural substrate.  We expand on the work we have done to create a diverse distributed ledger ecosystem for private dev/test to focus on the requirements of private multi-node consortium networks.

 

By leveraging the capabilities of Microsoft Azure Resource Manager (ARM), we have shipped an Azure Quickstart Template to make it sufficiently easier and quicker to deploy and configure a consortium Ethereum network with minimal Azure and Ethereum knowledge.  With a handful of user inputs and a simple single-click deployment, you can provision a fully configured blockchain network topology consisting of many nodes in minutes, using Microsoft Azure compute, networking, and storage services across the globe.

 

Rather than spending hours building out and configuring the infrastructure, we have automated these time-consuming pieces to allow you to focus on your core business – re-envisioning and reinventing business processes to come up with the new stories of tomorrow.

 

An illustration of the deployed network topology is shown below.  At a high level, the template provisions and configures a subnet of mining nodes for each consortium member and a set of load-balanced transaction nodes that members can share to communicate with the network.  Through the administrator web page, you can configure additional Ethereum accounts to get started with smart contract and eventually application development.  For additional information and a detailed walkthrough of the template, we have published a detailed walkthrough.

 

 

However, this is just the beginning!  We are “releasing early and releasing often” to provide you with the latest updates quickly and to get your feedback throughout the development of the service.  Keep an eye out for further updates including support for additional Microsoft services, like Azure Active Directory and Key Vault, and other blockchain protocols.  In the meantime, we genuinely value your feedback.  Do not hesitate to leave a comment or send me an email with questions, feedback, or additional requests as you begin.  We are excited to be embarking on this journey with you.
Quelle: Azure

Live Debugging Java in Docker – Just in time for JavaOne!

Developing Java web applications often requires that they can be deployed on multiple technology stacks. These typically include an application server and a database, but these components can vary from deployment to deployment. Building and managing multiple development stacks in a development environment can be a time consuming task often requiring unique configurations for each stack.
Docker can simplify the process of building and maintaining develop environments for Java web applications by building custom images that application developers can create on demand and use for development, testing and debugging applications. We have recently published a tutorial for building a Java web application using containers and three popular Java IDEs.  Docker enables developers to debug their code as it runs in containers. The tutorial covers setting up a debug session with an application server in Docker using IDEs that developers typically use such as Eclipse, IntelliJ IDEA and Netbeans. Developers can build the application, change code, and set breakpoints while the application is running in the container. The tutorials use a simple Spring MVC application to illustrate how use containers when developing Java applications
The tutorial is available on GitHub in our Docker Labs repository. These tutorials show you how to:

Configure Eclipse, IntelliJ, and Netbeans
Set-up the project
Debug your application live in the container

You can go to the tutorials, or follow along in these videos:

The tutorial uses common stack components, but the Docker enables you to build development environments using components from different technology stacks. For most use cases, Docker provides a way to quickly create and deploy a consistent development environment in Java.
Have any more tips or examples using Docker for with Java? Or other languages? Share them with the community by contributing to the Docker Labs repository.
Based in San Francisco? Join us this Wed Sept 21st at Docker HQ for a Docker for Java Developers meetup with Docker Captain Arun Gupta and Patrick Chanezon.
The post Live Debugging Java in Docker &; Just in time for JavaOne! appeared first on Docker Blog.
Quelle: https://blog.docker.com/feed/