. */ # Known/outstanding issues: # [UNCONFIRMED ISSUE] Plugin seems to keep pinging when importing an XML/WXR file even if pinging is disabled # Plugin does not seem to report any errors if it cannot write to the log file (see E2 blog for example) function SUP_add_options_page(){ if(function_exists("add_options_page")) add_options_page("UP Smart Update Pinger", "UP Smart Update Pinger", 5, basename(__FILE__), "SUP_show_options_page"); } function SUP_show_options_page(){ global $logfile; $ping = get_option("SUP_ping"); $pinglog = get_option("SUP_pinglog"); $uris = get_option("ping_sites"); $forcedpings = false; $SUP_output_log=''; $pingservicesnow = "Ping Services Now!"; $deletelogfile = "Delete Log File"; if(isset($_POST["ping"]) && $_POST["ping"] == $pingservicesnow){ $forcedpings = true; SUP_log(SUP_ping_services($forcedpings).strftime("%D %T")."\tForced pinging services (Homepage)\n\t─────\n"); }elseif(isset($_POST["submit"])){ $uris = $_POST["uris"]; $ping = 0; if($_POST["ping"] == 1) $ping = 1; $pinglog = 0; if($_POST["pinglog"] == 1) $pinglog = 1; update_option("SUP_ping", $ping); update_option("SUP_pinglog", $pinglog); update_option("ping_sites", $uris); echo '

Options saved.

'; }elseif(isset($_POST["delete"]) && $_POST["delete"] == $deletelogfile){ $fh = @fopen($logfile, "w"); if(false === @fwrite($fh, strftime("%D %T")."\tLog file deleted\n\t─────\n")){ update_option("SUP_error", 1); }else{ update_option("SUP_error", 0); } @fclose($fh); } $checked1 = ''; if($ping == 1) $checked1 = 'checked="checked"'; $checked2 = ''; if($pinglog == 1) $checked2 = 'checked="checked"'; echo '

Ultimate Plugins Smart Update Pinger

Click here for installation instructions

Click here for usage instructions

Click here for updated versions

Click here for comments and suggestions

URIs to Ping

The following services will automatically be pinged/notified when you publish normal or future timestamped posts. Not when you edit previously published posts, as WordPress does by default.

This plugin also fixes an issue with the default extended ping programming in Wordpress and pre-2.1 versions of Smart Update Pinger (it now includes the url of the new post).

NB: this list is synchronized with the original update services list.

Separate multiple service URIs with line breaks:

Ping log

These are the last 100 actions performed by the plugin. In reverse chronological order for easier reading (latest ping first).

'; SUP_get_last_log_entries(500); echo '

'; } # telling WordPress to ping if the post is new, but not if it's just been edited function SUP_ping_if_new($id){ global $wpdb, $post_title; $SUP_output_log="\t─────\n"; $SUP_ping_result=''; $forcedpings = false; if(get_option('SUP_ping') == 1 && trim(get_option('ping_sites')) != ""){ # fetches data directly from database; the function "get_post" is cached, and using it here will get the post as is was before the last save $row = mysql_fetch_array(mysql_query( // "SELECT post_date,post_modified,post_title,guid FROM $wpdb->posts WHERE id=$id")); "SELECT post_date,post_modified,post_title FROM $wpdb->posts WHERE id=$id")); # if time when created equals time when modified it is a new post, otherwise the author has edited/modified it if(!$row["post_title"]){ $SUP_output_log=strftime("%D %T")."\tNOT Pinging services (ERROR: YOU HAVE FORGOTTEN TO ENTER A POST TITLE) ...\n".$SUP_output_log; }else{ if($row["post_date"] == $row["post_modified"]){ $SUP_output_log=strftime("%D %T")."\tPinging services (New normal post: “".$row["post_title"]."”) ...\n".$SUP_output_log; $SUP_output_log=SUP_ping_services($forcedpings,get_permalink($id)).$SUP_output_log; # Try commenting the line above, and uncommenting this line below if pinging seems to be out of order. Please notify the author if it helps! # generic_ping(); }else{ // Post has been edited or it's a future post // If we have a post title it means that we are in the normal WP loop and therefore it was an edit (not a future post) if($post_title){ $SUP_output_log=strftime("%D %T")."\tNOT Pinging services (Existing post was edited: “".$row["post_title"]."”) ...\n".$SUP_output_log; }else{ $SUP_output_log=strftime("%D %T")."\tPinging services (New timestamped post: “".$row["post_title"]."”) ...\n".$SUP_output_log; $SUP_output_log=SUP_ping_services($forcedpings,get_permalink($id)).$SUP_output_log; # Try commenting the line above, and uncommenting this line below if pinging seems to be out of order. Please notify the author if it helps! # generic_ping(); } } } }else{ if (trim(get_option('ping_sites')) != ""){ $SUP_output_log=strftime("%D %T")."\tNOT Pinging services (WARNING: DISABLED BY ADMINISTRATOR)\n".$SUP_output_log; }else{ $SUP_output_log=strftime("%D %T")."\tNOT Pinging services (WARNING: EMPTY PING SERVICES LIST)\n".$SUP_output_log; } } SUP_log($SUP_output_log); } # More or less a copy of WP's "generic_ping" from functions.php, but uses another function to send the actual XML-RPC messages. function SUP_ping_services($forcedpings,$SUP_guid = ''){ $SUP_output_log=''; #$services = get_settings('ping_sites'); #UP - 17.07.07 - get_option is newer/better then get_settings $services = get_option('ping_sites'); $services = preg_replace("|(\s)+|", '$1', $services); // Kill dupe lines $services = trim($services); if ( '' != $services ) { $services = explode("\n", $services); foreach ($services as $service) $SUP_output_log=SUP_send_xmlrpc($forcedpings,$SUP_guid,$service).$SUP_output_log; } return $SUP_output_log; } # A slightly modified version of the WordPress built-in ping functionality ("weblog_ping" in functions.php). # Original version: #function weblog_ping($server = '', $path = '') { #global $wp_version; #include_once(ABSPATH . WPINC . '/class-IXR.php'); #// using a timeout of 3 seconds should be enough to cover slow servers #$client = new IXR_Client($server, ((!strlen(trim($path)) || ('/' == $path)) ? false : $path)); #$client->timeout = 3; #$client->useragent .= ' -- WordPress/'.$wp_version; #// when set to true, this outputs debug messages by itself #$client->debug = false; #$home = trailingslashit( get_option('home') ); #if ( !$client->query('weblogUpdates.extendedPing', get_option('blogname'), $home, get_bloginfo('rss2_url') ) ) // then try a normal ping #$client->query('weblogUpdates.ping', get_option('blogname'), $home); #} # This one uses correct extendedPing format (WP does not), and logs response from service. function SUP_send_xmlrpc($forcedpings,$SUP_guid = '',$server = '', $path = ''){ global $wp_version; $SUP_output_log=''; include_once (ABSPATH . WPINC . '/class-IXR.php'); // using a timeout of 5 seconds should be enough to cover slow servers (changed from 3 to 5) $client = new IXR_Client($server, ((!strlen(trim($path)) || ('/' == $path)) ? false : $path)); $client->timeout = 5; $client->useragent .= ' -- WordPress/'.$wp_version; // when set to true, this outputs debug messages by itself $client->debug = false; $home = trailingslashit( get_option('home') ); # The extendedPing format should be "blog name", "blog url", "check url" (the new URL), and "feed url". # Related Website(s) # http://www.weblogs.com/api.html # An example: # Someblog - Title # http://spaces.msn.com/someblog - Home URL # http://spaces.msn.com/someblog/PersonalSpace.aspx?something - Check/New URL # http://spaces.msn.com/someblog/feed.rss - Feed # Changed the following line therefore: # if($client->query('weblogUpdates.extendedPing', get_settings('blogname'), $home, get_bloginfo('rss2_url'), get_bloginfo('rss2_url'))) if ($forcedpings){ # If this is a forced ping it's better to use a regular ping for the homepage without an update URL (safer) if($client->query('weblogUpdates.ping', get_option('blogname'), $home)){ $SUP_output_log=strftime("%D %T")."\t► [Regular Ping] ".$server." was successfully pinged\n".$SUP_output_log; if (get_option('SUP_pinglog') == 1){ $SUP_output_log=strftime("%D %T")."\t►► Blogname: '".get_option('blogname')."'\n".$SUP_output_log; $SUP_output_log=strftime("%D %T")."\t►► Homepage: '".$home."'\n".$SUP_output_log; } }else{ $SUP_output_log=strftime("%D %T")."\t► ".$server." could not be pinged. Error message: “".$client->error->message."”\n".$SUP_output_log; } }else{ if($client->query('weblogUpdates.extendedPing', get_option('blogname'), $home, $SUP_guid, get_bloginfo('rss2_url'))){ $SUP_output_log=strftime("%D %T")."\t► [Extended Ping] ".$server." was successfully pinged\n".$SUP_output_log; if (get_option('SUP_pinglog') == 1){ $SUP_output_log=strftime("%D %T")."\t►► Blogname: '".get_option('blogname')."'\n".$SUP_output_log; $SUP_output_log=strftime("%D %T")."\t►► Homepage: '".$home."'\n".$SUP_output_log; $SUP_output_log=strftime("%D %T")."\t►► Updated : '".$SUP_guid."'\n".$SUP_output_log; $SUP_output_log=strftime("%D %T")."\t►► RSS URL : '".get_bloginfo('rss2_url')."'\n".$SUP_output_log; } }else{ # pinging was unsuccessful, trying regular ping format if($client->query('weblogUpdates.ping', get_option('blogname'), $home)){ $SUP_output_log=strftime("%D %T")."\t► [Regular Ping] ".$server." was successfully pinged\n".$SUP_output_log; if (get_option('SUP_pinglog') == 1){ $SUP_output_log=strftime("%D %T")."\t►► Blogname: '".get_option('blogname')."'\n".$SUP_output_log; $SUP_output_log=strftime("%D %T")."\t►► Homepage: '".$home."'\n".$SUP_output_log; } }else{ $SUP_output_log=strftime("%D %T")."\t► ".$server." could not be pinged. Error message: “".$client->error->message."”\n".$SUP_output_log; } } } return $SUP_output_log; } $post_title = ""; # Receives the title of the post from a filter below function SUP_post_title($title){ global $post_title; $post_title = $title; return $title; } # Log $logfile = ABSPATH . 'wp-content/plugins/ultimate-plugins-smart-update-pinger/ultimate-plugins-smart-update-pinger.log'; function SUP_log($SUP_log_output){ global $logfile; $logerror = 0; $fh = @fopen($logfile, "a"); if(false === @fwrite($fh, $SUP_log_output)){ update_option("SUP_error", 1); }else{ update_option("SUP_error", 0); } @fclose($fh); } function SUP_get_last_log_entries($num){ global $logfile; $lines = @file($logfile); if(get_option("SUP_error") == 1){ $fh = @fopen($logfile, "a"); if(false === @fwrite($fh, "")){ echo "Error writing log file (".$logfile."). Most likely your logfile (".$logfile.") is write-protected and no log data can be saved (change the rights of this file to 777), or alternatively this could mean that you have manually removed the log file, or that you have changed the directory or file name of the plugin (they both should be 'ultimate-plugins-smart-update-pinger')"; }else{ // Original: $lines = array_slice($lines, count($lines) - $num); // Modified to show in reverse order (easier for reading) $lines = array_reverse(array_slice($lines, count($lines) - $num)); $msg = ""; foreach($lines as $line){ $msg.=trim($line)."
"; } echo $msg; } @fclose($fh); }else{ if($lines === false){ echo "Error reading log file (".$logfile."). Most likely you have manually removed the log file, or alternatively this could mean that the logfile (".$logfile.") is read-protected (change the rights of this file to 777), or that you have changed the directory or file name of the plugin (they both should be 'ultimate-plugins-smart-update-pinger')"; }else{ // Original: $lines = array_slice($lines, count($lines) - $num); // Modified to show in reverse order (easier for reading) $lines = array_reverse(array_slice($lines, count($lines) - $num)); $msg = ""; foreach($lines as $line){ $msg.=trim($line)."
"; } echo $msg; } } } # adds a filter to receive the title of the post before publishing add_filter("title_save_pre", "SUP_post_title"); # shows the options in the administration panel add_action("admin_menu", "SUP_add_options_page"); # calls SUP_ping whenever a post is published add_action("publish_post", "SUP_ping_if_new"); # calls SUP_ping_draft when changing the status from private/draft to published # add_action("private_to_published', 'SUP_ping_draft'); # removes the "WordPress official" pinging hook remove_action("publish_post", "generic_ping"); # activates pinging if setting doesn't exist in database yet (before the user has changed the settings the first time) if(get_option("SUP_ping") === false){update_option("SUP_ping", 1);} if(get_option("SUP_pinglog") === false){update_option("SUP_pinglog", 1);} if(get_option("SUP_error") === false){update_option("SUP_error", 0);} ?> Videos | Kite 2012
Saturday, April 27, 2024

Kite 2012

Kitesurfing News Year 2012-2016!

Archive for the ‘Videos’ Category

Tom’s kitchen episode 4

Posted by kite2012 On May - 14 - 2016

Tom Hebert is with no doubt one of the most “stylish” kite riders and a great source for inspiration. There are three previous episodes of Tom’s Kitchen and they are all great and fun to watch! Episode 2 is probably my own favourite, but number 4 is also excellent! A video that deinitely deserves to be posted here on Kite 2012!

We Love Kiteboarding

Posted by kite2012 On April - 22 - 2015

This is a great compilation of some kitesurfing videos. You will probably recognize some scenes from other videos you have seen over the past years. Still this a great video that summarizes what kitesurfing is all about.

Te Tainui Kitesurfing Video by F-One

Posted by Emma Pat On November - 19 - 2014

When we hear ‘Tahiti’, it’s like our mind automatically relaxes and we envision paradise. And that’s actually not far from the truth because of it’s spectacular view, it truly is a magical place. Tahiti is the largest island in the windward group of French Polynesia. The island is located in the archipelago of the Society Islands in the central Southern Pacific Ocean, and is divided into two parts: The bigger, northwestern part Tahiti Nui and the smaller, southeastern part Tahiti Iti. It is composed of 118 islands with rugged mountain peaks, coral reefs, blue lagoons, white sand beaches and luxurious resorts, there’s definitely something for everyone.

The most popular place for kitesurfing is Motu Martin (a good spot for beginners) which is not far from Papenoo wherein you can find waves for all levels. Taapuna is also a good place to visit since it’s a large lagoon with great free ride conditions. If you’re looking for a challenge then head over to Sapinus and Maraa, both of which are for more experienced kiters. Teahupoo, despite its beauty, is known for being one of the most notorious spots world wide. Baie Phaeton and Vairao are two of the more beautiful places you can kite, the former offers easy-going conditions in a shallow lagoon and the latter is ideal for wave riders.

We stumbled upon a video made by F-ONE KITES and I have to say that they captured the essence of Tahiti on video, of course there’s no substitute for the real thing but this one comes in a close second. In the beginning of the video it was peaceful and as it went on they showed how the kiters lose themselves completely in the sport, how they become one with everything. The second part of which shows the friendships and the bond that’s formed when you’re with people who have the same passion. Even if you’re not a rider, you’d definitely appreciate all the work they put into it and their love for the sport shines through.

 

Watch the video and see for yourself!

“Once again the F-ONE team went off to discover new landscapes and live an extraordinary adventure.

Raphaël SALLES put on his captain’s hat for the time of a far-off journey to meet his Tahitian team and experience the magic surrounding their idyllic islands. Accompanied by his faithful sidekicks as well as newcomers, they went on to board two catamarans for 25 days of pure happiness in another world.
Tahiti is well and truly as you can imagine: wild, powerful, with the force of the ocean being ever-present and where sharing and wisdom are common values within a whole people.

Riders : Mitu MONTEIRO, Poenaiki RAIOHA, Robinson HILARIO, Micka FERNANDEZ, Marie SWITALA, Aude LIONET CHANFOUR, Alexandre CAIZERGUES, Filippe FERREIRA, Manutea MONNIER, Rémi QUIQUE, Patrice CHANZY, Raphaël SALLES.”

Red Bull King of the Air 2015 – Rule the Sky

Posted by Emma Pat On November - 17 - 2014

“Once word went out and the sport started to blow, that’s when Red Bull approached us with doing an event and that’s when we came up with the name ‘King of the Air’ and it stuck because at that time it was all about getting big air and the wow factor”  -Joe Keuhi

The first Red Bull King of the Air competition was held at Ho’okipa in Maui around year 2000 and at that time there were only a number of kiters who joined. It was still part of kite surfing’s experimental stage where in everything was so new, unexplored and yet to be tested. As the years progressed so did the equipment and the number of followers. Now kite surfing is considered the fastest growing water sport with 1.5million surfers and counting.

2015 can’t come any faster -at least that’s what kiters all over the world are thinking. Red Bull’s King of the Air competition is coming up and we’re all excited! It’s South Africa’s biggest kite competition where 24  kiters  (top 12 from the previous year and the other 12 from video submissions -8 of which will be picked according to online rankings and 4 from coming from the event committee) compete for the title. It will be held at Cape Town, Big Bay, Blouberg on Jan. 31 to Feb. 15, 2015 and all you need to do is upload a minute long video of you doing some sick air moves. Fill out the application form and you’re done! view the full mechanics here.

Last year’s jump records were:

1. Tom Hebert – 25.04m

2. Andris Fourie – 23.33m

3. Kevin Langeree – 21.55m

4. Jerrie Van De Kop – 21.41m

5. Billy Parker – 20.22m

6. Reno Romeo – 18.89m

7. Luke McGillewie – 18.51m

8. Jesse Richman – 17.83m

9. Gianni Aragno – 17.58m

10. Graham Howes – 17.30m

Final Result:

1. Kevin Langeree (NED)

2. Ruben Lenten (NED)

3. Steven Akkersdijk (NED)

4. Andries Fourie (RSA)

5. Aaron Hadlow (GBR)

5. Jesse Richman (USA)

7. Tom Herbert (FRA)

7. Billy Parker (USA)

Although not everything is fun and games. Extreme sports have their risks and with the added pressure of competing against other kiters. There have been some incidents and one of the more popular one is when Tom Herbert came down too hard from a big jump (at least 25meters in the air) and crashed. In an interview with North Kiteboarding he said “I arrived late to the kicker which put me off balance straight away. At 25 meters high and mid rotation I saw that my kite was pointing down towards the water. I lost all orientation and had very little control. I tried to correct it and get it right but it was too late.”. According to African Extreme there were other two rumoured injuries, one by Jessie Richman (King of the Air 2013) who was said to have had anything from a torn ACL to a bad fracture, the other one would be Oswald Smith, and this would be more of a rumour than anything, was said to have had difficulties moving his head to either side. Accidents and injuries are a part of it all, especially when you want to achieve something great.

 

 Check out some of this year’s wild card:

https://vimeo.com/109142802

Visit the Red Bull site for more!

A new video from Kite 2013

Posted by kite2012 On March - 20 - 2013

Kite2013 has released a new video. Check it out here!

Kitesurfing in Mexico from kite2013 on Vimeo.

What do to when it´s not too windy

Posted by kite2012 On October - 11 - 2012

Days with light wind can easily turn in a battle with the kite. Pumping the kite up and down like a freak in the struggle to gain some height is frustrating. Make one trick and you´ll lose all the height you’ve managed to get over the last 5 minutes! Why not lenghten the lines a bit and enjoy an awesome ride, just make sure that you have some space for launching and landing :)

How to film yourself while kitesurfing

Posted by kite2012 On October - 6 - 2012

Do you like to film yourself while you´re kitesurfing? Who doesn’t? It´s fun to watch afterwards while you can see the mistakes you´re doing. Last, but not least, you can edit the filming and put it online! Just merge the few tricks you actually land, supplement some shooting from the car and your walk from the parking lot to the beach, add some music and you´ll have a cool video that you can share on facebook! There is just one problem… who is going to film all this stuff? Your girlfriend might stand for you one or two times before she gets bored and cold. And your kitesurfing buddy will probably not agree to stand in the water throughout your whole session… Of course you can mount your GoPro somewhere and nails the tricks right infront of the camera all the time. Imagine if the GoPro would follow every move you made… in fact that is fully possible by using a tripod from soloshot.com! Watch this video with Tom Court and you´ll get a grip over what´s possible to do with this soloshot!

EPIC ATTACK 4 – The Sickest Video Ever!

Posted by kite2012 On September - 26 - 2012

Dimitri Maramenides delivers again! Epic Attack 4 is probably the best kitesurfing video published in year 2012! This video is almost 10 minutes long, but it will keep your eyes glued to the screen while your jaw drops to the floor!

Kiteloop Crash

Posted by kite2012 On September - 22 - 2012

Beany is not the guy that bails out on kiteloops, he is rather the one that rush into the water when the wind is picking up! One day he got out in the water when it was quite gusty… During an attempt to jump and loop the kite a gust hit him with such power that the bar got ripped out of his hands, which never is fun, especially not when you´re 3-4 meters above the surface!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Cross the Atlantic ocean by a kite!

Posted by kite2012 On September - 21 - 2012

Imagine crossing the Atlantic ocean, starting from the Canary islands and arrive 6000 kilometers later in the Carribeans. Is this possible for one man? The answer is probably no =)
But if you are 6 dedicated and crazy people, then yes!
The man behind this insane project is Filippo van Hellenberg Hubar, that got a vision in his hands one day when he was taking a shower, the schampoo in his hands looked like Africa and South America, thinking “OMG, I will cross the Atlantic ocean on a kite!”

But Filippo van Hellenberg Hubar can’t do this project alone for obvious reasons, so he has invited a number of professional kitesurfers. Currently Ruben Lenten, Susi Mai and Lou Wainman are game, two riders are still unknown…

More info on https://www.enablepassion.com/

Kickass video with Alex Bournay!!

Posted by kite2012 On September - 13 - 2012

One of the best videos I´ve seen in a long time! Alex Bournay is a cool rider that doesn’t fear height, just check out his incredible jumps in this video! Some kiteloops added to this video and it would be a 10 pointer! Great editing and choice of music on top of the awesome action! As you will see Alex Bournay is riding with a Best GP, so here is also some free promo for you BEST! ;)

Insane kite jump over pier

Posted by kite2012 On September - 11 - 2012

After surfing all day with the wind reaching 45 knots in, Elias’s friend was happy to jump in the car to go back home without any injures from all the kitesurfing that day. Elias Seadi was of another opinion… Elias came with the brilliant idea to jump over the platform Tramandai, which today has never been jumped before by a kiteboarder. Not believing but at the same time agreeing, Elias’s friend then asked him Elias to call his friends, who they had been surfing together with during the day, to come in for safety factor. And thanks to all the energy of the crowd on the beach, on September 4 Seadi Elias opened the Pier Beach Tramandai (RIO GRANDE DO SUL, BRAZIL) jumping 9.5 m high, exceeding its limits.

Youri Zoon Demo Days

Posted by kite2012 On September - 7 - 2012

Youri Zoon has currently been hosting a kite camp in Neretva river, Adriatic sea, Croatia, which is said to be one of the best kiteboarding spots in the world, but I guess that´s what most locals say about their own spot. Anyway, this is a pretty nice video with some good action, for instance some crazy dude that climbes up on a bridge using the power from his kite. There are also some scenes of the recurring “sausage parties” that we usually see in context with kitesurfing competitions and kite camps like this one. Girls, please start kitesurfing so that the atmosphere stop being so damn gayish! ;)

Switch Kites – Nitro 2

Posted by kite2012 On September - 4 - 2012

Felix Pivec and Marc Jacobs show what Switch kites nitro 2 is capable of! The Switch Nitro 2 is a high performance kite designed to be used with ease and safety. The Nitro 2 is a good kite for beginners considering its easy water relaunch, satbility and depower. more advanced riders will also enjoy this kite, just look at Felix and Marc!

Tom’s kitchen episode 4

Posted by kite2012
May-14-2016 I Comments Off on Tom’s kitchen episode 4

We Love Kiteboarding

Posted by kite2012
Apr-22-2015 I Comments Off on We Love Kiteboarding

Te Tainui Kitesurfing Video by F-One

Posted by Emma Pat
Nov-19-2014 I Comments Off on Te Tainui Kitesurfing Video by F-One

Red Bull King of the Air 2015 – Rule the Sky

Posted by Emma Pat
Nov-17-2014 I Comments Off on Red Bull King of the Air 2015 – Rule the Sky

A new video from Kite 2013

Posted by kite2012
Mar-20-2013 I Comments Off on A new video from Kite 2013

What do to when it´s not too windy

Posted by kite2012
Oct-11-2012 I Comments Off on What do to when it´s not too windy

How to film yourself while kitesurfing

Posted by kite2012
Oct-6-2012 I Comments Off on How to film yourself while kitesurfing

Kiteloop Crash

Posted by kite2012
Sep-22-2012 I Comments Off on Kiteloop Crash

Cross the Atlantic ocean by a kite!

Posted by kite2012
Sep-21-2012 I Comments Off on Cross the Atlantic ocean by a kite!