Tuesday, 14 October 2014

Supporting PHP in Visual Studio

I was very recently asked to lend my support for maintaining a website we have which is written in PHP. Now normally I’d run straight off to my trusty little 2010 macbook (which, by the way, has NOT degraded in speed in all that time nor does it require constant reboots..do you hear that windows? I digress) and use any one of the free or cheap plethora of tools to help with this task. Personally I tend to use Aptana Studio. Just for once I thought I would try and leverage my normal windows work machine for this task and so I turned straight to Visual Studio. It turns out that there is an add-on for studio made by the guys at Devsense. So using the Visual Studio Extensions and Updates manager I installed the add in called ‘PHP Tools for VS 2013′ (which is on a 30 day trial) and awaiting the amazingness…..

Time passed and true amazingness did not happen and so I decided that I would just get on with my work instead.

I downloaded the source for the website put it onto my machine and then started the process. As the project is an already existing site i needed to run the ‘Project From Existing Code’ menu item available from the File/New menu item. This takes you through a simple wizard and at the end of this process you have a visual studio project with all of your PHP code. Great, so now down to it…. Unfortunately what I did not realise was that this site made use of PEAR extensions, thus everytime i tried to run a page with email capabilities it would just break unable to resolve the necessary libraries.

Click here to read full blog.

Written by Conrad Rowlands, Team Leader and Developer, DSCallards

Wednesday, 8 October 2014

Augmented Reality



So, IBeacon…. You may or may not have heard of this technology, Indeed up until a year or so ago I must confess that I had not. These funny little items then ended up on my desk, 3 in all, and I wondered what to do with them. As with most things that cross my desk eating them was an option but they looked pretty inedible so after an interval of some months I instead opted to find out what I was supposed to do with them. So i headed over to the Estimote website who are the manufacturers. “Estimote Beacons and Stickers are small wireless sensors that you can attach to any location or object. They broadcast tiny radio signals which your smartphone can receive and interpret, unlocking micro-location and contextual awareness.” Instantly I can imagine that sales and marketing teams are practically wetting themselves at yet another opportunity to push their unwanted wares upon us in yet more insidious ways. I know that the first and every other subsequent app that tries to promote their wares to me in this way will be removed from my life for ever. I do not need any help in spending money. However looking beyond the more obvious tired use case for these beacons and examining the phrase ‘contextual awareness’ raises some real and positive use cases that I as an individual would actually subscribe to. ‘Contextual awareness’ or ‘Augmented Reality’  is the process of providing supplemental information about an environment or area that would further help the user to understand or interact with his/her surroundings; that is, enriching the real world with appropriate digital information ensuring that that ‘viewer’ has access to a fuller understanding of the environment which they find themselves in. So real world examples…. Well mostly people are trying to sell you stuff.. sigh, you know the drill, you walk into a department store and as you approach the perfume department the stores app will sense your proximity (and odour!?!) and will tell you what special offers are available today.

Click here to read the full blog.

Written by Conrad Rowlands, Team Leader and Developer, DSCallards
 

Wednesday, 1 October 2014

Blogging: Lead By Example



“If you want it enough you’ll make time.”

It’s a phrase I use often in meetings or one-to-one  situations when someone is letting me know how they are super busy and can’t fit “it” into their life.  I’m not different I didn’t ring my mum again this week because I was just too busy.

Of course that’s absolutely nonsense. I chose not to ring her for one of many reasons, all utterly plausible and all legit but the one reason that was not plausible or legit was that I didn’t have time. When I was waiting for the pasta to boil, instead of watching half an hour of the x factor, while waiting to pick my daughter up from yet another dancing lesson all time that could have been better used … but I chose not to.

And so it is with writing a blog. In our office there is a notion from the hierarchy that content is king. I am part of that hierarchy and believe that content is king passionately. Why is Google Google because it has content – lots of it and with it they have huge power. On a different level it’s still the same, if you write a good blog and put that content out there in the ether you see how many people read it -  good content eventually finds its way round and for those that it is addressing it’s important!

I work with some prolific blog writers, mainly technical people who use others’ ramblings to help themselves so feel at one writing articles in the hope that they are giving something back into the environment they take from. However out of that techie-to-techie world getting staff to write blogs or content becomes harder. The Sales Team have come up with some excellent ideas of helping others, answering the questions they had when they started, but their second or third blog becomes harder.  The Administration staff struggle with “who’ll read my blog  anyway” syndrome which is strange because when questioned they all accept they read blogs to help them with day-to-day activities.

Then there is management, it becomes a mix of all the above.
They are not technical enough to write technical to technical.
They are too savvy to write the “Beginner’s Sales” or “How To Guide”.
They are not specialist enough to write “The Top 10 Social Media Skills” or “Top 15 One-to-One Questions”.
They wonder who would read their solutions, help, problems, ideas anyway.
And of course … managers don’t have time!

Written by Adrian Handley, Managing Director, DSCallards

Monday, 29 September 2014

Ten Reasons Why I Hate Blogging - Part One

I am not a person who is enveloped by the ubiquity of social media. I am on Facebook, Twitter and LinkedIn, but I tend to treat them as ‘read-only’ most of the time, using them to catch up on the latest news when I have the time to do so, but rarely choosing to post anything.

Relevance – this is what I struggle with. I try to think about the reader of my potential output of social media and think – is it relevant for them? Is it appropriate?


More often than not, this perpetual self-analysis and self-deprecation tends to lead to convincing myself not to bother.


Blogging, on the other hand, is a different matter. I understand that this has many important uses – a fountain of knowledge for some, or an aide memoire for another.


But again, the relevance question always comes back to haunt me – does anyone ACTUALLY care what I think?


I am not yet convinced, but if you, like me, are currently being “persuaded” to write more blogs, here are five things that I find difficult which serve as reasons for hating the process:


1.    Starting The Blog

This is always the first stumbling block for me. How should I start? The pressure to engage your audience whilst being witty, intelligent and articulate and at the same time drawing your readers in for the long haul is always the first big obstacle to my blogging.

2.    A Clear Message

 
Those of you who know me, and those of you who have battled through my blog this far, will know that my writing style is somewhat circumlocutionary!  Therefore, finding a clear message which readers can take away, with a warm feeling of being informed and inspired, is not something that comes easily to me. I also often find that this contributes to the first reason why I hate blogging – it’s hard to come up with a charismatic audience-gripping intro when you aren’t sure what you’re going to be talking about!


3.    Losing Momentum

So after getting your readers hooked with an opening paragraph worthy of a Royal Variety performance (see reason 1), the next big problem is keeping that momentum going whilst staying “on message” (see reason 2). I personally find this very hard, not being a natural writer; I tend to proceed by leading the interlocutor on a long and winding ramble into the wilderness of ambiguity, not knowing whether they are coming or going. Much like you are experiencing now, I imagine!

4.    Being Judged

Being naturally self-conscious, I am always concerned with blogs that the three people who do eventually happen upon my less-than-scintillating explosion into the blogosphere will be the ‘Simon Cowells’ of social media. Going through the process is painful enough, but the thought of it being read and slated (privately or publicly) by a ‘Blogging Baron’ is normally the icing on the Blog-hating Belgian Bun.

5.    The Big Finish


So – you’ve made it this far. Knocked them out of the park with your charismatic intro, a message that’s as clear a mud which you’ve stuck to like glue with all the momentum of a concrete elephant (mixed metaphors, anyone?) and dazzled the critics so far.


Now to round it off with a simple, concise yet informative conclusion that will resonate with readers and get tongues wagging around the globe.


I have to say that of the first five items, this is the most difficult for me. Concise is, as you now know, not normally in my vocabulary (why use a sentence when a paragraph will do just as well?) It’s also hard to conclude something without repeating yourself and sounding like you’re just filling up the word count. On top of the fact that most of your readers have probably now got more interest in the advert for Game of Thrones that is now scrolling across the foot of this blog site, it really is very difficult to round things off well.


I hope you (both?) enjoyed reading this little ray of sunshine of mine. If you enjoyed it, then please come back for the second half of this two-part thriller: “10 Reasons Why I Hate Blogging – Part 2” (innovative name).


I hope this too will help to spread the message that blogging is not for everyone!


Written by Sam Massey, DSCallards

Wednesday, 3 September 2014

How About Deleting All Your Business Reports Now?


Well how about it?  What would happen if you deleted every business report you had in the company and started again?

I can feel the pain from here. But if your disaster recovery did not work after a hard drive failure this is where you would be.

And once that “all is lost” feeling faded into the acceptance of the “ok, let’s start again” feeling, then this is now a spring cleaning project. Let’s be honest you had been wanting to do this for ages haven’t you?

It’s a bit like living in a house that is not quite right, and you secretly wish it would burn down so that you could claim the insurance and rebuild. The bedroom would be bigger, the kitchen could extend out the back, you could move the bathroom a little further down the hall, etc…


But this only works if you have a couple of hours warning to get out all of the important things like the photo albums and the memorabilia, the guitars, the kids toys and the jewellery, etc… Oh, and the wife, kids and dogs!

But thinking back when we had all of these reports, people were either never using half of them, or they would not trust their results because somebody else had a report that had different figures.

So all this work over the years was an asset, that to be honest was costing a fortune to maintain, and secretly nobody trusted … or even used. At the same time, when figures did not match across even the simplest sales reports … managers were embarrassed in meetings, and in turn their figures were not trusted.
Heated discussions on why my spreadsheet was right and yours must be wrong.

Any boat owner will tell you that the second best day of their boat-owning life is the day they buy their boat.



The best day is the day they sell it. Boats just take a lot of management. You have to clean them, fuel them, fix them, and use them, and if you have a boat in the driveway that you never use, you just feel guilty. Guilty for not using something you spend so much time and money on.

I recently read the story of a CEO of a large Fortune 500 company asking his IT department to delete every report in their report repository except 12 reports, which he listed on a small piece of paper.

I was going to ask why, but there was a bit of me totally understood.  The actual reason was because he had been relying on historic reports that were proved to be incorrect when analysed in a board meeting.  At first he was embarrassed … and then he was angry.

So he went back to the IT department and asked for this to be resolved.


“We will need to hire 3-4 more report designers to handle that request”, came the reply. When he asked why, he was told that the company had over 800 reports in their reporting repository and it would take that number of people to check them through.

So he requested that all of the reports be archived off (as near to being deleted as was possible). Then the 12 reports he used on a daily basis were to be rebuilt.  Finally for the next 3 months, any reports that were requested were to be built afresh and fully documented. Figures were to be matched across all the reports and signed off before they were turned live to the business.

Ok, this took 3 months to get to 45 accurate, tested and trusted business reports. But it indicated that the other 750 were now not needed and as suspected by the CEO, were at best not really wanted … and at worst, were bringing back incorrect information.

At the same time the CEO introduced a new policy.  They put the report stakeholder's name in the footer of every report, and a full description of the reports purpose and where the data came from. That way, if someone requested a report they thought could be satisfied with an existing report, they knew who to call to consolidate the new report.

With an executive mandate from the CEO, the other executives were more willing to compromise and use and trust the same reports.

So feel free again … start deleting. Enjoy the freedom and liberation it gives you!



Now spend time trusting the information and use this to make business decisions that can truly make change …


For more information visit www.crystalreports.co.uk

Written by Ray Kemp, Technical Director, DSCallards

Thursday, 21 August 2014

Building Blocks – Objective C

You can only work for so in the world of Objective C before you become exposed to the concept of ‘Blocks’. A very powerful tool in the arsenal of any developer they can drastically increase the amount of code reuse that a developer can leverage in their program. Code reuse is of course a great thing as tried and trusted code can be relied upon to perform correctly and will need the minimum amount of testing whereas duplicated code tends to, as a former colleague of mine used to remark,  lead to the worst kind of inheritance; that is :-  ‘clipboard inheritance’ responsible for many a brainteasing bug. I have also seen it reported that Blocks effectively give you ‘lambda’ in Objective C which as a heavyweight user of LINQ in my preferred language C# I must admit makes me feel a little easier about taking on more Objective C work. They are however a little bit tricky to get your head around when you first come to dealing with them.

Click here to see full blog article.
Written by Conrad Rowlands, Senior Systems Architect and Developer, DSCallards

Thursday, 14 August 2014

Using Visual Studio Templates to Scaffold ‘Framework Stacks’

Any applications developer worth their salt will, even when they have downtime, look for new ways to make themselves more productive whilst retaining their quality levels. One such way that we do this is to have ‘Application Frameworks’, common blocks of code and infrastucture that we use on every project. If we were to write this infrastructure and wiring on every project it would just add to the cost and to the drama.

Click here to see full blog article.

Written by Conrad Rowlands, Senior Systems Architect and Developer, DSCallards