Archive for the ‘Kross’ Category

Schedules

Thursday, July 23rd, 2009

So I just read an essay by Paul Graham which helps to explain why I can’t get the gusto to work on code all that much. I’ve just felt out of steam most of the summer and have written just about nothing. So instead I’ve been reading a lot. Since I got back from college I’ve read a lot. Here’s a list (in no particular order) of those that I’ve finished:

  • Robot Visions by Isaac Asimov
  • Disclosure by Michael Crichton
  • Sphere by Michael Crichton
  • Frankenstein by Marry Shelley
  • The Catcher in the Rye by J.D. Salinger
  • Smoke and Mirrors by Neil Gaiman
  • Mathematical Fallacies and Paradoxes by Bryan Bunch

and those that I am currently reading:

  • Gödel, Escher, Bach by Douglas Hofstadter
  • American Gods by Neil Gaiman

It does feel good to be back reading again. I only got through 4 or 5 of the 60 I took to college last year. So now I’ll be taking less and reading more so instead of 6%, I hope to be closer to 80% of those I take up. I may write stuff about them in the future.

On the coding side, I’ve cleaned up some stuff in Sigen from fixing Sigmodr to behave better with minimum values of some variables showing descriptive text instead of having -1 be -1, it says “No limit” which is how the engine interprets it where applicable.

I’ve also started to work on the Kross fixes I’ve been wanting for a while in KDE’s playground. Not sure how long it will take with the current schedule I keep. I do have time to work on it today, so that’s where I’ll probably be until everyone else gets back.

Kross fixins

Thursday, April 30th, 2009

So this turned out kind of dry and boring, but it’s basically a laundry list for fixing up Kross and its language bridges.

Sigen uses Kross to allow for many scripting languages to be used to script up things in games that use the engine. Tonight I perused the source for the bindings (the KJS and QtScript bindings are very simple) and looked to see what could be improved or fixed. One thing that the bindings need are ways to use disconnect. Neither Python nor the Ruby bridge offers a disconnect that does anything. This should be just as simple as a state machine just like the one used for connect. Python ships a (most likely, I have to run diff over it yet) patched version of PyCXX which I’d like to get working on a system version in Fedora (still needs to be packaged) so that it’s not duplicate and other applications can use it. Ruby doesn’t implement a way for connecting an object to non-Ruby methods (such as back into the C++ objects). Falcon mostly works, but connect and disconnect are both non-functional due to some issues with what objects have the methods. I finally got the Java bridge to compile tonight and I haven’t gotten around to testing it yet. Unfortunately the state of the CMake file which searches for the libraries that it uses from Java is not very portable. It assumes the library directory and compiler imclude directory to find AWT stuff. Although my GSoC project to do this as well as add Kross support to an existing application wasn’t accepted, I’d like to at least fix up some of the language bridges and then polish up Kross so that it’s easier to use on the application side. Adding forwarding headers as well as allowing ActionCollections to host objects would be a start.

Looking at the code, making other language bridges shouldn’t be that tough. Lua offers a C API and has a Kross bridge at some level of completion in KDE’s playground. I can’t find documentation for PHP’s C API, so I don’t know how well this would work. Some variant of LISP is under way as I understand. With all these ways to script the engine, making new ways of doing things should be a snap.