Hey folks -- nextormento pointed me at this thread, and I wanted to address a few points.
1) Hosting. I'm happy to host it indefinitely; the 300x250 ad in the corner actually makes the site slightly profitable, so money isn't a concern (specifically, it's making ~$60/month right now, and the VM costs me $40/month, so after taxes it shakes out about right), and systems maintenance is still very much within the scope of my day job, so I'm happy to keep at it. As noted, I'm not playing WoW these days and so it's not really on my radar, but I do want to continue to support it, and may end up playing MoP so I'd need it anyhow
Hosting failures lately have primarily been due to logfiles filling up the disk (it's on a tiny little Linode VM), which makes everything puke all over itself. Fixing it is trivial, and last time it happened I set up logrotate to fix it for me.
2) I'd like to improve how changes could be pushed to the engine. This could be as easy as a github hook that deploys the engine when the master repo is updated, and then giving a trusted few commit access to that repo. In that vein, I'm happy to give sysadmin access on that box to folks like nextormento or Aldriana, if so desired. My eventual goal would be for it to mostly "run itself", and where it doesn't, for there to be multiple people that can fix issues, so that there's no single point of failure (like yours truly).
3) Languages; the Shadowcraft UI is about 90% Javascript and 10% Ruby. Mongo was chosen because the document database structure effectively lets me work directly with remote JSON endpoints, except it's all cached and indexed (which is awesome), but it wouldn't be hard to replace it with something else. Ruby was chosen because I'm Really Dang Fast at writing Rails apps, and it's utterly amazing at parsing some of the markup we have to parse. But, the app isn't married to it, and we could replace the Ruby and Mongo parts with Python and SQLite without too much fuss. At the end of the day, there just needs to be:
a) A way to get a character from the armory
b) A way to get item, gem, and enchant info from the armory and WoWHead
c) A way to generate the JSON datafiles like
http://shadowcraft.mmo-mumble.com/items-rogue.js
If all that's in place, literally the entire rest of the app is Javascript, and as such, should run anywhere. A "user-installable" version shouldn't be too hard, with two caveats:
First, the engine has to be spun up. Maybe this is something that we could do with a batch file (spin up engine, spin up a lightweight HTTP server like whatever the Python equivalent of Webrick is, open browser).
Second, the reforge service is off-site. Tini runs and hosts that on AppEngine, and there are quota and pricing concerns there. His reforger is written in Java, which, while portable, requires the user to have a JVM handy, and there are some special considerations in Shadowcraft about how it talks to the reforger. This would need to be solved, and probably isn't trivial.
It's important to note that Shadowcraft as a whole was designed as a set of interoperable parts, with the intent that the parts could be replaced. The engine doesn't care what the UI looks like, and the UI doesn't care what the backend server looks like, as long as all the interfaces are consistent.
If I get some time, I'd like to see what I can do about moving the app off of Rails and maybe into Sinatra (which is a *ton* easier to self-deploy) or even Flask (which I'd have to learn, but I'm not worried about that), and off of Mongo and into SQLite (again, for self-deployment purposes). This should hopefully address the "I can't run my own fork" issues. As an alternative, a VM image would be trivial to create, though I don't know of people are thrilled at the idea of running a whole virtualized Linux distro just to be able to tweak their gear.
Just from a point of professional pride, I kind of want to rewrite the Javascript parts of the app now that I actually have a better idea of what the hell I'm doing, which should mean better organization and more maintainable code. Hopefully, adding things like gear upgrade planning or weight tweaking wouldn't be that hard.