Tuesday, August 5, 2008

Hinduism

Hinduism

It is the third largest and the oldest religion of the World. No one is actually
certain how old is Hinduism but it can be said with certainity that Indus valley
civilisation contributed some ideas to Hindu religion. The earliest known Hindu
scriptures are the "Vedas". Vedas describe the religion of Aryans, who invaded
India around 1500 B.C. The Vedic religion was not Hinduism although hindus consider

Vedas
as their scriptures. Of the Hindu "Trinity" Brahma the creator, Vishnu the preserver,
and Mahesh (Shiva) the destroyer only Vishnu's name appears in the oldest Vedas. The
concept of Trinity dates back to 500 A.D. Around the same time, the importance of
goddess began which appears in many forms of Shakti (Shiva's consort). However,

Upanishads
which were written several hundreds years later have characteristic Hindu ideas of
unity of soul with Brahman, karma, reincarnation, and salvation (Moksha- escape from
reincarnation). The notion of class and caste which was absent in Vedas starting appearing
during this period. Hindus are mainly divided into three groups i) Shivites, who are devoted
to Shiva, whom they consider as their creator and preserver of the universe
ii) Vaishnavas, who assign the above roles to Vishnu and iii) Shaktas, who worship Shakti.
These divisions of Hinduism are not very rigid as in other faiths and it is not strange
for people of one belief to mix with others. The Hindus do not form congergations and mostly worship at home. They worship other God and Goddesses as well as these are considered as another reincarnation of main Hindu Gods. As a result, the major Gods and Goddesses are worshiped in many names and forms. Hindus have little missionary feeling because they believe that the proper way to become a Hindu is to born one. Hindu rituals cover all areas of a person's life.

Hindu society has a high standard of conduct, with little immorality, crime, or violence.

UNIQUENESS OF HINDUISM

  • There are many definitions of the word 'Hindu' based on geography, religion, or politics etc.
    but none of them is perfect. It is a way of life, therefore, there is no need to define Hinduism.
    We should simply recognise the fact that Hindu society exists.
  • Hinduism is universal and contains different schools of philosophy and religion.
  • Hinduism is the oldest religion of the world but it reforms and changes with the
    demands of the time, thus it is ancient but remains moderm.
  • Every Hindu keeps these four objectives in view and tries to achieve them:
    1) Duty (Dharma)
    2) Material prosperity (artha)
    3) Enjoyment (kama)
    4) Salvation (moksha)
  • Theory of Action (karma): we reap what we sow. We must take responsibility
    for all actions we do in this life.
  • To achieve the above objectives life is divided into four segments:


1) Celibacy (bramacharya)- student life i.e. acquiring knowledge.
2) Family life (grihastha)- enjoyment and prosperity and participation in
running of society and the nation.
3) Retirement (vanaprastha)- delegate responsibility to younger generation to
perform selfless social service.
4) Renunciation (sanyas)- complete renunciation of the world for union with God.

IMPORTANT HINDU PLACES

Four Math

  • Jyotirmath (Garhwal-Himalaya)
  • Goverdhan (Jagannath puri)
  • Shengari (Karnataka)
  • Sharda (Dawarika-Gujarat)

    Four Kumbhasthal
  • Haridwar (Uttar Pradesh)
  • Prayag (Allahbad-U.P.)
  • Avantika (Ujjain-Madhya Pradesh)
  • Nasik (Maharashtra)

    Four dham
  • Badrinath (Himalaya)
  • Jagannathpuri (Orissa)
  • Rameshwar (Tamilnadu)
  • Dwarika (Gujarat)

Balance of Mind

Once upon a time Gautam Buddha travelling via a village. The villagers came to know about his arrival and rushed to greet him and seek his blessings. They decided to visit him and offer him some gifts. Gautam Buddha was sitting under a tree with some of his followers. The villagers crowded the place. They started offering fruits, rich cloth, gold coins, ornaments, previous stones and what not. One by one Gautam Buddha politely refused to accept any of these gifts. "I do not need any of these things" was his answer. The villagers tried to convince him to accept the gifts by saying that they respect him a lot and are offering the gifts from the deepest of their hearts. However, Gautam Buddha was firm on his decision.

After some time slowly the villagers started getting angry. "What he thinks of himself? We are offering him such a precious gifts and he is rudely rejecting them" they said. After some time their anger turned into hatred. They started cursing Gautam Buddha. Hearing their foul language one of the follower of Buddha asked - "Master, Don't you feel angry? They are using such a cruel words against you." Buddha smilingly replied - "They offered me precious gifts that I refused to accept. They are now offering me harsh words and I refuse to accept them also"

Moral of the story is - "Very few can maintain such an equilibrium of mind in good as well as bad times. It is difficult to reject pleasures as well as to remain unaffected when things are not in your favor

Microsoft Provisioning System (MPS) Versions

Microsoft Provisioning System (MPS) Versions

Below is a table that describes the version of MPS that ships with the associated solution.
Product/Solution MPS Version Notes
Microsoft Provisioning System 1.0 MPS 1.0 Initial Release
Microsoft Solution for Windows-based Hosting 2.5 MPS 1.0
Microsoft Solution for Hosted Exchange 2003 MPS 1.0
Microsoft Solution for Hosted Exchange 2003.1 MPS 1.0
Microsoft Solution for Windows-based Hosting 3.0 MPS 1.1 Support for Windows Server 2003
Microsoft Solution for Hosted Messaging & Collaboration 3.0 MPS 2.0
Microsoft Solution for Windows-based Hosting 3.5 MPS 2.1 Support for Windows Server 2003 SP1
Microsoft Solution for Hosted Messaging & Collaboration 3.5 MPS 2.1 Support for Exchange Server 2003 SP2

Overall the underlying technology (Microsoft Provisioning Framework) remains they same, but there have been updates to the engine, providers, installation, configuration, etc. and thus the updates to the version number. Much of these updates have been through improvements, leveraging, and documentation brought forth by the various solutions.

Since I was on this topic, I thought I would also put together a brief list of the key components/features that comes with each solution. This is by no means a complete list for each solution, but does provide some helpful information.
Product/Solution Key Features
Microsoft Provisioning System 1.0

* Runs on Windows Server 2000
* Shared Active Directory
* Provision Hosted Exchange 2000
* Provision IIS 5

Microsoft Solution for Windows-based Hosting 2.5

* First solution documentation to incorporate MPS
* Focused on Dedicated Hosting

Microsoft Solution for Hosted Exchange 2003

* Provision Hosted Exchange 2003
* Provide a Plans database
* Introduction of MPF Configuration Wizard to reduce manual configuration

Microsoft Solution for Hosted Exchange 2003.1

* Change an Active Directory schema to allow for more than 1000 Offline Address Books (OAB) and thus allowing to support an increased number of Outlook 2003 client based organizations (Tested Max was 10,000 OAB's)

Microsoft Solution for Windows-based Hosting 3.0

* Enable the Shared Web Hosting scenario
* Leverage Plans Database introduced in HE 2003
* Provision Shared SQL Server 2000 (SQL Admin Provider for MPF)
* Introduction of the new MPS Deployment Tool which deploys the various MPS components across a number of servers and performs many (but still not all) of the configuration steps that are required prior to using MPS.

Microsoft Solution for Hosted Messaging & Collaboration 3.0

* Provision Live Communication Server 2005
* Provision Windows SharePoint Services

Microsoft Solution for Windows-based Hosting 3.5

* Support for Windows Server 2003 service pack 1

Microsoft Solution for Hosted Messaging & Collaboration 3.5

* Upgrade utilities to move an organizations mailbox to a hoster
* Introduction of the Microsoft Identity Integration Server (MIIS) to synchronize an organizations/customer existing Active Directory implementation with their "Hosted" user accounts at the Service Provider's Active Directory.
* Support for Exchange Server 2003 service pack 2 which includes new features for mobile devices (remote wipe, message pushing, etc.)

New Features in ASP.NET 3.5

Microsoft released ASP.NET 3.5 on November 19, 2007. Along with it, was released Visual Studio 2008. This evolution from ASP.NET 2.0 to ASP.NET 3.5 is quiet gradual. ASP.NET 3.5 uses the same engine as that of ASP.NET 2.0, with some extra features added on top of it. In this article, we will explore the new features added to ASP.NET 3.5. This article assumes that you have been working on ASP.NET 2.0.
New Features in ASP.NET 3.5
ASP.NET AJAX
In ASP.NET 2.0, ASP.NET AJAX was used as an extension to it. You had to download the extensions and install it. However in ASP.NET 3.5, ASP.NET AJAX is integrated into the .NET Framework, thereby making the process of building cool user interfaces easier and intuitive.
The integration between webparts and the update panel is much smoother. Another noticeable feature is that you can now add ASP.NET AJAX Control Extenders to the toolbox in VS2008. Even though this is an IDE specific feature, however I feel it deserves a mention over here for developers, who had to add extenders using source view earlier. It is also worth noting that Windows Communication Foundation (WCF) now supports JSON along with other standard protocols like SOAP, RSS and POX.
New Controls
The ListView and DataPager are new controls added along with a new datasource control called the LinqDataSource.
ListView
The ListView control is quiet flexible and contains features of the Gridview, Datagrid, Repeater and similar list controls available in ASP.NET 2.0. It provides the ability to insert, delete, page (using Data Pager), sort and edit data. However one feature of the ListView control that stands apart, is that it gives you a great amount of flexibility over the markup generated. So you have a complete control on how the data is to be displayed. You can now render your data without using the tag. You also get a rich set of templates with the ListView control.
DataPager
DataPager provides paging support to the ListView control. The best advantage is that you need not have to keep it ‘tied’ with the control on which the paging is being done. You can keep it anywhere on the page.
DataPager gives you a consistent way of paging with the controls that support it. Currently only ListView supports it as it implements the IPageableItemContainer. However support is likely to be added to other List controls as well.
LINQ
LINQ (Language Integrated Query) adds native data querying capability to C# and VB.NET along with the compiler and Intellisense support. LINQ is a component of .NET 3.5. LINQ defines operators that allow you to code your query in a consistent manner over databases, objects and XML. The ASP.NET LinqDataSource control allows you to use LINQ to filter, order and group data before binding to the List controls.
You can learn more about LINQ over here.
ASP.NET Merge Tool
ASP.NET 3.5 includes a new merge tool (aspnet_merge.exe). This tool lets you combine and manage assemblies created by aspnet_compiler.exe. This tool was available earlier as an add-on.
New Assemblies
The new assemblies that would be of use to ASP.NET 3.5 developers are as follows:
· System.Core.dll - Includes the implementation for LINQ to Objects
· System.Data.Linq.dll - Includes the implementation for LINQ to SQL
· System.Xml.Linq.dll - Includes the implementation for LINQ to XML
· System.Data.DataSetExtensions.dll - Includes the implementation for LINQ to DataSet
· System.Web.Extensions.dll: Includes the implementation for ASP.NET AJAX (new enhancements added) and new web controls as explained earlier.
Some Other Important Points
1. ASP.NET 3.5 provides better support to IIS7. IIS7 and ASP.NET 3.5 modules and handlers support unified configuration.
2. You can have multiple versions of ASP.NET on the same machine.
3. For those who are wondering what happened to ASP.NET 3.0, well there isn’t anything called ASP.NET 3.0.
4. VS 2002 worked with ASP.NET 1.0, VS 2003 worked with ASP.NET 1.1, and VS 2005 worked with ASP.NET 2.0. However VS 2008 supports multi-targeting, i.e it works with ASP.NET 2.0, and ASP.NET 3.5.

SQL Optimization Tips

SQL Optimization Tips

• Use views and stored procedures instead of heavy-duty queries.
This can reduce network traffic, because your client will send to
server only stored procedure or view name (perhaps with some
parameters) instead of large heavy-duty queries text. This can be used
to facilitate permission management also, because you can restrict
user access to table columns they should not see.

• Try to use constraints instead of triggers, whenever possible.
Constraints are much more efficient than triggers and can boost
performance. So, you should use constraints instead of triggers,
whenever possible.

• Use table variables instead of temporary tables.
Table variables require less locking and logging resources than
temporary tables, so table variables should be used whenever possible.
The table variables are available in SQL Server 2000 only.

• Try to use UNION ALL statement instead of UNION, whenever possible.
The UNION ALL statement is much faster than UNION, because UNION ALL
statement does not look for duplicate rows, and UNION statement does
look for duplicate rows, whether or not they exist.

• Try to avoid using the DISTINCT clause, whenever possible.
Because using the DISTINCT clause will result in some performance
degradation, you should use this clause only when it is necessary.

• Try to avoid using SQL Server cursors, whenever possible.
SQL Server cursors can result in some performance degradation in
comparison with select statements. Try to use correlated sub-query or
derived tables, if you need to perform row-by-row operations.

• Try to avoid the HAVING clause, whenever possible.
The HAVING clause is used to restrict the result set returned by the
GROUP BY clause. When you use GROUP BY with the HAVING clause, the
GROUP BY clause divides the rows into sets of grouped rows and
aggregates their values, and then the HAVING clause eliminates
undesired aggregated groups. In many cases, you can write your select
statement so, that it will contain only WHERE and GROUP BY clauses
without HAVING clause. This can improve the performance of your query.

• If you need to return the total table's row count, you can use
alternative way instead of SELECT COUNT(*) statement.
Because SELECT COUNT(*) statement make a full table scan to return the
total table's row count, it can take very many time for the large
table. There is another way to determine the total row count in a
table. You can use sysindexes system table, in this case. There is
ROWS column in the sysindexes table. This column contains the total
row count for each table in your database. So, you can use the
following select statement instead of SELECT COUNT(*): SELECT rows
FROM sysindexes WHERE id = OBJECT_ID('table_name') AND indid <>
you can improve the speed of such queries in several times.

• Include SET NOCOUNT ON statement into your stored procedures to stop
the message indicating the number of rows affected by a T-SQL statement.
This can reduce network traffic, because your client will not receive
the message indicating the number of rows affected by a T-SQL statement.

• Try to restrict the queries result set by using the WHERE clause.
This can results in good performance benefits, because SQL Server will
return to client only particular rows, not all rows from the table(s).
This can reduce network traffic and boost the overall performance of
the query.

• Use the select statements with TOP keyword or the SET ROWCOUNT
statement, if you need to return only the first n rows.
This can improve performance of your queries, because the smaller
result set will be returned. This can also reduce the traffic between
the server and the clients.

• Try to restrict the queries result set by returning only the
particular columns from the table, not all table's columns.
This can results in good performance benefits, because SQL Server will
return to client only particular columns, not all table's columns.
This can reduce network traffic and boost the overall performance of
the query.
1.Indexes
2.avoid more number of triggers on the table
3.unnecessary complicated joins
4.correct use of Group by clause with the select list
5 In worst cases Denormalization


Index Optimization tips

• Every index increases the time in takes to perform INSERTS, UPDATES
and DELETES, so the number of indexes should not be very much. Try to
use maximum 4-5 indexes on one table, not more. If you have read-only
table, then the number of indexes may be increased.

• Keep your indexes as narrow as possible. This reduces the size of
the index and reduces the number of reads required to read the index.

• Try to create indexes on columns that have integer values rather
than character values.

• If you create a composite (multi-column) index, the order of the
columns in the key are very important. Try to order the columns in the
key as to enhance selectivity, with the most selective columns to the
leftmost of the key.

• If you want to join several tables, try to create surrogate integer
keys for this purpose and create indexes on their columns.

• Create surrogate integer primary key (identity for example) if your
table will not have many insert operations.

• Clustered indexes are more preferable than nonclustered, if you need
to select by a range of values or you need to sort results set with
GROUP BY or ORDER BY.

• If your application will be performing the same query over and over
on the same table, consider creating a covering index on the table.

• You can use the SQL Server Profiler Create Trace Wizard with
"Identify Scans of Large Tables" trace to determine which tables in
your database may need indexes. This trace will show which tables are
being scanned by queries instead of using an index.

• You can use sp_MSforeachtable undocumented stored procedure to
rebuild all indexes in your database. Try to schedule it to execute
during CPU idle time and slow production periods.
sp_MSforeachtable @command1="print '?' DBCC DBREINDEX ('?')"