Archives: May 2006

First solid state notebook – Samsung Q30

The Samsung Q30 is the first solid-state notebook, using flash memory in place of a harddrive. The initial model has a 32GB solid state drive, which allows Windows to boot in half the time of traditional moving part harddrives.

I’m surprised its not faster than this, but its an interesting step in what I think is the right direction. How long will it now take before we get to an ‘instant on’ notebook?

(Page views: 60)

Reg Developer: Interview with Jim Gray

Reg Developer have an iinterview with Jim Gray on their site, well known for his work on database theory in the 1970s, and currently working with Microsoft as manager of Microsoft Research’s eSciences group at the Bay Area Research Center (BARC) in San Francisco.

The interview covers transactions, using parallel processors such as GPUs for intensive processing, and why developers have a hard time adapting to thinking of problems in terms of parallel processing.

(Page views: 62)

Continuing adventures with Grails – now we’re getting Groovy

I had a few hours this weekend to continue investigating the possibility of using of using Grails and Groovy to implement a solution for a client, and I’ve learnt enough at this point so say for this project I am committed to using Grails.

I was already liking what I was seeing, but was uncertain early on if this could realy do the job, but now I am sold. It really is Groovy; it is awesome. The productivity gain from using the ‘coding by convention’ approach made popular by Ruby on Rails really is awesome. It is amazing. In comparision with working with multi-layered architectures where as a developer I have to code each indiviidual slice in the application from end to end and then spend just as much time on the configuration to wire them all together – this is amazing. Groovy and Grails are so concise and gets the job done with minimal effort and coding, and yes – minimal if any configuration.

Ok, I learnt a few lessons at the weekend, and came across a couple of issues that I logged with Grails JIRA:

(Page views: 61)

TheServerSide.com – Comparing EJB2 to JPA – Why? I’ll tell you why.

TheServerSide.com have a question posted on their site this morning asking ‘Comparing EJB2 and JPA – why?’.

Ok so the technologies are now radically different and improved, and of course once you have seen the JPA api, there is obviously no turning back, providing you have a platform available that supports it.

These are two of the main reasons why it is important to make the comparison – the main reason – to educate developers and get them up to speed with the new EJB3.0 spec.

But surely this is such an awesome development and step forward for Enterprise Application development that any developer worth their salt will already be intimately familiar with the spec? Yes, of course it is awesome, and is how the EJB spec should have looked from day 1. The main problem I am seeing from working within my own Java developer community is that developers who will most likely be using EJB3.0 tomorrow are already entrenched in EJB2.x projects today – they are so busy working on current implementations that they have not had time yet to surface and see what is going on in the world. Yes they have heard of EJB3.0, have probably not heard of it referred to as JPA, and yes they would love to have time to read the spec and have time to prototype some apps, but they’re too busy right now.

It’s ‘the curse of the long running project’ – projects that were scoped and designed as long as 2 or even 3 years ago are still knee-deep in development implementing functionality on top of whatever technologies were chosen during the project’s inception. For 2-3 year old projects coming to a close, this is likely to be J2EE 1.3 and yes they are still using EJB2.x. If you’re lucky a long-running project may have in it’s contract the allowance to upgrade to latest API and technology releases along the way, but in most cases this is unlikely since this most likely does not buy the customer any inprovement in functionality, although may be desirable for long time maintenance.

(Page views: 71)

NoSuchMethodErrror StringUtils.isBlank() when deploying Grails WAR to JBoss 4.0.1

Deploying a Grails 0.1 WAR to JBoss 4.0.1 I get this exception:

<code>
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'grailsApplication' defined
in ServletContext resource [/WEB-INF/applicationContext.xml]: 
Initialization of bean failed; nested exception is java.lang.NoSuchMethodError: 
org.apache.commons.lang.StringUtils.isBlank(Ljava/lang/String;)Z
	org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:370)
	org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:226)
	org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:147)
	org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:269)
	org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:320)
	org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:134)
	org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
	org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:184)
	org.springframework.web.context.ContextLoaderServlet.init(ContextLoaderServlet.java:83)
	javax.servlet.GenericServlet.init(GenericServlet.java:211)
</code>

This seems to be a Commons Lang jar issue, and does not occur if deploying Grails web apps to JBoss 4.0.4+

Update: This is an issue with the JBoss Unified ClassLoader when deploying to a JBoss server with other webapps including other possibly different versions of the same jars. The solution is to disable the Unified ClassLoader.

Disabling the use of the JBoss Unified Class Loader in this file:

/jboss/server/default/deploy/jbossweb-tomcat50.sar/jboss-service.xml

changing this line:

<code>
&lt;attribute name="UseJBossWebLoader"&gt;true&lt;/attribute&gt;
</code>

to

<code>
&lt;attribute name="UseJBossWebLoader"&gt;false&lt;/attribute&gt;
</code>

(Page views: 65)

New Hibernate book on the way from the Hibernate team

Christian Bauer has an update on the Hibernate blog about the status on the second edition of the Hibernate in Action book. Apparently there has been so much additional material added to the book that they’re changing the name to ‘Java Persistence with Hibernate’.

The new book will cover Hibernate 3.0 features in addition to Java Persistence API features (EJB3.0 Entities).

Can;t wait to get a copy of this one, as HiA in my opinion was and still is the best Hibernate book published.

(Page views: 64)

OnJava.com: Telling Stories at JavaOne

Daniel Steinberg has an interesing account of the Key Notes from JavaOne this year – he mentions in his article that they were lacking the ‘rally the troups’ enthusiasm from prior years. Was it that they were missing the McNealy-style jokes with his always anticipated Microsoft bashing?

I ony got to attend one day this year on Wednesday, and I admit the keynotes were a little bland. The BEA afternoon session was more of a corporate invester conference call than typical conference Key Note material. I had to leave early to get a train, but from what I saw, there wasn’t anything that got me that excited.

I can see Stenberg’s point. The last JavaOne I attented was 2001, and after every Key Note you left feeling so pumped up about Java that you wanted to race out of the hall and start coding! There was definitely less of that enthusiasm this year.

However, the emphasis seemed to have shifted out to the sessions themselves – the sessions I attended did make me feel ‘wow – that was awesome!’ each time they completed, and I am definitely fired up about new technologies such as EJB3.0 and Groovy, even though I had already been working with both prior to the conference. There still is definitely something very refreshing and invigorating about attending tech conferences – you leave feeling energized and empowered with new technologies and skills – and then get back to the real project world and realise – ‘oh, we’re still using J2EE 1.3′ … :-)

(Page views: 65)

Side by side comparison of level of animation details possible in PS3 vs PS2

This is a video on the Fosfor Gadgets website of a Sony/EA presentation showing the level of detail possible in animating game characters on the PS3.

What is amazing is whereas before to get an ingame character on the PS2 to respond to events happening in space around the character and turn to look at that event such as a ball in a basketball game it is obvious from the video that the developers had a number of different versions of the character and would switch between the graphic animations, eg for one for each point of the compass and maybe one inbetween each point. Now on the PS3 they have enough horse power to animate to turn and respond to something happening 360 degrees around the character, without having to swtich between different animation sets of images (or if they do it is completely seamless).

The level of detail in the basketball character as he moves is also quite amazing. They point out in the video before on the PS2 most of the time foot movements are not truely animated, but the character’s feet tend to slide across the floor, for example as he turns on the spot. Now on the PS3 his feet movements can be truely animated as if the character is walking and turning, and it looks very realistic.

What I also noticed is the physics details in the players body movement – his arms don’t just raise up and down – as they come down to his side you get the impression of weight as they move, and as he turns it is obvious his arms have weight and are affected by the movement of his body. Quite amazing.

I don;t know if this is a technical demo or in game action (they said it was live and being demo’d on a PS3), but it really is amazing.

(Page views: 61)

Securing a Grails web-app using Spring Acegi Security

There’s no mention of Security on the Grails website, however, since the framework and the generated applications are using Spring under the covers, I wondered if you could use the Acegi Security System to secure URLs.

From some experiementing with the supplied beans, and adding filters to the web.xml and bean defs in the applicationContext.xml file, this is possible, exactly the same as for any other web application.

This is awesome as it allows you to add role-based URL security to URLs in your web app, and to protect access to certain parts of the application, perhaps ‘edit’ and ‘create’ controllers so that unauthenticated users can just have access to the view parts of the application.

See my notes here for the configuration.

(Page views: 68)