Archive for April, 2008

Spending Dinner at Work

Wednesday, April 23rd, 2008

Alley Insider does some back-of-the-napkin math and guesses that Google’s food budget is approximately $7.5k yearly per Googler. This is an interesting calculation to me, even if it’s a wild guess.

Google is one of the only places i’ve eaten at where the cafeteria at dinnertime literally feels busy. The difference in atmosphere between there and its competitors is astonishing. If you have a stint working as a programmer in Silicon Valley, do your best to visit other campuses and see how the culture and environments feel different from company to company. I do not believe that I have ever seen a dinner gathering anywhere near the magnitude of Google’s daily Mountain View cafeterias within a large tech company.

From anecdotal accounts i’ve received, it is not just that Googlers eat, then leave for home. Frequently, they’re eating as a short respite from a long workday, and go back to work, sometimes after meeting with family for dinner. I would fathom a guess that no other established, large tech company gets away with such long work hours from any of its employees as Google.

I don’t even think you’d need to invest in free meals around the clock to get this kind of behavior, either. You could still charge for lunch, but offer a free early (pre-8 or 9am) and late (post-7pm) dinner service in order to encourage people to stay past the regular hours, and still defray some of your lunchtime costs. If you even got a 15% boost in working, productive hours from your employees, I surely think that would make up for the handful of thousands of dollars worth of food you’re sending their way.

Ethics of Data Transformation and Republishing

Tuesday, April 15th, 2008

After the reaction of a few friends to my last post, I wanted to put up a separate post specifically about my current opinions regarding the ethics of taking public data, doing a lot of cleanup, then potentially charging for commercial use or download of the new (transformed) dataset. My planned project working with EPA data may not be the last time I do something related to data transformation, so i’m trying to understand the issues here.

Daniel Raffel pointed me to some pertinent info about WestLaw, one of the most well-known providers of information that originates in the public domain. WestLaw takes public legal information, incorporates it into its datastores, then charges a fee for legal professionals to use it to perform legal research. It provides proprietary interfaces, and also made several features that have apparently become indispensable to the legal profession, including a proprietary key-oriented classification of legal data.

Recently, Carl Malamud, who works for Resource.Public.Org, began a project with the aim of making all the primary sources of that legal data available on the Internet. It’s clear from his letter that he believes that making primary source data publicly available does not compete directly with the services and tools that WestLaw provides. However, it appears that WestLaw’s summary publication literature, such as the Federal Reporter, may be the only available published information from the primary public domain data.

Carl is essentially saying that since these summary documents may constitute information derived from data in the public domain, he will be attempting to extract the public domain data from the documents commercially produced on behalf of the government by WestLaw. I am not an information expert about this sort of thing, but it seems to me that a reasonable person would believe that if the original public domain data is ONLY made available in any useful form to a commercial vendor who then transforms it into literature, then the data which is public domain should not be covered under copyright for that commercial vendor. How you go about extracting that data is more of a fuzzy area, but presumably if an effort can be shown that bounds were respected, I think a reasonable person would say that reverse engineering is okay. Carl’s letter to WestLaw carries this type of reasoning down its natural path, and even suggests to them that they save everyone some time and just release the entire text of their publications, free to download.

Anyone who spends any time around primary source data knows that not all data is created equal. If your intent is to provide tools and services around data, there is a good amount of time and effort that must go into transforming primary source data into a useful format for some specific purpose. I believe that an appropriate action on West Publishing’s part is to go ahead and publish all historical cases in text format (not the Federal Reporter, etc., itself), and let anyone else who wishes to transform that data into a useful format go ahead with their project. This wouldn’t exactly satisfy Carl’s request, but it would meet the standard suggested earlier that the primary source data be available in at least one form.

It’s important to note that I’m not arguing that the final products (the Federal Reporter, etc.) need to be put into the public domain by WestLaw. By the standard suggested above, if the data’s available for the public domain, I don’t believe there is a strong ethical basis for compelling a commercial venture to take a risk and completely release all of their products for free. This would preserve some of the economies of scale of data manipulation, while righting the “wrong” that public domain source data is not available at all to the public. Put more simply, if a competitor wished to create a similar research product to WestLaw, the cost of transforming the data into a useful information repository with competitive features would still remain. Any proprietary content inside its publications still remains non-free, and presumably anyone who would buy them for their convenience would still do so. Carl’s threat is that he does have a very strong point if the only option to get the original primary data is through extraction from their commercial resource. If the decision makers at WestLaw decide to completely oppose his reverse-engineering, I think it would be a very politically difficult decision to defend, and could cause the government to step in and make the boundaries between public domain and private very clear. As it’s to WestLaw’s advantage to keep those boundaries murky, a compromise of providing just the case data in a text format seems the best solution for their interests.

Now, as to how this pertains to the situation i’ll be going into with regards to the EPA emissions datasets, all of that data is available via their website as more-or-less large CSV downloads. Each year has a somewhat different format. From what I recall from my earlier work on it, it’s kind of a pain to go through and clean up that source data, and it requires some knowledge about automotive industry emissions standards nationwide. Still, the original information is visible, even if it’s in a format that needs some work.

What i’m in the middle of doing is the standard drill - analyze the datasets, design a fairly acceptable standard schema to use as a blueprint for importing the data, then go set by set, programming transformations from the yearly data into the database. Then, an interface to perform queries can be created, as well as a set of useful services to offer on top of the transformed data. Long after all available data is imported, a maintainer might write new transformations yearly in order to keep the data current. This activity of doing work to transform data from a public domain resource into a different format is original work, and does take a lot of time and effort. Nearly all researchers deal with this sort of work on a regular basis.

What i’d like to suggest is that if data that is already in the public domain, and available on the internet is transformed into a version that is more useful to commercial ventures or professionals, that it is perfectly fine to charge a fee for access to tools or regular “dumps” of those transformed dataset. For one, the data’s already available, and it is not the original primary source data that is being offered for sale. The business product would be the combination of transforming the original data into a more useful form, and then offering either the transformed data directly, or simply services and tools on top of that data.

If anyone wanted to do that work, then re-open it up completely to the public domain, I believe that would be a gracious gesture, but I’m of the current opinion that it’s not ethically or morally necessary. Plenty of goodwill could be achieved by offering scholars, nonprofits, or individuals free access, and anyone who thought the cost is too high could attempt to achieve a lower cost by taking the original public domain sources and doing the work themselves.

That’s my current opinion about all this, but it does seem like there’s a lot of strong opinion out there, maybe not as long winded as me. Feel free to use the comments to let me know what you think.

Server Move Complete

Friday, April 11th, 2008

It was much easier than I guessed it would be to switch from my own dedicated host to a shared host. It’s really nice to have a competent admin taking care of business, and not having to worry about everything myself. Thanks to Jeremy Muhlich and the fdntech guys for a good machine.

I’ll probably keep everything on this server for now, and just put things on their own dedicated server if it’s really necessary.

I’m super happy to FINALLY be off of RHEL3 and it’s super old MySQL 3.23 builds. It was a monstrous pain having to deal with only having such a limited featureset, and it definitely hampered development somewhat.

Re: projects that are coming up soon - i’ve been easing back into productivity and have a few things i’ll be working on off the bat. One is cleanup of a dataset that I’ve been personally really interested in - the EPA emissions records for cars. They provide this data in the public domain, but the format is pretty messy and it requires figuring out how regional automotive regulations impact the cars available in various states. With some more elbow grease, i’ll probably be able to put this into a sensical format, and i’m definitely going to do some analysis myself once that’s done. I may also consider providing some public query access via a Google AppEngine test, as it seems like a perfect way to offload queries on an interesting dataset of public record, where I won’t have to incur high costs for expensive queries myself.

I’m curious in seeing if models exist where people took data from the public domain, cleaned it, then charged a fee for access instead of redistributing the data for free. It seems like a useful thing to be able to accomplish, and I think that there would potentially be commercial use of better data than public domain CSV’s whose format just gives you hints at potential normalization, and leaves all the work as an exercise for the reader. I’ll probably end up making the dataset free for nonprofit or personal use, as it came from the public domain anyway… actual queries i’ll probably have to rely on something like AppEngine, and commercial use i’ll probably ask for a fee. Any opinions?

Starting to tidy things up…

Wednesday, April 2nd, 2008

I constantly live in fear that somewhere in my email handling code lies a header / MIME injection vulnerability. I’ve been caught by them in the past, and each time I get snagged, it’s extremely unpleasant to deal with. Although there are published source solutions, I just never feel completely comfortable with them.

I switched my contact forms today so that no form input makes it into any mail that gets sent to me. It’ll ping me with a notification, and i’ll go check it.

It feels like a pretty bad solution, but i’ve noticed recently that more and more web applications are adopting this style. In public applications, one of the advantages is that one can send out notifications very quickly, but also have a short grace period to check and catch abusive spamming. Additionally, you don’t need to worry as much about email exploits that attempt to co-opt your web applications to run as open mail relays. It’s obviously not going to allow your users to deal with your software as an extension of the email inbox.

The pure psychological penalty of receiving an email notification from a trusted web application that contains spam may be somewhat worse than receiving a notification, then going to a website where the content is spam (where you have “report abuse” links, typically) and where the content may no longer exist (if post-moderation occurred).

I believe that this may be a necessary evil in any future web projects that I write. Either that, or all participants may need to pay a fee to enter.