ITworld.com
  Search  
ITworld Home Page ITworld Webcasts ITworld White Papers ITworld Newsletters ITworld News ITworld Topics Careers ITworld Voices ITwhirled Changing the way you view IT
 

Master Foo and the naming ceremony

ITworld.com 1/22/2007

Sean McGrath, ITworld.com

It was that time of year again on Pentimenti Mountain. The time of the annual naming ceremony. One disciple lucky enough to have an audience with Master Foo on naming ceremony day receives an extra honor from him. A name. A very special name. A venerable name that the disciple can forevermore use to identify themselves.

Today's batch of software engineering disciples had carried heavy payloads of anticipation up the mountain. Some galvanized their exertions my dreaming of Samurai inspired names such as Oda Kouzukenosuke Owarinokami Nobunaga. Others dreamed of European inspired names such as Blaise Babbage The Elder. Still others ventured further afield with dreams of names like Ustad Hexwielder The Unbound or the swashbuckling Bus Grant - Ostiary of the Noosphere.

'Master Foo', the spokesperson for the disciples said, 'we are honored by your presence today. We have each brought top-of-the-range PDA gadgetry from Fry's and Best Buy with which we propose to individually record any mellifluous nomenclature that you might, at your sagacious discretion, elect to bestow upon one of us this day.'

'You will have no need of your PDA', Master Foo announced.

The shoulders of the shocked disciples slumped in unison. Disappointment rose up from the wet earth like the smell of freshly made cow pats. All eyes widened and vectored towards the spokesperson, pleas for explanation emanating from them. The eyes burned into the back of the spokesperson's head like so many laser beams.

'Master Foo', the spokesperson stuttered. 'We are...surprised. We were so much looking forward to a name.'

'I will allocate a name today.'

The mood of the disciples brightened immediately.

'But, we cannot use our PDAs to record it? I confess confusion Master Foo.', the spokesperson said, unconsciously scratching his goatee with the pen of his PDA.

'Can you remember a 7 digit number?', asked Master Foo.

'Of course! We are programmers. Numbers are a way of life for all of us.'

'Good', said Master Foo. 'Henceforth', he pointed at the spokesperson, 'you will be known as 4502135.'

The spokesperson took a moment to gather every ounce of composure he could from the overlapping waves of disappointment that clouded his thinking. '..Tt...t...thank you. May I ask why you have chosen a number rather than a name Master Foo?'.

'Tell me. What is the difference between a numbering and naming an object?', Master Foo asked.

Sensing a possibly important nugget of wisdom from the great man, the less socially adept disciples cocked their PDAs into handwriting recognition mode.

'Well, a name is descriptive.', said the spokesperson. 'Numbers are just opaque identifiers; devoid of meaning; bereft of semantics; empty vessels of nominalism.'

'Indeed so - and quite poetically put.', said Master Foo. 'Truly useful objects have descriptions that change depending on the perceiver.'

'How can perceiving an object change its description?'

'Viewing an object from different contexts, different time-lines, different cultures, different points of view, result in different natural descriptions of the object.'

'Yes', said the spokesperson, getting into the swing of things. 'One person's book is another person's chapter. One person's integer is is another person's social security number. One person's debit is another person's credit. An object can have as many names as there are points of view I guess. And come to think of it, any description you might pick today can be out of date tomorrow...'

'Indeed!', said Master Foo. The frequency of his beard-stroking increasing perceptibly. 'To give something a descriptive name is to create a semantic hostage to fortune. If you are lucky the descriptive name may be simply irrelevant in the future. If you are unlucky, the descriptive name will be positively misleading in the future.'

'Ah! I see what you mean now. Misleading in the sense that, say 'hard disk storage' can be misleading or 'supplier database' can be misleading.'

'I see the disk storage example', said Master Foo 'but you will need to explain 'suppliers database' to me.'

'It is a bit embarrassing really.', began the spokesperson. 'It is just that in the place where I work, we have a supplier database table but we keep employee information in there too because it is convenient for certain internal processing.'

'Good example!', said Master Foo. 'It started out as a supplier database but through time, grew extra functions and reached a point where the original descriptive name became misleading. This pattern is as old as the universe and as pervasive as the hydrogen atoms within in it. You are not alone Disciple 4502135.'

A flash of realization swept across the spokesperson's face. 'I will always be 4502135!'

'Yes', said Master Foo.

'No matter how I change or what contextual lense I am viewed from, the name 4502135 will never be misleading.'

'Yes, with some caveats', said Master Foo, 'but go on, complete your thought.'

'That is why you are giving me a number rather than a descriptive name. It is the only way to ensure that they will never be misleading.'

'Quite so -- with some caveats.'

'You mentioned caveats again?'

'Over the valley on Dimenuendo Mountain sits Master 7673453, tending to his own small band of disciples.'

'I have not heard of him.'

The disciples were lost in thought about the possible significance of this mysterious Master 7673453.

'Perhaps he too has a student known as 4502135?', asked one of the disciples, pointing at the spokesperson.

'Perhaps he does.'

'So numbers are not necessarily context free themselves?', asked the spokesperson.

'Some would say they never are.'

'So we might as well just stick with descriptive names because even numbers can be misleading eventually?'. The eyebrows of the disciples furrowed in unison like the beating wings of an echelon of geese.

'That is one school of thought.'

'Which school do you espouse Master Foo?'

'I am known as Master Foo, as Bob, as crazy mountain man. I have many names but I consider my real name to be 314159 because that is my number in my contacts database. I store all my aliases in the contacts database too. My contacts database itself doesn't have a number however. Your number in my contacts database, by the way, is 4502135.'

'Ah I get it', said the spokesperson. 'The infinite regress of opaque identifiers must be stopped somewhere. Ultimately, a context for the numbers must be established. You have established yours in the contacts database. All the numbers make sense if you know that the root of the numbering scheme is Master Foo's contacts database. If you don't, the numbers are...just numbers and could mean anything.'

'Yes', said Master Foo. 'There are many Master Foo's of course so you need to be careful about picking out the contacts database to use as your root.'

He thought some more and then continued. 'Master 7673453, on the other hand, uses numbers for everything. If he has a contacts database it is probably called 345324512341231234343 or some such!'

'Yes, I don't know the exact number but yes.'

'But which way is correct Master Foo?'

'Intellectually, his approach is probably best if you can create a root of all roots for your identifiers.'

'But few people are drawn to this approach as evidenced by the fact that he has significantly less disciples than you Master Foo.'

'This is true.'

'Therefore, mixing numbers and descriptive names is probably the better approach, all things considered.'

'Performed wisely, I think so, yes.'

'Thank you for the gift of an opaque number Master Foo. When I am back at work I will add an aliases table to my master data dictionary. I think my supplier's database should be given a unique corporate number and be known colloquially as the 'supplier database' via an alias. This aliases table will allow me to stop the spread of confusing and misleading names. If the usage patterns of what is today known as the supplier database change again tomorrow, I can add a new alias.'

'Good idea', said Master Foo as he headed back to his cave. 'It is not a perfect solution but unlike Master 7673453, I doubt a perfect solution exists. While you are at it, make the unique corporate number a URI so that you can point a web browser at it and see all the aliases. You will not regret it.'

The disciples, each carrying a potent mix of confusion, disappointment and enlightenment, made their way down the mountain, the screens of their PDAs, flashing in the fading light.

Sean McGrath is CTO of Propylon. He is an internationally acknowledged authority on XML and related standards. He served as an invited expert to the W3C's Expert Group that defined XML in 1998. He is the author of three books on markup languages published by Prentice Hall. Visit his site at: http://seanmcgrath.blogspot.com.

Read more of Sean McGrath's ITworld.com columns here.





 
www.itworld.com    open.itworld.com     security.itworld.com     smallbusiness.itworld.com
storage.itworld.com     utilitycomputing.itworld.com     wireless.itworld.com

 
Contact Us   About Us   Privacy Policy    Terms of Service   Reprints  

CIO   Computerworld   CSO   GamePro   Games.net   Industry Standard   Infoworld   ITworld  
JavaWorld   LinuxWorld  MacUser   Macworld   Network World   PC World   Playlist  

DEMO   IDG Connect   IDG Knowledge Hub   IDG TechNetwork   IDG World Expo  

Copyright © Computerworld, Inc. All rights reserved

Reproduction in whole or in part in any form or medium without express written permission of Computerworld Inc. is prohibited. Computerworld and Computerworld.com and the respective logos are trademarks of International Data Group Inc.