TechDays Winnipeg / Coffee and Code Winnipeg This Week!

Winnipeg skyline at duskWikimedia Commons photo courtesy of "Wpg Guy". Click to see the original.

This week, the gang and I will be in Winnipeg for TechDays (Tuesday, December 7th and Wednesday December 8th) to bring the knowledge from TechEd North America 2010, MIX10 and PDC and to catch up with our developer, IT Pro and manager friends.

If you’ve been meaning to meet the “field specialists” on Microsoft Canada’s Developer and Platform Evangelism team, TechDays Winnipeg is the perfect time and place to do so, because all the evangelists will be there:

  • Christian Beauclair, ISV Breadth Evangelist based in Ottawa
  • Damir Bersinic, Platform Evangelist based in Toronto
  • John Bristowe, Developer Evangelist based in Calgary
  • Rick Claus, IT Pro Evangelist/Destroyer of Worlds based in Ottawa
  • Yours Truly (Joey deVilla), Developer Evangelist based in Toronto
  • Frederic Harper, Developer Evangelist based in Montreal
  • Ruth Morton, IT Pro Evangelist based in Toronto
  • and John Oxley, our manager/cat-herder based in Toronto

We’re also holding a Coffee and Code on Thursday, December 9th at the Second Cup at 100 Osborne Street from 11:00 a.m. to 4:00 p.m.. Come on down, meet up with me, talk Windows Phone 7 or anything else that comes to mind!

We’re looking forward to seeing you there!

This article also appears in Canadian Developer Connection.


Friday Morning Ritual

Biking Downtown

View from the eastbound bike lane at University Avenue and College street, with two cyclists ahead

With Accordion City’s rapid transit being quite prone to delay and the distance from my home in High Park to downtown being just over 7 km (about 4.5 miles), biking downtown is often just as quick as taking the subway. Biking has the added benefit of “free” exercise in addition to getting me from point A to point B, hence my tendency to get to the core via two wheels whenever possible and practical.

College Street is a good east/west thoroughfare for bikes. It’s mostly level, many parts of it have a dedicated bike lane, there’s lots to see and some good places to stop by if you have the time, and during the day, it doesn’t get as congested as some of the east/west streets further south.

I shot the photo above at the corner of College and University. The eastbound bike lane on this part of College at the time I took it – around 8:30 a.m. on a Friday – is usually quite full. I was at the head of a pack of bikes, with these two cyclists ahead of me and another half dozen or so clumped behind me. Most of the cyclists appeared to be students or people who worked in places with casual dress codes, although I saw a couple of guys in suits with their right pant legs strapped (so as not to get caught in the gears) and with executive-type leather laptop bags slung over their shoulders.

Greg Wilson’s Nerd Breakfast

A long booth at Fran's diner, with assorted Toronto nerds drinking coffee and conversing

The reason I was biking downtown was to attend Greg Wilson’s weekly nerd breakfast. I first met Greg via email when he was doing some editorial work for Dr. Dobb’s Journal (back when it was still available in dead-tree form) and asked me to write a couple of book reviews, then in person through DemoCamp and various activities he organized when he was one of University of Toronto’s best-loved computer science profs.

He’s since left academia and is working on his own, and that’s why he holds these weekly breakfasts. Escaping the Land of Cubicles and working on your own has many perquisites, but one of the big downsides is the isolation. Greg holds a Friday morning breakfast gathering at Fran’s near Yonge and College as a way of staying in touch with his peers, and it’s become a Friday morning ritual for local nerds both student and professional, indie and corporate.

If you’re a techie local to Toronto and want to catch one of these breakfasts or become a regular, I’m sure Greg wouldn’t mind if you simply dropped by. We’re usually at the back of Fran’s on Fridays from 8:30 a.m. to 9:15-ish.

This article also appears in Canadian Developer Connection.


Technologic’s Inaugural Gathering

technologic logo

Last night, I helped my friends at Unspace with the inaugural session of Technologic, their new monthly series of gatherings that’s part cocktail party, part mini-conference, part salon (in the sense of bright people getting together informally to share ideas rather than in the hair salon sense).

Unspace's "pinball room", filled with nerdy partygoers.

The event was held at their office, which is located in Toronto’s Queen West, a neighbourhood that mixes boutique-type shops, resto-bar/night club type-places and a number of start-ups and tech consultancies.

Unspace's boardroom, converted into a bar, filled with nerdy partygoers

Unspace have strong ties to the Toronto developer community and a reputation for putting on some of the best indie developer conferences around, having set the bar rather high with RubyFringe and FutureRuby. Technologic is but one of their big plans for the coming year, and these plans are going to make Toronto’s developer scene even more interesting. Better still, they’ve invited me to help out with these events whenever I’m available. Looks like I’m going to be the Microsoft go-to guy at these events, as well as someone you talk with about development, the industry, or whatever else you like.

Unspace's kitchen, with the catering crew preparing food

There were no pizzas, box lunches or other food typical of developer gatherings. They did charge a cover, but it went to good use – they got a catering service to make use of their kitchen (Unspace’s office could easily be converted into a very sweet downtown condo) and crank out some excellent hors d’oeuvres: chili meatballs, chorizo sausage, egg rolls, mushrooms and goat cheese in pastry and my favourite: puff pastry filled with bacon custard. I will have to atone for my dietary sins in the gym this weekend.

Unspace's bullpen, cleared of desks and filled with Technologic attendees

The photos above and below show the Unspace bullpen. Normally it’s packed with desks and bookshelves, but they cleared the room in order to create a makeshift standing-room-only conference space, with a riser at one end of the room functioning as a stage. With the initial drinks and food served, the attendees were herded here so we could start the presentation portion of the evening.

Unspace's bullpen, cleared of desks and filled with Technologic attendees

It started off with a quick intro by Unspace partner and master planner of all events social, Meghann Millard:

Meghann Millard onstage

And with the quick intro out of the way, Reg “raganwald” Braithwaite took to the stage for the first lightning talk.

Reg Braithwaite giving his presentation

Reg’s talk was titled Bullshit, and it was about how many of the popular beliefs held by computer programmers may just be that. Sure, we believe that object-oriented programming makes us more productive than structured programming, but can we actually prove it? Or that you can be more productive or less error-prone or some other superlative in programming language X than programming language Y? Or that pair programming produces benefits other than preventing you from constantly checking your email or idly following Digg/Reddit/Hacker News links?

As you can see in the photo below, taken during Reg’s presentation, the topic gave them considerable food for thought:

Reg Braithwaite's audience, a packed room of nerds, as seen from the stage area

Next up was Unspace partner Pete Forde, who talked about one of Unspace’s current projects, a web application that lets people who make TV shows and films find music for the soundtracks based on criteria like style and mood.

Pete Forde showing off the screens from the music web app

The application makes great use of HTML5 to create a slick yet usable user interface that would’ve been all but impossible in web pages only a little while back.

I got called into my role as “Guy who can kill time onstage while the big presenter sets up” and a couple of jokes and a performance of the Oompa Loompa Service Pack 2 song later, Rails core team/Merb Guy/jQuery core team guy Yehuda Katz took the stage for the big presentation, titled Explaining What You Do.

Yehuda Katz giving his presentation with a slide in the background that reads "Explaining What You Do"

This was a non-technical talk for techies and focused on explaining to laypeople – specifically, the creatives and “suits” with who we work or who are our clients – what it is we do and what the technology we work with does. All too often, we techie types take a techno-snobbish, high-priesthood kind of attitude and expect laypeople to learn about our world, all the while refusing to learn about their work. Yehuda’s talk was about the first step in fixing that relationship and explaining our work to laypeople so that we can work with them better. I certainly hope that it’s not the last time he gives this talk – there are a lot of developers who need to hear this message.

The bar at Technologic

With the presentations done, it was back to the cocktail party / salon aspect of the night, with good food and drink, good conversation and great people to share both with. A number of people asked me for a quick Windows Phone 7 demo, a request that I’m always happy to oblige, and I helped point people with questions about various Microsoft tools and technologies (namely ASP.NET MVC and Azure) in the right direction. It’s also good just to hang out with the folks who make Toronto’s tech scene fun, interesting and motivating.

Kudos to Unspace for putting on a great event! When I find out the details of January’s Technologic, along with the other things that Unspace is planning, I’ll let you know – I’d love to see you there!

Want to Find Out More About Technologic?

technologic site

Check out their site at, and also keep an eye on their Twitter account (@technologicto) as well as their hashtag (#technologicto).

This article also appears in Canadian Developer Connection.


Silverlight Firestarter Events in Ottawa, Montreal and Toronto

You could watch the Silverlight Firestarter (Today at noon Eastern / 9:00 Pacific) alone at your desk on your own computer, or you could watch it with other developers in your community if you’re in the Ottawa, Montreal or Toronto areas!


In Ottawa, you can watch the Silverlight Firestarter event at Microsoft’s Ottawa office (World Exchange Plaza, 100 Queen Street, Suite 500). Silverlight MVP Colin Melia and Developer Evangelist Christian Beauclair will be there to watch the keynote along with you and discuss the event and answer questions afterwards. If you’d like to attend the Ottawa event, you don’t have to register – just come on down to the Microsoft office at 11:45 a.m..


The Montreal event also takes place at the Microsoft office (2000 Avenue McGill College, 4th floor) and will be hosted by MVP Guy Barrette. If you’d like to attend the Montreal event, bring a lunch and show up at the Microsoft office – the event runs from noon to 2 p.m..


The Toronto-area event will take place at the Ajax Community Centre in Ajax (75 Centennial Road, Admiral’s Room) and will be hosted by local .NET hero Chris Dufour. You’ll be able to catch the entire Firestarter – the Toronto event starts at 10:30 a.m. and runs until 8:00 p.m.!

Creative Commons photos courtesy of Vince Alongi, redjar and “L”

This article also appears in Canadian Developer Connection.


Silverlight Firestarter Tomorrow! (Thursday, December 2)

silverlight firestarter

Silverlight Firestarter – the free online event covering all sorts of aspects of Silverlight development for all levels of programmers – takes place tomorrow! The keynote starts at 12:00 p.m. Eastern (9:00 a.m. Pacific) with Scott Guthrie talking about the future of Silverlight, followed by presentations by some of the bright lights of the Silverlight development world.

Want to catch this event (and yes, it’s free)? Register now!


Here are the session that will be streaming live tomorrow:

Keynote: The Future of Silverlight (12:00 p.m. Eastern / 9:00 a.m. Pacific)
Be first to hear the official news about what’s coming up next for Silverlight from Scott Guthrie, Microsoft Corporate Vice President.

Data Binding In Silverlight and Windows Phone (1:45 p.m. Eastern / 10:45 a.m. Pacific)
Jesse Liberty walks us through the fundamentals of data binding, including binding to traditional and non-traditional data sources, binding to elements, binding in both Visual Studio and Blend, binding in code, data conversion and much more.

Building Compelling Apps with WCF using REST and LINQ (2:30 p.m. Eastern / 11:30 a.m. Pacific)
In this session we will cover how to build a WCF-based backend web service to provide data to the Silverlight application. We will demonstrate the use of LINQ in the service to retrieve objects from our database, and cover some details of how those objects are serialized to Silverlight. We will cover the use of faults for debugging and for driving production logic, as well as authentication strategies for internet and intranet deployment. We will finish with a look at how to access third-party REST/HTTP-based services from Silverlight.

Building Feature Rich Business Apps Today with RIA Services (4:00 p.m. Eastern / 1:00 p.m. Pacific)
Silverlight provides many different options for accessing distributed data including Web Services, REST APIs, sockets and more. This talk will walk you through the benefits that WCF RIA Services offers and demonstrate how it can be used to simplify n-tier programming and provide a flexible and productive way to access, validate and modify data in Silverlight applications. Topics covered include creating a domain service, simplifying asynchronous programming with the domain context, leveraging object tracking features, sharing data validation code between the client and server and writing domain services that can be used with any backend data access technology.

MVVM: Why and How? Tips and Patterns using MVVM and Service Patterns (4:45 p.m. Eastern / 1:45 p.m. Pacific)
See how good patterns and practices apply to Silverlight applications on the desktop, in the browser or on the phone. Learn how to integrate MVVM, Service Providers, design time data (aka Blendability), into your Silverlight applications to promote code reuse and create a highly maintainable application.

Tips and Tricks for a Great Installation Experience (5:45 p.m. Eastern / 2:45 p.m. Pacific)
Tired of seeing the spinning blue balls from Silverlight as the application loads? Your users probably are as well. The simple fact is that it is very easy to customize your complete application installation experience down to the plugin level. During this session you’ll see understand how Silverlight works with install/upgrade scenarios and how you can completely customize the installation experience. Additionally you’ll see custom ‘splash screen’ demonstrations on what you can do to further brand your application. If you are building an out-of-browser application with Silverlight we’ll discuss and demonstrate some of the tips/tricks to provide a good acquisition experience there as well and some tricks on automatically installing applications.

Tune Your Application: Profiling and Performance Tips (6:30 p.m. Eastern / 3:30 p.m. Pacific)
There are some common pitfalls that can negatively impact your Silverlight application’s performance. In this session we’ll demonstrate how to use some of the tools that are available to profile and identify performance issues. We’ll cover the available techniques with the performance tools that can help you to analyze your Silverlight application memory usage, rendering and CPU usage to help improve performance and avoid those common pitfalls.

Performance Tips for Silverlight Windows Phone 7 (7:30 p.m. Eastern / 4:30 p.m. Pacific)
This will be a comprehensive deep-dive into Windows Phone performance. We will begin with the threading model changes and optimizations made to Silverlight run-time to take advantage of the GPU on the phone; we will then cover the most common pitfalls, the troubleshooting techniques, and close with the workarounds to create snappy Windows phone applications.


We’ll record the event, so if you can’t watch it live or want to see it again, you’ll be able to watch the sessions on demand. You’ll also be able to participate in online self-paced labs.

This article also appears in Canadian Developer Connection.


Visual Basic on Windows Phone: From CTP to RTW to OMFG

vb mug

VB for WP7 went RTW? OMFG!

Back in September, I wrote about the release of the CTP (Community Technology Preview) of Visual Basic for Silverlight development on Windows Phone. As a CTP, it was early access to a work in progress, there was no “go-live” license (meaning any apps you wrote in VB couldn’t be for commercial release) and there was no guarantee that it would become a released product.

All that changed a couple of days ago when VB for WP7 went RTW (Release To World). It’s an actual thing now: you can write Silverlight apps for Windows Phone and you can sell them in Marketplace. We’ve also updated our Windows Phone example code to include VB examples. With VB (Visual Basic) for WP7 (Windows Phone 7), one of the MRF (Most Requested Features) has been implemented. Cue a lot of developers saying “OMFG!”

(In case you were wondering, the “F” is for “Phone”.)

Get VB for WP7 Developer Tools

You can download the Visual Basic for Windows Phone Developer Tools RTW right now. There are a couple of things to keep in mind:

  • You need Visual Studio 2010 Pro, Premium or Ultimate. Sorry, but Visual Studio Express for Windows Phone isn’t going to work with this version. If you’re really itching to try writing VB apps for WP7 and only have the Express version of Visual Studio, we suggest downloading a trial version of Visual Studio Pro.
  • Visual Basic for Windows Phone is for writing Silverlight apps only. If you want to write XNA-based games and apps, you have to do it in C#.

Start Building Apps in VB

tip calculator

Once you’ve installed Visual Basic for Windows Phone Developer Tools, go to Jason Zander’s blog, where he walks through the process of building a tip calculator app in Visual Basic. He’s also posted the complete solution online so you can download it, check out the code, tinker with it and learn from it. Remember the motto: Don’t learn to build, build to learn!

This article also appears in Canadian Developer Connection.


Have You Been to MSDN Lately?

new look msdn 1

If you haven’t dropped by the MSDN site lately, you might not know that it’s been redesigned so that it’s easier to get started developing for Microsoft’s platforms. Near the top of the home page are giant links to the “Three Screens and the Cloud” – that is:

new look msdn 2

Each zone has these sections:

  1. A video explaining the sort of development covered
  2. An overview of the Microsoft tools and technologies you can use for that sort of development
  3. A “get the tools” link
  4. “Build your first application” tutorials complete with source code
  5. Links to resources to help further your learning

Give the new MSDN a look!

This article also appears in Canadian Developer Connection.