Saturday, March 22, 2008

Destiny

After playing with the idea for long, today i went ahead with it. Actually, i always thought i do not have ample time for such silly things, but i realized i actually do have. I can certainly have some time for creativity!!!

So, here it is. But first the preface... Like so many people i like reading news (minus yellow journalism) and the debates on them. Each person will look at the news from hie own perspective.

Then there is virtualization. the what ifs... the food for thought for the legendary writers.

The idea is to create a component which will read daily news and then somehow(i have an idea though!!) link the stories together to cook up a fictional story.

What good it will do? i dont know.. may be that way we can find out how we react to stories or is there a pattern in this otherwise seemingly chaotic world around us...

May be it can whip out a story good enough for a hollywood potboiler!! May be a non sensical black humour.. who knows?

Just cant wait to see what a number cruching machine (read computer) can do when it can relate one MS Doni being the hottest person on sale to a non descriptive Indian soldier (they call him spy!) Sabarjit waiting to hanged in pakistan after spending entire life time in jail.

May be it can actually give us data on how a budget is related to increasing number of farmers commiting suicides or how rain is actually responsible for giving millions of unprivilged indians like me to own a lakhtakia(Rs 1 lakh) car sans Mr. Tata. :) 

And when it does, It recreates destiny.

The idea is simple enough, but to make it really work i will have to spend some midnight oil. I am ready. A crash course in Artificial intelligence would be handy. :)


below is the mind map of the idea. If it all sounds very foolish and stupid to you.... You are the person i would be needing.



    News Feed1,
    News Feed2 -- > Component. (Definately not a news aggeregater) ---- > AI stuff --- > Our fictional story.
        


PS: There is no commercial value attahced to the project, Just plain challenge. As a famous MNC hotshot was once commented at "Arent you fed up with selling boltteled carbonated water?" and rest is history. (No pun intended, but my organization just gave up keeping free carbonated cold drinks!)


If anyone of you are game for it, do just post your comments here or shoot me an email.

The name of the project... well you guessed it... :) its DESTINY.

Blogged with the Flock Browser

Monday, March 10, 2008

GlobalLogic WCF training ppt slides

The ppt is shared @ this Location.
Your suggestions/ comments are welcome, as always :)

I would be posting the demos as well soon..

Blogged with Flock

Monday, February 18, 2008

HTTP PipeLine and Application / Page Events


See the below three figures...









1. The ASP.NET HTTP pipeline relies on IIS to receive the request.

2. When IIS receives an HTTP request, it examines the extension of the file.

3. If the file extension is associated with executable code, IIS invokes that code, in order to process the request.

4. Mappings from file extensions to pieces of executable code (.exe) are recorded in the IIS metabase.

5. When ASP.NET is installed, it adds entries to the metabase (associating various standard file extensions, including .aspx and .asmx), with a library called aspnet_isapi.dll.

6. When IIS receives an HTTP request for one of these files, it invokes the code in aspnet_isapi.dll, which in turn funnels the request into the HTTP pipeline.

7. Aspnet_isapi.dll uses a named pipe to forward the request from the IIS to an instance of the ASP.NET worker process, aspnet_wp.exe.

8. The aspnet_wp.exe worker process uses an instance of the HttpRuntime class to process the request.



Below the diagrammatic representation of mixing Page-Events with Application-Events.








This life cycle of the ASP.NET page starts with a call to the ProcessRequest() method. This method begins by initializing the page's control hierarchy.

The life cycle of Page ends by handing off the Web page's HTML markup to the Web server, which sends it back to the client that requested the page.

1

Application_Start

2

Application_BeginRequest

3

Application_AuthenticateRequest

4

Application_AuthorizeRequest

5

Application_ResolveRequestCache

6

Session_Start

7

Application_AcquireRequestState

8

Application_PreRequestHandlerExecute

 

Page Life Cycle occurs, and at the end generated HTML is sent to the server. This HTML is then rendered by the client/browser.

This is the place where the Page events mentioned at the right side of figure 2 occurs.

9

Application_PostRequestHandlerExecute

10

Application_ReleaseRequestState

11

Application_UpdateRequestCache

12

Application_EndRequest

13

Application_PreSendRequestHeaders

14

Application_PreSendRequestContent

 

Form Displays



Blogged with Flock

HTTP PipeLine and Application / Page Events


See the below three figures...









1. The ASP.NET HTTP pipeline relies on IIS to receive the request.

2. When IIS receives an HTTP request, it examines the extension of the file.

3. If the file extension is associated with executable code, IIS invokes that code, in order to process the request.

4. Mappings from file extensions to pieces of executable code (.exe) are recorded in the IIS metabase.

5. When ASP.NET is installed, it adds entries to the metabase (associating various standard file extensions, including .aspx and .asmx), with a library called aspnet_isapi.dll.

6. When IIS receives an HTTP request for one of these files, it invokes the code in aspnet_isapi.dll, which in turn funnels the request into the HTTP pipeline.

7. Aspnet_isapi.dll uses a named pipe to forward the request from the IIS to an instance of the ASP.NET worker process, aspnet_wp.exe.

8. The aspnet_wp.exe worker process uses an instance of the HttpRuntime class to process the request.



Below the diagrammatic representation of mixing Page-Events with Application-Events.








This life cycle of the ASP.NET page starts with a call to the ProcessRequest() method. This method begins by initializing the page's control hierarchy.

The life cycle of Page ends by handing off the Web page's HTML markup to the Web server, which sends it back to the client that requested the page.

1

Application_Start

2

Application_BeginRequest

3

Application_AuthenticateRequest

4

Application_AuthorizeRequest

5

Application_ResolveRequestCache

6

Session_Start

7

Application_AcquireRequestState

8

Application_PreRequestHandlerExecute

 

Page Life Cycle occurs, and at the end generated HTML is sent to the server. This HTML is then rendered by the client/browser.

This is the place where the Page events mentioned at the right side of figure 2 occurs.

9

Application_PostRequestHandlerExecute

10

Application_ReleaseRequestState

11

Application_UpdateRequestCache

12

Application_EndRequest

13

Application_PreSendRequestHeaders

14

Application_PreSendRequestContent

 

Form Displays



Blogged with Flock

Untitled

A quick guide to == , Equals(x,y),

 

= =

RefererenceEquals(x,y)

Virtual Equals(x)

Static Equals(x,y)

Value Types

Check for Value Equality

Checks for Reference Equality.

 

Will always return false.

Reason: Boxing is required and hence boxing will result into two different objects.

Overridden for ValueTypes: Hence Checks for Value Equality.

 

But, But, But,,,, using ‘==’ for structs [Again a Value Type] willl result in compliation error as there is no overloaded version is present of ‘==’ for value types.

 

Reference Types

Check for Reference Equality & never checks objects based on their contents.

 

Will return False, if both objects are different.

 

Will return True, if both objects are same, i.e points to same location.

Check for Reference Equality & never checks objects based on their contents.

 

Will return False, if both objects are different.

 

Will return True, if both objects are same, i.e points to same location or both are null.

 

 

Problem: Cannot be overridden to compare objects by value.

 

Check for Reference Equality & never checks objects based on their contents.

 

Will return False, if both objects are different.

 

Will return True, if both objects are same or null, i.e points to same location.

 

 

Problem: Can be overridden to compare objects by value, but will throw an exception if either of them is null.

 

Check for Reference Equality & never checks objects based on their contents.

 

Will return False, if both objects are different. Or either if them is null.

 

Will return True, if both objects are same, i.e points to same location or both are null.

 

 

 

String Types

Same as Value Types

Overridden for String Types:  Hence Checks for Value Equality.

 

Blogged with Flock

Thursday, February 14, 2008

Training sessions in globallogic Presentation slides and demos

Hi,
i would be hosting the ppt slides on .net presentations on WPF , WCF ,WF Cardspace and Silverlight on http://docs.google.com/.

Send me an email to get a copy or add you as collaborative editor on the related document ppt slides.

I have also hosted the files here.

The related quick demos built during the training session are here.

Blogged with Flock

Kick start !!!

After a long hibernation, i have decided to blog on silverlight 1.0 and .net 3.5 technologies. The humble intention would be to collaborate the efforts of various people who like to learn and share the ideas on the subject.

I will try to be as regular as possible on this one. Reason 1 being that this is one area where things are moving really fast!!

Reason2 being that as the frameworks are moving from Alpha, beta and RTC the changes that happen along with breaks the previous code sometimes and to keep track a blog is better place that any code repository!! ( No Pun intended!!) :)

so.. looking forward for your comments and suggestions, as always.

Blogged with Flock