Uncanny Valley in Customer Profiling and Recommendation Systems?

In the Data Mining course I’ve been doing we’ve been discussing our position as customers whose data is used to model us and target services or products based on that analysis. One of the examples from another student was of their mother being annoyed by gambling-related books after purchasing a book on Amazon. It very much seemed that some of the key customers for horse-related books are gamblers – presumably those who bet on the horses and spend time understanding the runners properly. However, as a non-gambler she was not happy to be targetted by those books, so it was a situation where their previous purchase put them in a cluster which was not representative of their own interests and created a negative response rather than a positive one.

It got me thinking – is there an ‘Uncanny Valley’ effect when profiling customers and adapting your offerings to that profile? In case you’re not familiar, Uncanny Valley is a term used with respect to visual effects and robotics, where when representing or imitating human shapes and features there is generally an increasing likeability up to a point, and then a dramatic drop-off and rejection, before the result becomes more likeable again. How strong this effect is seems to vary culturally, with Japan seeming more tolerant of humanoid robots than other cultures, for example, but discussion of films like Beowulf, Polar Express and Final Fantasy touch upon this subject. The prevalent theory seems to be that the robots or images look more like corpses than living humans, because they lack certain detail or movement that would make them seem more alive or real, and they then seem very creepy indeed. Once the images become sufficiently realistic they no longer look creepy and we respond to them more like other people and like them more again.

With respect to profiling and targeting, I’m wondering you have a similar valley effect. Your baseline is obviously going to be having no customer profiling at all – everything is just aimed at the population as a whole. You would expect that if there is some non-obvious profiling – with very broad groups – this is likely to make the offering without making the customer feel like their privacy has been violated. While the profiling is not obvious to the customer, more accurate offerings can be provided and the appeal will increase. At some point, however, the profiling is doing to start getting more specific, and then you’ll start to notice more products which are similar to those you’ve already looked at, or which you don’t think would be that common, but which are being listed quite frequently.

At this point, if the recommendations are good, then this may encourage further sales. However, since the profiling is imperfect then there will be some which are incorrect, possibly completely wrong. In the case of a non-gambler being offered lots of gambling books, this may be borderline offensive, just as being over-targeted for debt assistance services or the like would offend others. Another source of problems is when a family ends up profiled together from sharing a machine or account, and you find yourself bombarded with adverts for items which would be relevant for a relative rather than yourself. This is where the targetting becomes obvious but the accuracy is not yet good enough to be a pleasure, and where the greatest chance of offence lies. This is what I’d consider the ‘uncanny valley’ of profiling. Whether you liken it to cyber-stalking or ‘Big Brother’, it seems intrusive on your privacy as well as being jarring because it presents an incorrect profile to you when it makes a mistake.

At the other side of this valley the number of mistakes decreases, and you have less potential for causing offence by making incorrect assumptions about your interests. Instead, as the accuracy improves it will naturally offer more appealing offerings and making finding what you’re after. I’d liken it to a personal assistant, who gets to know your likes and dislikes. The dislikes are possibly the key element, as they don’t present you with things you don’t want or even object to, because they know you well enough, and don’t trigger the negative responses that incorrect targeting can. Highly accurate profiling allows the right products to be presented at the right times to maximise your uptake and engage you as much as possible as a customer. Even here there is a balance in that someone can feel led into temptation and have too much sold to them, perhaps, but since this is another part of a full profile a perfect classification would make as many sales as it could without damaging the relationship by pushing too much.

I don’t have the data to analyse to verify this trough of rejection at the point of increasingly obvious but visibly inaccurate profiling, but anecdotal scenarios fit with it and logically it makes a degree of sense. One question would be how to verify the concept, or alternatively, if you assume that it is likely to be correct, how can you best avoid alienating customers at this point? I don’t have any easy answers for the former, but in the case of the latter at least you can perhaps limit the amount of targeting to a threshold to minimise hitting the uncanny valley effect, while monitoring further engagement to get a clearer idea about the customer. If you’re very confident that the profile is correct then you can fully use the profile you’ve created. You just have to limit profiling to avoid being too obvious until you’re sure. In the case of books, In the original example, for someone who has bought a book on horses, further books about horses may be appealing and directly related to the previous purchase, but extrapolating to say someone is likely to be interested in other animals a bit less sure, and ‘related subjects’ like gambling much less certain. Low response rates to all suggestions may make confidence levels hard to use. Perhaps some kind of negative scenario analysis would be required – to identify where promoting something results in a decreased engagement from the customer, and profiling the risk of customers falling in these groups and addressing that instead.

It’s worth some more thought, though, as many now share a great many intimate details about their lives quite freely, but can still feel pressured or invaded by unwanted and inadequate targeting.

Posted in Food and family | Leave a comment

Working on a NodeJS project

While I’ve got things to keep me in touch technically while between contracts in the form of 2 modules towards my Masters degree in Intelligent Systems, a lot of the development requirements there are pretty divorced from the area I’m most experienced – most of the code is relatively simple and written in Matlab or the like (the Data Mining module is all about learning to use SAS). In order to keep my web development skills current I’m also doing some development work on a pet project. Based on the skills which seem to be in demand at the moment (and the fact I generally pick something other than my primary language for personal projects) I decided to put Scala and the Play Framework on hold and leave that project for a bit, and start on another idea I’d had using NodeJS instead.

It’s early days yet, so I don’t know how well it will work for some of the more complex requirements, but the first impressions have been pretty good. I spent the majority of my time at Thomson Reuters working on front-end JavaScript, so the language side has not been a problem. The main thing is learning the libraries that are useful at the back-end which wouldn’t be used for the front end. JavaScript is still a rather odd language in some ways – it was written very quickly initially and has become a lot more powerful with some list processing functions and the like being added, as well as best practices for doing development in a more OO manner. It still tends to seem like those best practices are a bit bolted onto the system, and there are points where you can end up with bugs which would just be bizarre in any other language – such as ending up confused as to what ‘this’ with actually refer to.

Having said that, JavaScript does have a number of advantages. The first is that when you’re developing a website you’re then using the same language on the front and back end, rather than switching between 2 languages. The second is support – there are a range of good IDEs around, and you can potentially get started on Windows application development using HTML and JavaScript as well. Another is hiring skills, which if you’re potentially going to get others to work on your project is always an important consideration. Any self-respecting web developer will have reasonable JavaScript skills even if the majority of their time is spent on the back-end. This means that you have a wider range of potential candidates if you’re willing to allow for a small amount of familiarization with the Node side of things.

When the site is in a state where there’s one or 2 of the features I’m wanting to show off, I’ll post the URL. It’s currently hosted on OpenShift, which seems to work pretty well for a free option, although at some point I’ll presumably have to move to the paid solution to get SSL. In the meantime it’s proving an interesting environment and one which I think I can be productive in.

Posted in Food and family | Leave a comment

Film Review: Big Hero 6

The creators have a good recent pedigree including Wreck-It Ralph, Frozen and Tangled, and it is based on a Marvel comic. Expectations were therefore reasonably high – it centres around a robot, it has superheroes and I’m expecting a style that balances sentiment and action. What could go wrong?

Plenty, obviously. Recent films I’ve watched with similarly high expectations such as Prometheus have left me feeling hugely disappointed. This wasn’t one of those films, though. This exceeded expectations, with a warm and charming style that balances tragedy and comedy. Sure, various plot twists are at best largely predictable, so there’s few moments where you feel really shocked at the way things go. Instead you have a degree of loss, a key tragic moment, and the scene is set for coming to terms with reaiity, finding one-self, and building a superhero team and fighting a supervillain along the way. I make it sound like Spiderman, and aside from not being quite such a loner figure, perhaps that’s right. The villain certainly looks like they took some queues from Venom along the way.

Here’s the thing, though. There may be a nod towards Spiderman, to Iron Man and so on, but at no point does it feel like it’s ripping off those, it feels more of a friendly homage to the others. The robots, while far-fetched in some ways, also seem to have taken inspiration from recent trends in robotis – going for primitive, non-humanlike faces which are expressive (perhaps inspired by Wall-E, but it also seems to be a popular approach in real-world robots of late, too, staying well away from the ‘uncanny valley’ effect when trying to be too humanlike). Similarly, the clustering robots which can build structures and which are controlled by a sensor band has parallels in clustering bots which can form larger compound structures, quadrotor clusters which can build towers between them, and efforts aimed at giving paraplegics the ability to control a robot arm. We’ve moved somewhat away from the idea of embedding complex electronics in our brain (at least for now), as at least some of what we hoped to achieve can be done without invasive surgery and questioning what we can do to ourselves and still be considered ‘human’. The characters weren’t presented as instantly coming up with a working solution, either, but working away through trial and error until they hit a key milestone.

In that, it’s a characterful and smart film. The audience was laughing out loud at the funny bits, and I’m sure there were more than a few tears at the saddest moments. You can look at some of the technology and be inspired to look at where current efforts can take us. It’s great also that it presents being a geek as cool – this isn’t some tough kid, but a genius who’s struggling with his emotions. It’s perhaps unrealistic that it stays away from bullying, but it’s a withdrawn, shy kid who steps up on the stage to present his project, not a cocky, irritating know-it-all. Just as Wreck-It Ralph had a character who struggled to find who he was while embarking on a big adventure, so we have the same here. As much as this film has robots as a key element, it’s the human element that draws you in, and makes this one of the best family-friendly (or any) films I’ve seen in a long time.

9/10. A modern classic from Disney.

Posted in Food and family | Leave a comment

Living in Torquay and London

At the moment my living arrangements are probably pretty unusual by most people’s standards – in Torquay with my wife and kids at the weekend, but living in London for work during the week. Some think it might be the best of both worlds – time to yourself and family time, kept separate. Some think it must be hard – being unable to meet up with friends and colleagues on a Friday evening or weekends, being away from your nearest and dearest during the week, and with a lot of travelling to boot. So – good or bad? The reality is something of both.

Firstly, the travelling. To be honest, to some extent you get used to that. During the summer it’s nice to watch the scenery on the coastal part of the route, and you have a nice view at Torquay station on arrival. It also gives that feeling of being done with work until returning. However, it is quite a lot of time, and unless you’re wanting to travel first class (and doing the trip weekly 1st class would cost a lot) then the seats aren’t that comfortable over few hours. If you end up standing (and on the first off-peak train on a Friday you’d be standing for about 1 1/2 hours if you don’t get a seat), then you may well find your back is complaining through the weekend until it’s time to go home. There’s really no way of making the added travelling time a good thing, and the only mitigating factor is downloading a TV series or film onto the tablet and watching a film on the main leg of the trip. The return trip on the Sunday involves 2 trains, the Bakerloo, Jubilee and DLR lines AND a train – my total journey time comes to around 5 hours, and will come to around £5k/year.

Then, there’s the time on my own. I’ve been very glad to have a lodger to talk to sometimes, as otherwise this would have seemed very strange, having never lived entirely on my own. I can return home as late as I like Monday to Thursday, but have had to cook for myself in a way that I’ve not really had to previously. Without family (or my cat) there, I can’t really say it feels like home, more a place to stay. I have plenty of space, and can set things up for wargaming, but my budget priorities being on the family home, I haven’t had a chance to really make it my own, so it’s more what’s left. There’s also significant repair work that’s been waiting for an insurance settlement and sorting out finances on other renovations, further reducing how much it feels like home. I’ve got ideas of what I’d like to do with the place – remove the partition wall and have a more open plan kitchen with a larger living area, so hopefully at some point I’ll have a chance to make it feel more like ‘my’ place. Realistically there is an assumption that since Donna lives in Torquay more than I do, her tastes count for more for the decoration and furnishing there, while I can (eventually) go entirely with my tastes on the place in London. I tend to go to bed rather late, having tried to study and learn and so on and tend to get only around 5 hours sleep a night there.

When I am in Torquay I’m trying to spend as much time with the kids as possible. This so far has meant that Donna and I don’t end up doing much together. I get to Torquay too late to do much on a Friday, so the main chance would be on a Saturday evening, and I’m generally tired from everything else and the result is just a quiet evening in. The menus are largely decided without me, and on a Friday I’ll be warming up leftovers and eating on my own because of when I arrive. With in-laws having moved in with us as well, there’s a tendency to feel that the plans are already made, and you’re just fitting in, which doesn’t tend to help any sense of feeling like you’re at home, more that you’re a guest in someone else’s family. It’s a little different when taking a longer break, but that’s not generally long enough to fully get over the feeling of being slightly alienated.

Obviously there’s also the cost of running 2 properties, and when in full-time contract work that’s not necessarily too much of a concern aside from some eye-watering renovation expenses between the 2, but any buffer you’ve built up is quickly hit by 2 lots of bills and 2 mortgages when there’s a gap, even with a couple of lodgers (my in-laws paying rent and a lodger in London) subsidising things somewhat.

So, what are the positives? Well, sometimes couples seem to feel like they don’t have any freedom or space from each other – things are too regimented, and there are 4 evenings a week which are largely my own. If I wasn’t studying and therefore filling those fairly completely, then I might be able to enjoy them more. The plan was to do certain work and then put aside some savings, after which I could reasonably look at heading out to the cinema and so on more often, which would also make these evenings more enjoyable. I do get to meet up with friends for a games night once a week generally, and the variable day of that demonstrates how much some of them struggle to know when they’re working and make plans as those nights are always fitted around when others have to work late.

Over time it means that we’re building equity in 2 separate properties, and with the way property prices are going, this will hopefully build to be a substantial sum. Similarly the renovation work that’s been such a headache should improve the value of the property somewhat by addressing various issues like wall sealing, plasterwork and modernising the electrics. While it’s not leaving much money for enjoying things, it is hopefully building a platform to enjoy things more in the future. Having kids, a lot of my focus has moved on to providing more for then, and ultimately I would like to have at least 3 properties so there’s 1 for each of my children when the time comes, and perhaps a rental income from 2 properties will provide financial independence in the 3rd long before then. In no small part, then, things aren’t necessarily that great now, but hopefully it will get better and better.

So, how is it for the kids? Well, seeing them tearfully seeing you off at the station is upsetting, so they clearly don’t like being separated from one of their parents much of the time, even when it’s for less than a week at a time. However, they’ve been breathing more easily and love their new school. They like heading to the beach, the walks along the coast, visiting the leisure centre or local historic monuments. They don’t have the chance to go to gigs like they did in London, but overall they seem to be much happier. They have space for their stuff, nobody fights over the bathroom (everyone has an en-suite), and we can all fit around a table for dinner. Looking at it for the kids, they have a much better quality of life here. They may decide to return to London later for university or work, but that will be their choice, and while growing up it certainly looks like the right choice.

As to how Donna feels – well, she drops hints about it being nice when I am around more. She generally seems a lot happier in Torquay than in London, though. Having her parents coming to live with us has its challenges, and she bears the brunt of those disputes, and does all the cooking (nobody said that my mother-in-law is a good cook – ever). At the moment we haven’t been able to made full advantage of the extra space affordable from leaving London as the renovations aren’t complete and some 3 (and a half) rooms are out of action, but even with that the living area is sufficiently more spacious that it’s a noticeable difference, and the kids all have their own double bedroom so they have enough space for their toys. The difference in size between in London and out of London is significant, so when you’ve been used to London property prices and sizes, property sufficiently outside of London looks not only reasonably priced but very spacious. While I think we could still do with de-cluttering, it’s a lot more manageable when you can have a reasonable amount of storage space and don’t feel like you’re just shuffling things around more than putting it away, and certainly we don’t feel like we need to spend hundreds a month on storage units or the like.

Overall, how do I feel about it? Sometimes happy, sometimes sad. I miss my family when I’m in London, and miss the freedom when I’m in Torquay. I think more time is needed to settle into things – finish the necessary work on both places for a start. And summer is always likely to feel better as the journey is prettier then (not just darkness out the train window). However, if fully automated vehicles were released any time soon, I would definitely be looking towards whether they would provide a solution that would allow me to travel between Torquay and London in much more comfort, particularly if I was able to sleep while it drove and stop that travelling time eating as much into time for doing other things. It’s nice going swimming with the kids, and hopefully at some point we’ll have a chance to try out things like jet-skiing. Donna doesn’t know whether to call herself a Devonian or a Londoner at the moment, even though she has no plans to return to London except for visiting my family or gigs. Me? I’m definitely still a Londoner – I grew up there, still spend more time there than in Devon, and I rather like the business of cities. I also like the quieter, friendlier environment you get out of London, though. I have my foot in both worlds and enjoy aspects of both. It’s not been that difficult to settle into the routine, but I think I’ll have to give it another year or so to work out how I really feel about the split time.

Posted in Food and family | Leave a comment

Book Review: Data Fluency – Empowering Your Organization with Effective Data Communication

For a book that repeatedly says that data producers should create applications and output that is actionable, it is a little short on actionable content.

For leaders, perhaps, this gives an interesting insight into how a company needs to shape itself to make full use of data, and highlights where just having more data may not be the solution. For someone more in a data producer role (e.g. a developer like myself), there is also some discussion about making sure that the output is fit for the audience, ensuring the included and excluded detail and presentation are suitable.

However, in many cases data producers find that they are called on to produce particular summary reports or dashboards which do have too many variables, too many metrics and so on. In that context what would be useful would be suggestions on how to shape the reports and dashboards so that they provide better drill-down to expose the required information from a simpler, more balanced overview.

Specifically, it would be useful if tools were explored, even a brief comparison between a few leading tools. Instead, when it comes to identifying tools for particular purposes, it mainly identifies one or two packages without giving any indication of cost, ease of use, limitations or any other details to support the assertions that these are ‘good tools’.

In its discussion of data literacy there is similarly a lot of discussion of problems, but less identifying good resources to help resolve that. It’s all very well saying that people should be willing to confirm that data sources are reputable, that assertions are credible, and that they should understand what the data means, but when a proportion of a team is likely to struggle to explain the difference between Mean, Median and Mode and could not explain Confidence Levels to save their jobs. 

The book also keeps referencing the iOS App Store as a good example of a place where guidelines are consistently applied, which is just not true – there are guidelines, but there are many tales of app developers who have had submissions rejected for supposed infringements and then approved after resubmisison without changes to confirm that this is hardly a shining example of consistent design (nor should it be, in my opinion).. Better examples would be corporate guidelines which do specify the kind of spacing, font selection and similar style issues which are outlined in the sample appendices.

Since the book decides to cover styling issues, it would have been appropriate for the book to cover the legal requirements such as disabled accessibility. It’s all very well having a nice stylish font and complementary colours for looking pretty, but they may not be as easy to read or well contrasted to ensure that a disabled user can access the information. When a company is setting its guidelines for data presentation, legal requirements should always be considered, and I consider it a significant omission that this was not so much as mentioned.

Overall, then, there are some sensible principles and an outline structure for making a company better at working with data, but the book would have benefited from providing more detailed examples of improving data presentation (particularly with before and after illustrations of how these efforts can have an impact) and outlining the merits of various tools. Otherwise (to put it in their own terms) this seems more like an oversized dashboard pointing the reader at Excel, Powerpoint and Tableaux, without the necessary drill-down into how they’ve produced their scores, rendering the data unverifiable and ill-suited to much of their data audience.

Overall, I’d give it 3/5 – for a manager planning data handling within a company there are clear merits, and some of the suggestions for data producers would be good to consider generally as a developer, but implementation would generally require a level of design input which is often not available for those creating dashboards and reports. Worth a read, but no bible, and there are better books at outlining how data can be presented in a way which is compact, useful and attractive.

Posted in Food and family | Leave a comment

Recipe: Modified Near Eastern Pork

Ingredients:

500g diced pork
1 tsp dark soy sauce
1 tsp paprika
2 tsp chilli flakes
3 tbsp peanut butter
1 small can (167ml) coconut milk
167ml water
2 tsp lemongrass
A little oil
50g peanuts
50g green grapes
The recipe ‘near eastern pork’ is a long-term family favourite, and a little simpler than this, with no coconut milk or lemongrass. I wanted to add some extra elements to the flavour, and think this works, toning down the peanut a little.
First, seal the pork by searing it in a little oil in a wok. Next, add the peanut butter and soy sauce. Once this has nicely coated the pork, add the paprika, chilli, lemongrass, coconut milk and water and stir. At this point the sauce will be largely complete, but too thin, and will need to reduce on a fairly low heat for around 10 minutes to thicken. Once it has thickened, add the grapes and peanuts and stir, and cook for a couple more minutes on low, then serve with rice.
The above with a cup of rice should produce enough for 2-3 people.
I’ll be trying other variations of the basic recipe, to establish what other variations in flavour complement the base – perhaps some savoury indian spices, perhaps some chinese spices, or perhaps some more Thai influences. I think the coconut milk works, replacing some of the water, for a creamier flavour, and the lemongrass adds another element to the flavour which rounds it off a bit, although I’m not sure the quanities are quite right yet. For those fresher flavours I might add some ginger next time, too.
Posted in Food and family | Leave a comment

Identity verification – why do some companies get this so wrong?

Recently I’ve spoken to a mobile phone company about trying to cancel my contract, requesting the cancellation using their online form. Firstly, they said the email address I’d given didn’t match the one on the account, so they couldn’t do anything. I responded that they could have responded to the email address on the account for confirmation – verifying my identity is one thing, using it as an excuse for not trying to resolve the issue and take the requested action is another. However, I resent using the account address (it forwards to my current one, but in 10 years my primary email address has changed… once). In response to this, they asked for my postcode, which I duly responded. This time I got a response saying that it didn’t match what they had on record, so they couldn’t do anything.
Given that I’ve had the same address for 12 years, there shouldn’t have been any other address on record, but in case it was something like my parent’s address (again, I’m going back 10 years here, so I’m no longer 100% sure on what details I used, it’s been a while), I asked if they could confirm the first part of the postcode and (assuming it was a valid one) I could then confirm the second half. No. They couldn’t provide any information because of ‘data protection’. So I’m left with no idea what address they think I have, but I’m pretty sure it’s wrong.
However, given that I had received bills for previous contracts to my current address from this provider, I also know that they have had my current address on the system, so there should be some potential for working out that the postcode I gave them is a known address for me. However, the fallback again was that they couldn’t take any action. I even asked them to contact the email address they had for me to get confirmation (as I know if they send a message to that I’ll receive it), but no, because I couldn’t confirm some unknown but definitely incorrect address they wouldn’t do anything.
To this I cancelled my direct debit and emailed them to confirm this had been done, saying that this should be proof that I am who I say I am and that they should cancel the contract because they have no further authorisation to take payments anyway. Only then did they agree to cancel the contract.
To me this has got far beyond the point of being a reasonable process, but where I reached a point of disbelief was on the phone calls.
Having asked for a formal complaint to be be made as well as the contract cancelled, because they had been overly obstructive to cancelling the account, they phoned me. I got a call from an unlisted number, from someone claiming to be from Three wanting to speak about a recent contact. They wouldn’t provide any further details unless I provided them with my full postcode and date of birth. Now at this point I wasn’t handing over these details. I have nothing whatsoever to validate their identity, but they want me to hand over my security details. I really don’t think that a company should be demanding that their customers be willing to hand over full security details to a totally unverified caller from an unlisted number – that’s just encouraging their customers to leave themselves open to identity fraud.
I said as much. I offered to confirm part of the postcode and part of the date of birth, to which they said no, although I’m not sure the postcode bit would have helped given I was already dealing with a question about whether they had the correct address for me. I asked if they could do anything to confirm their identity to me, some piece of information that they would know, but they refused on the spurious basis of ‘data protection’. How, exactly, is it protecting my data to encourage me to hand over my security detail to a totally unknown caller?
In response to this I made a further complaint, that they were compromising customer’s data security by encouraging the risky practice of divulging security information to unknown callers. I said that since they have called the registered number, partial security information should be sufficient and would mitigate the risk, that they could provide something like an account number of the like to provide some validation of identity, and if someone is not happy to confirm details to an unlisted number, they should have a process in place to give a reference code and get the customer to look up and call a number from the company website, so that they can be confident that they are then speaking to the company and can be happy divulging that information. Additionally, I suggested that it would be simple to allow a customer to register a security word or phrase which can be used by the company to identify themselves if calling, and similarly the contact forms could prompt for a security word or phrase to use in relation to calling about that specific contact.
It’s not rocket science. There are many things which a company can do to sufficiently confirm the identity of who they are speaking to without encouraging excessively risky practices, and there are fairly straightforward practices such as those outlined above (or even just emailing a generated reference number in response to any contact form which can be quoted in any call) which can provide more than enough validation of the caller’s identity before demanding the customer confirms their identity.

Basically, a company can royally mess up data protection and customer identity security in multiple ways. They can fail to confirm who they’re speaking to, and accidentally divulge personal information that way, which obviously has to be avoided. However, they can also encourage the customer to adopt bad practices and fail to support the customer protecting their own identity security by demanding the customer compromises their own identity security for themselves. The latter is no better than the former, just probably a bit less likely to see the company in question getting fined. However, banks have realised this problem, and have adopted processes similar to the above to address this, so there’s no reason why other companies should not adopt similarly sensible practices to allow customers to protect the security of their identity. After all, in the former case, unless they’re completely reckless, then they’re unlikely to divulge sufficient information to allow the customer to be impersonated with another company, but encouraging freely divulging security information on the phone does risk exactly that. A company therefore risks causing a far more significant cost and difficulty to their customers if their ‘data protection’ processes are not sufficiently considered. Hiding behind legislation doesn’t adequately justify this – banks can manage to fulfil their identity verification requirements without creating the same risk (and will almost invariably have a process to point a customer to look up a number on the site and call back as a standard fallback), so mobile phone companies certainly can.

The ‘icing’ on the whole scenario was this: Having made a complaint about encouraging the risky practice of divulging full security information to an unlisted number caller, I received a call from the company about my complaint. Before they’d discuss the detail of my ‘contact’ with them, they ‘needed’ to verify they were speaking to the right person, and demanded I give them my full postcode and date of birth. The EXACT thing I was complaining about them doing they were doing again in ‘trying’ to address the complaint. Needless to say, I was gobsmacked by this, and told them that I was astonished that they would do that.

Needless to say I’ve no intention of giving them any further custom, despite having previously been a customer continuously for 10 years… they’ve managed to entirely reverse my opinion of them.

Posted in Food and family | Leave a comment

Review: Smashing CoffeeScript, by Alex A. Hudson

I’ll admit I’m still on the fence about CoffeeScript, because of tool support, amounts of documentation, etc. What this book hasn’t done is shown me any compelling reason to use CoffeeScript over JavaScript or TypeScript. Better object-oriented development support aside, most of the examples show idiomatic CoffeeScript that is not really any easier to understand than the original JavaScript, particularly if you’re already comfortable with the latter. Indeed, this doesn’t really seem to be the focus. After giving a fairly brisk run-through of the ways you use CoffeeScript differently to JavaScript, the remainder of the book then focuses more on actual usage, creating dynamic pages, doing calls to the server, and implementing server-side functionality using CoffeeScript and Node.
Unfortunately, this means that the book is trying to cover a large number of topics – client-side interactivity, libraries (like JQuery), MVC frameworks, server-side development, security issues, persistence, HTML5, browser storage, differences between browsers, as well as CoffeeScript itself. It doesn’t have space to compare different options and sings the praises of the chosen solution without really justifying it properly. I’m sure on the whole the choices are worthwhile (JQuery, for example, is very widely adopted), but in addition to this the coverage is mainly confined to implementing a particular example solution, rather than giving detailed, comprehensive coverage of even a single solution in any of these.
The net result is that this is effectively an extended walk-through explaining how to implement an example application, covering the client and server sides and briefly discussing the various elements to consider. It may be a good starting point for getting some working code to play with, and seeing what bits you haven’t covered fully to look elsewhere for full details. I was looking for a book to fully discuss CoffeeScript, its rationale, further reasons to consider it over JavaScript, etc, so I came away disappointed. I wouldn’t say it’s a bad book – if you like the extended walk-through format, this may be ideal, but for me it kept the scope too broad at the expense of detail.

Posted in Code and Tech | Comments Off

Fun with Broadband…

Anyone who knows me knows that most of my interests involve computers and the internet… as a result a good, reliable broadband service is very important to me.

Now, supposedly the fastest provider in my area is Virgin Media. The Fibre Broadband offerings only offer around 26Mb downstream compared to 60+ on Virgin. So the decision should be easy, right?

Unfortunately, I don’t really have that much indication that the Virgin Media connection is that great… when it’s working (generally after I’ve just rebooted the modem), then I might get the full 60Mb – over WiFi, too, if I’m using an external router (the SuperHub is so misnamed…). However, after a short period then the reliability tanks. Downloads fail, streaming fails, and speed tests fail. The connection seems to go racing off at a decent enough pace initially, but then at some point it’s just lost… stuff like BitTorrent or similar services which are really designed to use connections when available and retry and connect elsewhere as necessary therefore work much better than conventional donwloads, but that doesn’t really help for watching YouTube or Sky HD or the like over the connection.

Combine that with the phone line not having a dial tone for the last few weeks, and noting that this is far from the first time I’ve had problems with the broadband or the phone line or both (the phone went for a few weeks or so over xmas, and just started working again eventually), and that VM claim there are no service issues in my area, and I’m less than happy.

It comes down to an awkward decision – whether to switch to a nominally slower connection in the hope it’s more reliable, or stick with VM and hope they can resolve their problems? if there was an option that cost noticeably more but offered good speed and reliability, then I’d go for it – I’m really not that sensitive to the cost in the range that home broadband runs to, so I’m happy to pay a bit more for a good service. Unfortunately I’m not sure there are any options available. Anyone who knows otherwise let me know, because the issues with Virgin Media are really annoying me…

Posted in Food and family | Leave a comment

Started a new contract

Well, the Barclays contract came to an end… a number of contractors gone, and some permanent staff, too. Queue the usual period scurrying around seeing what’s around, and then waiting for those efforts to result in something worthwhile. I’m pretty happy so far with the result, though.

Although it was a bit more of a break than planned (6 weeks), and the new location isn’t ideal (Welwyn Garden City), the team and project are much more interesting. I’m working on a project that’s importing a genuinely large amount of transaction data (expected to be in the hundreds of TB of storage space required in the end), and getting further experience with MongoDB – a NoSQL technology that has generally seemed like a good option for flexibility on schema, levels of adoption, and scalability. Hopefully by the end of the project I’ll have a degree of confidence in its scalability from personal experience, as well as some additional experience with resolving those issues that arise particularly at larger scales (when schema migrations may not be so readily performed in a single hit, and when backups take long enough that they have to be able to be run while new data is being loaded and queried). It should be an interesting project, and the kind of work that I’ve been looking to get.

Now, if it veers off into classification and statistical analysis to make use of the Machine Learning and Data Analysis knowledge I’ve been acquiring of late, then it will be even better still, but we’ll have to wait and see…

Posted in Food and family | Leave a comment