Monday, September 20, 2010

.NET Gadgeteer

Microsoft .NET Gadgeteer is a rapid prototyping platform for small electronic gadgets and embedded hardware devices. It combines the advantages of object-oriented programming, solderless assembly of electronics using a kit of hardware modules, and quick physical enclosure fabrication using computer-aided design.

Individual .NET Gadgeteer modules can be easily connected together to construct both simple and sophisticated devices. Each module adds some extra capabilities, such as the ability to display images, playback sounds, take pictures, sense the environment, communicate with other devices or enable user interaction.

The platform is built on the .NET Micro Framework, which allows small devices to be programmed in the C# language and make use of Visual Studio’s programming and debugging tools.

This powerful combination allows fully functional devices to be prototyped in a matter of hours rather than days or weeks. more

Sunday, September 19, 2010

Project Gustav: Immersive Digital Painting




Project Gustav is a realistic painting-system prototype that enables artists to become immersed in the digital painting experience. It achieves interactivity and realism by leveraging the computing power of modern GPUs, taking full advantage of multitouch and tablet input technology and our novel natural media-modeling and brush-simulation algorithms. Project Gustav is a great example of how Microsoft's research efforts are leading to exciting new technologies to support creativity.


About

Typically the experience of painting on a computer is nothing like painting in the real world. Real painting is actually a very complex phenomenon – a 3D brush consisting of thousands of individually deforming bristles, interacting with viscous fluid paint and a rough-surfaced canvas to create rich, complex strokes. Until fairly recently, the amount of computing power available on a typical home computer simply hasn't been sufficient to attempt simulating such a real-world painting experience in any detail. Project Gustav aims to leverage the increasing power of the PC and ever faster graphics processors and combine that with a natural user interface, to bring a rich painting experience to a wide audience including hobbyists and professionals alike. The result is a prototype system that contains some of the world’s most advanced algorithms for natural painting. more

Wednesday, September 15, 2010

Spyware and viruses: What's the difference?

Spyware and viruses: What is the difference?


Spyware and viruses are both malicious software, but they're different.Learn how, and how Microsoft Security Essentials can help protect you from both. Then find answers to these common questions about Microsoft Security Essentials:

Suspect you have a virus? Get help fast at our newVirus and Security Solution Center, and learnsteps that you can take to help remove it.

Microsoft Research Labs: Pex for fun

PexForFun


Pex for fun brings programming in C#, Visual Basic, and F# to your web browser. I found this today on Microsoft research Lab website and its very interesting. You should try this.

If you have never visited Pex for fun before, we suggest you follow the tutorial.

Is it just for fun? The full version of Pex integrates into Visual Studio, and can be launched from the command line as well. (Download, Documentation) Pex can explore an entire project at once and can automatically generate a comprehensive test suite of traditional unit tests.

What is a puzzle? Each puzzle is either a small program with a statement that is tricky to reach, or it is a Coding Duel, which is an interactive programming challenge. You can use Code Contracts and even write Parameterized Unit Tests.

What puzzles are there? Can I write my own? Pex for fun already has many puzzles; you can write your own puzzle starting from a puzzle template, and even turn it into a new Coding Duel (tutorial).

How does Pex work? Pex finds interesting input values by analyzing the behavior of the code, combining dynamic and static analysis, and using a constraint solver.

Can I use Pex for fun for teaching? Yes! Please follow our teaching tutorial.

Who created Pex for fun? Pex for fun was brought to you by the Pex Team, part of the Research in Software Engineering (RiSE) group at Microsoft Research.

I have more questions. You can discuss Pex for fun on our MSDN Forums for Pex, where you can also post your Permalinks to share them with other people.

I want to provide feedback. If you have found a bug, you can send a bug report directly to the Pex developers at pexbug@microsoft.com. You can also get in touch with the Pex developers for any other reason at pexdata@microsoft.com.

Friday, September 10, 2010

Get a Free Cyber-Security Book from MicrosofT

Parents and teens now have access to a free downloadable e-book from Microsoft called “Own Your Space,” which aims to instruct teens and other new internet users how to stay safe while online. Specifically, the book addresses common security threats like phishing scams as well as modern-day social issues like cyber-bullying and cyber-stalking.

LifeHacker recently reviewed the book and found it worth recommending, saying “it's difficult to write books for teenagers that don't fall into the ‘trying too hard to be cool’ trap, but Microsoft has done an admirable job.” Glowing praise indeed!

You can grab a free copy for yourself from here.

Wednesday, September 1, 2010

Channel 9 App for Windows Phone 7

For all Channel 9 fans out there, here is an APP for Windows Mobile 7.
An independent Windows Phone developer, Sigurd Snørteland, has created an application for accessing news from Channel 9 on your Windows Phone 7 device. The app, “myChannel9,” will display news and videos from the site and will offers features like the ability to favorite a show, browse by tags or search by keyword. You’ll also be able to use the app to watch videos right on your device, whether in portrait or landscape mode. Screenshots and demo videos of the app are available now on Snørteland’s personal blog. He has also created an app called Wall Street, which, as the name implies, will focus on delivering stock-related information.

Thursday, August 26, 2010

C# FAQs Series: How To Detect All Drives Connected?


àIn C# FAQs Series: We discuss most frequent questions asked on C# forums.
If you want to know about how many drives are connected to your computer. It’s very easy to detect using C#. Following is simple code…
Source Code:
using System;
using System.IO;
class MyProgram
{
public static void Main()
{
DriveInfo[] allDrives = DriveInfo.GetDrives();
foreach (DriveInfo d in allDrives)
{
Console.WriteLine("Drive {0}", d.Name);
Console.WriteLine(" File type: {0}", d.DriveType);
if (d.IsReady == true)
{
Console.WriteLine(" Volume label: {0}", d.VolumeLabel);
Console.WriteLine(" File system: {0}", d.DriveFormat);
Console.WriteLine(
" Available space to current user:{0, 15} bytes",
d.AvailableFreeSpace);
Console.WriteLine(
" Total available space: {0, 15} bytes",
d.TotalFreeSpace);
Console.WriteLine(
" Total size of drive: {0, 15} bytes ",
d.TotalSize);
}
}
}
}
Out-Put:
/*
This code produces output similar to the following:
Drive A:\
File type: Removable
Drive C:\
File type: Fixed
Volume label:
File system: FAT32
Available space to current user: 4770430976 bytes
Total available space: 4770430976 bytes
Total size of drive: 10731683840 bytes
Drive D:\
File type: Fixed
Volume label:
File system: NTFS
Available space to current user: 15114977280 bytes
Total available space: 15114977280 bytes
Total size of drive: 25958948864 bytes
Drive E:\
File type: CDRom
The actual output of this code will vary based on machine and the permissions
granted to the user executing it.
*/

Learn SCRUM in 10 Minutes!

You may all know about SCRUM, its is an iterative, incremental framework for project management and agile software development.

Although SCRUM was intended for management of software development projects, it can be used to run software maintenance teams, or as a general project/program management approach.

Following is very good 10 minutes introduction of SCRUM..


What is ASP.NET MVC (Models Views Controllers) ?

The Model-View-Controller (MVC) architectural pattern separates an application into three main components: the model, the view, and the controller. The ASP.NET MVC framework provides an alternative to the ASP.NET Web Forms pattern for creating MVC-based Web applications. The ASP.NET MVC framework is a lightweight, highly testable presentation framework that (as with Web Forms-based applications) is integrated with existing ASP.NET features, such as master pages and membership-based authentication. The MVC framework is defined in the System.Web.Mvc namespace and is a fundamental, supported part of the System.Web namespace.


MVC is a standard design pattern that many developers are familiar with. Some types of Web applications will benefit from the MVC framework. Others will continue to use the traditional ASP.NET application pattern that is based on Web Forms and postbacks. Other types of Web applications will combine the two approaches; neither approach excludes the other.

The MVC framework includes the following components:

MVC

Figure 01: Invoking a controller action that expects a parameter value(Click to view full-size image)

Models
. Model objects are the parts of the application that implement the logic for the application s data domain. Often, model objects retrieve and store model state in a database. For example, a Product object might retrieve information from a database, operate on it, and then write updated information back to a Products table in SQL Server.

In small applications, the model is often a conceptual separation instead of a physical one. For example, if the application only reads a data set and sends it to the view, the application does not have a physical model layer and associated classes. In that case, the data set takes on the role of a model object.

Views. Views are the components that display the application s user interface (UI). Typ ically, this UI is created from the model data. An example would be an edit view of a Products table that displays text boxes, drop-down lists, and check boxes based on the current state of a Products object.

Controllers. Controllers are the components that handle user interaction, work with the model, and ultimately select a view to render that displays UI. In an MVC application, the view only displays information; the controller handles and responds to user input and interaction. For example, the controller handles query-string values, and passes these values to the model, which in turn queries the database by using the values.


The MVC pattern helps you create applications that separate the different aspects of the application (input logic, business logic, and UI logic), while providing a loose coupling between these elements. The pattern specifies where each kind of logic should be located in the application. The UI logic belongs in the view. Input logic belongs in the controller. Business logic belongs in the model. This separation helps you manage complexity when you build an application, because it enables you to focus on one aspect of the implementation at a time. For example, you can focus on the view without depending on the business logic.

In addition to managing complexity, the MVC pattern makes it easier to test applications than it is to test a Web Forms-based ASP.NET Web application. For example, in a Web Forms-based ASP.NET Web application, a single class is used both to display output and to respond to user input. Writing automated tests for Web Forms-based ASP.NET applications can be complex, because to test an individual page, you must instantiate the page class, all its child controls, and additional dependent classes in the application. Because so many classes are instantiated to run the page, it can be hard to write tests that focus exclusively on individual parts of the application. Tests for Web Forms-based ASP.NET applications can therefore be more difficult to implement than tests in an MVC application. Moreover, tests in a Web Forms-based ASP.NET application require a Web server. The MVC framework decouples the components and makes heavy use of interfaces, which makes it possible to test individual components in isolation from the rest of the framework.

The loose coupling between the three main components of an MVC application also promotes parallel development. For instance, one developer can work on the view, a second developer can work on the controller logic, and a third developer can focus on the business logic in the model.

Deciding When to Create an MVC Application

You must consider carefully whether to implement a Web application by using either the ASP.NET MVC framework or the ASP.NET Web Forms model. The MVC framework does not replace the Web Forms model; you can use either framework for Web applications. (If you have existing Web Forms-based applications, these continue to work exactly as they always have.)

Before you decide to use the MVC framework or the Web Forms model for a specific Web site, weigh the advantages of each approach.

Advantages of an MVC-Based Web Application

The ASP.NET MVC framework offers the following advantages:
It makes it easier to manage complexity by dividing an application into the model, the view, and the controller.
It does not use view state or server-based forms. This makes the MVC framework ideal for developers who want full control over the behavior of an application.
It uses a Front Controller pattern that processes Web application requests through a single controller. This enables you to design an application that supports a rich routing infrastructure. For more information, seeFront Controller on the MSDN Web site.
It provides better support for test-driven development (TDD).
It works well for Web applications that are supported by large teams of developers and Web designers who need a high degree of control over the application behavior.


Advantages of a Web Forms-Based Web Application

The Web Forms-based framework offers the following advantages:

It supports an event model that preserves state over HTTP, which benefits line-of-business Web application development. The Web Forms-based application provides dozens of events that are supported in hundreds of server controls.
It uses a Page Controller pattern that adds functionality to individual pages. For more information, seePage Controller on the MSDN Web site.
It uses view state or server-based forms, which can make managing state information easier.
It works well for small teams of Web developers and designers who want to take advantage of the large number of components available for rapid application development.
In general, it is less complex for application development, because the components (the Page class, controls, and so on) are tightly integrated and usually require less code than the MVC model.

Features of the ASP.NET MVC Framework

The ASP.NET MVC framework provides the following features:

Separation of application tasks (input logic, business logic, and UI logic), testability, and test-driven development (TDD) by default. All core contracts in the MVC framework are interface-based and can be tested by using mock objects, which are simulated objects that imitate the behavior of actual objects in the application. You can unit-test the application without having to run the controllers in an ASP.NET process, which makes unit testing fast and flexible. You can use any unit-testing framework that is compatible with the .NET Framework.

An extensible and pluggable framework. The components of the ASP.NET MVC framework are designed so that they can be easily replaced or customized. You can plug in your own view engine, URL routing policy, action-method parameter serialization, and other components. The ASP.NET MVC framework also supports the use of Dependency Injection (DI) and Inversion of Control (IOC) container models. DI allows you to inject objects into a class, instead of relying on the class to create the object itself. IOC specifies that if an object requires another object, the first objects should get the second object from an outside source such as a configuration file. This makes testing easier.

A powerful URL-mapping component that lets you build applications that have comprehensible and searchable URLs. URLs do not have to include file-name extensions, and are designed to support URL naming patterns that work well for search engine optimization (SEO) and representational state transfer (REST) addressing.

Support for using the markup in existing ASP.NET page (.aspx files), user control (.ascx files), and master page (.master files) markup files as view templates. You can use existing ASP.NET features with the ASP.NET MVC framework, such as nested master pages, in-line expressions (<%= %>), declarative server controls, templates, data-binding, localization, and so on.

Support for existing ASP.NET features. ASP.NET MVC lets you use features such as forms authentication and Windows authentication, URL authorization, membership and roles, output and data caching, session and profile state management, health monitoring, the configuration system, and the provider architecture.

Wednesday, August 25, 2010

Panasonic CF-U1 Rammer Test

Panasonic CF-U1 is one of my favourite toughbook. Following a amazing article on engadgets about Rammer test on these devices.

It must be getting pretty difficult at this point for Panasonic to come up with new ways to show just how tough its Toughbook line of devices are, but it looks like the company's still got a few surprises in it, as evidenced by a new video that pits its Toughbook CF-U1 handheld against a Rammer. As you can probably guess, the Toughbook pictured above manages to pass the test easily, but there's also another surprise in store at the end -- head on past the break to see for yourself. Of course, Panasonic didn't let an opportunity for a bit of cross-promotion slip by -- it also shot the video on a Panasonic GH1.