Archive for September, 2005

Coldplay, open spaces, beaches, ants and more!

Thursday, September 8th, 2005

Mostly been blogging about work stuff recently … some may think this is because it is the only thing I do … but those people are wrong! Here is a pictorial journey through the past few weekends.

Coldplay

A few weeks ago morgamic was in town on business, while he was here we went to a Coldplay concert. None of my photos turned out… but his did …. he also has a much more detailed write up.

Ok, so maybe that wasn’t the best start. How about this:

Open spaces

In Oregon we call them grasslands, in Caly-forne-ya we call them “open spaces”. Probably because when you are in a city there is not very much open space so the government deems specific places open in order to give people hope. In particular, I went to the Alpine Ridge Open Space (many thanks to bahiker.com).

[img]
Adventure

Beaches

Two beaches:
1) San Gregorio State Beach

[img]

As you may be able to tell from that photo — there were a lot of people. However, if you walked about 200yds away from the parking lot the view turned into this:

[img]

2) Point Reyes National Seashore

This was the first national seashore I had gone to. Luckily enough I remembered to bring along my national parks passport. McKim is losing the national park battle big time (sorry man).

[img]
Attempted to build a cube out of sand… then put a stick with a feather on it

Ants

[img]
gross

And more!

The internship is winding down. Next Wednesday (9/14) is my last day at the office. From there I will head off into the woods to do some camping and fishing — along with visit my sister in Wyoming. It is going to be a long drive, but I will be in good company.

Thats all for now. Happy trails!

A cached approach to mirroring

Monday, September 5th, 2005

For some reason I dislike rsync. I could go into why, but that is not the point. I just started off that way because I wanted to lead into that I have been pondering alternative ways to mirror software. Initially a few of us tossed around the idea of using RSS feeds to mirror data. However, with the Mozilla mirror alone at 36,000+ files, it seemed a bit too ambitious. So here is the latest idea: treat each of the second tier mirrors as a simple cache to the master mirror.

A play-by-play: The user requests a file from mirror C, and it does not have the file, so before sending a “File not found” it checks the master staging mirror if it has it, and it does! Mirror C then happily grabs the bits, passing them on to the user as it gets them. The mirror keeps a copy of the data for itself so it does not have to bother the master the next time a client comes around. Mirror C is now a cache for the master, and follows all rules governing contemporary caching.

Wait, this just convoluted things. However, if you combine the model with a few other tools, you create a grand unified mirroring toolkit (gumt, not guft :). In particular, lets throw bouncer and sentry into the mix.

As you probably already know, bouncer is the tool that powers the “download now” link on www.mozilla.org. Bouncer is a database back ended request-to-random-mirror distributor, for joy. Sentry is a script that checks mirrors integrity and adds/removes it from bouncers database.

The new way (using Firefox 1.5 as an example):

  • 0: the release lands on the staging server
  • 0.02 seconds later: Sentry sends off requests provoking each of the mirrors to grab the freshest of data
  • 7.23 or so minutes: Sentry finishes its checks and updates the bouncer database.
  • 7.24 minutes: The favorite news site picks up the link, and all our happy users download the latest release at ultra snappy speeds.

Well, look what we have here! After roughly 10 minutes (in theory) we have gotten our bits out the mirrors, made sure the data is legit, AND have records for where each users got their release (for the most part).

Technically, this all is achievable. Bouncer and Sentry are in use right now, with 2.0 coming out soon. The only non-trivial part is turning mirrors into pseudo-caches. Probably could be done with a mod_cache/proxy combo… maybe another mod_foo is in order for apache.

I meant this to be an RFC. Thoughts? Is this loony? Or is it already being done somewhere?

Oh yeah, forget about true FTP users.