Thursday, July 05, 2007

Here's something fun you can do if you have a digital camera.  Go click pictures from your home city (original pictures) that adhere to 3 themes and submit them to Project Shutter.

Get a chance to win some really cool grand prizes and even get entered to win a T-Shirt every 30 minutes!

Now, that's simple and easy, huh?

 

posted on Thursday, July 05, 2007 11:11:50 PM (India Standard Time, UTC+05:30)  #    Comments [0] Trackback
 Tuesday, July 03, 2007

In the short time that Silverlight has been out there in the open, there is a tremendous amount of energy and enthusiasm around it.

Specifically, there are some really cool blogs that are a must-read if you are a Silverlight developer or just an enthusiast.

I thought I'll list them down so you can add them to your RSS reader:

1. Mike Harsh - http://blogs.msdn.com/mharsh/

I love Mike's blog - he aggregates all the cool applications/prototypes that people around the world are writing on Silverlight - some of the real cool stuff make it on his blog and are always awesome applications that make your jaw drop!

2. Scott Gu - http://weblogs.asp.net/scottgu/

I guess everybody knows Scott Guthrie - In his recent posts, he has put up slides to keynote talks on Silverlight. Available here, here and here. Also check out other Silverlight (and WPF/E) posts on his blog - good tips/tricks.

3. Tim Sneath - http://blogs.msdn.com/tims/

I used to read Tim Sneath 's blog from the days of WPF first coming out.  Tim has reams of great content and posts on WPF and Silverlight on his blog. 

4. Nick Kramer - http://blogs.msdn.com/nickkramer/

Nick Kramer is again one of those people who blogged a lot about WPF and is now blogging on Silverlight as well.  Lots of code samples and snippets.

5. Ashish Shetty - http://nerddawg.blogspot.com/

Ashish Shetty has a nice collection of stuff around Silverlight, Expression and WPF.

6. Vivek Dalvi - http://vivekdalvi.wordpress.com/

At first, I didn't quite see too much content - you then have to check through some of the archives and the top posts list to see a lot of good stuff.

7. Joe Stegman - http://blogs.msdn.com/jstegman/

Another Microsoft blogger and MIX 07 presenter whose blog you don't want to miss

To get most of these in one place, you can also subscribe to the Silverlight RSS feed we host on the Silverlight.net website - http://silverlight.net/blogs/microsoft/rss.aspx

posted on Tuesday, July 03, 2007 2:28:48 AM (India Standard Time, UTC+05:30)  #    Comments [0] Trackback
 Friday, June 29, 2007

Finally!

I have been having the latest version of dasBlog on my local system for a long time.  I had pretty much finished content migration, which is actually very easy, and also fixing some few template things that I wanted.  For the last few days, I was also running a parallel URL where I had uploaded the entire site.

Finally, there is a new look and feel with a lot of good things I wanted on the blog. 

My categories are all screwed up because I had chosen not to use the feature earlier - I will start using it more diligently from now.  I am also looking at hacking into the content and changing the categories for older posts - but that will have to wait for another day.

Also, I changed the home page of thinkingMS.com to a better looking one.  Courtesy some Expression Design and some quick notepad work.  Not the best of home pages, but better than what existed.  Check it out.

If you are reading this from a RSS reader, you might want to update your RSS feed (I know it has a little bug right now) and also want to visit the site once to see the new look and feel.  Click here to see it.

Technorati tags:
posted on Friday, June 29, 2007 11:36:29 PM (India Standard Time, UTC+05:30)  #    Comments [1] Trackback
 Monday, June 25, 2007

A couple of different threads that triggered in the past two days prompted this post. 

One involved a Silverlight enthusiast who has been using the BrowserHttpWebRequest class (a new class, similar to the System.Net.HttpWebRequest class in .NET, introduced in the Silverlight .NET libraries that makes use of the underlying browser stack to make web requests) to make requests to a web service in a different domain. 

Result: An exception that says "Cross domain calls are not supported by BrowserHttpWebRequest".

The other involved an AJAX developer trying to call a web service from JavaScript from another domain.  Again a similar cross-domain script error raised in the browser with a "Access denied" message.

The standard paradigm on the Internet is NOT to allow cross-domain scripting.  Cross-domain scripting is nothing new - it has been there ever since JavaScript has been around.  It is dangerous in that it allows a malicious user to inject code into a page from a different domain.  

There are few basic rules when JavaScript executes on a web page:

  • Any JavaScript code that runs within a page runs within the context of THAT page.  Which means that the JavaScript running on a page also gets to call back the same server from which the page loaded, be able to modify DOM elements of the page, be able to get to all the user input, headers, cookies, form fields, etc. on that page.
  • JavaScript included from a seperate JS file is only physically seperate.  When the page loads and a SCRIPT SRC is encountered, the JavaScript file is requested for, downloaded and then the code is included as part of the entire JavaScript.  In fact, execution of the script starts as soon as the file is downloaded completely.

Now having stated the above - let us assume we allowed cross-site scripting.  That would mean a user would be able to include (say as part of a blog's comments) a SCRIPT SRC pointing to a JS file on a different domain.  This part is actually allowed by the browser.  However when the remotely loaded script tries accessing or posting back any of the data on the page (that has loaded from a different domain), it is disallowed and an Access Denied message occurs.  This basically protects the script from stealing any data and posting it back to a different server without the knowledge of the user.

Check the Wikipedia article on Cross-Site Scripting (XSS) at http://en.wikipedia.org/wiki/XSS and go through some of the famous exploits mentioned there.

But I want to build mashups!

Sure, you still want to make use of all the power of AJAX or Silverlight and get services from multiple domains mashed up on the browser.  The solution is quite simple.  Use a bridge pattern to access the third-party services.  This basically means a "proxy" service sits on the same server (as the page on which the JavaScript/Silverlight component is loaded) and any callbacks happen to a service on the same server.   This service can then make a server-to-server call to other web services on third-party domains.  Once the data is received, it can be sent back to the client.

This is a standard pattern for accessing cross-domain services.  The Silverlight team is also working on a solution to make cross-domain posts safely possible in Silverlight 1.1 - but that is something that is only going to be in the future (hopefully).  Currently, Silverlight too blocks cross-domain calls. 

If you think the above makes sense, you are all set to write your code.  If you are the type that likes to see some reference code, try this article: http://dotnetslackers.com/columns/ajax/MashitUpwithASPNETAJAX.aspx

A good explanation is also available at the Yahoo! developer website: http://developer.yahoo.com/javascript/howto-proxy.html

posted on Monday, June 25, 2007 11:38:45 PM (India Standard Time, UTC+05:30)  #    Comments [1] Trackback

TechMela 2007 just got over.  The closing keynote had Tarun Gulati, GM-DPE, announce the date for the next TechMela as well - Feb 27 2008.

We had several firsts at TechMela this year.  TechMela itself was a confluence of events - the four big events at Microsoft India - TechEd, IndiMIX, ITPC and MEDC came together under one roof.  From initial feedback, I think we had the participants enjoying the connected experience - seeing the whole gamut of Microsoft technologies at one place.  We also had a scenario showcase that showed how Microsoft touched the lives of people across the 3 screens - Television, Mobile and PC - across home, on-the-road and work.

I had great fun being part of the TechMela team that put together the event as well as being able to talk about Microsoft Silverlight.

I did two keynote demos - one for the TechMela Business event on the 13th and one for the TechMela Technology event on the 14th.  In both keynotes, I demo'ed the application we are building for Yash Raj Films for the promotion of Jhoom Barabar Jhoom.

I also extended my hand into a few talks at the UX Track on Day 1 - talking about Expression Web, Expression Blend and an impromptu XAML-101 session.  TechMela Day 2 had me in the Web Track - which was all about Silverlight.  I did 4 sessions on Silverlight and Gaurav Khanna, who had flown down from the US just for TechMela, did a couple of deep internal sessions on the CLR inside Silverlight.  We had a packed audience for the Silverlight sessions - and a wonderful audience as well - with very interesting questions and interesting discussions.  I hope the audience had as much fun as I had.

We will be putting out the session material out soon and specifically on the Silverlight sessions, I will be doing a series of blogs with more in-depth details.

If you were part of TechMela and attended my sessions, I would love to hear feedback - either through email, or through the blog or in-person!

posted on Monday, June 25, 2007 11:38:21 PM (India Standard Time, UTC+05:30)  #    Comments [0] Trackback

Our blogs have been down for quite some time now and it had been quite frustrating.

We switched hosters and the new hosting company pulled off support for ASP.NET Full Trust permissions - which is required by the current version of dasBlog that we are using.   There seem to be only few people who have managed to remove the full trust dependencies of dasBlog and even those aren't full solutions.  A hack here and a hack there. 

When it did feel challenging to try and see if dasBlog can be modified, or if the content can be ported via BlogML to some other engine, I couldn't quite find too much time to work on it  - the reason? - TechMela 2007.

At Microsoft India, we are very excited about this new event format - branded as TechMela - which will combine all the four erstwhile annual events - TechEd, IndiMIX, MEDC and ITPC.   All of these will be under one roof and it is going to be the first time ever that you will get to see a unified and connected view of all Microsoft offerings.

Check out the agenda at www.techmela.com to give you a sense of how different, varied and advanced topics we are looking at covering during TechMela.

TechMela is going to be in Mumbai in less than 7 days from now and we sure hope you will try to attend it in person or virtually. 

I am doing a couple of demos at the keynote and am super-excited about it.  I will be showcasing WPF and a really cool Silverlight application that we are building for one of India's largest film production houses.  I will also be doing several breakouts - mainly in the UX track (demo'ing Expression suite of products) and the Rich Internet Applications track.

In the RIA track, I will be doing sessions on Silverlight.  For those who know Gaurav Khanna, he is flying in to do a couple more deep-dive tracks on Silverlight on the same day and I am looking forward to that as well.

Overall, it will be a fun event.  And we hope to see you there!

posted on Monday, June 25, 2007 11:37:53 PM (India Standard Time, UTC+05:30)  #    Comments [0] Trackback
 Tuesday, May 01, 2007

Finally, it is MIX 07 and I can breathe more freely.  We have known this internally for months, but the announcement was to happen at MIX.

Ray Ozzie started the keynote at MIX 07 with a great introduction, one of the best I've heard, to the Software + Service model.  Scott Gutherie, then came in and did some killer demos!! 

I will never forget ScottGu doing the Visual Studio Orcas remote debugging on a CLR process running within Firefox on a remote Mac system!  Wow!

And of course, the BIG BIG BIG SILVERLIGHT ANNOUNCEMENT!  We now officially have a cross-browser, cross-platform .NET runtime.  A runtime that has the very same CLR engine along with support for media playback, DRM, dynamic languages (IronRuby, IronPython, JScript and VBScript),  LINQ (!!), XML, REST/POX, AJAX and more!  All in 2MB!!!!!!  That is mind-blowing stuff!!!  When I'd first heard it, I thought it was a distant dream - but it is here and you can have the bits for yourself.

www.silverlight.net is the Silverlight community site. Check Soma's blog for the full announcement: http://blogs.msdn.com/somasegar/archive/2007/04/30/mix-07-silverlight-shines-brighter.aspx

Keep watching ScottGu's blog for he is sure to post some great stuff as well.  In fact, the auto-play chess game with .NET playing JavaScript (and winning) was a great demo and I would love to get my hands on that one!

Overall, I am super excited.  If you are a web developer, you should be too!  Because we have just opened up the web to never-before possibilities!

posted on Tuesday, May 01, 2007 1:24:44 AM (India Standard Time, UTC+05:30)  #    Comments [1] Trackback
 Monday, April 23, 2007

We did a series of webcasts last month on several web technologies. We covered some fundamentals of ASP.NET, AJAX, Live SDKs, Gadget Development and Silverlight (then called "WPF/E").

We are going to come back with more webcasts next month.  We are currently thinking:

1. ASP.NET AJAX - more detailed sessions

2. Silverlight - more details, integration with AJAX/ASP.NET

What else would you like to hear?  I am not promising we'll be able to do everything you want - but if you attend our webcasts regularily, which other Microsoft web technologies would you like to hear about?

Leave a comment or drop an email (assuming you know my ID if you have attended any session I've done before - not posting it here to avoid spam). 

posted on Monday, April 23, 2007 11:52:07 PM (India Standard Time, UTC+05:30)  #    Comments [1] Trackback
 Thursday, April 19, 2007

I was traveling and hence could not break the news simultaneously with Soma's post, but we'd heard a little while ago about the new name for what was called "WPF/e" - Microsoft Silverlight.

I simply love the name and by reading feedback across blogs, it looks like people are almost surprised that Microsoft could find a "cool name" such as Silverlight.

The Silverlight announcement happened at the National Association of Broadcasters (NAB) on the 15th of April. Read Soma's post on the same.

Of course, as Soma himself has mentioned, this is just half-the story. Tune into MIX 07 for a full and broader vision of Silverlight.

Find all the resources at www.microsoft.com/silverlight

posted on Thursday, April 19, 2007 9:56:17 PM (India Standard Time, UTC+05:30)  #    Comments [0] Trackback
 Sunday, April 15, 2007

The Ultimate in Online Training Environment is here!
With Developer Virtual Classrooms, you'll enjoy the benefits of LIVE human interaction from the comforts of your desktop for FREE.

Develop New Age Applications with WPF

This Classroom will discuss all the pillars of WPF (Windows Presentation Foundation), and enable you to experience the joy of developing new age Win Applications with much ease and performance. The instructors also walk you through some WPF applications.

Score more than 80% during the online evaluation and earn yourself a certificate of participation from Microsoft.

Register Now for FREE!

Registrations Close at 1800hrs on Thursday 19th April. Limited Seats Available

Chapter Details

Date

 Introduction to WPF

Apr 23, 2007
1700–1830hrs

 Introduction to WPF Controls

Apr 24, 2007
1700–1830hrs

 Data Binding in WPF

Apr 25, 2007
1700–1830hrs

 Resources and Styling with WPF

Apr 26, 2007
1700–1830hrs

 Deployment of WPF applications

Apr 27, 2007
1700–1830hrs

Register Now for FREE!

Registrations Close at 1800hrs on Thursday 19th April. Limited Seats Available

Speakers: Tarun Anand & Brij Raj Singh

posted on Sunday, April 15, 2007 8:07:08 AM (India Standard Time, UTC+05:30)  #    Comments [0] Trackback