Monday, 18 May 2015

Drowning in Data

As with many of my blogs the idea for this one came after listening to a late night Radio 4 programme. The programme was one of my regulars, Costing the Earth, an environmental programme, which was entitled The Ozone Hole, Thirty Year On.  The more I thought about this article the more I thought that this was pertinent to my industry and later that night I then remembered a meeting from a couple of days back. The meeting had been with a company providing feedback systems for care homes and I saw similarities which I then realised can be extrapolated to many many businesses.

Click here to read full blog.

Written by Conrad Rowlands, Lead Developer and Team Leader, Developer Solutions

Monday, 11 May 2015

Nothing's Changed

I swear that this will be on my gravestone when i die,

‘Here lies the Proud Salopian. Nothing’s Changed,Late as always’

Nothing’s changed, the mantra of every software developer that has ever coded anything which made it outside their bedroom.

It was a conversation with one of my bosses that started this blog off. I was having issues with a web project that had suddenly stopped working and was talking about my epitaph when he remarked that it was a phrase that wound him up as that whenever non technical people used this phrase it would normally turn out that something had changed! I know what he means, Calls to the help-desk are a constant reminder that things change all the time its just that most of the time the user has discounted them as they have no knowledge of how a thing works or they cannot see a connection between two pieces of software. The truth is inside the average operating system environment, things change all the time. Files are being written constantly, logs made, optimisations applied and decisions are made on your behalf. Generally, the user has accepted these changes and when they say that nothing has changed they just don’t remember the day by day events that have shaped the eco-system of their digital working environment.

Click here for full blog.

Written by Conrad Rowlands, Lead Developer and Team Leader, DSCallards




Thursday, 7 May 2015

No Comment

So Mr Salopian… How are things going with this ‘No Comment’ policy. Well, says I (looking to the sky and wishing on the long dead bones of Darwin that I actually believed in some higher being) good and bad. I’m not really struggling myself with the concept but I DO struggle with legacy code that is unclear in its intent. Yes, You find me still still battling with the demons of Dicom and converting our Leadtools v14.5 application to the latest and greatest version and in the process coming across some…. challenges. I’m not going to bitch about the parentage of the person who wrote the code or suggest that they should be prevented from accessing a computer ever again or anything like that. The truth is, I worked closely with the guy for about ten years and we had a great working relationship with a lot of mutual respect. We could both rely on each other in a jam and could step in and out of each others code without scratching heads too much.

Click here for full blog.

Written by Conrad Rowlands, Lead Developer and Team Leader, Developer Solutions

Solution Wide Compiler Directives

Continuing with my legacy migration of an application developed using Leadtools Medical Suite v14 to utilise Leadtools Medical suite v19 I blogged a few days ago about how I was attacking it using Conditional syntax dependant upon the library I was compiling against. My primary reason for doing this is that if I have issues with regard to the codebase I can easily revert to testing against the previous codebase using EXACTLY the same code and thus eliminate new issues from pre-existing ones. There are several ways that compiler directives can be utilised none of which entirely suit my needs and I thought I would share how I addressed this issue with y’all.

Click here for full blog.

Written by Conrad Rowlands, Lead Developer and Team Leader, Developer Solutions

Conditional Love

Continuing with my work on converting a legacy application from Leadtools Medical v14.5 to Leadtools Medical Suite v 19 I came across the following annoyance which I felt compelled to share. One of the issues with moving a fairly complex and large application from one series of libraries to another just how you go about breaking things. Any fool can rush in deleting reams and reams of code and replacing the old libraries with the new libraries and then writing thousands of lines of new code only to find that the intent of the application is now not right and it is no longer functioning as was intended. Yes, user testing will pick this up but user testing is to make sure a product is ready for release, and NOT an extension of development.Unit testing will pick up some issues but in general the bugs will be many fold and extremely subtle, especially in already complex software. The key to migrating a functioning LOB application from one library set to another is thus breaking things slowly and in a controlled manner (much as I love the ‘Move Fast and Break things’ approach of Facebook which is fine and dandy if you are the client and accept the risks, generally they dont!).

Click here for full blog.

Written by Conrad Rowlands, Lead Developer and Team Leader, Developer Solutions

We Want Information (DICOM Information)

And so continuing with updating our legacy leadtools application from v14.5 to v19 of the Medical Suite I came across something which had me scratching my head for a little while and I thought as it did I would like to share it with the community so that others hopefully don’t have the same issue.

The issue I was having was related to loading a trying to Insert a module (and the related attributes) into a dataset. For some reason it just would not work. I then stepped back and compared my legacy code with the new code and came across the following anomaly. The InformationClass was not set in my new code. Odd….I was expecting to see it as a type CTImage. I then retraced my code and noticed that the newer libraries did not have the equivalent GetInfoDS method which seemingly loaded this information. So I dug and dug looking to see if a more object orientated approach had been taken to this population but all of my searches drew a blank. I suspected that I had arrived at the answer but the solution still eluded me.

Click here for full blog.


Written by Conrad Rowlands, Principal Developer and Team Leader, Developer Solutions

Embedding LEADTOOLS License Files

I have my colleague Jamie to thank for this particular blog. I have recently come to migrate a legacy project written using Leadtools v14.5 to v19 of the Medical Imaging Suite and so during a conversation with Jamie he showed me a nice way of embedding the Leadtools licence and developer key within the .NET application. I’m sure it’s not going to bring about world peace or halt global warning but it might stop you prematurely looking like the guy above without the aid of a CT scanner. In all seriousness its just a nice tidy way of handling the licensing, So with out further ado:-

Click here for full blog.

Written by Conrad Rowlands, Principal Developer and Team Leader, DSCallards