Recent Entries »

Completed the Mississauga Marathon!

On May 16th, I ran in the 7th annual Mississauga Marathon. This was my fourth marathon, and I’d decided to run it sometime back in March, after being unhappy with my result in the Toronto Good Life Marathon in October of last year. (Which I had run only two months after the Edmonton Marathon)

Though I had qualified for Boston during the Edmonton Marathon with a time of 3:02:50, I decided not to register for Boston after my poor performance in the Toronto Good Life race. I wasn’t sure I’d be ready again for another marathon in mid-April, and the timing with my schedule wasn’t ideal either.

However, by the start of February I was feeling better and started getting back into training mode. I had a May marathon in mind, which would give me a solid three months of training – more than enough considering the base level of training I’d maintained over the winter. However, I didn’t want to push myself and commit to something I couldn’t do – so I did not register until the end of March, when my condition was more certain.

And so when May 16th came, I was feeling pretty confident. I’d run the Sporting Life 10K two weeks before, finishing in 39:38, within my target time of a sub-40 minute run. I had a target time for this marathon of anything under 3:20, not enough to qualify for Boston since I didn’t want to push myself, since this was partly the result of why I’d done poorly at the Good Life Marathon last year.

The first three-quarters of the race went well, and I was able to maintain a fairly even pace, passing the halfway point at 1:33:55. While things went smoothly for the first 30 km, at about the 35 km mark I started feeling some slight leg cramps and had to slow things down. I lost quite a bit of time in the last 7 km, and managed to finish in 3:13:06, less than three minutes away from qualifying for Boston again.

While I was disappointed at coming so close to a qualifying time, overall I was happy with the result, having met my original target and improved substantially from my previous marathon. Despite this being my fourth marathon, I still feel that I’m very much a beginner at this, as I need to work on my overall race strategy, pacing and training if I want get more consistent results. I’ve thought about doing another marathon in the fall, perhaps the Toronto Waterfront Marathon (thus completing the GTA marathon three-pack), but I don’t want to push myself. I’ll see how the summer plays out.

Continued

Opera Mini approved by Apple for the App Store

On the heels of a controversial update to the iPhone SDK’s license agreement, Apple has unexpectedly approved Opera Mini for iPhone for distribution in its App Store.

Opera had previously announced that it had submitted its browser to the App Store for approval back on March 23rd, in an effort to drum up support for its inclusion in the App Store. Back then, many suspected it would likely be rejected on the basis of it duplicating built-in functionality on the iPhone, namely the included Safari web browser. (Though some questioned this analysis)

Whatever the reason, this comes as a surprise to many, especially given Apple’s most recent behaviour towards potential competitors and development on the iPhone in general. Nonetheless, let’s give Opera Mini for iPhone a quick test drive!

Continued

Triggering links from JavaScript using jQuery

Sometimes, you may want to trigger a link (that is, an anchor element) directly from JavaScript. That is, you may want to simulate the user clicking on the link programmatically.

If you’re using jQuery, you’ll no doubt be aware of the click() method which can be used to trigger that event on an object. One would think that executing click() on an anchor element would cause the browser to navigate to the URL, but this isn’t the case. You cannot use jQuery’s click() method to fully trigger or simulate a user clicking on a link.

Instead, click(), when executed on links, only seems to trigger any event handlers attached to the DOM element rather than any default behaviour. I’m not sure if this is the case with other event methods or other DOM elements.

The solution

Instead, the solution is to directly manipulate the window.location object from JavaScript. One would think that since preventing the default action is quite simple (with jQuery’s event.preventDefault()), triggering the default action of a link click would also be. But this isn’t the case. Here’s a simple example on how to simulate a user clicking on a link.

Continued