I’ve just uploaded the earliest possible release of my single person project management system. To run it, extract it somewhere, run the Util/create_database.rb, then run /taskmgr.rb. It requires Ruby 1.8.2, Borges 1.1.0, Sqlite-Ruby, ActiveRecord (as a gem) and SVG::Graph. I’ve only tested it on Windows, so my usual blindness to file-name-capitilisation probably means it won’t run at all on Linux without tweaking all the filenames or the requires. It starts with a dog-ugly login page, but just hit Validate – there’s currently no need to put in the name and password.
The app is nowhere near ready for public release, and I would have liked to have a bit more time to work on it before putting it here. For example, the structuring of the application directories and the naming conventions are all messed up – they are copied roughly from SushiNet without putting too much though into it. I’ve completely neglected the (rather important) memory management aspects of Borges – I haven’t bothered defining pages as no-trackback, nor have I yet researched too deeply into calling components efficiently.
I’m releasing now because I’m jumping ship. The Borges-based TaskMgr will be a reference implementation. I’m rebuilding the whole thing in Iowa, although I’ll be sticking to ActiveRecord initially, rather than Kansas as the ORM tool (to minimise changes in the port).
I have several reasons for jumping ship. Primarily, its to learn a new library. Iowa looks nice, and I like that Kirk picked up where Avi left off. I believe its a bit unfair just to try Borges, and declare it as the ultimate web app framework, without trying its competition in Ruby-space (having tried far too much ASP and ASP.NET “competition” in my time, of course). Secondarily, I’m a bit concerned with the enormous and seemingly unbounded memory consumption of the current incarnation of Borges. Every click adds a couple of meg to the memory use. This is kinda scarey. In Borges defense, I must return to my previous point, that I have spent exactly zero minutes attempting to improve this situation, and I think mechanisms may exist that can improve it. In my defense, my major point of happiness in using Borges is that it (generally) doesn’t force me to think of mechanics at all – its a shear delight to solve the problems at hand without thinking of the infrastructure. Until library level memory management improves in Borges, I lose that ability. At present Borges is forcing me to think of the memory cost of every page.
On another level, there are abstract comparisons of feature lists between different web app frameworks out there. But it’d be nice to have a meatier example to compare frameworks. TaskMgr as it stands is still at the bloody simple end of the scale (although I keep trying to make it complex, but I get distracted at a greater rate) – so its a reasonable candidate for comparisons.
I’ll keep you all informed of how Iowa is treating me.