In Praise of Transactional Attorneys

I have always respected the attorneys that draft and negotiate commercial agreements. In the last while, I've been doing a bunch of that myself and so have increased my understanding of the joy and difficulties they face.


The basics of the job include working with one or more groups of other attorneys from other companies to negotiate and draft an agreement to reflect the terms of a commercial deal. It can be as simple as I will give you X number of widgets for Y amount of dollars or as complex as hundreds of pages attempting to deal with all sorts of contingencies. These deals are then used by companies to figure out what they should do, for example pay $Y when X widgets are delivered, and, extremely rarely, they are used by courts to figure out whether a company has wronged another by violating the contract.

There is a lot of joy in making a deal work and thinking of creative solutions to disagreements but the job is also VERY tough. To put it in computer terms, imagine the contract as a computer program. In each the object is to be able to interpret the words and have that interpretation drive a result. Now imagine that there is no compiler for your program and that you can't run any tests. All debugging must be done only theoretically and in your head. Imagine that you are coding with another person that is likely to be trying to develop a program that does something significantly different from what you want it to do. You and the other programmer may have different time constraints and, even though you are trying to do different things, you have to be on good terms with the other person because she could just as easily decide to stop working on your project. You and the other person take turns editing the code but without a common coding environment or standard tools to figure out whether the other person (or you) goofed it up. Then imagine that the code you are writing has a high probability of only ever being "run" through two different interpreters with significantly conflicting points of view about desirable outcomes and you likely won't get to see the result of any of these "runs." Or you may be asked to interpret the code in light of complete changes in context. Include a small chance that your code will be "run" by a relatively unbiased interpreter but the outcome of that one interpretation will be at extremely high stakes, often millions of dollars. Finally, know that you will likely get little credit for writing good code but will be crucified if the one time your code is run it doesn't work flawlessly. Now you are beginning to understand how hard the job of a good transactional attorney is.

Great transactional attorneys also pack a whallop of business sense and are very hard to find. Of course I believe our department at Twitter has some folks that are extremely good at this, and the team at Google is also wonderful. If you are not lucky enough to work at either of these companies I'd also recommend the great folks at Fenwick, Heather Meeker of Greenberg Traurig and Suzanne Bell of Wilson Sonsini. Wherever you work, give thanks for your transactional attorneys, I'm sure they deserve it.

Twitter Lists

Loving Twitter Lists. Just added the widget to this blog for my list of folks who tweet about internet law.

Google Book Search Hearing

Full video is up. Am looking forward to seeing it all. Cnet has a story with some quotations from it.

Twitter

Today was my first day at Twitter. Good vibe about the place. Shouldn't change this blog much though it may allow me to blog a bit more about copyright since I won't be dealing with those issues at work.

"Makers" Schedule

Another great essay by Paul Graham. This time about keeping control of your schedule to ensure large chunks of uninterruped time. Paul can sometimes wear programmer-colored glasses and this essay is no exception. I completely agree that programmers are one group that often needs uninterupted time, but they are not alone in any way. Even Paul's bogeyman -- "managers" -- often need uninterrupted time to focus on problems of strategy or operation (or any other type of problem or goal). There are LOTS of ways to do this. Paul mentions office hours as a way to consolidate and shorten meetings. We've been doing that for product counsel legal advice for years now and I highly recommend the "office hours" approach. In a large organization, it can also have big benefits in terms of reminding people that maybe they should drop in to ask your advice on something as long as you consistently schedule the office hours and hold them in visible locations (our preferred room was a glass walled room on a busy walkway in the center of campus).

Some other things I have heard tried:
  • Meeting Mondays (or no meeting Thursdays): The important thing here is that you designate certain days as acceptable for meetings and others as not throughout the company. The fewer exceptions, the more likely this will work.
  • Meeting with yourself: My calendar at Google was world-writeable within Google. That meant that if I wanted uninterrupted time, I had to schedule it. One way to do "no meeting Thursdays" is to just schedule yourself for an all day meeting with yourself on Thursday.
  • Retreats: Being in a physically different place as well as being "booked" for uninterrupted time can be amazingly productive. Bill Gates and Jeff Bezos, two other programmers turned managers like Paul, to regular extended retreats to think.
I'm sure there are many more ideas along these lines and I'll try to update this post with links as I come across them.
Update: David Weinberger on office hours.

On Leaving Google

Working in Google Legal has been a dream job. The people at Google are phenomenal. In every part and at every level of the company there are great people with multiple useful talents in addition to those that got them the job. For a lawyer, the issues we dealt with every day were fascinating, the real-world impact of our work was humbling, and the ethical compass of the place remained true

Among many other things, I am proud to have been part of the legal department that helped:

Increase transparency for removals: Google remains the only search engine that sends legal notices to ChillingEffects.org to document search results suppressed for legal reasons. UPDATE: I'm pleased to report that as of sometime in the last few months, Yahoo! is sending at least some (maybe all) of their notices to ChillingEffects. This is GREAT news and I apologize to Yahoo! for not noticing this earlier.

Stand up to the Department of Justice: Google was the only search engine provider that stood up to the Department of Justice’s overbroad request for search query information.

Launch Google Book Search: Google is making books easier to find by using fair use for a great purpose and is working to expand access to books through the Book Search settlement.

Stand up for users: In my experience, Google does “focus on the user.” Google Legal is no exception in its decisions about everything from global product functionality to individual removals. As a result, we’ve been threatened or sued many times for user-focused functionality and what our users have said through our services.

There are many other examples, and many more that are confidential or privileged, but these give you a flavour of the types of things the Google legal department gets to do. I still can’t recommend it highly enough (really, go check out the jobs page).

Thank you Googlers, it was an honour.

Babysitting in Nantucket

A quick shout out to my cousin-in-law's Nannytucket site. If are in Nantucket and need a babysitter, check them out!

Garmin 305 + Camera = Photos on Maps

I have a Garmin Forerunner 305 (which is a GPS running/biking workout helper) and a Canon 870IS (pocket digital camera). Since each device records the date/time with its information, you can later combine the latitude/longitude from the GPS with the photos from the camera to be able to see pretty exactly where your photos were taken (this is called "geotagging" your photos) and to create something like this:

View Larger Map
In this post, I'll go through the various steps necessary to create that result using my GPS logger and digital photo set-up but many of them are transferrable to other loggers and set ups (though at $169, last I checked, the 305 is a steal). I use Picasa, Google Maps and Google Earth because I think they are good products but you should know that I may not be unbiased because I also work at Google.  Other photo managers and hosting services can be used.  From the looks of it, Flickr does this very well too.

Taking Pictures
When you are ready to start taking pictures, turn on your GPS logger. For the Garmin, I also needed to "start" my "run" in order to record the GPS log.  You don't need to do anything special when you take pictures and when you are finished taking all the pictures you want to appear, turn off your GPS logger.  On the Garmin I also needed to "stop" my "run."
Downloading the GPS log
If you haven't already, you'll need to install the Garmin Forerunner 305 drivers and software (these links are for Windows).  Then open up the Garmin Training Center software (ug, relatively horrible and proprietary) and download your GPS log from the device.  Find the part of your "history" from when you took the pictures and note the date/time from the very first entry (you'll need it later). You should then be able to right-click on your log and "Export" it.  Unfortunately you can only export in the little-supported Garmin format, so choose a place where you'll be able to find it and export as .tcx.
Converting the GPS log
There are a number of ways to convert from TCX to GPX (a much more commonly supported format).  I used the online converter from gpsvisualizer. You could also download a perl script to do it locally. In either case, you need to save the resulting GPX file for the next step.
Synchronizing your pictures with your GPS log
To match my images to where they were taken, I use GPicSync.  It is a relatively simple program and works best if you have segregated the pictures you want to geotag into their own folder.  It will then ask for that folder's location and the location of the GPX formatted GPS log.  You'll also need to have GPicSync calculate the correct offset between the date/time recorded by your GPS logger and the date/time from your camera.  To do that, go to "Options|Local Time Correction" in GPicSync and enter in the time from the first enty in the GPS log and the relevant bits of time from the first picture (for example if the GPS log time start was 15:08 and you waited a bit before taking your first picture which was at 8:15, you'd enter 15:08 and 8:08).  Now you should be ready to geotag the photos by clicking "Synchronize."  If you leave the rest of the default settings intact each of your images should now have a lattitude/longitude in its EXIF geolocation field and you should get a backup folder with the photos as they were before you synchronized, a log in your photos folder and a KML file in your photos folder. After checking that everything went well, you can delete the backup folder and two extra files.
Creating a KMZ file in Picasa
Open the picture folder in Picasa (you may have to import them into Picasa if it is not already there).  You should see a small crosshairs in the bottom right of each photo and be able to see lattitude/longitude informaiton when you choose "Properties" when viewing a photo.  You should then select all of the photos that you want to include on your map and choose "Tools|Geotag|Export to Google Earth File."  This may take a little while, but should produce a KMZ file that contains thumbnails and smaller versions of each of your images.  The KMZ file can be opened directly in Google Earth and should show your pictures where they were taken.  For example, here's mine.
Uploading the KMZ file to the web and importing it to Google Maps
Upload your KMZ file to somewhere on the web that is accessible to the world.  I used Google Sites, but this can be anywhere.  Then sign in with your Google Account and go to Google Maps.  Click on the "My Maps" link and "Create New Map." Choose the map's title and publication settings and then click "Import" and provide the URL for your KMZ file on the web.  You should then have a Google Map window which includes your images.  Click "Save" and "Done" and you'll see what other people will see when they come to the map.
[NB: Though it seems based on the "Import" dialog box that you should be able to upload directly from your computer, I couldn't get that to work for me.]
Enjoy!