2008-06-28, 00:01
I’ve been thinking for a while that what I really want to do with Alexandria is experiment wildly. I want to see what kind of database might work best. I’d like to check out the possibility of using RDF-triples to describe arbitrary properties of books. I want to redesign the core domain from the ground up to that the program supports a deep domain model. And to do that, I think I need to depart from ordinary Alexandria development for a while.
Continue reading ‘Palatina, an experimental Alexandria’ »
2008-03-04, 04:36
I thought I’d document my process for finding and fixing bugs, just to see how I actually work. To begin with, I chose a fairly recently-reported snag that seemed to be straightforward; it’s [#18414] “Check boxes giving wrong columns”. It seems that the choices you make in Edit>Preferences “Visible Columns” aren’t always the same as what you get. Now, I seem to remember that these choices are held in gconf preferences, so I load up gconf-editor, navigate to apps and alexandria and see a set of boolean variables: col_own_visible, col_rating_visible and so on. I try turning them on and off via Alexandria, and it seems to affect the right gconf variables. But I can clearly see the “Rating” column disappear when I de-select “Own” – just as the report describes. The problem is in the listview display: lets have a look at listview.rb
Continue reading ‘Finding snags’ »
2008-01-03, 21:30
Good title, eh? Well, the point of the matter isn’t much more serious than that. You may have come across the XEmacs 21.4 OXYMORON series of software releases, with subtitles such as 21.4.9 “Informed Management” and 21.4.19 “Constant Variable”. I quite like the idea of subtitles for mid-size releases, and thought that eponymous adjectives from literature (and perhaps other areas of writing, if they fit in with the spirit of the thing) would make excellent subtitles to attach to release milestones for Alexandria. Therefore, may I suggest 0.7 “Joycean”, 0.8 “Kafkaesque” and 1.0 “Shakespearean”? Other values can be filled in later, when we actually draw up a RoadMap; there are plenty more where they came from (viz Wikipedia). Either “Alexandrine” or “Aristotelian” would also make a particularly good subtitle for the 1.0 release.
2008-01-02, 18:56
I’m not one to complain (thinks: yes I am!), but I’m not a huge fan of Alexandria’s issue tracker at RubyForge. Not that I blame the developers who wrote it, or the site who provides it to us free of charge. I know that an over-complicated interface can overwhelm a bit of software like that, and someone is always going to be without their favourite feature. In fact, I once wrote a small issue tracker with Java Servlets (I called it Gawain, I may yet revive it in some form, perhaps in another language). It didn’t support half the things that the RubyForge Tracker does, but I liked it because I could always get my hands on exactly the data I was looking for and in exactly the format I wanted it.
Continue reading ‘Alexandria’s RubyForge Tracker’ »
2007-12-31, 02:27
Joseph Method has set up an Alexandria wiki, and I thought I’d kick things off by writing down a few core requirements for Alexandria. Well, I have to start somewhere! I’m going to try to keep the core of these requirements slimmed down. There will be other pages for the other scenarios in which Alexandria might be used: for example, whether or not you’ve read a book belongs in the Home User scenario, as does the current rating system. (It’s pretty clear that writing these things down will modify our thinking about the domain.) It’s a different picture entirely for, say, a Lending Library or a Second-Hand Bookshop. I’ll add a couple of new pages for more specific requirements soon.
Continue reading ‘Requirements gathering on the Alexandria wiki’ »
2007-12-30, 21:56
Alexandria is coming up to a design phase, and alongside capturing requirements the next big task will be modeling the new system. I hope we can be a bit more formal about it than is currently the case; we really need to have a few dozen core use cases before we move forward, otherwise we’ll just be adding features in an ad-hoc way, which is part of what’s got us into our current crisis of extensibility. After turning our vague statements of requirements into use cases, we should probably then proceed to domain modeling and sequence modeling.
So, we’ll need a modeling program, and we should probably just choose a single one which we can all use. Gaphor is a clean and simple UML modeling program for GNOME. It is, naturally, free software, released under the GNU GPL. It’s written in Python, is easy enough to install and very easy to use. It supports class, sequence and communication diagrams: the main diagrams we’ll be interested in.
Continue reading ‘UML Modeling with Gaphor’ »
2007-12-28, 05:25
Alexandria is a GNOME application written in Ruby. It is free software developed primarily for GNU/Linux systems, and is also developed on GNU/Linux. Almost everything you need for developing Alexandria will be available for easy installation on most distributions. This is a guide to setting up your system so you can work with the Alexandria source code.
Continue reading ‘Getting started with Alexandria development’ »