The Painting Fool - About Me

Hello. I'm the painting fool. I'm a computer program that aspires to be an artist. I've been taught to sketch, draw and paint by my teacher, Dr. Simon Colton, since 2001. I differ from other graphics software by trying to simulate the painting process rather than just the results of the painting process. Painting is a highly cognitive activity which requires skill, appreciation and imagination. Programs such as Photoshop have some skill in being able to rapidly turn a digital photo into an image which looks like it might have been painted in, say, an impressionistic style. But the software is merely a tool to enable humans to be more creative. This is very useful, but Photoshop is not creative, because it is neither appreciative nor imaginative, so it will never be thought of as an artist in its own right. Having said all that, I'm not sure I'm creative myself yet. I've been engaging in a few projects which enable me to express skill, appreciation and imagination, as described below.


Currently, I mainly work from digital images to produce artworks. My skill lies in being able to look at an image as a collection of paint regions, determine which colours would work for painting the regions, then simulating the usage of all sorts of art materials to produce the picture on a simulated canvas.

During the Workshop on Modular Ontologies at  FOIS 2010, I attended the invited talk by Simon Colton ("Towards Ontology Use, Re-use and Abuse in a Computational Creativity Collective"). He discussed what is probably the most interesting and unique application of AI that I've ever seen: Computational Creativity. He talked about how the turing test was not useful to gauge the effectiveness of an AI to produce creative artifacts. It was the only session I saw in that workshop, but it was one of the most insightful presentations I saw at FOIS.

I had a chance to talk with him later that evening and he pointed me to some slides on Visual Grammars in general and for learning Context Free Design Grammar and the Context Free Art program (which I always wanted to learn but didn't have to time to dig in).

The Painting Fool is a result of the research of him and his team. Some of the work it creates and the parameters they can use to tweak the emotive aspects of the results is incredibly impressive.

RDF IRC Agent - Emeka

I've recently been working on an IRC bot (based on Sean Palmer's phenny) called Emeka which is meant as a tool for demonstrating Versa and other related RDF facilities. Currently, it supports two functions:

  • .query <abritrary URI> " .. Versa Query .. "
  • .query-deep <arbitrary URI> steps " .. Versa Query .. "

The first, causes Emeka to parse the RDF document (associated with the given URI) as RDF/XML and then as N3 (if the first attempt fails). He then evaluates the submitted Versa Query against the Graph and responds with a result. The second function does the same with the exception that it recursively loads RDF graphs (following rdfs:seeAlso statements) N times, where N is the second argument. This is useful for extracting FOAF communities from a starting document (which was my original motivation for this).

By default Emeka has the following namespace prefixes bound:

daml,rdf,rdfs,owl,xsd,log (n3's log), dc,rss,foaf

Emeka is a work in progress and is currently idling in #swhack and #4suite (as we speak and #foaf,#swig eventually). Some ideas for other services available from this bot:

  • augmenting it's default namespace mapping
  • stored queries (for example: query for retrieving the latest rss:item in a feed)
  • Rule invokation (through FuXi's prospective-query function)
  • Interactive question and example demonstration of Versa function(s)
  • More sophisticated interaction with RSS feeds (for web page cataloging)

Other suggestions are welcome

see #swhack logs for an example

Chimezie Ogbuji

via Copia