May 07, 2007

M2 build environment postponed until next release

I'm officially moving [ARETE-84] back to the alpha-06 release, as it is presently beyond me why the BCEL code generation bits fail to work with Maven 2.x. I'm going to have to write some sort of classloader dump to troubleshoot the classloader oddities. So, we're sticking with maven 1.0 for now.

May 06, 2007

Pushing the edges of design on the UMWiki

I wanted to take a second to show off a brief glimpse of what can be done with a firm understanding of CSS to one's UMWiki web. Now, I don't recommend this if you don't know CSS, and I definitely recommend it if you're looking to learn CSS. The UMWiki is a great case study in what you can do with style sheets.

Here's what the Arete project page would look like in the UMWiki if I just used the standard template.


And here is what it looks like after my style customizations:


Finally, here is a list of topics that show how I did it:

Everything aside from customizing the cascading style sheets and switching to the nat skin involved saving a copy of one the WebHome topic to my desktop so that I could peer into its tag structure and what the element classes are. Michael Daum did a great job with the Nat skin, and proper respect is owed to him.

April 30, 2007

Digging through JLog interpreter source

At the suggestion of Dr. Kac from the Philosophy Department, I downloaded the source code for JLog today, which is a Java-based Prolog interpreter. I was able to spelunk its architecture and look around for how it manages grammatical structures in its interpreter. I was hoping to derive some insight in how to differentiate the API terms for an imperative language structure dedicated to controlling the flow of action and change in a computer system, from a more propositional language structure dedicated to analysis of the flow control logic itself.

I intend to support these two sentence types in the same logic core:

  1. An imperative type which initiates change in the system as a result of a specific anticipated state of conditions, and
  2. A propositional type which analyses the structure of and relationships between both the state of conditions in the system and the imperative sentences created by the knowledge experts.

In order to do this, I'm building a Lexicon, and while I draw the line far from finding the quiddity of these terms, I do want to assemble enough nouns to allow myself to be both expressive and correct in the core APIs.

April 17, 2007

Arete project goals

Now that I'm working more or less full time (nights and weekends U.S. central time zone) on Arete, and especially now that I've finally stamped a public release of the source code, it's a legitimate Open Source product. But this is not yet a legitimate Open Source project. Here's the difference: Open Source projects have community, and Arete doesn't. I intend to change this right away.

Here's the big plan. I'm going to get the following for this project:

  • A User mailing list, so we can chat

  • A Clover license, for generating test coverage reports

  • An IntelliJ IDEA license, so I can upgrade and build a rule-authoring plugin
  • I'm working on three more sample applications for Arete.

    The first application is none other than Miss Manners. That's right, she's back in full effect. I've currently got her cranking out very VERY large seating plans, and while she's not perfect just yet, it's really just a matter of time.

    The second application, which I'm pretty excited about, is a deck analysis program for Magic the Gathering. I'm experimenting with MTG because the game rules involve manifold modes of truth assertion. At the moment, my attention is focused on the data gathering and data modeling aspects of the application.

    The final application is a network diagnostics tool. I'm going to write something to help my colleagues in 1-HELP troubleshoot network problems at the University. Of course the application will have limited use, because so many of the core systems at the University which we use for diagnostics do not expose public interfaces. This is fine. I'm going for the 80/20 approach.

    Hopefully these three sample applications will garner some interest and attract a few interested developers. I think the best way to see why modal logic is important is to try to model a system for something that involves a lot of timing, possibility analysis, and permission / obligation rules.

    With any fortune, I'll be able to show some respectable progress to the IntelliiJ license granting team in the next couple of months. Until then, my friend Nate's going to have to use Eclipse.

    Coding Tonight

    My pal Nate and I are going to be pair programming at Little Tijuana on West 26th and Nicollet tonight. The subject of our attention will be unit tests for the engine core. Cheers!



    The views and opinions expressed in this page are strictly those of the page author. The contents of this page have not been reviewed or approved by the University of Minnesota.