You are currently browsing the monthly archive for December, 2005.
Well a couple more bug reports came in - I’m going to have to bite the bullet and start tracking these things down. And while I’m at it I’ll start on the export and import. Probably just csv/tab delimited for now, but I’ll look into Keypad and Treenote also, see how involved they would be. I’ll aim for a new release in January sometime.
There are a couple of Rails and Subversion enabled webhosts that look promising - A Small Orange and OCS Solutions. So hopefully soon I’ll have this site on Rails, and the source code in Subversion, online.
Also just converted the old CVS repository to Subversion.
Update: I signed up with OCS Solutions, and am switching the site over to it.
Tags: No Tags
Aside from dealing with preparing to move in January and other things, I’ve been playing around with the Ruby on Rails interface. It might wind up being all I need, for a while. And the Ruby classes that wrap the database could be used by other interfaces also, eg a Ruby/wxWidgets standalone program, or a console-based application/view.
Some stumbling blocks though -
I’d assumed it would be pretty easy to synchronize information to a website, ie you have your local MySQL database and one on your website, and just click a button and have them synchronized. Well, maybe if you pay a lot of money for a program to do that. I don’t know if there are any open source programs that will do that. (update: Daffodil Replicator does). MySQL does have replication, but it’s only in one direction. Maybe other databases are more advanced in this area? The concept is pretty simple - surely somewhere out there is code to do this? If not I’ll have to separate out my NeoMem related objects and import them to my webhosts’s database, so I can start hosting this site via Rails.
Which leads to another issue - finding a webhost that will let you host a (possibly unstable) Rails application. My current host (1and1.com) doesn’t seem to support Rails. So I’m looking into others. And it’s not fun. eg this discussion. Hosting Subversion repositories would be essential also.
Another problem is that web hosts don’t like to give you direct access to your database - you usually only have access it through a web interface, like phpMyAdmin. This was (not welcome) news to me. Though programs like Navicat or SQLYog have tunnels to let you access your database through the normal routes. But they cost money.
Of course, all of this would be moot if I had my own webserver. Which is not something I am prepared to deal with at this point (or ever, really), and obviously should not be a requirement for using NeoMem to run your website. The complexity involved with running a Rails application does mean there would be an opportunity for a small business though, to host users’ data, say on the neomem.com domain. But that’s not my focus at this point.
So those things are throwing a few wrenches into my plans to have this site being driven off of a database. It’s still the goal, but I don’t know how long it will take to reach it.
Anyway, that’s where things stand at the moment. I really would like to get the source code for NeoMem 1.1 hosted online this month - I might wind up just throwing it into SourceForge if I can’t find a decent webhost for now. And yes, export and import and bugfixes are high priorities - hopefully I’ll be able to at least start on some of that this month.
Tags: No Tags
The browser interface is coming along faster than expected, thanks to Ruby on Rails - one of the best thought-out pieces of software I’ve ever worked with. Ruby itself is a great language, and the infrastructure around it is much nicer than Python (eg install programs from the command line by “gems install rails” - it’ll search it out on the internet, download it, and install it for you).
Here’s the current Home View - basically a table of contents on your data, with a listing of all the Types stored, some statistics, etc. I’m still working out how the pages will be layed out. There might be a list of views along the top - Home, List, Code, Calendar, Schedule, Project, etc. And some standard filter, sort, and group controls.

Today I’m working on a Project View, which will summarize a project and its subprojects, and will eventually be used for this site. I’ve given up on using any of the existing bug tracking programs - it doesn’t seem worth the effort of cramming my data into their format, when I can get a simple system up and running on Ruby on Rails, all tied into the rest of the project information (goals, related projects, documentation, people, etc.).
Tags: No Tags
A note on the synchronization issue - I decided to store a GUID in each record, so that if someone adds a new record to your website data, when you synchronize with your local data (which might have the same integer id key), the code can check if it’s actually the same record, and renumber one of them if not (and any related records). That way it can still just use an integer for the key field.
There was some discussion about using GUIDs as primary keys for Rails, but ugh, that would not be pleasant…
Tags: No Tags
One thing I’d really like NeoMem to do is be able to publish your information to a website. And then keep the website in synch with your local datastore, if people edit or add information there. Here’s a simplified diagram of what it’ll look like…

I figure it would be best if I concentrated on the browser interface at the moment, since that will be the most useful, eg for publishing all the project-related information for NeoMem to this site. And it would also function as the user interface on the local data store, until the new Ruby-based interface gets up to speed. The browser interface will probably be based on Ruby on Rails, or possibly Nitro. We’ll see how that goes.
I’ve been avoiding the old C++ code - it’s really not a pleasant thing to deal with, and tracking down old bugs is just not what I want to deal with at the moment (massive time drain). I’d rather just get the “Export All to CSV” working, and then migrate all my data to the new version. Abandon ship! If there’s enough interest in having a really light, C++ based UI on the data then the old program could be fixed up, migrated to wxWidgets and made cross-platform. It might be useful, for a PDA or something.
So the current order of action is:
- Make a Ruby on Rails interface on the data (currently all stored in one giant table, ‘object’)
- Get “Export All” working on the C++ UI
- Get the skeleton of a Ruby/wxWidgets plugin-based user interface working
Sorry to be leaving all those bugs in there, for now… I just don’t seem to have the time or energy to deal with them, and maybe it’s better that I concentrate on the new version anyway… My lease is up at the end of January, and I’ll probably be moving to Austin - I’m planning to digitize a lot of the things in my apartment (file cabinets, notebooks, artwork, etc), with a digital camera mounted on a 2×4, so I won’t have to move so much stuff. The nine bookshelves of books will have to wait a while for their turn, unfortunately…
Tags: No Tags