Ajibot is an intelligent personal assistant using advanced natural language understanding technology.

We are currently in private beta. Learn more.

Image-Based Programming

What if every morning you woke up with total amnesia, and had to re-learn everything from scratch every day? That's actually how most computer software works. Learn about image-based programming, Smalltalk, and how Ajibot uses these concepts.


Engineering Verb Tenses

Computers require a more rigorous and comprehensive model of verb tenses. This post reviews traditional verb conjugations and then proposes a data structure and high level algorithm.


Logician Spotlight: Gottlob Frege

This month's logician is Gottlob Frege, father of analytical philosophy. Let's review his contributions to logic, philosophy, and language, and how they relate to modern natural language processing.


Open vs Closed World Assumptions

It can be overwhelming to think about all of the assumptions that we make in day to day life. Many assumptions fall into "open world" and "closed world". In short, what do we do in the absence of information?


English Ambiguity and Verb Valency

What is "verb valency" and how can it help resolve ambiguous English sentences?


English and Postel's Law

What does the English language have in common with the spec for TCP? Postel's law applies to both.


Deduction vs Induction vs Abduction

An engineer, a physicist, and a mathematician were on a train heading north, and had just crossed the border into Scotland. What can we learn about deductive, inductive, and abductive reasoning?


What if everything was a graph?

Programming languages are often based on a single theme applied to an extreme. This post looks at past themes from other languages, and the central theme of Ajibot.


Graphs, Hypergraphs, and Multigraphs

As with most knowledge representation systems, Ajibot uses a graph data structure as the underlying storage system. This post compares and contrasts graphs, hypergraphs, multigraphs, and more.


Are We There Yet?

In the 2009 JVM Languages Summit keynote, Rich Hickey questioned basic principles of modern computing such as state, identity, value, and time. We examine how Ajibot answers those questions.


English as a Programming Language

As an introduction to Ajibot, we examine the potential of English as a programming language.