Adam Fields (weblog)

This blog is largely deprecated, but is being preserved here for historical interest. Check out my index page at for more up to date info. My main trade is technology strategy, process/project management, and performance optimization consulting, with a focus on enterprise and open source CMS and related technologies. More information. I write periodic long pieces here, shorter stuff goes on twitter or


Flash physics engine

Filed under: — adam @ 1:17 pm

Someone had fun with the Flash physics engine.

Warning: not porn, but does include bra-related breast physics.

Tags: , , , , , , ,


The Anti-Griddle

Filed under: — adam @ 6:02 pm

‘This unique innovation allows you to effortlessly freeze sauces and purees solid or develop semi-frozen creations with stable, crunchy surfaces and cool, creamy centers.’

Tags: , , ,


Love for gentoo

Filed under: — adam @ 12:41 pm

I’ve been using gentoo as my main linux distro for about six months now, and I still love it.

The best place to start is with the gentoo handbook:

Once you get everything set up, installing new software is as simple as:

$ sudo emerge rails

which will find rails, analyze the dependencies, fetch all of the source packages, and build it for you. Don’t have ruby installed? No problem – it’ll get and install that automatically because rails depends on it. There are plenty of other options as well.

Even better, every package you install is custom compiled for just your options, and targeted at your specific processor family instead of just the regular i386 or i686 or whatever generic binaries. As a result, gentoo tends to perform better than other distros on the same hardware.

Like apt, pretty much everything you need is downloadable with portage, except that it compiles from source for your specific
system. Need ssl support? ruby support? You tell it. All of this is accomplished through the very rich USE environment variable, and all new compilations automatically pick up the dependencies you need.

Here’s the current list:

If you change the list, you can also dynamically recompile everything on your system to update the dependencies (or selectively just the things that are affected).

Yes, compiling takes a long time (sometimes a long long time), but there are ways to distribute it if you have multiple machines, and hopefully, you don’t actually need to do this very often. Also, you can usually just let it run – it doesn’t need constant attention.

If you’re looking around for a new linux distro, check it out. The up-front work may seem intimidating, but it’s really a great foundation for long-term maintainability.

Tags: , , , ,

First movie shot on camera phones

Filed under: — adam @ 11:53 am

“Early this year, production wrapped on the first ever feature film to be shot entirely with cell phone cameras. Directed by South African filmmaker, Aryan Kaganof, “SMS Sugar Man” is the story of a pimp and two high class prostitutes driving around Johannesburg on Christmas Eve. It was shot for less than 1 million rand ($164,000) in just twelve days.”


New Microsoft search tech?

Filed under: — adam @ 7:29 pm

Thomas Hawk points out that Microsoft has trademarked something called “Relerank”, relating to ranking search results:

Tags: , , ,


Handy trick for mobile users

Filed under: — adam @ 12:04 pm

I have net access on my phone, but it’s reasonably slow. A click to follow a link is expensive, especially when I just want to look up a word or something.

I’ve noticed that and are now both supporting putting a query in the url path:

Also, there’s search, which lets you do things like:

Any others?

Tags: , , ,

This is what we mean by abuse of databases

Okay, here it is, folks.

When someone asks “what’s wrong with companies compiling huge databases of personal information?”, this is part of the answer:

Someone signed up for a Miller Brewery contest using a throwaway email address, and they tracked her down and signed up her “real” email address. The second link above concludes that they did it by using information collected by Equifax’s direct mail division, Naviant (which was supposed to have been shut down years ago). They own the domain from which the email was sent.

When we talk about privacy, it can mean a number of things. But indisputably, one of the definitions is “the right to be free from unauthorized intrusions”.

Maybe this is a small thing, but it’s a terrible precedent.

This person obviously didn’t want to be permanently signed up for messages from Miller. Letting an address expire is probably the ultimate form of “opt-out”. Yet, Miller thought it was okay to use personal information gleaned from who-knows-what sources to tie her to another email address, and send her more spam. Would they do the same thing if you changed your phone number to avoid telemarketers? What else is fair game?

Tags: , , , , , ,


The Hurtt Prize

Harold Hurtt, police chief of Houston, has advocated changing building permits to require cameras in public areas of malls and apartment complexes, to try to deter crime:

He’s quoted in the article, saying “I know a lot of people are concerned about Big Brother, but my response to that is, if you are not doing anything wrong, why should you worry about it?”

1) “Wrong” is always changing, and isn’t always correct.

2) Our society and legal system are neither constructed for or capable of handling perfect law enforcement.

3) It’s not worth any price to catch all of the criminals. There are tradeoffs to be made.

The Hurtt Prize is a $1000-and-growing bounty offered for anyone who gets a video capture of Mr. Hurtt committing a crime.

Tags: , , ,

Retiring to a perpetual cruise

Filed under: — adam @ 12:11 pm

Interesting tidbit from Snopes, via (Kottke).

Apparently, it’s about the same price to take a perpetual cruise as it is to live in a nursing home, and at least a few people have been doing this for years.

Tags: , ,


That song from the Ultraviolet trailer

Filed under: — adam @ 6:17 pm

That second song from the Ultraviolet trailer (not the one from the Matrix) is 24 by Jem, on this album:

Finally Woken

Tags: , , ,

Fun stuff you can find with Google

Filed under: — adam @ 6:01 pm

Nothing really new, but some interesting examples.

The world’s information doesn’t want to be organized.

Tags: ,


New Beastles mashup album

Filed under: — adam @ 12:50 am

There’s a new Beastles mashup album, and it’s fantastic.

(The direct links seem to be broken, but the torrent link still works.)

Tags: , , ,


China loves the Patriot Act

Filed under: — adam @ 7:36 pm

In an interview with a senior Chinese official responsible for policing the Internet, he defends China’s monitoring and filtering as no different from what other countries do to enforce their laws and keep the content on the internet “safe”. He points to the Patriot Act as evidence that the US is “doing a good job on this front”.

Tags: , ,


Storing your files on Google’s server is not a good idea

Filed under: — adam @ 2:29 pm

I was going to write something long about this, but Kevin Bankston of the EFF has beaten me to it and put together pretty much everything I was going to say.

Here’s the original piece:

In response to a criticism on the IP list that this piece was too hard on Google, Kevin wrote the following, which I reproduce here verbatim with permission. I think that this does an excellent job of summing up how I feel about these privacy issues. I have nothing personally against Google, or any of the other companies that I often “pick on” in pointing out potential flaws. I do think that somewhere along the way in getting to where we are now, we have lost some important things in the areas of corporate responsibility and consumer protections, and technology has advanced to the point where it’s not even obvious what has been lost. The tough thing is that there are often tradeoffs with useful functionality, and it’s not clear what you’re giving up in order to make use of that potential new feature.

So, in this case – yeah, it’s great that you can search your files from more than one computer, but Google hasn’t warned you that your doing so by their method, under the current law, exposes your private data to less rigorous protections from search by various parties than it would be if it were left on your own computer. To most people, it doesn’t make any difference where their files are stored. To a lawyer with a subpoena in hand, it does. These are important distinctions, and they’re not being made to the general public. I believe it is the responsibility of those who understand these risks to bring this dialogue to those who don’t. It’s a a big part of why I write this blog.

Kevin’s response:

Thanks for your feedback. I’m sorry if you found our press release inappropriately hostile to Google, although I would say it was appropriately hostile–not to Google or its folk, but to the use of this product, which we do think poses a serious privacy risk.

Certainly, the ability to search across computers is a helpful thing, but considering that we are advocating against the use this particular product for that purpose, I’m not sure why we would include such a (fairly obvious) proposition in the release. And as to tone, well, again, the goal was to warn people off of this product, and you’re not going to do that by using weak language. Certainly, we’re not out to personally or unfairly attack the people at Google. Indeed, we work with them on a variety of non-privacy issues (and sometimes privacy issues, too). But it’s our job to forcefully point out when they are marketing a product that we think is a dangerous to consumers’ privacy, and dropping in little caveats about how clever Google’s engineers are or how useful their products can be is unnecessary and counterproductive to that purpose.

I think it’s clear from the PR that our biggest problem here is with the law. But we are also very unhappy with companies–including but not limited to Google–that design and encourage consumers to use products that, in combination with the current state of the law, are bad for user privacy. Google could have developed a Search Across Computers product that addressed these problems, either by not storing the data on Google servers there are and long have been similar remote access tools that do not rely on third party storage), or by storing the data in encrypted form such that only the user could retrieve it (it is encrypted on Google’s servers now, but Google has the key).

However, both of those design options would be inconsistent with one of Google’s most common goals: amassing user data as grist for the ad-targeting mill (otherwise known, by Google, as “delivering the best possible service to you”). As mentioned in the PR, Google says it is not scanning the files for that purpose yet, but has not ruled it out, and the current privacy policy on its face would seem to allow it. And although I for one have no problem with consensual ad-scanning per se, which technically is not much different than spam-filtering in its invasiveness, I do have a very big problem with a product that by design makes ad-scanning possible at the cost of user privacy. This is the same reason EFF objected to Gmail: not because of the ad-scanning itself, but the fact that Google was encouraging users, in its press and by the design of the product, to never delete their emails even though the legal protection for those stored communications are significantly reduced with time.

If Google wants to “not be evil” and continue to market products like this, which rely on or encourage storing masses of personal data with Google, it has a responsibility as an industry leader to publicly mobilize resources toward reforming the law and actively educating its users about the legal risks. Until the law is fixed, Google can and should be doing its best to design around the legal pitfalls, placing a premium on user privacy rather than on Google’s own access to user’s data. Unfortunately, rather than treating user privacy as a design priority and a lobbying goal, Google mostly seems to consider it a public relations issue. That being the case, it’s EFF’s job to counter their publicity, by forcefully warning the public of the risks and demanding that Google act as a responsible corporate citizen.

Once again, another reason why you should be donating money to the EFF. Do it now.

Tags: , , , ,


Outstanding pictures of China

Filed under: — adam @ 2:50 pm

My friend Kyle sent me this link, which has some truly breathtaking pictures of China:

Tags: , ,

3d painted rooms that only resolve from one angle

Filed under: — adam @ 12:52 pm

Cool optical effects.

Tags: , , , ,


Oil-based lenses on the way

Filed under: — adam @ 12:38 pm

Oil based lenses have the potential to put zoom cameras basically everywhere. Because they require no moving parts, they’re very compact, power efficient, and fast. The digital imaging world is changing fast. Sensors are already tiny , and glass lenses have been an obstacle to miniaturization. Oil based lenses, where the zoom can be adjusted by running a charge through the lens, will fix that problem.

Tags: , , ,

Tutorial on making cutouts with Photoshop

Filed under: — adam @ 12:29 pm

I’ve posted a short tutorial on how to make cutouts with photoshop:

Tags: , , ,


Treo 800p rumors

Filed under: — adam @ 4:37 pm

320×320, 3.2mp camera, 128M, PalmOS, EVDO, Wifi option.

Feels nice. Kinda warm.

[update: completely debunked.]

Tags: , , ,

Pigeon smog blog

Filed under: — adam @ 1:42 pm

Scientists at UC Irvine are planning to equip pigeons with small bird-sized backpacks containing pollution detectors, GPS, and wireless data access, so they can post realtime smog data to a blog.

The mind boggles.

Tags: , ,

Detailed survey of verbatim answers from AOL, MS, Yahoo, and Google about what details they store

Declan McCullagh has compiled responses from AOL, Microsoft, Yahoo and Google on the following questions (two of which are nearly verbatim from my previous query, uncredited):

So we’ve been working on a survey of search engines, and what data they keep and don’t keep. We asked Google, MSN, AOL, and Yahoo the same questions:

- What information do you record about searches? Do you store IP addresses linked to search terms and types of searches (image vs. Web)?
- Given a list of search terms, can you produce a list of people who searched for that term, identified by IP address and/or cookie value?
- Have you ever been asked by an attorney in a civil suit to produce such a list of people? A prosecutor in a criminal case?
- Given an IP address or cookie value, can you produce a list of the terms searched by the user of that IP address or cookie value?
- Have you ever been asked by an attorney in a civil suit to produce such a list of search terms? A prosecutor in a criminal case?
- Do you ever purge these data, or set an expiration date of for instance 2 years or 5 years?
- Do you ever anticipate offering search engine users a way to delete that data?

Tags: , , ,



Filed under: — adam @ 6:35 pm

This is the coolest thing I’ve seen in a long time.

It’s a low-cost portable still for purifying water with a pretty ingenious design.

Tags: , , ,

Blackmal.e warning

Filed under: — adam @ 5:07 pm

If you run a Windows machine, it’s probably a good idea to make sure your virus scans are up to date. There’s a nasty virus going around that’s set to delete some files on Feb 3.


US-VISIT approximate costs: $15M per criminal

Filed under: — adam @ 5:48 pm

The system has cost around $15 billion, and has caught about 1000 criminals. No terrorists, all immigration violations and common criminals.

This estimate doesn’t include lost tourism revenue, academic implications of detaining foreign students or professors, or a count of how many of those criminals might have been caught anyway.

Tags: , , ,

Ruby script to fetch hosts file and turn it into a privoxy block list

Filed under: — adam @ 1:34 pm

There are plenty of servers out there that, if they just disappear from the internet, not much bad happens. They include known ad server, spam, and spyware sites. The fine folks at maintain a good list, which is up to about 10,000 entries now. Since I couldn’t figure out how to get privoxy to honor the local hosts file when doing DNS lookups, I wrote a little ruby script to fetch that file, break it down, and output a privoxy block list.

I chose ruby, because I’ve been working with it lately, and I really really like it. I find it incredibly easy to write, read, and work with.

If you’re a ruby developer, improvements of all kinds are welcomed. Please feel free to comment and discuss ways I could have made this more ruby-ish. Also, I haven’t quite grokked what the right approach is for ruby error/exception handling. Opinions on where checks should go are welcomed. For example, the whole thing is wrapped in a conditional block of opening the file. Do I need to handle any exception conditions, or is that all just taken care of properly?


require 'open-uri'

hosts =
header = 1

open('') do |file|
  file.each_line() do |line|
    # skip if still in header
    header = 0 if line =~ /^#start/
      next if header == 1
    # skip comments
    next if line =~ /^\s*#/

    # add the hostname to an array
    hosts < < line.split[1] #(sorry, no space between << - wordpress keeps inserting one for some reason.)

  # write the output file
  outfile = open('privoxy_user_actions.txt', "w")
  outfile.puts "{ +block }" + "\n"
  hosts.each do |host|
    outfile.puts host + "\n"

Tags: , , ,

Powered by WordPress