The Abacus

Huge Abacus at Guohua Abacus Museum

Counting is one of the most powerful human capabilities. In ancient times, common objects such as pebbles were used as abstract symbols to represent possessions to be tallied and traded. Simple arithmetic soon followed, greatly augmenting the ability of merchants and planners to manipulate large inventories and operations. Manipulating pebbles on lined or grooved ‘counting tables’ was improved upon by a more robust and easy to use device – the abacus. The name ‘abacus’ comes from Latin which in turn used the Greek word for ‘table’ or ‘tablet’. The abacus also had the advantage of being portable and usable cradled in one arm, a harbinger of the pocket calculator.

Variants included Roman, Chinese, Japanese, Russian, etc. Most commonly, they worked in base 10 with upper beads representing fives and lower beads representing ones. Vertical rods represented powers of 10, increasing right to left. Manual operation proceeded from left to right, with knowing the complement of a number being the only tricky part (eg. the complement of 7 is 10-7=3). The basic four operations + – x ÷ were fairly easy to learn, mechanical procedures. One did not have to be formally educated to learn to use an abacus, as opposed to pencil and paper systems. This was computation for the masses.

The abacus is comprised of beads and rods, grouped together into several ‘stacks’. The stack is the central object in concatenative programming languages, such as Forth. These are very well-suited for teaching and learning computational thinking.

The abacus was one of the most successful inventions in history. In fact, it’s still in use today, mostly in small Asian shops. It is a universal and aesthetic symbol of our ancient love of counting.

The picoXpert Story

picoXpert was one of the first (if not THE first) handheld artificial intelligence (AI) tools ever. It provided for the capture of human expert knowledge and later access to that knowledge by general users. It was a simplistic, yet portable implementation of an Expert System Shell. Here is the brief story of how it came to be.

When I was about 10, my grandfather (an accomplished machinist in his day) gave me his slide rule. It was a professional grade, handheld device that quickly performed basic calculations using several etched numeric scales with a central slider. I was immediately captivated by its near-magical power.

In high school, I received an early 4-function pocket calculator as a gift. Such devices were often called ‘electronic slide rules’. It was heavy, slow, and sucked battery power voraciously. I spent many long hours mesmerized by its operation. I scraped my pennies together to try to keep up with ever newer and more capable calculators, finally obtaining an early programmable model in 1976. Handheld machines that ‘think’ were now my obsession.

 I read and watched many science fiction stories, and the ones that most fired my imagination were those that involved some sort of portable computation device.

By 1980, I was building and programming personal computers. These were assembled on an open board, using either soldering or wire wrap to surround an 8-bit microprocessor with support components. I always sought those chips with orthogonality in memory and register architecture. They offered the most promise for the unfettered fields on which contemporary AI languages roamed. I liked the COSMAC 1802 for this reason. It had 5,000 transistors; modern processors have several billion. The biggest, baddest, orthogonal processor was the 16- or 32-bit Motorola 68000, but it was too new and expensive, so I used its little brother, the 6809, which was an 8-bit chip that looked similar to a 68000 to the programmer.

I spent much of the 1980s canoeing in Muskoka and Northern Ontario, with a Tandy Model 100 notebook, a primitive solar charger, and paperback editions of Asimov’s “Foundation” trilogy onboard (I read them five times). Foundations.

By the mid 1990s, Jeff Hawkins had created the Palmtm handheld computer. The processor he chose was a tiny, cheap version of the 68000 called the ‘DragonBall’. I don’t know which I found more compelling – this little wonder or the fact that it was designed by a neuroscientist. I finally had in my hand a device with the speed, memory, and portability to fulfill my AI dreams.

The 1990s saw the death of Isaac Asimov (one of my greatest heroes), but also saw me finally gaining enough software skills to implement a few Palm designs. These were mainly created in Forth and Prolog. The Mars Pathfinder lander in 1997 was based on the same 80C85 microprocessor found in the Tandy Model 100 that I had used over a decade earlier. This fact warmed my heart.

In 2001, I formed Picodoc Corporation, and released picoXpert.


Here are: the original brochure, an Expert Systems Primer, and a few slides.

It met with initial enthusiasm by a few, such as this review:

Handheld Computing Mobility
Jan/Feb 2003 p. 51
picoXpert Problem-solving in the palm of your hand
by David Haskin

However, the time for handheld AI had not yet come. After a couple of years of trying to penetrate the market, I moved on to other endeavours. These included more advanced AI such as Neural Networks and Agent-Based Models. In 2011, I wrote Future Psychohistory to explore Asimov’s greatest idea in the context of modern computation.

Picodoc Corporation still exists, although it has been dormant for many years. It’s encouraging to see the current explosion of interest in AI, especially the burgeoning Canadian AI scene. For those like me, who have been working away in near anonymity for decades, it’s a time of great excitement and hope. Today, I’m mainly into computational citizen science, and advanced technologies, such as blockchain, that might be applied to it.

Learning does not mirror Teaching

An implicit assumption in most educational infrastructure is that teaching and learning are closely similar processes, perhaps even mirror images of each other. In the abstract at least, there is a transfer of knowledge from teacher to learner. It’s even possible that once a learner has assimilated enough taught knowledge, they could ‘switch polarity’ and become a teacher. No, this is not another well crafted advocacy for sweeping reform in the educational system. I am neither qualified nor motivated to deliver such a thing. I just want to say a few words in the context of some aspects of computational thinking. There are several ways to categorize programming languages: procedural, declarative, functional, concatenative, syntonic, object oriented, data oriented, etc. My point is merely this: teaching is declarative, learning is syntonic.

The ability to acquire and the ability to impart are wholly different talents. The former may exist in the most liberal manner without the latter.
– Horace Mann

When we start out, we immediately inherit a vast and exponentially expanding body of human knowledge. This is our birthright, it does not belong to gate keepers or authorities who mete out crumbs as they see fit. Academia has the task of adding to and curating this knowledge – it doesn’t own it.

The unifying term ‘education’ implies a deep connection, a yin-yang, almost mathematical sort of symmetry between teaching and learning. This symmetry is a perception that is eagerly supported by academia, it’s an intuitive and widely held view, a ‘central dogma’. There is little evidence for it, however. It should be remembered that mathematics is only shorthand for the complexity of nature. Nature is a realm of computation and evolution, and mathematics is one of the tools that enables a vastly simplified model of reality to be held in a three-pound hominid brain. It is often said that mathematical concepts such as π and the Fibonacci Sequence are seen everywhere in nature. That’s true, but they’re seen by who? Snails and daisies, or humans? The fact that we see a pattern does not necessarily mean that a ‘Deep Truth’ has been discovered. Anthropomorphizing nature is a mistake. Furthermore, it is difficult to see even a logical similarity between Plato in the olive groves of Athens and the result of many millions of years of evolution by variation and natural selection.

There is one aspect of teaching though, that is highly influential on learning. That is in a teacher’s capacity to inspire.

If you want to build a ship, don’t drum up people to collect wood and don’t assign them tasks and work, but rather teach them to long for the endless immensity of the sea.
– Antoine de Saint-Exupéry

Human knowledge may be a birthright, but the storage and delivery systems for that knowledge are subject to the laws of socio-economics just like every other industry. Papyrus, the printing press, telegraphy, telephony, electronic media, and ultimately the Internet has been the path of technology.

While not able to exactly lay out a guaranteed path, a teacher can describe the landscape, list known boundary conditions, and illustrate and clarify goals and heuristics. Teaching is therefore, a formal, objective, descriptive task. In programming parlance, it is ‘declarative’.

Learning stuff is a very different topic from teaching. We have basically the same neurology as people did way back when banging rocks together was high technology. We evolved to find food, avoid predators, and reproduce. Of course, when intelligence arrived on the scene, things became ‘non-linear’. When social behaviour and language arrived, Alice tumbled down the rabbit hole.

The smartphone is a testament to language, science, and technology, but not increased individual intelligence. In 1965, a good pocket radio had a handful of transistors. Today’s smartphone has over a billion. People haven’t gotten a hundred million times smarter in the last 50 years (at least I know that I haven’t). Buckminster Fuller’s “Knowledge Doubling Curve” goes from 100 years around 1900, to 25 years around 1950, to 1 year today, to months/weeks/days/hours? soon. Accurate predictions are difficult because human activity is now blending with machine learning, and it’s a whole new ball game. If the central dogma that teaching and learning are symmetrical ever was true, it is becoming less true with each passing year.

So how do human learners continue to even be relevant? Well, the good news is that the same evolved learning capacity we’ve always had is applicable to any level of abstraction. In fact, perhaps a serious exploration of exactly what ‘level of abstraction’ means would be a good thing for young minds. An associated idea is that ‘things’ are not of primary importance, but rather that the connections between things are. Metaphors are examples of such connections. If we can conceptualize atoms and galaxies in terms of table-top models, we have a shot at comprehension. Also, people can learn on their own using reasoning, common sense (bootstrapping), reverse engineering, and intelligent trial and error.

The key element to learning is experience. It makes little difference how logical or well laid out an argument is if the learner has no connection to it. That’s what is meant by ‘syntonic learning’:

Educators sometimes hold up an ideal of knowledge as having the kind of coherence defined by formal logic. But these ideals bear little resemblance to the way in which most people experience themselves. The subjective experience of knowledge is more similar to the chaos and controversy of competing agents than to the certitude and orderliness of p’s implying q’s. The discrepancy between our experience of ourselves and our idealizations of knowledge has an effect: It intimidates us, it lessens the sense of our own competence, and it leads us into counterproductive strategies for learning and thinking.
– Seymour Papert


A body of knowledge is much more compelling if it can be explored subjectively, at the learner’s own speed and depth, because memorability is a big part of learning:

When you make the finding yourself – even if you’re the last person on Earth to see the light – you’ll never forget it.
– Carl Sagan

Teaching does not and cannot encompass learning:

What we become depends on what we read after all of the professors have finished with us. The greatest university of all is a collection of books.
– Thomas Carlyle

Learning is not containable in bricks and mortar or bureaucracy. It is very simply, what every human does whenever free to do so. ‘Education’ is really just another word for ‘learning’:

Self-education is, I firmly believe, the only kind of education there is.
– Isaac Asimov

It may be tempting to assert that Socratic dialectic is a suitable substitute for syntonicity. However, the former, while undeniably powerful and valuable, still involves knowledge transfer between human minds. This, by necessity, requires formalism, symbolism, and formulae. Syntonicity, on the other hand, requires nothing but a human mind exploring reality, with the aid of machine computation (algorithms) if necessary. Learning is therefore, an informal, subjective, experiential task. In programming parlance, it is ‘syntonic’.

Institutional Citizen Science

Personnel motivation and esprit de corps have always been important in any organization. Citizenship and Corporate Social Responsibility (CSR) have sometimes become as important to the brand as the trade name or logo. For many reasons, it is wise to consider institutional citizen science.

Traditionally, participation in citizen science projects has been done at the individual level. That is, observations (e.g. ecosystem projects), identifications (e.g. galaxy classification), and computational contributions (e.g. protein folding simulation) have been made by individuals. People sometimes join teams of like-minded or geographically grouped participants, and their efforts are often reported or tallied as a team. However, there has been very little organizational-level participation. There are many potential benefits of institutional citizen science, and in particular the computational variety.

Employee engagement can be improved. IT staff can provide leadership in setting up the required infrastructure, even with minimal initial effort. They can provide ongoing maintenance, expansion, and IT efficiency improvements. They can learn a lot along the way. Communications staff can prepare and disseminate any required internal information, and again, learn a lot along the way. Seeing the daily progress of the organization’s participation can engage everyone. A well run project can advance the cause of a more inspired, invigorated, enthusiastic, energized, and empowered staff with more of a sense of ownership for their organization. Progress in citizen science projects could be shown in a dedicated section of the organization’s intranet. Perhaps even a big screen could be located in common areas such as the lobby or cafeteria to show live content (e.g. simulations, animations, numerical results) and promote a sense of community. Management can simultaneously learn a lot about concepts such as computing as talent, cognitive computing, ‘gamification’, and integrating technology.

Institutional culture can benefit. Loyalty and pride in the institution are valuable assets. Leadership in ‘doing good’ is a strong motivator and has been a cornerstone of CSR for decades. There are opportunities for recognition and appreciation of both individual and team efforts. Both individuals and groups can suggest which projects to participate in from the large and growing menu available. Citizen science projects offer opportunities for people to think outside the box, to step out of their comfort zone, to consider more diverse possibilities, to form new part