HDR Playtime Feb26

HDR Playtime

Over the past 2-3 years I’ve started to invest a little more time in the art of photography; trying to capture that perfect shot that epitomises the feeling and scenery that I see infront of me, get the awe and wonder of nature into a little rectangular world for others to see, and to try and convey the natural beauty of some of the places that I’ve frequented on my travels. More often than not I fail quite miserably, but this hasn’t stopped me progressing and looking at new techniques to try and advance the craft. Which is why about a year ago a photo and corresponding article on HDR photography caught my attention. HDR (high dynamic range) photography is basically the art of taking 3 photos of the same scene, at different exposure levels, to capture the full dynamic range of colours. Or as wikipedia likes to say: “High Dynamic Range Imaging (HDRI or HDR) is a set of methods used in imaging and photography to allow a greater dynamic range between the lightest and darkest areas of an image than current standard digital imaging methods or photographic methods. HDR images can represent more accurately the range of intensity levels found in real scenes, from direct sunlight to faint starlight, and is often captured by way of a plurality of differently exposed pictures of the same subject matter” In its basic functionality / my basic process flow it’s taking a photo 3 times, at different exposure levels, overlaying them in a nifty little program and playing with some levels to get your desired result. Around 90% of the time I find that I’m not sure if I like the HDR version more than the original, but now and again the new full dynamic ranging photo seems to work out beautifully and I’m...

Valentines Card Fun Feb22

Valentines Card Fun

Han has always had a light-hearted gripe at me about how I don’t buy cards for people to celebrate or commiserate birthdays, anniversary’s, christmas and the like, and how this also includes her loving sweet self. So this year for Valentines I thought I would surprise her and make her a big amazing card to wow her and make her realise I put in a lot of thought, time and effort into these things. Ok, ok …… I need to stop, I’ve already lied ….. 6 times, no wait, 7 times, in that last paragraph. “Tell the truth Nick” says the little white angel on my right shoulder. Fine. So, I was wondering around Dollarama on the 13th February wondering what I could get Han to supplement her cool teapot that I had bought her for Valentines – she likes Tea, and this one comes with a cup that fits over the lid. Yes you read that right – a cup that fits over the lid. I know – amazing right! Anyway, turns out that after picking up the ‘grow your own tomato plant’ seed packet, and the ‘decorative baking tins’ I looked down at what I was carrying and saw, well, a ‘grow your own tomato plant’ seed packet and some decorative baking tins, and I figured that I needed something with a little more substance. And then I wandered into the baby section and saw some stickers of giraffes. “Han likes Giraffes …. ” I thought with a smile on my face. I’m going to get her some stickers of giraffes. Back go the tomato plant and decorative baking tins (they were at least $8), and I carry on wandering with a great big smug ‘I’m the best boyfriend ever’ grin on...

Nike API PHP Example Feb20

Nike API PHP Example

Recently Nike released their developer site to give people a preview and a glimpse into how they will be able to access and export Nike data through their upcoming API. The problem being is that it’s still in development stage, and for users like me, who aren’t part of (or won’t be part of) their Nike+ Accelerator Program, it doesn’t actually give you access. But it does expose quite a few parts that with a little tinkering, console debugging, and help from the ol’ t’internet you can figure out the core concepts and key attributes and write your own PHP script. It returns the information in lovely JSON format which can easily be used and manipulated to your hearts content. [php] $curl_handle=curl_init(); $data = array(‘appid: fuelband’, “Accept: application/json”); curl_setopt($curl_handle,CURLOPT_URL,’https://api.nike.com/me/sport?access_token={access_token}’); curl_setopt($curl_handle,CURLOPT_CONNECTTIMEOUT,2); curl_setopt($curl_handle,CURLOPT_HTTPHEADER,$data); curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,1); $buffer = curl_exec($curl_handle); curl_close($curl_handle); if (empty($buffer)) { print “Sorry, something went wrong here”; } else { print $buffer; } [/php] Simple hey! The {access_token} is a personal ID related to your account, that you can generate from the Nike Developer Site. The URL can take various formats, depending what you want to grab, The URL above: [code]https://api.nike.com/me/sport[/code] Simply grabs an overview of my activity: [code] { “experienceTypes”: [ “ALL”, “RUNNING” ], “summaries”: [ { “experienceType”: “ALL”, “records”: { “lifetimeFuel”: 64631 } }, { “experienceType”: “RUNNING”, “records”: { “level”: 3, “lifetimeDuration”: “29:17:42.000”, “lifetimeGpsRuns”: 29, “lifetimeHeartActivities”: 0, “lifetimeAveragePace”: 348832.2388571808 } } ] } [/code] But you can also use these URL’s to get more information: https://api.nike.com/me/sport/activities 1 https://api.nike.com/me/sport/activities https://api.nike.com/me/sport/activities/%activityId% 1 https://api.nike.com/me/sport/activities/%activityId% https://api.nike.com/me/sport/activities/%activityId%/gps 1 https://api.nike.com/me/sport/activities/%activityId%/gps The last one giving you full GPS data of an activity. A big hats off to WotLabs that basically gave me the last piece of the pizzle, the...

Brain v Legs, The Never-ending Battle

It was only a week before that I crashed out of the Orcas Island 50km ultra-marathon trail race before I found myself stepping toe to toe with the some of best at the start line of the Vancouver First Half Half-Marathon last weekend. The week before I had thrown myself in for only my second (and determinedly not to be my last) 50km trail race, over on the scenic, beautiful, sun-shining Orcas island, only to find myself screaming in agony in an ambulance at the 32km aid station, and thus was a little trepiditious and nervous pre-race only a week later. My calves felt fine and I knew I was in good enough shape to not find myself placed among the DNF’s, but with my local running club supporting along the way (in-fact they organised the whole thing), and a PB of 1:22:59 only 1 month earlier, the usual pre-race nerves were finding themselves in unusual good spirits, unlike my usual joviality and throw-away nature which were lacking in humour. Luckily, as I found out later, resolve and stubbornness were also here for the party, and they were most welcome guests come finish time! I hoped however that as soon as that gun went off I could relax (?) into a good pace and grit on through to a good finish time. I was aiming for somewhere inbetween a 3:40 – 3:45km pace to start, knowing that it would give me a slight barrier for a 3:50-3:55 worst case scenario in the later part of the race and still hit my hopeful 1:21 – 1:23 finishing time. Double check of my shoe laces, re-tie for no other reason than nerves, re-check the watch, settle up behind Barry for the start, triple check the watch, pretend to know the Canadian national anthem, and ‘BANG’ we were off. As with all my races I get a little carried away in the first couple of km’s, the problem being that I can run 3:20 – 3:30 pace for a little while, and so it was after a couple of k, that I found myself on for a 3:35 average pace, knowing I was being a naughty runner, yet enjoying the space, freedom and speed that this pace gives. At mile 1 we passed the start line again and I waved to my adoring fans (ahem?), momentarily ran backwards for the camera (read – Han, Steve, Susan, Julia, David and other PRR members) and woke up to reality. “Ok Nick calm down, relax, being slower is just fine, you’ll appreciate me telling you this later on” noted the reliable, sensible brain. “But I feel fine right now, lets carry on like we are .., wahey look at me go, I’m flying man” responded the amnesic race legs. And so it was for the first 3-4 km that I battled between the physicality of the race, and the mental knowledge of what was to come. By km 5 though one of my fellow PRR running buddies, Barry Young, was pulling away sufficiently for my competitive nature not to get caught up in a race I couldn’t win, and I started to hit that race-pace that I hoped I could sustain for another 16km. By km 7 my hopes of staying in touch with Ellie Greenwood were dissipating as well as her ultra-trail legs pulled her onwards away from sight, and so it was that any runners I knew were gone from my vision and I could concentrate on my own pace, and my own race. A lesson I suspect I need to learn, and one alone that experience will hopefully teach me. The next 8-9km were fairly normal and uneventful (as half marathons go) as I found myself settling behind ‘Mr Light Blue Top’ and probably thoroughly annoyed him as I let him lead me on a 3:45-3:50 pace without ever taking the brunt...