5 December 2010 0 Comments

Thanksgiving — twice!

Last Wednesday evening, I was going to sit down and write a quick post about my family’s great Thanksgiving break at Disneyland , where we recharged and got to see World of Color for the first time (as well as rock the all-time high score on Robotron at the ElecTRONica arcade). World of Color is a truly stunning feat of technology —  1,200 individually-addressable colored water fountains, fire jets, a football-field-sized water projection screen, lasers, fog, holy crap — it’s unbelievable .

Tags: , , , , , , , ,
9 November 2010 0 Comments

Rubik’s Cube for Silverlight and Windows Phone 7 using Balder

This article explains how to create an interactive Rubik’s Cube game that runs in Silverlight and on the Windows Phone 7. We’ll start off by creating the solution for Silverlight and then make some minor additions to make it compile for Windows Phone 7 to get the same code running on both platforms

9 April 2010 0 Comments

Cameron Skinner Tour: Modeling and architecture tools in Visual Studio 2010

OK, people.  This is the last product team tour that I have planned for a while, so take advantage of it.  I’m extremely excited about this opportunity to host Cameron!  Cameron Skinner is a Product Unit Manager on the Visual Studio team, with his focus being on the architecture tools in Visual Studio.  He is partner-level at Microsoft and also delivered part of the keynote during this year’s Professional Developers Conference .  He is touring through Michigan, Ohio, Kentucky, and Tennessee during the week of April 26.  This is a fabulous opportunity for you to be able to speak directly with someone who created Visual Studio (and in fact runs the Architecture portion of Visual Studio).  He will be speaking at private engagements with corporations during the day, but will also be delivering sessions at public user groups in the evenings!  This is a great opportunity to ask those burning questions about Visual Studio directly to someone who built the product.  Your feedback, criticisms, and questions all make Visual Studio a better product.  Plus, it’s always nice to build a relationship with someone high up in Visual Studio.  :) In addition, there will be free food served and plenty of giveaways, including backpacks, shirts, posters, and a book that is highly relevant to the topic that Cameron will be speaking about: Professional Application Lifecycle Management with Visual Studio 2010 .  (Thanks to Wrox for sponsoring the books!) Here is an abstract and bio for his talk: Have you ever had to work with a legacy codebase?  Designing new functionality on existing applications can be daunting.  There are always differences between the original design and the current implementation.  The new Architecture tools within Visual Studio 2010 help you to understand the application you have, design new functionality you need, and validate that your design and your implementation do not deviate.  Join us for a look at the new code visualization, UML, and architectural validation tools which allow you to model domain-specific problem domains and maintain proper control and visibility of your software systems.  Cameron Skinner joined Microsoft in 2005 and is currently a product unit manager on the Visual Studio team. He is responsible for overseeing the Visualization and Architecture capabilities found in Visual Studio 2010 Ultimate.

9 March 2010 0 Comments

Play Modern Warfare 2 with Abstract360

What’s that strange image? It’s the logo of popular gaming website Abstract360.com.

18 February 2010 0 Comments

Game with Fame and Film with Fame February 19

Friday, February 19 sees two exciting events on Xbox LIVE: a Game with Fame with noted artist and animator Jhonen Vasquez and our first-ever Film with Fame with director Rob Zombie !       Jhonen Vasquez, creator of the animated series Invader Zim, will be online at 8 PM ET playing BioShock 2 . That image above is his painting “The Sisters” which was commissioned for the game.

22 January 2010 0 Comments

Ready for the Weekend?

Xbox LIVE has some fun things happening this weekend.

1 December 2009 0 Comments

Epic, Man, Epic

There is nothing like an epic role-playing game (RPG) to get the blood stirring, your adventurous side stoked, your crafty warrior side activated. It’s easy to get lost in the glorious worlds of games like Fable II , Oblivion , and so many others. Well, before you lose your way exploring the recesses of some dungeon, make sure to enter our Epic RPGs Sweepstakes

18 November 2009 0 Comments

Gamer Spotlight – Trixie360 interviews BahamutZaero

He’s the head honcho at Cerulean Games in Denver, a PAX-goer, a tweeter, and, oh yes, a gamer. Meet BahamutZaero .

16 November 2009 0 Comments

XNA Role Playing Game (RPG) Starter Kit

Charlie Calvert has created great post covering the XNA Role Playing Game Starter Kit from the XNA team . Charlie talks about the tile engine and the quest engine.  The tile engine supports several layers to create a complex final level.  The first layer allows you to define a basic landscape or the interior of a building. A second layer allows you to decorate it with trees, chairs, or other objects.

6 November 2009 1 Comment

Elite Web Optimization Event in Boston in December

I’ll be at this event in Boston on December 9th. Check out the details and the registration link below. Elite Web Optimization Event New England Research and Development Center (NERD) 1 Memorial Drive, Cambridge, MA 02142 December 9 th 2009 10:00AM-6:00PM Come spend a day with us to explore the Microsoft Windows Web Platform and the many managed hosting services provided by NaviSite, Inc., based in Andover, MA! During this event, we’ll review what’s new in the Microsoft Web Platform and tools, the interoperability improvements in the Microsoft Web platform and the value that NaviSite Managed Hosting can add to your project/business.

10 September 2009 0 Comments

Go Back to School with Xbox

Our Back to School Sweepstakes runs from now until September 21. You could win a cool Xbox Moped or a great technology bundle

3 September 2009 0 Comments

Silverlight 3 File Transfer Application

Author: Giovanni Montrone Difficulty: Intermediate Time Required: 5-10 hours Cost: Free Software: Visual Web Developer Express SP1 (or Visual Studio 2008 SP1), Silverlight 3 SDK ,  Silverlight 3 Tools for VS , Silverlight Toolkit Hardware: None Use it Now: Run the Application Source Download: CodePlex Introduction Every once in a while I will run into a situation where I need to send a file to someone, but struggle to find an easy way of doing it.  Instant messenger programs usually work until you run into a situation where someone just cannot send or receive a file from chat client whether it’s due to firewalls, differing client versions, or multi-IM incompatibilities.  Other times, I will try to send the file via email just to find out that the person’s email server blocks specific extensions.  This quick application will allow two users to quickly and easily connect to a Silverlight 3 client and send each other files.  Overview In this application, a user will connect to the Silverlight application and choose to either host or join a session.  If a user decides to host a session, he or she will be given a random eight character session key, and he or she will be in a waiting status until another user connects.  When a user wishes to connect to the host, he or she can supply the host’s session key which will establish a connection between the two users.  Once connected, the users will be able to send files to one another, and will also be able to chat with each other via simple text messages. Polling Duplex Sending a file from one client application to another requires a common central point in order to properly route the message from one user to another.  Since it is easy to host a Silverlight application in an ASP.NET page, we will use an ASP.NET back end to manage all communications between all connected users.  In order to do this, we must be able to host a service that is able to accept incoming messages from the Silverlight client, and perform a push back out to the intended recipient.  This is accomplished by using the WCF Polling Duplex ( System.ServiceModel.PollingDuplex.dll ) channel.  Silverlight 3 allows us to directly add a service reference to a service of this type, and handles all of the complexities for us.  I began by using the DuplexService.cs file from a sample application from MIX09 when Silverlight 3 beta was released.  The code starts us out with a couple of base abstract classes, and interfaces that we must inherit from in order to create our own service.  FileSendService The two main things we need to do in order to create our own service is to define custom message types that will be used for communication, and override the base DuplexService class to properly handle these messages.  We will create our custom message types by using DuplexMessage (defined in DuplexService.cs ) as our base class.  Our message classes must be defined with the [DataContract] attribute, and the the member variables must be public and contain the [DataMember] attribute.  This will allow our Silverlight client project to share these definitions using a service reference.  Additionally, the Duplex message class must have the [KnownType] attribute for each descendant message created.   C# [KnownType( typeof (HostSessionMessage))] [KnownType( typeof (JoinSessionMessage))] [KnownType( typeof (FileBeginUploadMessage))] [KnownType( typeof (FileTransferBytesMessage))] public class DuplexMessage { } [DataContract] public class HostSessionMessage : DuplexMessage { [DataMember] public string Username; } [DataContract] public class JoinSessionMessage : DuplexMessage { [DataMember] public string Username; [DataMember] public string SessionKey; } [DataContract] public class FileBeginUploadMessage : DuplexMessage { [DataMember] public string FileName; [DataMember] public long TotalBytes; } [DataContract] public class FileTransferBytesMessage : DuplexMessage { [DataMember] public long StartByte; [DataMember] public long PacketSize; [DataMember] public byte [] Bytes; [DataMember] public bool EndFile; } VB <DataContract( Namespace := "http://samples.microsoft.com/silverlight2/duplex" ), KnownType( GetType (HostSessionMessage)), KnownType( GetType (JoinSessionMessage)), KnownType( GetType (FileBeginUploadMessage)), KnownType( GetType (FileTransferBytesMessage))> _ Public Class DuplexMessage End Class <DataContract()> _ Public Class HostSessionMessage Inherits DuplexMessage <DataMember()> Public Username As String End Class <DataContract()> _ Public Class JoinSessionMessage Inherits DuplexMessage <DataMember()> Public Username As String <DataMember()> Public SessionKey As String End Class <DataContract()> _ Public Class FileTransferBytesMessage Inherits DuplexMessage <DataMember()> Public StartByte As Long <DataMember()> Public PacketSize As Long <DataMember()> Public Bytes() As Byte <DataMember()> Public EndFile As Boolean End Class <DataContract()> _ Public Class FileBeginUploadMessage Inherits DuplexMessage <DataMember()> Public FileName As String <DataMember()> Public TotalBytes As Long End Class The next step is to create our FileSendService class which descends from the DuplexService class as described above.  We override the OnMessage method so that we can do custom processing based on the type of message sent as shown below.  C# [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] public class FileSendService : DuplexService { private List<SessionConnectionInfo> sessionConnections = new List<SessionConnectionInfo>(); {…} protected override void OnMessage( string sessionId, DuplexMessage data) { if (data is HostSessionMessage) CreateHostSession(data as HostSessionMessage); else if (data is JoinSessionMessage) JoinSession(data as JoinSessionMessage); else if (data is FileBeginUploadMessage) StartSendFile(data as FileBeginUploadMessage); else SendMessage(data); } } else if (data is JoinSessionMessage) JoinSession(data as JoinSessionMessage); else if (data is FileBeginUploadMessage) StartSendFile(data as FileBeginUploadMessage); else SendMessage(data); } } } }   VB Public Class FileSenderServiceFactory Inherits DuplexServiceFactory(Of FileSendService) End Class <AspNetCompatibilityRequirements(RequirementsMode := AspNetCompatibilityRequirementsMode.Allowed)> _ Public Class FileSendService Inherits DuplexService Private sessionConnections As New List(Of SessionConnectionInfo)() ..