Tuesday, October 7, 2014

New Name, Same Domain

This blog expresses my personal thoughts on law, legal technology and occasionally other musings. I'm changing the title today from "Tabulaw" to "Linked Legislation". I'm keeping the domain name (blog.tabulaw.com), because the comments on this blog are tied to that domain and I don't want to lose the many valuable thoughts that commenters have added to these posts. At the same time, I would like the blog's title to reflect its broad focus and to evolve along with my thinking on these subjects. That evolution is, of course, influenced by my experience building technology for law.

Tabulaw was my first start-up, focused on delivering legal drafting tools to lawyers-- many of the kinds of tools that have since been built into WestLaw Plus, Lexis Advance and others. We were on to something with Tabulaw, but we did not have access to those companies' massive legal document databases. For that, and other reasons common to start-ups in the legal field and start-ups in general, Tabulaw failed.

I am now working with Xcential, a company started by Grant Vergottini and Brad Chang that, I believe will change the way that legislatures write and publish the law. We're already doing this with some great partners in the U.S. House of Representatives, with the House Modernization Project. We are in the first days of a new industry. I hope to be embarrassed, when the industry is more fully developed, by some of the naive thoughts I express on this blog. I also hope to be able to quote passages, from my posts and your comments, that make it sound like we knew all along what we were doing.

Monday, June 9, 2014

Tax Simplification Hearings - 2014

Annette Nellen at 21st Century Tax has written a post on Congressional hearings this summer on tax reform. The Senate Finance Committee, led by Senators Wyden (D-OR) and Hatch (R-UT), will consider topics including:


  • Education incentives
  • Identity theft and privacy
  • "Modernizing" corporate taxation
  • Tax simplification
As I mentioned in a comment on Annette's blog, I would like to see Silicon Valley weigh in, particularly on tax simplification, with ideas to simplify the code and technology to simplify tax filing. I have discussed this before, including the great potential to use (big) data from hundreds of millions of actual filings to simplify tax law and the practice of filing.

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.