This is now old news if you're already following the drone industry, but if you're not, I'd like to highlight a recent decision made by the US Court of Appeals regarding the FAA's drone registration requirements.

To place this in context, back in 2015 the FAA established a new set of regulations (the "Registration Rule") requiring anyone with a UAV ("unmanned aerial vehicle", or "drone") weighing between 0.5 and 55 lbs to register with the FAA. Unfortunately, the 2012 FAA Modernization and Reform Act says says (in section 336(a)):

In General...the Administrator of the Federal Aviation Administration may not promulgate any rule or regulation regarding a model aircraft, or an aircraft being developed as a model aircraft...

John Taylor, a hobbiest in Washington, D.C, challenged the new registration regulations in court and was handed a clear victory.

The Court of Appeals decision boils down to "when the law says you 'may not promulgate any rule regarding model aircraft', that means...'you may not promulgate any rule regarding model aircraft'. The decision is interesting in its simplicity. There is no arguing about legal nuance here; it's a clear case of the Court telling the FAA "you're wrong".

The following quote from the decision really sums that up (highlights are mine):

In short, the 2012 FAA Modernization and Reform Act provides that the FAA “may not promulgate any rule or regulation regarding a model aircraft,” yet the FAA’s 2015 Registration Rule is a “rule or regulation regarding a model aircraft.” Statutory interpretation does not get much simpler. The Registration Rule is unlawful as applied to model aircraft.

The FAA attempted to describe the registration requirements as simply a "reinterpretation" of existing rules. That is, they claimed to be using their discretion to apply an existing registration rule for "aircraft" in general to model aircraft:

Specifically, the FAA notes that, under longstanding statutes, aircraft are statutorily required to register before operation. ...But the FAA has never previously interpreted that registration requirement to apply to model aircraft. The FAA responds that nothing in the 2012 FAA Modernization and Reform Act prevents the FAA from changing course and applying that registration requirement to model aircraft now.

The Court disagreed with this characterization in no uncertain terms:

We disagree. The Registration Rule does not merely announce an intent to enforce a pre-existing statutory requirement. The Registration Rule is a rule that creates a new regulatory regime for model aircraft. The new regulatory regime includes a “new registration process” for online registration of model aircraft...The new regulatory regime imposes new requirements – to register, to pay fees, to provide information, and to display identification on people who previously had no obligation to engage with the FAA.

In short, the Registration Rule is a rule regarding model aircraft.

And ultimately vacated the Registration Rule:

The FAA’s Registration Rule violates Section 336 of the FAA Modernization and Reform Act. We grant Taylor’s petition for review of the Registration Rule, and we vacate the Registration Rule to the extent it applies to model aircraft.

Taylor also challenged the FAA's flight restrictions in the Washington, D.C. area, but lost that challenge on a technicality ("A person seeking to challenge an FAA order must file the challenge within 60 days of the order’s issuance.").

Making sure your Gerrit changes aren't broken

Sun 22 January 2017 by Lars Kellogg-Stedman Tags openstack gerrit git

It's a bit of an embarrassment when you submit a review to Gerrit only to have it fail CI checks immediately because of something as simple as a syntax error or pep8 failure that you should have caught yourself before submitting...but you forgot to run your validations before submitting …

read more

Exploring YAQL Expressions

Thu 11 August 2016 by Lars Kellogg-Stedman Tags openstack heat hot yaql

The Newton release of Heat adds support for a yaql intrinsic function, which allows you to evaluate yaql expressions in your Heat templates. Unfortunately, the existing yaql documentation is somewhat limited, and does not offer examples of many of yaql's more advanced features.

I am working on a Fluentd composable …

read more

Connecting another vm to your tripleo-quickstart deployment

Let's say that you have set up an environment using tripleo-quickstart and you would like to add another virtual machine to the mix that has both "external" connectivity ("external" in quotes because I am using it in the same way as the quickstart does w/r/t the undercloud) and …

read more

A collection of git tips

Fri 19 February 2016 by Lars Kellogg-Stedman Tags git

This is a small collection of simple git tips and tricks I use to make my life easier.

Quickly amend an existing commit with new files

I have this alias in place that will amend the current commit while automatically re-using the existing commit message:

alias.fix=commit --amend -C …
read more