The perfect circle - Giotto's O and how to prove your craftsmanship
Giotto was a Florentine painter, architect and sculpture of immense talent. As the artist who first broke free from the constraints of medieval and byzantine art, he's considered the first genius of the Italian renaissance.
At the start of the 14th century, word of Giotto's mastery reached Pope Benedict XI in Lombardy. The Pope sent a courtier to Florence to see who this Giotto was, with a view to commissioning some paintings for Saint Peter's Basilica in the Vatican. The courtier first travelled to Siena to collect designs from other masters. He then went to Giotto's studio in Florence and asked for a drawing to take back to the Pope. Giotto took a canvas, dipped his brush in red paint, pinned his arm to his side and drew a perfect circle with his hand. He grinned and said "Here's your drawing". The courtier, feeling mocked, asked for another drawing. Giotto replied "This is enough, and more than enough." Although he suspected that he was being taken for a ride, the courtier took Giotto's drawing back to the Pope along with the other masters' drawings. The courtier explained how Giotto had drawn the circle unaided, and the Pope and his advisers realised just how much Giotto surpassed all the other painters of the era. Giotto got the job*.
Giotto's proof of his masterpiece was his free-hand circle. It was a concise way for him to demonstrate his enormous technical skill. Watching him draw the circle, it probably looked easy, but undoubtedly it took years, if not decades, of practice to get that kind of lazy, deft skill.
Much of the business of software is a craft, and I suspect that every craft has its Giotto's O. If you're a software developer, tester, designer, marketeer or other professional in the business, how would you prove your mastery of your craft? Is there an equivalent of Giotto's O?
Post here ...
*This is also the origin of the Tuscan phrase "rounder than Giotto's O". This is not a compliment ("round" means dim-witted in the local dialect).

Subscribe to the RSS feed

"Is there an equivalent of Giotto's O?"
I think it is easier for system administrators and DBAs, than software developers. One can describe a complex setup and, given the resources, implement an elegant solution in a minimum amount of time.
Posted by: adamo | February 19, 2008 at 10:53 PM
The best method for improvement for any professional is likely to be the same route that Giotto took - practice and study. When you speak with people that have taken the time to try to improve themselves it is immediately recognizable. Likewise, when you meet people that talk a good game but have never actually taken time for improvement it is equally recognizable.
I posted my view of this from the software industry view here:
http://www.mcdonaldland.info/2007/10/01/teach-yourself-software-engineering-in-15-minutes/
Posted by: Jason McDonald | February 20, 2008 at 02:10 PM
I would say that my "Giotto's O" would be when I was interviewing for a job and I was asked to, as an introductory task, write a function to sum the numbers in a list.
My reply?
(foldl + 0 somelist)
Posted by: Andy LeClair | February 20, 2008 at 07:42 PM
Giotto's approach required recognition of his genius on the receiving end. That's almost as much of a rarity as drawing a perfect circle by hand. Marketing/communications can't be reduced to something so immediately revealing, although two parties can learn a lot by sharing their philosophies, approaches and goals.
The Giotto story reminds me of a genius in another, much baser realm: Aaron Spelling, master of the sitcom. Supposedly Spelling sold a network on a project by economically describing it as follows: "Three attractive nurses share an apartment in Dallas; it's hot and they don't have air conditioning."
Posted by: Bob Cramblitt | February 20, 2008 at 09:12 PM
There are a few that come to mind. Elegant use of emacs macros is one, neatly interlinked recursive functions is another. Grammatically correct comments are a hint.
Posted by: Matt Doar | February 20, 2008 at 11:30 PM
the foldr answer in scheme
Welcome to MzScheme v3.99.0.9 [3m], Copyright (c) 2004-2008 PLT Scheme Inc.
> (define (foldr f z xs)
(if (null? xs)
z
(f (car xs) (foldr f z (cdr xs)))))
> (foldr + 0 '(1 2 3 4 5))
15
Beautiful Code is a good book in the same vein as this post.
I think that raw mathematics and algorithms (regardless of notation) is where the beauty is.
Maybe quicksort "looks" better in Haskell than it does in C, but the algorithm itself isn't any less beautiful.
It reminds me of a quote from a musician/composer I once heard on the radio, which I'll need to paraphrase since I don't remember who said it or the exact words.. but he was asked whether he preferred the piano or the harpsichord - his answer was that he preferred the harpsichord. Why? He said that music was like wine inside of a glass, and the instrument was the glass itself... he felt that the harpsichord was a clearer glass than a piano.. the harpsichord allows you to see the wine more truly.
I live in Boston and occasionally see Berkeley students reading sheet music on the subway.
Mathematics and algorithms are the wine, and programming languages are the glass.
(of course, you can only stretch that analogy so far, but it's nice to think about)
Posted by: Albin | February 21, 2008 at 02:50 AM
Only Giotto could make that circle. If other painters came after him and presented equivalent circles as proof of their mastery it wouldn't have had the same significance. The story shows that not only did Giotto have the skill to create, he had the experience and insight to know *what* to create in that particular context.
Posted by: Matt | February 21, 2008 at 08:00 AM
It is also a matter of those who interview you. If the Pop and his advisers would not understand the meaning of Giotto's O, they might think it is kind of a some stupid joke to send them such simple painting.
Posted by: Roman | February 22, 2008 at 06:06 AM
Sum the numbers in a tree structure:
(define (sum tree)
(if (number? tree) tree
(apply + (map sum tree))))
Posted by: Mark | February 22, 2008 at 06:21 AM
This reminded me of a YouTube video of the world freehand-circle-drawing champion:
http://www.youtube.com/watch?v=eAhfZUZiwSE&feature=related
Posted by: Jason Crease | February 22, 2008 at 12:09 PM