Cultural Software: A Theory of Ideology