The software design process boils down to a few key abilities: Defining the problem scope. Targeting the most applicable solution domain for the scope of the problem. Scope encompasses all extremes of the problem space, from the unlikely and rare scenarios to the very common scenarios, these extremes moderate the demands for resources, disk, processor and bandwidth. The art of good design lies in knowing how to tailor your solutions to the most applicable solution domain for the problem at hand. Implementing the solution for the applicable domain of importance that is most efficient as opposed to most expedient. If multiple solution domains must be covered ensuring seamless transition of solutions from one algorithm to the next. The first and second points are most important, as you won't know how best to solve a problem if you can't define its' extents. Many times developers are unable to put their fingers on all aspects to a problem, this is unfortunate as it may severel...
A chronicle of the things I find interesting or deeply important. Exploring generally 4 pillars of intense research. Dynamic Cognition (what every one else calls AI), Self Healing Infrastructures (how to build technological Utopia), Autonomous work routing and Action Oriented Workflow (sending work to the worker) and Supermortality (how to live...to arbitrarily long life spans by ending the disease of aging to death.)