So.

Is it as fun as it used to be?

End of the Road

I’m blogging over here now. It’s the end of the road for this blog.

I’ll leave the content up indefinitely, there are some pages still getting traffic.

Written by hutch

December 17, 2009 at 1:59 am

Posted in Site Information

James Johnston to Hannah Suffel, 27th April 1851

Lady,

The honour of a devoted heart now beating with hope now trembling with anxiety is offered to you – is yours. Reject it; scorn it, it is yours – I do not write to tell you that I can love you that I wish to love you that I ask the privilege to love you, I write simply to tell you that I do love you and that which a passion so ardent a feeling so profound that in spite of all the obstacles which interpose, I have been compelled to venture this declaration.

To say that you are beautiful, graceful, accomplished – that you are fair and lovely – that you are admirable in all that makes women admired is but to echo the words or embody the thoughts of all around you – All acknowledge your attractions but I feel them and I cannot be so false to my own heart as to conceal the emotions from the object to which they tend.

Lady my position is humble but not so are my aspirations and my hopes for I have dared to love you – I have not the gift of fortune yet I am seeking what the wealth of the universe could purchase from me – Your love let it be still as it has been the bright star of my destiny. Let it be the goal of my ambition and you shall see how bravely I will endeavor to deserve what I will aspire to the favour that can give unbounded happiness to.

Your devoted admirer

James Johnston

They were married eight months later.

James hand wrote this himself, in startlingly good penmanship. The letter is frequently on display at [Upper Canada Village](http://www.uppercanadavillage.com/home.htm) — ‘Upper Canada’ is an old name for the province of Ontario Canada.

They were my great-great-great-grandparents (maybe another great in there). I have no real information beyond that, other than, I suppose, they had at least one child :-)

Written by hutch

December 30, 2008 at 7:20 pm

How To Destroy Page Rendering Performance Using Just Javascript and CSS

So. Did you know that a severe impact on browser rendering time can be caused by CSS and javascript not playing nicely together? Rendering on different browsers varies by a factor of about 20 times (or whatever factor you want). I sure didn’t know.

And I have a “solution.”

So what is the situation? Consider an actual page from a webapp I’m developing. In FireFox the page loads and renders in something around 0.6 seconds. Safari loads and renders the same page in 12 seconds. This is not a contrived example.

What’s involved on the page? It displays summary information about all of the users of the webapp. The test data has 119 users. It uses [Blueprint](http://www.blueprintcss.org/) and the jQuery plugin [ListNav](http://www.ihwy.com/labs/jquery-listnav-plugin.aspx). I recommend them both, very nice. [ListNav](http://www.ihwy.com/labs/jquery-listnav-plugin.aspx) (check out the [demo pages](http://www.ihwy.com/labs/Demos/Current/jquery-listnav-plugin.aspx)) allows for easy navigation through a long list. [Blueprint](http://www.blueprintcss.org/) is a CSS framework for laying out a page using a grid (check it out, it has [demos](http://www.blueprintcss.org/tests/parts/sample.html) too), handles typography, and generally helps you make a page look decent. Blueprint works with <div>s, and ListNav wraps them up in <ul>s. Each user is represented by five <div>s within a <ul>.

On Safari, by changing the number of <div>s for each user I get:

user < div>s render time
1 0.5
2 2
3 4.25
4 7.5
5 12
6 18
8 32

To cut it short, if I remove the link tag to the Blueprint screen.css file in the header, the page renders almost instantly, even with 8 divs — but it looks like crap. There are a lot of things that are not the problem (I was “busy”, let’s say), and I don’t really want to go into it.

A few moments of thinking… what if I delay the application of the BlueprintCSS file? A little googling and I found some code in a JavaScript Kit tutorial: [Dynamically loading an external JavaScript or CSS file](http://www.javascriptkit.com/javatutors/loadjavascriptcss.shtml), which I simplified to:

function loadcssfile(filename){
  // thanks to http://www.javascriptkit.com/javatutors/loadjavascriptcss.shtml
  var fileref=document.createElement("link");
  fileref.setAttribute("rel", "stylesheet");
  fileref.setAttribute("type", "text/css");
  fileref.setAttribute("href", filename);
  document.getElementsByTagName("head")[0].appendChild(fileref);
}

$(document).ready(function() { var navOpts = { initLetter: 'a' };
                               $('#user-list').listnav(navOpts);

                               loadcssfile("blueprint/screen.css") // use a real URL here
                             });

This is (obviously) in the jQuery document ready function.

And it worked! In Safari. Not so well in FireFox. Sigh. In FireFox, this caused a rendering effect: the unstyled content would flash on the screen before being being styled. So, back to the webapp, and check the user agent, and only do this trick for Safari. Well, hold on. It is actually any AppleWebKit based user agent — OmniWeb screws up too. There’s probably others. Anyway, about 0.3s in Safari, obviously no change in FireFox, and I’m happy enough for now.

It all came down to a single link element in the page’s header.

Written by hutch

December 30, 2008 at 1:24 pm

How do You Find Banking Services?

How do you find banking services? Google, right? Maybe not.

Back in September my company did a bit of research into just how one might find banking services using web-based searches in Canada. You’d think this wouldn’t be an issue, but it is. And it doesn’t matter if you are looking for online services or branch services. We’ve summarised the problem and its impact in a press release:
60 Million Qualified Leads Untapped by Top Canadian Banks — Leading Canadian banks are missing a $300 million opportunity.

Alex Sirota, of NewPath Consulting had a look, and well, see for yourself what he thinks.

If you want, you can poke about Recursive’s website to see how we’d approach dealing with that problem and several kinds of (surprisingly) similar problems.

Written by hutch

November 4, 2008 at 7:42 pm

Posted in Business, Raconteur™

You Actually Have to Know Something Sometimes

So.

Roy Fielding, Mr. REST himself, writes a nice article about REST APIs and how they must be hypertext driven. I thought this was a pretty good article, and that I’d use it in the future when trying to explain REST APIs.

Apparently, not everyone agrees. It sounds as though Roy had a little bit of grief which is outlined nicely in this followup article.

Understandably, Roy isn’t pleased.

As you may have noted, my last post seems to have hit a nerve in various communities, particularly with those who are convinced that REST means HTTP (because, well, that’s what they think it means) and that any attempt by me to describe REST with precision is just another elitist philosophical effort that won’t apply to those practical web developers who are just trying to get their javascript to work on more than one browser.

Apparently, I use words with too many syllables when comparing design trade-offs for network-based applications. I use too many general concepts, like hypertext, to describe REST instead of sticking to a concrete example, like HTML. I am supposed to tell them what they need to do, not how to think of the problem space. A few people even complained that my dissertation is too hard to read. Imagine that!

Oh dear.

In the very first comment Dorian Taylor says:

With all due respect, I think you’re continually going to encounter that contingent that is expecting the bullet list of instructions, or even lazier, the screencast of ultra-practical steps to make the baubles twirl on their displays. My only consolation is the notion that this is probably just a symptom of the industrial age’s death rattle, and it’s anomalous that this behaviour is even considered acceptable.

Well, I don’t know how “ultra-practical” this video is, but it *is* from Joe Gregorio. Nice to see what Joe looks like. Oh, and it’s quite informative too, of course.

UPDATE: REST is UnAmerican, David Ing I think.

It’s long been our belief that REST and Roy Fielding has been palling around with Hypermedia. He barely denies it. But, my friends, let me tell you that no washed up PhD dissertation will dictate our request/response. He says it, in his own words – he talks about ‘constraints’, he toys with the idea of a transfer of ‘state’. My friends, in these times of economic crisis we need less State involvement, not more. REST doesn’t understand. Let’s give state transition back to the hard working people of the USA. Enough with this hypermedia socialism.

Written by hutch

October 28, 2008 at 10:34 pm

Posted in Software, webapps

A Tempting Solution to Bothersome Browsers

Using this plugin, your MSIE users will see your website with a grayscale color
This plugin helps people moving away from Internet Explorer: it turns
the colors of your website to a grayscaled version.

You can get it here

UPDATE: This was an attempt at humour, even though this plugin is so tempting it hurts… Nah! I’m resolved! I’m going to use it somewhere!

Written by hutch

October 27, 2008 at 7:26 am

Canada, still a backwater

Imagine this kind of crap provoking me into finally posting something new here.

RuinedIphone.com

I like the original URL better: www.FuckYouRogers.com

Written by hutch

June 28, 2008 at 7:29 pm

Posted in Canada

Follow

Get every new post delivered to your Inbox.