Updated Tintagel Object Model

I have updated the UML object model for Tintagel in line with revision 8 in the Tintagel source repository:

I added Nodes, Content Types, Fields, Field Values and Data Types. The idea behind Tintagel is to have a really clean object model without a lot of little exceptions like the ones that can be found in Drupal where the number of database tables storing content data gets larger by the minute. To that end Tintagel will have Nodes to represent content and everything will be a node (menus, comments, everything). Nodes will have a Content Type. Content Types will have Fields that have a Data Type describing the sort of data in the field. Nodes will contain Field Values that point back to the Content Type.

Those familiar with Drupal will see the ideas behind the Views and CCK modules coming through in the Tintagel core.

2 Comments

Announcing Project Tintagel: A Grails CMS

I would like to announce that I have created a Google code project to start putting together the ideas for the Grails CMS that I have devised. The name of the project is Tintagel. Why Tintagel? Well Tintagel will be loosely based on the ideas in the Drupal CMS. As the story goes when Dries Buytaert was choosing the domain name for his CMS project he mistyped the word dorp which is Dutch for village and ended up with drop.org which later became Drupal (see the Drupal history for the full story). Tintagel is based on the Grails framework and the village most associated with the legend of the Holy Grail is Tintagel in Corwall UK.

I am definitely looking for help on this project as the scope of the ideas I have is much greater than the time I have available to work on it so if you have the time to help drop me a note in the comments.

Tags: , ,

1 Comment

First Thoughts On a Grails CMS Object Model

I’ve been thinking of writing a Grails based CMS that will be loosely based on Drupal. The main aim will be to have a very clean MVC separation and to add features using Grails plugins. To that end I have been thinking about an object model for the site which I have drawn below:

A Template is a layout of regions. Each theme will have a number of templates (which may be only one) A region can have an existence apart from a template so a region on a particular template is called a Template region. Each template region has a context and can have 0 or more blocks to display content. The blocks use the context to decide what to display. A page is an instance of a template with a number of region instances. Each region instance can have a mode such as view or edit.

I haven’t yet decided which parts of this object model will not be represented in the database but rather in template files as tag parameters.

Tags: , , ,

2 Comments

Grails and Netbeans: How do I Put Domain Classes in Packages?

I downloaded NetBeans to work on my open source project in Grails and one of the first things I noticed is that the Grails plugin doesn’t support creating domain classes in packages. This seems a little bit weird to me and it has left me wondering if I should copy the classes manually into package folders and add the import statements or whether I should give up and have them in the default package. The plugin seems to recognise domain classes in packages just fine but it won’t let you crete them through the wizard. Weird.

Tags:

1 Comment

Oracle Coherence: An Interesting Beast

I attended a seminar yesterday that was all about the Oracle Coherence product. What is Coherence? In short Coherence is a scalable, distributed object cache with added functionality to provide filtering, triggers and updates. There is also the capability to write objects from the cache to a backing database store using Hibernate or JPA. The scaling and fault tolerance are particularly impressive with each cache object having an easily determined location meaning no single points of failure for a registry server and little, if any, performance degradation when servers are added.

I foresee Coherence being useful for applications that need to scale significantly and that need to use an in memory cache to speed performance.

The programming model, though, is more problematic. Basic cache access is achieved through a Map interface where objects are associated with keys. Added to this are methods to listen to events, filter the cache and update it. The API for these operations reminded me a lot of Groovy closures and their operations on collection classes. The issue comes with object relationships. The API, as far as I can see, makes no provision for the storing of relationships between objects in the cache. This means that domain objects stored in the cache need to be aware of how to obtain related objects from the cache. Serialization methods need to know what the serialization boundaries between objects are and how to save related objects. No doubt there would be ways to encapsulate this access into a framework to remove the dependencies from the domain objects but be aware that this is a very different kettle of fish from the ease and convenience that we are used to from Hibernate and JPA.

All in all Coherence seems like an interesting addition to the Architect’s toolkit that may just be the right choice for interesting performance and scaling challenges.

Tags: , , , , ,

No Comments

A New Direction

This post heralds a new direction for this blog. Firstly you will notice the new theme. I felt that the old one was well past its used by date and rather than displaying my less than stellar web design skills I have opted for the free Arclite theme which looks so much better than something I could have designed myself. I may end up tweaking the look a little but ths is genearally how the site will look.

Secondly the tone of this blog is going to become a lot more technical. Since my marriage last year I have not needed to express myself online nearly as much as I now talk to my wife :) . That being so I have been writing much much less on religion and politics. At the same time I have felt the need to write more technically to share my journey through the world of Java and web development. I am also working on starting an open source project which I will need to blog about to generate support. All of this means that I will be writing predominantly technical posts here from now on.

If you’ve been reading here for a while and the new format doesn’t suit you, thanks for the support and I hope you understand. If you have any comments or discussion comments are open below or I can be reached on FriendFeed.

No Comments

Was it the Man or the Church?

I was saddened to hear that pastor Mike Guglielmucci had lied to many people about having cancer. This incident will certainly do damage to the credibility of the Assemblies of God denomination (now called Australian Christian Churches) and to the church as a whole. I have to say that I feel a little duped, I certainly believed the story and, although I didn’t donate money, I feel a bit ripped off.

Some will write this off as just one bad apple and others will take this as an example of how all churches are bad. I, however, think that the Christian subculture that has been established by pentecostal churches has had a role to play in this tragedy and that now is a good time for the church to have a good long look at how things are going.

Firstly I want to address the cult of celebrity that goes on to a greater or lesser extent. What the bible commands in terms of respect for those in authority has become something more, something worldly and something unhealthy. In our worldly society we are constantly looking for those hero figures to believe in never realizing that what we are really looking for is Jesus. In doing this we expect more from our heroes than they can possibly deliver and we are outraged when they don’t deliver. The pentecostal church has absorbed not a little of this into its attitude towards leadership. It is never stated, quite the contrary, and yet there is a cultural belief that those in leadership are somehow better and this exerts a subtle yet insistent pressure to hide anything wrong. Mike Guglielmucci had that adulation which blinded the church from seeing the warning signs and doing something about it before it was too late. From his perspective I’m sure he felt trapped in his sin by the image that he was supposedly projecting. I’ve felt that pressure as a small group leader and I can only imagine what it must be like as a well known pastor. There are those in the pentecostal movement who make a point of being open and vulnerable, like Alan Meyer, but they are in the minority.

Secondly there is an emphasis in pentecostal churches for the spectacular, for the amazing. This is, after all, what sets those churches apart from the rest of the body of Christ. Now I know that we serve a spectacular God, just look at His creation and how he loves us. The pentecostal church, however, has placed such a value on the spectacular that it gets in the way of focusing on the one who is spectacular. Spectacular healings carry with them their own celebrity, often leading to speaking engagements in front of large numbers of people. For some this can be a source of validation and attention. I have known people who have faked illnesses for this reason.

When these two factors work together on a situation that is not ideal to begin with, such as a hidden sin, the results can be catastrophic both to the individual and to the name of Jesus. This is what we are seeing now. Yes the inidividual involved has to take responsibility for his actions but the pentecostal church needs to take ownership of these issues and use this crisis as an opportunity for cultural change.

No Comments

The Golden Compass – Don’t Waste Your Money!

The Golden Compass

IMDB

Year: 2007

Writer: Chris Weitz

Director: Chris Weitz

Producer: Bill Carraro & Deborah Forte

Length: 113 Min

Category: Children’s

Media: Film

Distributor: New Line Cinema

Rating: 1 out of 5

MeLo and I took the MLKs to see The Golden Compass last night interested to see what they had made of the book that we had just finished reading. Armed with copious quantities of popcorn and caffeinated beverages we settled in to our local megaplex to view what has to be one of the more hyped Boxing Day releases this year. Alas we were sorely disappointed.

Gone are the days when we could look forward to the latest installment of the Lord of the Rings trilogy to add to the Christmas experience. I remember the anticipation and excitement that we used to feel to the point that when we heard that music start we were instantly transported into a rich and detailed fantasy realm for the duration and only emerged to wish that we could do it again. The Golden Compass is not one of those experiences.

Where do I begin? On the plus side the anti Christian message so prominent in the last three chapters of the book is missing. Given that the mainstream culture in the US is largely sensitive to Christian morality there was no way that a movie that misquotes scripture and twists its meaning, even in a fantasy setting, could have even begun to be commercially successful. Despite any protestations to the contrary this was a purely commercial decision. True the costumes of the servants of the evil Magesterium look a lot like the robes of the catholic church but the relationship is understated and easily overlooked.

Also a plus was Nicole Kidman. I thought her acting in this was one of only a very few highlights in this movie along with the CGI shots of Mrs Coulter’s airship and the Magisterial Seat. I think that without her this movie may have gone straight to video.

On the minus side the movie totally disregards the plot of the book to the point of nonsense. Many of the background details that go to creating Philip Pullman’s fantasy world are missing from the movie and yet there are scenes that reference those missing details. Take for example the scene in which the staff at Bolvangar grab Lyra’s Daemon Pantaleimon. In the book the taboo of touching another’s daemon is reiterated over and over so that when this happens there is a sense of moral outrage. In the movie Lyra reacts strongly when this happens but we never know why.

Gone too are a number of the shocking moments from the book that lend it at least some artistic value and pathos. The death of Tony Makairos after being separated from his daemon is replaced by one of the Gyptian children who is united in the arms of his mother and never seen again. The death of Roger at the hands of Lord Asriel to open the gate between worlds never happens which removes any need for Lyra to agonize over her guilt. All of this sugar coating makes a mockery of the original story line until what we are left with is a disjointed series of set pieces that do little to create the fantasy world that Philip Pullman envisaged.

Given that the title of the movie is “The Golden Compass” you would also expect that the treatment of the compass or aletheometer would be central to what is going on. Instead we are left with very little explanation of what the aletheometer is all about, how Lyra learns to read it or even much idea about how it works. We are given a series of cut scenes where the camera flies through the face of the aletheometer to a world where orange dust motes outline images in pictorial form. We are never left with the sense of struggle that Lyra has to interpret the aletheometer in the book nor with any sense of increasing skill with the device as the plot proceeds.

And then there are the gaping logical voids. At the beginning of the movie we are shown on a map that the location of Svalbaard, the kingdom of the bears, is Iceland in the parallel universe of the movie. Trollesund in Norway is where they meet the bear Iorek Raknison and Bolvangar, the location of the experimental station, is some days journey over land from Trollesund. In the book Lyra travels by ship to Trollesund, goes by sledge towards Bolvangar where she is then taken by Samoyed raiders, flies in Lee Scoresby’s balloon to Svalbaard and then journeys north to the magnetic pole by bear to the climactic scene with Lord Asriel. In the movie Lyra and the Gyptians somehow travel by sledge all the way from Norway to Iceland (good luck doing that without getting wet in the North Atlantic Ocean) for the bear fight (the only part of Svalbaard to really make it into the movie) and then Lyra somehow walks, assisted for part of the way by Iorek Raknison, from Iceland to Norway on the return journey! Never mind the fact that this reorders the events in the book to the point of nonsense so that they can stage the climactic battle scene outside Bolvangar and avoid having to deal with the very nasty end of the book north of Svalbaard.

All in all this adaptation of the book is very poor, especially when compared to the gold standard of all book adaptations, The Lord of the Rings trilogy. Couple this with the decidedly anti Chrisitan slant of the book and I would definitely find something else to take the kiddies to these holidays.

Tags: golden compass movie review

No Comments

Why Sermon Podcasting Fails

The guys over at Geeks and God have a new podcast series up on podcasting and one of the episodes deals with sermon podcasts. One of the issues I have with Christian podcasting is that I can never find the good stuff. There are thousands of churches out there that are just putting their sermon audio out there as a podcast and the Geeks and God guys explain very well why this isn’t very effective, basically because the podcasts aren’t very targeted and don’t really work for people who don’t have a connection to the church involved. Thus they are ineffective as outreach tools.

Churches doing or considering podcasting would do well to have a listen to this, I think it has some good insights.

No Comments

9 Killer Features I Want in a Task Tracker

OK I give up. There are a bunch of features I have been carrying around in my head for a killer task tracking application for a while now, hoping one day to be able to implement it. I now realise that I am unlikely to ever get the time to develop this software and that I really want these features now so here they are, free for anyone to implement. If you want to give me credit or even some renumeration then I’m not going to say no but that is not a requirement for using these ideas. Here is my list:

  1. Predecessors and Successors. Mostly what I want is to reduce my list of outstanding tasks to only those that I can work on at the moment so the whole list doesn’t freak me out so much. By filtering out tasks that have unfulfilled prerequisites I can reduce the list to those tasks that I need to get done so as to allow the successor tasks to be achieved.
  2. The ability to split tasks. Often when doing GTD you realise that the task you have set down is not granular enough and that you need to split it into sub tasks in order to make them next actions. I want the ability to easily split a task and for all of the predecessor and successor information with other tasks to adjust accordingly.
  3. Resources Rather than Contexts. GTD, because it was envisaged for paper based tracking systems, allows tasks to be placed into a single context, the idea being that you look at all of the tasks that can be done in any context you are in and do those. This is a way of reducing the task list. I find that I have tasks that can be done in multiple contexts. I can make phone calls anywhere I have a phone which is everywhere these days, not just in a specific context. In thinking about this I realised that tasks depend on resources and that contexts have resources available. Resources can be something you will need to do a task, such as a phone or an internet connection; a person; a specific place or something less tangible such as work time or personal time. Contexts have a set of resources associated with them. It is the match between resources required and resources available that determines what tasks you can do in a context. For example on the bus on the way in to work I have a phone, personal time and an iPod but I don’t have a privacy resource. Resources could be modeled using tags but there would need to be a way to filter for tasks containing multiple tags to represent the contexts.
  4. Task Urgency Value. GTD abhors the use of task priority to determine which tasks to do next but it also introduces the idea of a tickler file for tasks that need to be done on certain days. This doesn’t allow enough flexibility for me because I have some tasks that have a hard date and some tasks that can be more flexible. For example I have a meeting every Monday that I need to have prepared for by that date but if it has been more than a week since I have vacuumed my floors one more day won’t hurt too much. My idea is this: introduce a task urgency value which gets calculated based on the date when something ought to be done and how hard that date is. Urgency should be calculated using some sort of mathematical function like an exponential function so that the closer the date the higher the urgency gets. Urgency would increase slower for softer target dates and faster for harder target dates. In this way tasks that need doing first would automatically bubble to the top.
  5. Task Templates. In life there are situations that occur that will cause the same set of tasks to occur over and over again. For example my checklist for things I need to bring to my life group meeting. I would like the ability to have that list of tasks to be added to my task contexts automatically using a template prepared earlier. This would save me time and make sure that everything is covered.
  6. Repeating Tasks. I want the ability to have a task or a group of tasks via a template repeat. For example tasks around the house need to be done periodically so if I have cleaned the bathroom for this week then I want a new task to remind me to it again in a week’s time. Fly Lady has built a business on this very concept. The new task shouldn’t be added until the first task is completed. Ideally this should be combined with task urgency values to allow some flexibility as to when tasks are completed. Update: There is an application called Sciral Consistency that does this. it doesn’t integrate with anything (such as RememberTheMilk) but they are on the right track.
  7. Add Tasks From Everywhere. I want to be able to add tasks from everywhere and have them pop up in a holding area ready for me to review and categorise them. I want to be able to tag sites in del.icio.us with special tags to remind me to follow up (RSS?). I want to be able to SMS, email and IM tasks (Imified?). I want to be able to add tasks somehow from my phone and my PDA.
  8. Get Task Lists From Everywhere. I want to be able to get my task list from any device I have, my PDA, my phone and any PC I happen to be on.
  9. Wait List Tasks. I want to be able to delegate a task to someone and have it disappear from my active task lists but I then want it to pop up again to remind me to follow up that person automatically. A threshold based on task urgency value might be appropriate or, more simply, a number of days before a due date.

Any or all of these ideas could be implemented independently although some of them obviously have synergies between them.

So how about it? Can anyone pick these features up and run with them?

For more information I can be contacted either via the comments or via the temporary email address (20 emails only) taskideas.20.yellek@spamgourmet.com.

No Comments