What is Article 370 and 35A?

Article 370 of the Indian constitution grants autonomous status to Jammu and Kashmir. It was a "Temporary, Transient and Special" provision designated to Jammu and Kashmir while writing the constitution of India.

What is Article 370 and 35A?

Jammu and Kashmir region was ruled by Maharaja Hari Singh. He was a Hindu king and his princely state had a population with a Muslim majority. He was willing to join India during the partition but his Muslim population was inclined towards Pakistan. Hence the Article 370 was introduced by presidential order as an incentive for the people of Jammu and Kashmir to join the Union of India.

Key highlights of Article 370 are as follows:
  • Jammu and Kashmir citizens have dual citizenship (i.e. India and Kashmir).
  • If Jammu and Kashmir women marry a person of any states of India, her citizenship to Jammu and Kashmir ends.
  • A Pakistani resident gains Jammu and Kashmir citizenship if he marries Jammu and Kashmir citizen.
  • Jammu and Kashmir citizen can buy land in any state of India but people from any other states cannot buy land in Jammu and Kashmir.
  • Jammu and Kashmir legislative assembly tenure is of 6 years whereas other states of India have tenure of 5 years.
  • Jammu and Kashmir national flag is different from the national flag of India.
  • The orders given by the Supreme Court of India are not valid in Jammu and Kashmir.
  • Indian laws like RTI, RTE and CAG are not applicable in Jammu and Kashmir.
  • Hindus and Sikhs are in minority in Jammu and Kashmir but they don't get a minority reservation of 16%.

Article 35A protects Jammu and Kashmir state in the defined constitutional form. This article permits special rights to the residents of Jammu and Kashmir and denies these rights to people outside of this state.

History of Indian Constitution:
Document of Accession that brought Jammu and Kashmir into India was signed on 26th October 1947. This document was exactly the same that was signed by 562 other princely states to merge into India. All the Document of Accession were conditional as there were 4 things that were kept in the power of the Union of India: External Affairs, Defence, Communication and Currency.

Few days before the constitution was concluded in writing the idea of Article 370 emerged. Sheikh Abdullah who was part of the assembly that wrote the constitution of India came to Nehru and said we are a Muslim majority state so what about the special status for us. He redirected to Dr Bhim Rao Ambedkar who was chairman of the drafting committee but he rejected it.

Congress was in majority so Nehru thought if Congress adopts this the constitution assembly will automatically have to adopt it but it was rejected by everyone. So while his visit to London he asked Sardar to make sure this is included in the constitution.

As it was interim government and Sardar Patel and Nehru had a difficult relationship, so Sardar Patel did not want to plot against his prime minister so he had to comply. In order to safeguard he wrote two words preceding and defining this article saying that it is a temporary and transient provision.
So Article 370 as per its text is a temporary and transient provision in the constitution of India.

Jammu and Kashmir has a different constituency than India and Article 370 says that Jammu and Kashmir is an inalienable part of India. The Constitution of India has given privileges to minorities that are not available to majorities. The Constitution of Jammu and Kashmir didn't even mention minority once, because 97% of Muslims there were coming under minority and 3% Hindus were becoming the majority.

Can Article 370 be removed?
Article 370 is a temporary provision and can be revoked if the assembly of Jammu and Kashmir convene on the revocation. Parliament of India also has the power to revoke this article by amending the constitution.

Don't say “YES” when you want to say “NO”

Tell me if this sounds familiar - someone asks you to do something that you really don't want to do or you honestly don't have time for. It might be a request or an unreasonable request from a friend, a neighbour, a close relative, a family member, your office colleague or your boss for just working late. But you feel like you will let the other person down if you say no. You feel GUILTY already, and you haven't even responded yet! So you say, "Sure," even though doing so is going to put you under tremendous stress and pressure. You know that you will probably end up resenting this activity, and maybe even ducking some of your responsibilities because your heart's just not in it, but you go ahead and agree anyway.

Why are we so afraid to tell people "NO"? For some reason, we have been taught that saying "no" is DISRESPECTFUL - and even insulting. We seem to value other people's time more than our own - feeling that we need to bend over backwards to accommodate others, even if it inconveniences us. I know we're atoning for the "me" 1980s, but let's be reasonable! "No" is actually one of the healthiest words that can come out of your mouth. When you tell someone "no," you are really saying that you understand and accept your own limits, and don't want to do a shoddy job by overwhelming yourself. That you value your time and priorities and aren't willing to take away from the truly important things in your life. A little selfishness is necessary if you want to maintain a balanced and sane life!

So how do you say "NO" without insulting the other person, feeling consumed with guilt, or hurting your own credibility? We need to find a way to say "no" without dragging up all of those HIDDEN FEARS - they'll think I'm lazy or selfish, that I have no career drive, that I'm not ambitious, that I have no concern for other people. And it's time to give up all of those roles you're so proud of - supermom, martyr, hero -- but are keeping you from finding true peace. Once you've accepted that you have the right (and often responsibility) to turn someone down, you can do it in a way that doesn't seem like a REJECTION. Let me show you how:

Here are 20 ways to say "NO" without hurting others:

  • "I CAN'T RIGHT NOW, BUT I CAN DO IT LATER".
  • "I'M REALLY NOT THE MOST QUALIFIED PERSON FOR THE JOB".
  • "I JUST DON'T HAVE ANY ROOM IN MY CALENDAR RIGHT NOW".
  • "I CAN'T, BUT LET ME GIVE YOU THE NAME OF SOMEONE WHO CAN".
  • "I HAVE ANOTHER COMMITMENT".
  • "I'M IN THE MIDDLE OF SEVERAL PROJECTS AND CAN'T SPARE THE TIME".
  • "I'VE HAD A FEW THINGS COME UP AND I NEED TO DEAL WITH THOSE FIRST".
  • "I WOULD RATHER DECLINE THAN END UP DOING A MEDIOCRE JOB".
  • "I'M REALLY FOCUSING MORE ON MY PERSONAL AND FAMILY LIFE RIGHT NOW".
  • "I'M REALLY FOCUSING MORE ON MY CAREER RIGHT NOW".
  • "I REALLY DON'T ENJOY THAT KIND OF WORK".
  • "I CAN'T, BUT I'M HAPPY TO HELP OUT WITH ANOTHER TASK".
  • "I'VE LEARNED IN THE PAST THAT THIS REALLY ISN'T MY STRONG SUIT".
  • "I'M SURE YOU WILL DO A WONDERFUL JOB ON YOUR OWN".
  • "I DON'T HAVE ANY EXPERIENCE WITH THAT, SO I CAN'T HELP YOU".
  • "I'M NOT COMFORTABLE WITH THAT".
  • "I HATE TO SPLIT MY ATTENTION AMONG TOO MANY PROJECTS".
  • "I'M COMMITTED TO LEAVING SOME TIME FOR MYSELF IN MY SCHEDULE".
  • "I'M NOT TAKING ON ANY NEW PROJECTS RIGHT NOW".
  • or a simple, straight, direct "NO".
If you like this article, you can also walk through articles on Positive Thoughts and Ten Ways To Overcome Shyness.

Internet Explorer not recommended by Microsoft anymore

Microsoft recommends not to use Internet Explorer anymore by calling it as a compatibility solution, not a browser.

Internet Explorer has been one of the most popular browser since beginning of Windows operating system. IE has given tough competition to beat the market and remain one of the top browsers.

Internet Explorer not recommended by Microsoft anymore

Windows OS has evolved at great pace towards cloud based architecture, and it required its peripherals also to evolve. But this hasn't been the case with IE as its architecture has very limited options to improve further. IE was improved in the direction considering Silverlight to be the future technology, but this technology was not lightweight and didn't follow new web standards. On the other hand Chrome is modernising its browser by focusing on Material Design framework.

Since Windows 10, Microsoft has shifted their focus from Internet Explorer to new browser named Microsoft Edge. Internet Explorer 11 is considered to the last upgrade and planning to stop its support it by 2025.

Microsoft Edge is also tightly coupled with Microsoft OS and so isn't installable on Windows 7 or Windows 8 and so it also fell far behind its strong competitors like Chrome and Firefox. Microsoft has finally announced that they are adopting Chromium open source project for development of Edge. As it will be decoupled from Windows 10, so users of Windows 7, Windows 8 and Mac will also be able to install this new version of Edge.

Chris Jackson, a cybersecurity expert from Microsoft has outlined not to use Internet Explorer as your default browser. Hence Internet Explorer should not be used as a browser but as a compatibility solution for legacy applications. This is because several legacy application were developed to solely support Internet Explorer considering Microsoft's reliability and its powerful customer support.

Evergreen Hollywood and Bollywood Movies

Though tons of movies hitting the theatres every weekend, there are few evergreen masterpieces that cannot be missed.

Even if the movie is packed with famous celebrities and high-end visual effects, but if there isn't an impressive storyline then it will turn into a flop. Whereas sometimes even low budget movies become hit due to their good storyline.

Here is the list of few such movies that are packed with so much fun and entertainment that you will be desperate to see it till the end once you start it:

Motivational Movies:

  • The Pursuit of Happyness
  • Cast Away
  • Forrest Gump
  • Bhaag Milkha Bhaag
  • Drishyam
  • 3 Idiots
  • PK
  • OMG: Oh My God
  • Dasvidaniya
  • Mr. and Mrs. Iyer
  • The Terminal
  • Sully: Miracle on the Hudson
  • Padman
  • Gold
  • Dangal
  • Lagaan
  • Waqt: The Race Against Time
  • M.S. Dhoni: The Untold Story
  • Gladiator
  • Taxi Driver

Action Movies:

  • Mission Impossible
  • Wednesday
  • Life of Pi
  • Argo
  • Behind Enemy Lines
  • 3:10 To Yuma
  • Django Unchained
  • 300
  • The Hateful Eight
  • Lone Survivor
  • Gangs of Wasseypur
  • Special 26
  • Wazir
  • Ip Man
  • Troy
  • The Da Vinci Code
  • Rustom
  • Baby
  • Holiday
  • Ghajini
  • Memento
  • Sarkar
  • Aankhen
  • Singham
  • Blood Diamond
  • North by Northwest
  • Kill Bill
  • Shutter Island
  • Pirates of the Caribbean
  • Baahubali

Mind-bending Movies:

  • A Beautiful Mind
  • In Time
  • Lucy
  • Gone Girl
  • Cast Away
  • 12 Angry Men
  • The Revenant
  • Whiplash
  • Kahaani
  • Rustom

Horror Movies:

  • Lights Out
  • The Conjuring
  • The Domestics
  • The Shallows

Romantic Movies:

  • Notting Hill
  • Toilet - Ek Prem Katha

Fantasy and Sci-fi Movies:

  • Passengers
  • The Hunger Games
  • Now You See Me
  • Source Code
  • The Dark Knight
  • Lord of the Rings
  • Interstellar
  • Jurassic Park
  • Harry Potter
  • Tau

War Movies:

  • The Pianist
  • Schindler's List
  • Braveheart
  • Life is Beautiful
  • Papiloon
  • The Dam Busters
  • Hacksaw Ridge
  • The Man with the Iron Heart
  • War Dogs
  • Saving Private Ryan
  • Sajjan Singh Rangroot
  • Airlift
  • Begum Jaan
  • Uri

Comedy Movies:

  • Borat
  • Dirty Grandpa
  • Shubh Mangal Saavdhan
  • Fukrey
  • Jolly LLB
  • Bajrangi Bhaijaan
  • Vicky Donor
  • Badhaai Ho
  • Andhadhun

Animation Movies:

  • The Adventures of Tintin
  • Hugo
  • Ice Age
  • Madagascar
  • Finding Dory
  • The Jungle Book


Chrome arrived with massive design revamp

This article was written when Google had decided to revamp its flagship UI of Chrome on completion of its 10 years. Finally, Chrome version 69 is released with all the expected changes.

As seen in the below snap, Chrome now looks having a sleek and flat interface with the power of the "Material Design" framework:

Chrome arrived with massive design revamp

Tabs of Chrome now looks exactly similar to Firefox whereas the address bar has curved borders. Shortcut icons are modified from large squares into smaller circles. So now 10 shortcut icons can be accommodated instead of 8 icons earlier. A new interface is experienced on the Settings page also.


Google Chrome is the lightweight and most popular browser due to its consistent user experience across any platform. Chrome is already improved in terms of security aspects in their recent upgrade. In a bold step further, they have announced to uplift the look and feel in the next upgrade which is a massive design revamp.

The new version of Chrome is planned to be rolled out at the beginning of September according to 9to5Google. This upgrade will apply to all operating systems across all devices.

Google has already developed the "Material Design" framework for responsive design which is a tough competitor of the Bootstrap framework.

The upcoming roll-out of Chrome will be based on "Material Design" themes to include rounded edges. The browser tabs will now appear in the form of a pill shape which is a huge divergence from the initial launch of Chrome that had angular edges.

Refer to this article to explore more recent security upgrades done in Chrome by enabling a default ad-blocker.

You can also have a preview and try new features that are going to arrive by downloading the beta version of Chrome.

Improve code quality in .Net applications

Writing source code for any requirement is always a head-scratching activity. But when it comes to improving the quality of code, it seems to be a different world.

Though maintaining code quality looks like overhead at the beginning of the project, but as code grows and the development team expands, the initial effort on focusing on setup quality gateways looks fruitful.

Few tools and techniques are summarised here which should become an integral part of each .Net project.


Improve Code Quality in .Net

Find unused code:

ReSharper is one of the best code analysis tools that can be integrated with Visual Studio

To find unused code in your solution right-click on the solution > Select "Find Code Issues" > One of the results is "Unused Symbols". This will show you classes, methods, etc. that aren't used.

Reference - https://stackoverflow.com/questions/245963/find-unused-code

Discover dead code using Visual Studio Code Analysis:

Visual Studio provides this feature out-of-the-box. Right-click on the solution > Analyze > Run Code Analysis on Solution.

Reference - https://blogs.msdn.microsoft.com/habibh/2009/07/31/discover-dead-code-in-your-application-using-code-analysis/

Static code analysis tool:

StyleCop and FxCop are the most popular tools that can be included in the project to maintain coding standards defined by the organisation. 

They are available as a NuGet package and gets auto-configured when added. These tools follow basic coding standards defined by Microsoft but can be customised further as per the need.

It can be configured to fail the build if any of its code quality checks fail. It can also be configured to fail the build if any warnings are identified. This ensures the code delivered is of optimum quality.

Enable Gated check-in using VSTS Build Definition:

Gated check-in builds ensures that the checked-in code is always free from compilation errors. This can be enabled in Visual Studio using TVFS projects using VSTS Build Definition, though this feature is still not available in Git team projects.

Reference - https://www.codeproject.com/Tips/1168853/Enabling-Gated-Check-in-using-Visual-Studio-Team-S

Code coverage analysis:

Code coverage analysis is available out-of-the-box in Visual Studio. This analysis indicates the percentage of unit tests written for the project.

The attribute [ExcludeFromCodeCoverage] can be applied to the class files that need to be excluded from code coverage. Make sure not to apply this attribute on the application code, as it will produce over-inflated coverage metrics.

Class files created automatically by adding service references must be excluded from code coverage. The CodeCoverage.runsettings file can be used to accomplish this.

Include automation scripts:

When development is in progress, there are several instances where fixing one issue or developing a new story would unexpectedly break existing functionality. 

QA team can only focus on testing the specific feature or user story in a sprint. But as the system scales, it becomes practically impossible for the QA team to perform integration testing in each sprint.

Automation scripts are proven to be a boon in such cases which can be executed either manually or scheduled after each deployment. This can also be added into the Continuous Integration pipeline to automatically run after each deployment.

Selenium scripts are recommended for automated testing in .Net applications. Selenium is powerful enough to execute scripts on the server even in absence of any browser. This is made possible by adding a specific browser driver as a NuGet package. Some browsers like chrome can be run in headless mode to execute the scripts faster as this will run chrome in the background.

Though surprising it is not recommended to use Internet Explorer anymore but focuses your application to fully functional on Chrome or Firefox.

Use mocking framework:

Mocking frameworks like NSubstitute or MOQ helps to write unit tests by mocking the reference layer. This means while writing unit tests for the web layer you can mock the business layer; similarly while writing unit tests for the business layer you can mock the service layer.

Design patterns:

Few design patterns are a must-have for any development. They include dependency injection, factory pattern, service pattern and repository pattern.

Dependency injection with Unity framework can be easily integrated with a NuGet package. It is highly recommended to use the DI pattern as it also helps in writing effective unit tests with a mocking framework.

Exclude NuGet packages from code check-in:

TFS or VSTS can be configured to download the NuGet package from nuget.org during the Build process.

Whenever a NuGet package is added to any project, it not only download its assemblies but also adds an entry into packages.config file. Hence it is the best approach to eliminate any NuGet package from check-in into source control and just check-in respective packages.config file.


Build quality checks:

Add task "Build Quality Checks" in the VSTS Build process. Build can be configured to break based on quality metrics like a number of warnings or code coverage.

You can also specify a code coverage threshold that is the minimum code coverage value in percentage terms.

Modify email files arriving into SMTP server

When you send any email it arrives in the Pickup folder of the SMTP server in the form of a .eml file. SMTP server continuously monitors the Pickup folder for any incoming file.

As soon as any email file is received in Pickup, it is picked to check its integrity. If the format of .eml is incorrect then it is sent to the BadFiles folder, otherwise, it is sent to the Queue folder from where SMTP forwards email to specified recipients.

If there a requirement to modify recipients, subject or content of the email after it arrives in the SMTP server, then it can be achieved using a different mechanism.

SMTP server rules:
You can create rules in the SMTP server to modify email before forwarding it to recipients.

Create macros:
Macros are very powerful scripts that can read the content of .eml files. They can be written in VB Script (.vbs file) which can read each incoming .eml file within the Pickup folder and process as needed.

Socket programming:
Write a code based on socket programming or HTTP pipeline that picks the inflow of content to the SMTP server.