The Sub-$1000 Opportunity?

U.S. $1000 bill

Here’s a thought experiment for you Windows developers out there: the fact that Apple pretty much owns the $1000+ computer market is in fact an opportunity. Discuss.

(This article appears with slightly different wording – to try things from a different perspective – on the official Microsoft Canada developer blog, Canadian Developer Connection.)


The “CSS Is Awesome” Mug

If you’ve worked with CSS and multiple browsers long enough, this mug will make you laugh (or cry):

Mug with a square containing the text "CSS IS AWESOME", with the "AWESOME" extending beyond the boundary of the square.

At US$12.95 (available at, it’s a pretty good “Secret Santa” gift for the web developer or designer on your team.


TechDays, Blogs and the Fundamentals

This article also appears in Canadian Developer Connection.

The Open Letter


Justice Gray is concerned about TechDays, Microsoft Canada’s touring conference that will hit seven cities this fall. So he wrote an open letter, in which he stated:

I’m a big "fundamentals" guy, and TechDays hasn’t traditionally focused on any sort of development fundamentals. It’s been more focused on specific Microsoft technology demos.

He’s right – one of the key goals of TechDays is to showcase current Microsoft tools and technologies, show you how to make use of them and give you an idea of what’s possible. As the “owner” of one of the conference tracks – I’m in charge of the Developing for the Windows Platform track – I’ve taken great care to choose sessions that cover tools and technologies that are currently available but are things that you might not be using…yet. Many people’s day-to-day work keeps them focused on their particular department’s or project’s technologies and doesn’t give them any opportunities to see what else is out there. One of the goals of TechDays is to provide such an opportunity.

Because he is “Justice” by nature as well as name, he’s quite understanding:

I hasten to add that this is completely within Microsoft’s right and totally makes sense.  Microsoft is first and foremost a business and this is a good place to promote itself!

What he’d like to see is a greater emphasis on developer fundamentals:

However, I’m a little less excited about "let’s look at another spinning animal demo" vs. "let’s teach common design patterns" or even "let’s actually show developers how to use half of the relevant Application Blocks in a legitimate application that isn’t a Northwind demo".

SOLID Inspiration


Justice’s concern about TechDays stems from my recent article on the SOLID principles, which I posted here on Global Nerdy as well as on Microsoft Canada’s developer blog, Canadian Developer Connection. What really got him was a question and answer I included in the article:

Will There be a Presentation on SOLID at TechDays Canada 2009?

He interpreted the “Mmmmmmmaybe…” as “no”. Based on that interpretation, he made what might be considered to be a logical assumption: that I wrote the post as a quick way to compensate for the fact that SOLID wouldn’t be a topic at TechDays.

Fitting in Fundamentals

"ABC" toy wooden blocks

In fact, SOLID will be the topic of a session in the Developing for the Windows Platform track. The session’s working title is SOLIDify Your ASP.NET MVC Applications, and it covers the SOLID principles by way of refactoring an ASP.NET MVC application.

There’s a perception that Microsoft developers care less about things like good design and coding practices than those in the Java and open source worlds do. Whether that perception is true or not, I figured that I’d try to address both the perception and the reality by filling the “back end” day of my track – that’s day 2; day 1 is all about developing for the “front end” – with sessions that covered technique as well as tooling:

  • There’s the SOLID session…
  • Prior to the SOLID session is the “Introduction to ASP.NET MVC” session, which covers the concepts of the Model-View-Controller pattern, DRY, convention over configuration, the Repository pattern and REST.
  • REST is covered in even greater detail in a session that covers building RESTful services with WCF. It seemed to me that while many parts of the open source world have embraced REST, it’s been largely ignored in the Microsoft world until recently.
  • There’s also a session in which we look at SharePoint as a provider of web services and architectures in which an “application” is actually two or more applications interacting by producing and consuming services.

Choosing the sessions that would go into TechDays was a juggling act, what with:

  • Selecting sessions from the ones at the TechEd conference (which took place earlier this year),
  • Satisfying the needs of the various tool and product groups who are TechDays’ “sponsors”,
  • Choosing topics that are interesting and relevant to the audience
  • Ensuring that sessions are at the appropriate skill level
  • Trying to go beyond “how you use feature X of tool Y”, and
  • Covering topics that will help keep the audience’s “skills portfolio” up to date.

Each track owner had to balance these factors when choosing sessions for this track. I believe that the end result (which will be online soon) is a pretty good one.

Blogging the Fundamentals

Volumes 1-3 of Donald Knuth's "The Art of Computer Programming"

I wrote an article about SOLID not because it had been excluded from the Developing for the Windows Platform track, but because it was included. That post was meant to be an “appetizer” for the session> I wanted everyone attending the SOLID session to have at least a passing familiarity with the SOLID principles. Learning takes repetition and retaining that learning takes continual exposure, so I thought I’d get a head start by posting an article and hinting (which is what my “Mmmmmmmmaybe” was about) that it would be a topic at TechDays. I also thought that  articles on SOLID might generate interest in the session.

There will be more articles looking more closely at each of the SOLID principles. The article was the first step toward posting more articles on technique and best practices. I think that it’s an area that Canadian Developer Connection can and should cover, because there’s more to building software than knowing your way around Visual Studio and Expression or being able to list the functionalities offered by a given class library. There’s the accumulated wisdom of developers in the form of things like design patterns, fundamentals like coupling and cohesion, concepts like DRY, convention over configuration and the Law of Demeter, practices like secure, agile and test-driven development and so on. I want to help make better developers, because better developers make for a better industry — and a better Microsoft as well.

While TechDays sessions provide an interactive and up-close-and-personal learning experience that a blog can’t, there are good reasons to use blogs to cover the fundamentals. We can point TechDays attendees to blog posts to reinforce the material covered in the sessions, and people who weren’t able to make it to TechDays can also benefit. We can cover topics in greater depth in a blog article than we can in a presentation, with more detailed explanations and diagrams as well as more code and examples. There’s also the reach and permanence of a blog article: they’re accessible by anyone, anytime, and more importantly, they can be indexed by search engines.

Your Suggestions, Please!


In the end, we want to help developers become the best they can be. That means making sure that they know how to get the most out of our tools and technology, but it also means helping out in areas not directly related to selling our wares, such as helping build developer communities and covering topics like good software design and best practices, both online and in real life.

What would work best for you? Would you like to see more fundamentals-oriented sessions in future versions of TechDays or other conferences? More presentations on the fundamentals at local workshops or user groups? More articles? More screencasts? Let us know, either in the comments or drop me a line directly. A lot of our planning is based on your input, so the more you tell us, the better.


Windows 7 and Server 2008 R2: RTM and FTW!

 XBox 360-style achievement: "Achievement Unlocked: Windows 7 and Server 2008 R2 RTM'd" Windows 7 logo

Windows 7 Released to Manufacturing

It’s been announced on the Windows Blog: Windows 7 has been released to manufacturing!

Brandon LeBlanc explained that “RTM” happens only after it’s been signed off. One of the release candidate builds becomes a contender for release to manufacturing after it goes through significant testing and passes all the validation tests for RTM including having all languages for that build completed. Build 7600 crossed all those hurdles and got signed off today.

The beta and release candidate period for “Seven” was quite unusual. Rather than hand it out to a closed group of beta testers, it was made available for download and I was given piles and piles of DVD-ROMs to hand out like candy. And strangely enough, people were asking for it. At the EnergizeIT installfests this spring, we played to packed rooms of people who took time out of their Saturday mornings and schlepped to Mississauga to install the beta. Even people with Macs, who ran it under Boot Camp or Parallels. It’s unusual for an operating system in beta – especially one from The Empire – to be in such demand.

I’ve been using the beta since January and the release candidate for the past few weeks as my primary operating systems with nary a hitch, glitch or blue screen. I’m looking forward to getting the final version of Windows 7, which will be the first of many new goodies coming from The Empire over the coming months,

If you’re a developer with an MSDN subscription or an IT pro with a TechNet subscription, you’ll be able to download the English Windows 7 RTM on August 6th, with other language versions on October 1st. Windows 7 will go on sale to the general public on October 22nd.

Windows Server 2008 R2

Windows Server 2008 R2 logo Windows Server 2008 R2 was also released to manufacturing today. As they state in the Windows Server Division Weblog, the simultaneous release is no coincidence but a design goal. “R2”, as I prefer to call it, boasts a lot of features such as Hyper-V, Live Migration, File Classification Infrastructure, an improved Active Directory, Pervasive PowerShell, IIS 7.5, server scalability, DirectAccess, BranchCache and improved Remote Desktop.


John Udell DemoCamp / Science 2.0 Double-Header in Toronto Next Week

This article also appears in Canadian Developer Connection.

John Udell

Jon Udell – the developer, information architect, author who wrote about social software before we started calling it that, blogger and Senior Tech Evangelist at Microsoft – will be in Toronto next week and he’ll be at a couple of events that I’m attending.

DemoCamp Toronto 21

DemoCamp Toronto 21

On Tuesday, John will be at the 21st edition of DemoCamp, the show-and-tell event for people in the Toronto tech community, where entrepreneurial developers, designers, marketers and businesspeople get together to talk about what they’re working on, exchange ideas and get to know each other. We’re about using the power of technology and creativity to make Toronto (and the world) a better place to live, work and play. And yes, Yours Truly will help host the event.

Watch this blog for more details about next week’s DemoCamp, including the demos and Ignite presentations that will be featured that night.

Science 2.0

"Achewood" T-shirt featuring Roast Beef: "What We Need More Of is Science"

On Wednesday, John will be at Science 2.0, a conference exploring the ways in which computers and the internet are changing the way science is done. Speakers and presentations at Science 2.0 include:

  • Titus Brown: Choosing Infrastructure and Testing Tools for Scientific Software Projects
  • Cameron Neylon: A Web Native Research Record: Applying the Best of the Web to the Lab Notebook
  • Michael Nielsen: Doing Science in the Open: How Online Tools are Changing Scientific Discovery
  • David Rich: Using “Desktop” Languages for Big Problems
  • Victoria Stodden: How Computational Science is Changing the Scientific Method

John will have a talk at Science 2.0 in which he’ll cover the elmcity project, a community calendaring system running on the Azure platform and how it “tackles the challenge of social information management and aims to democratize the computational way of thinking that enables us to wire the web.”

I’ll be taking notes at both events and will post them on this blog.


Coffee and Codes This Week: Guelph and Toronto

"Code Monkey" coffee mug

One quick announcement: I’m going to be at a couple of Coffee and Code events this week:

  • I’ll be at tomorrow’s (Tuesday, July 21st) Guelph Coffee and Code, which takes place at the Albion Hotel
  • and at the Toronto Coffee and Code on Friday, July 24th at the Dark Horse Cafe on Spadina.

Be there!


Thrive for Developers: Microsoft’s New Site for Developers Looking for Work

This article also appears in Canadian Developer Connection.

Motivational poster: Sad "Star Wars" stoprmtrooper sitting alone on a train: "Unemployment: Sucks when your job gets blow'd up"

If you’re a developer looking for a job – or if you already have a job and are looking for a better one – you’ll want to check out Microsoft’s new Thrive for Developers, which describes itself as a one-stop community hub for advancing your career, enhancing your skills and connecting with your community. Having stuff like this has always been important, but it’s even more so in the middle of what I like to refer to as “The Econopocalypse”.

Some of the features on Thrive for Developers are:

  • Driving Your Career: A 32-week screencast series that takes a look at some skills that developers need to thrive in the current climate. The fact that they’re called “soft skills” suggest that many people don’t think much of them, but if you’ve seen my own personal example (laid off by a startup last September, invited to a dozen interview, hired by Microsoft three weeks later) or read books like Malcolm Gladwell’s Outliers, you know that soft skills are valuable and anything but “soft”. Screencast Brian Prince will cover things like quick learning techniques, building consensus and the oft-difficult task of communicating with those pesky carbon-based lifeforms.
  • Connecting with Your Community: There’s a whole section that makes it easy to meet with other developers in your area or across North America, whether you want to find a job, join a user group, attend a developer gathering or catch a “nerd dinner”.
  • Developing in a Downturn: A lively 10-week podcast with stories, insights and real-world lessons from developers in all sorts of work environments – from small companies to multinationals – who share their top recession survival strategies.
  • Enhance Your Skills: Interactive lab sessions and resources covering both web development and Windows client application development.

Whether you’re looking to get into the game or stay on top of yours, Thrive for Developers is a great resource worth checking out.