WhyDay: Today, August 19th

Cartoon foxes from "why's (Poignant) Guide to Ruby" yelling "Chunky Bacon!"Today, August 19th, is WhyDay, a day held in honour of the Ruby world’s most enigmatic character, a guy known to most only by a nickname, why the lucky stiff.

_why (as he’s often called) is probably best known for his quirky programming book, why’s (Poignant) Guide to Ruby, quite possibly the most weird and whimsical tutorial written since Carlton Egremont III’s books Mr. Bunny’s Big Cup O’ Java and Mr. Bunny’s Guide to ActiveX. Although he never finished the book, it’s still a great (and greatly amusing) intro to the Ruby programming language from simple one-liners, all the way up to metaprogramming, peppered with his crazy comics which include two cartoon foxes whose catchphrase/battle cry is “chunky bacon!”.

Comic from "why's (Poignant) Guide to Ruby"

_why also wrote a number of libraries and applications, many of which have either become part of the Ruby programmer’s toolkit or have become the basis of current apps and libraries. He was also a big proponent of making programming environments to teach kids programming, so he created Shoes, a UI toolkit for making web-like desktop apps and Hackety Hack, a programming mini-IDE built on top of Shoes for kids to make their own programs.

"why the lucky stiff" presenting at RailsConf 2006

He didn’t stop at writing and coding; he was also a musician and performer. If you were at the first RailsConf in 2006 in Chicago, you were treated to his keynote, a psychedelic multimedia rock opera which began with him exhorting the audience to “Put you best practices away!” and filled with great music and geeky jokes (including one about exception handling that I found particularly amusing).

"why the lucky stiff" playing banjo with a violin bow at SXSW

_why has always been a bit of a privacy nut, to the point that very few people actually know his real name or even what he does for a living. On this day last year – August 19th, 2009 – he decided that he no longer wanted to be in the spotlight and quietly disappeared from the Ruby scene, removing all traces of his sites and projects. John Resig, they guy behind jQuery, wrote a nice elegy for him (even though _why didn’t pass away, but went into J.D. Salinger mode).

His stuff lives on because it was all either open-sourced or licenced under Creative Commons, and is now curated (and even expanded upon) by fans of his work.

A number of people are celebrating WhyDay by remembering his greatest gift to the Ruby and larger programming world: a spirit of whimsy, creativity, freedom and experimentation. Yes, programming is serious work and probably one of the hardest things that humans do, but without finding joy in what you do, what’s the point? The people who’ve declared today as WhyDay suggest:

  • See how far you can push some weird corner of Ruby (or some other language).
  • Choose a tight constraint (for example, 4 kilobytes of source code) and see what you can do with it.
  • Try that wild idea you’ve been sitting on because it’s too crazy.
  • You can work to maintain some of the software Why left us (although Why is more about creating beautiful new things than polishing old things).
  • On the other hand, Why is passionate about teaching programming to children. So improvements to Hackety Hack would be welcome.
  • Or take direct action along those lines, and teach Ruby to a child.

I’d be a bad Microsoft evangelist if I didn’t tell you that:

  • Yes, Ruby works like a charm on Windows. For a lot of quick computation, I keep an irb window handy on my Windows 7 box much of the time.
  • You should take _why’s spirit and apply it to .NET! The .NET 4.0 framework incorporates a lot of great stuff that Ruby developers would find familiar, from powerful collections to dynamic typing to functional programming features, whether you do it in C# and want to go hardcore with F#.
  • Inspiration and community are part of programming. _why inspired a lot of programmers to go out their and try their crazy ideas, and in the process, they got to know and work with their fellow geeks. Get out there, build something beautiful and share it!

This article also appears in Canadian Developer Connection.


Andrew Stellman’s C# “Inner Circle” Discussion, Game Challenge and C# Video Q&A

The Week-Long Discussion

Cover of the book "Head First C#"Andrew Stellman, co-author of O’Reilly’s excellent and easy-to-read C# intro, Head First C#, is holding a week-long “Inner Circle” discussion on C# and .NET 4.0 in the forums for O’Reilly’s “Head First” book series. In this discussion, he plans to cover a wide range of topics, including:

  • Why use C# instead of any other language?
  • C# best practices
  • Becoming a better C# developer
  • Dealing with objects
  • Productivity hints
  • The best of C#

If you want to follow the discussion, simply point your browser at the Head First Labs Forums’ “Head First C#” section and look for topics started by Andrew Stellman. You don’t have to log in to just read, but you’ll have to register for the forum if you want to join in the discussion and comment back.

The Challenge

Charlie Chaplin and the original IBM PC

In his first discussion topic, Andrew issues a challenge: build an old-school, text-mode game in C#! In the 1980s, the computing world was seen through the command line in an 80-character by 24-line grid (40 characters if you were on an Apple ][, Commodore 64 or Atari 400/800, even fewer if you were on a VIC-20), and that’s how we played a lot of games, whether they were commercial or typed in from source code in magazine or books like the ones scanned into the Atari Archives.

If you’ve never written a text-mode game before (or in my case, if it’s been a long, long time), he’s written an article to help out — Understanding C#: Use System.Console to Build Text-Mode Games.

Your efforts in building an old-school text-mode game will not go unrewarded. Submit a text-mode game and you can win a prize! He’ll judge them on the following criteria:

  • Game play
  • Fun
  • Technical coolness
  • General awesomeness
  • “Retro nostalgia” for extra point

The winner will receive five O’Reilly eBooks of his or her choice. He’ll also choose runners-up who will get a free O’Reilly eBook.

If you’re looking for ideas for an old-school text-mode game, check out these books at Atari Archives, with source code written in old-school line-numbered BASIC. Some of these take me back to my high school days:

Video Q&A: Stellman on C#

As a prelude to the discussion, Andrew recorded videos of his answers to questions about the C# programming language and the second edition of Head First C#

Why should developers learn C#?

What kind of applications can you build with C#?

How hard is C# to pick up?

What’s the toughest thing to learn in C#?

What’s new in the second edition of Head First C#?

This article also appears in Canadian Developer Connection.


Learn Windows Phone 7 with the “Jump Start” Course

Andy Wigley and Rob Miles: "Live from inside the TARDIS, it's the Windows Phone 7 Jump Start Course!"

(Well, it’s two English guys surrounded by tech gear and a psychedelic background. The interior of the TARDIS came to mind.)

The Windows Phone 7 Jump Start is the first of a number of free online courses on WP7 programming led by Microsoft MVPs, and you can jump in right now! Presented by Andy Wigley and Rob Miles, the Jump Start is made up of 12 50-minute videos for a total of ten hours’ worth of training, covering development of both Silverlight- and XNA-based apps as well as advanced topics such as the WP7 application lifecycle, launchers, choosers, isolated storage, taking advantage of the dialer, camera and contacts, and networking. There’s even a section on bringing your app over to the Marketplace. It’s all online, free and ready for you to dive in!

The videos in the course are:

  1. Introduction
  2. Building a Silverlight Application, Part 1
  3. Building a Silverlight Application, Part 2
  4. Building Games for the Windows Phone 7 Platform
  5. Building XNA Games for the Windows Phone 7 Platform, Part 1
  6. Building XNA Games for the Windows Phone 7 Platform, Part 2
  7. Advanced Application Development, Part 1
  8. Advanced Application Development, Part 2
  9. Advanced Application Development, Part 3
  10. Marketing Your Windows Phone 7 Application
  11. Working with Media
  12. Final Silverlight Topics and Wrap-Up

You can watch the videos on their pages (Silverlight required) or download them in WMA, WMV and MP4 formats for offline viewing.

This article also appears in Canadian Developer Connection.


TechDays 2010 & TechNet Subscriptions – Helping You to Continue Your Learning

And now a special TechDays announcement from Damir, the Big Kahuna of our upcoming cross-Canada conference…

image TechDays 2010 is getting closer with Vancouver conference just a few weeks away. As such the team has been hard to make this an impactful event that will allow you to grow your skills and support you in areas important to your job and career. 

I am happy to announce that the hard work has paid off and we have been able to work with Microsoft corporate and each TechDays 2010 attendee will get a TechNet Plus subscription!

This benefit is added to the over 50 Sessions of technical content, networking opportunities, great offers from our Partners, like Telerik, Pluralsight, Xceed, and access to 50 virtual labs to get hands-on without requiring you to provide the necessary hardware and software to support adoption. 

Now, to be clear, I did announce just a couple of weeks ago that we would not be providing TechDays 2010 attendees with TechNet Plus subscriptions, but understanding that now, more than ever, you need all the tools in your arsenal to help you deploy Windows 7 and Office 2010, implement Windows Server 2008 R2, Hyper-V, SharePoint 2010, and other technologies, we were able to work with our colleagues at Microsoft Corporate to make a one-time exception.

Here are some details on how the TechNet subscription will work for TechDays 2010 attendees:

  • All subscriptions will be new subscriptions.  We will not be able to extend your existing subscription, if any.
  • All subscriptions will be for one year and do not include any support incidents. Subscriptions are a Special TechDays 2010 NFR edition and are not the same as you would be able to purchase directly.
  • All subscriptions provide you download-only access to over 80 software products as well as all of the TechNet virtual labs, beta products, forums, TechCenters, and other TechNet resources.  There is no option to order physical media with the Special TechDays 2010 NFR edition subscription.
  • All subscriptions will be processed about 15-20 days after you attend TechDays 2010 in the city where you are registered.  This means that if you attend TechDays 2010 in Vancouver, you will get your subscription 3-4 weeks after the Vancouver event; if you attend Toronto, it will be 3-4 weeks after the Toronto event, and so on.

Finally, there is one more thing I need to be completely clear about.  The provision of a one-year TechNet subscription to TechDays 2010 attendees is a one-time only occurrence and will not be continued in future years.  I’ll be up-front right now – we do not expect to provide TechDays 2011, and future year, attendees with TechNet subscriptions.  We are delighted that we can do it this year but want you to be aware that you should not expect to receive a TechNet subscription in 2011 and further into the future.

If you have not yet registered, please go to to get the limited-time Early Bird pricing at $349.99 + taxes, a 50% saving from the regular conference fee.  If you plan on going to TechDays Vancouver, Early Bird pricing expires on August 20th so act now!  Early Bird pricing for TechDays 2010 events in other cities expires 6 weeks before the event.

Thanks for your continued support of TechDays. We look forward to welcoming you!


This article also appears in Canadian Developer Connection.


Get Your Game on with Windows Phone 7

It’s On!

When Windows Phone 7 was first shown to the public in March, we got a taste of the Games hub and were told that Microsoft was working with a number of big game developers to bring games to the new phone platform. Late yesterday, we got the announcement of the first games coming to WP7:

It’s one thing to see a slickly-produced ad showing the games, but it’s an entirely different thing to see actual games being played on an actual phone. Here’s Engadget’s video of the game experience on one of the prototype phones – the Samsung “Taylor”, which I have and which you might have seen at the last “Coffee and Code” event in Toronto:

Here’s what Engadget had to say about the experience:

We’ll preface this by saying that both the hardware and software we demoed was still unfinished (the latter being the Samsung Taylor dev phone and the LG QWERTY model we broke news of on the Engadget Show). Regardless, the gameplay for the arcade titles seemed excellent, with frame rates holding fast even during graphically intensive 3D sequences (such as the chaotic, scattered-pixel play of Rocket Riot). The Harvest, while a bit familiar to our eyes, still showed the graphic promise of the platform. Gameplay was definitely well suited to a touchscreen device, though Microsoft’s Kevin Unangst told us that developers could target controls for both touch and QWERTY-equipped phones (provided that a touch version was always present). The screen response seemed accurate and sensitive, reacting quickly to our input. Particularly in the Crackdown title — a tower defense game "set in the Crackdown universe" — pinch zooming, rotation, and finger tracking was excellent.

The New New Xbox Experience

The “New Xbox Experience” or “NXE” – the revamped Xbox user interface that introduced avatars – comes along for the ride on Windows Phone. You can access your Xbox Live account on WP7, check out your gamerscore and achievements, and like Xbox-based games, your avatar can also be used within WP7 games and apps.

In this Engadget video, we see avatars being used to give a little twist to some standard smartphone apps such as “flashlight”, “spirit level” and “coin flip”:

Here’s another video showing more avatar action as well as some of the social networking features of Xbox Live, as done on WP7:

The Games

The games that have been announced for Windows Phone 7 so far:

  • 3D Brick Breaker Revolution (Digital Chocolate)
  • Age of Zombies (Halfbrick)
  • Armor Valley (Protégé Games)
  • Asphalt 5 (Gameloft)
  • Assassins Creed (Gameloft)
  • Bejeweled™ LIVE (PopCap)
  • Bloons TD (Digital Goldfish)
  • Brain Challenge (Gameloft)
  • Bubble Town 2 (i-Play)
  • Butterfly (Press Start Studio)
  • CarneyVale Showtime (MGS)
  • Castlevania (Konami Digital Entertainment)
  • Crackdown 2: Project Sunburst (MGS)
  • De Blob Revolution (THQ)
  • Deal or No Deal 2010 (i-Play)
  • Earthworm Jim (Gameloft)
  • Fast & Furious 7 (i-Play)
  • Fight Game Rivals (Rough Cookie)
  • Finger Physics (Mobliss Inc.)
  • Flight Control (Namco Bandai)
  • Flowerz (Carbonated Games)
  • Frogger (Konami Digital Entertainment)
  • Fruit Ninja (Halfbrick)
  • Game Chest-Board (MGS)
  • Game Chest-Card (MGS)
  • Game Chest-Logic (MGS)
  • Game Chest-Solitaire (MGS)
  • GeoDefense (Critical Thought)
  • Ghostscape (Psionic)
  • Glow Artisan (Powerhead Games)
  • Glyder 2 (Glu Mobile)
  • Guitar Hero 5 (Glu Mobile)
  • Halo Waypoint (MGS)
  • Hexic Rush (Carbonated Games)
  • I Dig It (InMotion)
  • iBlast Moki (Godzilab)
  • ilomilo (MGS)
  • Implode XL (IUGO)
  • Iquarium (Infinite Dreams)
  • Jet Car Stunts (True Axis)
  • Let’s Golf 2 (Gameloft)
  • Little Wheel (One click dog)
  • Loondon (Flip N Tale)
  • Max and the Magic Marker (PressPlay)
  • Mini Squadron (Supermono Limited)
  • More Brain Exercise (Namco Bandai)
  • O.M.G. (Arkedo)
  • Puzzle Quest 2 (Namco Bandai)
  • Real Soccer 2 (Gameloft)
  • The Revenants (Chaotic Moon)
  • Rise of Glory (Revo Solutions)
  • Rocket Riot (Codeglue)
  • Splinter Cell Conviction (Gameloft)
  • Star Wars: Battle for Hoth (THQ)
  • Star Wars: Cantina (THQ)
  • The Harvest (MGS)
  • The Oregon Trail (Gameloft)
  • Tower Bloxx NY (Digital Chocolate)
  • Twin Blades (Press Start Studio)
  • UNO (Gameloft)
  • Women’s Murder Club: Death in Scarlet (i-Play)
  • Zombie Attack! (IUGO)
  • Zombies!!!! (Babaroga)

…with more on the way, as big game dev companies sign up and Microsoft’s Mobile Games Studio kicks into high gear.

How Do You Get in on Some of That Action?

windows phone 7 If you want to just play Windows Phone 7 games, it’s easy – the phone comes out in the fall, in time for the holiday shopping season.

If you want to build Windows Phone 7 games, it takes a little more work, but it’s worth it. You’ll need to:

  1. Get your hands on the development tools. They’re free-as-in-beer and you’ll get:
    • The IDE, Visual Studio for Windows Phone Express (and if you have Visual Studio 2010, the necessary parts to do WP7 development)
    • Windows Phone emulator
    • Silverlight for Windows Phone (app-building framework)
    • XNA 4.0 for Windows Phone (game-building framework)
    • Expression Blend for Windows Phone (UI-building tool)
  2. Learn XNA development. There are a number of good tutorials out there, including:
  3. And finally, keep an eye on this blog. As a Windows Phone 7 Champ, I’ve got a direct line to the WP7 team, I always point you to the good stuff, and I’ve got some surprises in store!

This article also appears in Canadian Developer Connection.


TWC9: Lots of Windows Phone 7 Stuff, SQL Cop, WCF for Large Data

Get Microsoft Silverlight

Can’t see the video? You can download and install Silverlight or download the video in iPod (MP4), MP3, WMA, WMV, WMV (High) or Zune formats.

thisweekonchannel9 Here’s what’s up on the latest edition of This Week on Channel 9, the summary of the most interesting videos and news on Microsoft’s Channel 9 site:

This article also appears in Canadian Developer Connection.


THIS is How You Do It: The USGA Golf Score App for Windows Phone 7

intro slide[3]

One of the tricky things about helping developers build for a platform that has yet to be released is that it’s a tabula rasa. There’s no history, which is both blessing and curse: we developers get to make that history, but at the same time, we’re working in the dark. There are no examples to emulate and no best practices to follow – it’s just us and whatever user interface guidelines there happen to be (which, in the case of Windows Phone 7, is the Windows Phone UI Design and Interaction Guide).

That’s why I’m glad that Microsoft is building WP7 apps like USGA Shot Tracker, a gorgeous golf scorekeeping app that practically announces to developers: “This is how you do it. This is how you write a usable, beautiful, truly Windows Phone 7 app.” Here’s a video of USGA Shot Tracker in action:

Give the app a look, and also make sure you check out the article on Long Zheng’s blog, istartedsomething, which includes images of USGA Shot Tracker’s screens.

Keep an eye on this blog, because I’m a couple of days away from starting an ongoing series on well-designed WP7 apps and how you implement them. I’ll take a closer look at USGA Shot Tracker and other apps, going through them with a fine-toothed comb in attempt to learn as much as possible from them, and share that knowledge with you.

This article also appears in Canadian Developer Connection.