<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1481195935080195479</id><updated>2011-12-04T23:42:15.745Z</updated><category term='uDig'/><category term='Kent Beck'/><category term='domain model'/><category term='m2eclipse'/><category term='open source middleware'/><category term='maven inheritance'/><category term='Tomcat 7'/><category term='DevOps'/><category term='wedding'/><category term='development'/><category term='maven'/><category term='privacy'/><category term='Windows'/><category term='real estate software'/><category term='loose coupling'/><category term='Apple'/><category term='upgrade'/><category term='service'/><category term='outer join'/><category term='intuition'/><category term='auction'/><category term='web service client'/><category term='software development'/><category term='Spring Roo'/><category term='Boris'/><category term='Robert Martin'/><category term='distributed application'/><category term='union'/><category term='configuration'/><category term='spam'/><category term='ORM'/><category term='John Ferguson Smart'/><category term='portal'/><category term='normalisation'/><category term='Java EE 6'/><category term='load testing'/><category term='vodafone'/><category term='payment processing'/><category term='2008'/><category term='balance'/><category term='partial deploy'/><category term='Weblog Expert'/><category term='bug fixing crusade'/><category term='Grails 1.1'/><category term='London Underground strike'/><category term='transactional'/><category term='JMeter'/><category term='online property sale'/><category term='VMWare'/><category term='JSR168'/><category term='world record'/><category term='pothole'/><category term='lost and found'/><category term='contacts'/><category term='standup'/><category term='JSR286'/><category term='Autoquake'/><category term='Perl'/><category term='pdf'/><category term='load balancer'/><category term='immediately available'/><category term='Tomcat'/><category term='interview'/><category term='iPhone'/><category term='Webtrends'/><category term='annotation'/><category term='compatibility'/><category term='software model'/><category term='groovy'/><category term='web service stub pool'/><category term='talking without speaking'/><category term='shutdown'/><category term='unit testing'/><category term='order fulfilment'/><category term='online game'/><category term='velocity'/><category term='website visitors'/><category term='gotcha'/><category term='subversion'/><category term='apache httpd'/><category term='killer app gotchas'/><category term='technology'/><category term='complete deploy'/><category term='JBoss 4.2.2'/><category term='ETL'/><category term='GateIn'/><category term='Martin Fowler'/><category term='messaging'/><category term='Hybris 4'/><category term='web sockets'/><category term='worms'/><category term='JBoss download'/><category term='IntelliJ IDEA'/><category term='London'/><category term='Spring Security'/><category term='cost benefit analysis'/><category term='ebook'/><category term='Google maps'/><category term='dm Server'/><category term='design pattern'/><category term='GORM'/><category term='announcement'/><category term='RedHat'/><category term='Grails declarative directive'/><category term='Jetty'/><category term='gateway'/><category term='Blackberry'/><category term='ivy'/><category term='tier 1 visa'/><category term='online scam'/><category term='dependency management'/><category term='Commidea'/><category term='eclipse plugin'/><category term='lazy initialisation'/><category term='test driven development'/><category term='maintenance'/><category term='senior developer'/><category term='Comet'/><category term='mod_jk'/><category term='27 June 2009'/><category term='grails IDE Spring London plugin'/><category term='mod_proxy_ajp'/><category term='Facebook'/><category term='deploy on save'/><category term='image upload'/><category term='coverage'/><category term='PostGIS'/><category term='charts'/><category term='cloud computing'/><category term='Google Wave'/><category term='howto'/><category term='job interviews'/><category term='wsdl2java'/><category term='loadUI'/><category term='Grails 1.1.1'/><category term='web services'/><category term='RichFaces'/><category term='PreDestroy'/><category term='Graeme Rocher'/><category term='JDBC'/><category term='S2G forum London'/><category term='Swing UI'/><category term='mobile development'/><category term='unix'/><category term='server'/><category term='commercial subscription'/><category term='standards'/><category term='Liferay'/><category term='virtualisation'/><category term='Twitter formula'/><category term='programmer analyst'/><category term='Java applet'/><category term='GIS'/><category term='developing for mobile devices'/><category term='Red Hat'/><category term='JSP'/><category term='connection pooling'/><category term='metaphor'/><category term='branch'/><category term='throttling'/><category term='singleton'/><category term='Hibernate'/><category term='CORBA'/><category term='using Google&apos;s name'/><category term='open source'/><category term='Michael Holland'/><category term='freeze thaw'/><category term='syntax'/><category term='jvisualvm'/><category term='presentation'/><category term='geotools'/><category term='grails'/><category term='concurrent network IO'/><category term='XTC'/><category term='Flash'/><category term='cost'/><category term='queuing'/><category term='ejb3'/><category term='Java persistence'/><category term='Mac'/><category term='performance'/><category term='CDI'/><category term='eclipse'/><category term='SpringSource'/><category term='REST web services'/><category term='timing'/><category term='Jersey'/><category term='tabloid style title'/><category term='Java developer'/><category term='reporting'/><category term='estimate'/><category term='JAXS-RS'/><category term='Grails upgrade'/><category term='refactoring'/><category term='Spring Tool Suite'/><category term='developer interview'/><category term='distributed game'/><category term='CollectionUtils removeAll bug'/><category term='AJP'/><category term='JSTL'/><category term='google visualization'/><category term='Facebook embed video'/><category term='XML'/><category term='always learning'/><category term='game'/><category term='portlet'/><category term='grails developer'/><category term='DML'/><category term='Google Analytics'/><category term='android'/><category term='continuous delivery'/><category term='PostgreSQL'/><category term='strictfp'/><category term='jpa'/><category term='persistence'/><category term='small world'/><category term='tweet'/><category term='session'/><category term='ubiquitous language'/><category term='maven conflicts'/><category term='JSF'/><category term='Java logging'/><category term='System properties'/><category term='multithreaded'/><category term='Google money scam'/><category term='agile 2009'/><category term='Rod Johnson'/><category term='Twitter'/><category term='twitterverse'/><category term='proxy'/><category term='portlets'/><category term='optimisation'/><category term='Spring 3'/><category term='trust'/><category term='LJC'/><category term='technologies'/><category term='C3P0'/><category term='cache'/><category term='property website'/><category term='CXF REST SOAP axis2 web services maven dependency Spring'/><category term='Glassfish 3'/><category term='compact framework'/><category term='AJAX'/><category term='mvn'/><category term='Google phone'/><category term='graphs'/><category term='available immediately'/><category term='http'/><category term='jira issues'/><category term='problem solving'/><category term='WSDL'/><category term='Hybris'/><category term='Apache 2'/><category term='transactions'/><category term='lucky'/><category term='misleading advertising'/><category term='agile'/><category term='apache commons'/><category term='keyword'/><category term='Ailish Ward'/><category term='ecommerce'/><category term='job interview'/><category term='dbcp'/><category term='iBatis'/><category term='Spring'/><category term='Ailish Le Lievre'/><category term='Guice'/><category term='HTML5'/><category term='dependency injection'/><category term='double checked locking'/><category term='JBoss'/><category term='OSGi'/><category term='patterns'/><category term='static'/><category term='conspiracy'/><category term='domain driven design'/><category term='thread safety'/><category term='streaming'/><category term='GAE'/><category term='experience'/><category term='login lost'/><category term='software design'/><category term='Jason Le Lievre'/><category term='communication'/><category term='Java'/><category term='Spring Batch'/><category term='G2One'/><category term='Google App Engine'/><category term='JavaFX'/><category term='Jamie Calder'/><category term='SOAP'/><category term='Android Google phone Pulse UK'/><category term='javax.servlet'/><category term='eclipse galileo'/><category term='NoSuchPropertyException save'/><category term='development efficiency'/><category term='Grails Jira'/><category term='https'/><category term='Modula-2'/><category term='iPad'/><category term='ZX Spectrum'/><category term='e-commerce'/><title type='text'>Are you pondering what I'm pondering?</title><subtitle type='html'>Stephen Souness, a Java developer in London sharing some thoughts on what's happening in the world of Internet, Java and database technologies.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default?start-index=101&amp;max-results=100'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>120</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-2296443156781912409</id><published>2011-12-04T23:07:00.001Z</published><updated>2011-12-04T23:14:07.136Z</updated><title type='text'>Company Christmas Party</title><summary type='text'>Recently the company that I currently work for acquired 80% ownership of an e-commerce company that I previously worked for.

I'll see a few more familiar faces at the Christmas party this week.

With a bit of luck I might even do some match-making - borrowing a developer to give the team a hand for my current project.</summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/2296443156781912409/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2011/12/company-christmas-party.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/2296443156781912409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/2296443156781912409'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2011/12/company-christmas-party.html' title='Company Christmas Party'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-6319891686036653635</id><published>2011-11-22T00:27:00.001Z</published><updated>2011-11-22T00:28:31.286Z</updated><title type='text'>Hey, that's cool! - Contagious enthusiasm</title><summary type='text'>I find it fun to work with young developers, their enthusiasm and willingness to learn new things makes leading the way less of a chore and more of a privilege.

Today was a great example.  Late in the day I set up a user account in Jira and emailed it across to the newest member of the team.  As we got ready to shut down our development for the day he said something along the lines of, "Hey, </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/6319891686036653635/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2011/11/hey-thats-cool-contagious-enthusiasm.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/6319891686036653635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/6319891686036653635'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2011/11/hey-thats-cool-contagious-enthusiasm.html' title='Hey, that&apos;s cool! - Contagious enthusiasm'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-204098524227623182</id><published>2011-11-20T08:44:00.001Z</published><updated>2011-12-04T23:33:24.361Z</updated><title type='text'>Auto-Refreshing Caches - Part 1</title><summary type='text'>Introduction

This blog entry provides an overview of my recent experience of developing a software system which keeps its core data fresh and ready to be presented to users.

It is a work in progress, so may end up spanning a few posts.

What do I mean by an auto-refreshing cache?

A cache which has its content pre-loaded and refreshed automatically without user action.

Why do I want an </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/204098524227623182/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2011/11/auto-refreshing-caches-part-1.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/204098524227623182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/204098524227623182'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2011/11/auto-refreshing-caches-part-1.html' title='Auto-Refreshing Caches - Part 1'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-3352048497890137669</id><published>2011-10-19T18:14:00.000+01:00</published><updated>2011-10-22T10:59:44.797+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='multithreaded'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='jvisualvm'/><category scheme='http://www.blogger.com/atom/ns#' term='shutdown'/><category scheme='http://www.blogger.com/atom/ns#' term='PreDestroy'/><category scheme='http://www.blogger.com/atom/ns#' term='Tomcat'/><title type='text'>Ensuring your threads shut down</title><summary type='text'>A while ago I joined a project which had some old school (naive) approaches to concurrent processing in an object oriented language.

In these enlightened times I automatically double check whenever I see a Java class that has been declared with "extends Thread" (not just because some former colleagues regarded the extends keyword as blasphemy).

I've read enough to know to prefer implementing an</summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/3352048497890137669/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2011/10/ensuring-your-threads-shut-down.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/3352048497890137669'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/3352048497890137669'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2011/10/ensuring-your-threads-shut-down.html' title='Ensuring your threads shut down'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-8209751044575402671</id><published>2011-10-13T10:33:00.002+01:00</published><updated>2011-10-13T10:34:04.693+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Facebook'/><category scheme='http://www.blogger.com/atom/ns#' term='contacts'/><category scheme='http://www.blogger.com/atom/ns#' term='privacy'/><title type='text'>Facebook reverse psychology on privacy</title><summary type='text'>I have recently taken a few weeks off work to travel back to my home country to catch up with friends and family, and soak up some of the Rugby World Cup hype.



When it came time to look for contact details for various friends who I hadn't seen for a while, I ended up resorting to Facebook messaging.



A while ago Facebook opened some loophole which allowed me to see contact phone numbers for </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/8209751044575402671/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2011/10/facebook-reverse-psychology-on-privacy.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/8209751044575402671'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/8209751044575402671'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2011/10/facebook-reverse-psychology-on-privacy.html' title='Facebook reverse psychology on privacy'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-8767863474295982487</id><published>2011-09-22T00:19:00.000+01:00</published><updated>2011-09-22T00:19:30.633+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LJC'/><category scheme='http://www.blogger.com/atom/ns#' term='Hybris'/><category scheme='http://www.blogger.com/atom/ns#' term='Hibernate'/><category scheme='http://www.blogger.com/atom/ns#' term='ORM'/><title type='text'>ORM you say?</title><summary type='text'>I had a fun chat with some of the guys and girls of the London Java Community (LJC) this week.

There were a few of the usual war stories - like the guy who was talked into going along to a job interview and found that the company had a very zealous approach to "not invented here" technologies - to the extent that they had actually produced their own source control system.

Not embracing open </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/8767863474295982487/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2011/09/orm-you-say.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/8767863474295982487'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/8767863474295982487'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2011/09/orm-you-say.html' title='ORM you say?'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-4785871421518079286</id><published>2011-09-21T00:29:00.002+01:00</published><updated>2011-09-21T00:29:51.634+01:00</updated><title type='text'>This technology is nice, but...</title><summary type='text'>I'd like to think that I am at a well-balanced point in my Twitter usage.  At current count I am following 152 and am followed by 38 (which reminds me that I intended to cull one from each of those lists, but I digress...)

Today I found myself tempted to criticise one of the people that I follow for complaining about the state of a technological product.

I held back after remembering that I had</summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/4785871421518079286/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2011/09/this-technology-is-nice-but.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/4785871421518079286'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/4785871421518079286'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2011/09/this-technology-is-nice-but.html' title='This technology is nice, but...'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-8012458013455020714</id><published>2011-08-30T01:46:00.000+01:00</published><updated>2011-08-30T01:46:43.680+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='lucky'/><category scheme='http://www.blogger.com/atom/ns#' term='Autoquake'/><category scheme='http://www.blogger.com/atom/ns#' term='job interviews'/><title type='text'>I guess it just wasn't meant to be</title><summary type='text'>Back in August 2010 I decided to leave my job to find a more satisfying role while I still had a reasonable amount of time left on my visa.

A few weeks later I received an unsolicited approach from someone who I had never met, but who now worked at Autoquake and had liked the look of my LinkedIn profile.  I had interviewed with Autoquake before and had actually been offered a position, but </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/8012458013455020714/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2011/08/i-guess-it-just-wasnt-meant-to-be.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/8012458013455020714'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/8012458013455020714'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2011/08/i-guess-it-just-wasnt-meant-to-be.html' title='I guess it just wasn&apos;t meant to be'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-8445658095261721348</id><published>2011-08-30T01:15:00.000+01:00</published><updated>2011-08-30T01:15:44.720+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='standup'/><category scheme='http://www.blogger.com/atom/ns#' term='tabloid style title'/><category scheme='http://www.blogger.com/atom/ns#' term='Twitter'/><title type='text'>Twitter can be bad for your health</title><summary type='text'>I'm one of those crazy people who actually reads the posts of the people that I follow on Twitter.

I foolishly thought it would be a good idea to catch up on the tweets from the weekend.

An hour and a half later, I have my browser open tab count down to three, but I won't be getting anywhere near 8 hours sleep tonight.

From the various tangents that I followed out from Twitter, I found the </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/8445658095261721348/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2011/08/twitter-can-be-bad-for-your-health.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/8445658095261721348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/8445658095261721348'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2011/08/twitter-can-be-bad-for-your-health.html' title='Twitter can be bad for your health'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-1457694769281359999</id><published>2011-08-25T13:01:00.000+01:00</published><updated>2011-08-25T13:01:40.606+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='communication'/><title type='text'>Communication - it's not meant to be a one way thing</title><summary type='text'>I don't know about you, but if I send an email asking a specific question, then I expect a response within a day or so - even if it's just to say, "We'll have to get back to you at the end of the week".

If this lack of responsiveness was from a massive busy government department with an anonymous email address on their website I might understand, but for a commercial organisation that is paying </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/1457694769281359999/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2011/08/communication-its-not-meant-to-be-one.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/1457694769281359999'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/1457694769281359999'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2011/08/communication-its-not-meant-to-be-one.html' title='Communication - it&apos;s not meant to be a one way thing'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-1954355219793660509</id><published>2011-08-22T23:35:00.000+01:00</published><updated>2011-08-22T23:35:37.952+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='throttling'/><category scheme='http://www.blogger.com/atom/ns#' term='concurrent network IO'/><category scheme='http://www.blogger.com/atom/ns#' term='queuing'/><title type='text'>Making sure that more isn't really less</title><summary type='text'>During a recent code review I came across a slightly naive approach to speeding up a group of HTTP requests - by allocating a thread to each request and setting them all to run at once.

Given that I have some responsibility for and control over the servers that these threads will be connecting to, I wasn't looking forward to each client potentially attempting to establish 20+ connections at a </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/1954355219793660509/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2011/08/making-sure-that-more-isnt-really-less.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/1954355219793660509'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/1954355219793660509'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2011/08/making-sure-that-more-isnt-really-less.html' title='Making sure that more isn&apos;t really less'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-2594817515793316238</id><published>2011-08-18T00:32:00.000+01:00</published><updated>2011-08-18T00:32:22.856+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CollectionUtils removeAll bug'/><title type='text'>Stagnating open source</title><summary type='text'>I noticed some unusual behaviour in an application yesterday so I took a dive into the source code to see whether it might be something obvious.

In amongst some business logic for cache refreshing I found a call to CollectionUtils.removeAll.  I hadn't personally used this CollectionUtils class before, so I decided to see what functionality it offered and how it worked.  The Javadoc looked okay, </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/2594817515793316238/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2011/08/stagnating-open-source.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/2594817515793316238'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/2594817515793316238'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2011/08/stagnating-open-source.html' title='Stagnating open source'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-6811034951415943706</id><published>2011-08-18T00:04:00.001+01:00</published><updated>2011-08-18T00:04:52.855+01:00</updated><title type='text'>A productive week so far</title><summary type='text'>One of my colleagues has been on leave this week so I have had a little more freedom to try out changes to the current project without worrying about potential conflicts when checking the changes into the version control system.

One of the changes that I had been contemplating for a while involved introducing Spring Flex so that our main integration point between BlazeDS and our Java web </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/6811034951415943706/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2011/08/productive-week-so-far.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/6811034951415943706'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/6811034951415943706'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2011/08/productive-week-so-far.html' title='A productive week so far'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-2850178295112398560</id><published>2011-08-17T23:36:00.000+01:00</published><updated>2011-08-17T23:36:06.050+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blackberry'/><category scheme='http://www.blogger.com/atom/ns#' term='conspiracy'/><category scheme='http://www.blogger.com/atom/ns#' term='messaging'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>Killing your competitor's killer app</title><summary type='text'>Up until last week I was blissfully ignorant of the popularity of Blackberry devices to young people.  I was stuck in the mindset that business users and Obama were the main fans of the technology because of its email capabilities.

The mainstream media have been heavily publicizing the use of Blackberry's other messaging capabilities and how it was applied by naughty people to coordinate </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/2850178295112398560/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2011/08/killing-your-competitors-killer-app.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/2850178295112398560'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/2850178295112398560'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2011/08/killing-your-competitors-killer-app.html' title='Killing your competitor&apos;s killer app'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-458464643626877072</id><published>2011-06-02T08:42:00.001+01:00</published><updated>2011-08-17T23:24:13.841+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='small world'/><category scheme='http://www.blogger.com/atom/ns#' term='London'/><title type='text'>Is London actually quite small?</title><summary type='text'>I am now eight months into my current job and I have been involved in a handful of projects which have somehow involved no less than four of the other organisations that I interviewed with in the last couple of years.

Interestingly each of the organisations had either made me some sort of offer, or is still trying to recruit me.

I didn't do a shotgun approach to applying for jobs, so is the </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/458464643626877072/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2011/06/is-london-actually-quite-small.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/458464643626877072'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/458464643626877072'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2011/06/is-london-actually-quite-small.html' title='Is London actually quite small?'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-8911081830324308548</id><published>2011-05-17T06:47:00.003+01:00</published><updated>2011-05-17T07:33:39.416+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dependency management'/><category scheme='http://www.blogger.com/atom/ns#' term='Jersey'/><category scheme='http://www.blogger.com/atom/ns#' term='javax.servlet'/><category scheme='http://www.blogger.com/atom/ns#' term='maven'/><title type='text'>Dependency management - the gotchas</title><summary type='text'>Love it or hate it Maven and its ilk have reached a level of use in mainstream Java projects that it is generally simpler to set up your project dependencies using pom.xml file(s) rather than manually obtaining the appropriate jars for the libraries that you need to make use of.To bring in a simple standalone library that is self-contained (i.e. a single jar with no dependencies) this can be a </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/8911081830324308548/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2011/05/dependency-management-gotchas.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/8911081830324308548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/8911081830324308548'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2011/05/dependency-management-gotchas.html' title='Dependency management - the gotchas'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-3171496043683306541</id><published>2011-04-15T12:52:00.004+01:00</published><updated>2011-04-15T13:08:29.248+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='server'/><category scheme='http://www.blogger.com/atom/ns#' term='web sockets'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML5'/><category scheme='http://www.blogger.com/atom/ns#' term='apache httpd'/><title type='text'>HTML5 Web Sockets - not just a browser thing</title><summary type='text'>There is a lot of hype going around at the moment related to the wonderful functionality that websites will be able to offer once browsers implement the so-called "HTML5" features.Some features should enable graphical capabilities without requiring a plugin (bye bye Flash), others are targetted at mobile devices - such as enabling the capture of an image from a camera.The one that has been most </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/3171496043683306541/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2011/04/html5-web-sockets-not-just-browser.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/3171496043683306541'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/3171496043683306541'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2011/04/html5-web-sockets-not-just-browser.html' title='HTML5 Web Sockets - not just a browser thing'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-5903826751590561963</id><published>2011-04-13T07:55:00.005+01:00</published><updated>2011-04-13T08:26:32.546+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='streaming'/><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><category scheme='http://www.blogger.com/atom/ns#' term='iPad'/><category scheme='http://www.blogger.com/atom/ns#' term='AJP'/><category scheme='http://www.blogger.com/atom/ns#' term='Comet'/><category scheme='http://www.blogger.com/atom/ns#' term='Tomcat'/><title type='text'>Technical challenges streaming data over HTTP</title><summary type='text'>I have recently been exploring options for enhancing the functionality of an existing website by integrating some streaming data feeds.In the interests of making this functionality available on a wide range of devices (read iPads and iPhones as well as PCs) I would like this to be achieved without Flash or any other proprietary plug-in technology.So, my old friend and foe Javascript is the lead </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/5903826751590561963/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2011/04/technical-challenges-streaming-data.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/5903826751590561963'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/5903826751590561963'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2011/04/technical-challenges-streaming-data.html' title='Technical challenges streaming data over HTTP'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-4809848370956368136</id><published>2011-02-16T00:45:00.003Z</published><updated>2011-02-16T00:54:30.884Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Twitter formula'/><title type='text'>Twitter protocol/etiquette</title><summary type='text'>Okay, so I'm on Twitter and I generally check for updates at least once a day.I used to have a policy of blocking followers who followed at least 3 times as many tweeters as followed them because they smelt like spammers / marketers (particularly those that magically tweet every x hours, no matter the time of day or night).Sure enough, now I find myself edging towards my own threshold of </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/4809848370956368136/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2011/02/twitter-protocoletiquette.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/4809848370956368136'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/4809848370956368136'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2011/02/twitter-protocoletiquette.html' title='Twitter protocol/etiquette'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-7648765044646010119</id><published>2011-01-05T18:36:00.003Z</published><updated>2011-01-05T18:52:41.985Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='CXF REST SOAP axis2 web services maven dependency Spring'/><title type='text'>Integrating Axis2 services into an existing web app</title><summary type='text'>I started off with a handful of inherited projects loosely cobbled together with no declarative dependency management (old style - directory of jars in each project, copied into one big mess for deployment).My initial task was to investigate using the existing system to expose access to the same data sources using REST, without breaking the existing SOAP implementation.I muddled around for a </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/7648765044646010119/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2011/01/integrating-axis2-services-into.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/7648765044646010119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/7648765044646010119'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2011/01/integrating-axis2-services-into.html' title='Integrating Axis2 services into an existing web app'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-8688380725179380484</id><published>2010-10-29T00:43:00.003+01:00</published><updated>2010-10-29T00:48:20.463+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='REST web services'/><category scheme='http://www.blogger.com/atom/ns#' term='SOAP'/><category scheme='http://www.blogger.com/atom/ns#' term='JAXS-RS'/><title type='text'>RSS Feed now available</title><summary type='text'>After a record amount of feedback (2 emails, even though it was from the same person I will count it twice), I havefinally gotten around to setting up RSS feeds for this blog.Sometime soon I should be posting about my experiences of using JAX-RS to expose some existing SOAP web services in a not REST-ish manner.My recent quiet period coincides with starting a new job.</summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/8688380725179380484/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2010/10/rss-feed-now-available.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/8688380725179380484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/8688380725179380484'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2010/10/rss-feed-now-available.html' title='RSS Feed now available'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-4292064975270178303</id><published>2010-10-06T23:51:00.003+01:00</published><updated>2010-10-06T23:59:44.666+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='job interview'/><category scheme='http://www.blogger.com/atom/ns#' term='small world'/><title type='text'>It's a small world</title><summary type='text'>Today I had an interview for a role contracting at an e-commerce organisation near London.After completing the multi-choice "technical test", and blitzing through the practical task, I had the face to face aspect of the interview.The first of the two interviewers had a familiar accent, then I recognised the face as well - "Hey, I think you were in my class at uni"...Eleven years later and about </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/4292064975270178303/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2010/10/its-small-world.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/4292064975270178303'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/4292064975270178303'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2010/10/its-small-world.html' title='It&apos;s a small world'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-3111836390988378443</id><published>2010-10-05T11:34:00.006+01:00</published><updated>2010-10-05T12:01:31.912+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open source'/><category scheme='http://www.blogger.com/atom/ns#' term='grails'/><category scheme='http://www.blogger.com/atom/ns#' term='Spring'/><category scheme='http://www.blogger.com/atom/ns#' term='Tomcat'/><category scheme='http://www.blogger.com/atom/ns#' term='Hibernate'/><title type='text'>Dabblings in open source software projects</title><summary type='text'>Sorry to bore you with yet another post designed to remind myself about what I should be mentioning in job interviews.This post is a breakdown of some of the various participation that I have had in open source projects in the last few years. Grails - postings on public newsgroup with gotchas of an upgrade to version 1.1.1 with maven versioningTomcat - following and posting responses to Tomcat </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/3111836390988378443/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2010/10/dabblings-in-open-source-software.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/3111836390988378443'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/3111836390988378443'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2010/10/dabblings-in-open-source-software.html' title='Dabblings in open source software projects'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-7359185654869365597</id><published>2010-10-04T23:52:00.003+01:00</published><updated>2010-10-05T00:16:07.920+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DevOps'/><category scheme='http://www.blogger.com/atom/ns#' term='complete deploy'/><category scheme='http://www.blogger.com/atom/ns#' term='partial deploy'/><title type='text'>Perspectives on deploying to production</title><summary type='text'>One of the things that I really appreciate about attending job interviews is the opportunity to learn what people from other organisations and industries consider to be challenges.Take deployment as an example, some organisations are very particular about changing as little as possible on their production environments, whereas other organisations regard a complete replacement of the entire </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/7359185654869365597/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2010/10/perspectives-on-deploying-to-production.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/7359185654869365597'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/7359185654869365597'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2010/10/perspectives-on-deploying-to-production.html' title='Perspectives on deploying to production'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-3232535025316883634</id><published>2010-10-04T22:30:00.005+01:00</published><updated>2010-10-04T23:26:33.481+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jpa'/><category scheme='http://www.blogger.com/atom/ns#' term='Guice'/><category scheme='http://www.blogger.com/atom/ns#' term='dependency injection'/><category scheme='http://www.blogger.com/atom/ns#' term='standards'/><category scheme='http://www.blogger.com/atom/ns#' term='Spring'/><category scheme='http://www.blogger.com/atom/ns#' term='CDI'/><category scheme='http://www.blogger.com/atom/ns#' term='Java EE 6'/><category scheme='http://www.blogger.com/atom/ns#' term='loose coupling'/><title type='text'>More Spring bashing than usual at The Server Side?</title><summary type='text'>I haven't really paid much attention to The Server Side website for a couple of years, but I had a glance around it this evening when trying out how things look on the iPad.I came across an article entitled Moving from Spring to Java EE 6: The Age of Frameworks is Over which reminded me of a lengthy blog post that I had read recently Spring to Java EE – A Migration Experience.  Sure enough the </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/3232535025316883634/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2010/10/more-spring-bashing-than-usual-at.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/3232535025316883634'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/3232535025316883634'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2010/10/more-spring-bashing-than-usual-at.html' title='More Spring bashing than usual at The Server Side?'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-3119907022191700285</id><published>2010-10-04T17:54:00.002+01:00</published><updated>2010-10-04T18:01:48.718+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='iPad'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML5'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><title type='text'>Flash or no Flash?</title><summary type='text'>While working with graphic designers on various websites in recent years the decision of whether to include Flash or not came up on a number of occasions.Things progressed from, "Let's not", to "Okay, as long as we have some Javascript to serve alternative content", to "Flash is so prevalent, alright you can use it for content that won't need to be maintained by the customer"Now that the iPhone </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/3119907022191700285/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2010/10/flash-or-no-flash.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/3119907022191700285'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/3119907022191700285'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2010/10/flash-or-no-flash.html' title='Flash or no Flash?'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-6792912095091482472</id><published>2010-10-04T17:18:00.004+01:00</published><updated>2010-10-04T17:46:18.825+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mobile development'/><category scheme='http://www.blogger.com/atom/ns#' term='iPad'/><category scheme='http://www.blogger.com/atom/ns#' term='experience'/><category scheme='http://www.blogger.com/atom/ns#' term='android'/><title type='text'>Mobile development experience</title><summary type='text'>Even before acquiring my iPad (today) I have been thinking more seriously about getting into developing for mobile platforms.I have been along to a couple of presentations about Android and cross-platform development for Android and iPhone so have picked up some useful ideas.Since I don't have a Mac I think I will have to target the Android platform first.Hopefully the development won't involve </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/6792912095091482472/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2010/10/mobile-development-experience.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/6792912095091482472'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/6792912095091482472'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2010/10/mobile-development-experience.html' title='Mobile development experience'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-2727156148692341088</id><published>2010-10-03T21:22:00.005+01:00</published><updated>2010-10-04T09:52:41.674+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='property website'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='real estate software'/><category scheme='http://www.blogger.com/atom/ns#' term='online property sale'/><title type='text'>Property websites development experience</title><summary type='text'>I was fortunate enough to be involved in a range of projects for real estate companies and large property developers between 1999 and 2008.Infinity Investment Group- Responded to request for proposal with a detailed estimate and planned approach for the Pegasus Town properties site (still live in a less functional form at: http://properties.pegasustown.com/ ).- Participated in discussions with </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/2727156148692341088/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2010/10/property-websites-development.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/2727156148692341088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/2727156148692341088'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2010/10/property-websites-development.html' title='Property websites development experience'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-7977333260494219571</id><published>2010-10-03T01:03:00.006+01:00</published><updated>2010-10-03T21:21:53.951+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='e-commerce'/><category scheme='http://www.blogger.com/atom/ns#' term='payment processing'/><category scheme='http://www.blogger.com/atom/ns#' term='order fulfilment'/><category scheme='http://www.blogger.com/atom/ns#' term='Commidea'/><category scheme='http://www.blogger.com/atom/ns#' term='Hybris'/><title type='text'>E-commerce projects experience</title><summary type='text'>One of the problems of having over a decade of commercial experience developing software, is that I really can't fit enough information onto my CV without putting off recruiters.This post might act as a supplement to outline my e-commerce project experience.My most recent e-commerce projects have involved me designing and developing for the following technologies, integration points, and key </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/7977333260494219571/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2010/10/e-commerce-experience.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/7977333260494219571'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/7977333260494219571'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2010/10/e-commerce-experience.html' title='E-commerce projects experience'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-2963576283918077204</id><published>2010-10-03T00:10:00.004+01:00</published><updated>2010-10-04T15:29:26.986+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='unit testing'/><category scheme='http://www.blogger.com/atom/ns#' term='coverage'/><category scheme='http://www.blogger.com/atom/ns#' term='maintenance'/><category scheme='http://www.blogger.com/atom/ns#' term='balance'/><title type='text'>Unit tests can help or hinder refactoring</title><summary type='text'>HelpingHaving a suite of tests which cover the intended behaviour of a class in isolation allows the development team to feel more comfortable that subsequent changes to the implementation of that class have not had undesirable side-effects.HinderingIf a blanket policy is in place to have some numeric value associated to represent "good test coverage," then some test cases can become an overhead </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/2963576283918077204/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2010/10/unit-tests-can-help-or-hinder.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/2963576283918077204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/2963576283918077204'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2010/10/unit-tests-can-help-or-hinder.html' title='Unit tests can help or hinder refactoring'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-5813663362546255124</id><published>2010-09-29T12:47:00.006+01:00</published><updated>2010-09-30T22:44:25.081+01:00</updated><title type='text'>Diving in to some Spring source code</title><summary type='text'>While reading Spring Enterprise Recipes - A Problem-Solution Approach this afternoon I noticed that Spring uses a LinkedHashMap as the implementation for maps that it injects into beans.I'm curious about this implementation choice, as it seems to go slightly beyond what would be expected for a default Map implementation.I'm going to do some digging around to establish the motivation behind this, </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/5813663362546255124/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2010/09/diving-in-to-some-spring-source-code.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/5813663362546255124'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/5813663362546255124'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2010/09/diving-in-to-some-spring-source-code.html' title='Diving in to some Spring source code'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-3075964871181316271</id><published>2010-09-29T10:07:00.004+01:00</published><updated>2010-09-30T00:51:13.845+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='development efficiency'/><category scheme='http://www.blogger.com/atom/ns#' term='deploy on save'/><category scheme='http://www.blogger.com/atom/ns#' term='Glassfish 3'/><title type='text'>JEE6 with Glassfish 3</title><summary type='text'>Last night I attended a presentation at JAX 2010 which included a brief overview of Glassfish 3 and JEE 6.I was pleased to see the use of facelets and XHTML files as the standard view to use with JSF 2, as that makes so much more sense than trying to use JSPs.The "deploy on save" integration with the IDE during development was impressive.  It used to be a real pain developing code to be deployed </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/3075964871181316271/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2010/09/jee6-with-glassfish-3.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/3075964871181316271'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/3075964871181316271'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2010/09/jee6-with-glassfish-3.html' title='JEE6 with Glassfish 3'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-8809401242635199355</id><published>2010-09-23T20:02:00.005+01:00</published><updated>2010-09-23T20:10:15.199+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Hybris 4'/><category scheme='http://www.blogger.com/atom/ns#' term='technologies'/><category scheme='http://www.blogger.com/atom/ns#' term='Tomcat 7'/><category scheme='http://www.blogger.com/atom/ns#' term='London'/><title type='text'>Technologies to look into</title><summary type='text'>I've recently resigned from my job, so will have some time on my hands to investigate technologies - in between applying for jobs, responding to calls from recruiters, preparing for interviews and attending interviews.This is a sort of "note to self" on some areas of interest, in no particular order:ScalaSpring 3Tomcat 7Hybris 4.2 (if I decide to stick with E-Commerce)</summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/8809401242635199355/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2010/09/technologies-to-look-into.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/8809401242635199355'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/8809401242635199355'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2010/09/technologies-to-look-into.html' title='Technologies to look into'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-7844638676808403340</id><published>2010-09-18T18:21:00.003+01:00</published><updated>2010-09-18T19:19:51.674+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='load testing'/><category scheme='http://www.blogger.com/atom/ns#' term='JMeter'/><category scheme='http://www.blogger.com/atom/ns#' term='loadUI'/><title type='text'>Load Testing</title><summary type='text'>I came across a nice looking load/performance testing tool called loadUI today.The Java site had a profile about it as an example of a Real-world JavaFX App:http://www.oracle.com/technetwork/java/javafx-loadui-170428.htmlI've only had a brief play with it so far and while it seems very slick I think I will stick with JMeter for its support of multi-page tests.http://www.loadui.org/About-loadUI/</summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/7844638676808403340/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2010/09/load-testing.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/7844638676808403340'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/7844638676808403340'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2010/09/load-testing.html' title='Load Testing'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-1702453552089194053</id><published>2010-09-13T23:29:00.002+01:00</published><updated>2010-09-14T00:06:06.103+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DevOps'/><category scheme='http://www.blogger.com/atom/ns#' term='continuous delivery'/><title type='text'>Continuous Delivery / DevOps</title><summary type='text'>Something that I particularly enjoy about living in London is the time that I have each morning and evening during the commute between home and work for reading on the Underground.One of the books that I am currently reading is Continuous Delivery - Reliable Software Releases Through Build, Test, and Deployment Automation.  I found the first chapter acted as a timely reminder for my recent </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/1702453552089194053/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2010/09/continuous-delivery-devops.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/1702453552089194053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/1702453552089194053'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2010/09/continuous-delivery-devops.html' title='Continuous Delivery / DevOps'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-2483771024484089562</id><published>2010-09-05T11:47:00.002+01:00</published><updated>2010-09-05T21:16:14.592+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software development'/><category scheme='http://www.blogger.com/atom/ns#' term='always learning'/><title type='text'>The continuous learning process</title><summary type='text'>I think that software development is an amazing industry to be involved in.I see my university studies as having been just the start of the learning required to be a successful software developer.  It gave me a background to the way software can be developed, and an appreciation for how operating systems, networks and relational databases function.Back in the 90s software engineering was taught </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/2483771024484089562/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2010/09/continuous-learning-process.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/2483771024484089562'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/2483771024484089562'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2010/09/continuous-learning-process.html' title='The continuous learning process'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-3349878931599383479</id><published>2010-06-23T22:59:00.002+01:00</published><updated>2010-06-23T23:33:49.404+01:00</updated><title type='text'>Countdown to holidays</title><summary type='text'>After a solid year of working, I will be taking a break and doing some proper travelling - instead of just weekends away.Having given the required 8 weeks notice at work and received confirmation of the necessary approval of a director, the first week of accommodation and transport has been booked and discussions are well underway for options for the following two weeks.Hopefully that volcanic </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/3349878931599383479/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2010/06/countdown-to-holidays.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/3349878931599383479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/3349878931599383479'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2010/06/countdown-to-holidays.html' title='Countdown to holidays'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-2993244826441518710</id><published>2010-06-17T23:47:00.002+01:00</published><updated>2010-06-18T00:04:53.017+01:00</updated><title type='text'>Only so many hours in the day</title><summary type='text'>Oh the joys of the software industry.AnalysisDesignEstimationImplementationTestingDeployMaintenanceJust another day.</summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/2993244826441518710/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2010/06/only-so-many-hours-in-day.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/2993244826441518710'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/2993244826441518710'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2010/06/only-so-many-hours-in-day.html' title='Only so many hours in the day'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-1577119425871255574</id><published>2010-06-13T01:05:00.002+01:00</published><updated>2010-06-13T01:51:10.485+01:00</updated><title type='text'>Youtube videos</title><summary type='text'>A few years ago I used to carry my video camera around quite a lot.I uploaded some clips to YouTube:http://www.youtube.com/sounieEventually the novelty wore off, so I generally only have the camera with me for weddings and other big events.Today I had a look around the "Insight" section of my YouTube account and discovered that a YouTube rival site has embedded some of my video content.  If it </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/1577119425871255574/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2010/06/youtube-videos.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/1577119425871255574'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/1577119425871255574'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2010/06/youtube-videos.html' title='Youtube videos'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-4213598461506038330</id><published>2010-06-09T08:03:00.003+01:00</published><updated>2010-06-09T08:21:50.229+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ubiquitous language'/><category scheme='http://www.blogger.com/atom/ns#' term='domain driven design'/><title type='text'>Language in software development</title><summary type='text'>While reading the Martin Fowler Refactoring book on the tube yesterday, I got to thinking about how programming languages are similar to general written and spoken languages.Here are a couple of examples:Terms that mean the same thing, but are called different names (synonyms).Terms that share the same name, but mean different things (homonyms).Much like written English, it requires a certain </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/4213598461506038330/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2010/06/language-in-software-development.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/4213598461506038330'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/4213598461506038330'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2010/06/language-in-software-development.html' title='Language in software development'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-3911398567920579475</id><published>2010-05-29T23:42:00.004+01:00</published><updated>2010-05-30T16:27:36.048+01:00</updated><title type='text'>I feel the need, the need for speed</title><summary type='text'>The site navigation is built up from a hierarchy of data stored in a relational database.Every user is presented with the same navigation, based on their group memberships.The navigation hierarchy is updated relatively infrequently.This sounds like a classic candidate for data caching.The implementation should result in:- fewer trips to the database- less short-lived objects- less duplicate </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/3911398567920579475/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2010/05/i-feel-need-need-for-speed.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/3911398567920579475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/3911398567920579475'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2010/05/i-feel-need-need-for-speed.html' title='I feel the need, the need for speed'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-3189713282434099845</id><published>2010-05-20T01:10:00.002+01:00</published><updated>2010-05-20T01:17:46.124+01:00</updated><title type='text'>Deploying Java into the cloud</title><summary type='text'>At last week's Spring Source Forum in London I found myself thinking that being able to deploy Java applications into the cloud directly from SpringSource Tool Suite isn't that different to what can already be achieved for Google App Engine with their Eclipse plugin.Less than a week later, I see Rod Johnson has blogged that VMWare have been collaborating with Google engineers for a while, and </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/3189713282434099845/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2010/05/deploying-java-into-cloud.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/3189713282434099845'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/3189713282434099845'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2010/05/deploying-java-into-cloud.html' title='Deploying Java into the cloud'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-7074531108356911042</id><published>2010-05-20T00:22:00.000+01:00</published><updated>2010-05-20T00:36:40.621+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='subversion'/><category scheme='http://www.blogger.com/atom/ns#' term='branch'/><category scheme='http://www.blogger.com/atom/ns#' term='Spring Tool Suite'/><title type='text'>Experience of branching source code</title><summary type='text'>Today it was decided that it was time to bite the bullet and create a branch in the subversion repository for the latest project I have been working on.I grumbled about it, but had enough other work to focus on to not offer to get involved in the process.After overhearing further bits and pieces about how the branching was intended to work I grumbled some more - "You're telling me that I'll have </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/7074531108356911042/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2010/05/experience-of-branching-source-code.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/7074531108356911042'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/7074531108356911042'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2010/05/experience-of-branching-source-code.html' title='Experience of branching source code'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-2671701780380935050</id><published>2010-05-18T00:19:00.002+01:00</published><updated>2010-05-18T00:31:26.637+01:00</updated><title type='text'>Are we there yet?</title><summary type='text'>Today I tried the delegation technique for getting things done in a team.It didn't work anywhere near as well as I had hoped, as the updates that I expected 2 people to take a couple of hours at the most didn't get completed until the end of the working day.As a result I had the office to myself to deploy the latest version of the current system onto the production servers from around 6 til 10:</summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/2671701780380935050/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2010/05/are-we-there-yet.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/2671701780380935050'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/2671701780380935050'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2010/05/are-we-there-yet.html' title='Are we there yet?'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-1584795601708463526</id><published>2010-05-14T00:24:00.003+01:00</published><updated>2010-05-14T00:47:00.430+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Spring Roo'/><category scheme='http://www.blogger.com/atom/ns#' term='S2G forum London'/><category scheme='http://www.blogger.com/atom/ns#' term='Spring'/><category scheme='http://www.blogger.com/atom/ns#' term='Tomcat 7'/><title type='text'>S2G Forum London</title><summary type='text'>A couple of months ago I booked today off work to attend the Spring Source S2G forum.Unfortunately due to a looming deadline and issues arising back at the office, I felt compelled to miss the last couple of sessions but I still felt that I learnt enough from the day to make it worthwhile.Mark Thomas did a good job of outlining some of the new features to be expected in Apache Tomcat 7.0.Rod </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/1584795601708463526/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2010/05/s2g-forum-london.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/1584795601708463526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/1584795601708463526'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2010/05/s2g-forum-london.html' title='S2G Forum London'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-7345325737458127542</id><published>2010-05-09T21:22:00.003+01:00</published><updated>2010-05-09T21:32:05.252+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='Mac'/><category scheme='http://www.blogger.com/atom/ns#' term='unix'/><title type='text'>Mac for Java development</title><summary type='text'>I've been stuck in the world of Windows as my desktop development environment for my entire professional career thus far (11+ years).In the last couple of companies that I have worked at several of the developers have been successfully using a Mac for their day to day development.It seems to be the case that "Once you go Mac, you never go back".There are a couple of Macbook Pro laptops sitting </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/7345325737458127542/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2010/05/mac-for-java-development.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/7345325737458127542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/7345325737458127542'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2010/05/mac-for-java-development.html' title='Mac for Java development'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-4790075706352694254</id><published>2010-04-22T23:21:00.002+01:00</published><updated>2010-04-22T23:39:51.211+01:00</updated><title type='text'>Attitudes to tests and documentation</title><summary type='text'>On a fairly regular basis I hear people saying that documentation needs to be produced as early as possible, because otherwise it won't get done.By the same rationale, test driven development must be considered a good way to ensure that software has tests.Alas, the ambulance parked at the bottom of the cliff is still seen as effective.</summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/4790075706352694254/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2010/04/attitudes-to-tests-and-documentation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/4790075706352694254'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/4790075706352694254'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2010/04/attitudes-to-tests-and-documentation.html' title='Attitudes to tests and documentation'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-5451099119512130175</id><published>2010-04-10T12:52:00.004+01:00</published><updated>2010-04-10T13:08:52.357+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='talking without speaking'/><category scheme='http://www.blogger.com/atom/ns#' term='metaphor'/><category scheme='http://www.blogger.com/atom/ns#' term='presentation'/><title type='text'>Talking Heads</title><summary type='text'>I was reminded of a line from a song recently, "You're talking a lot, but you're not saying anything".The rest of the lyrics aren't relevent, but that line sums up my thoughts after a recent presentation.It was like going for a meal and expecting a big feast, only to discover that the host is only going to serve hors d'oeuvres.Is it just me, or do most software developers like similes and </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/5451099119512130175/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2010/04/talking-heads.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/5451099119512130175'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/5451099119512130175'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2010/04/talking-heads.html' title='Talking Heads'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-3699738320107034635</id><published>2010-04-08T22:00:00.004+01:00</published><updated>2010-04-30T06:58:33.323+01:00</updated><title type='text'>Apache config</title><summary type='text'>I used to be the administrator of a handful of servers as well as having regular developer responsibilities.  At the time I saw it as a way to make myself more of a valuable resource to the company, which almost backfired during the dot bomb era when billable hours were the main measure of value to the company.In recent weeks I have had to take on responsibility for configuring production servers</summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/3699738320107034635/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2010/04/apache-config.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/3699738320107034635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/3699738320107034635'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2010/04/apache-config.html' title='Apache config'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-4138912936533286090</id><published>2010-04-07T23:13:00.004+01:00</published><updated>2010-04-07T23:29:27.287+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='trust'/><category scheme='http://www.blogger.com/atom/ns#' term='intuition'/><category scheme='http://www.blogger.com/atom/ns#' term='timing'/><category scheme='http://www.blogger.com/atom/ns#' term='experience'/><title type='text'>Trust me</title><summary type='text'>Lately I've been liking the expression, "Sometimes it's easier to ask for forgiveness than it is to ask for permission".In my case it's not a matter of doing something without asking, but rather not doing what has been instructed.Past experience just won't allow me to schedule testing with a third party when my client still needs to verify their approach has been approved.  Admittedly it's </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/4138912936533286090/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2010/04/trust-me.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/4138912936533286090'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/4138912936533286090'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2010/04/trust-me.html' title='Trust me'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-5869780657577794097</id><published>2010-03-30T22:20:00.002+01:00</published><updated>2010-03-30T22:26:28.656+01:00</updated><title type='text'>Just a theory...</title><summary type='text'>From time to time over the past four months or so I have been receiving phone calls at my work claiming to be representing a secure delivery company that want to arrange for a delivery within a specified time range on a particular date.Every time they ask for the names of people who should be allowed to sign for the delivery on my behalf, in case I am unavailable.After the first couple of calls I</summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/5869780657577794097/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2010/03/just-theory.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/5869780657577794097'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/5869780657577794097'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2010/03/just-theory.html' title='Just a theory...'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-2147036779790373720</id><published>2010-03-28T02:45:00.002+01:00</published><updated>2010-03-28T02:47:46.840+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPad'/><category scheme='http://www.blogger.com/atom/ns#' term='pdf'/><category scheme='http://www.blogger.com/atom/ns#' term='ebook'/><title type='text'>iPad might be worth a look after all</title><summary type='text'>I'm slowly coming to the realisation that the last few books that I have purchased have been PDF files rather than physical paper.Once the hype dies down and the inevitable technical version 1 issues are ironed out I may take a look at iPad.</summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/2147036779790373720/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2010/03/ipad-might-be-worth-look-after-all.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/2147036779790373720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/2147036779790373720'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2010/03/ipad-might-be-worth-look-after-all.html' title='iPad might be worth a look after all'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-9074065016347159560</id><published>2010-03-16T23:59:00.003Z</published><updated>2010-03-17T00:05:13.730Z</updated><title type='text'>London Java meetup discussion</title><summary type='text'>This evening I attended a meetup of the London Java community in a bar in central London.There were a few familiar faces and some interesting informal discussions.One discussion that I was lightly involved in revolved around the idea of some agile development practises effectively just being micro-management.That triggered a memory about something I had read a few months back online.Here is a </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/9074065016347159560/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2010/03/london-java-meetup-discussion.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/9074065016347159560'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/9074065016347159560'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2010/03/london-java-meetup-discussion.html' title='London Java meetup discussion'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-139318661649313024</id><published>2010-03-15T23:05:00.004Z</published><updated>2010-03-15T23:39:28.926Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='software development'/><category scheme='http://www.blogger.com/atom/ns#' term='velocity'/><category scheme='http://www.blogger.com/atom/ns#' term='estimate'/><title type='text'>Velocity in software development</title><summary type='text'>It's not about the number of issues that you deal with, it's the estimates against them that counts towards velocity in software development.Dealing with the smallest issues first might give some sense of satisfaction and accomplishment, but you'll have to face reality eventually and deal with those problems that require more thought.</summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/139318661649313024/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2010/03/velocity-in-software-development.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/139318661649313024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/139318661649313024'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2010/03/velocity-in-software-development.html' title='Velocity in software development'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-8853501407352620811</id><published>2010-02-20T11:09:00.002Z</published><updated>2010-02-20T11:17:21.554Z</updated><title type='text'>DVD, Blu ray, or downloads</title><summary type='text'>I sometimes wonder whether I am some kind of chump for continuing to buy DVDs.Surely they will become a dead format, much like VHS tapes have?</summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/8853501407352620811/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2010/02/dvd-blu-ray-or-downloads.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/8853501407352620811'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/8853501407352620811'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2010/02/dvd-blu-ray-or-downloads.html' title='DVD, Blu ray, or downloads'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-7166095631654475652</id><published>2010-01-31T21:51:00.006Z</published><updated>2010-02-28T23:26:44.122Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='web service client'/><category scheme='http://www.blogger.com/atom/ns#' term='thread safety'/><category scheme='http://www.blogger.com/atom/ns#' term='wsdl2java'/><category scheme='http://www.blogger.com/atom/ns#' term='web service stub pool'/><title type='text'>Web service clients and concurrency</title><summary type='text'>Web services are probably the most common mechanism for distributed systems integration online at the moment.In the Java world there are tools available to generate classes to act as remote proxies and interfaces.Apache Axis and Axis2 provide a wsdl2java command line utility for generating these Java classes from a web service's WSDL file/URL.What some people may not consider is that the </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/7166095631654475652/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2010/01/web-service-clients-and-concurrency.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/7166095631654475652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/7166095631654475652'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2010/01/web-service-clients-and-concurrency.html' title='Web service clients and concurrency'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-1316653059829423499</id><published>2010-01-29T08:05:00.002Z</published><updated>2010-01-29T08:12:39.923Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='http'/><category scheme='http://www.blogger.com/atom/ns#' term='login lost'/><category scheme='http://www.blogger.com/atom/ns#' term='load balancer'/><category scheme='http://www.blogger.com/atom/ns#' term='https'/><category scheme='http://www.blogger.com/atom/ns#' term='session'/><title type='text'>Web clustering gotcha</title><summary type='text'>A recent web application that I worked on had some strange issues within a day of going live.The configuration has 2 nodes serving web pages over http and https behind a load balancer.Secure pages and logins are served over https, all other URLs are directed to be served over http.Some users reported that they could successfully login, but the next link they clicked would lose the login.It turned</summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/1316653059829423499/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2010/01/web-clustering-gotcha.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/1316653059829423499'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/1316653059829423499'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2010/01/web-clustering-gotcha.html' title='Web clustering gotcha'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-4857744806409715932</id><published>2010-01-18T23:39:00.002Z</published><updated>2010-01-19T00:15:28.993Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSGi'/><category scheme='http://www.blogger.com/atom/ns#' term='dm Server'/><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='announcement'/><category scheme='http://www.blogger.com/atom/ns#' term='Spring'/><title type='text'>Am I just being cynical?</title><summary type='text'>A few days ago I noticed a blog post over at SpringSource that announced the intention to move dm Server across to the Eclipse Foundation.I haven't been attending enough geek meetings lately to appreciate what is going on in the world of OSGi, or the politics of the VMware acquisition of SpringSource for that matter.A cynical person might observe such an announcement and think, "that project has </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/4857744806409715932/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2010/01/am-i-just-being-cynical.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/4857744806409715932'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/4857744806409715932'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2010/01/am-i-just-being-cynical.html' title='Am I just being cynical?'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-6878058948061510226</id><published>2010-01-05T23:22:00.002Z</published><updated>2010-01-05T23:41:43.694Z</updated><title type='text'>Geek meetups</title><summary type='text'>Earlier this evening I attended the London eXtreme Tuesday Club for only my second time.It was an interesting couple of hours of casual geeky conversation, including a live demo of some Erlang code for a handful of the group huddled around a netbook.The general discussion around Scalar and Erlang reminded me of my first year of studying computer science at university, as our COSC122 course </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/6878058948061510226/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2010/01/geek-meetups.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/6878058948061510226'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/6878058948061510226'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2010/01/geek-meetups.html' title='Geek meetups'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-7881957937874291962</id><published>2010-01-04T23:35:00.003Z</published><updated>2010-01-04T23:58:31.898Z</updated><title type='text'>A foreigner in a foreign land</title><summary type='text'>If you've been developing software for long enough, you should have a reasonably good idea of what methodologies and technologies you can work well with.I was fortunate enough to gain exposure to a range of different sized projects, using different approaches in the first decade of my career.- Team sizes of 1 to 8;- Timescales from a couple of days to 18 months;- One-off throwaway scripts, </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/7881957937874291962/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2010/01/foreigner-in-foreign-land.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/7881957937874291962'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/7881957937874291962'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2010/01/foreigner-in-foreign-land.html' title='A foreigner in a foreign land'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-8980026419399372961</id><published>2009-12-31T20:11:00.003Z</published><updated>2009-12-31T20:33:21.005Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><category scheme='http://www.blogger.com/atom/ns#' term='portlet'/><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><category scheme='http://www.blogger.com/atom/ns#' term='JBoss'/><category scheme='http://www.blogger.com/atom/ns#' term='Tomcat'/><title type='text'>Better the devil you know?</title><summary type='text'>As a professional software developer I sometimes find myself having to defend decisions made, when the inevitable unexpected problems arise.A few months ago I was pleased when the decision was made to move away from the JBoss portal server implementation, to a more open platform which would run directly on Tomcat 6.  Leaving the office on Christmas eve with two known potential show-stoppers was </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/8980026419399372961/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2009/12/better-devil-you-know.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/8980026419399372961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/8980026419399372961'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2009/12/better-devil-you-know.html' title='Better the devil you know?'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-220593670952583125</id><published>2009-12-15T21:55:00.002Z</published><updated>2009-12-15T22:01:56.208Z</updated><title type='text'>The benefits of health insurance?</title><summary type='text'>I've been feeling a bit under the weather recently, so thought I should check out the health insurance paperwork that my employer recently gave me.Imagine my surprise at reading the period covered finished yesterday - just a few weeks after it started!It turns out that the policy is being renewed to include an updated list of hospitals etc., but I can't help but feel that I am technically not </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/220593670952583125/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2009/12/benefits-of-health-insurance.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/220593670952583125'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/220593670952583125'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2009/12/benefits-of-health-insurance.html' title='The benefits of health insurance?'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-8174676742176276622</id><published>2009-12-15T21:44:00.003Z</published><updated>2009-12-15T21:49:19.821Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='load testing'/><category scheme='http://www.blogger.com/atom/ns#' term='optimisation'/><category scheme='http://www.blogger.com/atom/ns#' term='configuration'/><category scheme='http://www.blogger.com/atom/ns#' term='Tomcat'/><title type='text'>Tomcat configuration</title><summary type='text'>Sorry for the lack of content in this post, but I sometimes use this blog as a bookmark/reminder for myself.Here are a couple of blog posts from one of the maintainers of Tomcat.http://blog.springsource.com/2008/08/08/optimising-and-tuning-apache-tomcat/http://blog.springsource.com/2008/10/14/optimising-and-tuning-apache-tomcat-part-2/I found it reassuring to see the load testing tools that Mark </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/8174676742176276622/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2009/12/tomcat-configuration.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/8174676742176276622'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/8174676742176276622'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2009/12/tomcat-configuration.html' title='Tomcat configuration'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-7272560674230005764</id><published>2009-12-09T07:25:00.003Z</published><updated>2009-12-09T07:28:11.408Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='online scam'/><category scheme='http://www.blogger.com/atom/ns#' term='using Google&apos;s name'/><title type='text'>Google finally cracking down on scammers</title><summary type='text'>Several months back I was disappointed to see Facebook allowing adverts for something that looked vary much like a scam, using Google's name for credibility.While I haven't seen those ads for a while, I was pleased to see an article indicating that Google is suing:http://www.stuff.co.nz/technology/digital-living/3144491/Google-sues-work-from-home-scammers</summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/7272560674230005764/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2009/12/google-finally-cracking-down-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/7272560674230005764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/7272560674230005764'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2009/12/google-finally-cracking-down-on.html' title='Google finally cracking down on scammers'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-8994444498355618207</id><published>2009-12-06T23:04:00.005Z</published><updated>2009-12-06T23:17:41.475Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Android Google phone Pulse UK'/><title type='text'>Phone upgrade time</title><summary type='text'>I've decided it is time to move on from my cheap and primitive Nokia.Last week I ordered myself a shiney new T-Mobile Pulse.Apparently it is the first Android phone to be offered as a Pay As You Go deal.I would have preferred the Hero but it is just too much hassle to get onto a contract deal, given that I have not been living in the UK for 3 years, and possibly won't be here for another 24 </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/8994444498355618207/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2009/12/phone-upgrade-time.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/8994444498355618207'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/8994444498355618207'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2009/12/phone-upgrade-time.html' title='Phone upgrade time'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-7066050276717388414</id><published>2009-10-06T22:26:00.002+01:00</published><updated>2009-10-06T22:46:07.160+01:00</updated><title type='text'>Cunning spammers on Twitter?</title><summary type='text'>Today I had yet another "follower" on my Twitter account.  Someone who I'd never heard off, in a line of business that I have no interest in etc.Sure enough their following vs follower count was up around 1,000 to 50.Being an IT type person, I try to look for patterns for such things.  I notice that this particular individual had the bulk of their posts listed as being sent using something called</summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/7066050276717388414/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2009/10/cunning-spammers-on-twitter.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/7066050276717388414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/7066050276717388414'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2009/10/cunning-spammers-on-twitter.html' title='Cunning spammers on Twitter?'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-435751583220017905</id><published>2009-10-04T23:30:00.003+01:00</published><updated>2009-10-04T23:45:29.169+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='patterns'/><category scheme='http://www.blogger.com/atom/ns#' term='refactoring'/><category scheme='http://www.blogger.com/atom/ns#' term='London'/><title type='text'>Advantages of the London lifestyle</title><summary type='text'>I'm getting accustomed to carrying a technical book with me on my tube ride to and from work.I've never been a speed reader, so it's good to have half an hour or so at each end of the day where there isn't much else that I can usefully be doing.One of the books that I am currently reading is Refactoring To Patterns by Joshua Kerievsky.  It's part of the Martin Fowler signature series.Today I </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/435751583220017905/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2009/10/advantages-of-london-lifestyle.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/435751583220017905'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/435751583220017905'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2009/10/advantages-of-london-lifestyle.html' title='Advantages of the London lifestyle'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-7747868558329053431</id><published>2009-09-25T00:02:00.004+01:00</published><updated>2009-09-25T00:42:05.563+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kent Beck'/><category scheme='http://www.blogger.com/atom/ns#' term='test driven development'/><category scheme='http://www.blogger.com/atom/ns#' term='Robert Martin'/><title type='text'>What's their motivation?</title><summary type='text'>From a fairly early age I've been accused of having an analytical mind.In recent years I think it has made me come across as a bit cynical, but I don't see that as being a negative thing - maybe I'm just a cynical optimist?I recently stumbled across an old blog post by Kent Beck which rebutted some comments that Joel Spolsky had made during a podcast.After several years of working in project </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/7747868558329053431/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2009/09/whats-their-motivation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/7747868558329053431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/7747868558329053431'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2009/09/whats-their-motivation.html' title='What&apos;s their motivation?'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-2934116747135013500</id><published>2009-09-17T23:43:00.003+01:00</published><updated>2009-09-17T23:53:31.828+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XTC'/><category scheme='http://www.blogger.com/atom/ns#' term='agile 2009'/><category scheme='http://www.blogger.com/atom/ns#' term='London'/><title type='text'>The state of agile</title><summary type='text'>A few weeks ago I attended an XTC (eXtreme Tuesday Club) meeting in London which was based around people reporting on what their experience of Agile 2009 was.The whole arrangement was unlike any kind of meeting that I have attended before.  A bunch of people with similar interests meet in a room at a pub in central London and socialise.  There were no announcements or presenters up the front.I </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/2934116747135013500/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2009/09/state-of-agile.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/2934116747135013500'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/2934116747135013500'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2009/09/state-of-agile.html' title='The state of agile'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-4298269757784984798</id><published>2009-09-15T22:02:00.005+01:00</published><updated>2009-09-30T00:54:02.462+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java logging'/><title type='text'>Server config and logging in Java</title><summary type='text'>I've somehow been "volunteered" into doing the stuff that no one else wants to do.It's a strange world where entire days can go by without much feeling of achievement, or a few minutes can lead to a revelation, like finding a patch for some related third party system, or opening a configuration file in a different editor which highlights syntax differently.  It's as if a spotlight has been shone </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/4298269757784984798/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2009/09/server-config-and-logging-in-java.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/4298269757784984798'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/4298269757784984798'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2009/09/server-config-and-logging-in-java.html' title='Server config and logging in Java'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-2245510160499086182</id><published>2009-09-11T00:04:00.003+01:00</published><updated>2009-09-11T00:09:14.141+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JSR168'/><category scheme='http://www.blogger.com/atom/ns#' term='JSR286'/><category scheme='http://www.blogger.com/atom/ns#' term='portlets'/><category scheme='http://www.blogger.com/atom/ns#' term='GateIn'/><category scheme='http://www.blogger.com/atom/ns#' term='Liferay'/><title type='text'>Java Portlets</title><summary type='text'>It seems to me that Liferay and GateIn (JBoss and eXo) are the only big players in the open source space for Java Portlet Containers.When I recover from the joy that I experienced from configuring the previous generation on a server, I will have to take a deep look into these options.Apologies to anyone who came here looking for an insiteful comparison.</summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/2245510160499086182/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2009/09/java-portlets.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/2245510160499086182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/2245510160499086182'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2009/09/java-portlets.html' title='Java Portlets'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-8473644148324049735</id><published>2009-09-10T22:53:00.007+01:00</published><updated>2009-12-11T08:13:49.900Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='mod_proxy_ajp'/><category scheme='http://www.blogger.com/atom/ns#' term='JBoss 4.2.2'/><category scheme='http://www.blogger.com/atom/ns#' term='mod_jk'/><category scheme='http://www.blogger.com/atom/ns#' term='AJP'/><category scheme='http://www.blogger.com/atom/ns#' term='howto'/><category scheme='http://www.blogger.com/atom/ns#' term='gotcha'/><category scheme='http://www.blogger.com/atom/ns#' term='Apache 2'/><title type='text'>JBoss 4.2.2 and Apache 2 with AJP</title><summary type='text'>In case I'm not the only person on the Internet with an interest in this, JBoss 4.2.2 does not play nicely with Apache using the AJP protocol.After a lot of experimentation with various combinations of settings at both the Apache 2.2 end (mod_jk and mod_proxy_ajp) I came across the following:https://jira.jboss.org/jira/browse/JBPAPP-366I found this slightly reassuring.Due to various reasons and </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/8473644148324049735/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2009/09/jboss-422-and-apache-2-with-ajp.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/8473644148324049735'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/8473644148324049735'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2009/09/jboss-422-and-apache-2-with-ajp.html' title='JBoss 4.2.2 and Apache 2 with AJP'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-6908627572705080928</id><published>2009-08-13T23:19:00.002+01:00</published><updated>2009-08-30T19:16:24.299+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='compatibility'/><category scheme='http://www.blogger.com/atom/ns#' term='ivy'/><category scheme='http://www.blogger.com/atom/ns#' term='apache commons'/><category scheme='http://www.blogger.com/atom/ns#' term='maven'/><title type='text'>Maven and friends can only get you so far</title><summary type='text'>I think that one of the best things about software development is that it is always changing - unfortunately this ever changing environment doesn't often allow for things to change as simply as dropping in the next version.Deploying applications to some servers recently I discovered that some of the components used different versions of some low level libraries.  This could have made me </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/6908627572705080928/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2009/08/maven-and-friends-can-only-get-you-so.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/6908627572705080928'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/6908627572705080928'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2009/08/maven-and-friends-can-only-get-you-so.html' title='Maven and friends can only get you so far'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-3723101346306669576</id><published>2009-08-11T00:10:00.005+01:00</published><updated>2009-08-11T00:18:49.080+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rod Johnson'/><category scheme='http://www.blogger.com/atom/ns#' term='Google App Engine'/><category scheme='http://www.blogger.com/atom/ns#' term='G2One'/><category scheme='http://www.blogger.com/atom/ns#' term='VMWare'/><category scheme='http://www.blogger.com/atom/ns#' term='virtualisation'/><category scheme='http://www.blogger.com/atom/ns#' term='SpringSource'/><category scheme='http://www.blogger.com/atom/ns#' term='grails'/><category scheme='http://www.blogger.com/atom/ns#' term='cloud computing'/><title type='text'>VMWare to acquire SpringSource</title><summary type='text'>I found myself doing a double-take as I skimread the Twitter feeds this evening.  VMWare to acquire SpringSource - hey, hey what the?Rod Johnson has blogged about it, and this time it's not April fools day so there may be some truth behind it.I wonder what this means for other virtualisation and cloud computing providers?For instance, will this influence the direction of Grails support for Google</summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/3723101346306669576/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2009/08/vmware-to-acquire-springsource.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/3723101346306669576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/3723101346306669576'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2009/08/vmware-to-acquire-springsource.html' title='VMWare to acquire SpringSource'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-6799209522735830730</id><published>2009-08-04T22:02:00.004+01:00</published><updated>2009-08-04T22:45:56.903+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='grails'/><category scheme='http://www.blogger.com/atom/ns#' term='2008'/><category scheme='http://www.blogger.com/atom/ns#' term='London'/><category scheme='http://www.blogger.com/atom/ns#' term='job interviews'/><title type='text'>My experience on the London IT job market during economic downturn</title><summary type='text'>After a holiday in Ireland and the UK back in 2007, I decided that if nothing much was happening for me in New Zealand then I should head to the UK where I would have more opportunities to see the rest of the world.In September 2008 my paperwork came through for my tier 1 visa to live and work in the UK.I booked my flights so that I would arrive on the same date that the visa became valid, hoping</summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/6799209522735830730/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2009/08/my-experience-on-london-it-job-market.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/6799209522735830730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/6799209522735830730'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2009/08/my-experience-on-london-it-job-market.html' title='My experience on the London IT job market during economic downturn'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-9033049905024944290</id><published>2009-07-30T21:32:00.003+01:00</published><updated>2009-07-30T21:44:30.289+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='senior developer'/><category scheme='http://www.blogger.com/atom/ns#' term='ZX Spectrum'/><category scheme='http://www.blogger.com/atom/ns#' term='CORBA'/><category scheme='http://www.blogger.com/atom/ns#' term='WSDL'/><title type='text'>Senior developer now</title><summary type='text'>My new job has been running quite smoothly so far, although the seniority aspect is a little different to what I was expecting as most of my teammates are recent graduates or still studying.Today I got that "hmm, maybe I am getting old" feeling when one of my colleagues mentioned that he would only have been five or six years old around the timeframe I was describing.  It started off as a, "</summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/9033049905024944290/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2009/07/senior-developer-now.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/9033049905024944290'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/9033049905024944290'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2009/07/senior-developer-now.html' title='Senior developer now'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-8182639294668516907</id><published>2009-07-30T21:07:00.002+01:00</published><updated>2009-07-30T21:28:10.564+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google App Engine'/><category scheme='http://www.blogger.com/atom/ns#' term='eclipse galileo'/><category scheme='http://www.blogger.com/atom/ns#' term='groovy'/><category scheme='http://www.blogger.com/atom/ns#' term='Spring Tool Suite'/><category scheme='http://www.blogger.com/atom/ns#' term='eclipse plugin'/><title type='text'>Eclipse plugins playing catch-up</title><summary type='text'>Since upgrading to Eclipse Galileo (a.k.a. 3.5) I've noticed that there has been a definite lag in plugin developers supporting the latest version.A couple of examples that have resulted in me keeping a parallel Ganymede (3.4) version installed include:- Google App Engine- Spring Tool Suite (well, not really, as I uninstalled this once I saw the recommended configuration tweaks to get the plugins</summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/8182639294668516907/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2009/07/eclipse-plugins-playing-catch-up.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/8182639294668516907'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/8182639294668516907'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2009/07/eclipse-plugins-playing-catch-up.html' title='Eclipse plugins playing catch-up'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-3299439938046031478</id><published>2009-07-23T22:44:00.004+01:00</published><updated>2009-07-24T00:33:38.263+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cost benefit analysis'/><category scheme='http://www.blogger.com/atom/ns#' term='Google phone'/><category scheme='http://www.blogger.com/atom/ns#' term='cost'/><category scheme='http://www.blogger.com/atom/ns#' term='vodafone'/><category scheme='http://www.blogger.com/atom/ns#' term='android'/><title type='text'>Android phone, to buy or not to buy?</title><summary type='text'>This evening I attended a meeting of the London Android group hoping to glean enough interesting information to tempt me into upgrading from my current mobile phone (see image).So far my market research online has been interesting.  Some mobile phone deals come with special offers - I don't think I need hair straighteners thanks anyway.A "deal" that almost sucked me in turned out to be for a </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/3299439938046031478/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2009/07/android-phone-to-buy-or-not-to-buy.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/3299439938046031478'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/3299439938046031478'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2009/07/android-phone-to-buy-or-not-to-buy.html' title='Android phone, to buy or not to buy?'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_RDfcSPPXVjs/Smjc5Tu_QMI/AAAAAAAAAAw/CLeU75PlYQc/s72-c/nokia.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-4516578410975119287</id><published>2009-07-21T22:06:00.007+01:00</published><updated>2009-07-21T23:08:10.952+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Red Hat'/><category scheme='http://www.blogger.com/atom/ns#' term='JBoss download'/><category scheme='http://www.blogger.com/atom/ns#' term='commercial subscription'/><category scheme='http://www.blogger.com/atom/ns#' term='open source middleware'/><title type='text'>JBoss following SpringSource's leadership, by emphasizing separation between free and commercial offerings?</title><summary type='text'>I've recently started working at a new job, which has involved installing and getting up to speed with some JBoss software.Based on my previous experience, I thought that it would simply be a matter of heading to the JBoss website and downloading a zip containing the binaries.  Alas that was not to be, as the jboss.com website only appears to offer 30 day evaluation downloads and emphasizes the </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/4516578410975119287/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2009/07/jboss-following-springsources.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/4516578410975119287'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/4516578410975119287'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2009/07/jboss-following-springsources.html' title='JBoss following SpringSource&apos;s leadership, by emphasizing separation between free and commercial offerings?'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-1417637083878830144</id><published>2009-07-18T19:58:00.002+01:00</published><updated>2009-07-18T20:51:26.665+01:00</updated><title type='text'>What you don't know that you don't know</title><summary type='text'>Software development is an interesting processOnce you've identified what needs to be developed there's typically some aspect that you haven't dealt with before.  Here are some examples:- a data type in the persistence layer (e.g. GIS Shapefile data)- an unfamiliar MVC framework (e.g. moving from Struts to Spring MVC)- a different JDBC connection pooling implementation- Grails and Groovy instead </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/1417637083878830144/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2009/07/what-you-dont-know-that-you-dont-know.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/1417637083878830144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/1417637083878830144'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2009/07/what-you-dont-know-that-you-dont-know.html' title='What you don&apos;t know that you don&apos;t know'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-3672476833316350183</id><published>2009-07-16T21:04:00.007+01:00</published><updated>2009-07-17T14:59:27.314+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iBatis'/><category scheme='http://www.blogger.com/atom/ns#' term='domain model'/><category scheme='http://www.blogger.com/atom/ns#' term='jpa'/><category scheme='http://www.blogger.com/atom/ns#' term='persistence'/><category scheme='http://www.blogger.com/atom/ns#' term='refactoring'/><category scheme='http://www.blogger.com/atom/ns#' term='Hibernate'/><category scheme='http://www.blogger.com/atom/ns#' term='DML'/><title type='text'>Refactoring of persistent classes in Java</title><summary type='text'>This morning on my way home from the latest job interview, I got to thinking about the costs and benefits of applying different approaches to persisting the domain objects of an application.The company that I had the interview with have two development teams, working on two major projects.  One of the projects is using iBatis, which I took as a sign that this company isn't just blindly following </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/3672476833316350183/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2009/07/refactoring-of-persistent-classes-in.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/3672476833316350183'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/3672476833316350183'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2009/07/refactoring-of-persistent-classes-in.html' title='Refactoring of persistent classes in Java'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-7782800074878430333</id><published>2009-07-16T00:17:00.003+01:00</published><updated>2009-07-16T00:21:59.586+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tweet'/><category scheme='http://www.blogger.com/atom/ns#' term='world record'/><category scheme='http://www.blogger.com/atom/ns#' term='twitterverse'/><category scheme='http://www.blogger.com/atom/ns#' term='Twitter'/><title type='text'>A spontaneous Twitter thought</title><summary type='text'>I wonder how long it will take for world records to start related to Twitter?e.g. the most retweeted tweet.I'm mildly curious about seeing some visualisations of patterns of acticity in the twitterverse.  So far I'd expect Michael Jackson's death to have been the most significant world event since Twitter has been in the mainstream.</summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/7782800074878430333/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2009/07/spontaneous-twitter-thought.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/7782800074878430333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/7782800074878430333'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2009/07/spontaneous-twitter-thought.html' title='A spontaneous Twitter thought'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-3757187555736057368</id><published>2009-07-15T22:45:00.004+01:00</published><updated>2009-07-15T23:00:07.795+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Spring Batch'/><category scheme='http://www.blogger.com/atom/ns#' term='Spring'/><category scheme='http://www.blogger.com/atom/ns#' term='Spring 3'/><category scheme='http://www.blogger.com/atom/ns#' term='London'/><title type='text'>Is London shrinking?</title><summary type='text'>The old expression that "it's a small world" rally rang true for me today.On my way home from a job interview this afternoon I thought that I recognised an old friend from New Zealand queuing up to use an ATM.  Sure enough it was!  After nine and a half months I have finally bumped into someone that I know from back home.As if that wasn't enough, when I attended the London Spring User Group </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/3757187555736057368/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2009/07/is-london-shrinking.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/3757187555736057368'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/3757187555736057368'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2009/07/is-london-shrinking.html' title='Is London shrinking?'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-3429517874490519502</id><published>2009-07-15T00:23:00.004+01:00</published><updated>2009-07-15T00:30:31.689+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='immediately available'/><category scheme='http://www.blogger.com/atom/ns#' term='Twitter'/><category scheme='http://www.blogger.com/atom/ns#' term='Java developer'/><category scheme='http://www.blogger.com/atom/ns#' term='London'/><title type='text'>It's a numbers game - Java developer interviews</title><summary type='text'>Today I heard that I was definitely the second choice, out of the final four candidates that were interviewed for a Java developer role last week.  I hadn't been pressuring the agent for feedback, and he was quite keen on emphasizing that the company will be looking to grow further in the coming months - hopefully I won't still be available then.On Wednesday morning I have my first face-to-face </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/3429517874490519502/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2009/07/its-numbers-game-java-developer.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/3429517874490519502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/3429517874490519502'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2009/07/its-numbers-game-java-developer.html' title='It&apos;s a numbers game - Java developer interviews'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-5648558434330339916</id><published>2009-07-13T00:34:00.003+01:00</published><updated>2009-07-13T18:55:24.169+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='strictfp'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='keyword'/><title type='text'>Java language specification makes for interesting reading</title><summary type='text'>As a different approach to preparing for the latest round of interviews, I've been reading snippets of the Java Language Specification.   After a decade of programming in Java, I was surprised to come across a keyword that I didn't recognise, strictfp.Evidently it's been there since version 1.2, but I guess back then I was more interested in developing Swing components and troubleshooting garbage</summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/5648558434330339916/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2009/07/java-language-specification-makes-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/5648558434330339916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/5648558434330339916'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2009/07/java-language-specification-makes-for.html' title='Java language specification makes for interesting reading'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-2555565600425337393</id><published>2009-07-08T00:49:00.012+01:00</published><updated>2009-07-12T20:05:42.048+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='transactional'/><category scheme='http://www.blogger.com/atom/ns#' term='jpa'/><category scheme='http://www.blogger.com/atom/ns#' term='connection pooling'/><category scheme='http://www.blogger.com/atom/ns#' term='JDBC'/><category scheme='http://www.blogger.com/atom/ns#' term='Java persistence'/><category scheme='http://www.blogger.com/atom/ns#' term='cache'/><category scheme='http://www.blogger.com/atom/ns#' term='Hibernate'/><category scheme='http://www.blogger.com/atom/ns#' term='annotation'/><category scheme='http://www.blogger.com/atom/ns#' term='proxy'/><title type='text'>Hibernate and JPA</title><summary type='text'>I've been posting responses to various queries on the Hibernate Forums lately.There seem to be a few recurring queries, so I'm looking to put together a white paper of sorts.Here are my thoughts of what this might include. JPA versus Hibernate:- Standards compliant versus proprietary- EntityManager versus SessionJPA does not require EJB3- using a JPA implementation does not necessarily require an</summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/2555565600425337393/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2009/07/hibernate-and-jpa.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/2555565600425337393'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/2555565600425337393'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2009/07/hibernate-and-jpa.html' title='Hibernate and JPA'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-5425384766214171965</id><published>2009-07-06T22:41:00.005+01:00</published><updated>2009-07-09T15:37:25.204+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='m2eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='maven inheritance'/><category scheme='http://www.blogger.com/atom/ns#' term='John Ferguson Smart'/><category scheme='http://www.blogger.com/atom/ns#' term='maven conflicts'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='maven'/><category scheme='http://www.blogger.com/atom/ns#' term='London'/><title type='text'>Maven - more than meets the eye</title><summary type='text'>Earlier this evening I attended a presentation by John Ferguson Smart, a fellow kiwi who is in London running his Java Power Tools Bootcamp at SkillsMatter.The title of the session was, "Getting Serious About Build Automation: Using Maven in the Real World".  Based on his recent JavaOne presentation of the same name (slides available for download).Before attending the talk I was probably a lot </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/5425384766214171965/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2009/07/maven-more-than-meets-eye.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/5425384766214171965'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/5425384766214171965'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2009/07/maven-more-than-meets-eye.html' title='Maven - more than meets the eye'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-5936793571760607991</id><published>2009-07-04T23:04:00.006+01:00</published><updated>2009-07-06T08:43:50.849+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='service'/><category scheme='http://www.blogger.com/atom/ns#' term='grails IDE Spring London plugin'/><category scheme='http://www.blogger.com/atom/ns#' term='agile'/><category scheme='http://www.blogger.com/atom/ns#' term='Facebook'/><category scheme='http://www.blogger.com/atom/ns#' term='design pattern'/><category scheme='http://www.blogger.com/atom/ns#' term='gateway'/><category scheme='http://www.blogger.com/atom/ns#' term='Martin Fowler'/><category scheme='http://www.blogger.com/atom/ns#' term='Java developer'/><title type='text'>What a difference a name makes</title><summary type='text'>I've started working on an application to allow people to manage their Facebook groups from outside of Facebook, as a hobby project to keep my skills fresh while I am between roles.This morning as I was writing some tests and expanding the application to the point where it would be ready to start interacting with Facebook, I found myself feeling uneasy about the structure of a Service.The method </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/5936793571760607991/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2009/07/inversion-of-control.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/5936793571760607991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/5936793571760607991'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2009/07/inversion-of-control.html' title='What a difference a name makes'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-7332771438381955</id><published>2009-07-03T10:34:00.019+01:00</published><updated>2011-05-17T07:40:39.750+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programmer analyst'/><category scheme='http://www.blogger.com/atom/ns#' term='JSTL'/><category scheme='http://www.blogger.com/atom/ns#' term='JSP'/><category scheme='http://www.blogger.com/atom/ns#' term='transactions'/><category scheme='http://www.blogger.com/atom/ns#' term='SOAP'/><category scheme='http://www.blogger.com/atom/ns#' term='Perl'/><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><category scheme='http://www.blogger.com/atom/ns#' term='web services'/><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><category scheme='http://www.blogger.com/atom/ns#' term='ecommerce'/><category scheme='http://www.blogger.com/atom/ns#' term='Java developer'/><title type='text'>Professional Experience - A brief summary of commercial software development projects that I have been involved in</title><summary type='text'>This is going to be a long post, something I am considering as an appendix to my CV so that interested parties can get a more detailed view of my areas of expertise.2011- Developing RESTful web services using JSON- Converting stand-alone SOAP services to be integrated into a web application- Liaising with client project managers and their suppliers- Consuming XML web services2010- Mentoring </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/7332771438381955/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2009/07/professional-experience-projects-i-have.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/7332771438381955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/7332771438381955'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2009/07/professional-experience-projects-i-have.html' title='Professional Experience - A brief summary of commercial software development projects that I have been involved in'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-3313631039949619181</id><published>2009-07-03T02:28:00.005+01:00</published><updated>2009-07-03T02:40:38.759+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GAE'/><category scheme='http://www.blogger.com/atom/ns#' term='Java applet'/><category scheme='http://www.blogger.com/atom/ns#' term='distributed game'/><category scheme='http://www.blogger.com/atom/ns#' term='Swing UI'/><category scheme='http://www.blogger.com/atom/ns#' term='cloud computing'/><title type='text'>I know there's a heatwave on, but where's my cloud gone?</title><summary type='text'>Thursday was not a good day to be deploying updates to my hobby application on Google's App Engine.Early in the day I had been making some good progress with refactoring my client UI, and adding some intelligence to the server side for allowing game rules to start to take effect, but by mid-afternoon I noticed that I was unable to redeploy my application.Secure in the knowledge that nothing of </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/3313631039949619181/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2009/07/i-know-theres-heatwave-on-but-wheres-my.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/3313631039949619181'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/3313631039949619181'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2009/07/i-know-theres-heatwave-on-but-wheres-my.html' title='I know there&apos;s a heatwave on, but where&apos;s my cloud gone?'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-8711352534468181730</id><published>2009-06-30T22:35:00.004+01:00</published><updated>2009-07-02T10:24:23.748+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='online game'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Google App Engine'/><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><category scheme='http://www.blogger.com/atom/ns#' term='game'/><category scheme='http://www.blogger.com/atom/ns#' term='System properties'/><category scheme='http://www.blogger.com/atom/ns#' term='eclipse plugin'/><title type='text'>Google App Engine play</title><summary type='text'>I've gotten back around to trying out Google App Engine.The main area that I have heard about it has been in my dealings with Grails, but I am sticking with the plain Java capabilities for my initial experimenting.It seems fairly trivial to build and deploy some servlets using the Google plugin for Eclipse - even though that has meant switching back to a Ganymede version of Eclipse instead of the</summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/8711352534468181730/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2009/06/google-app-engine-play.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/8711352534468181730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/8711352534468181730'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2009/06/google-app-engine-play.html' title='Google App Engine play'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-7952384791258046716</id><published>2009-06-30T12:13:00.005+01:00</published><updated>2009-06-30T12:23:52.590+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Jason Le Lievre'/><category scheme='http://www.blogger.com/atom/ns#' term='Facebook embed video'/><category scheme='http://www.blogger.com/atom/ns#' term='27 June 2009'/><category scheme='http://www.blogger.com/atom/ns#' term='wedding'/><category scheme='http://www.blogger.com/atom/ns#' term='Ailish Le Lievre'/><category scheme='http://www.blogger.com/atom/ns#' term='Ailish Ward'/><category scheme='http://www.blogger.com/atom/ns#' term='Michael Holland'/><category scheme='http://www.blogger.com/atom/ns#' term='Jamie Calder'/><title type='text'>When is a non techo post actually a techo post?</title><summary type='text'>For a change of pace I popped across to Ireland to attend a wedding on the 27th of June.I had my video camera with me and managed to get some good footage of the speeches.The groomsmen helped to make the event a lot of fun - one of them even managed to bribe the best man into mentioning me in his "thank you"s, so here is the clip.(NB: this post is also an experiment in how Facebook will allow me </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/7952384791258046716/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2009/06/when-is-non-techo-post-actually-techo.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/7952384791258046716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/7952384791258046716'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2009/06/when-is-non-techo-post-actually-techo.html' title='When is a non techo post actually a techo post?'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-881828130814695345</id><published>2009-06-25T00:56:00.000+01:00</published><updated>2009-06-25T01:08:56.971+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Graeme Rocher'/><category scheme='http://www.blogger.com/atom/ns#' term='Grails Jira'/><category scheme='http://www.blogger.com/atom/ns#' term='grails'/><category scheme='http://www.blogger.com/atom/ns#' term='bug fixing crusade'/><title type='text'>Grails Bug Fixing Sprint</title><summary type='text'>I was just perusing the Grails User mailing list and came across a post by Graeme Rocher asking for the community to let him know what bugs are "hurting" the most.As part of the movement towards greater stability outlined as a key objective on the roadmap for Grails 1.2 "Bedivere", Graeme is heading up a bug fixing crusade targeting what is going to produce the greatest value to the active users </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/881828130814695345/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2009/06/grails-bug-fixing-sprint.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/881828130814695345'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/881828130814695345'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2009/06/grails-bug-fixing-sprint.html' title='Grails Bug Fixing Sprint'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-2793324685895766525</id><published>2009-06-24T21:36:00.000+01:00</published><updated>2009-06-24T22:06:58.725+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software model'/><category scheme='http://www.blogger.com/atom/ns#' term='software design'/><category scheme='http://www.blogger.com/atom/ns#' term='distributed application'/><category scheme='http://www.blogger.com/atom/ns#' term='problem solving'/><category scheme='http://www.blogger.com/atom/ns#' term='developer interview'/><title type='text'>I love it when a plan comes together!</title><summary type='text'>Today I had one of those interviews where everything seemed to just flow naturally from the start to the finish.I was initially hesitant to agree to this face-to-face interview, as I am in the process of preparing for another interview which will involve me using an editing environment that I am not particularly familiar with.  The agent's description of the interview process convinced me to go </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/2793324685895766525/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2009/06/i-love-it-when-plan-comes-together.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/2793324685895766525'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/2793324685895766525'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2009/06/i-love-it-when-plan-comes-together.html' title='I love it when a plan comes together!'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-4275933758839466764</id><published>2009-06-22T15:24:00.000+01:00</published><updated>2009-06-22T15:48:48.938+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='jira issues'/><category scheme='http://www.blogger.com/atom/ns#' term='GORM'/><category scheme='http://www.blogger.com/atom/ns#' term='grails'/><category scheme='http://www.blogger.com/atom/ns#' term='Spring'/><category scheme='http://www.blogger.com/atom/ns#' term='maven'/><category scheme='http://www.blogger.com/atom/ns#' term='Hibernate'/><category scheme='http://www.blogger.com/atom/ns#' term='groovy'/><title type='text'>Grails gotchas / showstoppers effecting uptake</title><summary type='text'>I was somewhat relieved when I came across this blog post which highlights the fact that other developers have also faced a loss of productivity when working with Grails.The "convention over configuration" approach speeds up development and keeps the learning curve fairly easy for most developers, but the list of open issues on the Jira suggests that there are still some aspects that need tuning </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/4275933758839466764/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2009/06/grails-gotchas-showstoppers-effecting.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/4275933758839466764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/4275933758839466764'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2009/06/grails-gotchas-showstoppers-effecting.html' title='Grails gotchas / showstoppers effecting uptake'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-3006545541597078226</id><published>2009-06-16T20:46:00.001+01:00</published><updated>2009-06-16T21:06:57.354+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='online scam'/><category scheme='http://www.blogger.com/atom/ns#' term='misleading advertising'/><category scheme='http://www.blogger.com/atom/ns#' term='Facebook'/><category scheme='http://www.blogger.com/atom/ns#' term='Google money scam'/><title type='text'>Get rich quick scams advertising on Facebook</title><summary type='text'>Since I tried tricking the context-sensitive advertising system into not showing me all the dating sites, I have noticed quite a few advertisements that looked to good to be true, in other words scams.Out of curiousity I have clicked on some links and found that they show up as a fake site designed to give the appearance of an online newspaper with a journalist's report on their "product".If you </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/3006545541597078226/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2009/06/get-rich-quick-scams-advertising-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/3006545541597078226'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/3006545541597078226'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2009/06/get-rich-quick-scams-advertising-on.html' title='Get rich quick scams advertising on Facebook'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-8852323487104240878</id><published>2009-06-14T23:05:00.000+01:00</published><updated>2009-06-15T00:06:05.469+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='compact framework'/><category scheme='http://www.blogger.com/atom/ns#' term='killer app gotchas'/><category scheme='http://www.blogger.com/atom/ns#' term='developing for mobile devices'/><title type='text'>Why some killer apps should be approached with caution</title><summary type='text'>In my career so far as a software developer I have worked on a number of projects that were supposedly guaranteed to launch the investors into the bigtime.Surprisingly enough - they didn't.This post is intended to provide some general advise to others that may be considering investing money and manhours into a "killer app".Be realistic when you determine your potential market, then knock that </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/8852323487104240878/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2009/06/why-some-killer-apps-should-be.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/8852323487104240878'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/8852323487104240878'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2009/06/why-some-killer-apps-should-be.html' title='Why some killer apps should be approached with caution'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-2382560091025274069</id><published>2009-06-14T00:07:00.000+01:00</published><updated>2009-06-14T00:20:56.680+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google maps'/><category scheme='http://www.blogger.com/atom/ns#' term='Google App Engine'/><category scheme='http://www.blogger.com/atom/ns#' term='auction'/><category scheme='http://www.blogger.com/atom/ns#' term='lost and found'/><category scheme='http://www.blogger.com/atom/ns#' term='image upload'/><title type='text'>Another limited use killer app</title><summary type='text'>A week or so ago I signed up with a Google App Engine account.  The next step was trying to think up an application to develop and deploy onto this new-ish cloud computing environment.  I thought about an auction system, as I have some experience of that from a project that I lead back in New Zealand, but I got side-tracked into preparing for some interviews.Yesterday I was looking for someplace </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/2382560091025274069/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2009/06/another-limited-use-killer-app.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/2382560091025274069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/2382560091025274069'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2009/06/another-limited-use-killer-app.html' title='Another limited use killer app'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-7173280912514908367</id><published>2009-06-12T12:52:00.000+01:00</published><updated>2009-06-12T13:01:45.547+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='transactional'/><category scheme='http://www.blogger.com/atom/ns#' term='static'/><category scheme='http://www.blogger.com/atom/ns#' term='Grails declarative directive'/><category scheme='http://www.blogger.com/atom/ns#' term='gotcha'/><title type='text'>Declaring directives in Grails</title><summary type='text'>I thought that I may have been missing some subtle aspect about programming in Groovy when I noticed some code that was trying to specify the transactional behaviour of a service.According to the Grails documentation the way to specify this is by including a static variable named transactional and set it to true or false.The default behaviour (without the existence of this static variable) is </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/7173280912514908367/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2009/06/declaring-directives-in-grails.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/7173280912514908367'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/7173280912514908367'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2009/06/declaring-directives-in-grails.html' title='Declaring directives in Grails'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1481195935080195479.post-8961560066912851044</id><published>2009-06-11T09:36:00.000+01:00</published><updated>2009-06-11T09:40:53.806+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='union'/><category scheme='http://www.blogger.com/atom/ns#' term='London Underground strike'/><category scheme='http://www.blogger.com/atom/ns#' term='interview'/><title type='text'>Tube strike?  What tube strike?</title><summary type='text'>My local Underground line was mostly uneffected by the RMT strike, as it turns out that not all lines are operated by the same union.  This was a great relief when it came to finding my way to a job interview on the other side of town, as I didn't have to use buses or boats or anything that I would normally avoid when wearing a suit on a rainy day.Coming back home at around 5pm did seem a bit </summary><link rel='replies' type='application/atom+xml' href='http://elegant-solutions.blogspot.com/feeds/8961560066912851044/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elegant-solutions.blogspot.com/2009/06/tube-strike-what-tube-strike.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/8961560066912851044'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1481195935080195479/posts/default/8961560066912851044'/><link rel='alternate' type='text/html' href='http://elegant-solutions.blogspot.com/2009/06/tube-strike-what-tube-strike.html' title='Tube strike?  What tube strike?'/><author><name>Stephen Souness</name><uri>http://www.blogger.com/profile/02865488454850253029</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://3.bp.blogspot.com/_RDfcSPPXVjs/Si6N7KtCCSI/AAAAAAAAAAM/3JF-KzpCTr8/S220/self-face.jpg'/></author><thr:total>0</thr:total></entry></feed>
