Clik Elite Contrejour 35 bag review
Jun 19, 2011 Photography
Recently I was in the market for a new camera bag. I had a Lowepro Slingshot 300 aw camera bag that was just over one shoulder. This bag was great for just carrying it around town and on short trips. However lately I had been noticing two issues with the bag. The first was that the top compartment zipper was constantly splitting and coming open so any gear inside had the potential to fall out without me knowing. The second issue was that the bag was constantly sliding around my waist while riding my motorcycle even with the waist strap on. Riding one handed on a motorcycle trying to adjust the bag as it slides is not the best thing to be doing. For those reasons I started looking for a new bag. I was looking for two main things in a new bag. The bag had to be a backpack style with two shoulder straps and a waist strap. The second requirement was that it had to have a side entry to the camera compartment. My cousin had purchased a couple of bags from Clik Elite and was saying a few things about his bag. I went to their website and checked things out but never purchased anything. After months of dropping the subject I went back to their site to see what they had. I was thinking that the Clik Elite Contrejour 35 was way to large of a bag and it was just outside of my price range. After a while I decided to check to see the measurements of that bag versus that of airline carry on luggage requirements. It is just slightly larger than carry on requirements but it should pass. I have not gotten a chance to test this yet though. I will be doing so later on in August when I take a trip down to the Houston Texas airshow. After seeing how close the measurements were I bought the Contrejour 35 instead of the Contrejour 40. I have taken the bag on several road trips to Baltimore Maryland, Washington DC and trips on the bike around Northern Indiana / Midwest Michigan. The bag was a little rough to carry around the first day because I was not used to carrying a backpack much any longer but after that everything feels great. Taking the bag on trips on the motorcycle is great as well. The last trip I took with it on the motorcycle it was raining fairly well. I put the rain cover on but because of the wind (70MPH on the highway) it did not like to stay on. I may have just not been pulling the elastic on the rain cover right enough but thankfully it is tethered so I did not completely lose it. I am considering getting industrial strength velcro and making two bands to go all the way around the bag at the top and in the middle for when I ride. Even with no rain cover on the bag held up nicely to the rain. My gear was all in plastic zip lock baggies just in case but everything was dry where the camera gear was. The only part that got wet inside was the top of the bag where the CF cards are stored and it was soaking into the material. Overall I rather enjoy this bag and will have it for some time. Below are a few pictures of the bag. To view larger view click on the picture.
Front and side views of bag:
Back view of the bag. Able to put hydration pack in the back. No problems holding a Canon 70-200mm f2.8 lens and several other lenses.
Side camera access. It is possible to get a camera with a battery grip in/out. The red piece in the unzipped area is a blanket. The main compartment goes all the way from the top to the bottom of the bag with access through the side of the bag. To fit a laptop in you need to slide it in from the top not the side.
Top compartment showing digital media storage areas and other little pockets. Main compartment has a large zippered bag that you can put gear in so it does not slide all the way to the bottom.
Updated:
I have had this bag for several months now. The more I keep using the bag the more I like the bag. Just this past weekend I went to the Wings over Houston air show in Houston Texas. I flew down with this bag and a small gym type bag for my luggage. No checked baggage for this trip at all. The backpack fit perfectly in the overhead bin no problems! Continental/United flights never even questioned if the bag was to large. After forgetting to empty a water bottle in the backpack and forgetting a fruit cup from the air show in my backpack I got stopped by airport security. They had to check my bag. It was so easy to walk the airport security guy where everything is and how to open the bag. He was impressed with how quick it was for him to search the bag. Then at the air show they check every bag coming in as well and it was a breeze. The only complaint I have is that I don’t go on enough trips. Will need to work on that one!
Tags: Camera Bag, ClikElite, Photography
Use Curl and PHP to check if website is up or moved
Jun 13, 2011 PHP Coding
Using the below code you can check to see if a website is up or not. There is an array of various HTTP codes that it can check for. The code will also determine if the website has something like a 301 redirect and then produce the redirected URL. This could be useful for link directories that want to check for URL’s that are no longer active or update their links if the URL has changed. With this code we are just showing the status code and then parsing out all status codes to show later on in the script. The script then compares the URL you are checking vs what the URL that the CURL script ended up on to determine if it was moved. The very last bit of this code is showing you the HTTP headers from the CURL request for viewing purposes only and can be deleted.
$toCheckURL = "http://www.wlscripting.com/tutorial/67"; // The domain name of the site you want to check // This all sets up the CURL actions to check the page $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $toCheckURL); curl_setopt($ch, CURLOPT_HEADER, true); curl_setopt($ch, CURLOPT_NOBODY, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_MAXREDIRS, 10); //follow up to 10 redirections - avoids loops $data = curl_exec($ch); $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); // Get the HTTP Code // Get final redirected URL, will be the same if URL is not redirected $new_url = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL); curl_close($ch); // Array of HTTP status codes. Trim down if you would like to. $codes = array(0=>'Domain Not Found', 100=>'Continue', 101=>'Switching Protocols', 200=>'OK', 201=>'Created', 202=>'Accepted', 203=>'Non-Authoritative Information', 204=>'No Content', 205=>'Reset Content', 206=>'Partial Content', 300=>'Multiple Choices', 301=>'Moved Permanently', 302=>'Found', 303=>'See Other', 304=>'Not Modified', 305=>'Use Proxy', 307=>'Temporary Redirect', 400=>'Bad Request', 401=>'Unauthorized', 402=>'Payment Required', 403=>'Forbidden', 404=>'Not Found', 405=>'Method Not Allowed', 406=>'Not Acceptable', 407=>'Proxy Authentication Required', 408=>'Request Timeout', 409=>'Conflict', 410=>'Gone', 411=>'Length Required', 412=>'Precondition Failed', 413=>'Request Entity Too Large', 414=>'Request-URI Too Long', 415=>'Unsupported Media Type', 416=>'Requested Range Not Satisfiable', 417=>'Expectation Failed', 500=>'Internal Server Error', 501=>'Not Implemented', 502=>'Bad Gateway', 503=>'Service Unavailable', 504=>'Gateway Timeout', 505=>'HTTP Version Not Supported'); // Check if we have a valid HTTP code from the above list if (isset($codes[$http_code])) { echo 'Website returned status code: '.$http_code.' - '.$codes[$http_code].'<br />'; // Get the headers from the $data to the $matches variable preg_match_all("/HTTP\/1\.[1|0]\s(\d{3})/",$data,$matches); array_pop($matches[1]); // Remove the last status that we just displayed above which should be 200 if (count($matches[1]) > 0) { // Loop through all other matches to see what other status codes we got foreach ($matches[1] as $c) { echo $c.' - '.$codes[$c].'<br />'; } } // Can use this to check if the URL is still the same as you checked // Or if the server has moved if ($toCheckURL != $new_url) { echo 'URL has now changed to: '.$new_url; } } // This is just to show you the headers of the website you are checking echo '<hr /><pre>'; var_dump($data); echo '</pre>';
I have commented the code a lot so you should have no trouble modifying the code.
