Get your tinfoil hat on

I’ve actually made it several months, since I repaved my laptop, without a hosts file, but somehow today made me feel a touch paranoid.

But now I can’t decide what I should be returning from localhost, to have a function available to call so my error console doesn’t fill up with “Error: urchinTracker is not defined” messages. Maybe a pretty little translucent window sliding in and out saying “All your click behavior are belong to Google”?

Also of vague interest: for some reason, my aggregator chooses to display and order posts from Atom 0.3 feeds by the <atom:created> date, so the post announcing the Urchin free-for-all showed up down among last Friday’s things, since the author (clearly identified as an individual and personal voice in the feed metadata as “A Googler”) started the process of writing it and then getting it approved through who knows how many layers of lawyers and PR people at 2005-11-12T00:37:45Z, or 4:37 pm Pacific Time on the 11th. Dunno why anyone would want to admit that to the world at large, but then people admit the most remarkable things in metadata.

12 Comments

Comment by James #
2005-11-14 23:03:44

Hold out for Anemone, we won’t be quite so evil ;)

(you do have an account at TextDrive, right?)

Comment by Phil Ringnalda #
2005-11-14 23:11:44

I do, a VCII account, though I’m not quite sure what to do with it: very good and very cool hosting with very overbearing rules (”yeah, we give you a shell account, but if you even think about running things that we could block you off from but haven’t, we’ll cut you off in a second”) leaves me rather ambivalent about it, so all I’ve got on it so far is an abandoned Scuttle install and not even a domain name. Luckily, I’ve got a lifetime to decide what to do with it.

Comment by James #
2005-11-15 03:04:46

(Slightly in apologist mode, but I hope you’ll forgive me. Disclaimer: I’m working on Anemone, and know and like many of the people behind TextDrive)

For what it’s worth, I don’t find the ”rules” all that overbearing, and I think they became something of a necessary measure due to people who treated a TextDrive account as ”whee, I can do whatever I want with no consequences” instead of ”cool, this is a great place to deploy my application once I’ve tested it a bit”. And it’s only taken the form of resource limits; if something of yours gets out of hand, you’ll just find yourself unable to launch new processes until you clean up the mess.

The biggest culprit that I’ve seen is a little script called Daedalus that someone whipped up to monitor running processes and restart them if they died; the problem is that people would either misconfigure it, or have a Daedalus watching a Daedalus watching a Rails app, with both Daedali checking every ten seconds to make sure their targets were alive and well. That adds up to quite a bit of server load, so Daedalus is now officially persona non grata on TextDrive’s shared servers and the general line from everyone (including most of the community) is that if something’s so buggy you need a monitor to make sure it keeps running, maybe it needs a bit more work before you go deploying it.

But hopefully this will all be a dim memory in a few months, as the next-biggest culprits (half-baked Rails apps, and people who have trouble configuring lighttpd+FCGI) are going to get a large helping hand from a new, separate hosting system for Rails apps which will, we’re told, handle the server configuration automatically and maybe even provide a ”sandbox” for testing less-than-stable applications.

Comment by Matt #
2005-11-18 02:39:52

To play devil’s advocate, no one knew about Daedalus until TD started advocating it and personally I wouldn’t have needed it in the first place if mysql/fcgi/apache/lighttpd didn’t fail randomly, silently, and unnoticed for hours. The fact that people use web hosting for, well web hosting and development is not news to anyone and most companies have developed automated ways to deal with it years ago, often by user-level process limiting or invisible ”high-traffic” server migration or any other of a dozen nice things you do to be what a web host should be: completely invisible. I’m 99.9% certain TD will develop a robust set of tools for this as well in time, they’re still young and they decided to write everything from scratch so it’ll just take a little longer.

Comment by James #
2005-11-18 03:32:05

I didn’t know about Daedalus until I saw complaints about it causing problems; what happened, I’m sure, was that in the beginning it was OK, but then it just didn’t scale. I trust that RailsAppHosting, when it finally launches, will solve this and a lot of other problems for the Rails/lighttpd users, and hopefully whatever solution is used there will be applicable to other things as well.

 
 
 
 
 
Comment by Mark #
2005-11-15 04:35:29

You should be mapping blocked domains to 0.0.0.0, not 127.0.0.1.

Comment by Phil Ringnalda #
2005-11-15 07:38:16

I remember that you said that the last time it came up, but I don’t remember being persuaded. In this particular case, where I have Aliases for both /pagead/ and /urchin.js, and with /urchin.js in particular I actually want to serve something (currently just an empty function urchinTracker(){} to keep them out of the error log), where is the problem?

Comment by Mark #
2005-11-15 09:49:13

Well, among other things, the full text of your urchinTracker function would be available to the originating page (via the ever-useful uneval JavaScript function). So while you’re tracking the people who are trying to track you, the people who are trying to track you could end up tracking your attempts to track them. Or something like that.

All of this does give me a delightful idea for a Greasemonkey script, though. Assuming you could collate the URL+function names of the most popular/invasive ad servers, you could write a set of anti-tracker functions and install them on localhost, then redirect the relevant domains to 127.0.0.1 and have your anti-tracking functions called instead of the ad-generating functions that the originating page intended. Each of your anti-tracking functions could store metadata about themselves (like what ad server they’re impersonating) in a standard format somewhere in the DOM, and a Greasemonkey script or browser extension could mine the anti-tracking data and display some sort of real-time status and/or mess with the original page by churning out fake content in place of the ads. A kind of Rube Goldberg AdBlock, but it could turn out to be an interesting hack. Or not.

 
 
 
Comment by Aristotle Pagaltzis #
2005-11-15 18:43:38

Now if Google got their bottoms in motion, they could avoid the embarrassment by supplying solely an atom:updated tag.

Comment by Phil Ringnalda #
2005-11-15 20:10:23

Well, but usually you expect a company weblog to give you a little bit of the flavor of what the company is like, and what it’s like to work there, and the actual text of their blog doesn’t show that at all (unless it really is like being in a Earnest English Composition For Math And Science Majors 101 class), so the only look inside that you get is seeing that the slightly forced limerick about SMS translation was first composed on Halloween, and took two weeks to see the light of day.

Me, I’ve got a draft I’m thinking about publishing soon that I wrote in September. 2004. I probably won’t admit it, though, unless I decide I like the timeless nature of that.

Comment by Aristotle Pagaltzis #
2005-11-15 23:32:04

Yeah, it’s been noted that the Googleblog’s voice is stilted. They’ve always been one of the most closelipped companies (I can’t decide whether Google or Apple takes that title), and nothing’s gonna change that.

 
 
 
Comment by Anil #
2005-11-16 12:22:42

Eh, I take longer to get posts up on my personal site than probably any business with a million layers of lawyers does. Ding ’em for being inhuman, sure, but not for being slow to make blog posts go live.

 
Name (required)
E-mail (required - never shown publicly)
URI
Your Comment (smaller size | larger size)
You may use <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <del datetime="" cite=""> <dd> <dl> <dt> <em> <i> <ins datetime="" cite=""> <kbd> <li> <ol> <p> <pre> <q cite=""> <samp> <strong> <sub> <sup> <ul> in your comment.