<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-9431139</id><updated>2011-12-15T08:35:54.712+05:30</updated><title type='text'>The AgileWiki Blog</title><subtitle type='html'>Exploring Time as a dimension in Software Applications and further developments of the AgileWiki project, salted lightly with personal notes.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default?start-index=101&amp;max-results=100'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>1223</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-9431139.post-7014055077944318578</id><published>2009-03-10T14:43:00.006+05:30</published><updated>2009-03-10T21:00:03.159+05:30</updated><title type='text'>New Home Page for AgileWiki</title><content type='html'>With the release going out today, the database is now fully scalable. Time for a home page which sports a feature list: &lt;a href="http://agilewiki.sourceforge.net/"&gt;http://agilewiki.sourceforge.net&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The big change included in today's release, 13.1.0, is that element text content (text or binary) is now implemented using a b-tree. No problems with content that is hundreds of megabytes.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If interested, be sure to join the AgileWiki community at &lt;a href="http://agilewiki.ning.com/"&gt;http://agilewiki.ning.com/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Bill&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;P.S. I just moved this page because of an access control issue.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-7014055077944318578?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://agilewiki.sourceforge.net' title='New Home Page for AgileWiki'/><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/7014055077944318578/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=7014055077944318578' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/7014055077944318578'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/7014055077944318578'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2009/03/new-home-page-for-agilewiki.html' title='New Home Page for AgileWiki'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-4936319307301918503</id><published>2009-03-03T12:32:00.000+05:30</published><updated>2009-03-03T12:34:20.723+05:30</updated><title type='text'>Putting Magic into Software</title><content type='html'>&lt;a href="http://agilewiki.ning.com/profiles/blogs/putting-magic-into-software"&gt;http://agilewiki.ning.com/profiles/blogs/putting-magic-into-software&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-4936319307301918503?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://agilewiki.ning.com/profiles/blogs/putting-magic-into-software' title='Putting Magic into Software'/><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/4936319307301918503/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=4936319307301918503' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/4936319307301918503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/4936319307301918503'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2009/03/putting-magic-into-software.html' title='Putting Magic into Software'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-1070985845669796375</id><published>2009-02-28T23:02:00.000+05:30</published><updated>2009-02-28T23:03:46.729+05:30</updated><title type='text'>Web3.0 Business Model</title><content type='html'>&lt;a href="http://agilewiki.ning.com/profiles/blogs/web30-business-model"&gt;http://agilewiki.ning.com/profiles/blogs/web30-business-model&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-1070985845669796375?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://agilewiki.ning.com/profiles/blogs/web30-business-model' title='Web3.0 Business Model'/><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/1070985845669796375/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=1070985845669796375' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/1070985845669796375'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/1070985845669796375'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2009/02/web30-business-model.html' title='Web3.0 Business Model'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-4949900384642906544</id><published>2009-02-27T17:04:00.001+05:30</published><updated>2009-02-27T17:05:47.571+05:30</updated><title type='text'>AgileWiki on Ning</title><content type='html'>I've just created a ning network for AgileWiki: &lt;a href="http://agilewiki.ning.com/"&gt;http://agilewiki.ning.com/&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You are welcome to join.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Bill&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-4949900384642906544?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://agilewiki.ning.com/' title='AgileWiki on Ning'/><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/4949900384642906544/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=4949900384642906544' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/4949900384642906544'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/4949900384642906544'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2009/02/agilewiki-on-ning.html' title='AgileWiki on Ning'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-113317052274402755</id><published>2009-02-24T17:55:00.002+05:30</published><updated>2009-02-24T17:59:48.399+05:30</updated><title type='text'>Rolon Basics</title><content type='html'>Just completed a new section to the User Guide, &lt;a href="http://agilewiki.wiki.sourceforge.net/RolonBasics"&gt;Rolon Basics&lt;/a&gt;:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  line-height: 19px; font-family:arial;font-size:13px;"&gt;&lt;li style="font-size: 82.3%; "&gt;&lt;a class="wiki_link" href="http://agilewiki.wiki.sourceforge.net/Headline" style="text-decoration: none; color: rgb(0, 51, 204); "&gt;Headline&lt;/a&gt; - A Brief Description&lt;/li&gt;&lt;li style="font-size: 82.3%; "&gt;&lt;a class="wiki_link" href="http://agilewiki.wiki.sourceforge.net/Context" style="text-decoration: none; color: rgb(0, 51, 204); "&gt;Context&lt;/a&gt; - Rolon Context Drives Everything&lt;/li&gt;&lt;li style="font-size: 82.3%; "&gt;&lt;a class="wiki_link" href="http://agilewiki.wiki.sourceforge.net/Names" style="text-decoration: none; color: rgb(0, 51, 204); "&gt;Names&lt;/a&gt; - Names Depend on Context&lt;/li&gt;&lt;li style="font-size: 82.3%; "&gt;&lt;a class="wiki_link" href="http://agilewiki.wiki.sourceforge.net/Journals" style="text-decoration: none; color: rgb(0, 51, 204); "&gt;Journals&lt;/a&gt; - Recording Changes and Other Events&lt;/li&gt;&lt;li style="font-size: 82.3%; "&gt;&lt;a class="wiki_link" href="http://agilewiki.wiki.sourceforge.net/Realms" style="text-decoration: none; color: rgb(0, 51, 204); "&gt;Realms&lt;/a&gt; - For Organizing Rolons, and More&lt;/li&gt;&lt;li style="font-size: 82.3%; "&gt;&lt;a class="wiki_link" href="http://agilewiki.wiki.sourceforge.net/UserAccounts" style="text-decoration: none; color: rgb(0, 51, 204); "&gt;UserAccounts&lt;/a&gt; - An area for Each User&lt;/li&gt;&lt;li style="font-size: 82.3%; "&gt;&lt;a class="wiki_link" href="http://agilewiki.wiki.sourceforge.net/Relations" style="text-decoration: none; color: rgb(0, 51, 153); "&gt;Relations&lt;/a&gt; - Building Complex Structures&lt;/li&gt;&lt;li style="font-size: 82.3%; "&gt;&lt;a class="wiki_link" href="http://agilewiki.wiki.sourceforge.net/AccessControl" style="text-decoration: none; color: rgb(0, 51, 153); "&gt;AccessControl&lt;/a&gt; - Privacy and Control&lt;/li&gt;&lt;li style="font-size: 82.3%; "&gt;&lt;a class="wiki_link" href="http://agilewiki.wiki.sourceforge.net/UserGroups" style="text-decoration: none; color: rgb(0, 51, 153); "&gt;UserGroups&lt;/a&gt; - Advanced Access Control and Common Work Areas&lt;/li&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-113317052274402755?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://agilewiki.wiki.sourceforge.net/RolonBasics' title='Rolon Basics'/><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/113317052274402755/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=113317052274402755' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/113317052274402755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/113317052274402755'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2009/02/rolon-basics.html' title='Rolon Basics'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-9014303811206764496</id><published>2009-02-18T13:55:00.000+05:30</published><updated>2009-02-18T13:57:56.093+05:30</updated><title type='text'>Rolonic Software Engineering in Brief</title><content type='html'>&lt;ol&gt;&lt;li&gt;&lt;strong&gt;Common Data Structure&lt;/strong&gt; - Everything is implemented as a &lt;strong&gt;Rolon&lt;/strong&gt;. This includes commands, journal entries (which capture activity) and services. All Rolons, and only Rolons, are user objects.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Flexible Structures&lt;/strong&gt; - Structures of Rolons are built using parent/child relations. Additional, arbitrary relations can be defined and used to interconnect Rolons. One such relation, &lt;strong&gt;Applicable Context&lt;/strong&gt; is used to extend the namespace of a Rolon beyond the context implicit in the Rolon's location.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Open and Extensible&lt;/strong&gt; - A Rolon can be expressed as an XML document and is implemented by binding elements to Java classes. Plugins are used to define and extend these bindings. All Rolons implement the same life cycle, enabling the composition of complex services from structures of Rolons.&lt;/li&gt;&lt;/ol&gt; &lt;br /&gt;Rolonic Software Engineering provides a systematic and comprehensive approach to the implementation of fully interoperable services, which is exactly what we need to implement Web 3.0.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-9014303811206764496?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/9014303811206764496/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=9014303811206764496' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/9014303811206764496'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/9014303811206764496'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2009/02/rolonic-software-engineering-in-brief.html' title='Rolonic Software Engineering in Brief'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-2141859418235060064</id><published>2009-02-09T12:11:00.001+05:30</published><updated>2009-02-09T12:12:53.602+05:30</updated><title type='text'>ElementModel release 12.4.0</title><content type='html'>Access control is now in place.&lt;br /&gt;Relations reworked to support incremental inferencing.&lt;br /&gt;&lt;!-- google_ad_section_end --&gt;&lt;br /&gt;&lt;a href="http://agilewiki.wiki.sourceforge.net/"&gt;Home Page&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-2141859418235060064?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://agilewiki.wiki.sourceforge.net/' title='ElementModel release 12.4.0'/><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/2141859418235060064/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=2141859418235060064' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/2141859418235060064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/2141859418235060064'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2009/02/elementmodel-release-1240.html' title='ElementModel release 12.4.0'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-1666785067925122224</id><published>2009-01-24T11:35:00.001+05:30</published><updated>2009-01-24T11:37:26.739+05:30</updated><title type='text'>The end of programming as we know it</title><content type='html'>I've just added a new page to the wiki which I think you will enjoy. It may well be the ultimate disruptive technology. :-)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://agilewiki.wiki.sourceforge.net/EverythingWorksTogether"&gt;Everything Just Works Together&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-1666785067925122224?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://agilewiki.wiki.sourceforge.net/EverythingWorksTogether' title='The end of programming as we know it'/><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/1666785067925122224/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=1666785067925122224' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/1666785067925122224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/1666785067925122224'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2009/01/end-of-programming-as-we-know-it.html' title='The end of programming as we know it'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-1761137475281858601</id><published>2009-01-14T11:02:00.000+05:30</published><updated>2009-01-14T11:03:35.459+05:30</updated><title type='text'>Open letter to AgileWiki developers</title><content type='html'>&lt;style type="text/css"&gt;&lt;!--DIV {margin:0px;}--&gt;&lt;/style&gt;&lt;div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"&gt;&lt;div&gt;Everyone,&lt;br /&gt;&lt;br /&gt;I do hope you all can find something of interest below that you to contribute to. This list is just off the top of my head. I'd be more than glad to discuss other projects as well. For example, we need to be able to mirror the content of one system in others. Lots more coming, you can count on that.&lt;br /&gt;&lt;br /&gt;Bill&lt;br /&gt;&lt;br /&gt;Password Management --Bill&lt;br /&gt;&lt;br /&gt;Problems with a p2p network of extensible nodes is that there is no central authority that can be trusted. You end up with too many passwords, as usual, for access control.&lt;br /&gt;&lt;br /&gt;But you can trust your own client software, and if you use a public web service, you likely trust that as well. So why not have your point of entry into the network manage your passwords?&lt;br /&gt;&lt;br /&gt;Likely also, you can group some of those hosts together and use a common password for them. Passwords then are assigned to individual hosts or to groups of hosts. And when you change passwords, that change should be communicated silently to all the hosts in the same group.&lt;br /&gt;&lt;br /&gt;So we end up with something very much like single-signon, but where only the user needs to trust the point of entry. And we can use passwords to sign the messages as well.&lt;br /&gt;&lt;br /&gt;I expect to have this complete (except for signing messages) in a  day or two.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Web Front End --Naji&lt;br /&gt;&lt;br /&gt;This is a huge project. Integration with Jetty, replacement of Browse with Comet. To date, a simple hello world has been released. I expect to participate in this project as well, but not any time soon. I expect that there will be pleanty of work here to keep any number of developers busy.&lt;br /&gt;&lt;br /&gt;I already have an ISP where we can run this.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Access Control --Bill&lt;br /&gt;&lt;br /&gt;With Web 3.0, you no longer need large capital expenditures to provide a service--the number of computers providing the service grows with the number of users. But think about it. If I'm keeping important information in my ark/repository/database, why would I let just anyone come and change it? And some of that information is confidential too!&lt;br /&gt;&lt;br /&gt;For users to open their systems and really collaborate, we need access control. I've done this before and with relations already built in, it will not be hard.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Wiki  --Bill&lt;br /&gt;&lt;br /&gt;This is the beginning of semantics. As the repository is somewhat hierarchical, there are inherent problems in building a wiki on it--hierarchical wikis are always a good idea gone wrong. The fix is adding an applicative context, which gives you control over the namespace each page can use for referencing other pages.&lt;br /&gt;&lt;br /&gt;I'd rather be writing docs than working on this project, so yes, I'd welcome the help here.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;RSS Aggregator&lt;br /&gt;&lt;br /&gt;The idea here is to feed the ark with content from multiple sources (information fusion), do a keyword search on the content and organize the incoming material on that basis. Norm (the father of Rolonics) has as an example over 200 feeds which he monitors. This would be a big help for him (our test user) and many others like him.&lt;br /&gt;&lt;br /&gt;This project could be the first real application of AgileWiki--nothing else is needed. It is time to start this project now. First step, determine which rss aggregator(s) to integrate with.&lt;br /&gt;&lt;br /&gt;Who wants to get started on this?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;JXTA / JXTA 2 Integration&lt;br /&gt;&lt;br /&gt;The current com package (nio sockets) might work in a business, but not out in the wilds of the internet. JXTA looks like the way to go. I see this as a necessary minimum to be a real Web 3.0 player.&lt;br /&gt;&lt;br /&gt;I'd like to finish reworking the message formats (adding digital signatures) before this project gets too far along. But that shouldn't take too long.&lt;br /&gt;&lt;br /&gt;Who wants to get started on this? I already have an ISP where we can run the core servers for this.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Developer Docs --Bill&lt;br /&gt;&lt;br /&gt;By the end of March I hope to start working on this full time. But it would be very helpful if I could get a bunch of questions from everyone so I have some idea where to begin. I mean, the code all reads so clearly for me, but I suspect that is not the case for everyone else. To do a good job when writing, you need to understand the needs of the reader.&lt;br /&gt;&lt;br /&gt;Everyone please, help me out on this. Thanks!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Email Client&lt;br /&gt;&lt;br /&gt;I've worked in companies where everyone spent 6 hrs a day (no exageration!) reading and organizing their email, and a lot of those email were "things you might need to know" that were sent to everyone. Very few emails actually needed to be read immediately, but they all needed to be sorted out and organized. What a waste of time!&lt;br /&gt;&lt;br /&gt;Integrating an email client into AgileWiki means that you can share not only the content, but the organizational structure. Again, this is all about information fusion and creating a useful organization of content. This could be a big time saver and an important application.&lt;br /&gt;&lt;br /&gt;Having done this before, I'll note that the hard part is in presenting the email nicely. Seems like every email client structures the email slightly differently.&lt;br /&gt;&lt;br /&gt;Any takers for this project?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Inferencing --Bill&lt;br /&gt;&lt;br /&gt;Reasoning  systems really aren't that hard to do. The tricky part is making them incrimental, so as the information changes, the inferences can be adjusted without having to start everything over again.&lt;br /&gt;&lt;br /&gt;The relations already built into AgileWiki will be a starting point. And applicative context, which is part of the wiki implementation, is done, that will be the next part.&lt;br /&gt;&lt;br /&gt;This will be a fun project, but we'll not be ready to start it for a while.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;      &lt;hr size="1"&gt; Get an email ID as yourname@ymail.com or yourname@rocketmail.com. &lt;a rel="nofollow" target="_blank" href="http://in.rd.yahoo.com/tagline_dbid_4/*http://in.promos.yahoo.com/address"&gt;Click here.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-1761137475281858601?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/1761137475281858601/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=1761137475281858601' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/1761137475281858601'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/1761137475281858601'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2009/01/open-letter-to-agilewiki-developers.html' title='Open letter to AgileWiki developers'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-4001929304880741182</id><published>2009-01-12T10:37:00.001+05:30</published><updated>2009-01-12T10:40:49.605+05:30</updated><title type='text'>Why everything "just works together"</title><content type='html'>With most software projects, if you have N options/features, the order of complexity is on the order of 2**N. So long as N is small, things go well, but as you add options and features, the complexity quickly gets out of hand--integration then becomes a black art. In contrast, the complexity of this project is on the order of b+N, where b is the complexity of the base system. That b is a bit large, so it makes it hard to come up to speed, but as the project grows, the overall complexity is proportional to the number of options/plugins. This is an astonishing result.&lt;br /&gt;&lt;br /&gt;The technique we use to achieve this is by simply binding classes (and other configuration data) to element types. Each plugin defines new element types and also extends the configuration of pre-existing element types. The binding is all done in the .cfg file, which is generated from the .plugin file.&lt;br /&gt;&lt;br /&gt;Now when the program first starts (empty database), it creates the ark root element, which contains configuration data about various sub-elements and child rolons which are to be created. These are created in turn, recursively, to generate all the architectural rolons needed to run the ark with a given set of plugins. Note that plugins never delete a pre-existing element type, nor do they ever change the binding and configuration data of an element--they only add additional configuration data. This is key, as it provides most of the decoupling we need to have a truly open and extensible platform where everything just works together.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://agilewiki.wiki.sourceforge.net/"&gt;http://agilewiki.wiki.sourceforge.net/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-4001929304880741182?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/4001929304880741182/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=4001929304880741182' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/4001929304880741182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/4001929304880741182'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2009/01/why-everything-just-works-together.html' title='Why everything &quot;just works together&quot;'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-351827386670597154</id><published>2009-01-09T09:48:00.002+05:30</published><updated>2009-01-09T09:50:51.070+05:30</updated><title type='text'>Twitter for AgileWiki development progress</title><content type='html'>We've started using Twitter on the AgileWiki project.&lt;br /&gt;&lt;br /&gt;The links to the twitter accounts of the developers can be found at the bottom of this page: &lt;a href="http://agilewiki.wiki.sourceforge.net/"&gt;http://agilewiki.wiki.sourceforge.net/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-351827386670597154?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/351827386670597154/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=351827386670597154' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/351827386670597154'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/351827386670597154'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2009/01/twitter-for-agilewiki-development.html' title='Twitter for AgileWiki development progress'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-8494943704285810984</id><published>2008-12-29T15:34:00.002+05:30</published><updated>2008-12-29T15:39:25.014+05:30</updated><title type='text'>Identity for web 3.0</title><content type='html'>&lt;a href="http://agilewiki.wiki.sourceforge.net/Identity"&gt;http://agilewiki.wiki.sourceforge.net/Identity&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I've been looking at web 3.0 and find that I very much agree with the ideas. I would categorize web 3.0 as being a p2p system which supports multiple points of entry (home, office, cyber cafe), where the nodes support information fusion, have pluggable applications and some native reasoning. And this is exactly what I've been working on for so many years now.&lt;br /&gt;&lt;br /&gt;Today I've been thinking about an easy way to validate user identity in such a network. See the above link for details. It is reasonably easy to do and I've introduced only one new idea--categories of passwords.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-8494943704285810984?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/8494943704285810984/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=8494943704285810984' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/8494943704285810984'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/8494943704285810984'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/12/identity-for-web-30.html' title='Identity for web 3.0'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-8691815353504029903</id><published>2008-12-22T15:04:00.002+05:30</published><updated>2008-12-22T15:08:51.249+05:30</updated><title type='text'>Element Model release 12.0.0</title><content type='html'>The renameChild command is working again.&lt;br /&gt;Dump no longer writes out prebuilt rolons.&lt;br /&gt;Changes to the basic architecture are now restricted, as changes not preserved when migrating to a new release via dump/load are no longer permitted.&lt;br /&gt;New Plugin interface.&lt;br /&gt;New ConfigurationManager converts a list of plugins into a configuration file.&lt;br /&gt;Keywords are now broken out as a separate plugin.&lt;br /&gt;&lt;br /&gt;With the new &lt;a href="http://agilewiki.wiki.sourceforge.net/Plugins"&gt;plugin&lt;/a&gt; facility it is now trivial to configure a program. And for each new service/facility/application, you create a new plugin.&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://agilewiki.wiki.sourceforge.net/Utilities"&gt;utilities&lt;/a&gt; have been revamped as well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-8691815353504029903?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/8691815353504029903/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=8691815353504029903' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/8691815353504029903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/8691815353504029903'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/12/element-model-release-1200.html' title='Element Model release 12.0.0'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-1278163372221086283</id><published>2008-12-11T16:42:00.001+05:30</published><updated>2008-12-11T16:44:18.460+05:30</updated><title type='text'>Rolonic Software Engineering</title><content type='html'>Finally completed the &lt;a href="http://agilewiki.wiki.sourceforge.net/EMTheory"&gt;operational theory&lt;/a&gt; of the element model. I do hope you find it helpful.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-1278163372221086283?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://agilewiki.wiki.sourceforge.net/EMTheory' title='Rolonic Software Engineering'/><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/1278163372221086283/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=1278163372221086283' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/1278163372221086283'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/1278163372221086283'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/12/rolonic-software-engineering.html' title='Rolonic Software Engineering'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-5085894988310066497</id><published>2008-12-05T08:21:00.002+05:30</published><updated>2008-12-05T08:32:21.114+05:30</updated><title type='text'>Roadmap for ElementModel and AgileWiki4</title><content type='html'>A comprehensive road map for Element Model and AgileWiki4 has been added to the &lt;a href="http://agilewiki.wiki.sourceforge.net/"&gt;home page&lt;/a&gt;. Inferencing, a mail client and versioning are included.&lt;br /&gt;&lt;br /&gt;The  development team (2) is far too small for the work planned. If you are a Java developer, your participation would be most welcome!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-5085894988310066497?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://agilewiki.wiki.sourceforge.net/' title='Roadmap for ElementModel and AgileWiki4'/><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/5085894988310066497/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=5085894988310066497' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/5085894988310066497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/5085894988310066497'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/12/roadmap-for-elementmodel-and-agilewiki4.html' title='Roadmap for ElementModel and AgileWiki4'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-2289038310636790167</id><published>2008-11-22T16:33:00.001+05:30</published><updated>2008-11-22T16:35:48.600+05:30</updated><title type='text'>Element Model release 11.0.0</title><content type='html'>&lt;a href="http://sourceforge.net/projects/agilewiki/"&gt;Element model&lt;/a&gt; databases are now crash-proof.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-2289038310636790167?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/2289038310636790167/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=2289038310636790167' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/2289038310636790167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/2289038310636790167'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/11/element-model-release-1100.html' title='Element Model release 11.0.0'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-5368029999885696390</id><published>2008-10-24T09:51:00.002+05:30</published><updated>2008-10-24T09:54:52.676+05:30</updated><title type='text'>no design time</title><content type='html'>After a restless night I've decided not to do the design time thing. Two reasons:&lt;br /&gt;1. Every application class would need to support an additional constructor.&lt;br /&gt;2. There is a one-to-many relationship between element types and element instances.&lt;br /&gt;&lt;br /&gt;So instead we're going with configuration classes which will embrace [most of] the parameters of an element type definition. This can be implemented incrementally as well, which is important at this point.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-5368029999885696390?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/5368029999885696390/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=5368029999885696390' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/5368029999885696390'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/5368029999885696390'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/10/no-design-time.html' title='no design time'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-2318641854594826145</id><published>2008-10-23T20:11:00.002+05:30</published><updated>2008-10-23T20:14:19.508+05:30</updated><title type='text'>design time</title><content type='html'>Today I was working on configuration. Configuration is never easy, but in the Element Model it seemed extra difficult because it is spread across too many classes. Finally decided to make use of the JavaBean design time idea. Application logic should support its configuration.&lt;br /&gt;&lt;br /&gt;So obvious. Not even original. But I think it will help a lot.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-2318641854594826145?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/2318641854594826145/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=2318641854594826145' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/2318641854594826145'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/2318641854594826145'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/10/design-time.html' title='design time'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-434651499735001562</id><published>2008-10-22T08:16:00.002+05:30</published><updated>2008-10-22T08:23:20.226+05:30</updated><title type='text'>element model release 10.0.0, goals for 11</title><content type='html'>New validate utility checks the integrity of a database.&lt;br /&gt;Additional convenience methods added to AbstractApplication.&lt;br /&gt;Javadoc rewritten for the elementmodel package.&lt;br /&gt;&lt;br /&gt;This completes basic persistence. For release 11 there are 3 objectives:&lt;br /&gt;- Employ weak references (in handles) and a cache to reduce the memory footprint.&lt;br /&gt;- Use variable-length blocks in place of fixed-length blocks.&lt;br /&gt;- Extend browse to the point where it operates as a simple wiki.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-434651499735001562?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/434651499735001562/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=434651499735001562' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/434651499735001562'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/434651499735001562'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/10/element-model-release-1000-goals-for-11.html' title='element model release 10.0.0, goals for 11'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-9145584937100860883</id><published>2008-10-20T17:20:00.000+05:30</published><updated>2008-10-20T17:25:58.586+05:30</updated><title type='text'>A light-weight EJB replacement</title><content type='html'>The Element model has come a long way and release 9-11 is out.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Peer Proxies are complete.&lt;/li&gt;&lt;li&gt;Basic persistence is done.&lt;/li&gt;&lt;li&gt;Dump/Load commands can be used to migrate data from one release to the next.&lt;/li&gt;&lt;li&gt;Naji has started work on integration with Jetty.&lt;/li&gt;&lt;/ul&gt;&lt;a href="https://sourceforge.net/project/showfiles.php?group_id=106672&amp;amp;package_id=285239"&gt;Download&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-9145584937100860883?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/9145584937100860883/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=9145584937100860883' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/9145584937100860883'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/9145584937100860883'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/10/light-weight-ejb-replacement.html' title='A light-weight EJB replacement'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-8763106027281919523</id><published>2008-09-25T17:47:00.002+05:30</published><updated>2008-09-25T17:50:49.288+05:30</updated><title type='text'>The Rolonic Framework is now Complete</title><content type='html'>http://agilewiki.wiki.sourceforge.net/&lt;br /&gt;&lt;br /&gt;Release 8-0 of the element model completes the Rolonic framework. The next step will be to add Peer Ark Proxies.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-8763106027281919523?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://agilewiki.wiki.sourceforge.net/' title='The Rolonic Framework is now Complete'/><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/8763106027281919523/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=8763106027281919523' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/8763106027281919523'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/8763106027281919523'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/09/rolonic-framework-is-now-complete.html' title='The Rolonic Framework is now Complete'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-471418127212605549</id><published>2008-09-04T22:12:00.001+05:30</published><updated>2008-09-04T22:13:45.421+05:30</updated><title type='text'>element model framework now supports toolbars</title><content type='html'>Release 5-3:&lt;br /&gt;&lt;br /&gt;New setHeadline command.&lt;br /&gt;[up] and [home] have been added to the toolbar of GBrowse.&lt;br /&gt;The framework now supports toolbars.&lt;br /&gt;&lt;br /&gt;Contributors to this release: Bill, Naji.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-471418127212605549?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/471418127212605549/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=471418127212605549' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/471418127212605549'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/471418127212605549'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/09/element-model-framework-now-supports.html' title='element model framework now supports toolbars'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-5985110062302496530</id><published>2008-09-03T12:57:00.001+05:30</published><updated>2008-09-03T12:57:53.892+05:30</updated><title type='text'>element model 5-2</title><content type='html'>Fixed a critical bug introduced in 5-1 which prevented most sample programs from running.&lt;br /&gt;&lt;br /&gt;Added configuration support for headlines.&lt;br /&gt;&lt;br /&gt;ToolTipText is now based on the element's headline.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-5985110062302496530?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/5985110062302496530/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=5985110062302496530' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/5985110062302496530'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/5985110062302496530'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/09/element-model-5-2.html' title='element model 5-2'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-1816761931628479468</id><published>2008-09-02T18:31:00.001+05:30</published><updated>2008-09-02T18:31:55.641+05:30</updated><title type='text'>element model release 5-1</title><content type='html'>http://agilewiki.wiki.sourceforge.net/GFrameManager&lt;br /&gt;http://agilewiki.wiki.sourceforge.net/ExitOptionOperation&lt;br /&gt;&lt;br /&gt;Release 5-1 is out. The focus this time was on cleaning up the frame management classes--which have now been reduced to just GFrameManager.&lt;br /&gt;&lt;br /&gt;Also, catch the two new wiki pages above.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-1816761931628479468?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/1816761931628479468/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=1816761931628479468' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/1816761931628479468'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/1816761931628479468'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/09/element-model-release-5-1.html' title='element model release 5-1'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-5327713441531698966</id><published>2008-09-01T16:50:00.000+05:30</published><updated>2008-09-01T16:51:53.985+05:30</updated><title type='text'>element model release 5-0</title><content type='html'>The element model now supports the development of fully decoupled Swing components. Layout can now be separated from behavior, making for a much more fluid architecture.&lt;br /&gt;&lt;br /&gt;Added a &lt;a href="http://agilewiki.wiki.sourceforge.net/EMSwing"&gt;new page on Swing&lt;/a&gt;, too.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-5327713441531698966?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://agilewiki.wiki.sourceforge.net/EMSwing' title='element model release 5-0'/><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/5327713441531698966/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=5327713441531698966' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/5327713441531698966'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/5327713441531698966'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/09/element-model-release-5-0.html' title='element model release 5-0'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-1741996432325087354</id><published>2008-08-31T19:47:00.001+05:30</published><updated>2008-08-31T19:49:21.674+05:30</updated><title type='text'>element model release 4-9</title><content type='html'>RsBrowse is replaced by GBrowse.&lt;br /&gt;The old rswing package is gone.&lt;br /&gt;&lt;br /&gt;The new GBrowse program uses BoxLayout in place of GridLayout and behaves better.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-1741996432325087354?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/1741996432325087354/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=1741996432325087354' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/1741996432325087354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/1741996432325087354'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/08/element-model-release-4-9.html' title='element model release 4-9'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-6334589220506395797</id><published>2008-08-30T16:36:00.002+05:30</published><updated>2008-08-30T16:39:40.912+05:30</updated><title type='text'>element model release 4-7</title><content type='html'>New samples package.&lt;br /&gt;ArkLocks are no longer reentrant.&lt;br /&gt;Configuration of multiple top-level rolons is now supported.&lt;br /&gt;New getCompoundPathname for navigating multiple arks.&lt;br /&gt;Responses are now returned using the new ROUTE operation.&lt;br /&gt;A contextMap is now used with commands and route operations.&lt;br /&gt;&lt;br /&gt;I'll note that by using the route operation to return command responses, sockets will be fully bi-directional with no session tracking on the "server" side.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-6334589220506395797?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/6334589220506395797/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=6334589220506395797' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/6334589220506395797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/6334589220506395797'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/08/element-model-release-4-7.html' title='element model release 4-7'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-6027454721802662218</id><published>2008-08-24T18:44:00.001+05:30</published><updated>2008-08-24T18:44:45.233+05:30</updated><title type='text'>element model release 4-6</title><content type='html'>-New CommandStatusEvent for tracking command completion.&lt;br /&gt;-[non-GUI] Browse now supports asynchronous commands.&lt;br /&gt;-New swingcapabilities.CommandManager class supports command completion.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-6027454721802662218?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/6027454721802662218/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=6027454721802662218' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/6027454721802662218'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/6027454721802662218'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/08/element-model-release-4-6.html' title='element model release 4-6'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-1630528767795160659</id><published>2008-08-23T15:40:00.000+05:30</published><updated>2008-08-23T15:41:11.057+05:30</updated><title type='text'>element model release 4-5</title><content type='html'>Any program can now be run using a generic Main.main.&lt;br /&gt;A new integration with Swing is included.&lt;br /&gt;ThreadPool is now part of ArkRoot for reduced locking overhead and greater flexibility.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-1630528767795160659?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/1630528767795160659/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=1630528767795160659' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/1630528767795160659'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/1630528767795160659'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/08/element-model-release-4-5.html' title='element model release 4-5'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-3829975744341375328</id><published>2008-08-21T21:38:00.000+05:30</published><updated>2008-08-21T21:39:11.028+05:30</updated><title type='text'>element model release 4-4</title><content type='html'>o New up and destroy commands.&lt;br /&gt;o The sleep command now demonstrates an asynchronous response.&lt;br /&gt;o A thread pool is now used in place of dedicated threads.&lt;br /&gt;o Command API now includes a pathname of the target.&lt;br /&gt;o All commands rewritten for improved thread safety.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-3829975744341375328?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/3829975744341375328/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=3829975744341375328' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/3829975744341375328'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/3829975744341375328'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/08/element-model-release-4-4.html' title='element model release 4-4'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-1164814935591904404</id><published>2008-08-19T17:22:00.000+05:30</published><updated>2008-08-19T17:24:54.757+05:30</updated><title type='text'>element model release of version 4-3</title><content type='html'>o Synchronization locks have been replaced by ReentrantLocks.&lt;br /&gt;o RsBrowse now runs commands on a separate thread.&lt;br /&gt;o Browse has been cleaned up and &lt;a href="http://agilewiki.wiki.sourceforge.net/ElementModelBrowse"&gt;fully documented&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-1164814935591904404?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://agilewiki.wiki.sourceforge.net/ElementModelBrowse' title='element model release of version 4-3'/><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/1164814935591904404/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=1164814935591904404' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/1164814935591904404'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/1164814935591904404'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/08/element-model-release-of-version-4-3.html' title='element model release of version 4-3'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-3999162913119364128</id><published>2008-08-18T10:40:00.000+05:30</published><updated>2008-08-18T10:41:24.846+05:30</updated><title type='text'>element model release 4-2</title><content type='html'>o Configuration role and op ascension numbers are now generated.&lt;br /&gt;o Command applicability bug fixed.&lt;br /&gt;o Commands now optionally return an operation request.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-3999162913119364128?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/3999162913119364128/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=3999162913119364128' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/3999162913119364128'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/3999162913119364128'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/08/element-model-release-4-2.html' title='element model release 4-2'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-969102661326051062</id><published>2008-08-17T16:51:00.001+05:30</published><updated>2008-08-17T16:53:30.369+05:30</updated><title type='text'>element model release 4-1</title><content type='html'>API polish, code cleanup and 2 more "How To" docs: &lt;a href="http://agilewiki.wiki.sourceforge.net/ElementModelSubArks"&gt;Sub-Arks&lt;/a&gt; and &lt;a href="http://agilewiki.wiki.sourceforge.net/ElementModelCommands"&gt;Commands&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-969102661326051062?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/969102661326051062/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=969102661326051062' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/969102661326051062'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/969102661326051062'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/08/element-model-release-4-1.html' title='element model release 4-1'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-1100400964798619136</id><published>2008-08-17T07:16:00.002+05:30</published><updated>2008-08-17T07:20:51.258+05:30</updated><title type='text'>element model release 4-0</title><content type='html'>Compound pathnames have been introduced for navigation, and command execution, in subordinate arks and other contexts.&lt;br /&gt;&lt;br /&gt;In the top-level ark you  a sub-ark, ark1.&lt;br /&gt;&lt;br /&gt;Now you can enter that ark using the pathname /ark1//&lt;br /&gt;&lt;br /&gt;This applies recursively. So if in ark1 you create ark1.1, then you can enter it with the pathname /ark1//ark1.1//&lt;br /&gt;&lt;br /&gt;Once you have entered an ark, all the commands are processed in that ark. This includes help, which lists only the commands available in the ark you have entered.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-1100400964798619136?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/1100400964798619136/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=1100400964798619136' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/1100400964798619136'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/1100400964798619136'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/08/element-model-release-4-0.html' title='element model release 4-0'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-8274915121774675947</id><published>2008-08-13T14:39:00.000+05:30</published><updated>2008-08-13T14:40:15.712+05:30</updated><title type='text'>element model release 3-6</title><content type='html'>The execution model has been redone for greater flexibility and simplicity.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-8274915121774675947?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/8274915121774675947/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=8274915121774675947' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/8274915121774675947'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/8274915121774675947'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/08/element-model-release-3-6.html' title='element model release 3-6'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-6551093965057088307</id><published>2008-08-12T16:24:00.000+05:30</published><updated>2008-08-12T16:25:12.052+05:30</updated><title type='text'>element model release 3-5</title><content type='html'>o ServiceRequests replaced by the more powerful and role-based OperationRequests.&lt;br /&gt;o RsBrowse now uses a combo box for command entry.&lt;br /&gt;&lt;br /&gt;Contributors: Bill, Naji&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-6551093965057088307?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/6551093965057088307/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=6551093965057088307' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/6551093965057088307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/6551093965057088307'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/08/element-model-release-3-5.html' title='element model release 3-5'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-7476673779680981955</id><published>2008-08-10T21:10:00.000+05:30</published><updated>2008-08-10T21:11:05.968+05:30</updated><title type='text'>element model release of version 3-4</title><content type='html'>o Services must now register for the service requests they can process.&lt;br /&gt;o Framework services are no longer distinguished from other services and are fully extensible.&lt;br /&gt;o Service requests now replace many of the operations and events in Browse and RsBrowse.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-7476673779680981955?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/7476673779680981955/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=7476673779680981955' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/7476673779680981955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/7476673779680981955'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/08/element-model-release-of-version-3-4.html' title='element model release of version 3-4'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-5387157460869133121</id><published>2008-08-09T19:23:00.000+05:30</published><updated>2008-08-09T19:24:11.396+05:30</updated><title type='text'>element model release 3-3</title><content type='html'>o Enhanced configuration properties creation and management.&lt;br /&gt;o Cleaned up browse.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-5387157460869133121?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/5387157460869133121/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=5387157460869133121' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/5387157460869133121'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/5387157460869133121'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/08/element-model-release-3-3.html' title='element model release 3-3'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-5166639404746416404</id><published>2008-08-08T18:41:00.001+05:30</published><updated>2008-08-08T18:43:00.122+05:30</updated><title type='text'>element model release of version 3-2</title><content type='html'>o Reworked the way Swing is mapped into the element model.&lt;br /&gt;o RsBrowse is now 3 fully decoupled components.&lt;br /&gt;o Multiple RsBrowse windows can be opened in multiple arks.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://downloads.sourceforge.net/agilewiki/elementModel3-2.zip?use_mirror=osdn"&gt;Download&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-5166639404746416404?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://downloads.sourceforge.net/agilewiki/elementModel3-2.zip?use_mirror=osdn' title='element model release of version 3-2'/><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/5166639404746416404/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=5166639404746416404' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/5166639404746416404'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/5166639404746416404'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/08/element-model-release-of-version-3-2.html' title='element model release of version 3-2'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-3833029110197737668</id><published>2008-08-05T19:31:00.002+05:30</published><updated>2008-08-05T19:34:45.945+05:30</updated><title type='text'>Write once, use in everything</title><content type='html'>My vision from the 60's has always been what you could call "&lt;a href="http://agilewiki.wiki.sourceforge.net/"&gt;write once, use in everything&lt;/a&gt;," which is not quite the same as "write once, run everywhere." Finally after all these years, I seem to be making progress.&lt;br /&gt;&lt;br /&gt;Bill&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-3833029110197737668?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://agilewiki.wiki.sourceforge.net/' title='Write once, use in everything'/><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/3833029110197737668/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=3833029110197737668' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/3833029110197737668'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/3833029110197737668'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/08/write-once-use-in-everything.html' title='Write once, use in everything'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-3079105269457172730</id><published>2008-08-05T17:22:00.001+05:30</published><updated>2008-08-05T17:22:53.103+05:30</updated><title type='text'>element model 3-1</title><content type='html'>o Browse and RsBrowse now support the go and express commands.&lt;br /&gt;o A navigation bar has been added to RsBrowse.&lt;br /&gt;o A simple threading model has been implemented.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-3079105269457172730?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/3079105269457172730/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=3079105269457172730' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/3079105269457172730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/3079105269457172730'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/08/element-model-3-1.html' title='element model 3-1'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-2882662005501158830</id><published>2008-08-04T22:32:00.000+05:30</published><updated>2008-08-04T22:33:38.510+05:30</updated><title type='text'>element model release 3-0</title><content type='html'>o The element model is now integrated with Swing.&lt;br /&gt;o There is now a Swing version of Browse.&lt;br /&gt;o Ordered lists of elements are now supported.&lt;br /&gt;&lt;br /&gt;Contributors to this release: Bill &amp;amp; Naji.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-2882662005501158830?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/2882662005501158830/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=2882662005501158830' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/2882662005501158830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/2882662005501158830'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/08/element-model-release-3-0.html' title='element model release 3-0'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-6392914217955678035</id><published>2008-08-02T21:13:00.000+05:30</published><updated>2008-08-02T21:15:05.398+05:30</updated><title type='text'>element model release 2-4</title><content type='html'>o ServiceRequest object are now used in place of a control object for framework requests.&lt;br /&gt;o Constructor IOC is now used for better integration with Swing.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://downloads.sourceforge.net/agilewiki/elementModel2-4.zip?use_mirror=osdn"&gt;Download&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-6392914217955678035?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://downloads.sourceforge.net/agilewiki/elementModel2-4.zip?use_mirror=osdn' title='element model release 2-4'/><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/6392914217955678035/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=6392914217955678035' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/6392914217955678035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/6392914217955678035'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/08/element-model-release-2-4.html' title='element model release 2-4'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-4524524317367607065</id><published>2008-08-02T07:43:00.002+05:30</published><updated>2008-08-02T07:47:14.868+05:30</updated><title type='text'>element model release 2-3</title><content type='html'>For each framework service there is now a subclass of ServiceRequest. Service requests then are passed to the element, which forwards them to an application object in the framework which implements Services. Service request processing is synchronous, allowing for the results to be returned by the call for the request.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://downloads.sourceforge.net/agilewiki/elementModel2-3.zip?use_mirror=osdn"&gt;download&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-4524524317367607065?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://downloads.sourceforge.net/agilewiki/elementModel2-3.zip?use_mirror=osdn' title='element model release 2-3'/><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/4524524317367607065/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=4524524317367607065' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/4524524317367607065'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/4524524317367607065'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/08/element-model-release-2-3.html' title='element model release 2-3'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-6950147663890441398</id><published>2008-08-01T08:07:00.000+05:30</published><updated>2008-08-01T08:08:34.524+05:30</updated><title type='text'>element model release 2-2</title><content type='html'>o Entries have been added to the containers package.&lt;br /&gt;o Requests to rolons are now via action events.&lt;br /&gt;o Browse now supports createArk and arks commands.&lt;br /&gt;&lt;br /&gt;Contributors to this release:&lt;br /&gt;Bill&lt;br /&gt;Naji&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-6950147663890441398?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/6950147663890441398/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=6950147663890441398' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/6950147663890441398'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/6950147663890441398'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/08/element-model-release-2-2.html' title='element model release 2-2'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-2985654747424924821</id><published>2008-07-29T10:34:00.002+05:30</published><updated>2008-07-29T10:50:23.513+05:30</updated><title type='text'>granularity</title><content type='html'>Granularity is the key concept that opens our understanding of software. In AgileWiki we have 4:&lt;br /&gt;&lt;br /&gt;1. Methods apply to capability objects. These are grouped by aspect and elements are aggregates of, at most, one capability for each aspect.&lt;br /&gt;&lt;br /&gt;2. Events apply to elements. Each event is routed to the capability objects of the applicable aspects.&lt;br /&gt;&lt;br /&gt;3. Operations apply to rolons, which are DOMish trees of elements.&lt;br /&gt;&lt;br /&gt;4. Commands apply to arks, which are a collection of rolons.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-2985654747424924821?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/2985654747424924821/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=2985654747424924821' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/2985654747424924821'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/2985654747424924821'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/07/granularity.html' title='granularity'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-5080255499391931294</id><published>2008-07-29T10:03:00.000+05:30</published><updated>2008-07-29T10:04:39.610+05:30</updated><title type='text'>element model release 2-1</title><content type='html'>Browse is now working and supports help, echo and exit commands.&lt;br /&gt;&lt;br /&gt;https://sourceforge.net/project/showfiles.php?group_id=106672&amp;amp;package_id=285239&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-5080255499391931294?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='https://sourceforge.net/project/showfiles.php?group_id=106672&amp;package_id=285239' title='element model release 2-1'/><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/5080255499391931294/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=5080255499391931294' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/5080255499391931294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/5080255499391931294'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/07/element-model-release-2-1.html' title='element model release 2-1'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-6649373973245364254</id><published>2008-07-28T14:13:00.002+05:30</published><updated>2008-07-28T14:16:47.626+05:30</updated><title type='text'>element model release 2-0</title><content type='html'>Release 2-0 completes the element model. A Hello World! program is also included.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://sourceforge.net/project/showfiles.php?group_id=106672&amp;amp;package_id=285239"&gt;Download&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-6649373973245364254?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://sourceforge.net/project/showfiles.php?group_id=106672&amp;package_id=285239' title='element model release 2-0'/><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/6649373973245364254/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=6649373973245364254' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/6649373973245364254'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/6649373973245364254'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/07/element-model-release-2-0.html' title='element model release 2-0'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-6782583829300211468</id><published>2008-07-26T17:33:00.001+05:30</published><updated>2008-07-26T17:34:40.992+05:30</updated><title type='text'>element model release 1-0</title><content type='html'>In this release we have implemented a simple ark and event processing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-6782583829300211468?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/6782583829300211468/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=6782583829300211468' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/6782583829300211468'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/6782583829300211468'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/07/element-model-release-1-0.html' title='element model release 1-0'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-1650025209956179554</id><published>2008-07-25T13:46:00.002+05:30</published><updated>2008-07-25T13:51:25.460+05:30</updated><title type='text'>elementModel release 0-2</title><content type='html'>http://sourceforge.net/project/showfiles.php?group_id=106672&amp;amp;package_id=285239&lt;br /&gt;&lt;br /&gt;The element model, which is really an extensible DOM, has now been roughed out in a minimalistic sense--only the necessary items have been added.  It can express itself now as XML, but that was a feature that was helpful for testing.&lt;br /&gt;&lt;br /&gt;The idea here is to provide the minimum of code to introduce the concepts. What we have are 4 interfaces and 10 classes, none of them very long.&lt;br /&gt;&lt;br /&gt;The download (see the link above) includes the javadocs as before. This time it also includes the source code. For your reading pleasure.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-1650025209956179554?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://sourceforge.net/project/showfiles.php?group_id=106672&amp;package_id=285239' title='elementModel release 0-2'/><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/1650025209956179554/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=1650025209956179554' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/1650025209956179554'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/1650025209956179554'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/07/elementmodel-release-0-2.html' title='elementModel release 0-2'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-8358011294651478958</id><published>2008-07-24T10:50:00.002+05:30</published><updated>2008-07-24T10:52:55.606+05:30</updated><title type='text'>Element Model release 0-1</title><content type='html'>What is the point of a framework that no one understands? So we begin again, this time with a simplified element model.&lt;br /&gt;&lt;br /&gt;http://agilewiki.wiki.sourceforge.net/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-8358011294651478958?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/8358011294651478958/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=8358011294651478958' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/8358011294651478958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/8358011294651478958'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/07/fresh-start-on-element-model.html' title='Element Model release 0-1'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-19860251529695282</id><published>2008-07-23T14:35:00.002+05:30</published><updated>2008-07-23T15:01:43.485+05:30</updated><title type='text'>a layered approach</title><content type='html'>One thing I learned when working on COWDB and COODBMS is that it is very difficult to implement things in layers--you really need to know what you are doing.&lt;br /&gt;&lt;br /&gt;One thing I learned when working on COWDB2 is that it is very difficult to explain a monolithic implementation. People need to learn things layer by layer.&lt;br /&gt;&lt;br /&gt;An important goal in this project is to build a team that can work on, support, and expand on what I have learned these last few years. So a layered approach is the only real option. I have learned a great deal these last few months while working on COWDB2. Hopefully I have learned enough to be able to use the layered approach.&lt;br /&gt;&lt;br /&gt;Layer 0 -- This will be the element model. There will be no persistence object (that is moving into the streaming aspect) and this layer will have no knowledge of the aspects, excepting only the Application objects which are what are passed instead of the element.&lt;br /&gt;&lt;br /&gt;Layer 1 -- This will be a business object model. Business objects map into XML documents. Multiple business objects will be supported, with links between them. We will implement attributes,  containers and links. (The approach taken will be to implement the minimum necessary for each layer. The implementation of a rich set of capability objects can be delayed until and as they are needed.) In this layer, the framework will support the creation/deletion/retrieval of business objects. But there will be no persistence.&lt;br /&gt;&lt;br /&gt;Layer 2 -- Here we add well known business, parent/child relationships, operations and roles. Again, a light weight minimal implementation with no persistence. The framework will provide access to well known business objects.&lt;br /&gt;&lt;br /&gt;The objective here is to develop the basics and provide the necessary documentation. These three layers will then comprise the core for a more serious effort.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-19860251529695282?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/19860251529695282/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=19860251529695282' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/19860251529695282'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/19860251529695282'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/07/layered-approach.html' title='a layered approach'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-9179192196558116949</id><published>2008-07-09T17:14:00.000+05:30</published><updated>2008-07-09T17:15:53.361+05:30</updated><title type='text'>COWDB2 release 2-0.3</title><content type='html'>o Application objects now need only implement an interface with one getter and one setter to be used in COWDB2.&lt;br /&gt;o The diskspacemanagement package is now complete, including javadocs.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-9179192196558116949?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/9179192196558116949/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=9179192196558116949' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/9179192196558116949'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/9179192196558116949'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/07/cowdb2-release-2-03.html' title='COWDB2 release 2-0.3'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-7112651102475903733</id><published>2008-07-07T06:48:00.002+05:30</published><updated>2008-07-07T08:00:52.634+05:30</updated><title type='text'>COWDB2 release 2-0.2</title><content type='html'>In this release we have made a big change to the object model. We now pass references to the Application object place of references to the aggregate element, making the object model largely transparent. So when using the API, you pass application objects as arguments and the returned values can simply be cast appropriately. Internally we now also have strong typing, as everything is no longer simply a CElement.&lt;br /&gt;&lt;br /&gt;One consequence of this is that for every element  need an application object, so we've had to add a lot of Application classes for the various element roles used by the framework.&lt;br /&gt;&lt;br /&gt;There has also been a change to the implementation of transactions. They are now simply facods, carrying a reference to their associated element. Facods are strictly transient and are not aggregated into the element.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-7112651102475903733?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/7112651102475903733/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=7112651102475903733' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/7112651102475903733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/7112651102475903733'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/07/cowdb2-release-2-02.html' title='COWDB2 release 2-0.2'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-2541082134265854597</id><published>2008-07-05T18:33:00.000+05:30</published><updated>2008-07-05T18:34:03.029+05:30</updated><title type='text'>COWDB2 release 0.1.3</title><content type='html'>The control package is now complete, including the Javadocs.&lt;br /&gt;&lt;br /&gt;Contributors to this release:&lt;br /&gt;--Naji&lt;br /&gt;--Bill&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-2541082134265854597?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/2541082134265854597/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=2541082134265854597' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/2541082134265854597'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/2541082134265854597'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/07/cowdb2-release-013.html' title='COWDB2 release 0.1.3'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-1140164169252146085</id><published>2008-07-03T11:40:00.000+05:30</published><updated>2008-07-03T11:41:11.019+05:30</updated><title type='text'>COWDB2 release 0.1.2</title><content type='html'>o Read and write caches are now in place.&lt;br /&gt;o Threading issue addressed in handle.&lt;br /&gt;o Javadocs done for the contents and documents packages.&lt;br /&gt;o New Bytes capability added.&lt;br /&gt;&lt;br /&gt;Contributers to this release:&lt;br /&gt;- Naji&lt;br /&gt;- Bill&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-1140164169252146085?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/1140164169252146085/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=1140164169252146085' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/1140164169252146085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/1140164169252146085'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/07/cowdb2-release-012.html' title='COWDB2 release 0.1.2'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-8046910832324650600</id><published>2008-07-01T07:51:00.002+05:30</published><updated>2008-07-01T09:51:59.627+05:30</updated><title type='text'>COWDB2 release 0.1.1</title><content type='html'>o The Java Docs for the elements package been completed.&lt;br /&gt;o Some minor changes/enhancements made to the API.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-8046910832324650600?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/8046910832324650600/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=8046910832324650600' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/8046910832324650600'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/8046910832324650600'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/07/cowdb2-release-011.html' title='COWDB2 release 0.1.1'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-701573798176613388</id><published>2008-06-29T07:40:00.000+05:30</published><updated>2008-06-29T07:41:05.998+05:30</updated><title type='text'>COWDB2 release 0.1</title><content type='html'>o Bug fix: Transaction Abort is now working.&lt;br /&gt;o ForkBranch is now working, which means that all utilities (except RunScript and Browse) have now been implemented and are working.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-701573798176613388?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/701573798176613388/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=701573798176613388' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/701573798176613388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/701573798176613388'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/06/cowdb2-release-01.html' title='COWDB2 release 0.1'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-8739267897433220940</id><published>2008-06-27T13:37:00.001+05:30</published><updated>2008-06-27T13:37:40.573+05:30</updated><title type='text'>COWDB2 release 0.0.7</title><content type='html'>o Adjacent free and available blocks are now being consolidated. This solves a disk fragmentation problem and reduced the footprint on disk significantly.&lt;br /&gt;o Validate was raising bogus db corruption errors--fixed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-8739267897433220940?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/8739267897433220940/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=8739267897433220940' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/8739267897433220940'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/8739267897433220940'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/06/cowdb2-release-007.html' title='COWDB2 release 0.0.7'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-4341403585556061058</id><published>2008-06-25T10:32:00.000+05:30</published><updated>2008-06-25T10:33:11.172+05:30</updated><title type='text'>COWDB2 release 0.0.6</title><content type='html'>o The DeleteBranch utility is now working.&lt;br /&gt;o Disk Space Fragmentation has been addressed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-4341403585556061058?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/4341403585556061058/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=4341403585556061058' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/4341403585556061058'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/4341403585556061058'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/06/cowdb2-release-006.html' title='COWDB2 release 0.0.6'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-6197433214231420608</id><published>2008-06-23T14:28:00.000+05:30</published><updated>2008-06-23T14:29:24.439+05:30</updated><title type='text'>COWDB2 release 0.0.5</title><content type='html'>o ListBranches, CreateBranch, ListOpenBranches, and CloseBranch utilities are now working.&lt;br /&gt;o ChangeControlEvent and FreeEvent have been added to the object model.&lt;br /&gt;o Control classes have been refactored.&lt;br /&gt;o Convenience methods added to CObject and the code base updated to use them, making the code easier to read and write.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-6197433214231420608?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/6197433214231420608/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=6197433214231420608' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/6197433214231420608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/6197433214231420608'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/06/cowdb2-release-005.html' title='COWDB2 release 0.0.5'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-8598320025655582121</id><published>2008-06-21T12:20:00.003+05:30</published><updated>2008-06-21T12:24:56.040+05:30</updated><title type='text'>Your input is requested</title><content type='html'>I have just revised the home page for AgileWiki at &lt;a href="http://agilewiki.wiki.sourceforge.net/"&gt;http://agilewiki.wiki.sourceforge.net/&lt;/a&gt; and very much desire any suggestions you may have. I believe that a clear and compelling value proposition is important if we are to continue to grow the development team.&lt;br /&gt;&lt;br /&gt;Thanks in advance.&lt;br /&gt;&lt;br /&gt;Bill&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-8598320025655582121?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://agilewiki.wiki.sourceforge.net/' title='Your input is requested'/><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/8598320025655582121/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=8598320025655582121' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/8598320025655582121'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/8598320025655582121'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/06/your-input-is-requested.html' title='Your input is requested'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-692737798194234923</id><published>2008-06-21T10:00:00.000+05:30</published><updated>2008-06-21T10:01:21.103+05:30</updated><title type='text'>COWDB2 release 0.0.4</title><content type='html'>Validate is now working.&lt;br /&gt;&lt;br /&gt;When initializing a database, the trunk branch is now created.&lt;br /&gt;&lt;br /&gt;Aspect factories now take a fully qualified class name when instantiating a capability. As a result, COWDB2 is now fully extensible.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-692737798194234923?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/692737798194234923/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=692737798194234923' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/692737798194234923'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/692737798194234923'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/06/cowdb2-release-004.html' title='COWDB2 release 0.0.4'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-1708723887213173197</id><published>2008-06-20T11:54:00.002+05:30</published><updated>2008-06-20T11:59:56.396+05:30</updated><title type='text'>change attribute events</title><content type='html'>For a very long time now I have not been happy with attributes. On the one hand, they have been very dumb and on the other hand they can effect major changes. In COODBMS, only the admin was allowed to set attributes arbitrarily--the mechanism in place was completely unsafe.&lt;br /&gt;&lt;br /&gt;So my thought is to create a change attribute even and send it to the appropriate element aspects, which can then raise an exception if there is a problem, so it can be secured and yet made available to users as a fast way to make changes to an element.&lt;br /&gt;&lt;br /&gt;Again, events look like a great way for the aspects of an element to coordinate.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-1708723887213173197?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/1708723887213173197/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=1708723887213173197' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/1708723887213173197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/1708723887213173197'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/06/change-attribute-events.html' title='change attribute events'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-7862752295143133552</id><published>2008-06-17T17:37:00.001+05:30</published><updated>2008-06-17T17:38:29.935+05:30</updated><title type='text'>going off line for PC repair</title><content type='html'>Taking my thinkpad in for repair. The display no longer works and, while I can work using a monitor, I'm thinking I should get it fixed.&lt;br /&gt;&lt;br /&gt;Not sure how long I will be off line. :-(&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-7862752295143133552?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/7862752295143133552/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=7862752295143133552' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/7862752295143133552'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/7862752295143133552'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/06/going-off-line-for-pc-repair.html' title='going off line for PC repair'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-405416858153935051</id><published>2008-06-17T08:26:00.000+05:30</published><updated>2008-06-17T08:27:07.304+05:30</updated><title type='text'>COWDB2 release 0.0.3</title><content type='html'>* Unblock was not updating disk.&lt;br /&gt;* UnblockUpdates, listOpenDbs and closeDb utilities are now working.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-405416858153935051?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/405416858153935051/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=405416858153935051' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/405416858153935051'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/405416858153935051'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/06/cowdb2-release-003.html' title='COWDB2 release 0.0.3'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-3309367966420132840</id><published>2008-06-15T13:28:00.002+05:30</published><updated>2008-06-15T13:37:12.928+05:30</updated><title type='text'>disk space management</title><content type='html'>In COWDB2 we should be able to implement a much more scalable and fragmentation resistant memory management system.&lt;br /&gt;&lt;br /&gt;First, we can round up allocation requests to the nearest Fibonacci number. This will prevent disk space fragmentation.&lt;br /&gt;&lt;br /&gt;Second, we can take a 2-tier approach to space management. The first tier will be a  system which is embedded in the root element itself. It will not be scalable and will only be used for managing the space used by the second tier. At issue here is that the root element must not grow beyond an anticipated size.&lt;br /&gt;&lt;br /&gt;The second tier will [eventually] be a manager which uses a b-tree. Space for the elements of the b-tree will be managed by the first tier manager, while the second tier manager handles everything else. By using a b-tree for managing space in the second tier manager, we achieve the desired scalability.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-3309367966420132840?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/3309367966420132840/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=3309367966420132840' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/3309367966420132840'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/3309367966420132840'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/06/disk-space-management.html' title='disk space management'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-5991484308008315505</id><published>2008-06-15T09:39:00.000+05:30</published><updated>2008-06-15T09:40:38.278+05:30</updated><title type='text'>COWDB2 release 0.0.2</title><content type='html'>The following utilities are now working:&lt;br /&gt;- tracebackLoggingOn,&lt;br /&gt;- tracebackLoggingOff,&lt;br /&gt;- listDbs and&lt;br /&gt;- blockUpdates.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-5991484308008315505?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/5991484308008315505/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=5991484308008315505' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/5991484308008315505'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/5991484308008315505'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/06/cowdb2-release-002.html' title='COWDB2 release 0.0.2'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-7749323424850987592</id><published>2008-06-13T19:58:00.002+05:30</published><updated>2008-06-13T20:06:54.362+05:30</updated><title type='text'>Aspect Programming with fine-grained Aggregation and IOC</title><content type='html'>I am simply delighted with the way the new object model is progressing. More powerful and flexible than anticipated. At some point I expect to make much more extensive use of element aggregates in the framework but for now I think we will make do with implementing all the transactions as elements.&lt;br /&gt;&lt;br /&gt;I've ported over the low-level database logic and have integrated the role element property file with the database configuration property file. So there is some progress besides the work being done on the object model. Still not much is working, but what does work is being tested regularly.&lt;br /&gt;&lt;br /&gt;One thing which has frustrated me for years is trying to map rolonic structures into a single class heirarchy. At a minimum you need mixins. COWDB's simple aggregation wasn't used to address this--not enough aspects had been broken out. But aggregation in COWDB2 is much more fine-grained and really works nicely.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-7749323424850987592?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/7749323424850987592/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=7749323424850987592' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/7749323424850987592'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/7749323424850987592'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/06/aspect-programming-with-fine-grained.html' title='Aspect Programming with fine-grained Aggregation and IOC'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-5146885974166994986</id><published>2008-06-12T16:18:00.002+05:30</published><updated>2008-06-12T16:28:25.392+05:30</updated><title type='text'>You know you are doing something right when...</title><content type='html'>In the Rolonics world view, everything has for major aspects: wholeness, partness, structure and stream. Now these are the four packages under the elements package in the COWDB2 object model. Seems fitting.&lt;br /&gt;&lt;br /&gt;I've always wondered why I could not implement a Rolonics database in a Rolonic fashion. I've tried for years to incorporate Rolonics into the implementation. Finally, it looks like I'm getting there. I just seemed to me that if Rolonics was so all-encompassing, I should be able to use it no matter what I was programming. The turning point was in implementing elements as aggregates, where each of the objects in the aggregate was for a different aspect of the element.&lt;br /&gt;&lt;br /&gt;Now the exciting thing about all this is that the functionality of the elements divides up so nicely into different aspects, where normally aspects are all interwoven through the code base. This is just another indication to me that there is something very very right Rolonics.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-5146885974166994986?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/5146885974166994986/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=5146885974166994986' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/5146885974166994986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/5146885974166994986'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/06/you-know-you-are-doing-something-right.html' title='You know you are doing something right when...'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-8751592623983106309</id><published>2008-06-12T07:38:00.001+05:30</published><updated>2008-06-12T07:40:07.116+05:30</updated><title type='text'>COWDB2 release 0.0.1</title><content type='html'>The new COWDB2 server can now [only] process shutdown requests.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-8751592623983106309?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/8751592623983106309/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=8751592623983106309' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/8751592623983106309'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/8751592623983106309'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/06/cowdb2-release-001.html' title='COWDB2 release 0.0.1'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-9126727174007473920</id><published>2008-06-09T19:56:00.002+05:30</published><updated>2008-06-09T20:06:59.270+05:30</updated><title type='text'>a 2-pronged approach</title><content type='html'>Made some good progress on the object model for COWDB2, but still there is a long way to go.&lt;br /&gt;&lt;br /&gt;I also started working on migrating the COODBMS server code over to COWDB2. One very fine thing here is that we will have only one object model, rather than the 2 in COWDB, as the new object model supports both persistent and non-persistent elements. And that removes a major learning hurdle.&lt;br /&gt;&lt;br /&gt;Now as I'm spreading myself so thin, progress now will slow even more. But while I'm trying to write nice clear code for the new object model, the framework is being ported "as is." So it will go a bit more quickly. But once I get a bit further I'll start testing with the "old" Browse program. So again things will slow. But that's all fine, so long as COWDB2 comes out of the development process in a form that is easier to understand.&lt;br /&gt;&lt;br /&gt;As the (past) Director of Engineering at Fiorano, I was always saying that working code is simply not good enough. So I've talked the talk and now I'm walking the walk. But I am also hopeful that the new object model will be interesting in its own right. I must admit, I've not done much with aggregation before. But then I've never had to deal with anything quite so flexible.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-9126727174007473920?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/9126727174007473920/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=9126727174007473920' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/9126727174007473920'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/9126727174007473920'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/06/2-pronged-approach.html' title='a 2-pronged approach'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-7593826502193871111</id><published>2008-06-08T21:09:00.003+05:30</published><updated>2008-06-08T21:15:34.259+05:30</updated><title type='text'>A good start on COWDB2</title><content type='html'>It is the beginning of monsoon season here. We get rains in the afternoon and evening. And like every year in Raipur, the rains bring frequent and repeated power outages. Fortunately this condition doesn't last for too long. After a while the electric company gets things under control again and power becomes stable. Indeed, one of the advantages of living in Raipur is that the state capital has a surplus of electricity. It's only a temporary distribution problem.&lt;br /&gt;&lt;br /&gt;I have however made a good start on COWDB2 today, though there is a very long road ahead. It is fun though, rationalizing the API. You can follow my progress at &lt;a href="http://agilewiki.wiki.sourceforge.net/COWDB2"&gt;http://agilewiki.wiki.sourceforge.net/COWDB2&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-7593826502193871111?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/7593826502193871111/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=7593826502193871111' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/7593826502193871111'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/7593826502193871111'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/06/good-start-on-cowdb2.html' title='A good start on COWDB2'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-259729983293048354</id><published>2008-06-08T07:11:00.001+05:30</published><updated>2008-06-08T07:13:07.528+05:30</updated><title type='text'>COODBMS, a qualified success</title><content type='html'>I count COODBMS as an overall success. It includes a significant number of AgileWiki3's capabilities, despite having a very different implementation. It is significantly more robust than AgileWiki3 and solved the problem of having an ever growing footprint on disk--AgileWiki3 had no equivalent to COODBMS's PurgeHistory. Still it is a partial implementation of AgileWiki3 and there is much to be done if we were to continue this implementation.&lt;br /&gt;&lt;br /&gt;The failure of COODBMS is a general lack of clarity. This is partly because it was a layered implementation which did not anticipate the all of the requirements. Partly it is because the implementation is so very different from AgileWiki3. And partly because an important capability--time navigation--was added as an afterthought. Considering the size of the effort remaining, I believe it best to begin again with COWDB2, though hopefully there will be many large chunks of code that can easily be moved to the new implementation.&lt;br /&gt;&lt;br /&gt;The rewrite will have a very similar overall architecture, with only minor changes. Where I expect to have the most changes are in the object model. The old implementation had 2 object models in the server and a third in the client. And as the implementation progressed, it was the object model which suffered the most. Otherwise I expect most of the ideas and techniques to carry over, all be it as a cleaner and clearer implementation.&lt;br /&gt;&lt;br /&gt;As released, COWDB release 4.1 and COODBMS release 0.19.1 are fully functional and have no known bugs. In that reguard I can only hope that COWDB2 does as well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-259729983293048354?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/259729983293048354/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=259729983293048354' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/259729983293048354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/259729983293048354'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/06/coodbms-qualified-success.html' title='COODBMS, a qualified success'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-3111143072333591791</id><published>2008-06-07T18:07:00.000+05:30</published><updated>2008-06-07T18:08:07.910+05:30</updated><title type='text'>COODBMS release 0.19.1</title><content type='html'>There are no known bugs as of this release, which includes fixes for caching problems, memory leaks and navigation of past time. Multi-threaded stress testing has also been completed successfully.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-3111143072333591791?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/3111143072333591791/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=3111143072333591791' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/3111143072333591791'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/3111143072333591791'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/06/coodbms-release-0191.html' title='COODBMS release 0.19.1'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-2240365284874948785</id><published>2008-06-06T10:45:00.000+05:30</published><updated>2008-06-06T10:46:31.183+05:30</updated><title type='text'>COWDB release 4.1</title><content type='html'>Dirty cache issues and memory leaks have now been addressed. There are no known bugs.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-2240365284874948785?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/2240365284874948785/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=2240365284874948785' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/2240365284874948785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/2240365284874948785'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/06/cowdb-release-41.html' title='COWDB release 4.1'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-1886812823738730622</id><published>2008-06-06T09:47:00.002+05:30</published><updated>2008-06-06T09:50:55.522+05:30</updated><title type='text'>COODBMS cleans up nicely</title><content type='html'>After that last run, I ran purge history. Here's the result:&lt;br /&gt;&lt;br /&gt;  Branch Index Count = 123&lt;br /&gt;  Well Known Table Count = 4&lt;br /&gt;  Links Table Count = 38&lt;br /&gt;  Backlinks Table Count = 38&lt;br /&gt;  Transaction Index Count = 22&lt;br /&gt;&lt;br /&gt;Available blocks = 40.&lt;br /&gt;Blocks in use=556.&lt;br /&gt;Internal nodes=20.&lt;br /&gt;&lt;br /&gt;So it cleans up very nicely.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-1886812823738730622?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/1886812823738730622/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=1886812823738730622' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/1886812823738730622'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/1886812823738730622'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/06/coodbms-cleans-up-nicely.html' title='COODBMS cleans up nicely'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-2423138133074574512</id><published>2008-06-06T09:42:00.002+05:30</published><updated>2008-06-06T09:46:00.437+05:30</updated><title type='text'>COODBMS is working</title><content type='html'>I increased the dirty cache size from 750 to 4096 and the memory leaks vanished. I'll note that the new algo for managing the dirty cache does require a larger cache size.&lt;br /&gt;&lt;br /&gt;  Branch Index Count = 79&lt;br /&gt;  Well Known Table Count = 702&lt;br /&gt;  Links Table Count = 1412&lt;br /&gt;  Backlinks Table Count = 1412&lt;br /&gt;  Transaction Index Count = 349&lt;br /&gt;&lt;br /&gt;Available blocks: 1056.&lt;br /&gt;Blocks in use: 43,613.&lt;br /&gt;Internal nodes: 102.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-2423138133074574512?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/2423138133074574512/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=2423138133074574512' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/2423138133074574512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/2423138133074574512'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/06/coodbms-is-working.html' title='COODBMS is working'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-608282152029983574</id><published>2008-06-06T08:07:00.002+05:30</published><updated>2008-06-06T08:18:31.840+05:30</updated><title type='text'>one step forward, two back</title><content type='html'>The bug in dirty cache is fixed. I set the max entries down to 64 to add further stress on the system and the scripts ran longer but still I am getting a memory leak.&lt;br /&gt;&lt;br /&gt;At the time of the memory leak, the number of blocks in use is 20,576, and 47 internal nodes. but the number of available blocks is 405. No problem here, but my concern is that in production the number of available blocks would be very much higher--and the table of available blocks is kept in a single block. Transaction count is 154 (I was not running purge history).&lt;br /&gt;&lt;br /&gt;Here's the script I was running, where each run is processed as a single transaction:&lt;br /&gt;&lt;br /&gt;//exercise removeWellknownName&lt;br /&gt;createWellknown a1&lt;br /&gt;go /a1&lt;br /&gt;removeWellknownName&lt;br /&gt;&lt;br /&gt;//removing a link&lt;br /&gt;createWellknown a1&lt;br /&gt;createWellknown b1&lt;br /&gt;go /a1&lt;br /&gt;cu&lt;br /&gt;addOrderedSection l&lt;br /&gt;go l&lt;br /&gt;addLink b /b1&lt;br /&gt;go /b1&lt;br /&gt;go /a1/CU/l&lt;br /&gt;remove b&lt;br /&gt;go /b1&lt;br /&gt;removeWellknownName&lt;br /&gt;go /a1&lt;br /&gt;removeWellknownName&lt;br /&gt;&lt;br /&gt;//adopting a child&lt;br /&gt;createWellknown a1&lt;br /&gt;createWellknown b1&lt;br /&gt;go /a1&lt;br /&gt;adoptChild b /b1&lt;br /&gt;go b&lt;br /&gt;removeWellknownName&lt;br /&gt;go /a1&lt;br /&gt;removeWellknownName&lt;br /&gt;&lt;br /&gt;//fork a child&lt;br /&gt;createWellknown a1&lt;br /&gt;createWellknown b1&lt;br /&gt;go /a1&lt;br /&gt;adoptFork b /b1&lt;br /&gt;removeWellknownName&lt;br /&gt;go /b1&lt;br /&gt;removeWellknownName&lt;br /&gt;&lt;br /&gt;//set well known name&lt;br /&gt;createWellknown a1&lt;br /&gt;go /a1&lt;br /&gt;createChild b&lt;br /&gt;go b&lt;br /&gt;setWellknownName b1&lt;br /&gt;go /a1&lt;br /&gt;removeWellknownName&lt;br /&gt;go /b1&lt;br /&gt;removeWellknownName&lt;br /&gt;&lt;br /&gt;//well known fork&lt;br /&gt;createWellknown a1&lt;br /&gt;go /a1&lt;br /&gt;createChild b&lt;br /&gt;go b&lt;br /&gt;wellknownFork b1&lt;br /&gt;go /a1&lt;br /&gt;removeWellknownName&lt;br /&gt;go /b1&lt;br /&gt;removeWellknownName&lt;br /&gt;&lt;br /&gt;//reorder parents&lt;br /&gt;createWellknown a1&lt;br /&gt;createWellknown b1&lt;br /&gt;go /a1&lt;br /&gt;createChild ac&lt;br /&gt;go /b1&lt;br /&gt;adoptChild bc /a1/ac&lt;br /&gt;go bc&lt;br /&gt;moveParentFirst /b1&lt;br /&gt;go /b1&lt;br /&gt;removeWellknownName&lt;br /&gt;go /a1/ac&lt;br /&gt;go /a1&lt;br /&gt;removeWellknownName&lt;br /&gt;&lt;br /&gt;//change child name&lt;br /&gt;createWellknown a1&lt;br /&gt;go /a1&lt;br /&gt;createChild b&lt;br /&gt;changeChildName b c&lt;br /&gt;go c&lt;br /&gt;go /a1&lt;br /&gt;removeWellknownName&lt;br /&gt;&lt;br /&gt;//change key&lt;br /&gt;createWellknown a1&lt;br /&gt;go /a1&lt;br /&gt;lu&lt;br /&gt;addOrderedSection x&lt;br /&gt;addOrderedSection y&lt;br /&gt;changeKey x z&lt;br /&gt;go /a1&lt;br /&gt;removeWellknownName&lt;br /&gt;&lt;br /&gt;//change Classifier Section name&lt;br /&gt;createWellknown a1&lt;br /&gt;createWellknown b1&lt;br /&gt;go /a1&lt;br /&gt;cu&lt;br /&gt;addOrderedSection l&lt;br /&gt;go l&lt;br /&gt;addLink b /b1&lt;br /&gt;cu&lt;br /&gt;changeKey l links&lt;br /&gt;go /b1&lt;br /&gt;removeWellknownName&lt;br /&gt;go /a1&lt;br /&gt;removeWellknownName&lt;br /&gt;&lt;br /&gt;wellknown&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-608282152029983574?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/608282152029983574/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=608282152029983574' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/608282152029983574'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/608282152029983574'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/06/one-step-forward-two-back.html' title='one step forward, two back'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-122272020623431456</id><published>2008-06-05T19:59:00.002+05:30</published><updated>2008-06-05T20:03:14.562+05:30</updated><title type='text'>shaking down nicely</title><content type='html'>COODBMS runs consistently until it is about 3 Mb in size. Then the caching problem nails it every time. But that was long enough a run time to complete some nice multi-threading stress tests, which it passed with flying colors.&lt;br /&gt;&lt;br /&gt;So there is still the odd bug or 3, but we are getting close to a production release. We also need one final feature--load/dump to external files. This will be essential for migration to new releases as the internal structures evolve.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-122272020623431456?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/122272020623431456/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=122272020623431456' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/122272020623431456'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/122272020623431456'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/06/shaking-down-nicely.html' title='shaking down nicely'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-4103362890512211553</id><published>2008-06-05T14:51:00.000+05:30</published><updated>2008-06-05T14:52:51.808+05:30</updated><title type='text'>COODBMS release 0.19</title><content type='html'>o Bug found/fixed: validate throwing spurious dup allocation exceptions.&lt;br /&gt;o Bug found/fixed: validate was closing the database.&lt;br /&gt;o Bugs found/fixed: the the remove methods of sorted and sorted iterator had memory leaks.&lt;br /&gt;o The first argument of adoptChild and adoptFork are now optional.&lt;br /&gt;o Bug found/fixed: the well known table was occasionally deleting itself.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-4103362890512211553?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/4103362890512211553/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=4103362890512211553' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/4103362890512211553'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/4103362890512211553'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/06/coodbms-release-019.html' title='COODBMS release 0.19'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-3100519459195872771</id><published>2008-06-04T21:53:00.000+05:30</published><updated>2008-06-04T21:54:38.377+05:30</updated><title type='text'>COWDB release 4</title><content type='html'>o Database validation is greatly enhanced.&lt;br /&gt;o Disk space management of branches has been fixed.&lt;br /&gt;o A pending table has been added for tracking space which has been freed in one branch but not in another.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-3100519459195872771?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/3100519459195872771/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=3100519459195872771' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/3100519459195872771'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/3100519459195872771'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/06/cowdb-release-4.html' title='COWDB release 4'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-4536622871347251196</id><published>2008-06-03T15:37:00.003+05:30</published><updated>2008-06-03T15:44:24.370+05:30</updated><title type='text'>things are going well</title><content type='html'>With release 0.18.9, the only significant known error remaining is a memory leak. The work done these last two days was not easy, but putting an end to those pending errors was a great step forward.&lt;br /&gt;&lt;br /&gt;I'll note that memory leaks only occur when there are internal b-tree nodes, so that gives me a great starting point. And the memory leaks are easy enough to force--just let the database grow and they start happening. So it should only be a matter of investing the time/labor to find the leak. And as other errors are not occurring, it is easy now to focus on this one bug. The downside, of course, is that finding memory leaks is never a fun process. Sigh.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-4536622871347251196?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/4536622871347251196/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=4536622871347251196' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/4536622871347251196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/4536622871347251196'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/06/things-are-going-well.html' title='things are going well'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-4531628645583262951</id><published>2008-06-03T14:12:00.000+05:30</published><updated>2008-06-03T14:13:17.724+05:30</updated><title type='text'>COODBMS release 0.18.9</title><content type='html'>o Reworked how freed blocks are processed--the code was not working when there were multiple branches/snapshots. This fixes all known pending errors.&lt;br /&gt;o A validation table was added to prevent pending errors from corrupting the database. Free validates against this table.&lt;br /&gt;o Small bugs fixed relating to syntax error handling and time navigation.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-4531628645583262951?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/4531628645583262951/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=4531628645583262951' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/4531628645583262951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/4531628645583262951'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/06/coodbms-release-0189.html' title='COODBMS release 0.18.9'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-685009434954504340</id><published>2008-06-02T21:49:00.002+05:30</published><updated>2008-06-02T21:53:43.938+05:30</updated><title type='text'>finally caught my tail!</title><content type='html'>I've been chasing my tail all day trying to track down pending and dup allocation errors. I did narrow it down to a chained fork issue. Then after a few more turns I finally realized the flaw in the logic.&lt;br /&gt;&lt;br /&gt;So I expect finally to make some progress tomorrow. Today has been... "educational." I always say, if you pound your head against the wall long enough and hard enough, eventually something will give way. Fortunately I'm a tad hard headed. (A trait which is not always appreciated!) :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-685009434954504340?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/685009434954504340/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=685009434954504340' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/685009434954504340'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/685009434954504340'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/06/finally-caught-my-tail.html' title='finally caught my tail!'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-2877603183225777546</id><published>2008-06-01T13:48:00.002+05:30</published><updated>2008-06-01T13:52:40.064+05:30</updated><title type='text'>back from Delhi, Ruby</title><content type='html'>Back from a trip to Delhi, and a bit tired. I did manage to read a book on Delhi and I like the language, especially blocks. I am thinking that display logic can be written in Ruby (or Python), stored in DSecs in the database and accessed as needed. This will keep the front end thin and application independent.&lt;br /&gt;&lt;br /&gt;But first there are a few bugs that need fixing.&lt;br /&gt;&lt;br /&gt;Bill&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-2877603183225777546?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/2877603183225777546/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=2877603183225777546' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/2877603183225777546'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/2877603183225777546'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/06/back-from-delhi-ruby.html' title='back from Delhi, Ruby'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-1989969522894420972</id><published>2008-05-24T08:57:00.005+05:30</published><updated>2008-05-24T09:34:59.527+05:30</updated><title type='text'>corruption, fragmentation and scalability</title><content type='html'>Disk space management is the foundation on which AgileWiki is being built. And there are three which need to be addressed: corruption, fragmentation and scalability. Until these are addressed there is little point in continuing.&lt;br /&gt;&lt;br /&gt;The form of corruption which concerns me most is pending errors. This occurs when one leg of a&lt;br /&gt;fork frees a block which is still in use by the other and then a system-level free of the block occurs. Unfortunately the API lends itself to this error. But it is likely quite repairable--the block is no longer in use and only we have not removed the block from the pending list. On the other hand, since it is an easy error to make, we need to be able to catch this error prior to completing the transaction which does the system-level free of the block. This can be done by maintaining a database-level list of all pending blocks and checking this list prior to doing a free. Other forms of database corruption being experienced just need to be shook out of the existing code base through the usual test/fix process.&lt;br /&gt;&lt;br /&gt;Fragmentation is another concern, especially as the list of all free blocks is maintained in memory. Currently this is being addressed by forcing all disk space allocations to be a multiple of 64. Increasing this number has a significant impact on fragmentation and the number of blocks in the free block list, but is expensive in terms of small blocks. But there are other approaches which can be used. Remember the old buddy allocation scheme where blocks were allocated with a length which was always a power of 2? Fragmentation is avoided, but at a cost increasing disk space requirements by 100%. I am thinking that there is a less costly approach. We only allocate blocks whose size is a Fibonacci Number. This should also avoid fragmentation while increasing disk space requirements by only 60%.&lt;br /&gt;&lt;br /&gt;Finally, there is a scalability issue in the pending lists held by the fork blocks. This list can get very large. We need to move these lists out of the fork block and into another database-level table.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-1989969522894420972?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/1989969522894420972/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=1989969522894420972' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/1989969522894420972'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/1989969522894420972'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/05/corruption-fragmentation-and.html' title='corruption, fragmentation and scalability'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-7826609605376350546</id><published>2008-05-23T19:09:00.002+05:30</published><updated>2008-05-23T19:10:43.536+05:30</updated><title type='text'>COODBMS release 0.18.8</title><content type='html'>o Validate now logs numerous counts helpful in assuring the integrity of the database.&lt;br /&gt;o PurgeHistory is now removes all old links and backlinks.&lt;br /&gt;o Backlinks are now correct--fixed a bug in JTransacton.&lt;br /&gt;&lt;br /&gt;There will be no subsequent release for the next week--I'm traveling.&lt;br /&gt;&lt;br /&gt;--b&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-7826609605376350546?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/7826609605376350546/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=7826609605376350546' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/7826609605376350546'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/7826609605376350546'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/05/coodbms-release-0188.html' title='COODBMS release 0.18.8'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-4019269446382247224</id><published>2008-05-21T17:44:00.001+05:30</published><updated>2008-05-21T17:44:54.748+05:30</updated><title type='text'>COODBMS release 0.18.7</title><content type='html'>o loggers have been split out for fine-grain control and the basic disk management events have been added.&lt;br /&gt;&lt;br /&gt;o Validate no longer reports a bogus memory leak.&lt;br /&gt;&lt;br /&gt;o JUnit internal node configuration has been fixed.&lt;br /&gt;&lt;br /&gt;o RunScript now accesses static.cowdb with a query rather than a transaction.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-4019269446382247224?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/4019269446382247224/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=4019269446382247224' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/4019269446382247224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/4019269446382247224'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/05/coodbms-release-0187.html' title='COODBMS release 0.18.7'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-514763435679579480</id><published>2008-05-21T07:32:00.001+05:30</published><updated>2008-05-21T07:33:55.106+05:30</updated><title type='text'>more bugs</title><content type='html'>I just realized that there are several places where internal b-tree nodes are transparent where they should not be. Gotta fix this.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-514763435679579480?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/514763435679579480/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=514763435679579480' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/514763435679579480'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/514763435679579480'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/05/more-bugs.html' title='more bugs'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-8346896915225974874</id><published>2008-05-20T20:42:00.003+05:30</published><updated>2008-05-20T20:53:58.065+05:30</updated><title type='text'>good progress today</title><content type='html'>The memory leak which occurs after the backlinks table splits are the two new subordinate nodes of the backlinks table root node. This is because validate does not see the subordinate nodes--they are transparent to the normal iterator. Basically this is a bug in validate.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-8346896915225974874?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/8346896915225974874/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=8346896915225974874' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/8346896915225974874'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/8346896915225974874'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/05/good-progress-today.html' title='good progress today'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-6786391655454757796</id><published>2008-05-20T08:45:00.000+05:30</published><updated>2008-05-20T08:46:37.956+05:30</updated><title type='text'>COODBMS release 0.18.6</title><content type='html'>o Enhanced disk space management consolidates adjacent blocks sooner and has a new method, notFree, which confirms that a block has not been freed.&lt;br /&gt;&lt;br /&gt;o Additional test scripts included in this release.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-6786391655454757796?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/6786391655454757796/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=6786391655454757796' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/6786391655454757796'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/6786391655454757796'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/05/coodbms-release-0186.html' title='COODBMS release 0.18.6'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-8886883110702467949</id><published>2008-05-19T09:04:00.002+05:30</published><updated>2008-05-19T09:11:34.744+05:30</updated><title type='text'>the new AvailableApp</title><content type='html'>The new AvailableApp is working just great and sports a method, notFree, which can be used by Fork to catch that intermittent (and likely debugging-related) database corruption bug just a bit earlier.&lt;br /&gt;&lt;br /&gt;One advantage of the new code is that it consolidates adjacent free blocks sooner. Another advantage is that you can check to see if a block has already been freed sooner and more easily.&lt;br /&gt;&lt;br /&gt;On the down side, the validate utility is now broken and needs to be fixed. And the new code offers no help in the latest database corruption bug which occurs after a [b-tree] split, as that is a memory leak and can only be detected by the validate utility by walking through all structures.&lt;br /&gt;&lt;br /&gt;(The sourceforge site is down as I write this, though the new code has been checked in.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-8886883110702467949?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/8886883110702467949/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=8886883110702467949' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/8886883110702467949'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/8886883110702467949'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/05/new-availableapp.html' title='the new AvailableApp'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-4146111048484302382</id><published>2008-05-18T16:50:00.000+05:30</published><updated>2008-05-18T16:51:20.123+05:30</updated><title type='text'>COODBMS release 0.18.5</title><content type='html'>o Reworked PurgeHistory;&lt;br /&gt;o Found/fixed a bug in Rolon.free;&lt;br /&gt;o Browse run command now handles full-line comments; and&lt;br /&gt;o 6 test scripts added.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-4146111048484302382?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/4146111048484302382/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=4146111048484302382' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/4146111048484302382'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/4146111048484302382'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/05/coodbms-release-0185.html' title='COODBMS release 0.18.5'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-2034090812600607228</id><published>2008-05-18T16:08:00.002+05:30</published><updated>2008-05-18T16:12:45.811+05:30</updated><title type='text'>a rough spot</title><content type='html'>There are now two bugs causing database corruption. One occurs when doing debugging, the other occurs when the backlinks table splits. And as the code stands, these are not easy bugs to find.&lt;br /&gt;&lt;br /&gt;Database integrity is validated by a separate utility and can not currently be called as needed while processing a transaction. But the logic which manages disk space can be enhanced so we can check db integrity at any time--so long as only one thread is running. Seems to me like a very worthwhile project.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-2034090812600607228?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/2034090812600607228/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=2034090812600607228' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/2034090812600607228'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/2034090812600607228'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/05/rough-spot.html' title='a rough spot'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-6073244382982765342</id><published>2008-05-17T12:17:00.002+05:30</published><updated>2008-05-17T12:35:13.470+05:30</updated><title type='text'>shaken, not stirred</title><content type='html'>Just got in. Left Delhi at 4:55 AM on Friday and then spent the next 30 hours being rocked back and forth. I am told that I will need to return again to Delhi in 2+ weeks. Meanwhile I have US and Indian taxes to work on. Life is what you make of it, yes?&lt;br /&gt;&lt;br /&gt;So there I was, thinking about 2-time. It finally dawned on me that "it is much simpler than I had been thinking." Indeed, there is nothing further that needs to be implemented. Consider a check register application. Let us say that each check entry is a Rolon and we have a ledger Rolon whose children are the checks--and the check Rolons are named by the Ledger Rolon with a key which begins with the date the check was written, i.e. the effective date. This is a 2-time check register.&lt;br /&gt;&lt;br /&gt;The first time axis is operational time.  This is the time when a check is entered into the system or the time when the check entry rolon is updated. Operational time is also what we navigate with the "when" command. So we can easily go back to before then last set of entries/changes were added to the system and view the ledger (the children of the ledger rolon) for some past time.&lt;br /&gt;&lt;br /&gt;The second time axis is effective time and is the prefix of the keys used to name the check entries in the ledger rolon.  We see things in effective time order when we list the children of the ledger rolon. And we can process them in effective order when we iterate through the children of the ledger rolon.&lt;br /&gt;&lt;br /&gt;And that's 2-time. Is simple.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-6073244382982765342?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/6073244382982765342/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=6073244382982765342' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/6073244382982765342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/6073244382982765342'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/05/shaken-not-stirred.html' title='shaken, not stirred'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-367766788265135582</id><published>2008-05-11T19:51:00.001+05:30</published><updated>2008-05-11T19:53:06.804+05:30</updated><title type='text'>off line for a few days</title><content type='html'>Heading out to Delhi by train tomorrow morning to apply for a new visa. I'll be back Thursday.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-367766788265135582?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/367766788265135582/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=367766788265135582' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/367766788265135582'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/367766788265135582'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/05/off-line-for-few-days.html' title='off line for a few days'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-4487934456765221569</id><published>2008-05-11T19:50:00.000+05:30</published><updated>2008-05-11T19:51:13.850+05:30</updated><title type='text'>COODBMS release 0.18.4</title><content type='html'>o Multiple sessions are now supported.&lt;br /&gt;o Numerous bug fixes have been added.&lt;br /&gt;o Purge history is now working but remains incomplete.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-4487934456765221569?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/4487934456765221569/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=4487934456765221569' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/4487934456765221569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/4487934456765221569'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/05/coodbms-release-0184.html' title='COODBMS release 0.18.4'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-1943452207682684485</id><published>2008-05-10T13:22:00.002+05:30</published><updated>2008-05-10T14:17:47.785+05:30</updated><title type='text'>retrodiction, when?</title><content type='html'>Retrodiction, the ability to change our perception of past events, is a key concept in Rolonics. Every living thing has this capability and many applications in the insurance industry, to give an example, require this capability. But this capability was not part of AgileWiki3, nor is it a part of COODBMS--these time machines only allow past state to be navigated.&lt;br /&gt;&lt;br /&gt;Now depending on how it is implemented, retrodiction can be very expensive. Normally you simply reprocess all activity since the last valid snapshot. But while this may work for an application with well defined scope, it does not work in the general case unless we have well defined worksets--and even then it can be expensive.&lt;br /&gt;&lt;br /&gt;Working with virtual snapshots, as COODBMS does, has a similar problem when it comes to retrodiction--how many snapshots need to be created, i.e. which journal entries need to be revisited? Again, it would work ok for an application with very narrow scoping.&lt;br /&gt;&lt;br /&gt;On the other hand, deductive inferencing systems, good ones any way (not AgileWiki3) track the dependencies of each deduction and allow changes. (All X were smaller than i, but now we have a new X which is larger than i.) Ah hah! Here we have the basis for a scalable retrodiction system.&lt;br /&gt;&lt;br /&gt;But there's still a trick. Retrodiction is about viewing past state and changes over time. If we implement it as part of the inferencing layer, then we need to support views of deductions in 2-time. So for example, if at time t4 we enter a policy with an effective date of t1 and a claim for time t2 is entered at time t3, then we need to conclude at time t3 that the claim is invalid but revise at conclusion at time t4, for at time t4 we see the retrodicted history of having a policy at time t1 and a claim at t2.&lt;br /&gt;&lt;br /&gt;So I am thinking we can have a scalable retrodiction system by implementing it in the inference layer. But our inference engine will need to work in 2-time.&lt;br /&gt;&lt;br /&gt;Now let us consider a check register. We want to view the checks in the order they were written, not in the order they were entered. And we want to know the account balance when each check was issued. Now we deduce the balance from the balance after the previous activity completed. But my wife and I have a joint account and I am especially bad at entering the checks I have written. So for a given check, the prior check will change over time. This then changes what the account balance was when the check was written and impacts subsequent checks as well. But this is nothing that a good inverence engine can't handle.&lt;br /&gt;&lt;br /&gt;Now here I am talking about using inferencing as a means of implementing a scalable retrictive system. The problem is that inferencing systems don't scale. Fortunately this is one issue which was addressed in AgileWiki3. In the semantic layer (namespaces) we define worksets and use those worksets to restrict the scope of any given inference. Bingo!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-1943452207682684485?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/1943452207682684485/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=1943452207682684485' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/1943452207682684485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/1943452207682684485'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/05/retrodiction-when.html' title='retrodiction, when?'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9431139.post-1538525895014403499</id><published>2008-05-09T16:10:00.001+05:30</published><updated>2008-05-09T16:10:23.799+05:30</updated><title type='text'>COODBMS release 0.18.3</title><content type='html'>o Bug fix: snapshot backlinks were incorrect.&lt;br /&gt;o Bug fix: links were accessible prior to their creation.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9431139-1538525895014403499?l=laforge49.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://laforge49.blogspot.com/feeds/1538525895014403499/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9431139&amp;postID=1538525895014403499' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/1538525895014403499'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9431139/posts/default/1538525895014403499'/><link rel='alternate' type='text/html' href='http://laforge49.blogspot.com/2008/05/coodbms-release-0183.html' title='COODBMS release 0.18.3'/><author><name>Bill la Forge</name><uri>http://www.blogger.com/profile/11660659618343045817</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
