Monday, September 13, 2010

Seattle Career Fair Sep-14th 2010

THE SEATTLE CAREER FAIR
Tuesday, Sept. 14, 2010
10:30am to 2:00pm
The Seattle Center
(Northwest Meeting Rooms)

Click here for Seattle Career Fair Details


LOCATION MAP:
Held at the Seattle Center Northwest Rooms (NW corner of Key Arena), corner of 1st ave. N and Republican St.

Good Luck!

Tuesday, September 7, 2010

Saturday, August 14, 2010

Understanding Bug Triage– Severity & Priority

Triage, is a medical term. It refers to dividing wounded or sick people into three categories: those who will die no matter what you do, those who will recover even if unaided, and those who will recover only if aided. In a situation where there's too much to do, you must concentrate on the third group.
Bug Triage Meetings (sometimes called Bug Councils) are project meetings in which open bugs are divided into categories. The most important distinction is between bugs that will not be fixed in this release and those that will be

There are three categories for the medical usage, software also three categories - bugs to fix now, bugs to fix later, and bugs we'll never fix

Triaging a bug involves:
Making sure the bug has enough information for the developers and makes sense
Making sure the bug is filed in the correct place
Making sure the bug has sensible "Severity" and "Priority" fields

Let us see what Priority and Severity means

Priority is Business; Severity is Technical

In Triages, team will give the Priority of the fix based on the business perspective. They will check “How important is it to the business that we fix the bug?” In most of the times high Severity bug is becomes high Priority bug, but it is not always. There are some cases where high Severity bugs will be low Priority and low Severity bugs will be high Priority.

In most of the projects, if schedule drawn closer to the release, even if the bug severity is more based on technical perspective, the Priority is given as low because the functionality mentioned in the bug is not critical to business.

Priority and Severity gives the excellent metrics to identify overall health of the Project. Severity is customer-focused while priority is business-focused. Assigning Severity for a bug is straightforward. Using some general guidelines about the project, testers will assign Severity but while assigning a priority is much more juggling act. Severity of the bug is one of the factors for assigning priority for a bug. Other considerations are might be how much time left for schedule, possibly ‘who is available for fix’, how important is it to the business to fix the bug, what is the impact of the bug, what are the probability of occurrence and degree of side effects are to be considered.

Many organizations mandate that bugs of certain severity should be at least certain priority. Example: Crashes must be P1; Data loss must be P1, etc. A severe bug that crashes the system only once and not always reproducible will not be P1, where as an error condition that results re-entry a portion of input for every user will be P1

Microsoft uses a four-point scale to describe severity of bugs and three-point scale for Priority of the bug. They are as follows

Severity ---------------
1. Bug causes system crash or data loss.
2. Bug causes major functionality or other severe problems; product crashes in obscure cases.
3. Bug causes minor functionality problems, may affect "fit anf finish".
4. Bug contains typos, unclear wording or error messages in low visibility fields.

Priority---------------
1. Must fix as soon as possible. Bug is blocking further progress in this area.
2. Should fix soon, before product release.
3. Fix if time; somewhat trivial. May be postponed.

Friday, July 16, 2010

Two Main() function in an application?

Is it possible to have two Main() function in a program?

Wednesday, June 16, 2010

What is a Service?

Service refers to any software component that provides functionality and is an independent building block that can be integrated together collectively to
represent an application.

Each service is responsible for its specified role in its own domain. In the business sense the service focuses on a specific business function or possibly a group of functions. This model allows for the creation of isolated units of business functionality that can be easily reused throughout development. The loosely bound services help to provide freedom within the architecture.

In the past service orientation was created using services though increasingly today SOA (Service Oriented Architecture) refers to the use of XML Web services. This is because of the vendor neutral implementation and its interface/implementation provide as an ideal model for SOA.

What is a Web Service?

In 2000, the World Wide Web Consortium (W3C) accepted a submission for the Simple Object Access protocol (SOAP). This XML-based messaging format established a transmission framework for inter-application or inter-service communication via HTTP. As a vendor neutral technology, SOAP provided an attractive alternative to traditional proprietary protocols, such as CORBA (Common Object Request Broker Architecture) and DCOM (Distributed Component Object Model).

In the following year, W3C has accepted and published the WSDL specification. WSDL (Web Service Description Language) is implemented through XML and acts as the interface in the interface/implementation model of Web service. It is essentially a language that is used to describe the interface of the Web service.

The interface is further supplemented by the Universal Description, Discovery and Integration (UDDI) specification. The UDDI much like a yellow page directory allows users to perform dynamic searches on the directory for a specific service implementation.

Since then, XML Web services has received industry wide acceptance. The support for XML Web services has furthered the popularity and importance of a service oriented design principle.

Purpose of Metadata

Metadata has many uses. Here are some of them:

  • Metadata removes the need for header and library files when compiling, because all the information about the referenced types/members is contained in one file along with the IL that implements those type/members. Compilers can read metadata directly from managed modules.
  • Visual Studio uses metadata to help you write code. Its IntelliSense feature parses metadata to tell you what methods a type offers and what parameters that method expects.
  • The CLR code verification process uses metadata to ensure that your code performs only “safe” operations.
  • Metadata allows an object’s fields to be serialized into a memory block, remoted to another machine, and then deserialized, recreating the object and its state on the remote machine.
  • Metadata allows the garbage collector to track the lifetime of objects. For any object, the garbage collector can determine the type of the object, and from the metadata it knows which fields within that object refer to other objects

Monday, May 24, 2010

Azure Session Resources

Motivation Behind the term Azure
Features of Windows Azure
Checking the Health Status of Windows Azure services
Great Azure Example
Windows Azure Platform site
Azure Pricing
TCO Calculator
Connecting with SQL Azure through SSMS

Talk on windows azure

This is the talk session held on Sunday 23rd May 2010 in the Pearl Solutions LLC's conference room at 14040 NE 8th ST Bellevue WA.



Presenter- Vidya Vrat Agarwal
Attendees - Anubha, Kajal, Nanjunda, Sumeet, Varun, Madhuri and Swathi.




Wednesday, May 19, 2010

Talk on Windows Azure

Date - Sunday 23rd May 2010
Agenda - This session will discuss the emerging Microsoft technology named Windows Azure. Its features, technical jargons associated with it and what are the scenarios it best fits into.
Location - 14040 NE 8th St Bellevue WA 98007 (Pearl Solutions LLC conf room)
Start Time - 12:45 PM
End Time - 1:45 PM
Contact Person - Vidya Vrat Agarwal
Contact Number - 425-516-2058

Saturday, May 15, 2010

CLS Compliance - Problem Scenario & Solution

CLS (Common Language Specification) is a very important component of .NET architecture. CLS complaince helps language-interoperability to take place on a common ground, so an application written a any .NET compliant language can be exposed other application writtent in a .NET compliant language.

Scenario:-
Consider you are building a C# dll, which is going to be used by .NET client application written in VB .NET. By nature C# is case-sensitive and VB .NET is case-in-sensitive.

Due to this specific casing behavior of these languages, C# has power to declare class members (methods, variables etc) in case-sensitive manner. I.e Deposit(), deposit() and dePosit() are three different methods which can be created in C#.




But this is not how VB .NET works. VB .NET can't allow this because VB .NET is case-insensitive and so can't differentiate that these are three different methods.

Problem:-
The problem occurs when the C# dll is being consumed by a VB .NET, and so none of the functionality from C# is exposed to VB .NET, even though its successfully built in C#. Reason of this is that VB .NET don't see those methods of C# as three different methods and so can't decide which one to display in the Intellisense.




Solution:-


The solution of this problem has to take place in C#, because C# has case-sensitive nature.

If you are building a reusable dll which can be easily consumed by any .NET compliant language eveb by those which are not case-sensitive like C# in which the dll has been developed.

You need to enable the CLS Complaince in C# application, by default its set to false.
Once you enable it then any member of a class which differs by case is listed in the CLS-complaince warning.



Now the fix for this is to resolve these CLS warnings and fix the function names, lets rename them rather being different in case only.



After the change in function's name, now there are no member functions in the C# class which differs by case only.

Now VB .NET client can see these functions