Thursday, July 31, 2008

A Quick Semantic Vision

I want a workable, useful agent.

I should be able to do (assuming the presence of apache, php, mysql):

pear install ARC2
pear run-scripts ARC2
# Configure my ARC2 triplestore database details
# Configure apache


Then just visit http://triplestore/

From here I should be able to Install a lightweight Agent or two. For instance, the identi.ca agent.

Each Agent is basically a small MVC bit of PHP; with a ScutterController, InferenceController and QueryController.

In our identi.ca agent, the ScutterController deals with fetching new data on demand, looking at what existing data is known and seeing what rdfs:seeAlso links are defined or otherwise checking for new content.
This is triggered at regular intervals or when explicitly asked for by the end user.

The InferenceController does very simple reasoning. For instance, it looks for people with the same mbox_sha1sums and writes out new RDF to assert they are the owl:sameAs. Our identi.ca agent probably doesn't need this so much, it could rely on a more general Foaf inference Agent.
Alternatively, a geocoding agent could take all geo:SpatialThings and actually geocode them, or lookup labels for geocoded blank nodes.

The QueryController helps our identi.ca agent publish available commands and views.

Since identi.ca provides both FOAF and RSS 1.0, sensible commands could include things like fetch_new_posts(), fetch_new_posts_by_my_friends() and render out those views meaningfully.

Ideally, installing a new agent is little harder than a simple pear install Agent_FOAF

So, what am I missing that stops me from doing this?

Progress so far:
I've made use of Zend Framework to make a proof of concept web UI - implemented a quick and dirty web interface to ARC2 to query and load data, as well as to do all of the nice installation magic.
In addition to that I've got half of the module/plugin stuff knocked off. Right now I'm tinkering with a basic addressbook module; next will be a foafinference module; then probably a friendactivity (meshup blogposts by friends you foaf:know directly) module.

Todo:
Visual polish, implement a way to detect /modules/agents/ and tie them into the running application, security, publish a sparql endpoint (easily), a pear package for it all and a post install script, documentation.

Tuesday, July 29, 2008

PHPUnit Custom Assertations

Raphael has a nice quick article on custom assertions in PHPUnit.

Worth a read, it's blindingly obvious and simple, but the most clever things always are.

Even better, there's a link to xunitpatterns.com.

Saturday, July 26, 2008

What's happening in PEAR

The mailing lists have been a little quiet over the past few weeks, but what has been there has been good.

There's a move towards killing off old package.xml formats; which puts us further towards PEAR2.

Further to that, it's time to migrate from HTML_Progress to HTML_Progress2.

Mikos Wikarski shared with us a LiveUser Admin Application in Flex Demo - you can see the project, and generally play around - it's certainly a slick mix of PEAR and Flex.

I think there's also an air of subdued excitement about the upcoming PHP 5.3, which is going to give us closures and namespaces - those two things are going to change the face of PHP in some very nice ways.

Don't forget there's a Bug Day on August 2nd/3rd - #pear-bugs on irc.efnet.org

There's ideas around the place as to what we want to do - I'm kind of sold on the idea of getting packages happy with PHPCS (there's a neat graph) or unit tests.

See you then!

Friday, July 25, 2008

Interplanetary IP

Hey, Charles Stross writes about it in Accelerando, Vince Cerf implements it for NASA.

Neat.

Wednesday, July 16, 2008

PEAR bug day roundup

A quick summary of the who and what were involved with PEAR bug day on July 13th / 14th.

The main focus of this bug day just past was open SOAP bugs.

SOAP has obviously a fairly large user base, and little problems have led to a massive flood of bug reports!

Involved were:
Jan (SOAP lead), Chuck, Helgi, and even myself for a few scant hours.

While we didn't get to close many tickets, the wheels are certainly turning towards bringing SOAP back into the fold. There's now a better understanding of the design of the SOAP package amongst other PEAR developers, and the average quality of reports is marginally increased.

Over the next week or two we should see more test cases come in from original reporters, as well as perhaps a patch or two.

Aside from the focus on SOAP, Chuck managed to deal with a lot of bug reports for XML related packages (particularly XML_Util, as well as dealing with changing licences.
Helgi did some behind the scenes work for PEAR itself.

Check out the PEAR calendar for the next triage, on August 3rd/4th.

The goals for then:
  • Check out bugs in SOAP marked for feedback from previous triage
  • Improve test coverage for SOAP
  • Track down the last parts of licensing for XML related packages
  • Others TBA on the mailing list

Wednesday, July 09, 2008

On standards and marketing....

Through work we interact with quite a few other businesses. Some of them are in a similar space to us - providing tools for valuers to get the job done.

The way we all talk is a mixture of LIXI, an xml standard for describing valuations and other bits of the loan process, and SOAP to do the transport.

Modeling a valuation report is a very complicated thing - it usually takes at least two developers around 3 months to get the most common flavor 95 percent correct. Even then, because of the intricate variances; it takes a real valuer, not a developer, to work out the last 5%.

I know there are several valuation firms who deal with us who have undertaken this, and gotten it right. I've generally enjoyed working with them, because they just get it.

That being said, I still spend large parts of my day ever cautiously alert for yet another complaint about something not quite working - and it's largely attributable to one product in particular.

So; it comes as a huge surprise to find google adwords appearing on this very blog claiming blatant untruths about their product's fitness, features, stability and general standards adherence.

This product has cost me many hours of my working life, the company owner appears to be nothing more than a profit focused salesperson.

This is a constant source of frustration for myself and many of my coworkers.

In summary, I would advise anyone who is looking for valuation firm software / valuation management systems to strongly research their available options and choose wisely - it's a hard thing to get right, and some of the better marketed systems around are certainly not the right choice.

Tuesday, July 08, 2008

SUVs and Tiny Cars

An interesting read on SUVs.

Snippet:

According to Bradsher, internal industry market research concluded that S.U.V.s tend to be bought by people who are insecure, vain, self-centered, and self-absorbed, who are frequently nervous about their marriages, and who lack confidence in their driving skills.

Ford's S.U.V. designers took their cues from seeing "fashionably dressed women wearing hiking boots or even work boots while walking through expensive malls. "