Archive for the ‘Uncategorized’ Category

FileWatcher becomes SimpleFileWatcher

Thursday, May 14th, 2009

I finally got around to doing a little more work on FileWatcher and decided it needed an official home.  Then comes the compoundingly obvious problem of giving a product such a generic title.  Sure FileWatcher fits the purpose, but there are about 1.5 billion other projects/products with the same title.  So the new title is SimpleFileWatcher, and with that comes two new features for users of SimpleFileWatcher.  SFW is now under the MIT License, so no worries about using the code in commercial products.  And secondly, it is hosted on Google Code.

SimpleFileWatcher

And the new release:

SimpleFileWatcher v.2009.05.14

Nerds are Rock Stars

Thursday, May 7th, 2009

This will be reality. When the nerds win. I probably know the name of more Nerd Stars than Rock Stars any ways.

Libraries Binding Lua to C++

Tuesday, May 5th, 2009

Lua is a fantastically lightweight and super fast scripting language that is the current defacto standard in-game language. Use in many many games, including the infamous World of Warcraft. We used it in my last project with great success as well, but we were never quite satisfied with the level of integration.  And this really stems from the main detractor of Lua. There is no fantastic binding system for gluing it to C++. There are many out there to be sure, but most fall short. The most popular seem to be toLua++ and LuaBind.

toLua++ was the route we decided to go with our last system, but this had caveats.  The system required us to maintain extra "doctored" copies of our headers that could be used for generating the binding code.  This duplicated data caused headaches more than once.  That aside, there were problems with memory bloat, and memory leaks. From what I understand, these issues are known and have yet to be delt with.

LuaBind is probably the most used (rivaled only by toLua++) binding system right now.  It has a few glaring issues of its own though.  Most notably is its heavy use of the boost library.  Boost is a fantastic set of facilities, but it is just too bloated for a project not already reliant on it. This requirement caused builds to take significantly longer due to its heavy use of meta-template programming (something boost users are apparently comfortable with.)  LuaBind also makes my Lua IDE, Decoda, practically unusably sluggish. I'm not sure what is affecting it, but I assume it has something to do with the inflated symbol files it has to parse.

A few runners up that I'm currently considering now are LuaBridge and SLB (Simple Lua Binder). Both of these libraries are essentially building a LuaBind clone without the boost dependency. LuaBridge hasn't been updated in over 18 months, and is as well as dead, so the plan of action would be to pick up where the original author left off.  While the author of SLB hasn't posted any updates in months, he has been committing code regularly to the googlecode repository. Right now I'm hoping SLB pans out, but we will see.

Anyone else have a good recommendation?

FileWatcher now supports OSX/BSD via kqueue

Wednesday, March 4th, 2009

Now not only does FileWatcher support Win32 and Linux, but it supports OSX/BSD/anything else using kqueue. This should cover 90% of the cases where this functionality is needed and I'm planning on a fallback mode that will just use directory scans and file timestamps to determine changes.

Get the new version here:
FileWatcher 2009.03.04