Showing posts from 2012

Presidential elections and its impact on the s/w industry

Been following the recent political scenario in the U.S for the past couple of weeks. Obama's re-election as the most powerful man on the planet does have a lot of impact across various industries. Kudos to Romney for giving a great fight. There were a couple of aspects related to Romney's foreign policies that I personally did not like but overall the man would have made a good president. Obama was definitely my pick to win the presidential elections and take things over for a second term. I just hope he does not get blocked while promoting his various plans to rebuild the U.S. The only problem is that he cannot start afresh, he has to ensure that the policies that had created such a massive fiscal deficit in U.S history is keenly looked into and changes be made to promote more growth especially in sectors that had taken the brunt of the beating while the republicans were at the helm. In the software industry barring innovation, it is important that skilled expertise is cont…

PowerPivot in Excel 2013

Man O man!!!! I have recently started playing around with Office 2013 and I love it. It has a lot more facets that make regular excel user's lives easier. But this post is about an issue of using PowerPivot in Excel 2013. I started opening existing PowerPivot workbooks (created in Excel 2010) in Excel 2013 and whenever I navigated to the PowerPivot ribbon, all the options were always disabled. I thought for a second that there might have been a problem with the installation and I might have missed an option while installing Office 2013. But then barring the fact that Visio 2013 is still a seperate installation, there was  absolutely no problem with my Office 2013 installation. Then I tried reopening the workbooks in Excel 2010 to just verify that these were not corrupted in any fashion and thank the gods above!!! they weren't. So that got me thinking that the consumer preview of Office 2013 might not have PowerPivot enabled. Was just about to ping someone in the Office team w…

Metro Style Apps in Win 8

Metro style apps in Win 8 is going to become a big hit especially with the developer community and especially with Microsoft promoting these apps in a major way through its Windows store....only good things are in store for most of us. Metro apps basically works seamlessly on top of the following languages which MS is trying to revolve the developer community with. Those languages are C#/VB, C/C++ and Javascript. The structure of  metro apps is in the following fashion:
If we were to design an website to perform some sort of task such as displaying information from a database. The HTML and CSS page can be developed with any sort any editor (prefer Visual Studio 2012 to display the info.... or even Blend). But once the page is developed you will have to explicitly define function calls to the WIN RT layer which provides a host of API's to seamlessly integrate the application with the OS. Somewhat of a framework on top of a framework.

The next aspect is about the projections that t…

Duplication of KPI's within PPS

Has anyone ever come up with the of duplication of KPI related information after dragging and dropping two seperate KPI's within a scorecard......... well! I have. Now the issue is quite simple, I define two separate KPI's called KPI1 and KPI2. I define KPI1 in the following manner:

After this step I define KPI2 in the following manner:

Once I perform the following operations I basically define a scorecard dropping a dimension (eg: Brand) for this purpose and then drag KPI1 and then KPI2 (Note: KPI2 is the sibling of KPI1). The scorecard gets generated in the following fashion:
Now if you notice the scorecard the Actual and Target is repeated for KPI2 even though KPI2 has the names defined as Test1 and Test2 respectively and the default values for KPI2 is empty for all rows of the slicing dimension. This issue is due to the fact that PPS did not recognize KPI2 as a valid sibling of KPI1 (This is indeed an issue with PPS and needs to be changed as soon as possible in the futur…

SQL Server Best Practices

Recently was discussing with a colleague of mine as to the best practices in SQL. So this post is dedicated to that chat. The first thing we discussed about is the usage of NOLOCK's for tables in non highly transactional based databases with a wide user audience. Now the question of dirty reads does come to mind but at the end of the day the Read Uncommited transaction allows multiple end users to query the underlying table. NOLOCK is nothing more than a table hint that allows the query to be performed in a read uncommited fashion but is still a great practice to follow even while creating views. I have been using NOLOCK's for a large period of time (and sometimes implement it out of habit for my views i.e. SELECT C1,C2 FROM V1 (NOLOCK) as well which does not make any sense but is more of a force of habit except for my last post where I removed it on purpose) but I recently came across another table hint called READPAST but I am strictly avoiding this topic as this prevents…

Framework for Monitoring Metadata changes

It is really important for a handshake model to exist between most upstream and downstream systems. Normally there is a mode of communication between the upstream Dev and Downstream Dev teams in order to track these changes. Now I have created a simple framework. Now rather than a pull system where the downstream pulls the meta data changes from the source, I have created a push system that the upstream will send across to the destination systems. Let us see how the framework works:
Step 1: Create a table that will store the metadata changes like addition or updation of tables and views as follows-
--Table to store Metadata changes for views and tables CREATE TABLE DB_Table_View_Changes ( DB_Table_View_Changes_ID INT IDENTITY(1,1) PRIMARY KEY ,DB_Schema_Name VARCHAR(256) ,DB_TableView_Name VARCHAR(256) ,DB_TableView_Type VARCHAR(5) ,ModifiedDate DATETIME )
Step 2: The next step is to create the table that will track the Column changes made to views or tables-
--Table to track…

Effective Memorization trick for words

If you have a good sense of imagination then you are in for a treat....memorizing words is extremely easy if you put it into a story... Let me take you through a list of 20 words that I had to memorize and it has been fifteen days since I saw the list and I still remember the words... The underlined words in the following paragraph indicates the words that I had to memorize:
I took a pen and then took a cauliflower and scribbled the word wine on it. To dot the i in the word wine I jammed my key into the cauliflower. After this I took the cauliflower with me and went to a big dark auditorium where I was carrying a torch. I went on the stage and then I made a wish into the microphone present there for a tent. The tent that appeared had a massive needle through it. I touched the needle with my finger which had a massive diamond studded ring. After which I opened the tent and saw a massive massaging chair with a coffee filled glass in it and a sieve on top of it. A telephone started ri…

Which data visualization tool to use?

The key aspects of any data visualization tool is to focus on your customer's needs. Now you can classify  (or rollup) your customers into three groups. Business Group: The business group are the folks who deal with viewing data and performing calculations based on their needs and requirements. This group may not have extremely strong technical skills. The key performance oriented concept for this group is to view data in different formats and maybe change the appearance of their reports  while showcasing the same to their target audience.Technical Group: The technical group primarily contain members who not only view data but are also able to work with the tools used to fetch and visualize the data. This group of people need an extremely small amount of handholding once their dashboarding needs are satisfied.Management Group: The management group comprises of the C level exec's, VP's and high level officials who just need to view data and understand the current trends ef…

PPS blunders....

While discussing about PPS today, I kind of explained that PPS will not support multiple datasources on the same dashboard. Now this is true to a great extent but KPI's for that matter is a totally different story. KPI's can be created with multiple datasource and displayed within a PPS scorecard. Maybe my mind was not in place while explaining PPS. This is indeed understandable when working on multiple platforms. A dashboard can be created with scorecards based on KPI's from different data sources. Also on a quick note if the platforms that support office and Sharepoint differ i.e. SharePoint on a X64 related platform and the office installed is x86 then importing data from the excel source into a PPS dashboard will result in a cross platform error. The resolution for this is to reinstall office for x64 m/c. 05/10/2012(Value Add for the comments above) No wait found an even better solution --> checked out this gentleman's post and it worked like a charm-->

SQL Server 2012 Power View Installation with Sharepoint 2010

Oh Oh (Jaane Jaana the song just came to my mind)..... Installing powerview on Sharepoint 2010 with SQL server 2012 turned out to be a nightmare. Since I was doing the install on my local m/c, things became more harder than usual as I do not have enough memory to scatter around. So let me explain the steps I went through and the effort I had to exert in playing around with PowerView.
      I had SQL Server 2008 R2 installed with Sharepoint 2010 on my machine. Just for folks out there who do not want to uninstall their current SQL server version and especially if it is 2008, ensure that you install SQL Server 2008 SP2 before installing SQL Server 2012 (I am going to refer to it with the term "Denali" from this point on). If you do not install SP1 and SP2 prior to the Denali install you are in for one heck of a ride. Mark my words please do the installs prior to installing Denali. If you do install Denali without upgrading SQL server 2008 to SP2, ensure that the Denali inst…

Steve Ballmer's rallying speech

Recently saw Microsoft's annual townhall speech in Washington DC. The spotlight was on the CEO Steve Ballmer and he basically took the ball to the end zone and scored a touchdown with this speech of his. The biggest aspect of his speech was the enthusiasm he showed to the crowd and it was impressive to say the least. He was as exuberant and passionate with his speech as ever. It just goes to show the difference between go getter's who truly are passionate about what they do and people who prefer mediocrity. Seriously if I were as passionate about my job as Mr. Ballmer, I would be someplace else. The speech of his just shows to the people at Microsoft how much involved he is with every single product that Microsoft is working with and his commitment to ensure that these products become number 1 in the global markets. The energy shown throughout the speech was electrifying. This man seemed to have all engines fired up for this speech like the perrenial race horse with the carro…

Adding All to SSRS report parameters giving out of memory exception

SSRS report is failing while selecting the All parameter Now let me begin by giving a case statement whereby I have added 'ALL' to my SSRS report parameters dropdown. But whenever I select the ALL option I run into the out of memory exception because the report is executing in a never ending loop. Here are samples of the issue @ hand and how I went about fixing the same For example==> Let me say that I have a Country dropdown for the following SSRS report (using Adventureworks). The SSRS dataset Report Query is as follows:
SELECT adr.AddressLine1, adr.AddressLine2, adr.PostalCode, adr.City, sp.Name, cr.Name AS Country FROM Person.Address AS adr INNER JOIN Person.StateProvince AS sp ON adr.StateProvinceID = sp.StateProvinceID INNER JOIN Person.CountryRegion AS cr ON sp.CountryRegionCode = cr.CountryRegionCode and (cr.CountryRegionCode = @country)
As you notice the parameter I am using is @country.

The @country parameter is populated initially by using the following query:

System.ConfigurationSettings.AppSettings is Obsolete

This is the most irritating warning message in my C# coding experience. I have been using the AppSetting regardless of this warning message, but was recently told that even though the code compilation occurs in a similar manner, it is a burden to the C# compiler for this particular line and just for people to understand the warning again.... this is the crappy message 1 more time:
'System.Configuration.ConfigurationSettings.AppSettings' is obsolete: 'This method is obsolete, it has been replaced by System.Configuration!System.Configuration.ConfigurationManager.AppSettings'
Now why the heck does the System.Configuration.ConfigurationManager not exist!!!! This is becoz it is not referring to the correct DLL reference (The 1 in GAC is incorrect arrgh!!!!) and 1 needs to explicitly add the correct instance of the DLL (Add Reference --> System.Configuration with the correct version). Why do you need to add this explicitly and why doesn't Microsoft Visual Studio tea…

Symbols and its importance in modern day marketing

Let us talk about symbols a bit (Dan Brown this aint about the Da Vinci Code). Now a brand definitely does have a major role in the marketing aspects of a product or a service. However has anyone tried to explain how symbols can also be an equivalent or maybe a semi equivalent force in the realm of marketing. Nope and that is something which I kept pondering on for a while till my wayward mind started thinking about something else. You log into your system and navigate to some random RSS feed that is coming up on your favorite website and lo!!!! what do you see below those links or posts. An "f", or a "t" or or an "l". What do these imply? Just symbols indicating some of the most popular sites in the market i.e. facebook, twitter and LinkedIn. But these symbols do definitely cater to an audience. It is impressive that whenever we see a letter S on a shirt embedded in a triangle, we associate it with one of the biggest comic book character out there and I…

MDX Beginner to Professional ASAP

So been visiting a couple of sites recently to collect information on MDX from basic information to advanced but almost every site had some advantages to it and some disadvantages to it. Now just to make the information on MDX querying more concise, I am writing up this article. Lets start with the basics....

Step 1:
SELECT Measure/Dimension on 0/Axis(0)/Columns,
Measure/Dimension on 1/Axis(1)/Rows,
Measure/Dimension on 2/Axis(2) [Note: From this point onwards... even though this MDX is valid, SSMS editor will not accept the information as it strictly adheres to cell information encapsulated between rows and columns].
. on 3/Axis(3)
from [Cube Name] where slicer information

Step 2:
Figure out what information it is that you exactly want from the cube......
Extremely important here is to follow the rules below:
Update the cube to take in a default measure.
Now once this is performed, all the in…

Cloud market is heating up....

Been using the Amazon cloud services for Kindle Fire for a couple of days. Now even though Amazon is number 1 when it comes to cloud computing in the market currently, it has to address issues concerning the uploading aspects into it's cloud platform immediately. It took me almost six and a half hours to upload four songs using the Amazon MP3 uploader located @ Amazon MP3. This might be due to the fact that Amazon is relying on selling more MP3 and other content which is heavily integrated with Amazon cloud rather than allow user's in uploading the very same. It is a good business strategy maybe from a short term aspect but from a long term understanding of a user's psyche, this will be an utter failure if it does not work something fast. Maybe SOPA might have restricted Amazon to a certain extent but it's MP3 uploader has been present for some time now and the SOPA has nothing to do with the software (or perhaps introduced purposely) chinks. Maybe a good space for it…


Let us understand how NTLM authentication works:

Step 1:
User sends a request to the server passing the domain authentication credentials.

Step 2:
Server creates an encryption token and sends a response back to the User (User's machine)

Step 3:
User gets the encrypted token and uses the token to encapsulate the user's password and re sends the new information back to the server.

Step 4:
Server gets the encrypted password, decrypts the information and sends the information to the Domain Account Controller/Service Account Manager for verification and authentication.

Step 5:

The Service account manager verifies the information and informs the server that the user is either authenticated or the authentication request has been denied.
Once these steps occur a connection with the server will either be established or disestablished. Key notes here is that the NTLM authentication does not require to have the server principle (SPN) established on the local machine for authentication. This is more…

Ajaxifying Sharepoint 2010

Just a quick note on how to ajaxify Sharepoint 2010:-
1. Download the code files from
2. Update the location of stsadm to C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\BIN\stsadm in deploy.cmd and upgrade.cmd files respectively.
3. Open command prompt in admin mode and run the following command:
STSADM.EXE -o addajax -url http://UNLT239/MOSS
to ajaxify the site. In my case it is the above url, however you would need to specify STSADM.EXE -o addajax -url <sitename_to_be_ajaxified>

Once this is done, navigate to the web.config file and ensure that you replace the version of your system.web.extension to 3.5.

Also the following changes are extremely vital:-

<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<add verb=&…

Creating a simple expense spreadsheet

Now many a time it becomes a necessity to track daily expenditure (or weekly expenditure) and try and figure out your spending trend over the year. I created a quick solution for anyone out there who requires something like this. It should not take you more than 3-5 minutes unless you are blogging about it. (Thought of implementing it in SSRS earlier but an excel sheet is good enough to do the trick)
1. Open Excel and type in the Location, Date and Expense made... something similar to the following image:-

2. Now in case you want to just check the trends of your expenditure using databars, create another column or insert a column called trend and then click on conditional formatting on the Home Ribbon (Keeping the Trend Column Selected) and choose the Databar along with the required color formatting --> the image is as shown below:

3. Next Step Ensure that for every cell in the Trend column you point it to the respective cost which in my case are the values present in the B column so …