Archive for January, 2009

Announcing the “Navigation” Plugin for Grails

Another plugin release… this time thanks to help from Andreas Arledal on the CSS front.

The Navigation Plugin gives you site navigation menus by convention. You just define a property in your controllers to determine what actions are shown and in what groups.

Full docs here

There is even a default styling of neutral “silver” buttons that you can use, or override the CSS easily, or use tags to render the items any way you like.

Part of the motivation for this is that if we can establish a “de facto” convention for navigation info, then plugins will be able to use it, to have functionality that just automatically “pops up” in your existing application.

Anyway now when you are prototyping your apps you can just add “static navigation = true” to your controllers, and add <nav:render/> to your GSP layout… and away you go!

Enjoy!

  • Twitter
  • Slashdot
  • Delicious
  • Evernote
  • Share/Bookmark
Tags: ,

27

01 2009

Recipe for a glorious chilli paste/spread

A couple of weeks ago I was inspired by something from one of the Moro cookbooks to make a roasted almond and chilli paste, to have with curry etc.

Anyway, I can’t remember it exactly but I’m still enjoying it from the fridge, one of my better creations and wonderfully hot.

You need

  • A handful of whole almonds. I used ones that had not had the brown “chaff” removed
  • 2 tsp of whole cumin seeds
  • 1 clove garlic
  • 25 or more large dried red chillis (the 10cm or so long ones from India)
  • 1 tsp salt
  • A little olive oil

How to make it:

  1. Roast a handful of whole almonds in the oven – don’t burn them but bring the flavour out. Roast them at say 180C for about 20 minutes
  2. Roughly chop the almonds
  3. Fry in olive oil a couple of teaspoons of whole cumin seeds. Once browning and aromatic, turn off and add 1 crushed garlic clove and mix
  4. Remove from the pan and put in a blender/chopper with the almonds and whole dried chillis
  5. Process until you have a coarse paste

The end result is quite a “rustic” coarse paste, with very strong flavour. Try it!

  • Twitter
  • Slashdot
  • Delicious
  • Evernote
  • Share/Bookmark
Tags: , ,

25

01 2009

Grails apps and cloud hosting

I am currently developing a web application and I’m researching the hosting options for it. My gut feeling – resulting from having zero startup cash and the self-deluding belief that the service will take off – is that a cloud based solution is the way to go.

So what are the options for Grails application cloud hosting? Currently I have found the following three options (other than rolling your own direct to Amazon EC2). I will be as brief as possible. Please do contact me with details of other services and/or corrections to this info.

  • Mor.ph AppSpace / AppCloud (beta)
    Based on EC2? AppCloud beta YES, AppSpace not sure. Web-based control panel? YES. Pricing published? YES. Grails plugin? YES (Google code one was broken so I wrote a new one). Have I tried the service? YES. Was it a good experience: YES although currently we have some session/class load error problems support are still investigating.
  • Stax
    Based on EC2? YES. Web-based control panel? YES. Pricing published? NO. Grails plugin? NO. Have I tried the service? NO. Was it a good experience: N/A. Am talking with Spike Washburn about putting together a Grails plugin with them, and will probably try the service soon with their SDK, although it is unclear whether it will be pitched with a suitable level of support for commercial services (rather than test / prototyping / Java community hosting)
  • Cloudtools / Cloud Foundry
    Based on EC2? YES. Web-based control panel? NO. Pricing published? EC2 pricing for self administered with Cloudtools. Cloud Foundry management costs not published yet. Grails plugin? YES, but not in Grails pl. Have I tried the service? NO. Was it a good experience: N/A. Am talking with Spike Washburn from Stax about putting together a Grails plugin with them, and will try the service soon, although it is unclear whether it will be pitched with a suitable level of support for commercial services (rather than test / prototyping / Java community hosting)

So there are a few options out there at the moment. Currently – my class loading problems aside – Mor.ph is the easiest to get running, its so easy it is ridiculous. However at the moment they don’t seem to have realtime monitoring of the servers which Stax seems to have, and performance on AppSpace free test setup seemed poor (worse than my MacBook, with a single user). The Mor.ph AppCloud beta looks like it could be better, but the currently published pricing seems very high with a minimum of $1500 per month for 5 virtual boxes.

Cloudtools looks interesting, but I’m personally looking for something managed / with a web based UI. I also have concerns about the lack of information available about database performance generally with this kind of hosting. Providers still need to refine the information they provide and increase the level of detail if they want to attract commercial services. Hosting is a crucial decision to make, and if you make it without enough information if you are successful, it could kill your business if you hit a block you didn’t realise existed.

I’m sure the marketplace will expand and mature quite quickly now, but the choices are far from clear at the moment if you want a low-hassle commercial deployment.

  • Twitter
  • Slashdot
  • Delicious
  • Evernote
  • Share/Bookmark

24

01 2009

Welcome to [fr]Agile development

Agile development, in general, rocks.

However in recent years I have seen many people – primarily managers – misunderstand the concept.

Agile is about responding quickly to changes in business needs and delivering demonstrable progress to the customer/end user.

Unfortunately some people think that this means saying “Yes” to everything a client asks for, and not actually having a focussed list of deliverables. Agile doesn’t work without planning and prioritisation. All businesses need everything done “right now” if their wish could come true. In real life this is obviously impossible. That’s why prioritisation is critical. Your “must have” list simply cannot be bigger than your development team’s capacity.

Sensible approaches force you to choose a small set of features you are going to implement, and you stick to that. Then in the next cycle you review what the current “highest priority must-haves” are.

If you don’t do this, you have constantly slipping milestones, feature creep, and overworked (and in the end disgruntled) coders who are often forced to hack things instead of furnish your organisation with a sustainable codebase. One that you can refactor, and supports agile development in the long term.

Failure to accommodate this means you get a [fr]Agile environment and code base, where those “must haves” are even harder to implement at the speed your business needs, and quality soon degrades.

Development is just like sustainable living – you have to keep your footprint low and do things with the longer term in sight. Even if you are operating in a truly Agile fashion.

  • Twitter
  • Slashdot
  • Delicious
  • Evernote
  • Share/Bookmark

23

01 2009

I’m now sold on twitter but please stop the followbots

I used to think twitter was a load of crap. But now I get it. At least it get it as a direct channel to your self organising network – not “what are you doing?”

Anyway followbot spam is boring and will just get worse and worse.

So why not require email confirmation with captcha entry for the first follow request, and then random
Spot confirmations on future follows on accounts with a high follow to followed ratio?

Problem solved.

  • Twitter
  • Slashdot
  • Delicious
  • Evernote
  • Share/Bookmark

22

01 2009