There are two basic steps to good permaculture design. The first deals with laws and principles, while the second is more closely associated with practical techniques.
The principles are inherent in any permaculture design, in any climate, and at any scale. They are, briefly:
Relative location: every element is placed in relationship to another so that they assist each other
Each element performs many functions.
Each important function is supported by many elements.
Efficient energy planning for house and settlement.
Emphasis on the use of biological resources over fossil fuel resources.
Energy recycling on site.
Using and accelerating natural plant succession to establish favourable sites and soils.
Polyculture and diversity of beneficial species for a productive, interactive system.
Of all the principles of software engineering which has fallen by the wayside in the modern “move fast and break things” mentality of assholes modern software developers, reliability is perhaps the most neglected, along with its cousin, robustness. Almost all software that users encounter in $CURRENTYEAR is straight-up broken, and often badly.
One of my favorite definitions of “hacking” is the creative reuse of tools for new and unexpected purposes. Hacking is using your email account as a hard drive, using your bicycle seat to open a beer, using Minecraft’s red bricks to create a calculator in the game.
The opposite of hacking is marketing. Marketing tells you that this particular non-stick pan is the pan you’ll use to make omelettes, and you’ll do it in the morning dressed in fashionable clothing in a nice kitchen. It includes a photo and inspirational copywriting to drive this home. Marketing dictates a style, context, and purpose for even the most general-purpose products. This narrative needs to be specific so that you can readily imagine it: it’s you, in an Airbnb, laughing with friends.