Saturday, November 29, 2008

Article sent by Mafaz

The following article from the eWeek.com website has been referred to you by Mafaz ( sm2mafaz@gmail.com ).

You can access it at the following url: http://www.eweek.com/c/a/Application-Development/Microsoft-Ships-Robotics-Developer-Studio-2008/

ஓர் ஓசையற்ற பயணம்!

ஓர் ஓசையற்ற பயணம்!

எழுதியவர்/உரை:மௌலவி லாஃபிர் மதனி (அபூ அரீஜ்)

 

பிஸ்மில்லாஹிர் ரஹ்மானிர் ரஹீம்

ஓர் ஓசையற்ற பயணம்!

காலம்: அனைத்து கிழமை நாட்களிலும்

பயணி பற்றிய விபரம்: -

தகுதியானோர் : ஆதமின் மகன்!

மூல உற்பத்தி : களிமண்!

விலாசம் : பூமியின் மேற்பகுதி!

பயணச் சீட்டு பற்றிய விபரம்: -

பயண வழி : ஒன்வே ஒன்லி (ஒற்றைப் பயணம் மட்டும், திரும்பும் சீட்டு கிடையாது)!

விலை : முற்றாக இலவசம்!

முற்பதிவு : ஏற்கனவே செய்யப்பட்டு விட்டது!

பொதி(சுமை) பற்றிய விபரம்: -

ஒவ்வொரு விமானத்திலும் ஒரு பயணி மட்டுமே அனுமதி!

கூடுதலாக 5 மீட்டர் வெள்ளைத் துணியும் சிறிய அளவு காட்டனும் எடுத்துக் கொள்ளலாம்!

பெறுமதி வாய்ந்த பொதி பற்றிய விபரம்: -

மனத்தூய்மையுடன் நிறைவேற்றப்பட்ட தொழுகை, நோன்பு, ஸகாத், ஹஜ், தர்மங்கள்,

சத்தியத்திற்காக செய்த தியாகங்கள்,

குழந்தைகளை நல்லவர்களாக ஆக்க எடுத்துக் கொண்ட உண்மையான கரிசணைகள் மற்றும்

இது போன்ற நற்காரியங்கள் மட்டும்.

பயணம் பற்றிய விபரம்: -

பயணத்தளம் : பூமியின் எந்தப் பகுதியுமாக இருக்கலாம்.

பயணிக்கும் நேரம் : மரணத்தைத் தொடர்ந்து!

இறங்கும் இடம் : மறு உலகம்.

குறிப்பு: பயணச் சீட்டு, கடவுச் சீட்டு, பிரயாண ஆவணங்கள் போன்ற எதுவும் தேவையில்லை. தயாராக மட்டும் இருந்து கொண்டால் போதுமானது!

தங்குமிட வசதி: -

தற்காலிகமாக மட்டும் ஏற்பாடு செய்யப்படும்!!

அறையின் அளவு : கிட்டத்தட்ட 2 அடி அகளமும் 6 அடி நீளமுமாகும்!

அறையின் சிறப்பம்சம் : வெரும் புழுதி மணலினாலும் சிறிய கற்களினாலும் அமைக்கப்பட்டிருக்கும் என்பது குறிப்பிடத்தக்கது!

தங்குமிட வசதி பற்றிய விபரம் : பணக்காரனாக இருந்தாலும் ஏழையாக இருந்தாலும் ஒரே வகையான வசதி மட்டும்தான் ஏற்பாடு செய்யப்படும் என்பதை தயவு செய்து கவணத்திற் கொள்க!

கீழ்காணும் செளகரியங்கள் காணப்படும் :
 

குளிரூட்டி (ஏ.சி) : 0 டொன் !!!

நீர் விநியோகம் : கிடையாது !!!

மின் விநியோகம் : கிடையாது !!!

தொலை பேசி : கிடையாது !!!

டீ.வி மற்றும் சேனல்கள் : சுவனம் அல்லது நரகம் !!!

பத்திரிக்கைகள் அல்லது புத்தகஙகள் : கிடையாது !!!

ரூம் சர்விஸ் : அல்லாஹ்வுக்கு எந்தளவு கட்டுப்பட்டு நடந்தோம் என்பதைப் பொருத்து அமையும்!

முக்கிய கவணத்திற்கு : -

அனைத்து பயணிகளும் மேற் கூறப்பட்ட விடயங்கள் அனைத்தையும் தயவு செய்து கவணத்திற் கொள்ளுமாறு கேட்டுக் கொள்ளப்படுகின்றனர்!

பயணச் சீட்டு ரத்துச் செய்யப்படுவதோ அல்லது பிறருக்கு மாற்றுவதோ முற்று முழுதாக தடை செய்யப்பட்டுள்ளது!

எனவே, தயவு செய்து அனைவரும் (விதிவிலக்கு கிடையவே கிடையாது) பயணத்திற்கு தயாராக இருந்து கொள்ளும் படி கேட்டுக் கொள்கின்றோம்.

மலக்குல் மெளத் எனப்படும் உயிரைக் கைப்பற்றும் வானவர் வந்தவுடன் பயணம் ஆரம்பமாகும் என்பதையும் அறியத்தருகின்றோம்!

மேலதிக தகவல்களுக்கு: -

உங்களுக்கு வழங்கப்பட்டிருக்கும் அல்-குர்ஆன் மற்றும் ஸுன்னாவை படிக்கவும்.

திருமணம்


இஸ்லாமிய மார்க்கத்தில் திருமணம் என்பது ஒரு ஆணுக்கும், பெண்ணுக்கும் ஏற்படும் வாழ்க்கை ஒப்பந்தமாகும். மாற்று மதத்தில் கல்யாணம் சொர்க்கத்தில் நிச்சயிக்கப்படுகிறது என்று கூறுவது இஸ்லாத்தில் இல்லை. திருமணம் புரியவுள்ள ஆணும் பெண்ணும் ஒரு ஒப்பந்தத்தின் அடிப்படையில் இருவரும் தங்களது பரிபூரண சம்மதத்தை தெரிவிக்க வேண்டியது மிக அவசியமாக வலியுறுத்தப்பட்ட விஷயமாகும்.

     முன்பே மணமுடிக்கப்பட்டு கணவனை இழந்துவிட்ட விதவையும், அல்லது முந்திய கணவனால் விவாக முறிவு (தலாக்) கொடுக்கப்பட்ட பெண்ணும் தனக்காக இத்தா காலம் முடிந்ததும் மறுமணம் முடிக்க விரும்பினால் அப்பெண்ணின் முழு சம்மதத்தையும் பெற்றே மண முடித்து வைக்கவேண்டும். இப்பெண்களை அயிம்மா என்றோ தய்யிபா என்றோ அழைப்பர்.

    கண்ணிப்பெண்ணாக இருப்பாளேயானால் அவள் தனது சம்மதத்தை மெளனம் மூலம் தெரிவிக்கலாம். அவளுக்கு விருப்பமில்லையெனில் கட்டாயம் சொல் மூலம் தெரிவிக்க வேண்டும். அவள் எந்த பதிலும் தராமல் மெளனம் சாதித்தால் அது சம்மதம் என்ற பொருளைத் தரும். இப்பெண்களை 'பாகிரா' என்று அழைப்பர்.

    'அயிம்மா' பெண்களுக்கு அவர்களது சம்தமின்றி திருமணம் செய்து வைக்காதீர்கள். கன்னிப் பெண்களிடம் திருமணம் விஷயமாக அனுமதி பெற வேண்டும் என்று நபி(ஸல்) கூறினார்கள். அல்லாஹ்வின் தூதரே! ஒரு கன்னிப்பெண் (நாணாத்தால்) தெளிவாகச் சொல்ல வெட்கப்படுவாளே! என்று சிலர் கேட்டனர். அதற்கு நபி(ஸல்) அவளது மெளனம் சம்மதமாகும் என்றார்கள். அறிவிப்பாளர்: ஆயிஷா, அப்பாஸ், அபூஹுரைரா(ரழி- அன்கும்) நூல்:புகாரி முஸ்லிம் அபூதாவூத், நஸயீ,திர்மிதி, இப்னுமாஜ்ஜா

    இந்த நபிமொழி மூலம் ஏற்கனவே திருமணம் செய்த பெண்கள் தங்களது அடுத்த திருமணத்துக்கு தெளிவான சம்மதம் தெரிவிக்க வேண்டுமென்பதை அறியலாம். கன்னிப்பெண்கள் தங்களது சம்மதத்தை மெளனம் மூலம் தெரிவிக்கலாம். சம்மதம் இல்லையெனில் நிச்சயமாக வாய்விட்டு சொல்லியே ஆக வேண்டுமென்பதை உணரலாம். இவ்விதமாக மணப்பெண்ணின் சம்மதம் பெறாமல் நடத்தி வைக்கப்படும் திருமணம் இஸ்லாத்தில் செல்லத்தக்கதல்ல. அது முறிக்கப்படும்.

    கன்சா(ரழி) என்ற அம்மையார் அறிவிக்கிறார்கள்; எனது தந்தை கிதாம்(ரழி) அவர்கள் எனக்கு பிடிக்காத இடத்தில் மணமுடித்துக் கொடுத்தார். நான் நபி(ஸல்) அவர்களிடம் வந்து இதனைக் கூறியபோது அந்த திருமணத்தை நபி(ஸல்) அவர்கள் ரத்து செய்தார்கள். இதே நிகழ்ச்சியை இப்னு அப்பாஸ்(ரழி) அவர்களும் அறிவிக்கிறார்கள். (முஅத்தாமாலிகி, புகாரி, அபூதாவூத், நஸயீ, இப்னுமாஜ்ஜா, பைஹகீ)

    இவ்விதம் தனது தந்தையின் வற்புறுத்தலில் நடத்தப்பட்ட திருமணத்தை நபி(ஸல்) அவர்கள் மூலமாக ரத்து செய்யப்படவே கன்சா(ரழி) அவர்கள் அபூலுபாபா(ரழி) அவர்களை மணமுடித்துக் கொண்டார்கள் என்ற விபரம் அப்துர்ரஹ்மான் பின் யஜீத்(ரழி) அறிவிக்க இப்னுமாஜ்ஜா என்ற நூலில் பதிவு செய்யப்பட்டுள்ளது.

    இதே போல் ஒரு கன்னிப்பெண் சம்மதமின்றி அவளது தந்தையால் நடத்தி வைக்கப்பட்ட திருமணத்தை நபி(ஸல்) அவர்கள் ரத்து செய்ததாக அபூதாவூதில் இப்னு அப்பாஸ்(ரழி) கூற பதிவு செய்யப்பட்டுள்ளது.

    எனவே எந்த முஸ்லிம் பெண்ணையும் அவளது முழு சம்மதமின்றி திருமணம் செய்து வைக்க இஸ்லாத்தில் இடமில்லை. அப்பெண்ணைப் பெற்றெடுத்த தந்தைக்கும் அனுமதியில்லை என்பதை தெளிவாக உணர்ந்து பெற்றோர்கள் நடந்து கொள்வது அவசியமாகும்.

    மணமகளுக்குரிய தகுதிகள்

    நீ நல்லொழுக்கமுள்ளவளை மணம் புரிவதன் மூலம் வெற்றியடைந்துகொள்! என நபி(ஸல்) அவர்கள் அறிவுரை பகன்றார்கள். (அறிவிப்பவர்: அபூஹுரைரா(ரழி) நூல்: புகாரி, முஸ்லிம், அபூதாவூத்)

    பெண்களை அவர்களின் அழகுக்காக மணமுடிக்காதீர்கள்; அவர்களின் அழகு அவர்களை அழித்துவிடலாம்; அவர்களின் செல்வத்திற்காக மணமுடிக்காதீர்கள்; அவர்களின் செல்வம் அவர்களை தவறச் செய்திடலாம்; நல்லொழுக்கத்திற்காக அவர்களை மணமுடியுங்கள்; நல்லொழுக்கமுள்ள அழகற்ற கருநிறத்து அடிமைப்பெண் (தீய ஒழுக்கமுள்ள பெண்ணைவிட) மேலானவள் என நபி(ஸல்) அவர்கள் விளக்கினார்கள். (அறிவிப்பு: இப்னு அம்ர்(ரழி) நூல்: இப்னு ஹிப்பான், அஹ்மத்)

    மணமகனுக்குரிய தகுதிகள்

    எவருக்கு திருமண வயது வந்து விட்டதோ அவர் திருமணம் செய்து கொள்ளட்டும். அது அவரது கண்களையும், வெட்கஸ்தலங்களையும் பாதுகாக்கும் அரணாக அமைகிறது. எவருக்கு திருமணம் செய்ய வசதிபடவில்லையோ அவர் நோன்பு வைத்துக்கொள்ளட்டும். (அறிவிப்பு: இப்னு மஸ்வூத்(ரழி) நூல்: புகாரி, முஸ்லிம், நஸயீ, தாரமி, பைஹகீ, அஹ்மத்)

    இந்நபிமொழி ஆண்களுக்கு கூறப்பட்டதாகும். மணமகன் பெண்ணுக்காக மஹர், திருமண செலவு, வலீமா விருந்து என பல செலவு செய்யவேண்டியவனாகிறான். அது மட்டுமின்றி திருமணம் முடிந்த நேரம் முதல் தனது மனைவிக்காக உணவு, உடை, இருப்பிடத்திற்கான செலவுகள் செய்ய வேண்டிய கட்டாயத்தில் இருக்கிறான். எனவேதான் மணமுடிக்கும் மணப்பெண்ணுக்கு தனது உடல் ரீதியான சுகத்தையும், பொருளாதார ரீதியான சுமையையும் சுமக்க தகுதியுடையவன் தனது திருமண வயது வந்ததும் திருமணம் செய்து கொள்ளலாம்; அதற்கான வசதியில்லாதபோது நோன்பு வைத்து தனது இச்சையை அடக்கவும் நபி(ஸல்) அவர்கள் அறிவுரை பகர்ந்தார்கள்.

    எங்கள் மனைவிக்கு நாங்கள் ஆற்றவேண்டிய கடமைகள் யாவை? என நபி(ஸல்) அவர்களிடம் கேட்டபோது 'நீ உன்ணும்போது அவளுக்கும் உணவளிக்க வேண்டும்; நீ ஆடை அணியும்போது அவளுக்கு ஆடை அணிவித்தல் வேண்டும்; அவளது முகத்தில் அடித்தலாது' என நபி(ஸல்) அறிவுறுத்தினார்கள். (அறிவிப்பவர்: முஆவியா பின் ஹைதா(ரழி) நூல்: அபூதாவூத்)

    எனவேதான் ஒருவேளை செல்வ செழிப்புள்ள மனமகள் ஒருவருக்கு மனைவியாக அமைந்தாலும் அவளது சொத்து பங்கில் அவளது உரிமையின்றி கணவன் கைவைக்க அனுமதியில்லை என இஸ்லாம் கூறுகிறது. மண முடிக்க நாடும் மணமகன் தான் மணக்கும் பெண்ணை உடல் ரீதியாகவும், பொருளாதார ரீதியாகவும் பாதுகாக்கும் தகுதியை பெற்றிருப்பது அடிப்படை தகுதியாகும்.

 




Thursday, November 27, 2008

How to create an array of functions in C#?

This was a question tapping my head recently. Also I was wondering how could we achieve creating pointer of functions in C#. Well that lead me to a small experiment on it and figured out some interesting results as expected.  The answer was possible through C# delegates.
First of all we need to understand what C# delegates are. Well to put it simple as I searched the net for a simple explanation, and found a quite simple explanation on CodeProject: "Delegates are simply function pointers". Well to make it more clear, with delegates you can create links to various functions. Ofcourse the description given in the above CodeProject link is fairly enough to understand the use of it. 
To put it simple, you can define a common method definition for various functions that have a similar pattern of method definition. Ex: If you have functions to add, subtract, multiply and divide two numbers, the most popular way is to have a method definition with the unique name and two parameters. The pattern would be:
 
[public|private] int <methodname> (int x, int y)

During system design if you know this pattern in advance then you could define this pattern withe use of a delegate like this:

delegate int delWithTwoParameters(int x,int y);

Here the delWithTwoParameters is the delegate identifier. During run time we can dynamically bind the methods to this delegate and call the appropriate function. Basically all methods will be called from a single (delegate)source. But there are many more like type safety, secure bla bla...But that is not my consideration here... :) Sorry.
Here is a piece of code I did today, which explains the use of delegates and how to create an array of functions based on a single delegate which is the problem of this discussion...Here I have explained the usage of how to use a normal function and a static function with the same delegate:

using System;
using System.Text;
using System.Reflection;

namespace TestConsole
{
    //Everything is under this class
    class Program
    {
        //A normal Method
        public void callHelp(string name)
        {
            Console.WriteLine("{0}...! Please help me\n", name);
        }
        
        //A Static void method
        public static void DisplayGreeting(string name)
        {
            Console.WriteLine("Hey {0}, please come here...!",name);
        }

   //Declaration of the pointer to a function with string as it's parameter
        delegate void delWithStringPar(string var);
        
        static void Main(string[] args)
        {   //Creating an Object instance of Program class to be able to call the normal "callHelp" method
            Program prog = new Program();
            
            //The list of names
            string [] Names = {"Mafaz","Lahiru","Chatura"};
            //Creating the Delegate (function) array from the System 
   //namespace and setting the value to the maximum number of Instances
            
            //Array for the static DisplayGreeting function
            Delegate[] delGreet = new Delegate[Names.Length];
            
            //Array for the normal callHelp function
            Delegate[] delHelp = new Delegate[Names.Length];
            
            //A counter to iterate through elements
            int i = 0;
                foreach (string name in Names)
        
    delGreet[i]= new delWithStringPar(Program.DisplayGreeting);
              delHelp[i]= new delWithStringPar(prog.callHelp);

          //cast the delegate arrays to the preferred Delegate
                    ((delWithStringPar)delGreet[i])(name);
                    ((delWithStringPar)delHelp[i++])(name);

              //Note: The "i" is incremented by one to advance
     //to the next index.Even if you don't increment the
     //consecutive delegate instance replaces the previous.
                }          

            //Waiting for user input to exit screen
            Console.ReadLine();
        }
    }
}

Wednesday, November 26, 2008

Five Strategies Microsoft Got Right


Original Post can be found here.

Written by DOM Staff
Friday, 21 November 2008

What Microsoft Got Right: The First 30 Years

Microsoft is one of the most successful companies in modern history. It revolutionized the way companies use IT to do business and helped elevate the importance of IT in terms of corporate strategy.

Since its inception 33 years ago, Microsoft has made many mistakes both large and small. But it also got a few big things very, very right. As the post-Gates era takes shape, we look back on five things Microsoft got right and what they teach us.

Software Is King

Microsoft was among the first companies to see software as the business, not just an add-on sale to hardware. It acted on that insight in a big way.

Before the PC, all software tended to be custom, written for and tied to a specific hardware platform. For example, IBM software ran only on IBM machines and Hewlett-Packard (HP) software on HP machines. Bill Gates and Microsoft untethered software from hardware, instead creating software that could run on almost any brand of PC. This simple idea dramatically expanded the market for Microsoft software, enabling it to drive prices down by spreading development cost across millions of potential customers (compared to only thousands for traditional hardware-specific programs). It was a risky idea because it put Microsoft at odds with hardware giants like IBM. But Microsoft bet big and won, helping spark a Big Bang of inexpensive, prepackaged, off-the-shelf software and the modern software industry.

Lesson: Question the rules. Change the game.

Outsource Your Sales Force

How did Microsoft grow so big so fast? In large part it was the company’s partner strategy. Today, more than 90% of Microsoft products are sold by somebody else. OEM partners such as HP sell most copies of Windows and large reseller partners such as CompuCom sell most copies of Microsoft’s enterprise software, including Exchange, SQL Server, and SharePoint. In fact, you’d have a difficult time trying to call Microsoft to order a product directly.

Bill Gates knew that a direct sales force could never scale quickly enough to match his ambitions. Instead, he built an army of partner companies and gave them the right to sell Microsoft software. Because Microsoft didn’t field its own direct sales force, these partners came to trust that Microsoft wouldn’t encroach upon their businesses and steal away their best customers. This partner community, from small mom-and-pop computer shops to the world’s largest systems integrators, enabled the company to achieve unprecedented sales volumes with astounding speed without having to spend huge sums to build a direct sales force and consulting practice.

Lesson: Create win-win partner situations to grow fast.

Technology for the Masses

Microsoft has consistently figured out how to make powerful technologies once exclusive to big business—business intelligence, intranets, systems management—accessible to smaller IT shops at a fraction of the cost. In the process, Microsoft has created and captured new customers en masse.

Microsoft’s formula? Build support for its server technologies into the Windows operating system and market low-cost server applications that leverage that support. In many ways, Microsoft is the Home Depot of IT software: it offers sophisticated server technologies IT departments can customize and deploy themselves at a price point that’s hard to resist.

Lesson: Don’t neglect your customers’ most important need: a better price.

Developers, Developers, Developers!

More than any other software company, Microsoft courts developers, lavishing them with powerful tools, free training, and low-cost support. Visual Basic enabled a whole generation of developers to create custom line-of-business applications on top of Office. Now Visual Studio is the tool of choice for serious corporate developers. Microsoft has been rewarded for this generosity by a torrent of third-party applications and custom solutions that have made Windows indispensable on the corporate desktop. Robust developer support for products such as the Office suite and SQL Server has also helped Microsoft products to flourish where competitors once had the field to themselves.

Lesson: Make it easy for partners to customize your product.

The Long View

Microsoft has always taken the long view. It routinely invests billions of dollars in expansive ventures such as Xbox, MSN, and Dynamics with an eye to far-off opportunities and threats. Once engaged, it very rarely retreats. The company will sustain breathtaking losses to gain a foothold in a market (think of Xbox) and endure hits to its image to change a business model that isn’t working (think of MSN). Microsoft continually looks inward and studies how it can improve itself. But despite some long false starts and outright failures (LAN Manager, Windows Mobile, and WebTV), Microsoft has assembled the industry’s largest portfolio of enterprise and consumer software—the least of which generates revenue in the hundreds of millions of dollars.

Lesson: Business isn’t a sprint; it’s a marathon. Be persistent.

Wednesday, November 19, 2008

Accessing a PDF Printer Driver from a Bluetooth enabled device.

I have mounts of messages that i can't forget saved in my mobile phone. Luckily it has a software where I can print it to printer which has bluetooth facility. But the problem in my case is, I don't have such a printer and also I'm quite sure even if I access such a printer, it would consume a lot of pages (i have 700+ messages :P) for each message.
So i began to search if there are tools to be able to print it directly toa PDF printer driver. Unfortunately the Bluetooth software I have doesn't support it. I even tried to map the PDF Printer driver interface to the Port of the Bluetooh device through that tool, it didn't work. So this lead me to the idea of creating a custom bluetooth interface to access the PDF driver from my phone.
I'm currently working on it, and doing it on C#. Hope I succeed..