Any other barbershoppers going to Lotusphere?
Category domino
There are 30,000 of us in the U.S. alone, so I gotta believe that I won't be the only barbershopper at Lotusphere. The reason I bring this up is that, while browsing the Jamfest wiki, I got the crazy idea that we could throw together a pickup quartet and wow our fellow geeks by ringing a few chords. If nothing else, there are bound to be a few physics nuts in the audience, and as Jim Richards can attest, there's nothing quite so fascinating to a physicist as discovering vocal overtones. If you're interested, email me or update the wiki page. I generally sing either bass or tenor (I know, complete opposites, but variety is the spice of life and such), but am open to singing bari if we can't find a real one. As we all know, basses and leads are a dime a dozen - not that we don't love them dearly, of course.
On a side note, I've been discussing with Julian the possibility of a DXL episode of Taking Notes. For those of you who haven't been listening to these, you need to. Julian and Bruce came up with the brilliant idea of presenting topics near and dear to the hearts of Domino developers in the form of a podcast. So those of us pressed for time (and who isn't) can now be brought up to speed on these topics while commuting... these aren't being released daily, so there's still plenty of opportunity to sing along to Audioslave in the privacy of one's own car on other days. But they've already posted eight "episodes", and I'm told there are several more already in the works. I suggested DXL as a topic because this still strikes me as a largely underutilized tool, and perhaps a discussion of some of what's already being done with it - as well as potential (even hypothetical) uses - might spark further innovation in this area.
One example of a hypothetical use which might seem far-fetched at first glance is artificial intelligence. Part of what makes DXL so powerful is that, in combination with the NotesNoteCollection class introduced in 6.0, design elements can now be exported to - and imported from - XML. One implication of this is that code can now be written to analyze, modify, and create code without even tapping into an API. Some have already used this capability to automate UI changes: for example, I saw somewhere (might've been SearchDomino... can't recall offhand) a code snippet that updated the color scheme of a database by overwriting the existing properties of every action bar within it. But I submit that this same technique could be used to create at least a primitive form of A.I., if not a downright sophisticated one.
Consider for a moment that DXL can be written to a NotesStream, which incidentally is one of the available inputs for a NotesDXLImporter. Ergo, an agent can dynamically generate the code of a new agent. Or form. Or view. Or any other design element. And then import it into any database. So can an action button. Or a database PostOpen event. Or, for that matter, anything else that can run LotusScript code. Or Java. In other words, given rules for knowing what code to write, a Domino database can update itself and other databases, even generating design elements that have no purpose other than to create others. I know this is starting to sound a little bit SkyNet, but I'm not suggesting that self-awareness is anywhere on the horizon. What I am suggesting is that there's a possibility of creating a framework that "knows" what we want to accomplish and does some of the heavy lifting for us. Perhaps it's as simple as having a design element creation wizard, sort of a "deli menu" approach to creating new forms and views: you answer a few questions about the new element and it's created for you with most of the coding already in place, so all you have to do is add in a few subtleties that it can't yet account for. Or maybe it's more complex: say, a hierarchy of agents - sort of a military command structure - that can create new recruits as it needs them, promote those who prove best at what they do, who in turn "train" the others. My difficulty is that I don't have an immediate need for the latter, or time to fully develop this theory, so it's tough to picture how all of this would actually work. But I can't shake the feeling that this could be fairly powerful. That's why I created an OpenNTF project (which I'm calling Homunculus... if you're not already familiar with this term, check out Wikipedia's entry): to explore this possibility, eke out some proofs of concept, find some actual practical use for this type of functionality, and - most importantly - collaborate with others who are interested in unleashing it.
There are 30,000 of us in the U.S. alone, so I gotta believe that I won't be the only barbershopper at Lotusphere. The reason I bring this up is that, while browsing the Jamfest wiki, I got the crazy idea that we could throw together a pickup quartet and wow our fellow geeks by ringing a few chords. If nothing else, there are bound to be a few physics nuts in the audience, and as Jim Richards can attest, there's nothing quite so fascinating to a physicist as discovering vocal overtones. If you're interested, email me or update the wiki page. I generally sing either bass or tenor (I know, complete opposites, but variety is the spice of life and such), but am open to singing bari if we can't find a real one. As we all know, basses and leads are a dime a dozen - not that we don't love them dearly, of course.
On a side note, I've been discussing with Julian the possibility of a DXL episode of Taking Notes. For those of you who haven't been listening to these, you need to. Julian and Bruce came up with the brilliant idea of presenting topics near and dear to the hearts of Domino developers in the form of a podcast. So those of us pressed for time (and who isn't) can now be brought up to speed on these topics while commuting... these aren't being released daily, so there's still plenty of opportunity to sing along to Audioslave in the privacy of one's own car on other days. But they've already posted eight "episodes", and I'm told there are several more already in the works. I suggested DXL as a topic because this still strikes me as a largely underutilized tool, and perhaps a discussion of some of what's already being done with it - as well as potential (even hypothetical) uses - might spark further innovation in this area.
One example of a hypothetical use which might seem far-fetched at first glance is artificial intelligence. Part of what makes DXL so powerful is that, in combination with the NotesNoteCollection class introduced in 6.0, design elements can now be exported to - and imported from - XML. One implication of this is that code can now be written to analyze, modify, and create code without even tapping into an API. Some have already used this capability to automate UI changes: for example, I saw somewhere (might've been SearchDomino... can't recall offhand) a code snippet that updated the color scheme of a database by overwriting the existing properties of every action bar within it. But I submit that this same technique could be used to create at least a primitive form of A.I., if not a downright sophisticated one.
Consider for a moment that DXL can be written to a NotesStream, which incidentally is one of the available inputs for a NotesDXLImporter. Ergo, an agent can dynamically generate the code of a new agent. Or form. Or view. Or any other design element. And then import it into any database. So can an action button. Or a database PostOpen event. Or, for that matter, anything else that can run LotusScript code. Or Java. In other words, given rules for knowing what code to write, a Domino database can update itself and other databases, even generating design elements that have no purpose other than to create others. I know this is starting to sound a little bit SkyNet, but I'm not suggesting that self-awareness is anywhere on the horizon. What I am suggesting is that there's a possibility of creating a framework that "knows" what we want to accomplish and does some of the heavy lifting for us. Perhaps it's as simple as having a design element creation wizard, sort of a "deli menu" approach to creating new forms and views: you answer a few questions about the new element and it's created for you with most of the coding already in place, so all you have to do is add in a few subtleties that it can't yet account for. Or maybe it's more complex: say, a hierarchy of agents - sort of a military command structure - that can create new recruits as it needs them, promote those who prove best at what they do, who in turn "train" the others. My difficulty is that I don't have an immediate need for the latter, or time to fully develop this theory, so it's tough to picture how all of this would actually work. But I can't shake the feeling that this could be fairly powerful. That's why I created an OpenNTF project (which I'm calling Homunculus... if you're not already familiar with this term, check out Wikipedia's entry): to explore this possibility, eke out some proofs of concept, find some actual practical use for this type of functionality, and - most importantly - collaborate with others who are interested in unleashing it.
Comments
Posted by Tim Tripcony At 03:19:46 AM On 01/04/2006 | - Website - |
i don't pretend to grok it. but it sure sounded cool.
also i'd like to say, i love the quotes on the right. i have been saying for years i wanted to do something like that with random quotes from friends, but i never got around to doing it. i actually have a quasi-formed quotes.nsf partly coded, and it even has a bit of data in it. but its been sitting on the back burner, cooling for some time now.
Posted by jonvon At 10:18:26 PM On 01/03/2006 | - Website - |