RSS feed for blog Linkin Skype Mail Me Twitter


Free beer and disreputable company

Due a huge number of unfortunate events LDC Via are not at connect this year (though we will be at other IBM conferences), refusing to give up on the core tenant of such conferences we will be getting pissed and watching the OGS.

Come join us and let us buy you drinks Register Here, it will be upstairs at the Castle pub next to Farringdon tube station (London) On Tuesday 21st from 5:30pm

New Anime Series: Youjo Senki

First Episode(s) Review for: Youjo Senki

I only do these reviews for new anime I like now so take this as a recommendation


Set in an alternative world war I that includes magic and told from the German point of view, a young very Arian blond girl is the commander of an airborne mage platoon, it soon turns out she is a cut above the rest in both ability and viciousness, a cruel calculating horror in the body of a little girl.


Nicely detailed, with a lot of research on what WWI battlefields looked like based on my somewhat limited knowledge ( the reading of Good-Bye to all That and such ) looks a bit like Fullmetal Alchemist

Plot Potential:

This will be the kicker, they could be boring with this or they could go anywhere, to have such an obviously evil hero character is a fairly unique starting point, but as they have already included political bits, the war being at a tipping point and a young soldier who does not know what to make of her Commander which has shades of Platoon in it we might be going somewhere interesting.


Grim powerful music and great war noises

Reminds me of:

If the hero of Strike Witches had been an evil military minded psycho…..


It’s been 2 seasons since I have been surprised at a new anime, they have been very manufactured recently, but this one took me back, its quite obvious that the hero is an utter ba****d and a nut job and should be the bad guy, but I like her, want to see what she is up to and what her ultimate goal is.

Youjo Senki 01.png

Youjo Senki 02.png

Youjo Senki 03.png

Disclaimer: These are mini reviews of anime’s that are fresh out in Japan and are not licensed in the UK, buy them once they have been licensed or at the very least buy the merchandise, remember if the anime makers make a loss, THEY WILL STOP MAKING ANIME!!

A Year in Review 2016

Year In Review 2016

Time for the annual year in review blog post! This year has just about everything in it, everything apart from peace and quiet. A huge diversity of work and skill-sets, from Salesforce to Sametime, from AngularJS to admin work on SAML, so much so that my tiny mind is bulging at the seams.

My Salesforce skills have come on leaps and bounds: it is an interesting platform, with a lot of opportunity for the clever hacking I enjoy so much. I must give Bluewave a huge thank you for letting me work with it (Salesforce is very partner-oriented, with little place for true freelancers) and most particularly Barry Hughes, the most patient guru who also lets me sit in on internal training sessions despite having finished my full-time work (with Bluewave’s permission I might add).1

For the first time ever, I have a proper office rather than simply relying on client sites or my home workspace: my rented office is at Purple Patch, and it has proved to be just perfect. I can get tons done, and it’s also somewhere to meet, and work, with clients.

LDC Via has had a busy year with booths at multiple conferences and loads of changes and new features based on client feedback and installations. We even launched a whole new offering: KEEP.WORKS.

What skills have I used this year?

Salesforce —> The full range of Salesforce app building, from standard declarative coding to involved, large chunks of Apex and Javascript programming. I also spent loads of time training people on Pardot, working with this very “defined” marketing framework to flex it in a way clients actually want it to function.

JavaScript —> The continuing growth of JavaScript as a primary language for projects showed up a lot this year, in everything from AngularJS to Salesforce Lightning.

Proper Programming —> Java is still my core “serious” language. I’m using it enough to keep things sharp, but it’s not a growth area.

Supplementary stuff —> full on iCal work2, search integration with Solr and Nintex for Sharepoint stuck out this year.

IBM —> Sametime, Domino, WebSphere, ISeries and the other staples of the IBM family continue to test my imagination with integration and upgrade work, ensuring everything stays up-to-date and relevant.

Guesses for 2017

Two big items to guess about here:


JavaScript - this will continue to grow for me, driven by multiple things:

  1. LDC Via and its extensive use of node.js.
  2. Salesforce Lightning - the direction in which Salesforce are clearly steering.
  3. For Domino-based web work, a JavaScript framework talking to Domino services turns out to beat XPages hands down every time.
  4. Lots of clients want to “glue” existing systems to third-party APIs.

Salesforce - I’m less sure about this. The model favours a race to the bottom, which is already starting to show. The company is also incredibly partner-oriented which means it’s hard for smaller companies and individuals to find work. I will just have to keep the skills sharp and see what happens.

Work Load

Bugger knows, this year has been busy, but it’s been in fits and starts3, such is the joy of freelancing. I had a couple of quiet spots and a couple of periods of full-on mayhem. For 2017, I’m hoping to avoid the two things that make we want to scream: (1) the sudden cessation of all work, followed by a couple of stunned weeks looking around, and (2) the conversation with someone later on that year who says “I would have asked you, but you always seem so busy…”

OK, that is enough of the fluffy blog posts for a while. Next up: proper tech stuff!

  1. I was there as a contractor to help take deal with a sudden heavy load, they have now hired permanent staff, but still treat me as part of the team and I’m there if they hit another peak. 

  2. Including requests to Google and other web email vendors for native buttons and drag-and-drop meetings, etc., etc. 

  3. or even ‘Stits and Farts’ 

Ical Invites with Gmail tip

Just a quick tip for developers who are coding and testing ical solutions with Google / Gmail web client, if you update a meeting in the past i.e. you reject a meeting in the past that you had previously accepted it will NOT send a notification back to the meeting organiser to inform of the change where as something like the Outlook think client WILL,

That’s it

IBM Champion for 2017

So IBM has renewed my IBM champion status for a third year.

Now according to standard corporate logic I should have lost my champion status because in the last year I have done more than just IBM stuff, I have worked with other technologies, promoted them and worst of all the product I have co-created can be used to migrate application data away IBM Domino and I bet that with most evangelist programs that would have meant expulsion, how ever IBM grew up years ago and are in this for the long hall, the best example of this is that Rene Winkelmeyer is still a champion and he bleeding works for Salesforce!!

What does this prove?? well to me it proves that IBM champions are not little “Yes” drones, they are people with a ton of expertise in IBM technology’s and will be honest about them and know how to get them to work as the client wants.

So thank you IBM for the vote of confidence… As an immediate return I can tell you that I am currently helping a large client implement AngularJS applications via REST services all running natively on an Iseries, again making sure that IBM stays up to date and relevant.

Happy Red Panda

The Perfect IBM Champion

I’m writing this post before the IBM champion decisions come out this year and you get a glut of “I’m so grateful for the honour” blog posts..

What I want to talk about is one of the current IBM Champions in fact one of only 2 IBM Lifetime Champions: Gabriella Davis1

Now Gabriella was a IBM champion long before the term existed

Let me explain. In a rough and ready sort of way an IBM Champion is supposed to act as an evangelist to the IBM brand and provide the following informal services.

  1. Be active in the community: speak at conferences, write blogs etc
  2. Be a source for other peoples solutions to issues with IBM software and platforms: write technical articles and fixes etc etc
  3. Be an expert where clients can go to update,install,advise on or adapt IBM solutions when frankly they don’t want IBM to do it.

Gab excels at all of these, Lets take an example of contact between myself and Gab to see what I mean.

In the middle of the week I had a problem I was REALLY stuck on with Sametime and so I howled on the champions chat, I was greeted with helpful suggestions by those awake at that time, but from Gab I got the following (which I will take apart)

“OK, I have a client deliverable that I am on, but that should be done in 2 hours can you hold on until then”

—^ Her clients came first, that is explained to me and expectations are set so I know where I am but help is on the way.

(2 Hours 15 mins later) “OK I read the chat.. I think it is XXXXX and we need to check the following, do XXX && YYY and tell me what it says”

—^ she has followed through on a promise, has given me an opinion and a number of things to veryify this, so I’m learning the deduction process.

“OK on the basis of that, it confirms that it is indeed XXXXX, to fix it we need to do ZZZZ, you can see that at this URL, and can double check by looking at the following files”

—^ A solution, with official backup and a way of checking to confirm the suggestion has taken effect.

and Bugger me if that did not fix it….

Now that does not make Gab a “free support desk”, it makes her someone I can turn to when I have tried everything I and mr Google can think off (and personally it makes me want to get better so I can reply her in kind some day).. it makes her a CHAMPION.

Now lets look at her broader input into the community…

How many of you would not consider an IBM conference or LUG complete without Gab taking apart one of the more horrible parts of the administration process, be it Authentication between cloud service providers or simplifying massively complex installations she provides a unique and constantly relevant voice at conferences.

And finally there is her efforts to help IBM expand their position in the changing world of IT with such things as the CSC events, showing people how to integrate existing IBM offerings with internet darling technologies,

So for you new IBM champions (and existing ones) this year there is a life time standard for you to be aiming for and Gab is it…. She is in my opinion and as I have public stated multiple times The Best IBM stack administrator in the world.

now if you will just excuse me I need to go and find a pit to hide in in case gab reads this post and pulls my lungs out.

  1. Disclaimer: I am a long time friend of both Gab and her husband Tim the Geekmeister, I have both worked for/with/employed her for years and wont get anything from this blog post other than a savage telling off for embarrassing her 

SAML and Invalid Arguments

Another silly support tip for Domino and Third Party SAML XML documents,

If you are hitting this post it is most likely you got here via a google search, so it does not have the whole back ground on SAML but after creating a Idp configuration and restarting you might get this line in the console:

HTTP Server: Error reading IdP configuration for server saml XXX.XXX.XXX.XXX:Invalid arguments

This odd little error is nearly always down to character returns in the X509 certificate in the imported XML file (easy to find and fix just go and edit the XML document provided by your SAML provider and remove them)

However the XML document I had did not have any character returns (cue a little head scratching), what it did have right at the sodding end of the very long line was an extra space….

so in the <ds:X509Certificate> tag in the SAML Import XML make sure you don’t have ANY characters that are not part of the certificate.

If this still does not work and you actually want to see if you have got a proper certificate you can you the wonderful to have a good look at it

Just get the text in between the <ds:X509Certificate>CERT TEXT</ds:X509Certificate> tags and paste it into a empty text file with a *.cer extension, then open it up with the “inspect a certificate” Option.

Sametime 9.0.1 and IP6

Now I don’t do Sametime very much, its a area of horror I leave to people like Gab Davis, but this this was a fix that Gab found that I felt needing sharing

So it was a standard install on a client site on clean windows 2012 servers built by the client. with only basic services to be provided, simples eh?


instead we get this bundle of fun when trying to login on the web client for meetings

CommunityServ W doService, SID: 12345678-AAAA-1234-ZZZZ-123456789555 CLFRX0030E: Login is not completed in 10 seconds. User XXXX XXXX will be logged out.
that login is not completed in 10 secs

After a good deal of grumbling and checking of settings it was decided to make sure IP6 was not used, I checked in the windows setting and it did not look as if it was enabled, Gab however point out that that would not be enough and sent me to this

which is a little download to completely disable the feature, I ran it on a the various servers and voilà , suddenly everything works.

Just a tip in case it is needed……

Salesforce Pardot: Multi Completion Rules

I do pardot implementations amongst my other salesforce stuff, which always seem to involve a number of hacks to bend the Salesforce and Pardot functions to meet the existing behaviours that the client wants.

Now pardot has “completion actions” these are very useful jobs that are performed when a form is submitted, but limited in that they are not conditional, i.e. you cant say “if field X = Y then do W action else do Z action”, Pardot them selves show you a way round this using form field based completion actions.

This is a nice trick and can be used as a base for more complex things, namely running MULTIPLE completion actions, an example of which is shown below

<script type="text/javascript">
var email = encodeURIComponent('%%email{js}%%')

case 'true': document.write('<iframe src="FORM_HANDLER_1_URL?email=' + email + '" height="1px" width="1px" ></iframe>');
case '': document.write('<iframe src="FORM_HANDLER_2_URL?email=' + email + '" height="1px" width="1px" ></iframe>');

case 'true': document.write('<iframe src="FORM_HANDLER_3_URL?email=' + email + '" height="1px" width="1px" ></iframe>');
case '': document.write('<iframe src="FORM_HANDLER_4_URL?email=' + email + '" height="1px" width="1px" ></iframe>');

This means that you can run a lot of conditional rules based on the fields in the one form, the most common use I make of this is of a Custom Email Preference Center Pages but one where a user can fill in more details than just their email address.

Oh one final note, you will see on the pardot instructions they close their iframes with a “/>” this wont work if you have multiple iframes on one page you need to close of iframes properly with “</iframe>”

Razer Deathadder Chrome Sensitivity on Linux

Silly little post and more an aide-memoire than anything, but recently I have been doing a bit of work on a VERY secure site, one that does not permit bluetooth of any form even for such things as mice, resulting in a quick pound down to PC World, after a squint down the rows of mice I realised that wired is really dead and there was none that I would not feel ashamed to use, dead that is apart from serious gaming, in that area there was a very pleasant and quality mouse in the form of the Razer deathadder chroma.

All was fine till I plugged the darn thing in and discovered its ultra sensitivity meant it was nearly uncontrollable and the normal UI sensitivity settings went nowhere near far enough down to make it usable, so back to command line we go.

So first lets get a list of the input devices on the system with:

xinput list

Now lets check this list for the first instance of “Razer Razer DeathAdder Chroma” in the pointers list and get its id number (in this case 12), then change its sensitivity as below, I find a value of 3 takes it down to the same level as a normal mouse

xinput set-prop 12 "Device Accel Constant Deceleration" 3

Terminal Screen Shot

There we go, a usable mouse.

Latest Blogs