Archive for the 'uncategorized' Category

362 People

Monday, January 16th, 2006

If I were feeling a tad more Sam Harris-ish this morning I’d probably make a non-PC remark right about now. But I won’t.

I’m With Lessig

Monday, January 16th, 2006

In answer to John Battelle, I don’t think I can buy into Brian’s argument against Lessig on the Google Book Search case. Like Kelly vs Arriba, it seems clear to me that the snippets provided by Google as search results are in fact transformations of the original work that are not substitutable for the original work. Regardless of the fact that the scans are performed at a high dots-per-inch, or that the indexes cover the entirety of the text, when the snippets are presented to the user they are of lesser value precisely because they are snippets. By and large, the value of text is in the information it conveys, not in the clarity of the typeface in which it is presented, and when context is removed, as is the case with the snippets, the information provided by a particular piece of text is obscured, and the value is lessened.

BTW, I love the less-is-more deck that Lessig presents in his talk.

Update: From Brian’s comment below it seems I misunderstood his gripe, which was with the internal copies that Google are making for processing.

Really, you want to buy us?

Sunday, October 23rd, 2005

Just unwinding my “To Read” stack and came across a most excellent quote from Paul Graham’s latest essay:

If success probably means getting bought, should you make that a conscious goal? The old answer was no: you were supposed to pretend that you wanted to create a giant, public company, and act surprised when someone made you an offer. Really, you want to buy us? Well, I suppose we’d consider it, for the right price.

The Temporary Expert

Sunday, August 21st, 2005

If you read this blog you may notice that from time to time I tend to write short, obscure and deeply technical posts, like yesterday about dynamic JavaScript in Safari, or a few weeks ago about MySQL parameter substitution in Python, or back in May about installing MSDE over remote desktop. Why the randomness? Well, it’s part of my programmer community service.

Back at Gnomedex I was having lunch with Josh from TinyScreenfuls and somebody from Microsoft whose name I didn’t catch. Josh was talking about his evangelism of blogging and RSS inside Intel, and how he tries to convince people that even though there is a large set of stuff (IP related information, release dates, etc) that they might not be able to talk about, there is an even larger set of stuff that they can. At which point, our lunch mate from Microsoft remarked (and I’m paraphrasing horribly) that in all fields, but especially technology, every now and then we are all temporary experts. When you’re sitting at your desk on Tuesday afternoon with seven opened browser windows and a dog-eared O’Reilly book going deep on a particular problem, chances are good that for that brief moment you are one of a handful of people across the globe that knows as much as you do about the problem you’re trying to solve. For that brief moment you are a temporary expert. And a blog entry is a great way to bottle that knowledge up.

So excuse the randomness in some of my posts. I’m just trying to help some poor sod get through his Tuesday afternoon.

Ron Bloom’s PodShow Pitch

Sunday, August 21st, 2005

I just finished listening to the latest Gang where Ron Bloom outlines the challenge and opportunity for PodShow in light of their recent funding. Thus far I have had a bad impression of Bloom, he always seemed like the scheming villain behind Curry, but in this show he gives a really compelling pitch. In particular he talks about podcasting being able to take a shot at the radio advertising dollar where existing product is somewhat weak and stagnant. (As opposed to the digital/internet dollar which, between search and blogs and mainstream sites, is hotly contested.)

I still think, though, that putting together the technology and infrastructure to support advertising and sponsorship on such a large scale within a long-tail environment like podcasting is very non-trivial. So little text, so much production.

Safari JavaScript Oddities

Sunday, August 21st, 2005

One of the pieces of technology that we manage up here in comScore’s Toronto office is SiteRecruit, our website visitor recruitment software. Recently, despite the copious accolades, we discovered that parts of the software were not working correctly on the Mac when using Safari.

SiteRecruit is a fairly serious piece of software, as far as JavaScript software goes, and because we run on such high traffic sites it’s important that we’re as lightweight as possible, so one of the tricks that we use is to do a just-in-time script include, by dynamically adding a script tag to the document.

document.write('<script src="foo.js" />')

Safari seems to handle that fine. What it doesn’t deal with, however, is dynamically adding JavaScript code to the document itself, either through the DOM directly:

var body = document.getElementsByTagName('body')[0];
var script = document.createElement('script');
script.setAttribute('type', 'text/javascript');
script.setAttribute('language', 'JavaScript');
var someText = document.createTextNode('alert("foo")');
script.appendChild(someText);
body.appendChild(script);

Or by simply writing to the document:

document.write('<script>alert("foo")</script>')

Neither gets parsed or executed correctly. It’s a funny little corner of the browser to be working in. I wonder whether there are rules or specifications around adding inline JavaScript content to a document dynamically? My guess is that it’s a grey area, and the fact that you can do it in IE and Firefox is more a happy coincidence of the particular implementation than a conscious design decision.

So if you’ve landed here on the tail end of a Google search and are experiencing the same problem, apart from ending your misery quickly, I can’t help you. Luckily for us we generate our JavaScript programmatically with a tool that we’ve written (pictured above), so with a little effort we were able to factor some of the code that was being written dynamically into templates that end up as static JavaScript files.

Oh, and while I’m at it I have another odd Safari tidbit. The window object in pages opened with a target of _blank have no opener reference, so scripting between pages becomes difficult. A work-around is to open pages with window.open inside an event handler (so it doesn’t get blocked by popup blockers), which sets the opener correctly.

Note: If you’re reading this in an aggregator somewhere it’s likely that some of the content in the code examples above was stripped out. Writing about writing dynamic markup within markup that is getting XMLized and escaped all over the place is very meta and complicated. If you’re interested, just come and read on the site.

Image Scaling in .NET

Sunday, August 7th, 2005

A well written article and chunk of tutorial code by Joel Neubeck illustrating how to use C# and GDI+ to scale, crop and pad images. Exactly what I needed. (Or if all you need is a quick and dirty thumbnail, this 4GuysFromRolla article should do the trick.)

Links of Late

Sunday, August 7th, 2005

This week’s nutritious links:

  • APIs and SPIs and What I Like About REST - I meant to link to these a while ago. I sat a few seats down from Jeff at Gnomedex, and while I didn’t introduce myself, I did subscribe to his blog.
  • Dare vs Tantek - On the importance of microformats.
  • Hitting the High Notes - Joel digs into programmer productivity. An excellent piece. Timely too, we’re in the middle of interviewing at the moment.

The Micro Persuasion Podcast is Here

Sunday, July 3rd, 2005

I was just on my way home from dinner at a downtown noodle house and decided to give Steve Rubel’s first podcast a listen. I thought it was really good, and a great bite-size format. In fact I wish more podcasts were around the 10 - 15 minute length.

Steve talks a little about the Browse. Search. Subscribe! tagline that Microsoft were pushing at Gnomedex. The more I think about this the more I like it. It’s a very neat and concise way of giving regular people a point of reference as to where RSS and subscription fit into their world.

BTW, the noodles were from a cruisy little place called Izakaya (reviewed here). Highly recommended.

MySQLdb Only Supports %s for Parameter Substitutions

Sunday, July 3rd, 2005

For an unknown reason, or maybe no reason at all, the MySQLdb Python module only supports parameter substitution using %s. That means that regardless of the datatype you are passing in, you use %s. It’s dicussed further in this DB-SIG thread. (What the author of that post says makes a lot of sense, that is, the API should either support all of the format codes, or simply use a different paramstyle, like qmark.)

Multiple Numbers for SkypeIn?

Sunday, July 3rd, 2005

I’m a little surprised at the implementation of SkypeIn, specifically at the fact that the SkypeIn number that you buy is a number with a geographic location. Apart from a number that is slightly easier to remember, I can’t imagine why they wouldn’t have made it possible to simply call a generic local Skype number and then punch in a particular person’s SkypeIn number. I’m a little disappointed to be honest, it’s not nearly as neat a solution as I had envisioned.

SkypeIn Screenshot

Is there a technical or usability (more than simply having a shorter number) reason for it? Or is it simply a play to sell more numbers?

Gnomedex Thoughts

Monday, June 27th, 2005

Well, Gnomedex is over and I’m back in Toronto. I had a really good time - Chris puts on a good show. So, on with the obligatory wrap-up:

  • Dave’s keynote was good. I don’t know if I’m sold on the outliner yet. I’m increasingly an outliner guy, but I think my usage patterns fall within just a small subset of what Dave is trying to achieve, so I’m naturally biased to particular types of features. It just seems like there is a bit of solution-looking-for-a-problem going on. I don’t see (yet) what outlines are adding to blog editing or instant messaging.
  • The Longhorn announcement was great. Dean got a little short with some of the audience questions, but it was a tough crowd. I think they’re making absolutely the right move. I don’t know that I see it enabling new types of solutions, but it’ll certainly spur adoption among users and take care of a lot of the plumbing that developers have to do today. Having said that though, Longhorn still seems so far away…
  • The Simple List Extentions look really good. Simple, elegant and powerful.
  • The Seattle Public Library is a magnificent building. What a great place to hold a networking event. Especially when there is a table full of pt’s gadgets.
  • Speaking of pt, his hacking demo’s during the breaks were one of the highlights.
  • Julie Leung’s talk was amazing. I really wasn’t expecting that. Scoble put it perfectly when he said “You can HEAR the audience eating out of her hand.”
  • I thought people were a little tough on Steve Rubel. The ratio between information and sales pitch was definitely a little off, but I didn’t think it was that bad.

Thanks Chris!

Tags: , ,

Big Shot Horry

Monday, June 20th, 2005

What a bucket… Robert Horry is an enigma. Great game, great series.

The Good Looking Driver

Tuesday, June 14th, 2005

I agree with BusinessPundit, who disagrees with Christopher from The Social Customer Manifesto, who says that Seth Godin, in All Marketers Are Liars, is being disrespectful to consumers. It seems to me that Seth is simply making the observation that the “story” behind a product greatly influences the level of satisfaction that particular people, namely those whose worldview aligns with the story, derive from purchasing it. Does it matter if the story and/or the all-things-being-equal utility of the product is scientifically accurate? I don’t think so. The end result is the same, and is real.

For the past several weeks I’ve been looking to buy a new driver (as in the biggest stick in your golf bag, driver). Paul, my golfing buddy, has stressed to me the importance of getting a club that “fits your eye”. Now obviously, in a void, the “fits your eye”-edness of a club is a property that doesn’t even exist, let alone add value. But as soon as I step up to the tee box and get a kick of confidence because of the way it looks the story is completed and the value is created. However placebo-like the mechanism, the end result, the value, is real.

Tags: ,

The Church of Rory

Tuesday, June 14th, 2005

I meant to link to this earlier, but I didn’t. Now I have. Amen Rory.