Troy Forster

Musings on technology, environment and adventure

Pages

Recent posts

Tags

Categories

Navigation

Archive

Blogroll

Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

(Not) Paris to Ancaster

Our annual spring kick-off ride will be happening in a few weeks and I can't wait. In honour of Ontario's ultra-boring Paris-to-Ancaster race we will be riding the alternative Not-Paris-to-Ancaster event (sometimes known as le Tour de Muffin). The ride starts in Caledon East and follows the local rail trail West to Winston Churchill boulevard and then turns north for a long gradual climb up the escarpment. It then turns East through Belfontain and a wicked hair-pin decent past the Forks of the Credit river. A few Km further along it starts to zigzag South and East eventually returning to the rail trail for the last blast back to Caledon. The total distance is around 50Km with the pace varying from easy to sprint-a-licious. However, nobody is ever left behind (apart from Dave and his flat tubeless tires). This year we are going to head over to the Hockley Valley Brewery for post ride refreshements. The ride happens on Sunday, April 22 at 10:00am sharp! Meet at the (former) Lil' Miss Muffins roadside coffee shop adjacent to the rail trail in Caledon East.
Digg It!DZone It!StumbleUponTechnoratiRedditDel.icio.usNewsVineFurlBlinkList
Posted: Mar 30 2007, 12:07 by tforster | Comments (0) RSS comment feed |
  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Filed under: adventure

Risk Analysis: The Longevity of Mashup APIs

Everyone knows that saying "you get what you pay for". So when we start using any one of the hundreds of web based APIs for free what sort of assumptions can we make about it? For instance:
  • How long will it be around?
  • If it changes how will I be notified so I can change and test the code in my application?
  • What if my application receives so many hits that it overwhelms the server I am mashing up to?
  • Can I realistically use this API (which will solve all my problems and cost me nothing) in my application?
While I have played with a few of the available APIs I find it very difficult to consider using them in any of my applications. And this includes applications I am architecting for my employer as well as some of my smaller, non-profit community applications I am building in my spare time. My concern is that someone offering web services, data and an API at no cost has no real obligation to me as the consumer of that information. While it is in the best interest of some of the larger players to maintain their API (think Amazon, eBay, etc) the smaller organizations could decide to take down their provision at any time if they feel they are not getting anything back from it or perhaps their limited bandwidth is being exceeded. At the minimum this could result in a severe disruption in service for my users. For that matter, how can I make any statement of service or availability to my users if I am depending upon external services themselves not providing this statement. Perhaps we need to see an emergence of a standard SLA that gets published much the same way a privacy statement is. If the provider of the API communicates their intended service level then consumers of that API can make a more informed decision. Unfortunately, I think the type of information that would need to be disclosed would often be considered confidential and proprietary.
Digg It!DZone It!StumbleUponTechnoratiRedditDel.icio.usNewsVineFurlBlinkList
Posted: Mar 20 2007, 01:26 by tforster | Comments (0) RSS comment feed |
  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Filed under: web-20

JRSSON or J-RSS: Why we need a javascript format for RSS

I have been using xml and xslt for over a decade now and find it a great format for exchanging data between systems.  I used to use it for sending data between a web server and browser in my "corporate" days.  All of my work back then was for various fortune 500's where the browser was dictated to be IE so transforming xml using the msxml libraries was a cinch.  Fast forward to now where I'm designing Ajaxified cross platform web applications and suddenly xml can't be used.  The cross-domain issues and non-standard transformation support make xml consumption a nightmare at best.

This is becoming a bigger issue for me (and many others I suspect) as I try to dynamically load and consume RSS feeds cross-domain.  So now I am investigating a simple solution - JSON.  JSON data can be easily obtained from other domains and it can be queried in a similar fashion to xpath by simply walking the object/property structure. 

Today almost all RSS syndicators are publishing in the traditional XML format so it is necessary to parse RSS to JSON somehow.  Hopefully this will change and a complimentary javascript format will emerge.  In the mean time I am going to find/build some tools that will perform this transfer on the fly.

My first such tool uses Yahoo Pipes to grab the headlines from the Ajaxian RSS feed.  I have published a stupidly simple Pipe that can be found at http://pipes.yahoo.com/pipes/pipe.info?_id=_osFeI7W2xGPFy3cqGIyXQ.  It takes one parameter; the URI of a feed and simply retrieves and returns the contents of the feed.  The cool thing is Pipes can be forced to output in JSON format rather than XML by simply setting the _render querystring variable to "json".

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Untitled Page</title>
</head>
<body>

</body>
</html>
<script language="javascript" type="text/javascript">
var pipeCallback;
var data;
function pipeCallback(d) {
data = d;
console.debug(d);
var arts = d.value.items;
for (var i=0; i<arts.length; i++)
{
var a = document.createElement("a");
a.setAttribute("href", arts[i].link);
a.innerHTML = "<h1>" + arts[i].title + "</h1>"
var dv = document.createElement("div");
dv.innerHTML = arts[i].description;
document.body.appendChild(a);
document.body.appendChild(dv);
}
}
</script>
<script type="text/javascript"src=" http://pipes.yahoo.com/pipes/pipe.run?urlinput1=http%3A%2F%2Fwww.ajaxian.com%2Findex.xml&_id=_osFeI7W2xGPFy3cqGIyXQ&_render=json&_callback=pipeCallback"></script>

Next I am going to build an XSLT to transform an RSS file to its JSON equivalent.

Digg It!DZone It!StumbleUponTechnoratiRedditDel.icio.usNewsVineFurlBlinkList
Posted: Mar 20 2007, 01:05 by tforster | Comments (0) RSS comment feed |
  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Filed under: javascript

Web 3.0: When Web Sites Become Web Services

This article talks about the continued growth of web APIs and how they are critical to the next evolution of the www. Link to Web 3.0: When Web Sites Become Web Services
Digg It!DZone It!StumbleUponTechnoratiRedditDel.icio.usNewsVineFurlBlinkList
Posted: Mar 19 2007, 22:57 by tforster | Comments (0) RSS comment feed |
  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Filed under: web-20

Look before you ski?

Meant to post this ages ago. A few weekends ago I was in Hepworth at Andrew's cottage. We went into Owen Sound to ski around Inglis and brought our friend Cameron with us. There is a boulder strewn stream bed that flows down the escarpment that is a bitch to ride in the summer. In the winter it is equally hairy on cross-country skis. The following clip was taken on my Fuju FinePix 510 so please excuse the choppiness. [youtube=http://www.youtube.com/watch?v=Bks3Wo7Kg2E]
Digg It!DZone It!StumbleUponTechnoratiRedditDel.icio.usNewsVineFurlBlinkList
Posted: Mar 10 2007, 14:08 by tforster | Comments (0) RSS comment feed |
  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Filed under: adventure

Windows Vista Sidebar Thingie

When I got my new Vista laptop the first thing I did was fix all the crap that it ships with from Dell. That includes removing that virus called Norton Trial Edition, setting the terrible start menu back to classic view and turning off the Sidebar. Well, I didn't turn the sidebar off immediately. I stupidly thought that it would have some sort of auto-hide feature and would popout of the side of my screen when the mouse point reached it's extent. I mean, why would you possibly want to take up valuable screen real-estate 100% of the time? Anyway, I just re-enabled it out of curiousity and noticed the Wordpress gadget. That feature I like. Now if only I can figure out how to get a shortcut to the gadget into my start menu so I can use this nice little applet on demand. I'll post more here once I figure that out. I'm sure it's easy but right now I'm already late for Kate and Bruce's wedding. update: The pictures from  Kate and Bruce's wedding have been uploaded to my Flickr account (see sidebar for links).  And more importantly I have disabled the Windows Sidebar.  The only useful feature was the Wordpress gadget which quite honestly I could just as easily get to from the Start menu if it was an app so why bother with running the Sidebar all day. I have since installed Microsoft's Windows Live Writer beta along with plugins for Firefox and VisualStudio 2005.  It's a simple app that allows me to create posts offline and synch them to my wordpress blog when they are ready to publish.  The VisualStudio plugin allows me to select code and blog it right away, with formatting.  And the Firefox plugin lets me blog pages directly from the browser.
Digg It!DZone It!StumbleUponTechnoratiRedditDel.icio.usNewsVineFurlBlinkList
Posted: Mar 10 2007, 14:00 by tforster | Comments (0) RSS comment feed |
  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Filed under: vista