Mega and giga are defined
..and have been for years. Even higher prefixes exist.
http://physics.nist.gov/cuu/Units/prefixes.html
A few programmers in the early days thought it was 'cool' to pervert an internationally agreed standard. It was fun being a geek on the frontiers of a brave new world. Almost no-one knew what a computer was and no harm was done if you screwed it up. There was no-one outside of your discipline to talk to anyway.
Those days are long past. Software development is an engineering discipline that has a major impact on all our lives. It needs to talk to other engineering disciplines in a way that can be understood. Miscommunication can cost large sums of money and in some cases lives.
HDD manufacturers are using the internationally agreed upon prefixes the way they are were always supposed to be. Software engineers have a choice of continuing to abuse the system and cause confusion or else they can grow up and join the rest of the engineering community.
As a software engineer I favour the second option. It isn't 'cool' to be different when you're an engineer. It just makes the other 99% of engineers think you're a pratt.
