BaroqueW

BaroqueW

and his sidekick nikkitaa

BaroqueW RSS Feed
 
 
 
 

Posts tagged France

Corsica: the Lodgings

You may be wondering how we lived our lives on Corsica, far from our computers and cell phones. (Well okay, we had our phones, but I only turned mine on for 2 minutes to wish Jenny a happy birthday and then turned it off again super quick!)

interior of the boat

Wedged in with barely any space to get out of our van

Well first we had to take a boat with Corsica Ferries from Toulon (mainland France) to Ajaccio (on the island of Corsica). Since we were planning on getting around in the van Max’s oh-so-generous parents loaned to us, we needed to pull our van into the underbelly of the ship and park with cars wedged in all around us. Like sardines in a can.

CIMG6769

Nutella, a French staple

The ferry took 10 hours there only 6 on the way back for some reason. Which gave us plenty of time to do… nothing. I did get a cute photo of Max sitting on a chair that looks like a jar of Nutella*. I’m not sure that qualifies as productive activity. It was easier to tolerate on the way TO Corsica, since we had a big lovely cabin to ourselves.Our lovely cabin with luxury view!

 

boat cabin

Our cabin with its luxury view!

The cabin had 4 beds – the couch rolls around so that it becomes a bed, and there are two more beds folded into the walls as you can see, and a little writing desk. There was also a bathroom with a shower, toilet and sink. For the first time ever in our joint cruising experiences we got a window that was actually a window worth having. It was so peaceful looking out on the ocean. In the morning we could see the rocky islands begin to appear showing stark sheer cliffs. What a wonderful way to wake up. Even if they do require you to get out of the cabin at 6am.

Our first campground, Camping Barbicaja, was… well… uninspiring. It was well-shaded… but that’s about all I can was positive about it. There were herds of feral skinny cats running around. The ground was barren and hard, under the pine trees. The laundry drying line couldn’t dry anything, since the shading was so thick in our rock lined terrace/forest. The shower area was filthy and I kept my sandals on out of fear of planters warts – and the lights went out about 5 minutes after you press the button. You basically just have time to get to your shower stall and be half-naked when all goes dark.

camping 1

You can't see it, but we have a tiny baby gas stovetop in the back for cooking!

Although the van was fitted with a mattress (quite ingeniously, actually, with storage under the mattress and shelves over the foot of the bed in the back) we had a tent which we set up to mark our place at the camping lot.

We stayed there out of pure laziness, really. We noticed that almost everyone camped around us only stayed for one night, which is never a good sign. After three nights, we finally decided we’d had enough. So while out on our “day trips” around the island, we randomly picked a camping place. When I say “randomly” what I really mean is that I told Max every single time we passed a camping place every day of the trip, and he decided that he would deign to go down a tiny little road out to a camping place not listed in our many many many travel guides. That camp ground, A Marina, turned out to be WONDERFUL.

It was only about 30 minutes from Ajaccio and far superior in every way. It had amenities we didn’t even dream of in our first hovel of a camping ground. They had a small store which sold, amongst other things, chilled rosé wine – a must in southern France – and ice-cream! They also had an on-site pizzeria/restaurant, a washer/dryer, clean brightly lit bathrooms, wide open fresh spaces for each lot and IT WAS ON THE BEACH!

You heard me! ON THE BEACH! We could listen to the ocean in our sleep, and take an after dinner stroll in the sunset dusted waters along the shore. It was our new base camp for the rest of the trip and I strongly recommend it to anyone who wants to go to Corisca!

*The picture is crooked because this computer refuses to turn images, it only turns them for the program, not the actual file. 

sunset

Nothing as romantic as a sunset on the beach... or so they say

  • Share/Save/Bookmark
Category: Articles in English, Voyage / Travel | Comments (3)

Corsica: The Animals

Ants

Ants always persevere

While I would love to upload all the photos of all the animals, I’m extremely hindered by this extremely low quality computer connection. It seems that the camera is taking pictures that are of too good quality, it takes ages to try to convert them to something lower – and then they refuse to be adjusted. So pooh. It also somewhat dampens my idea of blogging every day and putting up pictures, since it takes hours and hours and hours of struggle to get anything up (no inuendo intended.)

But I will persevere! Inspired by the ever pervasive ants. The field outside of one of our campsites was literally crisscrossed with barren paths where the ants had cut a swath through it. 

That said: let the blogging begin!

Goats

Goat Crossing!

Corsica was GREAT! Plenty of tiny winding roads, clear blue sea, tiny fishes (of which I have no pictures since I don’t have that kind of camera), goats, turtles, tortoises, churches, dragonflies, birds, cats, dogs, néolithique standing stones, boats, sand, pebbles, waterfalls, cliffs and CARS. Seriously, people park like madmen in Ajaccio. However, this particular little blog will focus on the animals.

wild pig

He's so big, he dwarfs the car in the back. 250kg at least and freaking HUGE.

As you may or may not be aware, Corsica is famous for its cheese, charcuterie, and wine. Quite a lot of that cheese comes from goats. Cute tiny little goats that are actually herded from pasture to pasture, across the tiny twisty Corsican road you’re trying to navigate with your giant camping van. And then they sneak off to the side of the gate to nibble on some tastey bushes before bleating and throwing themselves along with the rest of the herd. They’re adorable. Goat cheese is also my absolute favourite kind of cheese, possibly since I couldn’t digest regular milk as a baby and had goat’s milk instead. Mmmm unpasturized French goat cheese.

Tortoise eyeballing me

Tortoise eyeballing me

Another well-known delicacy is wild pig, which is not to be confused with wild boar as wikipedia does. Wild boar is sanglier, and they feature in the popular Asterix comic universe. Wild pigs, on the other hand, are called cochon sauvage and are much more closely related to domestic pigs than boars. They also seem to have a complete lack of fear for human beings, as this one digging around near a parking lot near Vizzavona. Some are only half-wild, and have been let loose to gorge on chestnuts, acorns and truffles to improve the quality of the meat.
 

turtles on a stick

Turtles... on a stick (Jeff Dunham rules!)

People seem to let their dogs wander loose in the city, and the cats are nearly feral but quite happy to take a bit of your sausage. We found out that the cats at A Cupulatta – the City of Turtles, were actually put to good use as hunters to protect the tortoises from the ravages of rats while they hibernate.

Babies

Babies eating frisée lettuce

The reserve is the center for breeding and protecting turtles and tortoises, as well as rescuing the illegally trafficed and healing the injured. 
You can also view the tiny baby turtles that are kept separately for their protection against predation. They’re so tiny and adorable, like itty bitty button helmets!

 

IMG_1200

Corsican dragonfly in a rare moment of rest

Of course, the park is not only a haven for useful cats and turtles. Birds, dragonflies, frogs and fish all make use of this refuge – as well as hot, sweaty followers of A’tuin!

One last creature has no name, because no one knows what in the heck it is. Is it even living? Thousands of them were floating around near the beach by Porto. After a lot of fear, I managed to get in the water with them – and don’t seem to have suffered any ill effects. But the weird little blue blobs were not fun to swim with and definitely spoiled the experience. At least they weren’t sharks! I had spotted a jellyfish out in the water, but these weren’t jellies.

what the hell

Mysterious blue blob in the sand (thousands more in the water)

what the hell 2

Max daring to hold the blob and photograph it for posterity




























If you know what they are, feel free to leave a comment!

  • Share/Save/Bookmark
Category: Articles in English, Voyage / Travel | Comments (7)

France 2009: Day 1

Airports…

It’s amazing how much Stockholm’s Arlanda airport has grown over the years. It was a baby airport with grandious plans 10 years ago, when I moved to Sweden. I miss the simplicity of just walking past a security desk manned by one bored looking fellow – even though I was invariably singled out for inspection. Apparently I look suspiciously innocent.

The vacation has barely begun and I have already spent 2000sek. I didn’t have headphones that are viable for use on an airplane (thanks in part to Dexter chewing on wires and in part to my astounding ability to lose and misplace objects.) 

So I am now the proud owner of a set of Philips SHN9500 active noise canceling headphones  and I shutter at the idea of checking how much

Philips active noise canceling headphones

 I was gouged for on pricerunner. They work wonderfully well though!

 They’re also much more comfortable than the alien ear invasion technology Max favours. Depeche Mode, Kidney thieves, Christophe Willem and the sountrack of Serenity melt my brain in a gentle padded embrace and tune out the migraine inducing hum of the airplane engines. Aaaah. 

Of course the headphones also have a “mute” feature, so  you can allow sound in (and it cuts off your music as well) and hear announcements. Thus I was able to find out that the plane that had been scheduled for our flight was found to have “too many” problems, and thus we now had a completely different plane last minute (hence the delay in boarding) and that this plane was “perfectly good”. Thank you so much for putting me at ease by telling me about problems I knew nothing about, so that I can now obsessively wonder if I’ll be on the next French plane to vanish into nothing

On a somewhat happier note, I’ve started my “summer school” French lessons by working in my excercise book. With Max’s helpful supervision I have learned many useful things. For instance, I can now inform you that la grêle means “When the sky is pooping ice-cubes.”

  • Share/Save/Bookmark
Category: Articles in English, Voyage / Travel | Comments (3)

Météo en Ruby

Il y a quelque temps j’avais fait un script pour fournir des données météorologiques sur IRC (pour la France seulement). Malheureusement, le script a été rendu caduque par un changement du site Météo France sur lequel il se basait. En voici la nouvelle version.

Ce script remplace feu MeteoqueW (PHP et TCL) par une version Ruby, histoire de s’amuser, mais surtout histoire de fournir un serveur qui se chargera de traduire les pages Météo France en quelque chose de plus simple pour le nouveau script TCL (qui du coup n’aura plus besoin de télécharger et analyser les pages Web lui-même – thin client, nous voilà !). Le script TCL sera détaillé dans un autre article comme il sert seulement d’interface avec un eggdrop pour IRC.

Ci-dessous le code du script Ruby :

Notez que j’ai dû enlever les apostrophes des expressions régulières pour que le texte s’affiche proprement ci-dessous.

#!/usr/bin/ruby
# = Meteo CGI application
#
# Meteo CGI application, formerly MeteoqueW (PHP, TCL) provides a text version of Meteo France’s weather forecast for one specific location
#
# This location is passed in argument with the parameter ‘ville’ (HTTP GET)
# Other parameter is ‘html’ to display in HTML with line breaks or in plain text, lines being separated by _
# Last parameter is ‘verbosity’ (v) to display more or less information: 0 hides winds and detailed weather forecast, 1 show detailed weather
# forecast, 2 and above shows everything.

require ‘net/http’
require "cgi"
require ‘extend_string’
require ‘uri’

# UNICODE
$KCODE=‘u’

# Web server informations
$host = ‘france.meteofrance.com’
iphost = ‘160.92.186.20′
pathprefix = ‘/france/accueil/resultat?RECHERCHE_RESULTAT_PORTLET.path=rechercheresultat&query=’
pathsuffix = ‘&type=PREV_FRANCE&satellite=france’

# Used if we do not find the city
$failure = false

# Class to store a resulting weather forecas
class Meteo
   attr_accessor :maindays, :times, :temperatures, :refreshsrc, :weathers, :winds, :windspeeds, :windpeaks, :location, :html

 # Found new time entry, let’s add it
 def add_time(object)
     object.gsub!("soiree", "soirée")
     object.gsub!("apres-midi", "après-midi")
     object.gsub!("aujourdhui", "Aujourd’hui")
     object.gsub!(‘  ’, ‘, ‘)
     @times.push(object)
 end

 # Found new mainday entry, let’s add it
 def add_mainday(object)
     @maindays.push(object)
 end

 # Found new temperatures entry, let’s add it
 def add_temperature(object)
     @temperatures.push(object)
 end

 # Found new weather entry, let’s add it
 def add_weather(object)
     object.gsub!("eparses", "éparses")
     object.gsub!("eclaircies", "éclaircies")
     object.gsub!("leger", "léger")
     @weathers.push(object)
 end

 # Found new wind entry, let’s add it
 def add_wind(object)
     @winds.push(object)
 end

 # Found new windpeak entry, let’s add it
 def add_windpeak(object)
     @windpeaks.push(object)
 end

 # Found new windspeed entry, let’s add it
 def add_windspeed(object)
     @windspeeds.push(object)
 end

 # Make sure to create the arrays
 # If html = 0 then no html output
 def initialize(html)
   @html = html
   @times = Array.new
   @weathers = Array.new
   @winds = Array.new
   @maindays = Array.new
   @windspeeds = Array.new
   @windpeaks = Array.new
   @temperatures = Array.new
 end

 # Format nicely the results
 def display (verbosity = 0)
   k = maindays.length

   # HTML display
   if html != ‘0′
     line = "<b><u>Météo à #{location}</u></b>"
     if verbosity.to_i > 0
       line += " (Actualisé à #{refreshsrc})"
     end
   puts "#{line}<br/><br/>"
   puts "<b>Tendances :</b><br/>"
    for x in (0..k-1)
      line = "#{maindays[x]} : #{weathers[x]} (#{temperatures[x]})"
      if verbosity.to_i > 1
        line += ", #{winds[x]}"
        if !windspeeds[x].include? "-"
          line += " à #{windspeeds[x]}"
        end
        if !windpeaks[x].include? "-"
            line += " avec des rafales à #{windpeaks[x]}"
          end
      end
    puts "#{line}<br/>"

    end
    if verbosity.to_i > 0
      puts "<br/><b>Météo détaillée :</b><br/>"
      for x in (k..k + times.length1)
        line = "#{times[x-k]} : #{weathers[x]} (#{temperatures[x]})"
        if verbosity.to_i > 1
          line += ", #{winds[x]}"
        end
      puts "#{line}<br/>"
      end
    end
   # Plain text display
   else
       line = "Météo à #{location}"
       if verbosity.to_i > 0
         line += " (Actualisé à #{refreshsrc})"
       end
     line += "_"
     line += "Tendances :_"
     for x in (0..k-1)
       line += "#{maindays[x]} : #{weathers[x]} (#{temperatures[x]})"
       if verbosity.to_i > 1
         line += ", #{winds[x]}"
         if !windspeeds[x].include? "-"
           line += " à #{windspeeds[x]}"
         end
         if !windpeaks[x].include? "-"
             line += " avec des rafales à #{windpeaks[x]}"
           end
       end
     line += "_"
     end
     if verbosity.to_i > 0
     line += "Météo détaillée :_"
       for x in (k..k + times.length1)
         line += "#{times[x-k]} : #{weathers[x]} (#{temperatures[x]})"
         if verbosity.to_i > 1
           line += ", #{winds[x]}"
         end
       line += "_"
       end
     end
     puts "#{line}"
   end
 end

end

# Gets the correct page with the weather forecast
#
# One redirection 302 is OK, not 2
#
# If we get a 200 OK reply, fetch the first link, as we got a multiple-answer result
def fetch(uri_str, exec = 0)

response = Net::HTTP.get_response(URI.parse(uri_str))

# Check answer
case response
  # If we get a proper reply from server
    when Net::HTTPSuccess     then

            if exec == 0

            body = response.body

            firstfound = /.france.meteo\?PREVISIONS_PORTLET.path=previsionsville.\d{6}/.match(body)

            fetch(‘http://’ + $host + firstfound.to_s, exec + 1)

          elsif exec == 1

            response.body

          end

    when Net::HTTPRedirection then

            if exec == 0
              fetch(response[‘location’], exec + 1)
            elsif exec == 1
              response.body
            end

    else
            error()
end
end

# analyze the resulting body from the requested page
def analyze(text)

  #find name of city
  ville = /<p class="city"><strong>([a-zA-Z0-9 ;&amp;-]+)<.strong>/.match(text)

  # If there is indeed a city found
  if !$1.nil?

    ville_locale = $1
    arrondissement = /([0-9])+eme/.match(ville_locale)
    num_arrondissement = $1
    if !$1.nil?
      $meteoresult.location = ville_locale.gsub(num_arrondissement + "eme", num_arrondissement + "ème")
    else
      $meteoresult.location = ville_locale
    end

    refresh = /<p class="refreshed"><em>Actualise a ([0-9][0-9]?h[0-9][0-9]?)<.em>/.match(text)
    $meteoresult.refreshsrc = $1

    #find main days and general forecast
    name_of_maindays = text.scan(/<a class="lienAtmographe" style="cursor:pointer;">([&amp;;a-zA-Z -]+)<.a><.td><td class="temperatures"><img alt="([a-zA-Z -]+)" src="meteo.pictos.web.CARTE.[0-9]+.[a-zA-Z0-9 -_]+" title="[a-zA-Z -]+".> (-?[0-9]+°C . -?[0-9]+°C)<.td><td class="winds"><img alt="[a-zA-Z0-9 -]+" src="meteo.pictos.web.SITE.[0-9]+.[a-zA-Z0-9 -_]+" title="([a-zA-Z -]+)".> ([0-9]+ km.h|-)<.td><td class="winds2"> ([0-9]+ km.h|-)<.td><td class="borderRight"><.td><.tr>/)
    flat_maindays = name_of_maindays.flatten

    i = 0
    while i < flat_maindays.length
      $meteoresult.add_mainday(flat_maindays[i].to_s)
      i += 1
      $meteoresult.add_weather(flat_maindays[i].to_s)
      i += 1
      $meteoresult.add_temperature(flat_maindays[i].to_s)
      i += 1
      $meteoresult.add_wind(flat_maindays[i].to_s)
      i += 1
      $meteoresult.add_windspeed(flat_maindays[i].to_s)
      i += 1
      $meteoresult.add_windpeak(flat_maindays[i].to_s)
      i += 1
    end

    #find days and forecast
    name_of_days = text.scan(/<tr class="([a-zA-Z 0-9]+)"><td class="borderLeft"><.td><td class="firstCol">([&amp;;a-zA-Z -]+)<.td><td class="temperatures"><img alt="[a-zA-Z -]+" src="meteo.pictos.web.SITE.[0-9]+.[a-zA-Z0-9 -_]+" title="([a-zA-Z -]+)".> (-?[0-9]+°C)<.td><td class="winds"><img alt="[a-zA-Z0-9 -]+" src="meteo.pictos.web.SITE.[0-9]+.[a-zA-Z0-9 -_]+" title="([a-zA-Z -]+)".>/)
    flat_days = name_of_days.flatten
    trimmed_names = flat_days.collect {|x| x.gsub(/currentLine\d/, )}

    i = 0
    while i < trimmed_names.length do
      $meteoresult.add_time(trimmed_names[i] + ‘ ‘ + trimmed_names[i+1].downcase!)
      i += 2
      $meteoresult.add_weather(trimmed_names[i].to_s)
      i += 1
      $meteoresult.add_temperature(trimmed_names[i].to_s)
      i += 1
      $meteoresult.add_wind(trimmed_names[i].to_s)
      i += 1
      #$meteoresult.add_windspeed(trimmed_names[i].to_s)
      #i += 1
      #$meteoresult.add_windpeak(trimmed_names[i].to_s)
      #i += 1
    end
  else
    $failure = true
  end
end

cgi = CGI.new

# HTML headers
# Present, even in case of error, if html!=0

if cgi["html"] != ‘0′
  puts "Content-Type: text/html"
  puts
  puts "<html>"
  puts "<head>"
  puts "<title>Météo</title>"
  puts "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />"
  puts "<link REL=\"icon\" HREF=\"/temp/meteo/MeteoqueW/favicon.ico\">"
  puts "</head>"
  puts "<body><p>"
else
  puts "Content-Type: text/plain; charset=UTF-8"
  puts
end

# If we receive the argument (ville) properly
if cgi.has_key?(‘ville’)

    if !cgi["ville"].empty?
      # Fetch the argument and sanitize it
      ville = cgi["ville"]

      # Create a connection and request file
      path = pathprefix + CGI::escape(ville) + pathsuffix

      reply_body = fetch(‘http://’ + $host + path)

      $meteoresult = Meteo.new(cgi["html"])

      analyze(reply_body.removeaccents())

      v=0

      if cgi.has_key?(‘v’)
        if !cgi["v"].empty?
          v = cgi["v"]
        end
      end

      if !$failure
           $meteoresult.display(v)
      else
        puts "Ville introuvable"
      end
    # If we don’t receive the argument (ville) properly
    else
        puts "Vous n’avez pas précisé la ville"
    end
    else
        puts "Vous n’avez pas précisé la ville"
end

    # Closing HTML tags
if cgi["html"] != ‘0′
    puts "</p></body>"
    puts "</html>"
end

Le code est accompagné d’un peu de Rdoc. Je ne suis pas bien sûr de son utilité dans le cas présent mais c’est toujours intéressant de maintenir un semblant de documentation sur tous ses projets.

Le code fourni est à placer dans le dossier ‘cgi-bin’ de votre serveur Web. Les paramètres d’entrée sont respectivement ‘ville’, ‘v’ et ‘html’ pour le nom de la ville (ou code postal) pour lequel trouver la météo, le degré de verbosité de la réponse (0, 1, 2) et le format de retour (plain text avec chaque ligne séparée par un _ à cause de l’utilisation conjointe avec le script TCL pour IRC).

À noter, la classe interne “Meteo” qui stocke les données et en gère l’affichage après analyse par la fonction du même nom.

Vous pouvez télécharger la librairie ‘extend_string.rb’ sur http://www.techniconseils.ca/en/scripts-remove-accents-ruby.php.

Si vous utilisez ce script, merci de me laisser un mot ! Merci également de toujours référer à mon site si vous modifiez ce script.

Creative Commons License
MeteoqueW by http://www.baroquew.info/wordpress/archives/meteo-en-ruby is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 2.0 France License.

Dans un futur article, je ferai une petite introduction à Ruby basée sur ce script.

  • Share/Save/Bookmark
Category: Articles en français, Tech >> Computer | Comments (5)

Vacationing in Provence

Pont du GardSénanque AbbeyFrance is a lovely place to be. No, really, it is. Well, I can only speak for southern France, but so far I’m pleased to be able to report that it’s lovely both for the scenery and the people. I’ve visited the gorgeous ancient Sénanque Abbey surrounded by lavender. (A tip for future female visitors, learn to pee standing up because even in the women’s bathroom, the toilets more closely resemble urinals, as there is nothing between you and porcelain.)

Sahara - French style Fairy Chimney

I’ve visited ancient Roman aqueduct/bridges (Pont d’Avignon which only half exists and Pont du Gard which is magnificent), and I’ve been to the famous outdoor Sunday market of L’Isle-sur-la-Sorgue. I’ve visited La Fontaine de Vaucluse and even seen the ocre tinted Chimney of Fairies (Cheminée des Fées) and the so-called Sahara in Rustrel.

Today, however, I took a more active route to sightseeing. I went kayaking down the Sorgue River! With BaroqueW and Madame and Monsieur BaroqueW (his parents). Canoe with an aqueduct

Our instructor informed us that doubling in a kayak is a test of a relationship, because you have to work together in complicated ways to get things to go in the right direction. We nearly mowed down a duck. Several times. What does that say about us?

Canoës on the Sorgue riverIt was organized chaos, and incredibly fun. Our group had the coherency of a message board run by rabid Nazis who enjoy dressing as nuns and visiting Disneyland in their free time. People swerved around randomly, zigzagging from one side of the river to the other. One boy jumped from his kayak and landed with the grace of a paraplegic antelope in the water to retrieve a lost paddle. Did I mention this “tour” is listed as being good for beginners? It’s 8km long and takes approximately 2 hours to complete. We had two small man-made dams to climb over and pull our kayaks after us, both managed without mishap. We did manage to get stranded on rocks twice, but with 32˚C(90˚F) weather, the chilly 13˚C(55˚F) water felt refreshingly wonderful so I didn’t mind jumping out to get us free.

Canoës on the Sorgue river

We got to glide under an aqueduct and past the famous water wheels of L’Isle-sur-la-Sorgue. As I previously mentioned, there were ducks trying to eat lunch, with their tiny baby ducklings in tow. We managed not to mush any, but it was a close call.

It was also a workout as we desperately paddled to try to avoid trees or whirls of water, but at the same time it was very relaxing and peaceful. You can listen to the cicadas and the birds while admiring gorgeous dark blue dragonflies that come to rest on your boat. We even floated past a few donkeys that came down to the riverbank for refreshment. If you’re ever passing through the region, I strongly recommend giving “canoë-kayak”ing a try.

Donkey

  • Share/Save/Bookmark
Category: Articles in English, Voyage / Travel | Comments (2)

Status

  • BaroqueW ecoute desproges dans les fjords
    1 day ago
  • BaroqueW : it is in fact NOT funny to point people in the wrong direction when they're lost
    2 days ago
  • BaroqueW : iphone 3gs, July 31st in Sweden - according to Telia
    3 days ago
  • BaroqueW had a quick look at the book keeping of the holidays... gloups
    4 days ago

Popular posts

My Social Networks

DandyID 43 Things Clipmarks coComment Dailymotion Delicious deviantART Digg Diigo Facebook Flickr Get Satisfaction Guitar Hero HelloTxt Hulu ICQ Imdb Imeem Kiva last.fm Linkedin Netvibes orkut PeoplePond Picasa Plaxo PostCrossing RockBand Scribd Stumbleupon Tagged TripAdvisor Twitpic Twitter Xbox LIVE YouTube

Expand the experience

Blogroll

Internet Map

Meta