<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">	
	<channel>
		<title>Radiant Core: Jay Goldman</title>
		<link>http://www.radiantcore.com/</link>
		<description>All of the Radiant Core posts written by Jay Goldman.</description>
		<language>en-ca</language>
		<copyright>Copyright 2006, Radiant Core Inc. All rights reserved.</copyright>
		<managingEditor>webmaster@radiantcore.com</managingEditor>
		<webMaster>webmaster@radiantcore.com</webMaster>
		<item>
				<title><![CDATA[Radiant Core Acquired by Zerofootprint Software, Inc.]]></title>
				<author>Jay Goldman &lt;info@radiantcore.com&gt;</author>
				<link>http://www.radiantcore.com/blog/archives/21/04/2008/radiant-core-acquired-by-zerfootprint-software-inc</link>
				<guid isPermaLink="true">http://www.radiantcore.com/blog/archives/21/04/2008/radiant-core-acquired-by-zerfootprint-software-inc</guid>
				<comments>http://www.radiantcore.com/blog/archives/21/04/2008/radiant-core-acquired-by-zerfootprint-software-inc#comments</comments>
				<description><![CDATA[<p>We've been in stealth mode for a few weeks now while all the details worked themselves out, but now that <a href="http://www.startupnorth.ca/2008/04/16/radiant-core-acquired/" title="StartupNorth: Radiant Core Acquired">the cat's out of the proverbial bag</a>, we can happily announce that we have, indeed, been acquired by <a href="http://www.zerofootprint.net" title="Zerofootprint">Zerofootprint Software, Inc</a>!</p><br /><br /><p>Effective basically immediately, our team is moving over to become the in-house crew responsible for building all of Zerofootprint's products, including the <a href="http://www.zerofootprint.net/youth/iearn" title="iEarn Youth Calculator">Kids and Youth Calculator</a>, the <a href="http://earthhour.zerofootprint.net" title="Earth Hour One Minute Calculator">One Minute Calculators</a>, the <a href="http://apps.facebook.com/zfcalculator" title="Zerofootprint Facebook Calculator">Facebook Calculator</a>, and the <a href="http://www.zerofootprint.net/calculator" title="Zerofootprint Personal Carbon Manager">Personal Carbon Manager</a>. We have a few great projects to wrap up before everyone trades in their old Radiant Core punch cards for their shiny new Zerofootprint ones, so keep an eye out for a few more announcements on this very blog.</p><br /><br /><p>Longer term, we're happy to announce that we've been working really hard to find a home for all of our great clients and we're delighted that <a href="http://www.jonahgroup.com/" title="The Jonah Group">The Jonah Group</a> will be taking over from us on some of our accounts. We're still working out some of the specifics, but they're an excellent shop and we're really delighted that we can end our professional services practice on such a high note. We've spoken to all of our clients and they've been very congratulatory and supportive, which just goes to show that we really did have the best customers a firm could ask for.</p><br /><br /><p>For all of you Foundation users out there, we're also thrilled to announce that we'll be releasing the full product under and Open Source license, with the Jonah Group picking up the bulk of the ongoing maintenance and development. We're still weighing a few Open Source license options (though we're leaning toward the <a href="http://www.mozilla.org/MPL/MPL-1.1-annotated.html" title="Mozilla Public License">Mozilla Public License</a>), so if you have a favourite please leave a comment below.</p><br /><br /><p>This is one of those rare deals which is truly a win-win for both sides, and I know I speak for Ron and the <a href="http://www.zerofootprint.net/about/team_zero" title="Team Zero">whole team at Zerofootprint</a>, as well as for Michael and <a href="http://www.radiantcore.com/blog/authors" title="Team Radiant">the Radiant Core crew</a>, when I say that we are all very much looking forward to saving the world together. We've spent the last four and a half years building websites and web applications, and although we've had a wonderful time and worked on some great projects, very few of them served an altruistic purpose beyond promoting a product or selling more widgets. We're now in the very enviable position of knowing that each feature we spec, each line of code we craft, and each bug we squash brings us that much closer to reducing the world's CO2 footprint. I don't know about you, but that's pretty inspiring for me. Keep an eye on the <a href="http://www.zerofootprint.net" title="Zerofootprint Software">Zerofootprint</a> site for some big changes over the coming months, and we'll see you at the next <a href="http://www.democamp.info" title="DemoCamp">DemoCamp</a>, <a href="http://www.unspace.ca/innovation/pubnite/" title="Rails Pub Night">Rails Pub Night</a>, <a href="http://www.casecamp.org" title="CaseCamp">CaseCamp</a>, <a href="http://www.metronauts.ca" title="Metronauts">TransitCamp</a>, etc.</p>]]></description>
				<category>Taking Care of Business</category>
				<pubDate>Mon, 21 Apr 2008 14:00:00 EDT</pubDate>
			</item>
		<item>
				<title><![CDATA[Zerofootprint City of Toronto Carbon Calculator Launch]]></title>
				<author>Jay Goldman &lt;info@radiantcore.com&gt;</author>
				<link>http://www.radiantcore.com/blog/archives/26/02/2008/zerofootprint-city-of-toronto-carbon-calculator-la</link>
				<guid isPermaLink="true">http://www.radiantcore.com/blog/archives/26/02/2008/zerofootprint-city-of-toronto-carbon-calculator-la</guid>
				<comments>http://www.radiantcore.com/blog/archives/26/02/2008/zerofootprint-city-of-toronto-carbon-calculator-la#comments</comments>
				<description><![CDATA[<p>One of our favourite clients, Zerofooprint, launched a great initiative with the City of Toronto at a very well covered press conference this morning. They've partnered together to release a customized version of their amazing <a href="http://www.zerofootprint.net/calculators" title="Zerofootprint: Personal Carbon Manager">Personal Carbon Manager</a>, targeted at all of the citizens of our great city. You'll find it at <a href="http://toronto.zerofootprint.net" title="Zerofootprint Toronto">http://toronto.zerofootprint.net</a> and can jump in and start calculating today.</p><br /><br /><p>I had the privilege of attending this morning's press event and live Twittered, so if you'd like to know more about what was said, see my <a href="http://www.twitter.com/chesh2000pro" title="Twitter: chesh2000pro">Twitterstream</a>. Press coverage is starting to appear (the Toronto Star is up with <a href="http://www.thestar.com/News/GTA/article/307023" title="TheStar.com: Website measures local carbon footprints">Website measures local carbon footprints</a>), and watch the news tonight for footage from CBC and Citytv, both of whom sent camera crews. Mayor Miller apparently loves it and was there to say lots of nice things, which is always a good endorsement. Check it out for yourself!</p>]]></description>
				<category>Taking Care of Business</category>
				<pubDate>Tue, 26 Feb 2008 11:00:00 EST</pubDate>
			</item>
		<item>
				<title><![CDATA[Our Very Own Martin]]></title>
				<author>Jay Goldman &lt;info@radiantcore.com&gt;</author>
				<link>http://www.radiantcore.com/blog/archives/25/02/2008/our-very-own-martin</link>
				<guid isPermaLink="true">http://www.radiantcore.com/blog/archives/25/02/2008/our-very-own-martin</guid>
				<comments>http://www.radiantcore.com/blog/archives/25/02/2008/our-very-own-martin#comments</comments>
				<description><![CDATA[<p>It's not every day that you get to see your name mentioned in a <a href="http://www.marketwatch.com/news/story/middle-east-internet-interruption-looks/story.aspx?guid=%7B6FD0D324-8FF9-4900-BCA9-614914BA3E87%7D" title="Using the Internet as a weapon">John C. Dvorak column</a>, and it's even rarer when he has something positive to say about you. We're all teary eyed over our very own <a href="http://www.radiantcore.com/blog/authors/mkewart" title="Martin Kuplens-Ewart">Martin's</a> ascent to celebrity source status. Congrats!</p>]]></description>
				<category>Taking Care of Business</category>
				<pubDate>Mon, 25 Feb 2008 10:00:00 EST</pubDate>
			</item>
		<item>
				<title><![CDATA[DemoCampToronto17]]></title>
				<author>Jay Goldman &lt;info@radiantcore.com&gt;</author>
				<link>http://www.radiantcore.com/blog/archives/22/02/2008/democamptoronto17</link>
				<guid isPermaLink="true">http://www.radiantcore.com/blog/archives/22/02/2008/democamptoronto17</guid>
				<comments>http://www.radiantcore.com/blog/archives/22/02/2008/democamptoronto17#comments</comments>
				<description><![CDATA[<p>After much voting and discussion, and a few days late (of course!), we're very, very pleased to announce the lineup for <a href="http://www.barcamp.org/DemoCampToronto17" title="BarCamp.org: DemoCampToronto17">DemoCamp17</a>, happening on Monday, February 25th, at the Board of Trade. Please note that all times are approximate and subject to the inevitable technical snafus.</p><br /><br /><p><strong>6:00pm</strong><br /> Demo: AskItOnline.com (Kaitlyn McLachlan, Clear Sky Media, <a href="http://www.askitonline.com/" title="AskItOnline">http://www.askitonline.com</a>)</p><br /><br /><p><strong>6:15pm</strong> <br /> Demo: GigPark (Pema Hegan, Noah Godfrey, <a href="http://www.gigpark.com/" title="GigPark">http://www.gigpark.com</a>)</p><br /><br /><p><strong>6:30pm </strong><br />Demo: Mono Project .NET Development on a Mac (Geoff Norton, <a href="http://www.mono-project.com/" title="Mono Project">http://www.mono-project.com/</a>) </p><br /><br /><p><strong>6:45pm</strong><br />Demo: PlanetEye (Butch Langlois, <a href="http://www.planeteye.com/" title="PlanetEye">http://www.planeteye.com</a>)</p><br /><br /><p><strong>7:00pm</strong> <br /> Demo: SceneCaster (Alain Chesnais, <a href="http://www.scenecaster.com/" title="SceneCaster">http://www.scenecaster.com</a>)</p><br /><br /><p><strong>7:15pm</strong> <br />20 minute break</p><br /><br /><p><strong>7:35pm</strong><br />Ignite: The Future Is Simple (Geo Perdis, <a href="http://mediaworks.ca/" title="Media Works">http://mediaworks.ca/</a>)</p><br /><br /><p><strong>7:50pm</strong> <br />Social Services Mashup (Clara Severino, UofT, Partnership)&nbsp; </p><br /><br /><p><strong>8:05pm</strong><br />How to Rock SXSW (Rannie Turingan, <a href="http://photojunkie.ca/" title="PhotoJunkie">http://PhotoJunkie.ca</a>)</p><br /><br /><p><strong>8:20pm</strong> <br /> The State of Wireless in Canada Sucks (Tom Purves, <a href="http://wirelessnorth.ca/" title="WirelessNorth">http://wirelessnorth.ca/</a>)</p><br /><br /><p><strong>8:35pm</strong> <br /> Leveraging Wide Open (Mike Beltzner, <a href="http://www.mozilla.com/" title="Mozilla">http://www.mozilla.com</a>)</p><br /><br /><p><strong>8:40pm</strong> <br />20 minute wrap up and social</p><br /><br /><p><strong>9:00pm - 11:00pm</strong><br /> Duke of Westminster (<a href="http://westminster.thedukepubs.ca/" title="Duke of Westminster Pub">http://westminster.thedukepubs.ca/) will have finger foods for us and is staying open an extra hour so you can get your drink on :</a>)</p>]]></description>
				<category>Taking Care of Business</category>
				<pubDate>Fri, 22 Feb 2008 23:00:00 EST</pubDate>
			</item>
		<item>
				<title><![CDATA[Firefox 3: Meet the New Features]]></title>
				<author>Jay Goldman &lt;info@radiantcore.com&gt;</author>
				<link>http://www.radiantcore.com/blog/archives/14/02/2008/firefox-3-preview</link>
				<guid isPermaLink="true">http://www.radiantcore.com/blog/archives/14/02/2008/firefox-3-preview</guid>
				<comments>http://www.radiantcore.com/blog/archives/14/02/2008/firefox-3-preview#comments</comments>
				<description><![CDATA[<p>It's always been a pleasure for us to be involved in the <a href="http://www.mozilla.com" title="Mozilla Firefox">Mozilla Firefox</a> project — we did the design and implementation of the <a href="http://www.radiantcore.com/blog/archives/12/07/2006/skinningafox" title="RC Blog: 101 Ways to Skin a Fox">official theme for Firefox 2</a> — so we feel the excitement pretty keenly when they start preparing a new release. The Mozco engine is humming along and you better start prepping your Firefox themed party treats, because <a href="http://wiki.mozilla.org/Firefox3" title="Mozilla Wiki: Firefox 3">Firefox 3</a> is almost here!</p><br /><br /><p>We didn't have a chance to work on this release, but we're really looking forward to a whole bunch of the new features. There's a great rundown on <a href="http://mozillalinks.org/wp/2008/02/a-deep-look-to-firefox-3-beta-3/" title="Mozilla Links: A Deeper Look at Firefox 3">Mozilla Links' A Deeper Look at Firefox 3</a> (even if they did call our work "washed out" :), which is well worth the read if your browser blood runs red. Some of our favourites:</p><br /><br /><ul><li>The <a href="https://addons.mozilla.org/en-US/firefox/addon/6050" title="Mozilla Add Ons: Proto">Proto</a> native theme for Mac OS will finally give Firefox a truly platform native feel on our favourite operating system</li><li>A number of changes to the toolbar and tabstrip which make a lot of sense from the perspective of optimizing the browser experience (the Go button is gone! Let the rejoicing begin!)</li><li><a href="http://wiki.mozilla.org/Places" title="Mozilla Wiki: Places">Places</a>, which will bring some sanity to our extensive bookmarks collections</li><li>Blocking JavaScript from resizing windows without permission (and various other nefarious message control tactics â take that marketeers!)</li><li>Our good friend <a href="http://madhava.com/egotism/archive/005012.html" title="Egotism: Faster, Add ons, Faster!">Madhava's awesome work</a> on the Add Ons manager which brings browsing and installation of Add Ons right into the browser chrome. It's about time!</li><li>Our other good friend <a href="http://blog.johnath.com/index.php/2008/01/23/being-green-easiness-of/" title="Meandering Wildly: Being Green, Easiness Of">Johnathan's</a> equally awesome work around security, site verification, and anti-phishing measures, summed up in Larry the Security Guy.</li></ul><a href="http://www.mozilla.com/en-US/firefox/all-beta.html" title="Firefox 3 Beta 3">Beta 3</a> is out right now if you want to grab it and start playing. We're told that over 40% of popular Add Ons have been updated to work in it, but we're still holding out for a new version of <a href="http://www.getfirebug.com/" title="Firebug">Firebug</a> before we make the switch entirely. I've got to go dig up my recipe for Foxy Cupcakes and find the punch bowl before the big fete, so you run along now and remember: <a href="http://developer.mozilla.org/en/docs/Promote_MDC" title="MDC: Promote MDC">don't hurt the web</a>!<br />]]></description>
				<category>Taking Care of Business</category>
				<pubDate>Thu, 14 Feb 2008 09:20:00 EST</pubDate>
			</item>
		<item>
				<title><![CDATA[DemoCamp17: It's Alllllive!]]></title>
				<author>Jay Goldman &lt;info@radiantcore.com&gt;</author>
				<link>http://www.radiantcore.com/blog/archives/05/02/2008/democamp17</link>
				<guid isPermaLink="true">http://www.radiantcore.com/blog/archives/05/02/2008/democamp17</guid>
				<comments>http://www.radiantcore.com/blog/archives/05/02/2008/democamp17#comments</comments>
				<description><![CDATA[<p>It is once again time for us to congregate and make with the demos and the drinking. Yes folks, that's right. It's DemoCamp17!</p><br /><br /> <p><strong>Date:</strong> Monday, February 25th, 2008<br /> <strong>Time:</strong> 6:00pm to 9:00pm <br /> <strong>Location:</strong> Toronto Board of Trade, 1 First Canadian Place, Toronto, ON<br />  <strong>Cost:</strong> Free (cash bar if you're thirsty)</p> <br /><br /><p>Dinner will be served, the Demos will be excellent, the Ignites will  ignite, and then we'll adjourn to The Duke of Westminster for more  food and drinks.</p><br /><br /> <p>As always, details are available at on the BarCamp's&nbsp; <a href="http://barcamp.org/DemoCampToronto17" title="BarCamp.org: DemoCampToronto17">DemoCampToronto17</a> page,  'tickets' are at <a href="http://democamp.eventbrite.com" title="DemoCamp Eventbrite">Eventbrite</a>, and those wishing to  sign up for a demo or ignite session can do so via the <a href="http://democamp.wufoo.com/forms/democamptoronto-demo-submission/" title="Wufoo: DemoCamp Form">Wufoo DemoCamp</a> form.</p><br /><br /> <p>We've seen a lot of turnover at recent DemoCamps and we're always  happy to welcome new faces into the crowd. Since this is the first  DemoCamp of 2008, we're going to change the old "bring a new person"  rule around a bit and ask everyone to "bring a new person AND an old  friend who hasn't been out in a while". Things have changed a lot  since our humble beginnings around the BubbleShare board room table,  so let's bring them back and show them what's new! </p><br /><br /> <p>Lastly, we're always looking for individuals or companies who would  like to put up $200 and help make the event possible. If you're  interested, please <a href="http://www.radiantcore.com/contact" title="Contact Jay Goldman">contact me</a> directly and I can give you a rundown of  what's involved. </p><br /><br /> <p>Hope to see everyone there!</p>]]></description>
				<category>Taking Care of Business</category>
				<pubDate>Tue, 05 Feb 2008 23:10:00 EST</pubDate>
			</item>
		<item>
				<title><![CDATA[SciBarCamp: March 15th and 16th 2008]]></title>
				<author>Jay Goldman &lt;info@radiantcore.com&gt;</author>
				<link>http://www.radiantcore.com/blog/archives/02/02/2008/scibarcamp-march-15-16-2008</link>
				<guid isPermaLink="true">http://www.radiantcore.com/blog/archives/02/02/2008/scibarcamp-march-15-16-2008</guid>
				<comments>http://www.radiantcore.com/blog/archives/02/02/2008/scibarcamp-march-15-16-2008#comments</comments>
				<description><![CDATA[<p>There have been regular <a href="http://www.barcamp.org" title="BarCamp">BarCamps</a> (and <a href="http://en.wikipedia.org/wiki/Foo_Camp" title="Wikipedia: FooCamp">FooCamps</a>), <a href="http://barcamp.org/DemoCamp" title="BarCamp Wiki: DemoCamp">DemoCamps</a>, <a href="http://winecamp.pbwiki.com/" title="WineCamp Wiki">WineCamps</a>, and <a href="http://toronto.transitcamp.org" title="Toronto TranistCamp">TransitCamps</a>. There's even been talk of a CampCamp (though not this <a href="http://www.campcamp.com" title="CampCamp">CampCamp</a>, which is also cool)! Just when you thought we'd run out of campspiration, our good friend <strike>Greg Wilson</strike> (Update: Ooops! Greg isn't organizing, just promoting. Apologies to <a href="http://science.easternblot.net/" title="Eva Amsen">Eva Amsen</a>, Jen Dodd, and <a href="http://www.scimatic.com/?q=blog" title="Jamie McQuay">Jamie McQuay</a>, who are all honorary good friends too!) have announced <a href="http://www.scibarcamp.org/" title="SciBarCamp">SciBarCamp</a>:</p><br /><br /><blockquote>SciBarCamp is a gathering of scientists, artists, and technologists for a weekend of talks and discussions. It will take place at Hart House at the University of Toronto on the weekend of March 15-16.</blockquote><p>Bringing the academic and entrepreneurial communities together is one of Greg's big passions and this event is a clear move in that direction. Should be a lot of fun! Plus, it's sponsored by our friends at <a href="http://www.mindtouch.com" title="MindTouch">MindTouch</a> who make the awesome <a href="http://wiki.opengarden.org/Deki_Wiki" title="DekiWiki">DekiWiki</a>, and if <a href="http://flickr.com/photos/roebot/1625244425/" title="Flickr: David, Geoff, Jay">past evenings out with AaronF</a> and the crew are any indication, this should be good! Hopefully they'll make it up for the weekend.</p>]]></description>
				<category>Taking Care of Business</category>
				<pubDate>Sat, 02 Feb 2008 18:30:00 EST</pubDate>
			</item>
		<item>
				<title><![CDATA[Harvard Business Review Breakthrough Idea: Toronto TransitCamp]]></title>
				<author>Jay Goldman &lt;info@radiantcore.com&gt;</author>
				<link>http://www.radiantcore.com/blog/archives/28/01/2008/harvard-business-review-transitcamp</link>
				<guid isPermaLink="true">http://www.radiantcore.com/blog/archives/28/01/2008/harvard-business-review-transitcamp</guid>
				<comments>http://www.radiantcore.com/blog/archives/28/01/2008/harvard-business-review-transitcamp#comments</comments>
				<description><![CDATA[<div class="thumbnail" style="margin: 0px 20px 20px 0px; float: left; width: 266px; height: 337px;"><img alt="Harvard Business Review Feb 2008 Cover" src="http://img.skitch.com/20080126-t475qujkwdik7b1ibpaapxxgg5.preview.jpg"></div><p>There are magazines about business, and then there's the <a href="http://harvardbusinessonline.hbsp.harvard.edu/hbsp/hbr/index.jsp" title="Harvard Business Review">Harvard Business Review</a>. If you're at all involved in doing business in the western world, odds are you've read an article from HBR or even have a subscription. It would not be an exaggeration to say that a whole generation of thought and business leaders have been shaped by the content HBR has published. And so, along with my co-authors <a href="http://www.singer.to" title="Eli Singer">Eli Singer</a> and <a href="http://www.remarkk.com" title="Mark Kuznicki">Mark Kuznicki</a>, it is my incredible honour to annouce the publication of our article, titled <a href="http://harvardbusinessonline.hbsp.harvard.edu/hbsp/hbr/articles/article.jsp?_requestid=31369&amp;ml_subscriber=true&amp;ml_action=get-article&amp;ml_issueid=BR0802&amp;articleID=R0802A&amp;pageNumber=1" title="Harvard Business Review"><em>Sick Transit Gloria</em></a>, in the <a href="http://harvardbusinessonline.hbsp.harvard.edu/hbsp/hbr/articles/article.jsp?ml_subscriber=true&amp;ml_action=get-article&amp;ml_issueid=BR0802&amp;articleID=R0802A&amp;pageNumber=1" title="HBR: Breakthrough Ideas for 2008">Breakthrough Ideas for 2008</a> section of the February issue of the Harvard Business Review.</p><br /><br /><p>Our short piece shares the story of <a href="http://toronto.transitcamp.org/ttc/show/The+Story+of+TransitCamp" target="_blank" title="Toronto TransitCamp">Toronto TransitCamp</a> with a general business audience. We're in great company and I highly recommend you take a few mintues from your busy day to read through some of the articles on the <a href="http://harvardbusinessonline.hbsp.harvard.edu/hbsp/hbr/articles/article.jsp?ml_subscriber=true&amp;ml_action=get-article&amp;ml_issueid=BR0802&amp;articleID=R0802A&amp;pageNumber=1" title="HBR: Breakthrough Ideas for 2008">Breakthrough Ideas for 2008 site</a>. We'd also love if you would take an additional moment (we're so needy!) to vote for TransitCamp in the <a href="%3Ca%20href=" http:="" www.polldaddy.com="" survey.aspx?id="8b82d73b9414f3dc&quot;" target="_blank" title="BlogTo: Best of Independent Toronto">Best Unconference in BlogTO's Best of Independent Toronto Poll</a>.</p><br /><br /><p>For those of you who aren't familiar with TransitCamp, our article tells the tale of a community and a public agency coming together in an innovative new way to solve problems together, using technology and social media and the BarCamp unconference toolkit to change their relationship. We're very proud to have helped the <a href="http://www.ttc.ca" title="Toronto Transit Commission">Toronto Transit Commission</a> to usher in a new era of collaboration with its customers and community stakeholders! For more information, <a title="Harvard Business Review" href="http://harvardbusinessonline.hbsp.harvard.edu/hbsp/hbr/articles/article.jsp?_requestid=31369&amp;ml_subscriber=true&amp;ml_action=get-article&amp;ml_issueid=BR0802&amp;articleID=R0802A&amp;pageNumber=1">read the article</a> in Harvard Business Review or check out the <a href="http://toronto.transitcamp.org/ttc/show/hbr" target="_blank" title="TransitCamp.org">HBR page on the TransitCamp wiki</a> for links that provide a comprehensive overview of the background, the design, the experience, the media coverage, the conceptual foundations and the influence of TransitCamp.</p><br /><br /><p>As authors, we want to be clear that while our names may appear in the byline of this article, these ideas and the event itself were created and inspired by a group of local community participants and peers and global thought leaders who both helped and inspired us. We would like to acknowledge those contributions and inspirations here:</p><br /><br /><p><strong>Our friends who helped make TransitCamp happen:</strong> Robert Ouellette, <a title="ReadingToronto" href="http://readingt.readingcities.com/index.php">ReadingToronto</a>; Tim Shore, <a title="BlogTO" href="http://blogto.com/">BlogTO</a>; David Topping, <a title="Torontoist" href="http://torontoist.com/">Torontoist</a>; Matt Blackett, <a title="Spacing" href="http://spacing.ca/wire/">Spacing</a>; <a title="Adam Giambrone" href="http://www.adamgiambrone.ca/diary/">Adam Giambrone</a>; <a title="David Crow" href="http://davidcrow.ca/">David Crow</a>; <a title="Bryce Johnson" href="http://www.thechickentest.com/">Bryce Johnson</a>; <a title="Joey Devilla" href="http://www.joeydevilla.com/">Joey Devilla</a>; <a title="Madhava Enros" href="http://madhava.com/egotism/">Madhava Enros</a>; <a title="Michael Glenn" href="http://www.mglenn.com">Michael Glenn</a>; <a title="Misha Glouberman" href="http://www.mishaglouberman.com/">Misha Glouberman</a>; <a title="Julia Breckenreid" href="http://www.breckenreid.com/">Julia Breckenreid</a>; <a href="http://ryanfeeley.com/">Ryan Feeley</a>; <a title="Kieran Huggins" href="http://kieran.ca/">Kieran Huggins</a>; <a title="Andrew Moore" href="http://www.musicbyam.com/">Andrew Moore</a>; Kevin Bracken &amp; Lori Kuffner, <a title="Newmindspace" href="http://www.newmindspace.com/">Newmindspace</a>; Rannie Turingan, <a href="http://www.photojunkie.ca/" title="photojunkie">photojunkie</a>; <a href="http://www.hogtownconsulting.com/wordpress/">Patrick Dinnen</a></p><br /><br /><p><strong>Friends and inspirations:</strong> <a href="http://saunderslog.com/" title="Saunders Log">Alec Saunders</a>, <a href="http://iotum.com/" title="Iotum">Iotum</a>; <a title="Amber MacArthur" href="http://ambermac.typepad.com/">Amber MacArthur</a>; <a href="http://www.transcendstrategy.com/html/" title="Alex Lowy">Alex Lowy</a>; Andrew Baron, <a href="http://dembot.com/" title="Dembot">Dembot</a>; <a href="http://anthonydwilliams.com/">Anthony Williams</a>; <a href="http://www.ariehsinger.com" title="Arieh Singer">Arieh Singer</a>; Audrey Carr, <a href="http://www.audreycarr.ca/">Between Us</a>; Austin Hill, <a href="http://www.billionswithzeroknowledge.com/" title="Billions with Zero Knowledge">Billions with Zero Knowledge</a>; Ben McConnel and Jackie Huba, <a href="http://customerevangelists.typepad.com/" title="Church of the Customer Blog">Church of the Customer Blog</a>; Bianca Goldman, <a href="http://www.aweebitskint.com" title="A Wee Bit Skint">A Wee Bit Skint</a>; Bonnie, Ernie &amp; Rachel, <a href="http://www.greatcycling.com" title="GreatCycling">GreatCycling</a>; Brian Oberkirch, <a href="http://brianoberkirch.com/" title="Like it Matters">Like it Matters</a>; <a href="http://www.cambrianhouse.com/blog/">Cambrian House</a>; Chris &amp; Jessie, <a href="http://istroica.com" title="Istoica">Istoica</a>; Chris Anderson, <a href="http://www.thelongtail.com/" title="The Long Tail">The Long Tail</a>; Chris Messina, <a href="http://factoryjoe.com/blog/" title="FactoryCity">FactoryCity</a>; Colin Henderson, <a href="http://thebankwatch.com/">The Bankwatch</a>; <a href="http://colin.smillie.ca/" title="Colin's Sandbox">Colin Smillie</a>; Cory Doctrow, <a href="http://craphound.com/" title="Craphound">Craphound</a>; <a href="http://eaves.ca/" title="David Eaves">David Eaves</a>; David Gray, <a href="http://communicationnation.blogspot.com/" title="Communication Nation">Communication Nation</a>; <a href="http://davidpritchard.org/">David Pritchard</a>; <a href="http://www.hyperorg.com/blogger/" title="Joho the Blog">David Weinberger</a>, <a href="http://www.everythingismiscellaneous.com/">Everything Is Miscellaneous</a>; <a href="http://blogs.law.harvard.edu/doc/" title="Doc Searls">Doc Searls</a>; <a href="http://www.newparadigm.com/default.asp?action=category&amp;ID=7" title="Don Tapscott">Don Tapscott</a>; <a href="http://www.elspethjane.com/" title="Elspeth Roundtree">Elspeth Roundtree</a>; Eric Goldman, <a href="http://www.napoleonsgambit.com" title="Napoleon's Gambit">Napoleon's Gambit</a>; Ev Williams, <a href="http://evhead.com/" title="Evhead">Evhead</a>; Greg Wilson, <a href="http://pyre.third-bit.com/blog/" title="The Third Bit">The Third Bit</a>; Guy Kawasaki, <a href="http://blog.guykawasaki.com/" title="How to Change the World">How to Change the World</a>; <a href="http://www.rheingold.com/" title="Harold Rheingold">Howard Rheingold</a>; Hugh MacLeod, <a href="http://www.gapingvoid.com/">gapingvoid</a>; Iris Glaser, <a href="http://www.tailordesign.com" title="Tailor Communications Design">Tailor Communications Design</a>; <a href="http://www.kottke.org" title="Jason Kottke">Jason Kottke</a>; James Bow, <a href="http://transit.toronto.on.ca/index.shtml">Transit Toronto</a>; James Cherkoff, <a href="http://www.collaboratemarketing.com/" title="Modern Marketing">Modern Marketing</a>; Jeannette Hanna &amp; Jeff Howe, <a href="http://crowdsourcing.typepad.com/cs/">crowdsourcing</a>; Jeff Jarvis, <a href="http://www.buzzmachine.com/" title="BuzzMachine">BuzzMachine</a>; <a href="http://www.web-strategist.com/blog/" title="Jeremiah Owyang">Jeremiah Owyang</a>; <a href="http://jesse.openflows.org/blog">Jesse Hirsh</a>; Jevon MacDonald, <a href="http://socialwrite.com/">socialwrite.com</a>; <a href="http://www.beltzner.ca/ifeelafel">Mike Beltzner</a>; <a title="Joe Clark" href="http://joeclark.org/">Joe Clark</a>; John Battelle, <a href="http://battellemedia.com/" title="Searchblog">Searchblog</a>; John Moore, <a href="http://brandautopsy.typepad.com/" title="Brand Autopsy">Brand Autopsy</a>; <a href="http://www.johnniemoore.com/blog/">Johnnie Moore</a>; Joseph Thornley, <a href="http://www.propr.ca/" title="Pro PR">Pro PR</a>; <a href="http://www.countablyinfinite.ca/blog">Karen Quinn Fung</a>; Kate Trgovac, <a href="http://www.mynameiskate.ca/" title="My Name is Kate">My Name is Kate</a>; Kathy Sierra, <a href="http://headrush.typepad.com/" title="Creating Passionate Users">Creating Passionate Users</a>; <a href="http://unlearnings.blogspot.com/" title="My Blog is Hit You in Your Face">Kelly Seagram</a>; Kenyatta Cheese, <a href="http://www.kenyattacheese.net/" title="Braintag">Braintag</a>; <a href="http://www.lessig.org/blog/" title="Lawrence Lessig">Lawrence Lessig</a>; <a href="http://www.leegoldman.com" title="Lee Goldman">Lee Goldman</a>; Lee Odden; <a href="http://www.hyperbio.net/fric_frac/" title="HyperBio">Leila Boujane, </a><a href="http://www.ideeinc.com" title="Idee, Inc.">Idee, Inc.</a>; Lloyd Alter, <a href="http://www.treehugger.com/authors/index.php?author=lloyd" title="treehugger.com">treehugger</a>; Maggie Fox, <a href="http://socialmediagroup.ca/" title="Social Media Group">Social Media Group</a>; <a href="http://markdowds.typepad.com/">Mark Dowds</a>, Mark Evans, <a href="http://www.markevanstech.com/" title="A Canadian Take on the Web">A Canadian Take on the Web</a>; <a href="http://markraheja.typepad.com/" title="the memeing of life">Mark Raheja</a>; Mark Surman, <a href="http://commonspace.typepad.com/">commonspace</a>; <a href="http://martin.cleaver.org/">Martin Cleaver</a>; Matt Mason; Matt Mullenweg, <a href="http://ma.tt/" title="Photo Matt">Photo Matt</a>; Matthew Dewall, <a href="http://maybe.sortakinda.ca/" title="Maybe Sorta Kinda">Maybe Sorta Kinda</a>; <a href="http://www.mathewingram.com/work/" title="Matthew Ingram">Matthew Ingram</a>; Michael Anton Dila, <a href="http://torchiswicked.com/">Torch is Wicked</a>; <a href="http://mtl3p.ilesansfil.org/blog/">Michael Lenczner</a>; <a href="http://www.michaelocc.com/" title="Uninstalled">Michael O'Connor Clarke</a>; <a href="http://www.michaelgeist.ca/" title="Michael Geist">Michael Geist</a>; Michael Seaton, <a href="http://www.theclientsideblog.com/" title="The Client Side Blog">The Client Side Blog</a>; Michelle Perras, <a href="http://shotfromthehip.wordpress.com/" title="Shot From the Hip">Shot From the Hip</a>; Mitch Joel, <a href="http://www.twistimage.com/blog/" title="Six Pixels of Separation">Six Pixels of Separation</a>; Nicholas Carr, <a href="http://www.roughtype.com/" title="Rough Type">Rough Type</a>; <a href="http://www.nikkigoldman.com" title="Nikki Goldman">Nikki Goldman</a>; Om Malik, <a href="http://www.gigaom.com" title="Gigaom">GigaOm</a>; Peter Francey; Phil Hood;<a href="http://creativeclass.typepad.com/">Richard Florida</a>; <a href="http://chaosncoffee.com/blog/">Riccardo Cambiassi</a>; <a href="http://www.robhyndman.com/">Rob Hyndman</a>; Robert Scoble, <a href="http://scobleizer.com/" title="Scobleizer">Scobleizer</a>; Ryan Coleman <a href="http://blog.ryancoleman.ca/" title="Found in Translation">Found in Translation</a>; Saul Colt, <a href="http://www.saulcolt.blogspot.com/" title="The Smartest Man in the World">The Smartest Man in the World</a>; Scott Beale, <a href="http://laughingsquid.com/" title="Laughing Squid">Laughing Squid</a>; Sean Howard, <a href="http://www.craphammer.ca/" title="CrapHammer">Craphammer</a>; Sean P. Aune; <a href="http://www.seanwise.com/">Sean Wise</a>; <a href="http://sethgodin.typepad.com/" title="Seth Godin">Seth Godin</a>; Shel Israel, <a href="http://redcouch.typepad.com/" title="Global Neighbourhoods">Global Neighbourhoods</a>; <a href="http://stevemunro.ca/">Steve Munro</a>; Steve Rubel, <a href="http://www.micropersuasion.com/" title="Micropersuasions">Micropersuasions</a>; Stowe Boyd, <a href="http://www.stoweboyd.com/message/" title="/message">/message</a>; <a href="http://stuart.blogware.com/" title="Stuart MacDonald">Stuart MacDonald</a>; <a href="http://www.canadianmarketingblog.com/contributors/sulemaan-ahmed/" title="Sulemaan Ahmed">Sulemaan Ahmed</a>; Tara Hunt, <a href="http://www.horsepigcow.com/" title="HorsePigCow">HorsePigCow</a>; Michael Arrington and Erick Schonfeld, <a href="http://www.techcrunch.com" title="Techcrunch">Techcrunch; </a> <a href="http://www.thomaspurves.com/" title="Thomas Purves">Thomas Purves</a>; <a href="http://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html" title="O'Reilly Media: What is Web 2.0">Tim O'Reilly</a>; Todd Defren, <a href="http://www.pr-squared.com/" title="PR Squared">PR Squared</a>; Tom Davenport, <a href="http://www.tomdavenport.com/" title="Make IT Matter">Make IT Matter</a>; Tom Williams, <a href="http://www.givemeaning.com/blog/index.html">the $5 philanthropist</a>; <a href="http://www.tompeters.com/">Tom Peters</a>; <a href="http://www.willpate.org/">Will Pate</a>; <a href="http://www.benkler.org/">Yochai Benkler</a></p>]]></description>
				<category>Taking Care of Business</category>
				<pubDate>Mon, 28 Jan 2008 08:00:00 EST</pubDate>
			</item>
		<item>
				<title><![CDATA[Visual Basic macros do not work in Office 2008 for Mac]]></title>
				<author>Jay Goldman &lt;info@radiantcore.com&gt;</author>
				<link>http://www.radiantcore.com/blog/archives/17/01/2008/microsoft-office-2008-for-mac-has-no-vba-support</link>
				<guid isPermaLink="true">http://www.radiantcore.com/blog/archives/17/01/2008/microsoft-office-2008-for-mac-has-no-vba-support</guid>
				<comments>http://www.radiantcore.com/blog/archives/17/01/2008/microsoft-office-2008-for-mac-has-no-vba-support#comments</comments>
				<description><![CDATA[<p>Apple's move to Intel processors has been a welcome change to the platform and has once again swung their pendulum back in the Innovator direction. The launch of the <a href="http://www.apple.com/macbookair" title="Apple: MacBook Air">MacBook Air</a> this week shows off Apple's real strength: whether you love it or hate it, you have to respect the engineering that goes into building a laptop so small and thin that it fits in an envelope. The release of <a href="http://www.microsoft.com/mac/products/Office2008/default.mspx" title="Microsoft: Mac Office 2008">Microsoft's Mac Office 2008</a>, also announced at <a href="http://www.macworldexpo.com/" title="MacWorld">MacWorld</a>, caught my attention because Office is the last app I run which had not been ported to the Intel chipset.</p><br /><br /><p>The existence of Office on the Mac platform has always been a bit of quandary for Microsoft. On the one hand, they sell a lot of copies and make a good chunk of revenue on it. On the other hand, they sell it to people who don't buy Windows (unless they're going to run it in Parallels or Fusion) and are therefore helping to support the existence of a platform which directly competes with two of their primary money makers (Windows and Office for Windows). There was actually a point in history, back in the dark days of 1997, when Microsoft <a href="http://www.news.com/2100-1001-202143.html" title="CNET: MS to invest $150 million in Apple">invested $150m in Apple</a> and pledged to continue to develop versions of Office (and InternetExplorer!) for Mac OS — a move which may well have saved Apple's bacon. Fast forward 10 years and we have a new release of Office, so what's changed?</p><br /><br /><p>On the surface, this is a great update. Lots of thought has gone into the UI, which resembles a Mac OS native version of <a href="http://blogs.msdn.com/jensenh/archive/2005/09/14/467126.aspx" title="Jensen Harris: Enter the Ribbon">the Ribbon seen in Office 2007</a> for Windows. It's Intel native, which makes it much faster on modern Macs than Office 2004 was (mostly because it's no longer running in the Rosetta emulation layer). What's not to like? Well, there's one thing. It's a small thing when you read it in a long list of changes, but when you actually stop to think about it, it's not such a little footnote.</p><br /><br /><p><strong>Microsoft Office 2008 for Mac OS no longer supports Visual Basic for Applications Macros.</strong> VBA has been the standard Macro language for Office releases on both Mac OS and Windows for a long, long time and there are probably millions of Office documents out there that have embedded macros. I regularly use two such documents, an Excel spreadsheet which we built internally and which helps us calculate accurate estimates for clients, and a Word document which was provided to me for a project I'm working on and which I have to use to complete my work. Opening our Costing Workbook in Excel gives the following error dialog:</p><br /><br /><p><img src="http://www.radiantcore.com/images/blogposts/ms_office_08_no_vba.png" alt="This file contains Visual Basic macros. Visual Basic macros do not work in Office 2008 for Mac."></p><br /><br /><p>The first time it came up, I didn't read it properly and thought it was the old security warning that Excel used to give when opening a document with macros in it. It was only on the second pass that I realized what I was seeing: we will never be able to use our Costing Workbook again. This is a little more insidious in the project document I have to use, as it opens without a warning but none of the built-in functions and buttons do anything. Clicking on the "Learn more about macros and Office for Mac" shows a Help window with the following contents:</p><br /><br /><blockquote><strong>Cause:</strong> Office 2008 for Mac cannot run Visual Basic macros or load add-ins that contain Visual Basic macros.<br />&nbsp;&nbsp;&nbsp; <strong>Solution:</strong> Keep the macro in the file.<br />&nbsp;&nbsp;&nbsp; <strong>Solution:</strong> Remove the macro from the file.<br />&nbsp;&nbsp;&nbsp; <strong>Solution:</strong> Save the macro in another macro-enabled file format.<br />&nbsp;&nbsp;&nbsp; <strong>Solution:</strong> Create a new macro by using AppleScript.</blockquote><br /><br /><p>The first three are just solutions which allow you to keep the macros from getting destroyed when the file is saved in Office 2008 format. The last one is the real kicker: the only actual solution is to recreate your macros in AppleScript format. Kudos to Microsoft for beefing up AppleScript support for the suite (and it does look pretty thorough), but what they're basically saying is that you can no longer interop with your Windows colleagues and you have to recreate any macros you had in a completely new language. You may find yourself scratching your head at this point, much as I was when I made this discovery. Why would they do such a seemingly stupid thing? Erik Schwiebert ("Schwieb"), a member of the Mac team, explains in an excellent blog post <a href="http://www.schwieb.com/blog/2006/08/08/saying-goodbye-to-visual-basic/" title="Erik Schwiebert: Saying Goodbye to Visual Basic">Saying Goodbye to Visual Basic</a> (have I mentioned how much I love Microsoft's approach to corporate blogging? No? It's awesome. Everyone should learn from them). I completely sympathize with Erik's description of their plight and I agree that a two year delay would have been unacceptable, but I also think this decisions has some very serious consequences for Apple's potential in the corporate market.</p><br /><br /><p>We basically run Office only because our clients do. If we had our choice, we'd probably run <a href="http://www.apple.com/iwork/pages/" title="Apple: iWork Pages">Pages</a> for word processing, we would definitely run <a href="http://www.apple.com/iwork/keynote" title="Apple: iWork Keynote">Keynote</a> for presentations (and I use it for any of mine already), and would be stumped to replace Excel (<a href="http://www.apple.com/iwork/numbers/" title="Apple: iWork Numbers">Numbers</a> is a nice start but it's a long way from ready). If we felt that there were other applications out there which would flawlessly handle our clients' documents, we'd probably switch today (we've tried <a href="http://www.neooffice.org/" title="NeoOffice">NeoOffice</a> and <a href="http://www.openoffice.org" title="OpenOffice">OpenOffice</a> with mixed results — suggest alternatives in the comments). We're a small shop though, and we get to set our own IT direction. Many of our colleagues work in large organizations who have IT departments which have been actively hostile toward Macs until recently and have only just started to come around (if they have at all). A big reason for that change has been Office, since Mac users can work seamlessly with their Windows colleagues (particularly in an Exchange environment using Entourage). If you work in an organization large enough to have an IT department, there's a pretty good chance that your company has also got some complex documents with macros in them (likely in Excel, which sees a lot more scripting than Word). The very rock and hard place described by Erik is about to crush your chances of getting a Mac on your desk, since any new Mac will be Intel-based and any new license of Office will be 2008 and now you'll be back into no-interop land. I'm not the only one who finds this so disheartening: in an opinion piece published in Macworld way back in December 2006 (when Microsoft first announced that they were removing VBA support), Rob Griffiths said:</p><br /><br /><blockquote>Microsoft Office isn't among the apps that will run natively on Intel-based Macs, and it won't be until the latter half of 2007, according to <a href="http://www.news.com.au/couriermail/story/0,23739,20539611-8362,00.html">media reports</a>. But when it does ship, Office will apparently be missing a feature so vital to cross-platform compatibility that I believe it will be the beginning of the end for the Mac version of the productivity suite.</blockquote><br /><br /><p>He also points to <a href="http://episteme.arstechnica.com/eve/forums/a/tpc/f/8300945231/m/710002440831" title="Ars Technica: MS Killing VB in Next Version of Office for Mac...">a thread on Ars Technica</a>, which includes 3 pages of angry feedback from people who will be seriously affected by this decision. I feel for the Microsoft Mac Business Unit (MacBU) team members who had to make this decision, even though I'm sure that ditching VB's ten year old implementation was a weight off their shoulders. Unfortunately for me, and for many of you, it was really just a transfer of weight onto our shoulders.</p><br /><br /><p>So, if you're feeling that weight, <a href="http://www.mactech.com" title="MacTech Magazine">MacTech Magazine</a> published their <a href="http://www.mactech.com/vba-transition-guide/" title="MacTech: Moving from Microsoft Office VBA to AppleScript: MacTech's Guide to Making the Transition">Moving from Microsoft Office VBA to AppleScript: MacTech's Guide to Making the Transition</a> guide in their April 2007 issue (which is now entirely available online), which I recommend as a fantastic starting point. I agree with their introduction in that there is an advantage for Mac users who take the time to learn AppleScript: it's the scripting language for the whole platform so you can easily build scripts which integrate Office into other apps, and you'll know how to script non-Office things as well. I actually do a fair bit of AppleScripting from time to time and have made some great little scripts (particularly Copy Path, which copies the path to the current Finder window onto the Clipboard), and I encourage Mac users with a programming bent to learn it. I'm just not sure you should be forced to do so in order to keep using your own documents.</p>]]></description>
				<category>Taking Care of Business</category>
				<pubDate>Thu, 17 Jan 2008 11:32:00 EST</pubDate>
			</item>
		<item>
				<title><![CDATA[Bill Gates' Last Day]]></title>
				<author>Jay Goldman &lt;info@radiantcore.com&gt;</author>
				<link>http://www.radiantcore.com/blog/archives/10/01/2008/bill-gates-last-day</link>
				<guid isPermaLink="true">http://www.radiantcore.com/blog/archives/10/01/2008/bill-gates-last-day</guid>
				<comments>http://www.radiantcore.com/blog/archives/10/01/2008/bill-gates-last-day#comments</comments>
				<description><![CDATA[<p>Bill Gates is not only a man with more money than you will ever know existed, he is also a man blessed with a genuinely great sense of humour and a willingness to mock himself in front of the world. Don't believe me? Check out the video he showed during his keynote last Sunday at <a href="http://www.cesweb.org/" title="CES 2008">CES 2008</a>:</p><br /><br /><object height="355" width="425"><param name="movie" value="http://www.youtube.com/v/v5uw07iEkjU&amp;rel=0&amp;border=0"><param name="wmode" value="transparent"><embed src="http://www.youtube.com/v/v5uw07iEkjU&amp;rel=0&amp;border=0" type="application/x-shockwave-flash" wmode="transparent" height="355" width="425"></object>]]></description>
				<category>Taking Care of Business</category>
				<pubDate>Thu, 10 Jan 2008 12:41:00 EST</pubDate>
			</item>
		<item>
				<title><![CDATA[Brockville Ad &amp; Sales Club January Speaker: Doing Business on the Web]]></title>
				<author>Jay Goldman &lt;info@radiantcore.com&gt;</author>
				<link>http://www.radiantcore.com/blog/archives/10/01/2008/brockville-ad-and-sales-club-january-speaker</link>
				<guid isPermaLink="true">http://www.radiantcore.com/blog/archives/10/01/2008/brockville-ad-and-sales-club-january-speaker</guid>
				<comments>http://www.radiantcore.com/blog/archives/10/01/2008/brockville-ad-and-sales-club-january-speaker#comments</comments>
				<description><![CDATA[<p>Although some people find it hard to believe, I really enjoy getting up in front of a room full of people and giving a talk and last night was no exception! I was honoured to be invited by Brockville's Ad &amp; Sales Club to visit their lovely city and present on the topic of Doing Business on the Web, something we try to know a thing or two about. My thanks go out to Anisa Sherwood (a great <a href="http://www.great-rates.ca" title="Anisa Sherwood, Brockville Mortgage Broker">Brockville Mortgage Broker</a> from <a href="http://www.great-rates.ca" title="Brockville Mortgage Broker">Assured Mortgages</a>) who tirelessly organized the talk, President Robert Tavares from <a href="http://www.freedom55financial.com/locations/english/locations3.asp#Brockville" title="Freedom 55 Financial Brockville">Freedom 55 Financial</a> for a great introduction, and to all of the members of the Club who I had the chance to chat with! A special thanks to the crew who took me out for a drink at <a href="http://www.thebrockpub.com/" title="The Brock Pub">The Brock Pub</a>, including Kathy MacDonald (from <a href="http://www.brockvillehouses.com" title="Brockville real estate agents">Brockville real estate agents</a> the <a href="Brockville%20real%20estate%20agents" title="Brockville real estate agents">Keary Team</a>), Taira Kirkland (a very talented and highly knowledgeable <a href="http://www.tairakirkland.com/" title="Brockville web designer">Brockville web designer</a>), and Dave Holmes (from <a href="http://www.testworx.ca/" title="high end server">high end server</a> vendor <a href="http://www.testworx.ca/" title="Testworx">Testworx</a>), who brought along his lovely wife Stephanie.</p><br /><br /><p>I think the talk went well despite yesterday's incredible wind actually knocking out power to the venue (they were worried the projector might strain their backup generator and it sure did and the power died as I wrapped up :). The crowd's tech knowledge spanned everything from very casual web use to bloggers and SEO-fanatics, so I started off with a quick review of the basics (e.g.: Web 1.0's one way street vs. Web 2.0's participatory conversation), and then jumped into blogging, social media, search, ecom, and collaboration. We covered a lot in an hour and some people were starting to get a bit of the Information Overload glaze in their eyes, so I wrapped up with an encouragement to take advantage of the wealth of free software and opportunity and get out there and experiment. I'm on the train on the way back to Toronto now, but will post the slides to SlideShare from a more reliable net connection for anyone interested.</p>]]></description>
				<category>Taking Care of Business</category>
				<pubDate>Thu, 10 Jan 2008 07:00:00 EST</pubDate>
			</item>
		<item>
				<title><![CDATA[Happy New Year! Help Make the World Better in 2008]]></title>
				<author>Jay Goldman &lt;info@radiantcore.com&gt;</author>
				<link>http://www.radiantcore.com/blog/archives/02/01/2008/happy-new-year-zerofootprint-crunchies</link>
				<guid isPermaLink="true">http://www.radiantcore.com/blog/archives/02/01/2008/happy-new-year-zerofootprint-crunchies</guid>
				<comments>http://www.radiantcore.com/blog/archives/02/01/2008/happy-new-year-zerofootprint-crunchies#comments</comments>
				<description><![CDATA[<p>Welcome to 2008! Make yourself at home :) We hope that your year is a wonderful and successful one.</p><br /><br /><p>We resolved to stop making resolutions we couldn't keep — did you make any fun resolutions? Leave 'em in the comments and we'll drop by your blog later this year to remind you about them :)</p><br /><br /><p>While you're here, why not help make the world a little better in the new year? Our good friends at <a href="http://www.zerofootprint.net" title="Zerofootprint">Zerofootprint</a>, with whom we've been doing quite a lot of work lately (stay tuned for some exciting announcements!), have been nominated for a very prestigious <a href="http://vote.crunchies.techcrunch.com/" title="TechCrunch Crunchies 2007">TechCrunch Crunchy Award</a> in the <a href="http://vote.crunchies.techcrunch.com/category/view/worldimprovement" title="TechCrunch Crunchies 2007 World Improvement Category">"Most likely to make the world a better place" category</a>, and they could really use your vote! <a href="http://vote.crunchies.techcrunch.com/category/view/worldimprovement" title="TechCrunch Crunchies 2007 World Improvement Category">Visit the Crunchies site and vote</a> for them right away. The world appreciates it!</p>]]></description>
				<category>Taking Care of Business</category>
				<pubDate>Wed, 02 Jan 2008 12:00:00 EST</pubDate>
			</item>
		<item>
				<title><![CDATA[Happy Holidays from Radiant Core!]]></title>
				<author>Jay Goldman &lt;info@radiantcore.com&gt;</author>
				<link>http://www.radiantcore.com/blog/archives/25/12/2007/happy-holidays-from-radiant-core</link>
				<guid isPermaLink="true">http://www.radiantcore.com/blog/archives/25/12/2007/happy-holidays-from-radiant-core</guid>
				<comments>http://www.radiantcore.com/blog/archives/25/12/2007/happy-holidays-from-radiant-core#comments</comments>
				<description><![CDATA[<p>It's always a fun time of year at the Radiant Core compound as our kitchen counter slowly fills up with cards from all our friends, and we've had a lot of fun designing, printing, signing, and sending our own in year's past. This year we thought about all the paper and energy required to do the printing and mailing, and we decided we would save the trees and electricity by doing an eCard. Enjoy!</p><br /><br /><p style="text-align: center;"><a href="javascript:photoPopup('http://www.radiantcore.com/images/blogposts/RadiantCore2007HolidayCard.png','Happy Holidays!',700,401)" title="See the full size card"><img src="http://www.radiantcore.com/images/blogposts/RadiantCore2007HolidayCardThumbnail.jpg"><br />Click for the full size card</a></p>]]></description>
				<category>Taking Care of Business</category>
				<pubDate>Tue, 25 Dec 2007 10:17:00 EST</pubDate>
			</item>
		<item>
				<title><![CDATA[Excitin' Eli: Two Big Launches!]]></title>
				<author>Jay Goldman &lt;info@radiantcore.com&gt;</author>
				<link>http://www.radiantcore.com/blog/archives/20/12/2007/exciting-eli</link>
				<guid isPermaLink="true">http://www.radiantcore.com/blog/archives/20/12/2007/exciting-eli</guid>
				<comments>http://www.radiantcore.com/blog/archives/20/12/2007/exciting-eli#comments</comments>
				<description><![CDATA[<p>One of the best things about being part of the Toronto technology scene is all the awesome people we get to meet and hang out with. One of my favourites, by a long way, is <a href="http://singer.to/index.php?page_id=10" title="Eli Singer">Eli Singer</a>. Among many other things, Eli is the founder of the very popular <a href="http://www.casecamp.org" title="CaseCamp">CaseCamp</a> series of events (think <a href="http://www.barcamp.org" title="BarCamp">BarCamp</a> for marketers), one of my Co-Conductors from <a href="http://toronto.transitcamp.org" title="TransitCamp">TransitCamp</a>, one of my co-authors on a <a href="http://www.hbsp.harvard.edu/products/hbr/index.html" title="Harvard Business Review">Harvard Business Review</a> article being published in February, and an all-around swell guy. Eli had two big announcements on his blog today: the relaunch of the <a href="http://www.singer.to" title="The Daily Grind">blog</a> itself and his very excitement career move over to <a href="http://www.segalcommunications.com" title="Segal Communications">Segal Communications</a> as their Director of Social Media. Congrats Eli!</p>]]></description>
				<category>Taking Care of Business</category>
				<pubDate>Thu, 20 Dec 2007 21:00:00 EST</pubDate>
			</item>
		<item>
				<title><![CDATA[Will it fly? How to evaluate a new product idea]]></title>
				<author>Jay Goldman &lt;info@radiantcore.com&gt;</author>
				<link>http://www.radiantcore.com/blog/archives/17/12/2007/will-it-fly</link>
				<guid isPermaLink="true">http://www.radiantcore.com/blog/archives/17/12/2007/will-it-fly</guid>
				<comments>http://www.radiantcore.com/blog/archives/17/12/2007/will-it-fly#comments</comments>
				<description><![CDATA[<p>If you're anything like me, the title "<a href="http://evhead.com/2007/12/how-to-evaluate-new-product-idea.asp" title="Evhead: Will it fly?">Will it fly?</a>" immediately made you think of <a href="http://www.willitblend.com" title="Will it blend?">Will it blend?</a>. Well clear your head of any marketroid type promotion because this is serious talk! <a href="http://www.evhead.com" title="Ev Williams">Ev Williams</a>, co-mastermind behind <a href="http://www.blogger.com" title="Blogger">Blogger</a> and <a href="http://www.twitter.com" title="Twitter">Twitter</a>, has written a brilliant blog post about <a href="http://evhead.com/2007/12/how-to-evaluate-new-product-idea.asp" title="Evhead: will it fly? how to evaluate a new product idea idea is going to fly">how to evaluate if a new product idea idea is going to work</a>. He's developed a seven point metric which you can use to pretty quickly decide whether you're barking down the right track:</p><br /><br /><ol><li>Tractability: How difficult will it be to launch a worthwhile version 1.0?</li><li>Obviousness: Is it clear why people should use it?</li><li>Deepness: How much value can you ultimately deliver?</li><li>Wideness: How many people may ultimately use it?</li><li>Discoverability: How will people learn about your product?</li><li>Monetizability: How hard will it be to extract the money?</li><li>Personally Compelling: Do you really want it to exist in the world?</li></ol>He's done a great job of explaining each of the seven points and uses a whole bunch of real world examples (e.g.: <a href="http://www.hotornot.com" title="HotOrNot">HotOrNot</a> is deeper than you think, <a href="http://www.dogster.com%22" title="Dogster">Dogster</a> is wider, etc.). His own answer to number 6 surprised me in that Ev feels Twitter will be more monetizable than Blogger was. I'm a big fan of the service and use it regularly (find me <a href="http://www.twitter.com/chesh2000pro/" title="Jay on Twitter">here</a>), and I can't wait to see what plans Ev and Biz have for it, but it's not very obvious how those plans involve making money.<p></p><br /><br /><p>If you're developing a new product — or even just thinking of doing so — do yourself a favour and read the post to get a sense of where you stand. It's obviously not gospel (and sometimes the best ideas come out of left field and can't even be charted on existing metrics), but it's a really good step further down the road and will help you prepare for some of the questions investors are likely to ask if you go in that direction.</p>]]></description>
				<category>Taking Care of Business</category>
				<pubDate>Mon, 17 Dec 2007 16:35:00 EST</pubDate>
			</item>
		<item>
				<title><![CDATA[Email Standards Project]]></title>
				<author>Jay Goldman &lt;info@radiantcore.com&gt;</author>
				<link>http://www.radiantcore.com/blog/archives/16/12/2007/email-standards-project</link>
				<guid isPermaLink="true">http://www.radiantcore.com/blog/archives/16/12/2007/email-standards-project</guid>
				<comments>http://www.radiantcore.com/blog/archives/16/12/2007/email-standards-project#comments</comments>
				<description><![CDATA[<p>We've always been big fans of the work of <a href="http://www.webstandards.org" title="The Web Standards Project">The Web Standards Project</a>, tirelessly fighting for support from browser makers and encouraging web developers to jump on the standards train. Everything we do is fully standards compliant and we make every effort to keep our team up to date with industry best practises (and to innovate some of our own!), so it's no surprise that we're throwing the full weight of our support behind the new <a href="http://www.email-standards.org" title="Email Standards Project">Email Standards Project</a>. Launched in part by the fine folks at <a href="http://www.freshview.com/" title="Freshview">Freshview</a> (makers of the awesome <a href="http://www.campaignmonitor.com" title="Campaign Monitor">Campaign Monitor</a>), their stated goal is:</p><blockquote>The Email Standards Project works with email client developers and the design community to improve web standards support and accessibility in email.</blockquote><p>The fruits of their labour is already visible in things like the compliance reports for various email clients (<a href="http://www.email-standards.org/clients/apple-mail/" title="ESP: Apple Mail">Apple Mail [Excellent]</a>, <a href="http://www.email-standards.org/clients/gmail/" title="ESP: Gmail">Gmail [Poor]</a>, <a href="http://www.email-standards.org/clients/microsoft-outlook-2007/" title="ESP: Outlook 2007">Outlook 2007 [Poor]</a>, and <a href="http://www.email-standards.org/clients/windows-live-hotmail/" title="ESP: Windows Live Hotmail">Windows Live Hotmail [Average]</a> to name a few), and in their development of an <a href="http://www.email-standards.org/acid-test/" title="ESP: Acid Test">email Acid Test</a> to compliment The Web Standards Project <a href="http://www.webstandards.org/files/acid2/test.html" title="WSP: Acid Test 2">web version</a>. Standards make the world better for everyone, so if you work with email, read it, or send it (which should cover just about everyone who reads this blog), you should stop by their site and lend a hand. <br /></p>]]></description>
				<category>Marketing, Taking Care of Business</category>
				<pubDate>Sun, 16 Dec 2007 22:40:00 EST</pubDate>
			</item>
		<item>
				<title><![CDATA[Marc Orchant Get Well Thoughts]]></title>
				<author>Jay Goldman &lt;info@radiantcore.com&gt;</author>
				<link>http://www.radiantcore.com/blog/archives/03/12/2007/marcorchantheartattack</link>
				<guid isPermaLink="true">http://www.radiantcore.com/blog/archives/03/12/2007/marcorchantheartattack</guid>
				<comments>http://www.radiantcore.com/blog/archives/03/12/2007/marcorchantheartattack#comments</comments>
				<description><![CDATA[<p>Blogging is usually a happy activity filled with the thrill of shared knowledge and discovery, but every happiness has a dark flip side and that's where this post lives. I first met Marc Orchant at ETech07 in San Diego and our hilarious conversations (with <a href="http://www.davidcrow.ca" title="David Crow">David Crow</a>) stand out in my memory as one of the highlights of the trip. We stayed in fairly close touch after that and shared a few Skype chats before we had a chance to reconnect at <a href="http://www.radiantcore.com/blog/archives/14/04/2007/web20expo" title="Web2.0Expo Bound">Web2.0Expo</a> in San Francisco. Marc and I laughed our way through an hour long Skype video session last Wednesday, catching up on the latest happenings in the tech world and in our own lives.</p><br /><br /><p>So, it was with much sadness that I read the news this morning. As reported on <a href="http://us.blognation.com/2007/12/03/marc-orchant-suffers-massive-coronary/#comment-4036" title="blognation: Marc Orchant Suffers Massive Coronary">blognation</a> by Marc's close friend Oliver, he suffered a massive coronary sometime between 7:30 and 8:10 am yesterday and was rushed to the <a href="http://www.phs.org/PHS/hospitals/hospitals/abqpres/index.htm">Presbyterian Hospital</a> in Albuquerque, New Mexico, where he remains in critical condition and is not expected to regain consciousness for the next 24 - 48 hours. Our thoughts go out to Marc, his wife Sue, and his son Jason, as well as to the entire tech community who have been touched by his generosity. If it were possible for this world-spanning network of people to produce full and rapid recoveries as well as we produce the technology Marc so lovingly reports on, we would do nothing but.</p><br /><br /><p>For those of you wishing to send cards, gifts, or other happy thoughts in physical form:<br /><br /> Presbyterian Hospital<br /> Cardiac Care Unit Bed #3<br /> 1100 Central Ave SE<br /> Albuquerque, NM 87106<br /><br />The hospital also offers a service through which you can send patients a <a href="http://www.phs.org/PHS/hospitals/content/card/index.htm" title="Presbytarian: Send a Virtual Card">virtual card</a>.</p><br /><br /><p><strong>Update:</strong> Oliver Starr is blogging <a href="http://owstarr.com/marc-orchant-updates-and-information/" title="Oliver Starr: Marc Orchant Updates and Information">status updates on Marc's condition</a> on his blog. Please visit there for the latest news and link to that page rather than the original Blognation story.<br /></p>]]></description>
				<category>Taking Care of Business</category>
				<pubDate>Mon, 03 Dec 2007 11:00:00 EST</pubDate>
			</item>
		<item>
				<title><![CDATA[Deconstructing Facebook Beacon JavaScript]]></title>
				<author>Jay Goldman &lt;info@radiantcore.com&gt;</author>
				<link>http://www.radiantcore.com/blog/archives/23/11/2007/deconstructingfacebookbeaconjavascript</link>
				<guid isPermaLink="true">http://www.radiantcore.com/blog/archives/23/11/2007/deconstructingfacebookbeaconjavascript</guid>
				<comments>http://www.radiantcore.com/blog/archives/23/11/2007/deconstructingfacebookbeaconjavascript#comments</comments>
				<description><![CDATA[<div id="syndicatePage">Hello! If you enjoy this post, could you take a moment to stop by <a href="http://digg.com/programming/Deconstructing_Facebook_Beacon_JavaScript" title="Digg: Deconstructing Facebook Beacon JavaScript">Digg</a> and help promoted it? Thanks!</div><br /><br /> <p>On November 6th, 2007, Facebook launched a series of new tools to help advertisers target the 54 million people now regularly using their site. They're still throwing around a 3% weekly growth rate and have a target of 60 million active users by the end of the year, so it's not hard to picture the day in the not-so-distant future when hospitals Facebook babies before handing them over and the little bundle of joy comes with a neural implant that pokes their parental units when the diaper is full.</p><br /><br /><p>The new tools round out the <a href="http://www.facebook.com/business" title="Facebook Business">Facebook Business</a> offerings to an even six:</p><ul>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; &nbsp;<li><a href="http://www.facebook.com/business/?socialads" title="Facebook: Social Ads"><img src="http://static.ak.facebook.com/images/business_portal/socialads_48.png?12:67999" style="vertical-align: middle;" height="42" width="48"> Social Ads</a></li>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; &nbsp;<li><a href="http://www.facebook.com/business/?pages" title="Facebook: Pages"><img src="http://static.ak.facebook.com/images/business_portal/pages_48.png?12:67999" style="vertical-align: middle;" height="42" width="48"> Pages</a></li>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; &nbsp;<li><a href="http://www.facebook.com/business/?beacon" title="Facebook: Beacon"><img src="http://static.ak.facebook.com/images/business_portal/beacon_48.png?12:67999" style="vertical-align: middle;" height="42" width="48"> Beacon</a></li>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; &nbsp;<li><a href="http://www.facebook.com/business/?insights" title="Facebook: Insights"><img src="http://static.ak.facebook.com/images/business_portal/insights_48.png?12:67999" style="vertical-align: middle;" height="42" width="48"> Insights</a></li>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; &nbsp;<li><a href="http://www.facebook.com/business/?platform" title="Facebook: Platform"><img src="http://static.ak.facebook.com/images/business_portal/applications_48.png?12:68202" style="vertical-align: middle;" height="42" width="48"> Platform</a></li>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; &nbsp;<li><a href="http://www.facebook.com/business/?polls" title="Facebook: Polls"><img src="http://static.ak.facebook.com/images/business_portal/polls_48.png?12:67999" style="vertical-align: middle;" height="42" width="48"> Polls</a></li></ul><p>Platform and Polls are old news to anyone following the company, so the really interesting news is in the other four. All of them are very much interlinked, so that you create a Page for your brand or product, advertise it through Social Ads to a very targeted market, learn about your success through Insights, and connect to your off-Facebook (off-Book?) service via Beacon, build custom apps for your Page on Platform, and learn about your users through Polls. It's a marketer's dream, but what does it mean for you as a user? The web is somewhat up in arms about Beacon particularly because it just stinks of privacy violations, at least if you care about things like companies tracking your every move online. This post is going to dig deep in Beacon and see what makes it tick from a purely technical perspective, but we'd be happy to do a follow-up post about the ethical question if there's enough interest. Leave a comment and let us know!</p><br /><br /><h2>Pinging Beacon</h2><p>This post is an in-depth look at Beacon, and is broken down into a few sections to make it easier for you to navigate:</p><br /><ul><li><a href="http://www.radiantcore.com/blog/archives/23/11/2007/deconstructingfacebookbeaconjavascript#nutshell" title="Beacon in a Nutshell">Beacon in a Nutshell:</a> an overview of Beacon and a visual tour of the user interface elements</li><li><a href="http://www.radiantcore.com/blog/archives/23/11/2007/deconstructingfacebookbeaconjavascript#10000" title="Beacon from 10,000 Feet">Beacon from 10,000 Feet:</a> a look at the technology behind Beacon from way up high. Read this if you don't want the finer details but do want an idea of how it works.</li><li><a href="http://www.radiantcore.com/blog/archives/23/11/2007/deconstructingfacebookbeaconjavascript#blocking" title="Blocking Beacon">Blocking Beacon:</a> if you're concerned about privacy and want to stop Beacon, check this part out.</li><li><a href="http://www.radiantcore.com/blog/archives/23/11/2007/deconstructingfacebookbeaconjavascript#code" title="Walking through the Code">Walking through the Code:</a> this is the section for you if you're the type of person who loves reading code listings and wants to know exactly what makes it tick.</li></ul><br /><br /><h2><a name="nutshell"></a>Beacon in a Nutshell</h2><p>Here's what Facebook has to say:</p><blockquote>Allow your customers to share with their friends the actions they take on your website. For user actions you define, Facebook Beacon will publish a story in the user's profile and to friends' News Feeds with a link back to your site.</blockquote><p>What that means in real terms, is that you can add a recipe to your recipe box on <a href="http://www.epicurious.com" title="Epicurious">Epicurious</a>, and you'll get a very familiar looking Facebook pop-up in the bottom right corner of your window letting you know that your new recipe is being sent to your news feed:</p><br /><br /><p style="text-align: center;"><img src="http://www.radiantcore.com/images/blogposts/facebookBeacon/facebook-toast.png" alt="Facebook Beacon Pop-up Window (a.k.a. Toast)" height="134" width="366"></p><br /><br /><p>If you do nothing, you have effectively opted-in and you have consented for the item to be published (i.e.: Facebook will assume your consent to publish the content). The window will disappear eventually, and the next time you log into Facebook, you'll see a notice like this one at the top of your homepage:</p><br /><br /><p style="text-align: center;"><img src="http://www.radiantcore.com/images/blogposts/facebookBeacon/facebook-notification.png" alt="Facebook Epicurious Notification" height="70" width="441"></p><br /><br /><p>If you go to your Profile page, the items will appear mixed in with everything else in you mini-feed:</p><br /><br /><p style="text-align: center;"><img src="http://www.radiantcore.com/images/blogposts/facebookBeacon/facebook-mini-feed.png" alt="Facebook Mini-Feed" height="36" width="381"></p><br /><br /><p>You'll notice that those two screen captures show different recipes being added, which is because Beacon isn't entirely without issues. Although I've been playing with it for a few hours now, items about Epicurious recipes stopped being added to my feed just after 7:30pm. There may be some internal limitations applied by the algorithm to stop feeds from being overloaded with actions from any one site, or it might just be broken :). The <a href="http://www.epicurious.com/services/help/facebook" title="Epicurious: Facebook Action Sharing and Story Publishing">help page</a> on Epicurious explains that they are sending four types of actions to Facebook:</p><br /><ol>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; &nbsp;<li>Rate a recipe</li>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; <li>Review a recipe</li>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; <li>Add a recipe to your Recipe Box</li>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; <li>Register on Epicurious</li></ol><br /><br /><p>Encounters with Beacon are slowly starting to be reported on other sites as well. A post from yesterday on Groundswell documents a <a href="http://blogs.forrester.com/charleneli/2007/11/close-encounter.html" title="Groundswell: Close encounter with Facebook Beacon">Close encounter with Facebook Beacon</a> in which <a href="http://www.forrester.com/rb/analyst/charlene_li" title="Charlene Li">Charlene Li</a> (Vice President, Principal Analyst for Forrester Research) had her first run-in on <a href="http://www.overstock.com" title="Overstock.com">Overstock.com</a>. In her post, she explains how she bought a coffee table from that site and was surprised to discover, when she logged into Facebook later that week, that there was a notice at the top of her page about the purchase:</p><br /><br /><p style="text-align: center;"><img src="http://www.radiantcore.com/images/blogposts/facebookBeacon/facebook-overstock.jpg" alt="Charlene's Facebook Mini-Feed" height="118" width="440"></p><br /><br /><p>Charlene should have been shown the pop-up window as well but she might have missed it or something might have failed to show it while she was on Overstock (there's a slight delay before it pops up, so it's possible that she navigated away from the page or closed the window before she saw it). It's unfortunate that it didn't work as advertised because, as she says:</p><blockquote>The biggest problem is the lack of transparency. Facebook is right in that I would really like to have some things that I do on third party sites to conveniently appear in newsfeed, e.g. events I'm attending from Evite or eBay/craigslist listings so that my friends know about them. That's the promise of Beacon. But I need to be in control and not get blindsided as I did in the example above. I was seriously wigged out, but wouldn't have been if Overstock had simply told me that they were inserting a Facebook Beacon and given me the opportunity at that time to opt-in to Beacon.</blockquote><p>As I mentioned above, this isn't a post about the privacy or security concerns of Beacon (though it will address some of them below). There's some pretty neat web technology at play which we thought would interest our more technical readers, and so, just like we used to do with Dad's calculator we're going to take Beacon apart and put it back together again (hopefully in one piece – sorry Dad!).</p><br /><br /><h2><a name="10000"></a>Beacon from 10,000 Feet</h2><p>That basically wraps up our tour of how Beacon does what it does. It's a fairly long explanation, so here's a quick summary:</p><br /><ol>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; <li>The partner site page includes the beacon.js file, sets a <pre style="margin: 0px; display: inline;">&lt;meta&gt;</pre> tag with a name, and then calls <em>Facebook.publish_action</em>.</li>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; <li><em>Facebook.publish_action</em> builds a query_params object and then passes it to <em>Facebook._send_request</em>.</li>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; <li><em>Facebook._send_request</em> dynamically generates an <pre style="margin: 0px; display: inline;">&lt;iframe&gt;</pre> which loads the URL http://www.facebook.com/beacon/auth_iframe.php and passes the query_params. At this point, Facebook now knows about the news feed item whether you choose to publish it or not.</li>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; <li>The <pre style="margin: 0px; display: inline;">&lt;iframe&gt;</pre> loads a <em>facebook_helper.html</em> file, which lives on the partner site, and which contains a call to <em>Facebook.process_message_from_helper</em>.</li>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; <li><em>Facebook.process_message_from_helper</em> parses a call to <em>Facebook._perform_action</em> from its own query_string and calls it.</li>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; <li><em>Facebook._perform_action</em> dynamically creates the toast pop-up and displays it in the bottom right corner of the window.</li>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; <li>The user is given the choice of cancelling the publication (i.e.: opting-out), which will cause the item not to appear in their news feed.</li></ol><br /><br /><p>And there you go! A very clever series of steps to allow for a very simple integration by partners and a neat side-step of the Cross-site Scripting security features in modern browsers.</p><br /><br /><h2><a name="blocking">Blocking Beacon</a></h2><p>Those of you wearing tin foil hats (or hats at all, really), are probably wondering how you can block this nefarious beast from spreading all of your secrets. You've got a few options:</p><br /><ul><li><strong>If you're not worried about Facebook knowing what you do but are worried about your friends finding out</strong>, you can go into the <a href="http://www.facebook.com/privacy.php?view=unconfirmed_actions" title="Facebook: Privacy Settings for External Websites">External Websites</a> area of your <a href="http://www.facebook.com/privacy.php" title="Facebook: Privacy">Privacy</a> settings and set specific sites to never publish. They'll only show up after you've triggered them the first time, so the list will only contain sites you've already visited which are Beacon-enabled.</li>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; <li><strong>If you're worried about Facebook and you're friends knowing what you do on other sites</strong>, make sure you don't browse other sites while you're logged into Facebook. When you add a recipe to your recipe box and aren't logged in, a request is still made for the beacon.js file and gets as far as creating the <pre style="margin: 0px; display: inline;">&lt;iframe&gt;</pre> and loading auth_iframe in it, but that page now returns "no user" and the process stops.</li>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; <li><strong>If you're paranoid about the entire process (or don't trust yourself to always log out of Facebook before browsing other sites)</strong>, and you just want to make sure that nothing gets through, and you're using Firefox, follow Nate Weiner's excellent instructions in his <a href="http://www.ideashower.com/blog/block-facebook-beacon/" title="the IDEA SHOWER: Block Facebook Beacon">Block Facebook Beacon</a> post (basically, install the <a href="https://addons.mozilla.org/en-US/firefox/addon/3145" title="Add-ons: BlockSite">BlockSite</a> add-on and add www.facebook.com/beacon/* and facebook.com/beacon/* to the list). If you're running InternetExplorer, you can try following <a href="http://www.mvps.org/winhelp2002/restricted.htm" title="Adding sites to the restricted zone">these instructions</a> to add the same two URLs to your restricted zone, but your life would really be much improved by <a href="http://www.getfirefox.com" title="Get Firefox!">downloading Firefox</a> so I'd recommend you do that instead. <strong>UPDATE: </strong> we've confirmed that the exceptionally useful <a href="https://addons.mozilla.org/en-US/firefox/addon/1865" title="Mozilla Add-ons: AdBlockPlus">AdBlockPlus</a> for Firefox will also block Beacon if you add a pattern for http://*facebook.com/beacon* to the list of filters. The script tag embed for the beacon.js file gets blocked which prevents the rest of the app from working. Note that you can set ABP to be disabled for certain sites (a virtual necessity if you use them often and they have heavy Flash requirements), which will in turn allow Beacon to work.<br /></li></ul><br /><br /><h2><a name="code"></a>Walking Through the Code</h2><p><strong>IMPORTANT NOTE: All of the code shown here is copyright and all rights reserved and please-don't-sue-us owned by the respective parties who wrote and publish it. It was not disassembled for profit and we used only publicly available free tools (<a href="http://www.mozilla.com/firefox/" title="Mozilla Firefox">Firefox</a> with the <a href="http://addons.mozilla.org/firefox/addon/1843" title="Mozilla Add-ons: FireBug">FireBug</a> and <a href="http://addons.mozilla.org/firefox/addon/966" title="TamperData">TamperData</a> Add-Ons installed) and source which was available through standard web protocols.</strong></p><br /><br /><p>It has traditionally been very difficult to connect two websites together and exchange information between them without building complex backend integrations. Sure, they could have built Beacon by implementing a <a href="http://en.wikipedia.org/wiki/Web_service" title="Wikipedia: web service">web service</a> in which the third party servers (like Epicurious) would contact the Facebook services through an entirely backend channel whenever I did a certain something (like add a recipe to my recipe box), but that would have meant asking partners to invest some fairly serious engineering effort in order to support it, and the opportunity to display a fun pop-up window to allow me to opt-out would have been gone. Instead, Facebook followed the route of having partners embed a JavaScript file on their site, and make a simple JavaScript call to populate the item. Let's take a look at an example:</p><br /><br /><p>I'm a big fan of risotto – so big, in fact, that one of the reasons I married my wife was to get better access to her Risotto Milanese. I can't think of anything I'd really rather have for breakfast, so we're going to use a recipe for <a href="http://www.epicurious.com/recipes/food/views/240748" title="Epicurious: Breakfast Risotto">Breakfast Risotto</a> as our example (you should load that page in another tab so that you can flip back and forth).</p><br /><br /><p>If you take a look at the source and search for Facebook, you'll find two entries. The first is on line 133 and sets up the name of this item for the news feed entry:</p><br /><br /><pre>&lt;meta name="facebook_label" content="Breakfast Risotto Recipe"&gt;</pre><br /><p>The second is on line 167 and actually pulls in the Facebook JavaScript file:</p><br /><br /><pre>&lt;script type="text/javascript" src="http://facebook.com/beacon/beacon.js.php?source=5194643289"&gt;&lt;/script&gt;</pre><br /><p>The source ID (5194643289) identifies Epicurious and corresponds to a list maintained internally by Facebook, which allows them to validate sources. You can actually load that file <a href="http://facebook.com/beacon/beacon.js.php?source=5194643289" title="Facebook: beacon.js">directly</a> and you'll find a suprisingly well formatted JavaScript class called window.Facebook. We'll dig into it a little bit later on, but the first method deserves mention all by itself, entirely based on its name:</p><br /><br /><pre>write_awesome : function(url) {<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; &nbsp;return '';<br />},<br /></pre><br /><p>The two lines we're particularly interested in on the Epicurious page have to do with adding this recipe to our recipe box, and you'll find them on lines 1195 and 1197:</p><br /><br /><pre>&lt;a href="javascript:void(0);" id="addRecipeButton"&gt;Save To Recipe Box&lt;/a&gt;<br />&lt;script type="text/javascript"&gt;new LoginRequiredLink('240748',<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;'addRecipeButton',<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;'/user/recipebox/save?id=240748&amp;returnto=/recipes/food/views/240748',<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;'recipeBox',<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;'recipeBox');&lt;/script&gt;</pre><br /><p>For all intents and purposes, this has nothing to do with Beacon and basically just rewrites the addRecipeButton link to point to the right URL for saving it if you're logged in (note: a more modern approach would be to use Ajax to send a message to the server to save this recipe and prevent having to actually go to a different page, which would improve the experience here since the back button from the save page takes you back to effectively the same page in the pre-saved state). If you want to follow the rest of the way through this you're going to need to register an account on Epicurious, so go ahead and do that and I'll wait right here. Done? Great. Reload that page and you should now have an enabled Save to Recipe Box" button. Now, before you go and click on it to watch Beacon in action, you'll need to make sure that you've logged into Facebook in another tab or window. <strong>This is critical and is in fact overlooked by a lot of the people who are upset about the potential privacy violations: don't leave yourself logged into Facebook and you won't have a problem with other people using your machine and logging Beacon events.</strong> Go ahead and login and then hit that button.</p><br /><br /><p>You should now be on a page which shows the recipe as added. There's a lot of Epicurious-centered JavaScript at play on this page which we're not overly concerned about, so I'm not going to mention it except where it affects the Beacon integration. As on the previous page, we have a </p><pre style="margin: 0px; display: inline;">&lt;meta&gt;</pre> tag with the recipe name in it, and the inclusion of the JavaScript file (line 133 and 167 again), but now we have some more code which actually makes the magic happen. The next mention of Facebook is way down on line 1184, in a function called runOnLoad:<p></p><br /><br /><pre>&lt;script language="javascript"&gt;<br />&nbsp;&nbsp;&nbsp; runOnLoad(function() {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (Facebook) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Facebook.publish_action('queue',<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;'http://www.epicurious.com/recipes/food/views/240748?mbid=fbfeed');<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; });&lt;/script&gt;</pre><br /><p>Basically, if the Facebook object was instantiated when the beacon.js file was included, go ahead and publish an action of type 'queue' with the URL of this page as the link (with a tracker on the end so Epicurious knows you came to the recipe from a Facebook feed). The runOnLoad function gets called down on line 1330 from inside a </p><pre style="margin: 0px; display: inline;">&lt;script&gt;</pre> tag. Now we're making progress! Let's take a look at what the publish_action function does – you'll find it on line 20 of beacon.js in unadulterated form, or right here all marked up:<p></p><br /><br /><pre>publish_action : function(action, urls) {<br />&nbsp;&nbsp;&nbsp; urls = urls || window.location.href;<br /></pre><br /><p>Set the urls variable to the value passed in or the location of the current page.</p><br /><br /><pre>&nbsp;&nbsp;&nbsp; setTimeout(function() {</pre><br /><p>Set a timeout of 50 milleseconds and then call the following function.</p><br /><br /><pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (Facebook._BROADCAST_ACTIONS[action]) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var query_params = [['action_name', action]];</pre><br /><p>Check to see if we were passed a valid type of action and set the action_name to the value passed in. The list of available actions is quite extensive: buy, wish_list, queue, sign_up, bid, review, add, book, comment, create, design, download, find, fly, get, join, play, post, rate, rent, shop, stay, subscribe, support, update, view, vote, watch, enjoy, order.</p><br /><br /><pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (typeof urls == 'object') {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (var i = 0; i &lt; urls.length; ++i) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; query_params = query_params.concat([['urls[' + i + ']', urls[i]]]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; query_params = query_params.concat([['urls[0]', urls]]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Facebook._send_request('http://www.facebook.com/beacon/auth_iframe.php', query_params);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; }, 50);},<br /></pre><br /><p>Manipulate the URL if required to build the request and then send it to facebook using the _send_request function.</p><br /><br /><br /><p>The next piece of code is key to how this whole thing works. Those of you familiar with JavaScript will know that browsers spend a lot of effort preventing something called Cross-Site Scripting (often shortened to XSS). We covered this back in July 2006 with a post on <a href="http://www.radiantcore.com/blog/archives/18/07/2006/5xsstips" title="5 Tips for Protecting Your Site Against XSS">5 Tips for Protecting Your Site Against XSS</a>, and Wikipedia has an excellent a very in-depth look at the issue in their <a href="http://en.wikipedia.org/wiki/Cross_site_scripting" title="Wikipedia: Cross-site Scripting">Cross-site Scripting</a> entry. The gist of it is that you can't have a script from one site run on another site and you can't drop a cookie from one site and read it from another, so how does your news event from Epicurious get posted into Facebook without using a backend server connection? All thanks to the humble _send_request function (line 75 in beacon.js):</p><br /><br /><pre>_send_request : function(url, query_params) {<br />&nbsp;&nbsp;&nbsp; query_params = query_params.concat([['source_id', Facebook._source_id],<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ['random', Math.random()],<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ['ref_url', window.location.href]]);<br />&nbsp;&nbsp;&nbsp; var src = url + '?' + Facebook._form_query_string(query_params);<br /></pre><br /><p>This is pretty simple – parse the info handed to this function and get ready for below.</p><br /><br /><pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; setTimeout(function() {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var ifr = document.createElement('iframe');<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ifr.style.display&nbsp;&nbsp;&nbsp;&nbsp; = 'block';<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ifr.style.width&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = '0px';<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ifr.style.height&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = '0px';<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ifr.style.border&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = '0px';<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ifr.style.margin&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = '0px';<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ifr.style.padding&nbsp;&nbsp;&nbsp;&nbsp; = '0px';<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ifr.style.overflow&nbsp;&nbsp;&nbsp; = 'hidden';<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ifr.style.visibility&nbsp; = 'hidden';<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ifr.src = src;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.body.appendChild(ifr);<br />&nbsp;&nbsp;&nbsp; }, 0);<br />},<br /></pre><br /><p>This is where it all goes down. This code creates an </p><pre style="margin: 0px; display: inline;">&lt;iframe&gt;</pre> on the fly and inserts into the document, using the URL that got passed in from publish_action above.<p></p><br /><br /><p>So, an </p><pre style="margin: 0px; display: inline;">&lt;iframe&gt;</pre> on the page loads content from the Facebook server, getting passed in the action you performed and the URL to link back to. If you look above, you'll see that the <pre style="margin: 0px; display: inline;">&lt;iframe&gt;</pre> is loading content from <a href="http://www.facebook.com/beacon/auth_iframe.php" title="Facebook: auth_iframe.php">http://www.facebook.com/beacon/auth_iframe.php</a>, which you can try to load directly but will likely get an "invalid ref url" error. We can fake it out by passing in the same values which would be built into query_params and passed in: <a href="http://www.epicurious.com/facebook_helper.html?function_name=_perform_action&amp;arg1=null&amp;arg2=a%3A2%3A%7Bi%3A0%3Bi%3A1858902535%3Bi%3A1%3Bs%3A64%3A" b7181317b360040b558a92dcbe83c8c71c5302bc81a663a0c3f9d248c7339551="" %3b}&amp;random="1609429394&quot;" title="Facebook: auth_iframe.php full URL">http://www.epicurious.com/facebook_helper.html?function_name=_perform_action&amp;arg1=null&amp;arg2=&lt;auth_token_redacted&gt;&amp;random=1609429394</a>. Two notes: 1) There's a piece in the URL which looks like it's encoded in <a href="http://en.wikipedia.org/wiki/Json" title="Wikipedia: JSON">JavaScript Object Notation (JSON)</a>, which I've removed for publishing this post. It's impossible to tell by looking at it, but it might contain a key which relates back to my Facebook account. It's not needed for the purposes of understanding the functionality, and if you'd really like to see what it looks like, you can recreate the steps up to this point and check it out for yourself. 2) You'll need to use a URL Encoder to pass in the ref_url parameter – I usually use Eric Meyer's <a href="http://meyerweb.com/eric/tools/dencoder/" title="Meyerweb: URL"> Decoder/Encoder</a>. If you follow that URL, you'll get a page with a simple block of HTML on it, which is what loads in the <pre style="margin: 0px; display: inline;">&lt;iframe&gt;</pre> (it will make a blank page in your browser – view source to see what's in it):<p></p><br /><br /><pre><!--Install this file onto your domain if you want to broadcast your user actions to Facebook.-->&lt;html&gt;&lt;body&gt;&lt;script type="text/javascript"&gt;window.onload = function() {<br />&nbsp;&nbsp;&nbsp; window.top.Facebook.process_message_from_helper(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; window.location.search.substring(1),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; window.location.hash.substring(1));}&lt;/script&gt;<br />&lt;/body&gt;&lt;/html&gt;</pre><br /><p>Nice and short: when the page loads into the </p><pre style="margin: 0px; display: inline;">&lt;iframe&gt;</pre>, call the process_message_from_helper function in the Facebook object at the top level of this window (being the page on Epicurious which instantiated the <pre style="margin: 0px; display: inline;">&lt;iframe&gt;</pre>). You may not have known that window.location had a bunch of really useful properties within it, including search (everything in the query string of a URL, or after the ?), and hash (the anchor tag on a page, or everything after the #). Back to the beacon.js file, line 290:<p></p><br /><br /><pre>process_message_from_helper : function(query_string, hash_string) {<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;var params = Facebook._parse_query_string(query_string);<br /></pre><br /><p>Facebook._parse_query_string is to an internal function (beacon.js, line 276) which pulls about the key/value pairs from the query string (e.g."action_name=queue") and returns an array containing the key and value (e.g.: ["action_name", "queue"]).</p><br /><br /><pre>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;var argument_list = [];<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;var function_name = '';<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;for (var i = 0; i &lt; params.length; ++i) {<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;var key = params[i][0];<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;var val = params[i][1];<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;if (key.substring(0, 3) == 'arg') {<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;argument_list[parseInt(key.substring(3))] = val;<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;}</pre><br /><p>Some of the keys stored in the query_string start with 'argx' to denote that they arguments (where x is an integer indicating which argument this is – arg0, arg1, arg2, etc.). If that's the case, store the value in the argument_list array at that location (e.g.: arg0 goes into the argument_list[0]).</p><br /><br /><pre>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; &nbsp;if (key == 'function_name') {<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; &nbsp;function_name = val;<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; &nbsp;}<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; &nbsp;}<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; &nbsp;Facebook[function_name].apply(null, argument_list);<br />}</pre><br /><p>If the key is 'function_name', then we want to call that function in the Facebook object. That </p><pre style="margin: 0px; display: inline;">if</pre> really could have been an <pre style="margin: 0px; display: inline;">else</pre> (extending the previous <pre style="margin: 0px; display: inline;">if</pre>) since it's impossible for the key to start with arg and be equal to 'function_name', but maybe there's more code to come or something has been removed. Either way, the final step is to call any functions that got passed in and pass them the argument_list which we've built up.<p></p><br /><br /><p>It's interesting to note that none of the arguments which got stored when we built the query_string above started with arg or had a key of function_name. Since we had to fake our way into seeing the auth_iframe.php page, we didn't get a look at the full set of arguments passed into it from Epicurious. The trail would have gone cold here, were it not for the wonderful Firefox add-on called <a href="http://addons.mozilla.org/firefox/addon/966" title="Add-ons: TamperData">TamperData</a>. With the add-on installed and the sidebar open, you can watch all of the GET and POST requests that a page makes as it loads. The recipe save page from Epicurious makes 116 requests to build the page, pulling from three servers (www.epicurious.com, www.google-analytics.com, and www.facebook.com). We only really care about the ones made to Facebook, of which there are 6. The GET call to auth_iframe.php is the one we're after, and it looks like this:</p><br /><br /><blockquote>http://www.facebook.com/beacon/auth_iframe.php?action_name=queue<br />&amp;urls[0]=http%3A%2F%2Fwww.epicurious.com%2Frecipes%2Ffood%2Fviews%2F240748%3Fmbid%3Dfbfeed<br />&amp;source_id=5194643289<br />&amp;random=0.2268030104517741<br />&amp;ref_url=http%3A%2F%2Fwww.epicurious.com%2Frecipes%2Ffood%2Fviews%2F240748%3Frecipename%3DBREAKFAST%2520RISOTTO%26saved_to_box%3Dy</blockquote><br /><p>Which is not dissimilar to the version we constructed. Thanks to TamperData, we can get the response to that request, which contains the following location:</p><br /><br /><blockquote>Location=http://www.epicurious.com/facebook_helper.html?function_name=_perform_action<br />&amp;arg0=queue<br />&amp;arg1=%5B%22http%3A%5C%2F%5C%2Fwww.epicurious.com%5C%2Frecipes%5C%2Ffood%5C%2F<br />views%5C%2F240748%3Fmbid%3Dfbfeed%22%5D<br />&amp;arg2=&lt;auth_token_redacted&gt;<br />&amp;random=1305590124</blockquote><br /><p>When the call gets made from Epicurious rather than by us, the response fits right into the pattern that process_message_from_helper is looking for. In fact, if you go to <a href="http://www.epicurious.com/facebook_helper.html?function_name=_perform_action&amp;arg0=queue&amp;arg1=%5B%22http%3A%5C%2F%5C%2Fwww.epicurious.com%5C%2Frecipes%5C%2Ffood%5C%2Fviews%5C%2F240748%3Fmbid%3Dfbfeed%22%5D&amp;arg2=%3Cauth_token_redacted%3E&amp;random=1305590124" title="Facebook_helper on Epicurious">that URL</a> and view the source, you'll seem the same thing we saw when we loaded auth_iframe directly, except now being served from Epicurious instead of Facebook. Applying what we know from process_message_from_helper, we've now essentially called:</p><br /><br /><pre>_perform_action(queue, ["http://www.epicurious.com/recipes/food/views/240748?mbid=fbfeed"], &lt;auth_token_redacted&gt;, 1305590124);</pre><br /><p>Note that we've made a trip through the Facebook server to get here, which means Facebook has already recorded this news feed item whether we choose to publish it or not. This is a much longer function so I've edited out some parts which are not key to the core functionality. If you'd like to see the whole thing, we're now on line 159 of beacon.js. One thing to note before we dive in: the term 'toast' will only make sense if you've actually seen the pop-up appear. Since it rises up from the bottom edge of the window frame, it looks a lot like toast popping up in a toaster :)</p><br /><br /><pre>_perform_action : function(action_name, urls, auth_token) {<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; &nbsp;Facebook._kill_toast();</pre><br /><p>Although it may sound like it, no one at Facebook has a vendetta against breakfast foods (that we know of). This just kills the window if it's already visible from a previous instantiation.</p><br /><br /><pre>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; var toast = Facebook._toast = document.createElement('div');<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; var query_param = [['action_name', action_name],<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; ['urls', urls],<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; ['source_id', Facebook._source_id],<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; ['ref_url', window.location.href],<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; ['random', Math.random()]];<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; if (auth_token) {<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; query_param.push(['auth_token', auth_token]);<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; }<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; var src = Facebook._action_toast_url + '?' + Facebook._form_query_string(query_param);<br /></pre><br /><p>Create the HTML element that will hold our toast, then setup the query_params. The toast window contains another </p><pre style="margin: 0px; display: inline;">&lt;iframe&gt;</pre> into which we will once again pass our familiar query_params (see below). The next block is formatting for the <pre style="margin: 0px; display: inline;">&lt;iframe&gt;</pre> and has been removed.<p></p><br /><br /><pre>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; [...redacted...]<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; var iframe_style = 'width: 345px; height: auto; left: 0px;'<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;+ 'border: 0px; margin: 0px; padding: 0px; display: block; position: absolute; background: transparent;';<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; toast_inner.innerHTML = '&lt;iframe src="%27%20+%20src%20+%20%27" style="" <br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;allowtransparency="true" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;';</pre><br /><p>Format the </p><pre style="margin: 0px; display: inline;">&lt;iframe&gt;</pre> and then set the innerHTML of the inside of our toast window to contain it, passing in the src variable defined above. _action_toast_url is defined in beacon.js as http://www.facebook.com/beacon/action_toast.php.<p></p><br /><br /><pre>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; var iframe = Facebook._toast_iframe =<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; toast_inner.getElementsByTagName('iframe')[0];<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; iframe.style.bottom = '-150px';<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; toast.appendChild(toast_inner);<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; document.body.appendChild(toast);<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; [...redacted...]<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; }}<br /></pre><br /><p>Lastly, append the inner_toast div to the toast div which we created at the top. The next block calculates the position of the div and sets some style values.</p><br /><br /><p>We're almost done, honest. Referring back to our TamperData output, the URL for the </p><pre style="margin: 0px; display: inline;">&lt;iframe&gt;</pre> in the toast window that actually gets called by Epicurious is:<p></p><br /><br /><pre>http://www.facebook.com/beacon/action_toast.php?action_name=queue&amp;urls=["http%3A%2F%2Fwww.epicurious.com%2Frecipes%2Ffood%2F<br />views%2F240748%3Fmbid%3Dfbfeed"]&amp;source_id=5194643289&amp;ref_url=http%3A%2F%2Fwww.epicurious.com%2Frecipes%2Ffood&gt;%2Fviews%2F240748%3F<br />recipename%3DBREAKFAST RISOTTO%26saved_to_box%3Dy&amp;random=0.820036078758848&amp;auth_token=&lt;auth_token_redacted&gt;</pre><br /><p>If you were logged into Facebook, and I hadn't removed the auth_token, and you load that URL in a window, you would probably see the contents of the toast window rendered in all of its glory. Since you can't do that, I'll just repeat the screenshot of the toast window from above:</p><br /><br /><p style="text-align: center;"><img src="http://www.radiantcore.com/images/blogposts/facebookBeacon/facebook-toast.png" alt="Facebook Beacon Pop-up Window (a.k.a. Toast)" height="134" width="366"></p><br /><br /><p>You have five options at this point:</p><br /><ol>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; <li><strong>Close:</strong> closes the toast window and sends the news item to your news feed.</li>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; <li><strong>Learn More:</strong> takes you to a page on the Epicurious site with more information about the Facebook integration (<a href="http://www.epicurious.com/services/help/facebook" title="Epicurious: Facebook Action Sharing and Story Publishing">Facebook Action Sharing and Story Publishing</a>).</li>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; <li><strong>This isn't me:</strong> pops up a new window with a Facebook login in it so that you can login and add the item to your own news feed. This closes the toast window, but closing the login window without logging in didn't seem to log me out of Facebook. The recipe hasn't shown up in my feed, so I'm assuming that still blocked it from being published.</li>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; <li><strong>No Thanks:</strong> closes the toast window and stops the story from being published.</li></ol><br /><br /><p>One important privacy consideration, despite this not being a privacy post, is that Facebook still knows that you added a recipe to your recipe box (or bought a book on Amazon, or a coffee table on Overstock.com, even if block the item from being posted to your news feed. I haven't seen any evidence here that shows that Beacon is sending along anything other than basically an action type, a name (in the </p><pre style="margin: 0px; display: inline;">&lt;meta&gt;</pre> tag), and a URL to link the name to, but that doesn't mean that it isn't hiding it in some of the encoded values along the way. Also, adding recipes to your recipe box is a lot more innocent than, say, purchasing adult DVDs or registering for Monster.com when you already have a job, so carefully consider what information you're broadcasting.<p></p><br /><br /><h2>Wrapping Up</h2><p>That well and truly brings us to the end of our look at Facebook Beacon. It seems impossible that you might have read all this way down and not have been lulled into sleep, but if you're still awak (hi!) and have questions, leave them in the comments below and I'll do my best to answer them. If you're interested in reading more about this topic, and particularly about the privacy concerns or integration between Beacon and the other Business tools, let me know! Thanks for reading :)</p>]]></description>
				<category>Facebook, JavaScript</category>
				<pubDate>Fri, 23 Nov 2007 17:00:00 EST</pubDate>
			</item>
		<item>
				<title><![CDATA[Hacking Languages with Tim Ferriss]]></title>
				<author>Jay Goldman &lt;info@radiantcore.com&gt;</author>
				<link>http://www.radiantcore.com/blog/archives/08/11/2007/hackinglanguages</link>
				<guid isPermaLink="true">http://www.radiantcore.com/blog/archives/08/11/2007/hackinglanguages</guid>
				<comments>http://www.radiantcore.com/blog/archives/08/11/2007/hackinglanguages#comments</comments>
				<description><![CDATA[One of the best parts about my last trip to San Francisco for the <a href="http://www.radiantcore.com/blog/archives/13/06/2007/goingsupernova">SuperNova conference</a> was the dinner I had with <a href="http://jpdefillippo.com/">Jason Defillippo</a> and <a href="http://www.4hourworkweek.com/ferriss-bio5.htm">Tim Ferriss</a>. Tim is one of the smartest people I've met (and Jason is no slouch either!), so the dinner conversation moved rapidly and bounced from topic to topic like a ping pong game on speed. I've been a rabid Tim fan since, and an avid reader of his <a href="http://www.fourhourworkweek.com/blog/">blog</a>, so it was a pleasure to read yesterday's post on <a href="http://www.fourhourworkweek.com/blog/2007/11/07/how-to-learn-but-not-master-any-language-in-1-hour-plus-a-favor/">language hacking</a>. I love <br />the idea that we can rewire our own brains through concious effort, and Tim shows you a couple of pretty quick steps which allow you to deconstruct a language to pure form, as well as some example sentences which can show you all the hidden tricks and whether it's worth trying to learn it. I would never have thought that:<br /><br /><blockquote>The apple is red.<br />It is John’s apple.<br />I give John the apple.<br />We give him the apple.<br />He gives it to John.<br />She gives it to him.</blockquote>is all you need to know!]]></description>
				<category>Taking Care of Business</category>
				<pubDate>Thu, 08 Nov 2007 13:00:00 EST</pubDate>
			</item>
		<item>
				<title><![CDATA[Google OpenSocial: A Coup By Any Other Name]]></title>
				<author>Jay Goldman &lt;info@radiantcore.com&gt;</author>
				<link>http://www.radiantcore.com/blog/archives/01/11/2007/googleopensocial</link>
				<guid isPermaLink="true">http://www.radiantcore.com/blog/archives/01/11/2007/googleopensocial</guid>
				<comments>http://www.radiantcore.com/blog/archives/01/11/2007/googleopensocial#comments</comments>
				<description><![CDATA[<p>The web is abuzz (as the web usually is), and this time it's Google's forthcoming <a href="http://code.google.com/apis/opensocial" title="Google OpenSocial API">OpenSocial</a> (URL live on Thursday) which has us all <a href="http://www.techcrunch.com/2007/10/30/details-revealed-google-opensocial-to-be-common-apis-for-building-social-apps/" title="TechCrunch: Details Revealed: Google OpenSocial To Launch Thursday">fluttering</a>. The search giant is releasing an Application Programming Interface (API), which basically means that web developers will be able to add social networking features to their sites, which will be shared across the various networks (e.g.: friend information from one can be used to populate friends in another, saving you from re-creating the same network every time your friends decide to move on to a new offering). The API will be clustered around three sets of functions:</p><br /><br /><ol><li>Profile Information (user data)</li><li>Friends Information (social graph)</li><li>Activities (things that happen, News Feed type stuff)</li></ol><br /><br /><p>Looks like OpenSocial won't have its own markup language (Facebook, for example, requires the use of FBML), which means developers will have one fewer thing to learn. The platform is launching with a bunch of partners in place, including <a href="http://www.orkut.com" title="Orkut">Orkut</a> (owned by Google), <a href="http://www.salesforce.com" title="Salesforce">Salesforce</a>, <a href="http://www.linkedin.com" title="LinkedIn">LinkedIn</a>, <a href="http://www.ning.com" title="Ning">Ning</a>, <a href="http://www.hi5.com" title="Hi5">Hi5</a>, <a href="http://www.plaxo.com" title="Plaxo">Plaxo</a>, <a href="http://www.friendster.com" title="Friendster">Friendster</a> (apparently they still exist), <a href="http://www.viadeo.com" title="Viadeo">Viadeo</a> and <a href="http://oracleappslab.com/2007/08/07/oracle-gets-social/" title="Oracle">Oracle</a> (not well known for social networking, but they've got an impressive sounding internal app). 
They've also worked with some of the bigger Facebook developers to get them on the new platform, including <a href="http://www.flixster.com" title="Flixster">Flixster</a>, <a href="http://www.ilike.com" title="iLike">iLike, </a><a href="http://www.rockyou.com" title="RockYou">RockYou</a> and <a href="http://www.slide.com" title="Slide">Slide</a>.</p><br /><br /><p>This is interesting, if for no other reason than that Google has managed to perform a buzzword bingo coup and cram two of the hottest words of 2007 into a single name. Sometimes it feels like the sky is raining <em>social</em> from giant buckets, and you'll be seeing a lot more about <em>open</em> in the coming months as the open source world continues its mainstream push. We're big believers in (and supporters of)  openness and I'm glad to see some of the walls around the garden come down. The <a href="http://developers.facebook.com" title="Facebook Platform" facebook="" platform=""></a> is brilliant in a lot of ways (particularly in their ability to scale and to solve the security issues which typically ruin similar efforts), but your data is very much locked into their site. We'll have a better idea of how OpenSocial will change that when the API is actually released later (and particularly about whether a layer could be developed which allows developers to build Facebook apps on it), and will report back.</p>]]></description>
				<category>Taking Care of Business, Tech Geekery</category>
				<pubDate>Thu, 01 Nov 2007 03:00:00 EST</pubDate>
			</item>
		<item>
				<title><![CDATA[UKTI Trade Mission Trip Report: Day 2]]></title>
				<author>Jay Goldman &lt;info@radiantcore.com&gt;</author>
				<link>http://www.radiantcore.com/blog/archives/31/10/2007/uktitripreport2</link>
				<guid isPermaLink="true">http://www.radiantcore.com/blog/archives/31/10/2007/uktitripreport2</guid>
				<comments>http://www.radiantcore.com/blog/archives/31/10/2007/uktitripreport2#comments</comments>
				<description><![CDATA[<p>The train ride from London to Bristol on Monday evening was uneventful in exactly the way that all travel should be: we left on time, arrived on time, and I had an excellent seatmate the whole way there. Sabine Steinbrecher is the President, CEO, and Founder of <a href="http://www.learninglibrary.com" title="Learning Library">Learning Library.com</a>, who have made a $10 million investment in custom education management and delivery infrastructure. Their stuff sounds really cool and there are a whole number of ways we can work together, which just goes to show that sometimes you have to fly halfway around the world to meet people from your neck of the woods. Sabine also races a custom truck in the <a href="http://en.wikipedia.org/wiki/Baja_1000" title="Wikipedia: Baja 1000">Baja 1000</a> off-road desert race (not, unfortunately, a dessert race), which makes her pretty cool in my book (note to Sabine: a dessert racer would be cooler).</p><br /><br /><p>We stayed at the <a href="http://www.cityinn.com/bristol/" title="Bristol City Inn">City Inn</a>, which turned out to be a refreshingly modern and simple hotel with free ethernet in the room (courtesy of a lovely pink CAT5 cable). We rallied the troops for a fun night on the town, taking advantage of The Commercial House's pretty fantastic pint, burger, and chips for £4.95. Tuesday morning saw us up bright and early for a walk to the <a href="http://www.bris.ac.uk/" title="Bristol University">University of Bristol</a> campus, to pay a vist to <a href="http://www.3cresearch.co.uk" title="3CResearch">3CResearch</a>, a member company doing "convergent technology research for digital media processing and communciations" (in case you're wondering — and I certainly was — the three C's are Communications, Content, and Creativity). We were given a demo of their <a href="http://www.3cresearch.co.uk/item/8" title="3CResearch: Visualise">Visualise</a> project, which delivers streaming video to mobile devices (currently over <a href="http://www.wikipedia.org/wifi" title="Wikipedia: WiFi">WiFi</a> but soon over faster and more pervasive delivery channels like <a href="http://en.wikipedia.org/wiki/HSDPA" title="Wikipedia: HSDPA">HSDPA</a> and <a href="http://en.wikipedia.org/wiki/Wimax" title="Wikipedia: WiMax">WiMax</a>). It was designed to offer a better experience to fans of events like rally racing, which generally involves standing in a cold, wet field for hours on end in the hopes that a car will hurtle past you for an exhilirating 15 seconds. Visualise means you can still stand in the same damp glen, but now you can watch the race from multiple viewpoints on your mobile, as well as peruse stats and driver info (assuming the touchscreen still responds to your frozen fingers). In all seriousness, the technology can be applied to any kind of event and would be great for things like music festivals like <a href="http://www.coachella.com/" title="Coachella">Coachella</a>, at which you would need to clone yourself several times over just to catch half the bands you wanted to see. The demo was followed by a presentation by Dr. Geraint Jones about a number of the other 3CResearch projects, including <a href="http://www.3cresearch.co.uk/item/7" title="3CResearch: Intelligent Content Based Retrieval">Intelligent Content Based Retrieval (ICBR)</a> (analyze video archives and index based on content, motion, etc.) and <a href="http://www.3cresearch.co.uk/item/13" title="3CResearch: Motion Ripper">Motion Ripper</a> (extract motion data from video and apply captured motion signals to computer animation — i.e.: analyze a video of birds flying and animate an electronic bird). Their research is very interesting, if not entirely cutting edge, but I thought the more interesting part was the conversation which erupted over licensing of technology and how pure research facilities can successfully commercialize their ventures. <a href="http://blog.suthakamal.com/" title="Sutha Kamal">Sutha</a> suggested they take a look at the <a href="http://www.media.mit.edu/" title="MIT Media Lab">MIT Media Lab</a> model, which is basically pay-for-play (i.e.: companies can pay an upfront and quite large fee and then have access to all of the research), and I would think there's a lot to be learned from the <a href="http://www.marsdd.com/" title="MaRS Discovery District">MaRS Discovery District</a> and from the University of Toronto's <a href="http://innovations.utoronto.ca/" title="University of Toronto: Innovations Group">Innovations Group</a>.</p><br /><br /><p>We spent the late afternoon and evening at <a href="http://www.watershed.co.uk/" title="Watershed Media Centre">Watershed Media Centre</a>, a facility that reminded me of <a href="http://www.bookshelf.ca/" title="The Bookshelf">The Bookshelf</a> in Guelph, a favourite haunt during my University years. Watershed includes a few cinemas, a caf&amp;eaccute; and some meeting facilities, and was our home for a great mini-trade show event which consisted of 40 <a href="http://www.swscreen.co.uk/" title="South West Screen">South West</a> companies meeting and greeting our Canadian crew. Steve Collett (International Trade Advisor from <a href="http://www.uktradeinvest.gov.uk/" title="UK Trade &amp; Investment">UKTI</a>) started us off, Ian Kelso (from <a href="http://www.interactiveontario.com" title="Interactive Ontario">Interactive Ontario</a>) gave a quick state the union of New Media in the New World, and I followed him with a quick <em>Introducing the Canadians</em> rundown of the companies in the mission (and including a photo of a polar bear cub, two bears making out in the woods, and the poster from South Park: draw your own conclusions). I was followed by Mark Leaver (Director of Development from <a href="http://www.swscreen.co.uk/" title="South West Screen">South West Screen</a>), who mirrored Ian's talk but focused on the South West region of the UK, and then we were treated to a fantastic presentation by Adam Montandon, Director of <a href="http://www.hmcinteractive.co.uk" title="HMC Interactive">HMC Interactive</a>, who have built some truly amazing interactive experiences for <a href="http://www.cadburyworld.co.uk/en/cworld/Experience/tour/fantasy_factory.htm" title="Cadbury's Purple Planet">Cadbury's Purple Planet</a> and <a href="http://www.rog.nmm.ac.uk/" title="The Royal Obeservatory">The Royal Obeservatory</a>. He also has the excuisitely good taste to have fallen in love with a Canadian girl and is working on a (longish) term plan to move to our fair lands to be with her. I cornered him after and insisted that we line up a <a href="http://www.barcamp.org/DemoCamp" title="BarCamp Wiki: DemoCamp">DemoCamp</a> demo on his next visit, which he heartily agreed to (or maybe defensively, so I'd let him out of the corner — hard to tell). The trade show was a great success and I met a number of interesting people doing interesting things in which we might well take an interest, including John Bradford from <a href="http://www.jbsh.co.uk" title="jbsh, LLC">jbsh, LLC</a> (who are working on an educational product for the Canadian market), Paul Bason from <a href="http://www.falmouth.ac.uk" title="University College Falmouth">University College Falmouth</a> (who was delighted by <a href="http://www.radiantcore.com/blog/archives/29/10/2007/michaelweschvideo3" title="Michael Wesch: Vision of Students Today">Michael Wesch's</a> latest and who was really interested to hear what we looked for in students and in whether we'd be into a distance-learning based partnership), David Karney from <a href="http://www.potentialdifference.co.uk" title="Potential Difference">Potential Difference</a> (a swank Bristol web shop who are basically Radiant Core's British counterparts, but on .NET), and James Ovenden from <a href="http://www.ballfusion.com" title="Ball Fusion">Ball Fusion</a> (who are marketing an amazing video on street soccer skills — check out some of the tricks on their homepage). Apologies to the gentleman from <a href="http://www.sanoodi.com/" title="Sanoodi">Sanoodi</a>, whose slightly odd application name I've managed to easily remember but whose much less odd personal name I've completely forgotten (owing to his lack of business cards, of course). We had a great chat about his app and where it's headed, and I showed him Toronto's own <a href="http://planeteye.com/" title="Planet Eye">Planet Eye</a> and the <a href="http://www.specializedriders.com/" title="Specialized Riders Club">Specialized Riders Club</a> (run by our friend <a href="http://creativextreme.com/" title="Chris Matthews blog: chris writes.">Chris Matthews</a>) for some inspiration. We ended the evening with a delicious dinner for fourteen at the <a href="http://www.shed-restaurants.com/" title="Severn Shed">Severn Shed</a> (don't worry <a href="http://www.radiantcore.com/blog/author/mglenn" title="Michael Glenn">Mike</a>: I didn't pick up the tab!), during which I had the pleasure of chatting about documentaries, music, books, and television with Julia Bennett (from <a href="http://www.whitepineproductions.com/" title="White Pine Productions">White Pine Productions</a>), Jason Krogh (from <a href="http://www.zincroe.com" title="Zinc Roe">Zinc Roe</a>), and Paige Chambers (from the <a href="http://www.cbcollege.com/" title="Canadian Business College">Canadian Business College</a>).</p><br /><br /><p>Stay tuned for Day 3, which will mostly be a train ride to Glasgow!</p>]]></description>
				<category>Trip Reports, Taking Care of Business</category>
				<pubDate>Wed, 31 Oct 2007 19:00:00 EST</pubDate>
			</item>
		<item>
				<title><![CDATA[UKTI Trade Mission Trip Report: Day 1]]></title>
				<author>Jay Goldman &lt;info@radiantcore.com&gt;</author>
				<link>http://www.radiantcore.com/blog/archives/29/10/2007/uktitripreport1</link>
				<guid isPermaLink="true">http://www.radiantcore.com/blog/archives/29/10/2007/uktitripreport1</guid>
				<comments>http://www.radiantcore.com/blog/archives/29/10/2007/uktitripreport1#comments</comments>
				<description><![CDATA[Trip Report: UKTI Trade Mission<p>As our company has grown and we've started working with more international clients, we've increasingly become representatives of Canada and the Canadian Technology industry. Sometimes people get thrown into those roles unwillingly, thrust into the limelight and unexpectedly burdened with the 'role model' mantel, but not us! We're delighted to be ambassadors to the world and will blather on and on about how great our country is and how advanced we are, etc., etc., often to the point of being 'invited' to stop talking. Thankfully, for the sake of my fragile ego, that's what this trip is all about.</p><br /><br /><p>Back in early July, I was having a coffee with <a href="http://www.cubicgarden.com" title="Ian Forrester's Blog">Ian Forrester</a> from the <a href="http://backstage.bbc.co.uk/" title="BBC Backstage">BBC Backstage</a> at our local <a href="http://www.balzacscoffee.com/" title="Balzac's Coffee">Balzac's</a>, when in strode Ian Kelso from <a href="http://www.interactiveontario.com" title="Interactive Ontario">Interactive Ontario</a>. Ian to Ian (i2i?) introductions were made, and Mr. Kelso (my former boss from many moons ago!) laughingly suggested that we should join them on the Trade Mission they had just announced so that Mr. Forrester could buy me a coffee in his hometown. And here we are, three months later, sitting in the Tower 1 Meeting Room at <a href="http://www.guoman.com/guoman/hotels/hotelFinder/viewHotel.do?hotelID=2400001" title="The Tower Hotel">The Tower Hotel</a> in London, listening to John Davies, Technology &amp; Strategy Adviser from United Kingdom Trade &amp; Investment, talking about his country's strategic direction.</p><br /><br /><p>So, we're here until this afternoon, then off to lovely Bristol for a tour of <a href="http://www.3cresearch.co.uk" title="3C Research">3C Research</a> and a mini-trade show, then to beautiful Glasgow on Wednesday for some networking and a tour of the <a href="http://www.innovationcentre.org/hillington/" title="Hillington Innovation Centre">Hillington Innovation Centre</a> on Thursday. I've got a criminally early train on Friday (5:50 am!) back to London, where I will sadly not have coffee with Mr. Forrester (who will be en route to Berlin) but rather lunch with his colleagues, a pint or two with Ian Hayward from Glaxstar (the company, not the alien galaxy), and a lovely dinner with the team from <a href="http://www.ebay.co.uk" title="eBay UK">eBay UK</a> (with whom we did the <a href="http://www.mozilla.com/en-US/add-ons/ebay/" title="eBay Firefox Companion">eBay Firefox Companion</a> and are now working on a top secret new project).</p><br /><br /><p>I've got my trusty Rebel XTI and have been trying to capture some shots while keeping it out of the rain (no mean feat), which I'll make sure to post and link to. Many thanks to <a href="http://blog.suthakamal.com/" title="Sutha Kamal">Sutha Kamal</a> for playing tour guide yesterday and showing me around the banks of Thames, the Tate Modern, a few Starbucks (a charming little chain of coffee shops!), an historic pub (<a href="http://www.pubs.com/lambwc2.htm" title="Lamb and Flag">Lamb and Flag</a>, which has been around since Charles II), and a great Vietnamese dinner at <a href="http://www.vietnamesekitchen.co.uk/" title="Cay Tre Vietnamese Kitchen">Cay Tre</a>. More as it happens!</p>]]></description>
				<category>Taking Care of Business, Trip Reports</category>
				<pubDate>Mon, 29 Oct 2007 13:53:00 EST</pubDate>
			</item>
		<item>
				<title><![CDATA[Michael Wesch: A Vision of Students Today]]></title>
				<author>Jay Goldman &lt;info@radiantcore.com&gt;</author>
				<link>http://www.radiantcore.com/blog/archives/29/10/2007/michaelweschvideo3</link>
				<guid isPermaLink="true">http://www.radiantcore.com/blog/archives/29/10/2007/michaelweschvideo3</guid>
				<comments>http://www.radiantcore.com/blog/archives/29/10/2007/michaelweschvideo3#comments</comments>
				<description><![CDATA[<p>Michael Wesch, whose previous two videos <a href="http://www.radiantcore.com/blog/archives/07/02/2007/themachineisus">T