Apps  Contact  Seminars 

Archive for July, 2009


July 31st, 2009

Venn Diagram Queries

by Amrinder

Venn Diagram queries in Oracle have saved the day for me many many times. Consider this:

You have a table “analyzethis”, and say mv (modelvalue) is in 0/1 and tv (TruthValue) is in 0/1. Then, the following query does something nice.

select sum (val), match from
(select count(*) val, ‘M’ as match from analyzethis where mv=1 and tv=1 union
select count(*), ‘M’ from analyzethis where mv=0 and tv=0 union
select count(*), ‘N’ from analyzethis where mv=1 and tv=0 union
select count(*), ‘N’ from analyzethis where mv=0 and tv=1)
group by match

This query returns:

Sum(val), Match
1450, M
2300,N

Of course a similar result can also be obtained by decode, sign and square functions.

Tags: ,


July 25th, 2009

The cost of free

by Amrinder

It is quite fashionable at this time to be pro open source. “We are helping the community!” “Not one more cent to the coffers of Bill Gates!” “Linux Rocks!” “If you were smart enough, you would toss your Dell for a Mac”. These are the kinds of slogans that are hip in a tech company. Who wants a vanilla Windows computer which even a grandpa can operate. To be apple (or Ubantu) is chic.

Open Office is widely touted as 100% compatible to MS Office, and it is really quite close. I use it on my Ubantu laptop downstairs, and it is really quite good. This post is not trying to compare the two software packages (plenty of comparisons exist, see for example TechRepublic’s comparison). Rather, this post is simply trying to address the emotional and TCO aspects of open source software.

Emotional Aspects
ViennaAs I do a fair bit of work with Government consulting, one of the things that I (and other team members) do is to exchange documents (what a novel concept). Some of our govt clients use Microsoft Office 2003 as their “standard”. We are in no position to impose anything else, either Open Office, or MS Office 2007. If we send them a document that we edited using Open Office (and saved as .doc), and it shows up corrupted (or different) when they view it in Office 2003, it is our loss, not theirs. In that respect, it is a shame we even have this conversation in office sometimes, as if, by conversing we have any power to change anything.  If you have a team member like that, chances are, he fails the emotional test to have a meaningful debate on this issue.  There is not a whole lot you can do – hatred is one of the most self-consuming vices of humanity.  The irony of course is that these technologists belong to overall, a really nice stereotype.  They are usually environmentally sensitive, socially active, perhaps a bit starbucks crazy (and “share the road” bikers!).  It is a shock to them that anyone considers them radicals (in this specific matter). Anyhow, hatred isn’t a new feeling in the tech world, or even in scientific world.  Plenty of examples exist in the scientific community from 19th and 20th centuries where hatred has played a more dominating role than any scientific views and analysis.

Total Cost of Ownership Aspects
A new team member walked in the office the other day.  I had interviewed him, and he got a decently high rank and was recruited.  That said, he is green, fresh out of college.  As if the high salary and the awesome benefits pay isn’t enough, the bugger had the nerve to ask: I need a commercial license to IDEA, I can’t stand Eclipse. My first reaction of course was SIOOMA.  Then, the wisdom bug bit me and we had a conversation.  He claims that he is 25% more efficient in IDEA, than in Eclipse.  I morally owe it to the guy to be as successful as he can, and frankly we do have budget to allow that. Currently, he is using a 30 day license, and if it works and if he can sell the tech lead on the idea of IDEA, then I promised him 2 copies – one for him and one for the tech lead. More people can follow suit if they want to or stay with Eclipse.

So, how does this fit into the TCO model? Assume a person’s salary is 5000 $ /per month. A 20% improvement in productivity essentially means that he will be able to finish 22 days work in say 18 days, roughly saving the company 1000$ in the first month itself, effectively recuperating the 500$ software license cost in half a month. If the guy is over estimating the enhancement in his productivity, and in reality is only 5% more effective, even then the company will recuperate the cost over 2 months. In either case, if the productivity is indeed higher, then paid IDE software would beat OSS IDE hands down.

Actually, it is same reason we use Jira and BizMerlin, not open source Bugzilla, but hey no one questions that. It is simply a matter of people using a paid software as a standard, and unless there is a reason (or someone says to the contrary), one doesn’t think that that is an unjustified cost. Why pay money to Atlassian, but cringe when having to pay money to Microsoft (for Office)? There is no blanket answer, except a detailed cost benefit analysis which takes us to specific course of action.

I don’t know if there is any conclusion here – I am not trying tell you how to run your company or your business or your life. If you are reading this blog, chances are you already know that. But, one thing that should be reached is to treat each case at its face value and not to let your hatred of Microsoft or Google or Yahoo hurt your own company. Obviously, let no one go out and buy software just for the sake of doing so, but also let no one stick to open source software just for the sake of being open source.

Tags: , ,


July 19th, 2009

So, what about those fake PhDs?

by Amrinder

Came across this scathing criticism of a PhD, in which the critic states that “.. Sonia Choquette’s Ph.D. in metaphysics is from the American Institute of Holistic Theology which is unaccredited.” That begs the question – what is education accreditation, and is it relevant.

From the United States Department of Education website: “The goal of accreditation is to ensure that education provided by institutions of higher education meets acceptable levels of quality.” That much being settled, let us check if indeed the American Institute of Holistic Theology is accredited or not. A visit to the institute’s website itself suggests that the only accreditation that AIHT has is by AADP, not by any other organization. A quick google search gets us to QuakeWatch page by Stephen Barrett, which states that American Institute of Holistic Theology is NOT accredited by the recognized accrediting agency. A visit to NCAHF webpage by William Jarvis suggests the same thing.

Still, a bigger question remains, is accreditation necessary? What about the lessons of life? I have come across thousands of folks who need no PhD for me to understand that they are infinitely more wise than my doctorate from GWU will ever make me. That said though, one of the elements of their wisdom is that they are not claiming to be PhDs either. Their lack of a doctorate degree (or any degree for that matter) doesn’t lessen any respect that they get, either from me, or from anyone else.



July 15th, 2009

Can I have your telephone string, err, I mean number?

by Amrinder

Some things go without saying. Such as, a telephone number is a number. Like 703 123 4567. But if I go back to Dave Roberts, who taught me CSCI 242 an infinite number years ago, he would say, can you give me your telephone number, and add it to Peter’s and subtract Anna’s? Well, that really doesn’t make much sense.

In database modeling terms, telephone number is a String, a varchar2, a text. Not a number. This pretty much goes without saying as well, for anyone who has been data modeling for more than a few days. Here, are a couple of reasons telephone number is considered a String, not a number:

  1. It can have symbols. People enter their telephone numbers themselves, using hyphens, parenthesis, plus sign, alphabetical (1-800-CALL ATT), etc. The database mostly needs to save the data that the user entered, and show it later. It would be unacceptable to modify the user’s data and show it in a different format. Would be cute and dumb at the same time.
  2. You don’t do any Math on the telephone number. You don’t take average, or sum of all telephone numbers, like you do with invoice_total and avg _time_in_queue.

Now, there really are systems that store a telephone number as a number, not a varchar2. That is primarily done as a short cut for validation. These systems have those annoying (but perhaps highly functional) websites where you get those messages (“Please use numbers from 1-10 only.”) when trying to enter a white space or parenthesis in a telephone number. The good aspect of that is, that they are very very good at catching the 10 digit US/Canada telephone numbers. Works absolutely great for utility companies and gas electric cooperatives with US as their only market, but if international market space is your thing, then not so much.

I take this as my gentle remember, that all rules are meant to be learnt, and then we can break some. The good news is that you get to pick which ones you break! The bad news of course is that you need to learn them first, and then break them.

Tags: ,


July 2nd, 2009

Dashboarding systems

by Amrinder

This morning I was supposed to be in a meeting discussing how our software suite can be used in the exciting healthcare space. As Ann Mayes and I went on a spree talking about the contacts from the field of genetics that we both happened to know, the meeting agenda was quickly thrown away, rather the conversation turned to gossip. It was a *fun* meeting!

One of the things that we were supposed to talk about was dashboarding. Currently, dashboarding systems are dime a dozen. There are at least a 100 companies that I know of that have developed such systems. Each of them claims to be a complete, easy to use dashboarding system. Heck, even I have designed one (or two depending on how you count). So, what is the deal with these tools anyway?

Firstly, this is a happening market. The need is there, some of the core components of the solution have been created and are being sold (flash/Java charts), and some of other core components have reached a mature stage (portlets or portlet like solutions). So, the problem is solvable.

Secondly, the total market value (the kinds of dollars and cents numbers that you need to show to your board or to yourself) is very large. So, it is easy to get sucked in, imagining you are going to make millions.

The drawback of course is that there are many tools out there right now, and the price is in a freefall. There are a few open source alternatives as well. So, pretty much the only thing that distinguishes the solutions really is how functional they are, and how easy to use they are. This lends itself to a challenge – there is no dominant user style or a user paradigm here. Every software tool declares itself the easiest to use. The age old 80-20 rule applies, 80% functional tools are available for 20% of the price, and are largely easy to use. The 100% functional tools are the worst ones, they are expensive, hard to setup, and have a steep learning curve.

One of the problems in selling is that most of the customers suddenly draw up a list of features that they would like, even though they currently have NOTHING (“I can call up my DBA anytime and get any data I want”, yeah right – Allan leaves at 3:30 PM sweet heart). So, the only solution that works out for them is a 100% solution, and suddenly you are a few hundred thousand dollars down and 3 months from doing a corporate wide launch and training sessions for this marvelous shiny rolls royce that you just bought. Mostly though, what was needed was a Chevy.

I will still have to wait and see what 2009, 2010 and 2011 have in store for dashboarding products. Maybe a winner will emerge. Maybe not.



Switch to our mobile site