Wednesday, May 28, 2014

U.S. House Legislative Data Transparency Conference, 2014

I am excited to be going to the U.S. House Transparency conference tomorrow (Thursday) and the Sunlight Foundation's Transparency Camp on Friday and Saturday. Less excited for the redeye flight tonight.
Much of the work Xcential has been involved with, as part of the House Modernization Project, will be on view at the House conference, and I'm looking forward to meeting (and reconnecting with) the growing group of people who care about making U.S. federal law more transparent, accessible and efficient.

If you are going to either or both of the conferences, do look for me there. I will also be following conference chatter, and maybe contributing my own, on Twitter at @arihersh .

Tuesday, May 20, 2014

Move an AWS Instance to a New Account (Windows)

I've been there. You created an application for work on a micro AWS instance in your own account (Account1) just to test a few things out. It was free back then, or at least really cheap. But of course, the app grew and you've moved to a small, maybe even a medium instance. Now we're talking real money. It's time to get the company to pay. It may even be your own startup, but putting company expenses on your personal credit card is never a good practice (disclaimer 1: I am a lawyer, but I am not your lawyer; disclaimer 2: this post is my answer to everyone who said that my posts on positive law codification are not esoteric enough). The good news is that getting the app running in a company account is surprisingly easy. Follow the steps below and it should "just work".

The first thing you're going to need to do is have the company open an AWS account (Account2), if it doesn't already have one, and give you privileges to create instances under that account.

Next, you have a couple of choices. You can (a) try to recreate your app in a new instance under the company account, or (b) you can copy your existing instance to the company account. If you're here, it's because you want to do (b), particularly if you're working on Windows, with all the security settings you've set and forgotten to get your app running in the first place.

Copying the instance is done in three steps: first create an image of your running instance in Account1. Then, give permissions to that image to Account2. Last, launch an instance from that image in Account2. Here it is in detail:

1. In Account1, create an AMI of the running instance. (To be extra careful, you can stop your instance before creating the image and then restart it if you need to, later).

The AWS instructions to create an AMI are here. In brief, from the "Instances" page, choose your instance. Go to the Actions menu and select "Create Image". Include any EBS volume(s) associated with your EC2 instance.

2. Share the AMI with the account ID of Account2. This is a 12 digit number that can be found by poking around Account2. I actually found this as part of an error message when I tried to do something that I didn't have permissions for (e.g. open the billing console).

To share the AMI (from Account1) go to the left side menu within the EC2 Service: Images -> AMIs. Select the AMI you want to share (which you created in step 1 above) and go to Actions -> Modify Image Permissions. There, edit permissions to allow access from Account2. The official instructions for sharing Windows AMIs are here.

3. Log into Account2

Note: To log back in to your personal account, you may have to click the link at the bottom of the login-- "Sign-in using root account credentials":

4. Within Account2 go to EC2 services, menu item Images->AMIs.

Change the filter to "Private AMIs" (the other options are "Public" and "AMIs owed by me").

5. Select action "Launch". It will prompt you to use or create a new private key. Do this and save it somewhere safe that you remember.

Set the security settings as desired. You may want to look up the settings from your current instance in Account1.

6. Create an Elastic IP address (optional but recommended)

7. Associate the Elastic IP address with the newly launched instance it is running.

Note, if you are using Windows Remote Desktop Connection (RDC) that the new instance has the same login as the old instance so that you can still log in using RDC, just by putting in the new IP address.

8. Wait a few minutes for the IP address to propagate and check out your app on the new Elastic IP address. If it works, do the happy dance.

Monday, May 19, 2014

An Easy Act to Follow: the DATA Act and Low Hanging Legislation List II

People who think government should do less and people who think government should do more can agree on this: government should do better. Even a polarized Congress can unanimously agree on certain measures to improve government work. As discussed in my last post, the DATA Act's unanimous passage gives fresh evidence that this is possible. It also highlights the masterful non-partisan work of the DATA Transparency Coalition and it’s founder, Hudson Hollister.

There are two bills now in the Judiciary Committee that should, in principle, be even easier to pass than the DATA Act. These are the ultimate "low hanging legislation": H.R. 1067 and H.R. 1068 are both "positive law codification" bills, prepared by the Law Revision Counsel (LRC), a non-partisan office of the House of Representatives whose job is to maintain the United States Code and to prepare bills such as these. [Disclosure: I work with the author of these bills, Rob Sukol, and many of the other great folks at the Law Revision Counsel on the House Modernization Project.] These two bills do not change the substance of the law, but they update the United States Code to make the law cleaner and better organized. Both bills have been passed twice by the House and have gone to the Senate Judiciary Committee, where they have died, apparently from neglect.

H.R. 1067 amends title 36, United States Code. It is a short, technical bill that inserts a useful table of contents at the beginning of title 36 and corrects several typographical errors in the law.

H.R. 1068 is the more intricate of the two. The bill gathers provisions relating to the National Park System and restates these provisions as a new positive law title of the United States Code, Title 54. It was sponsored by Rep. Bob Goodlatte of Virginia (R) and co-sponsored by Rep. John Conyers, Jr. of Michigan (D). Title 54 would replace nearly 70 existing laws covering laws about national parks, starting 1901. Many of these laws are currently scattered throughout (non-positive) Title 16 of the United States Code.

If you care about public policy (like actually protecting National Parks), H.R. 1068 does not do anything. But in this Congress, that's actually a good thing. The bill does not change the meaning or impact of the law at all. But it does carry out a clean-up job of epic proportions. And that clean-up is noticeable each time a lawyer wants to refer to national park law.

For example, section 208 of the National Historic Preservation Act Amendments of 1980 is currently classified at  16 U.S.C. 469c–2, while section 401 is at 16 U.S.C. 470a–1. The correspondence between references to the named act and references to the U.S. Code can't be calculated with any formula. It is also unclear, a priori, how sections of the original National Historic Preservation Act of 1966  relate to sections of the NHPA Amendments or to the U.S. Code (for example: section 2 of NHPA -> 16 U.S.C. 470-1).

Another layer of confusion and redundancy is introduced by parallel citations. Depending on the context, it may be necessary to include parallel references to (1) the popular name reference (e.g. National Historic Preservation Act), (2) the Public Law which enacted it (e.g. Pub. L. 89-665), (3) the page in the Statutes at Large publication where it is published (80 Stat. 915), as well as (4) the section of the U.S. Code where the section is classified (16 U.S.C. 470 et seq.).

After enactment of Title 54, only the U.S. Code reference will be needed. Indeed, H.R. 1068 goes through the U.S. Code and through previously enacted laws to clean up references:
Section 105(l) of Public Law 99–239 (known as the Compact of
Free Association Amendments Act of 2003) (48 U.S.C. 1905(l)) is
amended by striking ‘‘the National Historic Preservation Act (80 Stat. 915; 16 U.S.C. 470–470t)’’ and substituting ‘‘division A of subtitle III
of title 54, United States Code’’
I have previously referred to positive law codification as one of two important steps in Operation Clean Desk, to improve how Congress drafts laws. With these two bills, Congress has a chance to do a great deal by doing very little at all. Which, I think is the perfect example of Low Hanging Legislation. I hope that I can report before long that these bills have been passed and signed into law.

Wednesday, May 14, 2014

DATA Act and the Low Hanging Legislation List

This is the most polarized Congress ever. It has been mathematically proven. Before you turn to the good news in my next paragraph, do read the proof, discussed in the Slate article by Jordan Ellenberg in that last link. The article also provides proof that I traveled with the smart set in college. Jordan, author of "How Not to Be Wrong" and our generation's Martin Gardner, shows up regularly in my Facebook feed (he's married to my college friend Tanya Schlam).

For the general business of governing, polarization is unhelpful. Think reform on immigration, patent, tax law, or even passing a reasonable annual budget. So what to do when Congress is so ideologically split? Demonize and yell at and each other, of course.

And, hopefully, pass meaningful, non-ideological legislation while nobody’s looking. That’s what happened late Friday afternoon, when President Obama signed the DATA Act into law, after unanimous passage in the House and Senate. This is not an insubstantial bill. It will require every Federal agency to report its budget and expenditures in a standardized digital format, injecting unprecedented financial transparency into the workings of the Federal government. By standardizing financial reporting formats, it will also (I believe) streamline budget reports, which currently consists of a sprawling patchwork of ad hoc paperwork.

The DATA Act is the first of what I'd like to call the Low Hanging Legislation List.  Bills that (1) are non-ideological, (2) non-controversial, and (3) provide for technical improvements in government. The DATA Transparency Coalition will now turn to passage of the Financial Industry Transparency Act, which aims to standardize (and digitize) financial regulatory filings. Sunlight Foundation has also advocated for a number of transparency bills that should be supported by legislators on both sides of the aisle.

To these sensible recommendations, I would like to add H.R. 1067 and H.R. 1068. These are "positive law codification" bills, which I believe are the lowest hanging of all meaningful legislation.  They do not change the substance of the law, but instead organize it. To give a sense of how this organizing works, H.R. 1068 would repeal nearly 70 laws going back to 1901, and replace them with one, organized Title of the U.S. Code.  More about these bills, and why they should be next on the Congressional legislative agenda, in my next post.