Debugging Mozilla Firefox in Visual Studio 2012

While debugging Mozilla Firefox either you can create a debug .exe using mozilla build or you can generate a visual studio solution (.sln). In the first case you cannot browse through the code while in the second you can.

Debug Build from Mozilla Build

  1. If you want to debug mozilla in VS2012, compile it in debug mode. Add the following lines to mozilla-release\mozconfig
    ac_add_options --enable-debug
    ac_add_options --disable-optimize
  2. After that create firefox.exe
    cd mozilla-release
    ./mach build
  3. Create a new solution in VS2012 adding the newly created mozilla-release\obj-i686-pc-mingw32\dist\bin\firefox.exe
  4. Open any source file that you believe will definitely run. Mark a break point.
  5. Right click on firefox in Solution Explorer and click Debug > Step Into new instance

A Better Approach

The approach has a problem. You cannot browse through the code. If you want to do that

  1. Create a VisualStudio solution
    cd mozilla-release
    ./mach configure
    ./mach build-backend -b VisualStudio
  2. It will create a VS solution in \mozilla-release\obj-i686-pc-mingw32\msvc\mozilla,sln
  3. Open it in VS2012. It may update the solution to latest format.
  4. That’t it.

 

Women covering faces during Hajj – Hanafi position

المبسوط – السرخسي

( قَالَ ) : وَإِنْ غَطَّى الْمُحْرِمُ رُبْعَ رَأْسِهِ أَوْ وَجْهِهِ يَوْمًا فَعَلَيْهِ دَمٌ ، وَإِنْ كَانَ دُونَ ذَلِكَ فَعَلَيْهِ صَدَقَةٌ وَعَنْ أَبِي يُوسُفَ – رَحِمَهُ اللَّهُ تَعَالَى – قَالَ : إنْ غَطَّى أَكْثَرَ رَأْسِهِ فَعَلَيْهِ دَمٌ وَإِلَّا فَعَلَيْهِ صَدَقَةٌ ; لِأَنَّ الْقَلِيلَ مِنْ تَغْطِيَةِ الرَّأْسِ لَا تَتِمُّ بِهِ الْجِنَايَةُ وَالْقِلَّةُ وَالْكَثْرَةُ إنَّمَا تَظْهَرُ بِالْمُقَابَلَةِ ، وَهَذَا أَصْلُ أَبِي يُوسُفَ رَحِمَهُ اللَّهُ تَعَالَى فِي الْمَسَائِلِ ، وَفِي ظَاهِرِ الرِّوَايَةِ الْجَوَابُ قَالَ : مَا يَتَعَلَّقُ بِالرَّأْسِ مِنْ الْجِنَايَةِ فَلِلرُّبْعِ فِيهِ حُكْمُ الْكَمَالِ كَالْحَلْقِ ، وَهَذَا لِأَنَّ تَغْطِيَةَ بَعْضِ الرَّأْسِ اسْتِمْتَاعٌ مَقْصُودٌ يَفْعَلُهُ الْأَتْرَاكُ وَغَيْرُهُمْ عَادَةً بِمَنْزِلَةِ حَلْقِ بَعْضِ الرَّأْسِ فَأَمَّا الْمُحْرِمَةُ تُغَطِّي كُلَّ شَيْءٍ مِنْهَا إلَّا وَجْهَهَا وَتَلْبَسُ كُلَّ شَيْءٍ مِنْ الْمَخِيطِ وَغَيْرِهِ إلَّا الثَّوْبَ الْمَصْبُوغَ فَإِنَّ فِيمَا لَا حَاجَةَ بِهَا إلَى لُبْسِهِ فَهِيَ بِمَنْزِلَةِ الرَّجُلِ وَفِيمَا تَحْتَاجُ إلَى لُبْسِهِ وَسَتْرِهِ يُخَالِفُ حَالُهَا حَالَ الرَّجُلِ ، وَقَدْ بَيَّنَّاهُ

المبسوط – السرخسي

( قَالَ ) : وَلَا بَأْسَ بِأَنْ تَسْدُلَ الْخِمَارَ عَلَى وَجْهِهَا مِنْ فَوْقِ رَأْسِهَا عَلَى وَجْهٍ لَا يُصِيبُ وَجْهَهَا ، وَقَدْ بَيَّنَّا ذَلِكَ عَنْ عَائِشَةَ رَضِيَ اللَّهُ عَنْهَا ; لِأَنَّ تَغْطِيَةَ الْوَجْهِ إنَّمَا يَحْصُلُ بِمَا يُمَاسُّ وَجْهَهَا دُونَ مَا لَا يُمَاسُّهُ فَيَكُونُ هَذَا فِي مَعْنَى دُخُولِهَا تَحْتَ سَقْفٍ . وَيُكْرَهُ أَنْ تَلْبَسَ الْبُرْقُعَ ; لِأَنَّ ذَلِكَ يُمَاسُّ وَجْهَهَا فَإِنْلَبِسَ الْمُحْرِمُ مَا لَا يَحِلُّ لَهُ مِنْ الثِّيَابِ أَوْ الْخِفَافِ يَوْمًا أَوْ أَكْثَرَ مِنْ ذَلِكَ لِضَرُورَةٍ فَعَلَيْهِ أَيُّ الْكَفَّارَاتِ شَاءَ ، وَقَدْ بَيَّنَّا فِيمَا سَبَقَ أَنَّ مَا يَجِبُ الدَّمُ بِلُبْسِهِ فِي غَيْرِ مَوْضِعِ الضَّرُورَةِ إذَا لَبِسَهُ لِأَجْلِ الضَّرُورَةِ يَتَخَيَّرُ فِيهِ بَيْنَ الْكَفَّارَاتِ مَا شَاءَ ، وَذَكَرَ فِي الرُّقَيَّاتِ عَنْ مُحَمَّدٍ رَحِمَهُ اللَّهُ تَعَالَى قَالَ : إذَا اُضْطُرَّ إلَى لُبْسِ قَمِيصٍ فَلَبِسَ قَمِيصَيْنِ فَعَلَيْهِ أَيُّ الْكَفَّارَاتِ شَاءَ ، وَإِذَا اُضْطُرَّ إلَى لُبْسِ قَمِيصٍ فَلَبِسَ مَعَهُ عِمَامَةً أَوْ قَلَنْسُوَةً فَعَلَيْهِ دَمٌ فِي لُبْسِ الْقَلَنْسُوَةِ وَيَتَخَيَّرُ فِي الْكَفَّارَاتِ أَيُّهَا شَاءَ فِي لُبْسِ الْقَمِيصِ ; لِأَنَّ فِي الْفَصْلِ الْأَوَّلِ زِيَادَةً فِي مَوْضِعِ الضَّرُورَةِ فَلَا تَكُونُ جِنَايَةً مُبْتَدَأَةً كَمَا لَوْ اضْطَرَّ إلَى لُبْسِ قَمِيصٍ فَلَبِسَ جُبَّةً ، وَفِي الْفَصْلِ الثَّانِي الزِّيَادَةُ فِي [ ص: 129 ] غَيْرِ مَوْضِعِ الضَّرُورَةِ فَكَانَتْ جِنَايَةً مُبْتَدَأَةً فَتَعَلَّقَ بِهَا مَا هُوَ مُوجِبُهَا

الاختيار لتعليل المختار

( وَلَا وَجْهِهِ ) بِطَرِيقِ الْأَوْلَى ، وَلِأَنَّهُ لَمَّا حَرُمَ عَلَى الْمَرْأَةِ تَغْطِيَةُ الْوَجْهِ وَفِي كَشْفِهِ فِتْنَةٌ كَانَ الرَّجُلُ بِطَرِيقِ الْأَوْلَى .

فتح القدير

أَخْرَجَ أَبُو دَاوُد عَنْهُ عَنْ النَّبِيِّ صَلَّى اللَّهُ عَلَيْهِ وَسَلَّمَ قَالَ { الْمُحْرِمَةُ لَا تَنْتَقِبُ وَلَا تَلْبَسُ الْقُفَّازَيْنِ } وَلِأَنَّهُ قَدْ جَاءَ النَّهْيُ عَنْهُمَا فِي صَدْرِ الْحَدِيثِ . أَخْرَجَأَبُو دَاوُد بِالْإِسْنَادِ الْمَذْكُورِ أَيْضًا أَنَّهُ سَمِعَ { النَّبِيَّ صَلَّى اللَّهُ عَلَيْهِ وَسَلَّمَ يَنْهَى النِّسَاءَ فِي إحْرَامِهِنَّ عَنْ الْقُفَّازَيْنِ وَالنِّقَابِ وَمَا مَسَّ الْوَرْسُ وَالزَّعْفَرَانُ مِنْ الثِّيَابِ ، وَلْتَلْبَسْ بَعْدَ ذَلِكَ مَا شَاءَتْ مِنْ أَلْوَانِ الثِّيَابِ مِنْ مُعَصْفَرٍ أَوْ خَزٍّ أَوْ سَرَاوِيلَ أَوْ حُلِيٍّ أَوْ قَمِيصٍ أَوْ خُفٍّ } قَالَ الْمُنْذِرِيُّ : رِجَالُهُ رِجَالُ [ ص:441 ] الصَّحِيحَيْنِ مَا خَلَا ابْنَ إِسْحَاقَ ا هـ .

فتح القدير

قَالَ ( وَلَا يُغَطِّي وَجْهَهُ وَلَا رَأْسَهُ ) وَقَالَ الشَّافِعِيُّ رَحِمَهُ اللَّهُ تَعَالَى : يَجُوزُ لِلرَّجُلِ تَغْطِيَةُ الْوَجْهِ لِقَوْلِهِ عَلَيْهِ الصَّلَاةُ وَالسَّلَامُ { إحْرَامُ الرَّجُلِ فِي رَأْسِهِ وَإِحْرَامُ الْمَرْأَةِ فِي وَجْهِهَا } . وَلَنَا قَوْلُهُ عَلَيْهِ الصَّلَاةُ وَالسَّلَامُ { لَا تُخَمِّرُوا وَجْهَهُ وَلَا رَأْسَهُ فَإِنَّهُ يُبْعَثُ يَوْمَ الْقِيَامَةِ مُلَبِّيًا } قَالَهُ فِي مُحْرِمٍ تُوُفِّيَ [ ص:442 ] وَلِأَنَّ الْمَرْأَةَ لَا تُغَطِّي وَجْهَهَا مَعَ أَنَّ فِي الْكَشْفِ فِتْنَةٌ فَالرَّجُلُ بِالطَّرِيقِ الْأَوْلَى . وَفَائِدَةُ مَا رُوِيَ الْفَرْقُ فِي تَغْطِيَةِ الرَّأْسِ .

( قَوْلُهُ لِقَوْلِهِ عَلَيْهِ الصَّلَاةُ وَالسَّلَامُ { إحْرَامُ الرَّجُلِ فِي رَأْسِهِ وَإِحْرَامُ الْمَرْأَةِ فِي وَجْهِهَا } ) رَوَاهُ الدَّارَقُطْنِيُّ وَالْبَيْهَقِيُّ مَوْقُوفًا عَلَى ابْنِ عُمَرَ ، وَقَوْلُ الصَّحَابِيِّ عِنْدَنَا حُجَّةٌ إذَا لَمْ يُخَالِفْ وَخُصُوصًا فِيمَا لَمْ يُدْرَكْ بِالرَّأْيِ .

رد المحتار على الدر المختار

( قَوْلُهُ كُلِّهِ أَوْ بَعْضِهِ ) لَكِنْ فِي تَغْطِيَةِ كُلِّ الْوَجْهِ أَوْ الرَّأْسِ يَوْمًا أَوْ لَيْلَةً دَمٌ وَالرُّبُعُ مِنْهُمَا كَالْكُلِّ وَفِي الْأَقَلِّ مِنْ يَوْمٍ أَوْ مِنْ الرُّبُعِ صَدَقَةٌ كَمَا فِي اللُّبَابِ وَأَطْلَقَهُ فَشَمِلَ الْمَرْأَةَ لِمَا فِي الْبَحْرِ عَنْ غَايَةِ الْبَيَانِ مِنْ أَنَّهَا لَا تُغَطِّي وَجْهَهَا إجْمَاعًا ا هـ أَيْ وَإِنَّمَا تَسْتُرُ وَجْهَهَا عَنْ الْأَجَانِبِ بِإِسْدَالِ شَيْءٍ مُتَجَافٍ لَا يَمَسُّ الْوَجْهَ كَمَا سَيَأْتِي آخِرَ هَذَا الْبَابِ ، وَأَمَّا مَا فِي شَرْحِ الْهِدَايَةِ لِابْنِ الْكَمَالِ مِنْ أَنَّهَا لَهَا سَتْرُهُ بِمِلْحَفَةٍ وَخِمَارٍ وَإِنَّمَا الْمَنْهِيُّ عَنْهُ سَتْرُهُ بِشَيْءٍ فُصِّلَ عَلَى قَدْرِهِ كَالنِّقَابِ وَالْبُرْقُعِ فَهُوَ بَحْثٌ عَجِيبٌ أَوْ نَقْلٌ غَرِيبٌ مُخَالِفٌ لِمَا سَمِعْته مِنْ الْإِجْمَاعِ ، وَلِمَا فِي الْبَحْرِ وَغَيْرِهِ فِي آخِرِ هَذَا الْبَابِ ، ثُمَّ رَأَيْتُ بِخَطِّ بَعْضِ الْعُلَمَاءِ فِي هَامِشِ ذَلِكَ الشَّرْحِ أَنَّ هَذَا مِمَّا انْفَرَدَ بِهِ الْمُؤَلِّفُ ، وَالْمَحْفُوظُ عَنْ عُلَمَائِنَا خِلَافُهُ وَهُوَ وُجُوبُ عَدَمِ مُمَاسَّةِ شَيْءٍ لِوَجْهِهَا ا هـ ثُمَّ رَأَيْت نَحْوَ ذَلِكَ نَقْلًا عَنْ مَنْسَكِ الْقُطْبِيِّ فَافْهَمْ ( قَوْلُهُ نَعَمْ فِي الْخَانِيَّةِ إلَخْ ) اسْتِدْرَاكٌ عَلَى قَوْلِهِ أَوْ بَعْضِهِ لِأَنَّهُ يُوهِمُ أَنَّ هَذَا مَحْظُورٌ مَعَ أَنَّهُ عَدَّهُ فِي اللُّبَابِ مِنْ مُبَاحَاتِ الْإِحْرَامِ ، وَأَمَّا كَلِمَةُ لَا بَأْسَ فَإِنَّهَا لَا تَدُلُّ عَلَى الْكَرَاهَةِ دَائِمًا وَمِنْهُ قَوْلُهُ الْآتِي قَرِيبًا كُرِهَ وَإِلَّا فَلَا بَأْسَ بِهِ فَافْهَمْ ( قَوْلُهُ وَالرَّأْسِ ) أَيْ رَأْسِ الرَّجُلِ أَمَّا الْمَرْأَةُ فَتَسْتُرُهُ كَمَا سَيَأْتِي .

نام – عبدالہادی یا ہادی؟

ہادی اسم صفت ہے جس کا مطلب ہے: راستہ دکھانے والا. یہ لفظ الله تعالیٰ اور حضرت محمد صلی الله علیہ وسلم ، دونوں  کے صفاتی نام کے طور پر مشہور ہے. الله تعالیٰ  کے لئے یہ ‘ال’ کے ساتھ آتا ہے یعنی: الہادی

اس سے  یہ بات  واضح ہوئی کہ کسی کا نام ہادی رکھ لینے سے ہرگز شرک کا شائبہ پیدا نہیں ہوتا. یہ لفظ ایک صفت کو بیان کرتا ہے جو اپنی  کامل صورت میں صرف الله تعالیٰ ہی کے ساتھ منسوب کی جانی چاہیے  (‘ال’ اسی بات کو ظاہر کرتا ہے) لیکن اپنی سادہ صورت میں یہ انسانوں سے  منسوب کی جا سکتی ہے.

Satiety and Likeness of Food

It seems that there are at least two variables that determine the interest with which you eat food:

  1. How much you like the food in front of you
  2. How much you are hungry

The two extreme cases are:

  1. If you are filled and you have the best food available you won’t even look towards it
  2. If you are dying of hunger you won’t bother what you have to fulfill your need

satiety and likeness

Debugging WP-PostRatings plugin for rich snippets

I recently got stuck in a small task. It was to add rich snippet AggregateRating. The rating plugin I am using was WP-PostRatings. This plugin did add the following snippet to the page. 

<meta itemprop="name" content="My Name">
    <meta itemprop="description"
          content="My description">
    <meta itemprop="url" content="http://example.com/my-name/">
    <div style="display: none;" itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
        <meta itemprop="bestRating" content="5">
        <meta itemprop="ratingValue" content="5">
        <meta itemprop="ratingCount" content="1">
        <meta itemprop="reviewCount" content="1">
    </div>

I tested the code in Google Rich Snippets Tool but the stars didn’t appear. It took me some time to figure out what the problem is. The code does not tell what thing you are rating. AggregateRating is not a top level Type. See here.

The Solution

Just enclose the above code with appropriate Top level Type. In my case I used Product. The final code is

<div itemscope itemtype="http://schema.org/Product">
    <meta itemprop="name" content="My Name">
    <meta itemprop="description"
          content="My description">
    <meta itemprop="url" content="http://example.com/my-name/">
    <div style="display: none;" itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
        <meta itemprop="bestRating" content="5">
        <meta itemprop="ratingValue" content="5">
        <meta itemprop="ratingCount" content="1">
        <meta itemprop="reviewCount" content="1">
    </div>
</div>