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.

Skill

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.

Serendip's 1920x1600 wallpapers

Maybe this is a big fat DUH! to everyone else, and it sure is to me in retrospect, but I'm not always able to find a nice diversity of fly wallpapers that suit my Dell Inspiron 8600's resolution of 1920x1600. Tonight I did a Google search because I'm looking for an LCD desktop monitor with that resolution. Lazily, I just Googled "1920x1200" and I was greeted with three really snazzy hits from Google images. One nature shot, one astronomical feature and one neat, abstract graphic. Clicking into Google images revealed a ton of really nice wallpaper options. Some are on the seamy side (I Google with SafeSearch off) but it's all good.

Meanwhile, I understand that 1920x1200 (WUXGA) TFT leads to crazy yield problems, but it is a bit of a drag that WSXGA (1680x1050) LCDs can be had for under $300 whereas the next step up sets you back a minimum of $700. I'll have to figure out how high to ride the exponential price/pixel curve.

[Uche Ogbuji]

via Copia

“Dynamic SVG features for browsers”

“Dynamic SVG features for browsers”

Subtitle: Build on SVG basics to create attractive, dynamic effects in your Web projects
Synopsis: Learn how to use dynamic features of Scalable Vector Graphics (SVG) to provide useful and attractive effects in your Web applications. SVG 1.1, an XML language for describing two-dimensional vector graphics, provides a practical and flexible graphics format in XML. Many SVG features provide for dynamic effects, including features for integration into a Web browser. Build on basic SVG techniques introduced in a previous tutorial.
Lead-in: SVG is a technology positioned for many uses in the Web space. You can use it to present simple graphics (as with JPEG) or complex applications (as with Macromedia Flash). An earlier tutorial from June 2006 introduced the basic features of the format. This tutorial continues to focus on SVG for Web development, as it demonstrates dynamic effects that open up new means of enhancing Web pages. The lessons are built around examples that you can view and experiment with in your favorite browser.
Developed by the W3C, SVG has the remarkable ambition of providing a practical and flexible graphics format in XML, despite the notorious verbosity of XML. It can be developed, processed, and deployed in many different environments -- from mobile systems such as phones and PDAs to print environments. SVG's feature set includes nested transformations, clipping paths, alpha masks, raster filter effects, template objects, and, of course, extensibility. SVG also supports animation, zooming and panning views, a wide variety of graphic primitives, grouping, scripting, hyperlinks, structured metadata, CSS, a specialized DOM superset, and easy embedding in other XML documents. Many of these features allow for dynamic effects in images. Overall, SVG is one of the most widely and warmly embraced XML applications.
Dynamic SVG is a hot topic, and several tutorials and articles are available that include fairly complicated examples of dynamic SVG techniques. This tutorial is different because it focuses on a breadth of very simple examples. You will be able to put together the many techniques you learn in this tutorial to create effects of whatever sophistication you like, but each example in this tutorial is simple, clear, and reasonably self-contained. The tutorial rarely deals with any SVG objects more complex than the circle shape, and it keeps embellishments in scripting and XML to a minimum. The combination of simple, step-by-step development and a focus on real-world browser environment makes this tutorial unique.

Pay attention to that last paragraph. There are many SVG script/animation tutorials out there, including several by IBM developerWorks, but I found most of them don't really suit my learning style, and i set out to write a tutorial that would have been ideal for me when I was first learning dynamic SVG techniques. The tutorial covers CSS animation, other scripting techniques and SMIL declarative animations. It builds on the earlier tutorial “Create vector graphics in the browser with SVG”.

See also:

[Uche Ogbuji]

via Copia

“Get free stuff for Web design”

"Get free stuff for Web design"

Subtitle: Spice up your Web site with a variety of free resources from fellow designers
Synopsis: Web developers can find many free resources, although some are freer than others. If you design a Web site or Web application, whether static or with all the dynamic Ajax goodness you can conjure up, you might find resources to lighten your load and spice up your content. From free icons to Web layouts and templates to on-line Web page tools, this article demonstrates that a Web architect can also get help these days at little or no cost.

This was a particularly fun article to write. I'm no Web designer (as you can tell by looking at any of my Web sites), but as an architect specializing in Web-fronted systems I often have to throw a Web template together, and I've slowly put together a set of handy resources for free Web raw materials. I discuss most of those in this article. On Copia Chimezie recently mentioned OpenClipart.org, which I've been using for a while, and is mentioned in the article. I was surprised it was news to as savvy a reader as Sam Ruby. That makes me think many other references in the article will be useful.

[Uche Ogbuji]

via Copia

"Create vector graphics in the browser with SVG"

"Create vector graphics in the browser with SVG"

Subtitle: Add two-dimensional vector graphics to your Web pages with the flexible, XML graphics format of Scalable Vector Graphics (SVG) 1.1.
Synopsis: Learn step-by-step how to incorporate Scalable Vector Graphics (SVG) into Web pages using real browser examples. SVG 1.1, an XML language for describing two-dimensional vector graphics, provides a practical and flexible graphics format in XML, despite the language's verbosity. Several browsers recently completed or announced built-in SVG support.

I was early to SVG, exploring it in this 2001 article, but in recent years I haven't had as much time as I'd have liked to work with this fun technology. I was able to put it to use in projects last year, and I think it's good timing, considering recent inroads SVG has been making in browser and mobile spaces. I've been lucky to have much fewer problems than Eric has. Most of what I've tried just works, and does so in Firefox, Opera 9 and MSIE/Adobe SVG Viewer.

[Uche Ogbuji]

via Copia