Tuesday, December 2, 2008

Developing Browsergames

For a while now I've been wanting to write a browsergame. Now, a friend and I have decided to actually do some prototyping in this direction. The purpose is to evaluate technologies for their usefulness in this domain, starting with Google App Engine. The corresponding blog keeps track of our efforts, achievements and failures - hopefully a healty portion of all three.

Thursday, November 20, 2008

Compiling Ruby with Phoenix

The project I participate in during the lecture Building compilers with Phoenix aims at prototyping a .NET compiler for Ruby. More specifically, we intend to map constructs of Ruby to their IL counterpart and let Phoenix do the rest some of the work. Phoenix is a compiler framework from Microsoft, by the way.

The project page at Holger's will, in time, hopefully contain useful stuff on the topic.

Sunday, November 16, 2008

Java Discussion

Using some slides, I prepared a discussion at work on some features and properties of Java 1.5. There are lots of features that I believe a professional developer ought to be at least aware of. Some to be avoided, others to be used just when the circumstances are right.

Saturday, November 1, 2008

Just finished a style for Zotero, which is a Firefox plug-in for managing ones research sources. The style formats according to the specs of the marketing branch at the FU Berlin. At least roughly, I suppose. With my master's thesis coming up, I guess I'll have a deeper look into Zotero sometime in the near future.

Friday, August 22, 2008

Documentation for IRIS

Lately, IRIS drew my attention. Written in Java, it is "an extensible reasoning engine for expressive rule-based languages." Features include safe and unsafe datalog, magic sets and both locally stratified and well-founded semantics.

The code is well written and documented (most of the times anyways) and there is a paper on how IRIS works. Still, there are no architecture-level documents, introducing the software on such level. (Which is understandable - it primarily serves as a research prototype.)

Since I take interest in reasoning and also don't mind learning new stuff about Java in general, I have begun documenting. The goal is to produce an introduction to fill the gaps from the software-engineering point of view. Hopefully, it will then be of help to people intending to learn about the implementation of IRIS or of reasoners in general. Even better, somebody, for example me, might learn something about modeling and documenting.

Currently, the following is planned and already done in parts:
  • high-level overview, visualized by UML and FMC diagrams
  • detailed presentation of some interesting algorithms
  • introduction into the project's structure
  • the java code of IRIS, originating from this effort, hopefully here and there with some more comments and clearer at times
The sources (docbook, images, ...) will be available for download, too. Hopefully, in some weeks this will be finished for good.