[Khanna suggests][prev] that the over-large nation-states of the 19th and 20th centuries - many of which were created by the fiat and bureaucracy of the British Empire or other colonialist machinations - be “refactored” in line with the “SOLID” software design principles. In this post I take the SOLID principles and try to transform them into the language of national identity establishment.
SOLID and Refactoring
In my [previous post about “Connectography”][prev] I noted that one of Khanna’s Big Ideas is that:
Many nation-states are held together by fiat or tradition but have no real internal attraction to one another: we should let these break apart or break them apart e.g. Iraq, Yugoslavia.
As a programmer I knew exactly what Khanna was saying. How many times did I, as a beginner in object-oriented programming, allow a class to stand unchanged because its functions had “always gone together?”
I began steering away from those negligent practices when I learned the [SOLID principles][SOLID] listed by “Uncle” Bob Martin. These five simple dicta set a new bar for how (new) code ought look. But how to go about fixing the historical messes? For that, I read Martin Fowler’s book [Refactoring] where “refactoring” is described as:
…a controlled technique for improving the design of an existing code base. Its essence is applying a series of small behavior-preserving transformations, each of which “too small to be worth doing”. However the cumulative effect of each of these transformations is quite significant.
Having learned from both of these inspirations I was able to methodically pull apart complexity and limit its creeping in. So in software, so, too, in nations.
SOLID Applied to Nations
|SOLID Principle||Connectography Application Principle||Explanation|
|Single Responsibility Principle||Single Identity Principle||A nation should have only a single identity|
|Open / Closed Principle||Open / Closed Principle||Open for competition, closed for bad investments (war, science-hindering, education under-investment)|
|Liskov substitution principle||Liskov Subsitution Warning||Any competitor or client supporting the same trade position as you can be swapped for you. </tr>|
|Interface segregation principle||Identity segregation principle||"many identity-specific interfaces are better than one general-purpose container”
Prefer "Exampleistan" to "Exampleish regions in X, Y, Z"
|Dependency inversion principle||Dependency inversion principle||Create dependent vassals by providing into them versus extracting capital from; being a broker of infrastructure and a provider of trade, nations can scalaby project power where military usage has become / will become crippling to GDP; further, competitors will take advantage of your misallocation to outcompete you (e.g. US and China)|