WPF Dynamic Data Display.

Found this amazing library for dynamic data display developed by Computational Science Laboratory in Microsoft Research. It features efficient binding mechanisms and real-time interactivity capable of charting millions of data points. WPF developers in finance should have a look at this.

http://www.codeplex.com/dynamicdatadisplay

Finally WPF/Sliverlight style generator.

I started this project last week and so far i was able to get Monochromatic, complimentary, Triad , Tetrads and analogous colors. The final goal of this project are as follows.

  1. User should be able to view dark and light style with chosen color on predefined template.
  2. User should be able to generate ResourceDictionary for Silverlight/WPF out of the chosen color. (This would relieve every developer from pain of styling the application :) trust me i know it)

image

Coming soon on codeplex…….  Download code.

Note: Please contribute to the project for the wellbeing of all the developers :)

Microsoft Security Essentials

Microsoft Security Essentials provides real-time protection for your home PC that guards against viruses, spyware, and other malicious software. It is available for free, for Windows XP 32-bit, Windows Vista/7 32-bit, and Windows Vista/7 64-bit.

http://www.microsoft.com/security_essentials/

Project Tuva from microsoft research.

http://research.microsoft.com/apps/tools/tuva/index.html

Microsoft research project tuva home page explains it like this:

“Project Tuva explores core scientific concepts and theories through presenting timeless videos with its new enchanced Video Player featuring searchable video, linked transcripts, notes, and interactive extras”

It was amazing to see and hear Dr. Richard Feynman’s lecture on “Law of Gravitation” at Cornell University in 1964.

Dryad and DryadLinq release for academic community.

Microsoft’s answer to google map reduce and hadoop for distributed computing is Dryad.

http://research.microsoft.com/en-us/collaboration/tools/dryad.aspx

Interactive Programming Flapjax

Flapjax is a new programming language based on interactive programming model. It is build as a framework on javascript and thus works with any web browser.

Its principal features include:

  • Event-driven, reactive evaluation
  • An event-stream abstraction for communicating with web services
  • Interfaces to external web services

http://www.flapjax-lang.org/

Low Latency Applications (Problems in development)

Definition: Latency can be defined as an application receiving the external interrupt and the process thread responding to it.

Problems with developing low latency applications:

1.       Memory Locking: All operating systems have virtual memory which implies that they pretend to have mode physical memory than is present at any given time. The physical memory is extended using paging on demand. As paging involves disk subsystem it takes more time compared to the data fetch from the physical memory.

2.       Early Binding: Since C# uses JIT compilation all the application and its reference dependencies are compiled at run time. This takes a lot of performance hit.

3.       Processor Binding: Most of the time applications have multiple threads running in a process. Since OS scheduling keeps on changing the thread , the efficiency of the code handled by the thread reduces.

Unity 1.2

Some thing to really look at new functionalities like Circular references with dependency injection, Interception with Unityhttp://unity.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=18855

Monte Carlo Simulation for Dummies

History: The idea behind Monte-Carlo simulations gained its name and its first major use in 1944, in the research work to develop the first atomic bomb. The scientists working on the Manhattan Project had intractably difficult equations to solve in order to calculate the probability with which a neutron from one fissioning Uranium atom would cause another to fission. The equations were complicated because they had to mirror the complicated geometry of the actual bomb, and the answer had to be right because, if the first test failed, it would be months before there was enough Uranium for another attempt.

They solved the problem with the realization that they could follow the trajectories of individual neutrons, one at a time, using teams of humans implementing the calculation with mechanical calculators. At each step, they could compute the probabilities that a neutron was absorbed, that it escaped from the bomb, or it started another fission reaction. They would pick random numbers, and, with the appropriate probabilities at each step, stop their simulated neutron or start new chains from the fission reaction.

The brilliant insight was that the simulated trajectories would have identical statistical properties to the real neutron trajectories, so that you could compute reliable answers for the important question, which was the probability that a neutron would cause another fission reaction. All you had to do was simulate enough trajectories.

 

I know for most of people that went above there heads. So lets try to look it in a simple way.

Monte Carlo algorithm to compute the value of tex2html_wrap_inline68478from a sequence of random numbers. Consider a square positioned in the x-yplane with its bottom left corner at the origin as shown in Figure. The area of the square is r2, where r is the length of its sides. A quarter circle is inscribed within the square. Its radius is r and its center is at the origin of x-y plane. The area of the quarter circle is π*r2/4.

  
Figure: Illustration of a Monte Carlo method for computing π.

Suppose we select a large number of points at random inside the square. Some fraction of these points will also lie inside the quarter circle. If the selected points are uniformly distributed, we expect the fraction of points in the quarter circle to be

f = (πr2/4) / r2 = π/4

Therefore by measuring f, we can compute π. Program shows how this can be done.

class Program

    {

        static void Main(string[] args)

        {

            int trials = 10000000;

            Console.WriteLine(“The value generated after number of {0} trials is {1}”,trials, Pi(trials));

            Console.ReadLine();

        }

 

        public static double Pi(int trials)

        {

            Random rnd = new Random();

            int hits = 0;

            for (int i = 0; i <>

            {

                double x = rnd.NextDouble();

                double y = rnd.NextDouble();

                if (x * x + y * y <>

                    ++hits;

            }

            return 4.0 * hits / trials;

        }

    }

Program: Monte Carlo program to compute π.

The Pi method uses the Random.NextDouble() defined to generate (x,y) pairs uniformly distributed on the unit square (r=1). Each point is tested to see if it falls inside the quarter circle. A given point is inside the circle when its distance from the origin, Root(x2+y2) is less than r. In this case since r=1, we simply test whether x2 + y2 <>

How well does Program work? When 1000 trials are conducted, 792 points are found to lie inside the circle. This gives the value of 3.168 for π, which is only 0.8% too large. When 108 trials are conducted, 78535956 points are found to lie inside the circle. In this case, we get π = 3.14143824 which is within 0.005% of the correct value! 

Hello world!

Welcome to WordPress.com. This is your first post. Edit or delete it and start blogging!