Archive for the ‘Development Update’ Category

Devo Update

Saturday, January 17th, 2009

I am about halfway through coding a common parser for the witness, audit and evaluator functions. This should make it easier to accomodate future changes to the record syntax and report structure. For example, it might be simpler to change the Accounting Model field into a Account Type field, which might imply breaking reports into separate accounts in cases where separate unused  budgets are tracked. The only downside is that an evaluator feature would have to do more work in pulling different types of accounts when calculating metrics such as inflow/outflow ratios.

Prowl Demo

Sunday, January 4th, 2009

A heavily revised Prowl protocol is now available for demonstration.  An announcement is available at a prowl-users group, which was set up to encourage discussions on publisher and reporter standards that different currency platform applications could support. It is hoped that different accounting models, with specifications on what parameters to track and metrics to calculate, will be developed and supported by Prowl reporter applications.

Please find time to try the demo and send in your comments.

Prowl Updates

Tuesday, December 2nd, 2008

While I would rather work on the development of the Prowl protocol, I have other more pressing deadlines at the moment that I need to focus on. I will resume work on the Prowl syntax and yet-to-released demonstration by next week.

The project status so far: I have been trying to simplify the publishing syntax to the most essential form and have running code for reporter functions such as witnessing, auditing and evaluating published transaction records. The remaining work is not so much about polishing, but rather consolidating the different components of the protocol into a coherent presentation.

November Update

Tuesday, November 18th, 2008

I am still working on an extensive revision of Prowl. I am quite optimistic about the latest changes, as I’m beginning to see how the use of a publisher-reporter model to coordinate separate development efforts could help encourage collaborations across different currency or payment frameworks. More details to follow in about two weeks.

Reporter-ICB Index Demo

Saturday, September 27th, 2008

I have a created a mock-up of an independent currency brand (ICB) index here. The ICB index is a desired end result of the Reporter Module, as far as back-end programming is concerned. This demo is not as interactive as I initially planned, but it should do for now. The fourth quarter is coming up, so I need to review my Q3 results and reprioritize once again. More updates later.

Proposed Standards, Prowl and Presentation Slides

Sunday, August 24th, 2008

I have uploaded a bunch of documents here. I don’t really want to spend too much time polishing the documents, as I am in the middle of developing an interactive demonstration for all the implementation project examples on this site. I have high hopes that the interactive demo, once active, will really clarify how everything fits together in the satconomy framework.

The Prowl implementation example has been revised to comply with the slightly extended version (see Prowl specs in the docs folder.) It shows an example for each of the three query strings that should greatly simplify the automation of inter-entity ledger reconciliation. The source code for the example is also available in the linked page.

August Updates

Friday, August 15th, 2008

I have updated the ledger based on my recent currency inflow and outflow activity. While I still believe that my live demonstration of an open web ledger is a good start, I just realized that as a contract worker, my revenue stream and expenses occur in spikes, rather as a continous stream. I get a check about once a month, and I also spend in bulk, such as transfers to personal accounts, office puchases and irs estimated taxes. My business activity is not like a store or restaurant that could register highly dynamic inflow or outflow updates to the ledger, so it still looks inactive even with the TDS accounts tracking. I am still learning how to design a more dynamic small-scale implementation example.

The Prowl protocol documentation is coming along; it will be about 6 pages with generous spacing, so nothing overly technical. Just trying to arrive at a web ledger query syntax that is clear and simple to use. I have also modified the basis of the acronym to Pull-Reconciliation of Open Web Ledgers, since the “peer-to-peer” aspect might be confusing under certain interpretations. I originally meant p2p to be non-arbitrated interaction between two ledgers that have interchangeable server-client roles. But “Pull-Reconciliation” is still a more accurate description.

Lastly, I am seriously considering taking a 6-week break from contract work to spend more time on documentation and online examples during 3Q. It has been a struggle to arrive at appropriate language to describe what I am trying to do, but I think I may have found a good model to emulate and use in explanations. More on that when the documents get done.

Implementation Guidelines and Specifications

Tuesday, August 12th, 2008

Since the beginning of the year, I have concentrated on using implementation examples to explain the various components of the satconomy framework. I hoped that through these demonstrations, a more complete picture would emerge in the reader’s mind, showing how the various pieces relate to each other. Of course, the satconomy.org site also discusses the framework’s conceptual bases, but I have always felt that observable practice is always more effective than verbally communicating abstract ideas.

I still feel that way, but at this point, I also see the need to supplement the simple implementation examples with more definite guidelines and specifications. So, I am now in the middle of drafting documents to address this perceived need. Whereas before I thought it would be counter-productive to create specifications that might narrow the appeal of the satconomy framework, I have since realized that there are ways to draft highly flexible guidelines and specifications that broadens the framework’s inclusiveness to diverse technology platforms. I liken this approach to using the minimalist protocols that gave birth to the ‘world wide web’, as explained by Tim Berners-Lee in his book “Weaving The Web”.

The specifications will cover the basic features that must be offered by accounting systems, transaction processing and publishing/reporting mechanisms in order to comply with framework implementation requirements. Using the specification documents and online examples as guidelines, each system component or module could be independently developed on its own. Specifications-compliant components would then be assured of compatibility with each other, facilitating the implementation of a robust system from readily available applications.

Come to think of it, there are some similarities between this approach of developing independent software components and the establishment of independent currency brands. Both conceptual frameworks encourage independence while offering a way for the independent pieces to work with each other. Software components offer specific services outputs which are used as inputs by other components, which is basically the same concept behind inter-entity market trades. Another similarity is that whereas software development is expected to be self-regulating against open specifications, entity and brand establishment is expected to be self-regulating against public opinion within a satconomy framework. In both cases, it is expected that the transparency and diversity of interacting components or brands will enhance framework adoption and robustness.

Prowl Basic Details

Sunday, July 20th, 2008

Peer-to-Peer Pull-Reconciliation of Open Web Ledgers, or Prowl. Prowl is intended to work through HTTP Get using the following query string format to verify a transacted amount:

URL appended by “?(to= or from=entity_id)&digest=unique_transaction_identifier”  The query syntax has been updated into three types: Amount query, Tally query, and Status query - See the Prowl specs in the docs folder

Follow this link to see an example of the web query result and take note of the query string in the address bar: Prowl Example

Four basic features of the Prowl protocol are:

1) Prowl is intended to be independent of the server engine and application module that is used to return the query results. Prowl is a high-level, declarative protocol above the HTTP application layer. As long as a web platform could deliver the requested query result, Prowl does not care whether a windows or linux-based server is used, or whether the data is retrieved from a file-based or relational database system, or whether the application module language used is Perl, PHP, Python, Ruby, etc. The only absolute requirement for an application platform to satisfy the basic Prowl protocol is this: given the above HTTP GET query string, the transacted amount must be automatically retrieved and returned.

2) The Prowl protocol does not care what the requesting IP does with the returned information. Most likely, it would be used in a cron job that automatically initiates the debiting or crediting of internal accounts within the requesting entity’s accounting system. A reader may also use the Prowl query results for manual transaction record processing.

3) The Prowl protocol does not care about how the transaction id is generated, or even if the id uniqueness extends to every conceivable set of recorded market transactions. The only assumed uniqueness requirement is that between two particular entities, the transaction id could distinguish between different transaction instances even if the date, amount and participant account numbers are all the same. Tyaga.org uses a sha-1 digest to uniquely identify individual transactions, but other types of identification might also be generated and used as needed. As a transaction identifier, the sha-1 hash digest of the transaction record offers two advantages: (a) the digest helps maintain account information privacy in a transaction record query, and (b) since a sha-1 digest value is most likely to be unique for a given sequence of data values in a specific transaction record, the digest could also help correct any inconsistency between corresponding interentity records for the same transaction; in such a case, only one version of a transaction record is expected to be digested into a given sha-1 value.

A proposed standard data sequence for the sha-1 hashing is the space separated values for date, instance, amount, from_account, to_account, amount and units. This data sequence may be more easily referred to as the DIFTAU standard.

4) The Prowl query string format may be extended in the future to allow the use of other attribute values. The example above happens to return a transacted amount that is retrieved through a unique identifier and the corresponding transacting entity, with its transaction role already indicated by the choice of the field name (to or from).

Q2 Results

Tuesday, July 15th, 2008

Here are the Q2 results.

1) Brand Restructuring - The year-to-date TDS transaction information has been migrated in order to demonstrate ongoing currency activity tracking. See http://tyaga.org/ledger.php for more details. 

2) a) US$:hour conversion - I started working on this only to pull back as soon as I realized that it’ll be more likely to confuse than aid in the evaluation of market performance. I might still publish transacted amounts in other currency units in cases where the other entity uses different units to publish its transactions with TDS or tyaga.org. Instead of working on the US$:hour conversion, some time was instead spent on developing an online donation system, for those who would like to use alternative currency brands to support tyaga.org. See http://tyaga.org/donate.php for details.

b) Sole Proprietorship Accounting System - I have succesfully modified the code to tailor it for use by sole proprietors, using object-oriented approach and slightly more optimized database table structure. The user interface, however, is still very rudimentary. This will be a work in progress as further refinements are incorporated in an alpha version.

Q3 Goals will be posted in about a week.