Teach your kids games programing using Kodu

What is Kodu?

Kodu is a visual programming language made specifically for creating games. It is designed to be accessible for children and enjoyable for anyone. Kodu provides an end-to-end creative environment for designing, building, and playing your own new games.

Programming as a Creative Medium

The core of the Kodu project is the programming user interface. The language is simple and entirely

icon-based. Programs are composed of pages, which are broken down into rules, which are further divided into conditions and actions. Conditions are evaluated simultaneously.

The Kodu language is designed specifically for game development and provides specialized primitives derived from gaming scenarios. Programs are expressed in physical terms, using concepts like vision, hearing, and time to control character behavior. While not as general-purpose as classical programming languages, Kodu can express advanced game design concepts in a simple, direct, and intuitive manner.

The Game Load / Community Screen.

Yes, we have a turtle.

"Physical" sensors are used as rule input.

Stick can’t walk but he packs a wallop.

Download Kodu for PC Technical Preview Now

The programming environment also runs on the Xbox, allowing rapid design iteration using only a game controller for input. Kodu Game Lab can be found in the Xbox Marketplace in the Indie Games channel.

Click here to find out more

Silverlight Client for Facebook available – But where is the source code?

Remember the final moments of the Scott Guthrie keynote presentation at PDC09?  Where Brian Goldfarb came on stage and demonstrated a completed application using a lot of the features of Silverlight 4?  Yeah, that Facebook application.  Well, it’s here now!

Silverlight 4 Beta Client for Facebook

Silverlight Client for Facebook - Home view

You can install it from here. But wait … I have a bad news for you, they are not providing the source and code and worst of all they obfuscated the application so you can’t even use Reflector to look inside!  :<

31 Days of Silverlight Series by Jeff Blankenburg

Day #1: Mouse Events in Silverlight
Day #2: Silverlight Screen Transitions
Day #3: Custom Silverlight Loading Screen
Day #4: Communicating Between Two Silverlight Controls
Day #5: Silverlight Drag and Drop
Day #6: Silverlight and the Twitter “Hello, World!”
Day #7: Using WCF Web Services With Silverlight (and LINQ)
Day #8: Custom Fonts in Silverlight
Day #9: Using Keystrokes in Silverlight
Day #10: Styling Silverlight Control
Day #11: Animating Your Silverlight Application
Day #12: Jumping From XAML to XAML in Silverlight
Day #13: Binding Elements In Silverlight 3
Day #14: Perspective 3D in Silverlight
Day #15: Silverlight Charting
Day #16: Silverlight AutoComplete Textbox
Day #17: Silverlight Layout Options
Day #18: Silverlight Effects
Day #19: Silverlight Pixel Shader Effects
Day #20: Adding Audio to Silverlight Events
Day #21: Rapid Silverlight Prototyping In SketchFlow
Day #22: Using The Farseer Physics Engine in Silverlight
Day #23: Silverlight Outside The Browser (Part 1 of 3)
Day #24: Silverlight Outside The Browser (Part 2 of 3)
Day #25: Silverlight Outside The Browser (Part 3 of 3)
Day #26: Silverlight Data Grid
Day #27: Templating Controls In Silverlight
Day #28: Silverlight Application Themesa
Day #29: Using Isolated Storage in Silverlight
Day #30: Bing Maps in Silverlight
Day #31: Geocoding and More Fun in Bing Maps for Silverlight

MEF in Silverlight Screencasts

MEF is a framework that simplifies the design of extensible applications and components. It can flexibly and dynamically discover a set of loosely coupled components and analyse their dependencies in order to compose them together at run time.

Mike Taulty has recently put up a six part series of screencasts covering the use of MEF in Silverlight 4.

Part 1, Introduction

Part 2, Imports & Exports

Part 3, Catalogs

Part 4, Recomposition

Part 5, the PackageCatalog

In Silverlight 4, PackageCatalog has been replaced with DeploymentCatalog. Mike has this screencast showing how to use it. Also check out his blog post here.

Part 6, Locating Defaults & ExportProviders

Another screencast showing how to create a singleton plug-in service shared by a 2 instances of non-shared plug-in.

ASP.NET 4 SEO Improvements

Page.MetaKeywords and Page.MetaDescription properties

One simple recommendation to improve the search relevancy of pages is to make sure you always output relevant “keywords” and “description” <meta> tags within the <head> section of your HTML.  For example:


One of the nice improvements with ASP.NET 4 Web Forms is the addition of two new properties to the Page class: MetaKeywords and MetaDescription that make programmatically setting these values within your code-behind classes much easier and cleaner. 

Response.RedirectPermanent() Method

It is pretty common within web applications to move pages and other content around over time, which can lead to an accumulation of stale links in search engines.

In ASP.NET, developers have often handled requests to old URLs by using the Response.Redirect() method to programmatically forward a request to the new URL.  However, what many developers don’t realize is that the Response.Redirect() method issues an HTTP 302 Found (temporary redirect) response, which results in an extra HTTP round trip when users attempt to access the old URLs.  Search engines typically will not follow across multiple redirection hops – which means using a temporary redirect can negatively impact your page ranking.  You can use the SEO Toolkit to identify places within a site where you might have this issue.

ASP.NET 4 introduces a new Response.RedirectPermanent(string url) helper method that can be used to perform a redirect using an HTTP 301 (moved permanently) response.  This will cause search engines and other user agents that recognize permanent redirects to store and use the new URL that is associated with the content.  This will enable your content to be indexed and your search engine page ranking to improve. ASP.NET 4 also introduces new Response.RedirectToRoute(string routeName) and Response.RedirectToRoutePermanent(string routeName) helper methods that can be used to redirect users using either a temporary or permanent redirect using the URL routing engine.

For more goto –> ASP.NET 4 SEO Improvements (VS 2010 and .NET 4.0 Series) – ScottGu’s Blog

Using WCF RIA Services to include multi table master-detail data


When you see demonstrations of technologies most of the time the data samples show single table solutions.  When was the last time you’ve developed a single-table system? :-)  Thought so.

Chinook Entity Model

In RIA Services demonstrations, most of them have been single-table samples as well.  So how do you go about retrieving relational data (master/details type) with RIA Services?  Here’s an option. Modify the Visual Studio generated MetaData class to add an [include] attribute on top of your chosen EntityCollection<T> and then add a method to our Domain Service class to get the additonal data. e.g.

public EntityCollection<Album> Albums;

public IQueryable<Artist> GetArtistsWithAlbums()
   return this.ObjectContext.Artists.Include("Albums");

Via RIA Services and relational data

The Next Big Thing: Predictions for 2010 and the new decade


  • The future of computing – Your cell phone will become your primary computer, communicator, camera, and entertainment device, all in one. The exciting new applications are running in the browser, with application code and data in the cloud, and the cell phone as a major platform.  I think in the near future there will be docking stations everywhere with a screen and a keyboard. You simply pull out your phone, plug it into the docking station, and instantly all your applications and data are available to you. You can connect to the Internet via your cell phone service, WiFi hotspot, or wired connection.  Your phone will have enough storage so you can decide which applications and data are stored on your phone, and which will be in the cloud. Replication will work seamlessly in the background so that you always have a backup copy of your data in the cloud.
  • Cloud Computing – Mainframe to PC to mobile phone – Mobile phones are clearly the next computing platform. Mainframes (IBM) dominated the 60’s, 70’s and 80’s. PCs displaced mainframes in the mid 80’s, and with it Microsoft became the new king of the hill (1985 – 2000). The Internet in 2000 enabled web applications, web commerce, and the notion of cloud based computing. The iPhone took mobile computing to the next level. It delivered a beautiful user interface on a cell phone screen, with hundreds of applications, and all the computation and data storage in the cloud. Android will accelerate this trend in 2010.
  • Mary Meeker of Morgan Stanley says Mobile Internet usage is bigger than most people think, and it is exploding. Every platform shift has 10X the number of devices and users. There were about 1M mainframes, 10M mini-computers, 100M PCs, and 1 Billion cell phones. The next wave of mobile devices will be over 10B.

    10x platform shifts

  • Browser as Web OS
  • Android will disrupt the mobile business
  • Mobile bandwidth will explode
  • Games on your cell phone
  • Cell phone as payment device
  • Software companies become Application companies
  • Gmail and Google Apps go enterprise

for more details –> Don Dodge on The Next Big Thing: Predictions for 2010 and the new decade