Category Archives: Software Design
11 May Thinking in Parallel
A Parallel Expert I once rode the Trans-Siberian Railway from Moscow to Ulan-Batar, Mongolia (not the picture at right – the engines were diesel). Several times along the journey we passed slower trains, and we were passed by faster ones. When people and freight are confined to a single lane, the speed of the slowest defines the speed of […]
23 Feb Inference in Knowledge Apps
In Section 5 we discussed different kinds of knowledge, including existential or hierarchical knowledge and causal knowledge. In Section 7 we discussed modeling approaches and search techniques that could be applied to any kind of knowledge. We saw that causal knowledge can be modeled as chains of causes and effects, and that existential knowledge can be […]
08 Feb Just In Time Knowledge
One of the beautiful things about the human brain is it’s adaptability: people can “change” their minds at the last minute based on the changing situation (context). This is not trivial, but I believe that it is one of the characteristics of human cognition that is relatively straightforward to mimic in computer programs and apps. In […]
26 Jan Give Me Smart Requirements
I know how to solve this problem! I’ll just blast it to smithereens – Fire – Aim – Ready. Artificial Intelligence (AI) has been explored and developed in universities and startup companies throughout the developed world for decades, but is still struggling to reach the mainstream. There are many companies that effectively use intelligent processes and […]
14 Jan Segregating Layers of Intelligence
Layered Architectures Layers appear regularly in my blog, whether it’s layers of the brain, layers of processing nodes in artificial neural networks or layers in systems architectures. Layering embodies important patterns in the inexorable move toward a knowledge economy with knowledge systems. In today’s post, I’m going to talk about what layering brings to enterprise […]
07 Jan What’s in a Decision
A decision by any other name would feel as risky Take any class of software and you can find some structures or processes that you can associate back to some human-like structure or processes. To keep this more simple and relevant, I am focused on looking at systems that are fundamentally designed to replicate more […]