<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Technical &#38; Software Blog - ssims.co.uk</title>
	<atom:link href="http://blog.ssims.co.uk/index.php/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.ssims.co.uk</link>
	<description>Software, Computing and Web technology discussion</description>
	<lastBuildDate>Tue, 23 Apr 2013 19:32:56 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Agility &#8211; process improvement is part of what makes us human</title>
		<link>http://blog.ssims.co.uk/index.php/2013/04/agility-process-improvement-is-part-of-what-makes-us-human/</link>
		<comments>http://blog.ssims.co.uk/index.php/2013/04/agility-process-improvement-is-part-of-what-makes-us-human/#comments</comments>
		<pubDate>Tue, 23 Apr 2013 19:32:56 +0000</pubDate>
		<dc:creator>ssims</dc:creator>
				<category><![CDATA[Business Development]]></category>
		<category><![CDATA[Development Tools]]></category>
		<category><![CDATA[Java Development]]></category>
		<category><![CDATA[Opinions and Observations]]></category>

		<guid isPermaLink="false">http://blog.ssims.co.uk/?p=971</guid>
		<description><![CDATA[So SCRUM / Kanban / Lean is the greatest project management methodology &#8216;invented&#8217;, and all these fantastic advances took place within the last few decades? That&#8217;s just plain silly, the greatest single thing that makes process improvement possible is our innate ability as a species to do a little thing called reflection. Please don&#8217;t focus too much [...]]]></description>
				<content:encoded><![CDATA[<p>So SCRUM / Kanban / Lean is the greatest project management methodology &#8216;invented&#8217;, and all these fantastic advances took place within the last few decades?</p>
<p>That&#8217;s just plain silly, the greatest single thing that makes process improvement possible is our innate ability as a species to do a little thing called <em>reflection. </em>Please don&#8217;t focus too much on the name, we have far too many labels for stuff already. But I&#8217;d argue that the moment our ancestors genetically mutated to become able to think about what they are doing [wrong] and how they can change it [to improve], is the moment we really became able to rapidly advance as a civilisation.</p>
<p>My point in relation to software development is that everyone already has some degree of agility in their approach to their work. How measured and thought out it is may be debatable, but who doesn&#8217;t want to make their own job easier in some way?</p>
<p>In light of the fact that many people may already be no stranger to process improvement, it&#8217;s probably wise when applying an approach like SCRUM to first consider how things are working and being improved currently. The trouble with methodological frameworks is that if they are too tightly applied with too many rules, you lose the spontaneity of your ability to respond to change, and if they are too loosely applied then the process is likely to be &#8216;broken&#8217; such that it might as well not exist in the first place. Much can be learnt from looking at existing procedures in place, which may in fact be much more applicable to the nature of the work in question and consider factors that (to begin with at least) the <em>new way </em>might ignore.</p>
<p>Often it seems to me that: the tools used, methods of communication, decision making procedure and working practices make a much more substantial contribution to how well stuff works in a company, than the chosen <em>way</em>. I&#8217;m not denying the importance of project management and process improvement, just expanding on the &#8216;no silver bullet&#8217; theory in relation to programming languages, to apply to all aspects of software development, and indeed to any other industry. Just as there is no simple <em>way</em> to get rich quick there is no simple<em> way </em>to deliver stuff on time and on budget. It takes hard work, application of the little grey cells and the humility to reflect when things inevitably go wrong.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ssims.co.uk/index.php/2013/04/agility-process-improvement-is-part-of-what-makes-us-human/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>git commands</title>
		<link>http://blog.ssims.co.uk/index.php/2013/04/git-commands/</link>
		<comments>http://blog.ssims.co.uk/index.php/2013/04/git-commands/#comments</comments>
		<pubDate>Wed, 17 Apr 2013 19:36:04 +0000</pubDate>
		<dc:creator>ssims</dc:creator>
				<category><![CDATA[Development Tools]]></category>

		<guid isPermaLink="false">http://blog.ssims.co.uk/?p=963</guid>
		<description><![CDATA[I&#8217;ve been using git on and off for version control recently. Here is a list of some of the common basic git commands, along with a simple description of what they do: git clone repository-url - checkout a repository into the current working directory (creates a local repository) git checkout -b my-branch - create a branch of the current repository and switch to [...]]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve been using <em>git</em> on and off for version control recently. Here is a list of some of the common basic git commands, along with a simple description of what they do:</p>
<p><strong>git </strong><strong>clone </strong><em><strong>repository-url</strong> </em>- checkout a repository into the current working directory (creates a local repository)</p>
<p><strong>git checkout -b <em>my-branch</em></strong><em> </em><em>- </em>create a branch of the current repository and switch to it</p>
<p><strong>git add</strong> <em><strong>files</strong></em><strong> </strong>- add files to the &#8216;staging area&#8217; (basically notifies git to prepare files for commit), use <strong>git add . </strong>to add all files</p>
<p><strong>git commit -m <em>&#8216;this is a lovely new feature which is complete&#8217;</em></strong> - this will commit the files to the local repository with the message specified by -m</p>
<p><strong>git push </strong>- push all changes up to the remote repository</p>
<p><strong>git status </strong>- get info about the state of the repository</p>
<p><strong>git merge <em>branch-to-bring-in </em></strong>- merge the specified branch into the current branch</p>
<p><em><br />
</em></p>
<p>Obviously you can combine the commands to build up various workflow related operations, e.g. if you wish to merge a feature branch into master:<br />
git checkout master; git merge my-branch</p>
<p>For more detailed information on all the git commands available, <a href="https://www.kernel.org/pub/software/scm/git/docs/" rel="nofollow">check out the git man pages here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ssims.co.uk/index.php/2013/04/git-commands/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Prolog FTW!</title>
		<link>http://blog.ssims.co.uk/index.php/2013/04/prolog-ftw/</link>
		<comments>http://blog.ssims.co.uk/index.php/2013/04/prolog-ftw/#comments</comments>
		<pubDate>Fri, 12 Apr 2013 13:05:13 +0000</pubDate>
		<dc:creator>ssims</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.ssims.co.uk/?p=958</guid>
		<description><![CDATA[Echoing my views on software communities in the previous post, I recently took part in some talks about logic programming and Prolog. There&#8217;s some really interesting meetup groups in Cambridge for software development, and this one was no exception. You can view my slides here: http://sdrv.ms/119TGoA If I get time and there is appetite for it I [...]]]></description>
				<content:encoded><![CDATA[<p>Echoing my views on software communities in the previous post, I recently took part in some talks about logic programming and Prolog. There&#8217;s some really interesting <a href="http://www.meetup.com">meetup</a> groups in Cambridge for software development, and this one was no exception. You can view my slides here: <a href="http://sdrv.ms/119TGoA">http://sdrv.ms/119TGoA</a></p>
<p>If I get time and there is appetite for it I hope to post a bit more about logic programming in future, as its always been one of my interests and I see promoting its use where it can be beneficial as a really positive move! In future it will surely only become more important to use multiple programming techniques, choosing &#8216;the right tool for the job&#8217; and inter-operating, rather than using one monolithic &#8216;multi-tool&#8217;.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ssims.co.uk/index.php/2013/04/prolog-ftw/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The value of communities in software</title>
		<link>http://blog.ssims.co.uk/index.php/2013/04/the-value-of-communities-in-software/</link>
		<comments>http://blog.ssims.co.uk/index.php/2013/04/the-value-of-communities-in-software/#comments</comments>
		<pubDate>Fri, 12 Apr 2013 12:58:30 +0000</pubDate>
		<dc:creator>ssims</dc:creator>
				<category><![CDATA[Opinions and Observations]]></category>

		<guid isPermaLink="false">http://blog.ssims.co.uk/?p=949</guid>
		<description><![CDATA[The computing industry has spawned many communities which have an influence that spans across different online and offline sectors of society. These communities reach and bring together people from around the world with common interests and purposes. This stimulates productiveness in developing and using software. I would also argue that another effect these communities have in [...]]]></description>
				<content:encoded><![CDATA[<p>The computing industry has spawned many communities which have an influence that spans across different online and offline sectors of society. These communities reach and bring together people from around the world with common interests and purposes. This stimulates productiveness in developing and using software. I would also argue that another effect these communities have in general is adding value to products, services, software and society at large which would be difficult to generate any other way.</p>
<p>I&#8217;m not a &#8216;business&#8217; type of guy, nor am I a politician, but I recognise the importance of a community to software and society, even if I would struggle to foster one around a piece of software myself. Nearly all successful open source projects have a strong community, which often consists of a mixture of passionate individuals, businesses and partner organisations. There are a variety of methods that are used to organise and  communicate within these communities including online forums, project management software, wikis, mailing lists, emails, meetup/user groups and conferences. Sometimes small communities work well, and sometimes a large critical mass of participants is required for these communities to be productive. The organisation of software communities also varies, with some having a very hierarchical structure and others being quite ad-hoc and &#8216;flat&#8217;. Different approaches work for different software.</p>
<p>The important message I&#8217;m trying to deliver is that community really matters for a lot of software projects, and not just to boost the profile and success of the software itself. It does a lot for the industry in general to have diverse communities which can help to break down barriers and get people interacting together. It helps developers and users to avoid the feeling of being lost in the wilderness and feel they have peers, and hopefully friends, they can turn to for advice. I think it <em>can</em> make our industry a more friendly, pleasant one to be involved with. That is of course dependent on how approachable the community in question is.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ssims.co.uk/index.php/2013/04/the-value-of-communities-in-software/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Search Technologies&#8230; Lucene, Solr and the importance of &#8216;Search&#8217;</title>
		<link>http://blog.ssims.co.uk/index.php/2013/02/search-technologies-lucene-solr-and-the-importance-of-search/</link>
		<comments>http://blog.ssims.co.uk/index.php/2013/02/search-technologies-lucene-solr-and-the-importance-of-search/#comments</comments>
		<pubDate>Fri, 08 Feb 2013 21:30:13 +0000</pubDate>
		<dc:creator>ssims</dc:creator>
				<category><![CDATA[Business Development]]></category>
		<category><![CDATA[Java Development]]></category>
		<category><![CDATA[Opinions and Observations]]></category>

		<guid isPermaLink="false">http://blog.ssims.co.uk/?p=940</guid>
		<description><![CDATA[Reflecting the nature of trends in web user experience, my work as a developer has led me to be quite involved in the field of &#8216;search&#8217;. It&#8217;s fair to say I never fully appreciated how important information retrieval / search theory would become in my career, and what &#8216;search&#8217; is really all about. A few [...]]]></description>
				<content:encoded><![CDATA[<p>Reflecting the nature of trends in web user experience, my work as a developer has led me to be quite involved in the field of &#8216;search&#8217;. It&#8217;s fair to say I never fully appreciated how important information retrieval / search theory would become in my career, and what &#8216;search&#8217; is really all about.</p>
<p>A few months ago I changed jobs and began working for ProQuest. Both here and at my previous employer, Open Objects, search technologies are a key part of the underlying software infrastructure on which their web based products are built. Generally this is the case for web applications which allow users to sift through large amounts of semi-structured full-text data (documents), and retrieve the specific information they are after with ease.</p>
<p>I think its no trade secret that a lot of [forward thinking] organisations to whom search is important are using or moving towards the use of open source search solutions, of which there are currently two major projects: Apache Lucene and Apache Solr. The former is a Java library which provides a wide range of indexing and searching functionality, and the latter is a self contained web application providing further functionality and opening up Lucene&#8217;s features over a HTTP based interface.</p>
<p>Its important to make the distinction between searching and fulfilling an information need. &#8216;Search&#8217; is just a mechanism through which users find the information they need, and particular technologies and features provide a variety of ways they can do this. Some people speculate that the future of information retrieval may not look like &#8216;search&#8217; at all. In fact there has for some time been growing interest in algorithms that use data continually collected from a number of sources to &#8216;learn&#8217; and provide the user with the information they need.</p>
<p>You can use Solr without much understanding of Lucene&#8217;s composition, and you can also use Lucene without much knowledge of information retrieval methods. This is testament to both projects&#8217; APIs. However the more you find yourself wanting to do in the search space, the more useful it is to develop an understanding of the concepts underpinning these technologies.</p>
<p>I think that&#8217;ll suffice for an intro to search circa 2013. Hope it was useful, more to come!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ssims.co.uk/index.php/2013/02/search-technologies-lucene-solr-and-the-importance-of-search/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Book review &#8211; Masters of Doom</title>
		<link>http://blog.ssims.co.uk/index.php/2013/01/book-review-masters-of-doom/</link>
		<comments>http://blog.ssims.co.uk/index.php/2013/01/book-review-masters-of-doom/#comments</comments>
		<pubDate>Fri, 11 Jan 2013 18:56:59 +0000</pubDate>
		<dc:creator>ssims</dc:creator>
				<category><![CDATA[Book Review]]></category>
		<category><![CDATA[Opinions and Observations]]></category>

		<guid isPermaLink="false">http://blog.ssims.co.uk/?p=920</guid>
		<description><![CDATA[Masters of Doom: How Two Guys Created an Empire and Transformed Pop Culture By David Kushner I used to be a very avid gamer, and I would estimate I&#8217;ve spent thousands of hours of my youth playing the Doom and Quake games. They were fantastically immersive and exciting. But I haven&#8217;t seriously touched a game in years, [...]]]></description>
				<content:encoded><![CDATA[<p><strong>Masters of Doom: </strong>How Two Guys Created an Empire and Transformed Pop Culture</p>
<p>By David Kushner</p>
<p><img class="alignright size-full wp-image-922" title="mastersofdoom" src="http://blog.ssims.co.uk/techblog/wp-content/uploads/2013/01/mastersofdoom1.jpg" alt="" width="128" height="198" />I used to be a very avid gamer, and I would estimate I&#8217;ve spent thousands of hours of my youth playing the Doom and Quake games. They were fantastically immersive and exciting. But I haven&#8217;t seriously touched a game in years, not through any deliberate action nor is it something I&#8217;m particularly bothered about, I just naturally found less time for games. These days if I do have a few spare minutes its usually programming that I spend my time doing. But I do have one thing to thank this book for and that is reigniting my passion for reading, something that if I&#8217;m honest I&#8217;ve spent far less of my life doing than gaming.</p>
<p>This book covers in equal measure the social, technical and game industry related aspects of the history of id Software. It closely follows the lives of John Romero and John Carmack, two of the founding members of id Software that have gained incredible &#8216;rock-star&#8217; notoriety. Though times have very much changed since they started out, this book still has some relevant themes which resonate today. The author carefully navigates the history of the company remaining neutral without casting any aspersions, leaving you to make your own mind up about the what can be learned from what happened. And ultimately though this neutral stance removes some of the tension and suspense, the story stands up as an enjoyable one nonetheless.</p>
<p>The book really gives you a sense of the success that these quirky &#8216;nerds&#8217; had at a time when there was no Big Bang Theory and &#8216;nerd&#8217; culture. They overcame some of the difficult times they experienced to not only develop amazing pieces of software, but become Ferrari driving celebrities in their own right (whether they celebrated their new found popularity or not).</p>
<p>Masters of Doom also reminds you of the fact that games were instrumental in the progress of new ideas like open source software and community driven software development. I almost forgot how many expansion packs and extra levels there were available online for these games, which secured them a much longer shelf life &#8211; I even made a few (pretty poor!) add-ons myself.</p>
<p>I can thoroughly recommend Masters of Doom, and as it has got me reading books again of all kinds (biographies, fiction and software related) I may well post similar book reviews in future.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ssims.co.uk/index.php/2013/01/book-review-masters-of-doom/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CQRS and the Axon Framework</title>
		<link>http://blog.ssims.co.uk/index.php/2012/10/cqrs-and-the-axon-framework/</link>
		<comments>http://blog.ssims.co.uk/index.php/2012/10/cqrs-and-the-axon-framework/#comments</comments>
		<pubDate>Fri, 19 Oct 2012 08:05:30 +0000</pubDate>
		<dc:creator>ssims</dc:creator>
				<category><![CDATA[Java Development]]></category>
		<category><![CDATA[Technology News]]></category>
		<category><![CDATA[Web User Interfaces (AJAX and RIAs)]]></category>

		<guid isPermaLink="false">http://blog.ssims.co.uk/?p=909</guid>
		<description><![CDATA[At its heart CQRS (Command Query Response Segregation) is a simple design philosophy highly suited to certain types of applications such as those dealing with reasonable size datasets, or event driven user interfaces. The aim is to separate the infrastructure code from the application logic, and also the create/update/delete (command) operations from the read (query) [...]]]></description>
				<content:encoded><![CDATA[<p>At its heart CQRS (Command Query Response Segregation) is a simple design philosophy highly suited to certain types of applications such as those dealing with reasonable size datasets, or event driven user interfaces. The aim is to separate the infrastructure code from the application logic, and also the create/update/delete (command) operations from the read (query) operations.</p>
<p>This in practice means asynchronous command processing and optionally separate infrastructure for command and query operations. Increasingly web applications are reasonable large scale and perceived &#8216;transactional&#8217; behavior often involves multiple processes and calls to web services. This adds uncertainty and indeterminate periods of execution time to the operation.</p>
<p>The increase in service orientation (SOA), or servitisation as it is sometimes called, is clearly important to modern applications and carefully designed service architecture helps to avoid a nest of web service calls which may never return. However CQRS introduces a more realistic model which enforces data updates to be asynchronous, and encourages separation between command and query data, a pattern which may already be familiar or have already emerged from complex application designs.</p>
<p><strong>Axon Framework</strong></p>
<p>The <a href="http://www.axonframework.org">Axon Framework</a> is a Java CQRS application framework which provides all the hooks for effective CQRS design. The framework should fit existing infrastructure technologies, such as Spring, JPA and JMS. Production applications using this framework are starting to appear and its popularity continues to grow. Though the Axon provides an easy way to structure an application, it is possible &#8216;roll your own&#8217; framework, and many existing applications that use messaging technologies probably do. The advantage of Axon is that it has been carefully thought through by those used to CQRS design and helps to enforce a specific pattern for developers to follow.</p>
<p><strong>The future of software design?</strong></p>
<p>It is likely that we&#8217;ll be seeing more applications adopting a CQRS architecture in the coming years. Ultimately this may be of particular benefit to applications where data may be updated and viewed by multiple users and this relies on external services. We will probably start to see an increase in web sites and web apps which update when events are processed. With the advent of HTML5 features such as WebSockets this becomes even more seamless as the client&#8217;s web browser will no longer need to poll to pick up changes, rather they will be &#8216;pushed&#8217; to the client. Though there are a lot of challenges with larger scale applications, hopefully carefully implemented emerging design patterns such as CQRS will make like easier.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ssims.co.uk/index.php/2012/10/cqrs-and-the-axon-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What do you want from life? &#8211; the question we should be asking post economic disaster</title>
		<link>http://blog.ssims.co.uk/index.php/2012/10/what-do-you-want-from-life-the-question-we-should-be-asking-post-economic-disaster/</link>
		<comments>http://blog.ssims.co.uk/index.php/2012/10/what-do-you-want-from-life-the-question-we-should-be-asking-post-economic-disaster/#comments</comments>
		<pubDate>Fri, 19 Oct 2012 08:04:48 +0000</pubDate>
		<dc:creator>ssims</dc:creator>
				<category><![CDATA[Opinions and Observations]]></category>

		<guid isPermaLink="false">http://blog.ssims.co.uk/?p=902</guid>
		<description><![CDATA[Its a heady, deep and widely avoided question &#8211; what do we really want from life? As the world is gradually recovering from economic disaster, I argue this question becomes increasingly more important to ask both yourself, those around you and ultimately force politicians to answer for themselves too. A healthy economy is too fluffy [...]]]></description>
				<content:encoded><![CDATA[<p>Its a heady, deep and widely avoided question &#8211; what do we really want from life? As the world is gradually recovering from economic disaster, I argue this question becomes increasingly more important to ask both yourself, those around you and ultimately force politicians to answer for themselves too. A healthy economy is too fluffy a term, and means different things to different people.</p>
<p>I think there are two reactions one can have to economic hardship &#8211; worrying solely about money which generally leads to a shift in priorities causing a fixation on material goods, or concern about how we got here in the first place, ultimately a very difficult question to answer. There&#8217;s a great opportunity emerging from a recession for my generation and those younger to assess their priorities in life, and for this to have a wider impact across communities. To my mind social well being, environmental reform (of both the natural and man-made environment) and striving to do a good job should be high on the list. In my view when you get these ducks in a row in your personal life, you and those around you tend to live a happier life. I&#8217;m a firm believer that the relationships you build and way you behave has an impact on how life pans out for you. Apply these priorities on a larger scale to society and the world would be a better place.</p>
<p>We all know the world economy has a fundamental floor called credit and there is nothing we can do now to remove that carcinogen from the pool of risks associated with capitalism. But if we focused on (to use a turn of phrase often used by legendary programmer John. D Carmack) doing <em>the right thing,</em> perhaps life would be a lot better.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ssims.co.uk/index.php/2012/10/what-do-you-want-from-life-the-question-we-should-be-asking-post-economic-disaster/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JSF 2.0 &#8211; converting objects without a Converter</title>
		<link>http://blog.ssims.co.uk/index.php/2012/09/jsf-2-0-converting-objects-without-a-converter/</link>
		<comments>http://blog.ssims.co.uk/index.php/2012/09/jsf-2-0-converting-objects-without-a-converter/#comments</comments>
		<pubDate>Sat, 29 Sep 2012 18:01:44 +0000</pubDate>
		<dc:creator>ssims</dc:creator>
				<category><![CDATA[Java Development]]></category>

		<guid isPermaLink="false">http://blog.ssims.co.uk/?p=892</guid>
		<description><![CDATA[As is so often the case, the best solution is also the simplest. I&#8217;ve been developing a personal web app, using JSF 2.0 for the presentation layer. I&#8217;m used to creating custom Converters using the @FacesConverter annotation to carry out the conversion from String to Object format and vice versa. This is useful when the [...]]]></description>
				<content:encoded><![CDATA[<p>As is so often the case, the best solution is also the simplest. I&#8217;ve been developing a personal web app, using JSF 2.0 for the presentation layer. I&#8217;m used to creating custom Converters using the @FacesConverter annotation to carry out the conversion from String to Object format and vice versa. This is useful when the String representation and the Object are loosely coupled. For some reason this particular converter was proving problematic. It wasn&#8217;t until I happened to implement a toString() method on the object that I realised, in many cases this is all you need: <a href="http://docs.oracle.com/javaee/6/api/javax/faces/component/UIOutput.html">http://docs.oracle.com/javaee/6/api/javax/faces/component/UIOutput.html</a> (for an explanation)</p>
<p>So ultimately in your code, all that is required is:</p>
<pre>&lt;h:selectOneRadio value="#{backingBean.myChoice}"&gt;
  &lt;f:selectItems value="#{backingBean.yourCollectionOfItems}" /&gt;
&lt;/h:selectOneRadio&gt;</pre>
<p>So many Java libraries make use of the basic object methods (toString, equals and hashCode), and so those wiser Java lecturers and developers weren&#8217;t lying to you when they said make sure you always implement them!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ssims.co.uk/index.php/2012/09/jsf-2-0-converting-objects-without-a-converter/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Future of Social Networking</title>
		<link>http://blog.ssims.co.uk/index.php/2012/09/the-future-of-social-networking/</link>
		<comments>http://blog.ssims.co.uk/index.php/2012/09/the-future-of-social-networking/#comments</comments>
		<pubDate>Sat, 22 Sep 2012 23:54:46 +0000</pubDate>
		<dc:creator>ssims</dc:creator>
				<category><![CDATA[Opinions and Observations]]></category>

		<guid isPermaLink="false">http://blog.ssims.co.uk/?p=557</guid>
		<description><![CDATA[This was an old post I vaguely remember starting aimlessly which quickly turned into an essay, I decided it was time to dust it off and see if some of my musings and gripes about social networking are still relevant over two years later! One could write a diatribe about social networking and the continued [...]]]></description>
				<content:encoded><![CDATA[<p><em>This was an old post I vaguely remember starting aimlessly which quickly turned into an essay, I decided it was time to dust it off and see if some of my musings and gripes about social networking are still relevant over two years later!</em></p>
<p>One could write a diatribe about social networking and the continued popularity of Facebook, so I&#8217;ll try my best to stick to the point. What I want to discuss is the users perspective of social networking. When people discovered Facebook, most people thought it was great, and its not hard to see why; with such a huge membership it is easy to connect and communicate with friends across the globe. After the initial honeymoon period, concerns started to be raised about the direction Facebook was being taken. Firstly in terms of visual appeal and secondly in terms of privacy policy. Currently most Facebook users now realise, the design of the system is beyond their control. While the content was very &#8216;web 2.0&#8242;, the interface was not.<span id="more-557"></span></p>
<p>People still like Facebook and use it with great regularity. Even pessimistic individuals such as myself begrudgingly admit it is a useful resource. However depending upon your opinions and the level of thought you&#8217;ve given it, there are issues that present themselves which you just have to accept if you use the platform. Most importantly, if you want something to stay private, do not post it on the internet. No-one can fully rely on the privacy policy of the place you have posted it or their privacy controls. That said if you weigh up the risk and usefulness of posting whatever information it is you want online then you&#8217;re restoring the natural state of things in everyday life. You don&#8217;t tell everyone all your personal details, you actually <em>think </em>about it before you offer up information in person, and you&#8217;re online behaviour should be no exception.</p>
<p>The larger issue with social networking sites and applications is that they all proscribe in some way how you should communicate with others on the internet. Because the majority of social network users are not software developers they will never completely define how these things work. <a title="Diaspora" href="http://www.joindiaspora.com">Diaspora</a> is a currently un-released open-source project designed to open up social networking, but this fundamental divide remains in that not everyone is a developer. This is still however, in my view, vastly superior to the users having no control whatsoever. The end result remains to be seen, but I am quite optimistic it will change some aspects of social networking.</p>
<p>The privacy issues do still remain; there&#8217;s no getting away from the problem of posting information online other than not to do it. Interestingly one of the supposed advantages of Diaspora is that you can easily choose which groups of people you want to publish information to. Well that&#8217;s a step in the right direction, but it still makes the assumption that a person wants to compartmentalise their lives in that way. Essentially, pretentious as I may sound for suggesting it, the problem decomposes into a philosophical argument relating to the digitisation of our ordinary analogue lives.</p>
<p>In reality we make choices all the time relating to who to tell about what. In the virtual world emails, instant messaging and video links allow us to best represent this method of communication. The publishing of information on a web-site however seems incompatible with this analogue choice of specifically who to tell about things. It would be very unnatural to choose out of a list of people who to tell every time one published something. Looking at this problem as a developer, I don&#8217;t see any way one can easily solve this problem with a snazzy user interface.</p>
<p>The fact remains that our real social life is cannot be digitised &#8211; we only &#8216;share&#8217; information when we physically happen to be in groups. For example &#8211; people are invited to events one-on-one via telephone, email or face to face communication. Social networking presents a model where invites are sent through &#8216;notifications&#8217; and a shared &#8216;register&#8217; of attendees is published with the event information. This doesn&#8217;t represent real world activity, I haven&#8217;t ever heard of people all signing up to a birthday party on a physical piece of paper. The process in reality is much more fluid. Software developers may recognise this as a mismatch in the abstraction of a virtual entity from a physical entity.</p>
<p>What I&#8217;m getting at here is that &#8216;social networking&#8217; is a relatively meaningless phrase. What it describes is a purely virtual form of social interaction, which is nothing like social interaction in reality. I&#8217;m not suggesting we need a better phrase for it &#8211; social networking is there now and will stick. However we do need to recognise the difference between passive sharing of personal information in a virtual web-based world, and active social interaction in the real word. The former is definitely convenient; a way of socially interacting at a distance, in one&#8217;s own time. The major drawback is the lack of control you have over how it works. The latter is much richer and more rewarding, but requires more time and effort.</p>
<p>It will be a long time before the digital experience of social networking can compete with the analogue experience of physical social interaction. And there is another important point to ponder &#8211; is that really what we actually want out of social networking?</p>
<p>Or do we simply want a convenient way to essentially post information to a web-site? That&#8217;s all I can think I want out of social networking, and while the convenience of it is not to be underestimated, I think this has largely been achieved in an extremely successful way. If a majority hold this view then the numerous start-ups and companies who are aiming to &#8216;be the next Facebook&#8217;, and introduce more innovation, have an extremely difficult task ahead of them. They would need to introduce something new, something which people never even knew they wanted until they saw it. Until then social networking appears to be a cul-de-sac in terms of innovation.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ssims.co.uk/index.php/2012/09/the-future-of-social-networking/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
