Grindwork Corporation Blog

News from the office...

I'm Jamie, Grindwork's webmistress and sysadmin.  Things are pretty busy here and we realize we've let status updates slip, so here is the backlog in no particular order. Read more »

Rules Fest Update

As part of being on the Rules Fest 2010 planning, David and I joined Jason Morris at the Dolce Hayes Mansion Friday June 18th to tour the facilities and work through logistics. Read more »

Unexpected Results from Study about Security of Open Source Software

GTS isn't an open-source system. That said, I'd always thought that the idea of open-source being more secure because there were more eyes on the open code seemed reasonable.

However, this article from Technology Review cites a two-year study calling that belief into question. Read more »

Experience and Expectations

There's been an interesting discussion between David and an experienced rule engine user with a thorough academic background taking place in the blogs.

Anytime someone does something differently, there's always going to be concern about it being correct. I'm grateful that such a discussion is taking place, frankly, because just like the beta, it helps us immensely to have feedback.

Technical truth maintenance differences between CLIPS and GTS

The popular CLIPS expert system and most of its derivatives support the following exact set of rule edge behaviors regarding facts and its truth maintenance system (TMS):

  • Non-logical: The left-hand side (LHS) defines the rising and falling truth edges, only ground assert/retract is allowed, only on the rising edge.
  • Logical: The full LHS defines the rising truth edge, the scoped logical subset of the LHS defines the falling truth edge, only logical assert is allowed (asserted on rising and retracted on falling).

Another Status Report

We have been so busy it's scary! We had a long list of issues, both known and discovered from feedback of the beta and prospects. I've written about the problems we hit -- but it's time to talk about some of the implications of what we've been doing to solve them.

Status Report

We've been upgrading our Thinking Server itself, which is why the new features to the Online Service haven't yet been added (no reason to write them then upgrade them, so we're writing them when the Server's never version is in production).

During our Beta process, we discovered limits that were imposed on the way we productized the online service. The actual Thinking Server when used "straight" is much more powerful (and far faster) than the current online service version shows. Read more »

Requested Samples

It's been very hard for us to explain what our engine can be used for without sample applications.

Applications of course are a mixture of Totl in the engine and front-end or "external" code talking to the engine.

Our idea is to create a single Flash client with source to be released that has "the bits needed" to run all of the samples we have in our list to write. This would be the worlds oddest client, and would be revised pretty continually. Read more »

To handle a heavy load

One of our courageous testers asked how to run a report for 100,000 customers using our thinking service.

The easy answer is this:

rule generate-report
  when (and (customer ?x) ....)
  rising +(report detail facts)
end

Then of course any client who wants to show the report would be sent the facts for the customer of their choice.

That's an easy answer, but it has a horrific side-effect: the entire think cycle would freeze during that 'when' clause. Hundreds of thousands of bindings would be created. Read more »

Syndicate content