Next Week: TechDays Calgary


The next stop on the TechDays Canada cross-country conference tour is Calgary! We’ll be there for most of the week, and the conference itself takes place on Tuesday, November 17th and Wednesday, November 18th at the Calgary Stampede Roundup Centre.

After that, we’ve got the following dates in December:

  • Montreal (Sold out!) – December 2nd and 3rd
  • Ottawa – December 9th and 10th
  • Winnipeg – December 15th and 16th

This article also appears in Canadian Developer Connection.


Cory Doctorow’s “Makers” Launch Tonight


My friend (and former officemate!) Cory Doctorow is launching his latest novel, Makers, tonight at the Toronto Public Library at 239 College Street (east of Spadina). The fun happens in the Merrill Collection room, located on the third floor at 7 p.m. tonight. Cory will be doing a reading, taking questions and signing books. There will be books for sale at the event courtesy of our local science fiction and fantasy bookstore, Bakka Phoenix.

Here’s the publisher’s blurb about the book:

From the New York Times bestselling author of Little Brother, a major novel of the booms, busts, and further booms in store for America

Perry and Lester invent things—seashell robots that make toast, Boogie Woogie Elmo dolls that drive cars. They also invent entirely new economic systems, like the “New Work,” a New Deal for the technological era. Barefoot bankers cross the nation, microinvesting in high-tech communal mini-startups like Perry and Lester’s. Together, they transform the country, and Andrea Fleeks, a journo-turned-blogger, is there to document it.

Then it slides into collapse. The New Work bust puts the dot.combomb to shame. Perry and Lester build a network of interactive rides in abandoned Wal-Marts across the land. As their rides, which commemorate the New Work’s glory days, gain in popularity, a rogue Disney executive grows jealous, and convinces the police that Perry and Lester’s 3D printers are being used to run off AK-47s.

Hordes of goths descend on the shantytown built by the New Workers, joining the cult. Lawsuits multiply as venture capitalists take on a new investment strategy: backing litigation against companies like Disney. Lester and Perry’s friendship falls to pieces when Lester gets the ‘fatkins’ treatment, turning him into a sybaritic gigolo.

Then things get really interesting.

It should be noted that while 3-D printers of the sort in Cory’s novel are still the stuff of science fiction, simpler versions exist today. In fact, at the Hacklab, where I spend many a working day, we’ve got a MakerBot Industries “Cupcake” 3-D printer that can “print” plastic objects.

Here’s what the Cupcake looks like:


A computer connected to the Cupcake controls it. The big loop of plastic to the upper left of the machine is the material from which objects are printed. Here’s a closer look at its internals:


We have a small gallery of objects that were created using the Cupcake:


If you’d like one of your own, the fine folks at Makerbot Industries would be more than happy to sell you a kit.

This article also appears in The Adventures of Accordion Guy in the 21st Century.


New Book: Ultra-Fast ASP.NET


The Empire’s been fine-tuning ASP.NET, SQL Server and the .NET runtime from the get-go, so ASP.NET is a pretty snappy platform. Even so, the fastest of platforms will still run like molasses in January if you don’t do things right. With any platform, there’s a body of best practices for getting the best performances, and with far too many platforms, these best practices haven’t been gathered into a single place.

ASP.NET developer are in luck: I just got notified by Apress of the release of a new book, Ultra-Fast ASP.NET. Here’s the blurb:

Ultra-fast ASP.NET by Rick Kiessig presents a practical approach to building fast and scalable web sites using ASP.NET and SQL Server. In addition to a wealth of tips, tricks and secrets, you’ll find advice and code examples for all tiers of your application. By applying the ultra-fast approach to your projects, you’ll squeeze every last ounce of performance out of your code and infrastructure, giving your site unrivaled speed.

Learn How To:

  • Think about performance issues that will help you obtain real results.
  • Apply key principles that will help you build ultra-fast and ultra-scalable web sites.
  • Use the ultra-fast approach to be fast in multiple dimensions. You’ll have not only fast pages but also fast changes, fast fixes, fast deployments and more.
  • Use techniques that are being used by some of the world’s largest web sites.
  • Structure your HTML and CSS to create pages that load ultra-fast.
  • Utilize tips and tricks for optimizing your ASP.NET and SQL Server code for performance and scalability.

You can order the dead-tree edition of Ultra-Fast ASP.NET online (it sells for USD$49.99, which at today’s exchange rate is CAD$52.32), or if you’re like me and try to get the electronic version when possible, the PDF version sells for USD$34.99 (CAD$36.62 at the time of this writing).

This article also appears in Canadian Developer Connection.


WinMoDevCamp Toronto’s Agenda

Toronto WinMoDevCamp logo

WinMoDevCamp Toronto, the Toronto edition of the workshop for developing applications for Windows Phone, takes place today at Microsoft Canada’s headquarters.

If you can’r make it to WinMoDevCamp in person, you can attend virtually by watching the streaming video feed.

Here’s the agenda (all times are Eastern):

12:30 pm – 1:00 pm

Light Snacks and Event Registration

1:00 pm – 1:15 pm

Opening Remarks & Explanation of WinMoDevCamp purpose.

1:15 pm – 1:45 pm

Keynote by Microsoft Canada’s Joey deVilla, Developer Evangelist.
This session will give you an overview Microsoft’s commitment to mobility and the tools in place to assist developers in creating world class applications.

1:45 pm – 2:00 pm


2:00 pm – 3:00 pm

Developing for Windows Mobile – Mark Arteaga, RedBit

Learn how to use the familiar Microsoft .NET Framework and .NET-based programming languages like Visual C#® development tools to develop world class applications. Learn about new features in Windows Mobile 6.5 such as the Gesture APIs and the Widget Framework and how to use them appropriately.

3:00 pm – 3:30 pm

Saviidesk – Joe Compta, Bradon Technologies Ltd (Bell Mobility)

Application presentation and demo

3:30 pm – 3:45 pm


3:45 pm – 4:15 pm

Telus Application Developer Program Presentation

Program presentation and overview

4:15 pm – 4:45 pm

Merge Healthcare OEM – Atul Agarwal, Director Web Apps

Application presentation and demo

4:45 pm – 5:45 pm

Samsung TouchWiz and Widgets – Max Karlin, Samsung Canada
An in-depth look at Samsung’s TouchWiz UI and Widgets. How to develop widgets, upcoming features and functionality and how to distribute widgets for Samsung devices.

5:45 pm – 6:30 pm

DinnerWindows Marketplace Overview, Anthony Bartolo, Microsoft

6:30pm – 7:00 pm

vPost, Sculpting Mobile Data Convergence – John Cousens, Vayyoo

Application presentation and demo

7:00pm – 7:30 pm

Sony Ericsson “Hero” Developer Program – Sean Cheddi, Sony Ericsson

Developer Program enrolment and Panel SDK overview

7:30pm – 8:00 pm

WinMoDevCamp wrap up and Prize Giveaway

This article also appears in Canadian Developer Connection.


The Twitter Developers’ Checklist

Truth be told, I’d wish I’d come up with this list myself:

1. Create micro-bloggin network. 2. Call it something lame. 3. Let people have 1000s of followers. 4. Watch as they judge themselves against other people's follower-counts. 5. Wait...(until they're super-vulnerable).  6. Give them lists so they can exclude shitty people (and be excluded themselves). 7. Cash in on billions of $$.


The Facebook/.NET SDK

facebook sdk

Facebook has announced official support for the just-released 3.0 version of Microsoft’s Facebook SDK (also known as the Facebook Developer Toolkit). The kit was written with one goal in mind: to make it easier for .NET developers to write applications that integrate with Facebook.

I’ll leave it to the Facebook SDK Overview to do the talking:

The main entry point is the API (Facebook.Rest.Api) class in the Facebook.dll assembly. This class wraps the Facebook REST API and provides an easy to use interface for calling the different methods currently available in the Facebook API. We’ve also provided samples and tools for helping develop Facebook applications in the various .NET platforms including: ASP.NET, Silverlight, WPF and WinForms. Additionally, we’ve provided all the source code for the API, components, controls, and samples for you to explore.

The toolkit is comprised of the following core assemblies:

  • Facebook.dll: This is the main assembly that will be used by all applications. This has all the logic to handle communication with the Facebook application. This assembly also has specific support of XAML applications (Silverlight and WPF) to enhance the Facebook platform to make databinding and data caching easier.
  • Facebook.Silverlight.dll: This is the Silverlight version of the main assembly that will be used by all Silverlight applications. This has all the logic to handle communication with the Facebook application. This assembly also has specific support of XAML applications to enhance the Facebook platform to make databinding and data caching easier. The REST API in this assembly is Asynchronous only.
  • Facebook.Web.dll: This assembly should be used by Canvas applications. The main functionality supported in this assembly is to encapsulate the handshake between the Facebook application and a canvas application (both FBML and IFrame)
  • Facebook.Web.Mvc.dll: Provide a support building canvas applications using ASP.NET MVC. Separated from Facebook.Web.dll to avoid all developers from needing to install the MVC bits.
  • Facebook.Winforms.dll: This assembly provides support for writing Facebook applications using Winform technology. This provides a Component that wraps the API to make it easier to use from Winforms. This also contains some user controls to help display Facebook data easily.

To get started, download the SDK, then consult these docs:

If you create any Facebook apps using the SDK, let me know by dropping me a line. I’d love to feature it here!

This article also appears in Canadian Developer Connection.


Taking JavaScript Performance to the Extreme with Thomas Fuchs

"Extreme JavaScript Performance" (from, November 7)

thomas fuchsTake a look at the slides from Extreme JavaScript Performance, a presentation by Thomas Fuchs, creator of the JavaScript library, collaborator on the book Agile Web Development with Rails and one of the people behind FailCamp. He gave the presentation last week at in Berlin.

In the presentation, Thomas looked at six simple things you can do to boost the performance of your JavaScript:

  • Use inline functions instead of function calls.
  • Embrace the language – using the language’s conventions yields unexpectedly faster code. Instantiate arrays using var myArray = [] instead of var a = new Array, and instantiate objects using var myObject = {} instead of var o = new Object.
  • Unroll your loops! (A trick so old that we covered it when I was in school!)
  • Cache globals. If you’re going to access a global object, store a local reference and use that instead.
  • Tune your boolean expressions: in logical “AND” (&&) operations, make the operand most likely to be false the first one.
  • Watch out for slow constructs such as with blocks, try/catch and features that JIT compilers don’t support well.

The presentation includes benchmarks for the four most common JavaScript engines:

  • SpiderMonkey (Firefox 3.5)
  • JavaScript Core (Safari 4)
  • JScript (Internet Explorer 8)
  • V8 (Google Chrome)

And yes, he does warn you – at least twice – of the dangers of premature optimization.

JavaScript Performance Rocks

JavaScript performance rocks

If you liked Extreme JavaScript Performance, you’ll love the ebook Thomas co-authored with Amy Hoy, JavaScript Performance Rocks! Actually, it’s more than just a book – it’s four books and a profiling tool:

  • Book 1: Understanding and Measuring Performance (or: “Dude, Where’s My Performance?”) – “In which our brave hero or heroine (that’s you!) apprentices to the cryptic-but-charming Master (that’s us) and learns how to get into the enemy’s head—the better to eat it alive, my dear.”
  • Book 2: Loadtime (or: “The Land of Unicorn Tears”) – “Loadtime is a sad time, a time of of enormous, slow-loading assets; of maxed-out request queues; of bloated, waddling DOMs. Of limp white screens. Most of the world’s worst web performance woes? They live and breed in Loadtime. That’s why it’s the Land of Unicorn Tears, because unicorns hate slow web apps just as much as the rest of us. And they have magical horns. So there.“
  • Book 3: Runtime (or: “’Cuz Tuning Loops is Hardcore”) – “The vast majority of the problems that the vast majority of apps will have can be solved with loadtime fixes of various stripes. But just in case you’re unique, and special, and have particularly intractable issues—or are just a glutton for punishment—we have written a third booklet, all about speeding up code when it runs.”
  • Book 4: Interface Coping Strategies (or: “If You Can’t Fix It, Fake It”) – “Come across a performance problem that you really can’t fix? Long-running calculations? Slow server you can’t tune up? If you can’t make it, fake it. You can make your app feel faster to your customers, even if you can’t fix the underlying problem. And, let’s face it, that’s what your customers care about.”
  • The DOM Monster profiling tool.

JavaScript Performance Rocks! isn’t your ordinary ebook, with material laid out for a dead-tree book simply cast in PDF form. It was designed from the ground up for onscreen reading, written in an entertaining way to keep you amused and your mind ready to learn, and written in a fun, irreverent way so that you don’t zone out. I know Thomas and Amy personally and have seen them teach; trust me – you want to learn from them.

JavaScript Performance Rocks! usually sells for US$49, but there’s a special deal right now – the first 500 books are selling for 10 dollars less — US$39. You’ve got two good reason to buy immediately: first, there’s this $10 discount, and second, the US/Canada exchange rate’s pretty good right now (as I write this, the PayPal exchange rate is CAD$1 = US$0.92).

I’ve already ordered my copy.

This article also appears in Canadian Developer Connection.