Category “ai”

45 posts

Turing Test and Loebner Prize Competition

A couple of weeks ago, the 2006 Loebner Prize competition was held. Back when I was at Harvard in the early 1990s,  the annual Loebner Prize Competition was created as the first real-life version of the "Turing Test," described in Turing's article "Computing Machinery and Intelligence" to answer the question "Can Computers
Read more » Oct 1, 2006, 9:14PM


Last April, I wrote about a profound design change I was making into my document-based applications, which was to make all my document data structures immutable--standard practice in some functional programming languages. My original motivation was to make each of my model objects an expression that I could work with
Read more » Sep 7, 2006, 4:12PM

Software Design Philosophy

 A year ago, I wrote that I would soon describe my software design philosophy in developing commercial desktop applications. I never actually did write directly on my philosophy. I still had unresolved design issues, which I have since resolved through making document and view objects immutable. I also felt that it
Read more » Sep 7, 2006, 12:25PM

Direct UI

Direct UI is the notion of treating a document window as more than just a WYSIWYG display. This includes treating the window as a control surface, inserting various markup, treating document elements as controls, and applying transforms/animations that allow the elements to momentarily transcend their document layout. It’s about making the document come
Read more » Jun 21, 2006, 2:52AM

Software Built to Replace a Human

I just noticed this blog post on “software built to replace a human” referred to by someone in Joel’s forms. That’s the whole raison d’etre for my software company, SoftPerson — hence the name. Currently at work I'm writing some EDI (electronic data interchange) software that I know for a fact
Read more » May 26, 2006, 8:42AM

Functional Programming

In my quest to incorporate more declarative programming techniques (especially, from functional and logical programming) in my applications and eliminate all the cruft left behind from traditional imperative programming, I found a number of items on the web. There are some in the blogosphere that are newly converted to functional programming. Larry
Read more » May 13, 2006, 2:39AM


I can’t spend too much time on a problem, or I become bored and unproductive. Sometimes, I alleviate this tendency by frequently switching from development to testing mode. Periodically, I switch temporarily to some other long-term project of mine. I don’t engage in non-software recreational activities, since I am not
Read more » May 11, 2006, 6:23PM

A Modest Design Change

I have recently had a lot of success programming in a certain nontraditional style at a small scale. Programming in this style has numerous advantages, such as better support for multithreading, less bookkeeping, simpler code.  This programming style, though, is completely impractical at a global level. Or is it? Functional programming languages
Read more » Apr 29, 2006, 2:47PM

Use Patterns

The next version of C++0x introduces a new feature called “concepts” to improve template metaprogramming. Concepts are based on “use patterns,” a powerful yet simple technique for compilers writers to enhance a programming language easily without adding new syntax. concept Mutable_fw<typename Iter, typename T> { Var<Iter> p; // a variable of
Read more » Feb 26, 2006, 6:34AM

AI Hubris

Chris McKinstry, a researcher in artificial intelligence, recently committed suicide, after posting suicide notes in his personal blog and a discussion board on Joel on Software. (Ryan Park has more details.) Joel’s discussion board, which I read regularly, provides very useful information for software development and marketing. The suicide notes Chris left were in
Read more » Jan 27, 2006, 4:22PM

The Concept of Concepts

I once read that Windows Vista would introduced several new system-wide concepts such as “contacts” to better support personal communication. I immediately wondered why Vista didn’t introduce the concept of a concept, so we don’t have to wait years for a new release of Windows to offer another new set
Read more » Jan 9, 2006, 11:21AM

Intelligence vs Intellisense

My main gripe with Microsoft is that the company doesn’t know how to write “smart” software. (Much of the industry doesn’t either, but, since Microsoft is the leader…) The current tendency among software developers is to determine the minimum work needed that can be done to help users. This is
Read more » Jan 8, 2006, 5:14AM
AI , NStatic

Thinking in Ifs

Joel recently made this comment on Google versus Microsoft:A very senior Microsoft developer who moved to Google told me that Google works and thinks at a higher level of abstraction than Microsoft. "Google uses Bayesian filtering the way Microsoft uses the if statement," he said. That's true. Google also uses
Read more » Nov 5, 2005, 12:02PM

3D Framework

Chris Anderson points to the beginnings of a 3D application framework in Avalon. This is the sort of work that will make 3D effects pervasive on mainstream applications. I use the free ray-tracer, POVRAY, to create three-dimensional images. Its scene description language is pretty high-level with a large number of object primitives and
Read more » Oct 31, 2005, 9:44PM

That's Impossible

I developed my software idea and worked on my business plan for over a year during my MBA program. As I was explaining my ideas, I had a number of students who expressed doubts based on “common sense” heuristics about my ability to produce the technology my business is based
Read more » Oct 31, 2005, 12:39AM
AI , Entrepreneurship





SoftPerson develops innovative new desktop software applications by incorporating artificial intelligence and natural language technologies to bring human-like intelligence to everyday applications.

Social Media