Gareth Jones

Vodafone R&D Technical Lead, interested in emerging technology for the web and mobile. Previously an IBM Master Inventor.

[image]
Technical Lead at Vodafone R&D
Telecommunications | Reading, United Kingdom, GB
Summary
Innovative and adaptive Software Engineer with a passion for emerging technologies, particularly for the Web. An ability to learn quickly, a broad set of skills and over seven years industry experience delivering leading edge technical solutions. A prolific inventor and effective mentor. Currently a Technical Lead for Vodafone R&D and previously an Emerging Technology Specialist and Master Inventor for IBM.
Specialties: Technical leadership, software development (proof of concept and large scale), architecture design, research, innovation and intellectual property, mentoring Web, mobile, big data and analytics, enterprise messaging, telecommunications, M2M JavaScript, PHP, Python, Java 19 filed patent applications and 18 other published inventions
Experience
Mar 2011 - Present
Technical Lead / Vodafone
​Leading the technical aspects of cutting edge research programmes for Vodafone worldwide, from inception to commercialisation; responsibilities include: researching products and technologies, managing supplier relationships, designing architectures and solutions, running global customer trials through mobile operators, and engaging commercial stakeholders in order to drive solutions to market
Oct 2009 - Mar 2011
Master Inventor / IBM
Encouraging innovation within IBM through reviewing peer inventions and various forms of mentoring, as well as regular contribution to the intellectual property portfolio
Jul 2007 - Mar 2011
Emerging Technology Specialist / IBM
Producing innovative technical solutions and prototypes using leading edge technologies
Jan 2007 - Oct 2009
Senior Inventor / IBM
Encouraging innovation within IBM through reviewing peer inventions and various forms of mentoring, as well as regular contribution to the intellectual property portfolio
May 2007 - Jul 2007
Software Engineer, WebSphere MQ System Clients Development / IBM
Developer of several new WebSphere MQ (http://www.ibm.com/software/integration/wmq/) Java client APIs
May 2005 - May 2007
Software Engineer, WebSphere MQ Explorer Development / IBM
Developer and owner of the WebSphere MQ Explorer (http://www.ibm.com/software/integration/wmq/explorer/) JMS administration component, and owner of WebSphere MQ development team's relationship with the IBM Eclipse team
Sept 2004 - May 2005
Software Engineer, WebSphere MQ System Test / IBM
System tester of multiple new features for WebSphere MQ (http://www.ibm.com/software/integration/wmq/)
2001 - 2002
Software Engineer, WebSphere Message Broker Development / IBM
Student summer placements, 2001 and 2002
Developer of multicast statistics feature and sample Java plug-ins for WebSphere Message Broker (http://www.ibm.com/software/integration/wbimessagebroker/)
Education
2000 - 2004
University of Southampton
MEng in Software Engineering
Additional Information
Websites:
OS X Lion upgrade failed and bricked Macbook. Internet recovery resulted in a clean Lion install without needing a DVD. Nice save Apple
Suggested fix from apple didn't work and the macbook no longer boots http://t.co/ruSkfzO8 bit stumped now /cc @elliottheis
What do I do if the OS X Lion installer says 'This disk cannot be used to start up your computer'? Think linux partitions are on this laptop
Apple really know how to make money. Did not expect to have to pay to develop apps for their platforms, plus an OS upgrade to match iPad SDK
Need to develop a quick iPad app for a demo. Step 1 - work out how to use a Mac.
Oct 07, 11
People keep asking me what I actually do for Vodafone. An overview of my role is on LinkedIn but the nature of R&D means it’s primarily about identifying new technology and using it to drive business strategy. More specifically, this is a quick overview of the projects I’ve been working on over the last 6 months:
Analytics: Identifying how we can generate insight from the wealth of knowledge about our customers in order to bring them some benefit. A big part of this has been about identifying technology suppliers from a highly competitive, complicated and fast moving market, and then trying to work out how on earth you fit them into all the Vodafone operators worldwide, across a variety of differing architectures. Tracking: Determining how to use Vodafone’s network infrastructure to drive down the cost of device tracking (e.g. for fleet management) by trialling alternative geo-positioning and communication technologies. Dual persona: Investigating how technologies such as software sandbox (e.g. Enterproid), thin client (e.g. Framehawk) and virtualisation (e.g. VMware) can be used and enhanced to securely provide access to enterprise data across multiple mobile devices, some of which may be owned by the employee not the employer.

Sep 29, 11

Recently I was looking for a visual way to summarise a comparison of different technology options and I couldn’t find anything suitable so I made my own.

I’m not 100% convinced it’s a good way of expressing what I wanted but at least it’s colourful.


Sep 17, 11

At IBM I had a very technical role, developing leading edge prototypes and customer solutions. It’s quite common for career progression as a software engineer to step away from deep technical stuff to focus on the bigger picture but this is something I’d mostly avoided until the Vodafone opportunity presented itself. Although I still retain a strong technical focus, in my 6 months as a technical lead for Vodafone R&D I haven’t done any programming at all. A summary of my role that I wrote for LinkedIn reads like this:

“Leading the technical aspects of cutting edge research programmes for Vodafone worldwide, from inception to commercialisation; responsibilities include: researching products and technologies, managing supplier relationships, designing architectures and solutions, running global customer trials through mobile operators, and engaging commercial stakeholders in order to drive solutions to marketâ€

I’m really enjoying the variety and strategic focus of the new role and not missing the deep technical stuff at the moment. Is this the start of a trend or will I swap back? Who knows.


May 11, 11

For a work-related project I recently needed to compare cloud hosting options so I had a quick look at Amazon’s EC2, Rackspace’s Cloud Servers and IBM’s Smart Business Cloud. For our particular requirements, Rackspace looked like the best option but they all seem to be quite similar, though with an obvious enterprise focus from IBM. Below is a list of the main differences I spotted between the three options which I thought might be useful to others (there are probably many more).

Amazon EC2 Rackspace Cloud Servers IBM Smart Business Cloud
Direct 24x7x365 Support Extra

Free forums (community)

$49+ or $100+/month local business hours

$400+ or $15k+/month 24x7x365

Yes

Phone/IM

Extra

Free forums (support-monitored)

$75+ or $1000/month

Software support No Yes

Specific list including some OS, SQL server, MySQL, Apache, IIS/.NET

Extra

OS support only, charged per hour on top of instance cost

Login to machine for troubleshooting support No Yes Extra

Part of add-on software support

Local data kept on instance reboot No Yes Yes
Mountable persistent storage Extra

Elastic Block Storage (EBS)

No

CloudFiles API not file system access

Extra

Charged per hour

CPU bursting Partial

Micro instances only

Yes

Free when spare capacity on host

No
Instance capacity changes No

Create new instance and migrate

Yes

Reboot required

Unknown
Reverse DNS support Yes Yes Unknown
Reserved public IP address per instance No

5 reserved public IPs per account

Yes Extra

Up to 4 per instance, per hour charge for reserved

Reserved instances for assured availability Extra

Up front cost, cheaper rates

No

Can be combined with managed hosting

Extra

Up front cost, cheaper rates

Import your own virtual machines Partial

VMware VMDK images of Windows Server 2008 (Datacenter, Enterprise, and Standard editions)

No No
Images including 3rd party software Extra

Microsoft SQL Server

Many IBM products

Extra

Microsoft SQL Server

Yes

Many IBM products; pay as you go, bring your own license, free for development use

Performance monitoring Extra

CloudWatch

Extra

3rd party Server Density recommended

Unknown
Easy to use No

Complex but lots of features

Yes

Simple but limited features

Unknown
Free trial Yes

1 year full time free micro instance including storage, data transfer and other services

Yes

1st month free (up to £50)

No

Feb 24, 11

I’ve really enjoyed working for IBM over the last 6 or 7 years; it’s a fantastic company and I’ve been involved in some great projects. However, all good things come to an end and yesterday I handed in my resignation. From 28th March I’ll be losing the titles of ‘Emerging Technology Specialist’ and ‘Master Inventor’, and swapping them for ‘Technical Lead’, working for Vodafone R&D in Newbury. I’ve worked with the R&D team on a couple of really interesting projects in the past and am really excited about joining them on a permanent basis.

For the IBM folks – due to a large amount of remaining vacation, my last day in the office will be Tuesday 8th March.


Jan 21, 11

I love my Sony Reader but this Christmas I was given a Kindle and I absolutely love it – the ability to transfer books without a cable alone is a huge improvement, let alone the 3G, browser, dictionary, book store etc. One thing that amazed me is the cost of having news automatically delivered to the device. Knowing that calibre (the ebook software I used for managing my Sony Reader) supports automatic downloading of news websites/feeds and converting to ebook formats, I thought I’d see if I could make use of this for the Kindle. Turns out that calibre has command line tools for most of its functionality and so a quick cron job later to run the following script and I have BBC and Guardian news delivered to my Kindle for free every day:

ebook-convert /opt/calibre/resources/recipes/bbc.recipe bbc.mobi
calibre-smtp --attachment bbc.mobi --relay smtp.gmail.com --port 587 --username mygmailusername --password "my gmail password" --encryption-method TLS mygmailusername@gmail.com my_amazon_kindle_email@free.kindle.com ""
rm bbc.mobi
ebook-convert /opt/calibre/resources/recipes/guardian.recipe guardian.mobi
calibre-smtp --attachment guardian.mobi --relay smtp.gmail.com --port 587 --username mygmailusername --password "my gmail password" --encryption-method TLS mygmailusername@gmail.com my_amazon_kindle_email@free.kindle.com ""
rm guardian.mobi

The different news feeds supported by calibre can be found by clicking on the ‘Find news’ button on the toolbar and the Python scripts used to do this are in /opt/calibre/resources/recipes/ (or /usr/share/calibre/recipes/ – thanks Andy). You might want to modify the chosen recipes to limit the amount of data it downloads as it can take a while (e.g. filter certain newspaper sections).


Oct 30, 10

A while ago I discovered that my local library offers a large collection of eBook downloads for free. This is great for my Sony Reader (ignoring for the moment that DRM on Linux is painful and also that I really want a Kindle) and it means I’m constantly downloading books from the library. I quite like using the Amazon site for finding books because it offers that “other people also bought…†feature but it then becomes a pain to check if the book exists on the library site (most do not).

In an attempt to have a play with Jetpack, the new Firefox add-on environment that allows add-ons to be written in JavaScript, I decided to write a simple add-on to check the library site for matching books when I’m browsing Amazon. While doing this, I stumbled upon Open Library, a great site that is trying to create a single Web page for every book ever published. More importantly, it offers a handy HTTP API.

The add-on is in no way perfect but feel free to try it out by downloading from here. Go to an Amazon page (e.g. here) and you should see a link appear to the Hampshire Digital Library version of the book if one exists:

Source available on github.


Oct 25, 10

Node JS has generated a lot of interest lately so I’ve had a bit of a play and so far I like what I see. Most of the publicity about Node seems to be to do with performance; this is because it doesn’t use the traditional model of spawning one thread per client connection. That in itself is great but not of direct interest to me. However, this model allows you to perform asynchronous actions without worrying about the event loop and threading. For example, the following HTTP server code snippet sends the response to the client from within a nested asynchronous callback function:

var http = require('http');
http.createServer(function (request, response) {
    doSomethingAsynchronous(function () {
        doSomethingElseAsynchronus(function () {
            response.writeHead(200, { "Content-Type": "text/plain" });
            response.end("Hello World\n");
        });
    });
}).listen(8124);
console.log("Server running at http://localhost:8124/");

This event loop model, plus the ability to use the same programming language on the client and server (although server-side JavaScript has been around for a while) is definitely something that has caught my attention.
Oct 08, 10

I tend to use gedit as my editor for most of my development work as it has a great number of plugins that enhance it’s ability as an IDE. Some of the plugins I find most useful include Code Comment, External Tools, Save without trailing space, Session Saver, Symbol Browser, TabSwitch and Word Completion.

One thing I thought would be really useful would be to validate my JavaScript using JSLint from within the editor, rather than manually or via a build process. It seems a few other people have had the same idea but the plugin I found didn’t seem to work and other instructions (e.g. here) generally seemed to require SpiderMonkey which didn’t seem to be in the Ubuntu repositories (not that I looked very hard).

I worked out how to do it myself by using the instructions other people had used and came up with the following:

Install Rhino (sudo apt-get install rhino) Download the Rhino version of JSLint (details here) Enable the External Tools plugin for gedit (Edit->Preferences->Plugins) Setup a new External Tool in gedit (Tools->Manage External Tools) with the following (or similar) settings:
Command: js /home/garethj/.gnome2/gedit/plugins/jslint.js $GEDIT_CURRENT_DOCUMENT_PATH Shortcut Key: <Control>j Save: Current document Input: Nothing Ouput: Display in bottom pane

Then all you need to do is open a JavaScript file and hit Ctrl+j. Here it is in action:

Worth noting that it should be possible to do this without having to save the document and actually pipe the current document content into JSLint/Rhino but this was sufficient for my needs.


Sep 07, 10

For a demo recently I needed to display a map, have pan/zoom controls, add markers and overlays etc etc. Google Maps (or similar) to the rescue right? Not in this case. Unfortunately the place wasn’t real, it was a location within the Battlefield 2 game being used for some simulation of research we were doing. Now I know it’s possible to use something like Google Maps to display my own map tiles etc but it looked complicated and I think I’d have to pretend I was working with real latitude/longitudes etc. Then I stumbled upon OpenLayers. I actually knew about OpenLayers before, as an open-source client-side library for mapping controls. What I didn’t realise was how flexible it was and that I could simply give it a single image and my own coordinate system and then let it do all the rest. This example from the handy list of OpenLayers examples demonstrates how it works in just a few lines of JavaScript. Perfect.


abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz
Now Playing
×


You are viewing a mobilized version of this site...
View original page here

Mobilized by Mowser Mowser